Repository: mina-sshd
Updated Branches:
  refs/heads/master 1a0409ee8 -> a4f4e2811


[SSHD-819] Revert the fact that CommandFactory now extends NamedFactory


Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/d1c4f608
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/d1c4f608
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/d1c4f608

Branch: refs/heads/master
Commit: d1c4f608c6dc5544eb76334eaa82e46808ec81b1
Parents: 1a0409e
Author: Guillaume Nodet <gno...@apache.org>
Authored: Mon May 28 08:43:31 2018 +0200
Committer: Guillaume Nodet <gno...@apache.org>
Committed: Mon May 28 08:52:27 2018 +0200

----------------------------------------------------------------------
 .../apache/sshd/cli/server/SshFsMounter.java    |   2 +-
 .../AbstractDelegatingCommandFactory.java       |   2 +-
 .../sshd/server/command/CommandFactory.java     |   5 +-
 .../shell/ProcessShellCommandFactory.java       |   2 +-
 .../server/shell/UnknownCommandFactory.java     |   2 +-
 .../sshd/client/channel/ChannelExecTest.java    |  24 +---
 .../sshd/client/session/ClientSessionTest.java  |  98 +++++--------
 .../java/org/apache/sshd/server/ServerTest.java | 144 +++++++------------
 8 files changed, 96 insertions(+), 183 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/d1c4f608/sshd-cli/src/test/java/org/apache/sshd/cli/server/SshFsMounter.java
----------------------------------------------------------------------
diff --git 
a/sshd-cli/src/test/java/org/apache/sshd/cli/server/SshFsMounter.java 
b/sshd-cli/src/test/java/org/apache/sshd/cli/server/SshFsMounter.java
index c270be7..4fe1d99 100644
--- a/sshd-cli/src/test/java/org/apache/sshd/cli/server/SshFsMounter.java
+++ b/sshd-cli/src/test/java/org/apache/sshd/cli/server/SshFsMounter.java
@@ -232,7 +232,7 @@ public final class SshFsMounter extends SshServerCliSupport 
{
         }
 
         @Override
-        public String getName() {
+        public String toString() {
             return "mounter";
         }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/d1c4f608/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractDelegatingCommandFactory.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractDelegatingCommandFactory.java
 
b/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractDelegatingCommandFactory.java
index 3169958..e780c52 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractDelegatingCommandFactory.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractDelegatingCommandFactory.java
@@ -40,7 +40,7 @@ public abstract class AbstractDelegatingCommandFactory 
extends AbstractLoggingBe
     }
 
     @Override
-    public String getName() {
+    public String toString() {
         return name;
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/d1c4f608/sshd-core/src/main/java/org/apache/sshd/server/command/CommandFactory.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/command/CommandFactory.java 
b/sshd-core/src/main/java/org/apache/sshd/server/command/CommandFactory.java
index aff407b..807add1 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/command/CommandFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/command/CommandFactory.java
@@ -18,8 +18,6 @@
  */
 package org.apache.sshd.server.command;
 
-import org.apache.sshd.common.NamedResource;
-
 /**
  * A factory of commands.
  * Commands are executed on the server side when an "exec" channel is
@@ -27,7 +25,8 @@ import org.apache.sshd.common.NamedResource;
  *
  * @author <a href="mailto:d...@mina.apache.org";>Apache MINA SSHD Project</a>
  */
-public interface CommandFactory extends NamedResource {
+@FunctionalInterface
+public interface CommandFactory {
 
     /**
      * Create a command with the given name.

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/d1c4f608/sshd-core/src/main/java/org/apache/sshd/server/shell/ProcessShellCommandFactory.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/shell/ProcessShellCommandFactory.java
 
b/sshd-core/src/main/java/org/apache/sshd/server/shell/ProcessShellCommandFactory.java
index af9af82..8c33b6f 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/server/shell/ProcessShellCommandFactory.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/server/shell/ProcessShellCommandFactory.java
@@ -38,7 +38,7 @@ public class ProcessShellCommandFactory implements 
CommandFactory {
     }
 
     @Override
-    public String getName() {
+    public String toString() {
         return FACTORY_NAME;
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/d1c4f608/sshd-core/src/main/java/org/apache/sshd/server/shell/UnknownCommandFactory.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/shell/UnknownCommandFactory.java
 
b/sshd-core/src/main/java/org/apache/sshd/server/shell/UnknownCommandFactory.java
index ea94525..ef71d99 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/server/shell/UnknownCommandFactory.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/server/shell/UnknownCommandFactory.java
@@ -35,7 +35,7 @@ public class UnknownCommandFactory implements CommandFactory {
     }
 
     @Override
-    public String getName() {
+    public String toString() {
         return FACTORY_NAME;
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/d1c4f608/sshd-core/src/test/java/org/apache/sshd/client/channel/ChannelExecTest.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/test/java/org/apache/sshd/client/channel/ChannelExecTest.java 
b/sshd-core/src/test/java/org/apache/sshd/client/channel/ChannelExecTest.java
index 8a48daf..038ce55 100644
--- 
a/sshd-core/src/test/java/org/apache/sshd/client/channel/ChannelExecTest.java
+++ 
b/sshd-core/src/test/java/org/apache/sshd/client/channel/ChannelExecTest.java
@@ -26,8 +26,6 @@ import java.util.concurrent.TimeUnit;
 import org.apache.sshd.client.SshClient;
 import org.apache.sshd.client.session.ClientSession;
 import org.apache.sshd.server.SshServer;
-import org.apache.sshd.server.command.Command;
-import org.apache.sshd.server.command.CommandFactory;
 import org.apache.sshd.util.test.BaseTestSupport;
 import org.apache.sshd.util.test.CommandExecutionHelper;
 import org.apache.sshd.util.test.Utils;
@@ -53,23 +51,13 @@ public class ChannelExecTest extends BaseTestSupport {
     @BeforeClass
     public static void setupClientAndServer() throws Exception {
         sshd = Utils.setupTestServer(ChannelExecTest.class);
-        sshd.setCommandFactory(new CommandFactory() {
+        sshd.setCommandFactory(command -> new CommandExecutionHelper(command) {
             @Override
-            public String getName() {
-                return ChannelExecTest.class.getSimpleName();
-            }
-
-            @Override
-            public Command createCommand(String command) {
-                return new CommandExecutionHelper(command) {
-                    @Override
-                    protected boolean handleCommandLine(String command) throws 
Exception {
-                        OutputStream stdout = getOutputStream();
-                        
stdout.write(command.getBytes(StandardCharsets.US_ASCII));
-                        stdout.flush();
-                        return false;
-                    }
-                };
+            protected boolean handleCommandLine(String command) throws 
Exception {
+                OutputStream stdout = getOutputStream();
+                stdout.write(command.getBytes(StandardCharsets.US_ASCII));
+                stdout.flush();
+                return false;
             }
         });
         sshd.start();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/d1c4f608/sshd-core/src/test/java/org/apache/sshd/client/session/ClientSessionTest.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/test/java/org/apache/sshd/client/session/ClientSessionTest.java 
b/sshd-core/src/test/java/org/apache/sshd/client/session/ClientSessionTest.java
index 517b07c..03acaa4 100644
--- 
a/sshd-core/src/test/java/org/apache/sshd/client/session/ClientSessionTest.java
+++ 
b/sshd-core/src/test/java/org/apache/sshd/client/session/ClientSessionTest.java
@@ -27,8 +27,6 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.sshd.client.SshClient;
 import org.apache.sshd.server.SshServer;
-import org.apache.sshd.server.command.Command;
-import org.apache.sshd.server.command.CommandFactory;
 import org.apache.sshd.util.test.BaseTestSupport;
 import org.apache.sshd.util.test.CommandExecutionHelper;
 import org.apache.sshd.util.test.Utils;
@@ -84,28 +82,18 @@ public class ClientSessionTest extends BaseTestSupport {
     public void testDefaultExecuteCommandMethod() throws Exception {
         final String expectedCommand = getCurrentTestName() + "-CMD";
         final String expectedResponse = getCurrentTestName() + "-RSP";
-        sshd.setCommandFactory(new CommandFactory() {
-            @Override
-            public String getName() {
-                return getCurrentTestName();
-            }
+        sshd.setCommandFactory(command -> new CommandExecutionHelper(command) {
+            private boolean cmdProcessed;
 
             @Override
-            public Command createCommand(String command) {
-                return new CommandExecutionHelper(command) {
-                    private boolean cmdProcessed;
-
-                    @Override
-                    protected boolean handleCommandLine(String command) throws 
Exception {
-                        assertEquals("Mismatched incoming command", 
expectedCommand, command);
-                        assertFalse("Duplicated command call", cmdProcessed);
-                        OutputStream stdout = getOutputStream();
-                        
stdout.write(expectedResponse.getBytes(StandardCharsets.US_ASCII));
-                        stdout.flush();
-                        cmdProcessed = true;
-                        return false;
-                    }
-                };
+            protected boolean handleCommandLine(String command) throws 
Exception {
+                assertEquals("Mismatched incoming command", expectedCommand, 
command);
+                assertFalse("Duplicated command call", cmdProcessed);
+                OutputStream stdout = getOutputStream();
+                
stdout.write(expectedResponse.getBytes(StandardCharsets.US_ASCII));
+                stdout.flush();
+                cmdProcessed = true;
+                return false;
             }
         });
 
@@ -123,28 +111,18 @@ public class ClientSessionTest extends BaseTestSupport {
     public void testExceptionThrownIfRemoteStderrWrittenTo() throws Exception {
         final String expectedCommand = getCurrentTestName() + "-CMD";
         final String expectedErrorMessage = getCurrentTestName() + "-ERR";
-        sshd.setCommandFactory(new CommandFactory() {
-            @Override
-            public String getName() {
-                return getCurrentTestName();
-            }
+        sshd.setCommandFactory(command -> new CommandExecutionHelper(command) {
+            private boolean cmdProcessed;
 
             @Override
-            public Command createCommand(String command) {
-                return new CommandExecutionHelper(command) {
-                    private boolean cmdProcessed;
-
-                    @Override
-                    protected boolean handleCommandLine(String command) throws 
Exception {
-                        assertEquals("Mismatched incoming command", 
expectedCommand, command);
-                        assertFalse("Duplicated command call", cmdProcessed);
-                        OutputStream stderr = getErrorStream();
-                        
stderr.write(expectedErrorMessage.getBytes(StandardCharsets.US_ASCII));
-                        stderr.flush();
-                        cmdProcessed = true;
-                        return false;
-                    }
-                };
+            protected boolean handleCommandLine(String command) throws 
Exception {
+                assertEquals("Mismatched incoming command", expectedCommand, 
command);
+                assertFalse("Duplicated command call", cmdProcessed);
+                OutputStream stderr = getErrorStream();
+                
stderr.write(expectedErrorMessage.getBytes(StandardCharsets.US_ASCII));
+                stderr.flush();
+                cmdProcessed = true;
+                return false;
             }
         });
 
@@ -176,33 +154,23 @@ public class ClientSessionTest extends BaseTestSupport {
     public void testExceptionThrownIfNonZeroExitStatus() throws Exception {
         final String expectedCommand = getCurrentTestName() + "-CMD";
         final int exepectedErrorCode = 7365;
-        sshd.setCommandFactory(new CommandFactory() {
+        sshd.setCommandFactory(command -> new CommandExecutionHelper() {
+            private boolean cmdProcessed;
+
             @Override
-            public String getName() {
-                return getCurrentTestName();
+            public void onExit(int exitValue, String exitMessage) {
+                super.onExit((exitValue == 0) ? exepectedErrorCode : 
exitValue, exitMessage);
             }
 
             @Override
-            public Command createCommand(String command) {
-                return new CommandExecutionHelper(command) {
-                    private boolean cmdProcessed;
-
-                    @Override
-                    public void onExit(int exitValue, String exitMessage) {
-                        super.onExit((exitValue == 0) ? exepectedErrorCode : 
exitValue, exitMessage);
-                    }
-
-                    @Override
-                    protected boolean handleCommandLine(String command) throws 
Exception {
-                        assertEquals("Mismatched incoming command", 
expectedCommand, command);
-                        assertFalse("Duplicated command call", cmdProcessed);
-                        OutputStream stdout = getOutputStream();
-                        
stdout.write(command.getBytes(StandardCharsets.US_ASCII));
-                        stdout.flush();
-                        cmdProcessed = true;
-                        return false;
-                    }
-                };
+            protected boolean handleCommandLine(String command) throws 
Exception {
+                assertEquals("Mismatched incoming command", expectedCommand, 
command);
+                assertFalse("Duplicated command call", cmdProcessed);
+                OutputStream stdout = getOutputStream();
+                stdout.write(command.getBytes(StandardCharsets.US_ASCII));
+                stdout.flush();
+                cmdProcessed = true;
+                return false;
             }
         });
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/d1c4f608/sshd-core/src/test/java/org/apache/sshd/server/ServerTest.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/server/ServerTest.java 
b/sshd-core/src/test/java/org/apache/sshd/server/ServerTest.java
index d1955ef..6b4f0df 100644
--- a/sshd-core/src/test/java/org/apache/sshd/server/ServerTest.java
+++ b/sshd-core/src/test/java/org/apache/sshd/server/ServerTest.java
@@ -65,7 +65,6 @@ import 
org.apache.sshd.common.session.helpers.AbstractConnectionService;
 import org.apache.sshd.common.session.helpers.AbstractSession;
 import org.apache.sshd.common.util.GenericUtils;
 import org.apache.sshd.common.util.OsUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.deprecated.ClientUserAuthServiceOld;
 import org.apache.sshd.server.auth.keyboard.InteractiveChallenge;
 import org.apache.sshd.server.auth.keyboard.KeyboardInteractiveAuthenticator;
@@ -73,7 +72,6 @@ import org.apache.sshd.server.auth.keyboard.PromptEntry;
 import org.apache.sshd.server.auth.password.RejectAllPasswordAuthenticator;
 import org.apache.sshd.server.auth.pubkey.RejectAllPublickeyAuthenticator;
 import org.apache.sshd.server.command.Command;
-import org.apache.sshd.server.command.CommandFactory;
 import org.apache.sshd.server.session.ServerSession;
 import org.apache.sshd.server.session.ServerSessionImpl;
 import org.apache.sshd.util.test.BaseTestSupport;
@@ -279,7 +277,7 @@ public class ServerTest extends BaseTestSupport {
     public void testServerIdleTimeoutWithForce() throws Exception {
         final CountDownLatch latch = new CountDownLatch(1);
 
-        sshd.setCommandFactory(new StreamCommand.Factory());
+        sshd.setCommandFactory(StreamCommand::new);
 
         final long idleTimeoutValue = TimeUnit.SECONDS.toMillis(5L);
         PropertyResolverUtils.updateProperty(sshd, 
FactoryManager.IDLE_TIMEOUT, idleTimeoutValue);
@@ -524,50 +522,38 @@ public class ServerTest extends BaseTestSupport {
     @Test   // see SSHD-645
     public void testChannelStateChangeNotifications() throws Exception {
         final Semaphore exitSignal = new Semaphore(0);
-        sshd.setCommandFactory(new CommandFactory() {
+        sshd.setCommandFactory(command -> new Command() {
+            private ExitCallback cb;
+
             @Override
-            public String getName() {
-                return getCurrentTestName();
+            public void setOutputStream(OutputStream out) {
+                // ignored
             }
 
             @Override
-            public Command createCommand(String command) {
-                
ValidateUtils.checkTrue(String.CASE_INSENSITIVE_ORDER.compare(command, 
getCurrentTestName()) == 0, "Unexpected command: %s", command);
-
-                return new Command() {
-                    private ExitCallback cb;
-
-                    @Override
-                    public void setOutputStream(OutputStream out) {
-                        // ignored
-                    }
-
-                    @Override
-                    public void setInputStream(InputStream in) {
-                        // ignored
-                    }
+            public void setInputStream(InputStream in) {
+                // ignored
+            }
 
-                    @Override
-                    public void setExitCallback(ExitCallback callback) {
-                        cb = callback;
-                    }
+            @Override
+            public void setExitCallback(ExitCallback callback) {
+                cb = callback;
+            }
 
-                    @Override
-                    public void setErrorStream(OutputStream err) {
-                        // ignored
-                    }
+            @Override
+            public void setErrorStream(OutputStream err) {
+                // ignored
+            }
 
-                    @Override
-                    public void destroy() {
-                        // ignored
-                    }
+            @Override
+            public void destroy() {
+                // ignored
+            }
 
-                    @Override
-                    public void start(Environment env) throws IOException {
-                        exitSignal.release();
-                        cb.onExit(0, command);
-                    }
-                };
+            @Override
+            public void start(Environment env) throws IOException {
+                exitSignal.release();
+                cb.onExit(0, command);
             }
         });
         sshd.start();
@@ -605,53 +591,41 @@ public class ServerTest extends BaseTestSupport {
     @Test
     public void testEnvironmentVariablesPropagationToServer() throws Exception 
{
         final AtomicReference<Environment> envHolder = new 
AtomicReference<>(null);
-        sshd.setCommandFactory(new CommandFactory() {
+        sshd.setCommandFactory(command -> new Command() {
+            private ExitCallback cb;
+
             @Override
-            public String getName() {
-                return getCurrentTestName();
+            public void setOutputStream(OutputStream out) {
+                // ignored
             }
 
             @Override
-            public Command createCommand(String command) {
-                
ValidateUtils.checkTrue(String.CASE_INSENSITIVE_ORDER.compare(command, 
getCurrentTestName()) == 0, "Unexpected command: %s", command);
-
-                return new Command() {
-                    private ExitCallback cb;
-
-                    @Override
-                    public void setOutputStream(OutputStream out) {
-                        // ignored
-                    }
-
-                    @Override
-                    public void setInputStream(InputStream in) {
-                        // ignored
-                    }
+            public void setInputStream(InputStream in) {
+                // ignored
+            }
 
-                    @Override
-                    public void setExitCallback(ExitCallback callback) {
-                        cb = callback;
-                    }
+            @Override
+            public void setExitCallback(ExitCallback callback) {
+                cb = callback;
+            }
 
-                    @Override
-                    public void setErrorStream(OutputStream err) {
-                        // ignored
-                    }
+            @Override
+            public void setErrorStream(OutputStream err) {
+                // ignored
+            }
 
-                    @Override
-                    public void destroy() {
-                        // ignored
-                    }
+            @Override
+            public void destroy() {
+                // ignored
+            }
 
-                    @Override
-                    public void start(Environment env) throws IOException {
-                        if (envHolder.getAndSet(env) != null) {
-                            throw new StreamCorruptedException("Multiple 
starts for command=" + command);
-                        }
+            @Override
+            public void start(Environment env) throws IOException {
+                if (envHolder.getAndSet(env) != null) {
+                    throw new StreamCorruptedException("Multiple starts for 
command=" + command);
+                }
 
-                        cb.onExit(0, command);
-                    }
-                };
+                cb.onExit(0, command);
             }
         });
 
@@ -951,22 +925,6 @@ public class ServerTest extends BaseTestSupport {
         public static CountDownLatch latch;
         // CHECKSTYLE:ON
 
-        public static class Factory implements CommandFactory {
-            public Factory() {
-                super();
-            }
-
-            @Override
-            public String getName() {
-                return getClass().getSimpleName();
-            }
-
-            @Override
-            public Command createCommand(String name) {
-                return new StreamCommand(name);
-            }
-        }
-
         private final String name;
         private OutputStream out;
 

Reply via email to