Activated MissingCtor Checkstyle rule
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/7599ee1a Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/7599ee1a Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/7599ee1a Branch: refs/heads/master Commit: 7599ee1a45356cd9431caa6bde47cf3c982becfb Parents: 7f74b0c Author: Goldstein Lyor <[email protected]> Authored: Wed Aug 29 08:51:13 2018 +0300 Committer: Goldstein Lyor <[email protected]> Committed: Wed Aug 29 09:30:23 2018 +0300 ---------------------------------------------------------------------- sshd-checkstyle.xml | 9 ++-- .../apache/sshd/cli/client/ChannelExecMain.java | 4 ++ .../apache/sshd/agent/SshAgentConstants.java | 14 +++--- .../client/config/hosts/HostConfigEntry.java | 7 ++- .../client/config/hosts/KnownHostEntry.java | 7 ++- .../org/apache/sshd/common/SshConstants.java | 47 +++++++++++++------- .../sshd/common/cipher/BuiltinCiphers.java | 6 ++- .../org/apache/sshd/common/cipher/ECCurves.java | 4 ++ .../common/compression/BuiltinCompressions.java | 6 ++- .../sshd/common/config/VersionProperties.java | 10 +++-- .../common/config/keys/BuiltinIdentities.java | 4 ++ .../sshd/common/config/keys/IdentityUtils.java | 13 +++--- .../sshd/common/config/keys/PublicKeyEntry.java | 7 ++- .../keys/loader/AESPrivateKeyObfuscator.java | 11 +++-- .../sshd/common/digest/BuiltinDigests.java | 4 ++ .../io/DefaultIoServiceFactoryFactory.java | 4 ++ .../sshd/common/kex/BuiltinDHFactories.java | 4 ++ .../sshd/common/kex/KexProposalOption.java | 4 ++ .../org/apache/sshd/common/mac/BuiltinMacs.java | 4 ++ .../apache/sshd/common/util/GenericUtils.java | 37 ++++++++------- .../sshd/common/util/logging/LoggingUtils.java | 13 +++--- .../keys/AuthorizedKeysAuthenticator.java | 12 +++-- .../java/org/apache/sshd/KeepAliveTest.java | 8 ++++ .../java/org/apache/sshd/client/ClientTest.java | 4 ++ .../apache/sshd/common/channel/WindowTest.java | 9 +++- .../common/util/EventListenerUtilsTest.java | 4 ++ .../apache/sshd/common/io/mina/MinaSupport.java | 6 ++- .../common/subsystem/sftp/SftpConstants.java | 30 ++++++++----- .../sftp/extensions/AclSupportedParser.java | 12 +++-- .../sftp/extensions/Supported2Parser.java | 20 +++++---- .../sftp/extensions/SupportedParser.java | 14 +++--- .../sftp/extensions/VendorIdParser.java | 5 ++- .../sshd/client/subsystem/sftp/ClientTest.java | 4 ++ 33 files changed, 250 insertions(+), 97 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-checkstyle.xml ---------------------------------------------------------------------- diff --git a/sshd-checkstyle.xml b/sshd-checkstyle.xml index 62e9b8d..e7c3e9c 100644 --- a/sshd-checkstyle.xml +++ b/sshd-checkstyle.xml @@ -7,10 +7,10 @@ Checkstyle is very configurable. Be sure to read the documentation at http://checkstyle.sf.net (or in your downloaded distribution). To completely disable a check, just comment it out or delete it from the file. - + Authors: Guillaume Nodet, Goldstein Lyor --> - + <module name="Checker"> <!-- Checks whether files end with a new line. --> <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile --> @@ -77,7 +77,7 @@ <property name="ordered" value="true" /> <property name="separated" value="true" /> </module> - + <!-- <module name="ImportControl"> <property name="file" value="etc/import-control.xml" /> @@ -211,7 +211,7 @@ <!--<module name="ParameterAssignment" />--> <module name="ExplicitInitialization" /> <module name="DefaultComesLast" /> - <!--<module name="MissingCtor" />--> + <module name="MissingCtor" /> <module name="FallThrough" /> <!--<module name="MultipleStringLiterals" />--> <module name="VariableDeclarationUsageDistance"> @@ -314,4 +314,3 @@ <property name="eachLine" value="true" /> </module> </module> - http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-cli/src/test/java/org/apache/sshd/cli/client/ChannelExecMain.java ---------------------------------------------------------------------- diff --git a/sshd-cli/src/test/java/org/apache/sshd/cli/client/ChannelExecMain.java b/sshd-cli/src/test/java/org/apache/sshd/cli/client/ChannelExecMain.java index c0ccc32..99d0a7d 100644 --- a/sshd-cli/src/test/java/org/apache/sshd/cli/client/ChannelExecMain.java +++ b/sshd-cli/src/test/java/org/apache/sshd/cli/client/ChannelExecMain.java @@ -34,6 +34,10 @@ import org.apache.sshd.util.test.BaseTestSupport; * @author <a href="mailto:[email protected]">Apache MINA SSHD Project</a> */ public class ChannelExecMain extends BaseTestSupport { + public ChannelExecMain() { + super(); + } + public static void doExecuteCommands( BufferedReader stdin, PrintStream stdout, PrintStream stderr, ClientSession session) throws Exception { while (true) { http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/agent/SshAgentConstants.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/SshAgentConstants.java b/sshd-core/src/main/java/org/apache/sshd/agent/SshAgentConstants.java index dd6e95a..93a7883 100644 --- a/sshd-core/src/main/java/org/apache/sshd/agent/SshAgentConstants.java +++ b/sshd-core/src/main/java/org/apache/sshd/agent/SshAgentConstants.java @@ -83,12 +83,16 @@ public final class SshAgentConstants { private static final class LazyMessagesMapHolder { private static final Map<Integer, String> MESSAGES_MAP = - LoggingUtils.generateMnemonicMap(SshAgentConstants.class, f -> { - String name = f.getName(); - return !name.startsWith("SSH_AGENT_CONSTRAIN") - && (name.startsWith("SSH_AGENT") || name.startsWith("SSH2_AGENT")); + LoggingUtils.generateMnemonicMap(SshAgentConstants.class, f -> { + String name = f.getName(); + return !name.startsWith("SSH_AGENT_CONSTRAIN") + && (name.startsWith("SSH_AGENT") || name.startsWith("SSH2_AGENT")); - }); + }); + + private LazyMessagesMapHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } } /** http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/client/config/hosts/HostConfigEntry.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/client/config/hosts/HostConfigEntry.java b/sshd-core/src/main/java/org/apache/sshd/client/config/hosts/HostConfigEntry.java index bf22b87..f401cee 100644 --- a/sshd-core/src/main/java/org/apache/sshd/client/config/hosts/HostConfigEntry.java +++ b/sshd-core/src/main/java/org/apache/sshd/client/config/hosts/HostConfigEntry.java @@ -105,7 +105,12 @@ public class HostConfigEntry extends HostPatternsHolder implements MutableUserHo public static final char REMOTE_PORT_MACRO = 'p'; private static final class LazyDefaultConfigFileHolder { - private static final Path CONFIG_FILE = PublicKeyEntry.getDefaultKeysFolderPath().resolve(STD_CONFIG_FILENAME); + private static final Path CONFIG_FILE = + PublicKeyEntry.getDefaultKeysFolderPath().resolve(STD_CONFIG_FILENAME); + + private LazyDefaultConfigFileHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } } private String host; http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/client/config/hosts/KnownHostEntry.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/client/config/hosts/KnownHostEntry.java b/sshd-core/src/main/java/org/apache/sshd/client/config/hosts/KnownHostEntry.java index 83ce690..4d4e97a 100644 --- a/sshd-core/src/main/java/org/apache/sshd/client/config/hosts/KnownHostEntry.java +++ b/sshd-core/src/main/java/org/apache/sshd/client/config/hosts/KnownHostEntry.java @@ -63,7 +63,12 @@ public class KnownHostEntry extends HostPatternsHolder { public static final String STD_HOSTS_FILENAME = "known_hosts"; private static final class LazyDefaultConfigFileHolder { - private static final Path HOSTS_FILE = PublicKeyEntry.getDefaultKeysFolderPath().resolve(STD_HOSTS_FILENAME); + private static final Path HOSTS_FILE = + PublicKeyEntry.getDefaultKeysFolderPath().resolve(STD_HOSTS_FILENAME); + + private LazyDefaultConfigFileHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } } private String line; http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java b/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java index d274424..01e8ae7 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java @@ -18,6 +18,7 @@ */ package org.apache.sshd.common; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.Map; @@ -32,7 +33,6 @@ import org.apache.sshd.common.util.logging.LoggingUtils; * @author <a href="mailto:[email protected]">Apache MINA SSHD Project</a> */ public final class SshConstants { - // // SSH message identifiers // @@ -129,7 +129,11 @@ public final class SshConstants { private static final Set<Integer> AMBIGUOUS_OPCODES = Collections.unmodifiableSet( new HashSet<>( - LoggingUtils.getAmbiguousMenmonics(SshConstants.class, "SSH_MSG_").values())); + LoggingUtils.getAmbiguousMenmonics(SshConstants.class, "SSH_MSG_").values())); + + private LazyAmbiguousOpcodesHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } } /** @@ -138,7 +142,8 @@ public final class SshConstants { * @see #getAmbiguousOpcodes() */ public static boolean isAmbiguousOpcode(int cmd) { - return getAmbiguousOpcodes().contains(cmd); + Collection<Integer> ambiguousOpcodes = getAmbiguousOpcodes(); + return ambiguousOpcodes.contains(cmd); } /** @@ -151,18 +156,22 @@ public final class SshConstants { private static final class LazyMessagesMapHolder { private static final Map<Integer, String> MESSAGES_MAP = - LoggingUtils.generateMnemonicMap(SshConstants.class, f -> { - String name = f.getName(); - if (!name.startsWith("SSH_MSG_")) { - return false; - } - - try { - return !isAmbiguousOpcode(f.getByte(null)); - } catch (Exception e) { - return false; - } - }); + LoggingUtils.generateMnemonicMap(SshConstants.class, f -> { + String name = f.getName(); + if (!name.startsWith("SSH_MSG_")) { + return false; + } + + try { + return !isAmbiguousOpcode(f.getByte(null)); + } catch (Exception e) { + return false; + } + }); + + private LazyMessagesMapHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } } /** @@ -185,6 +194,10 @@ public final class SshConstants { private static final class LazyReasonsMapHolder { private static final Map<Integer, String> REASONS_MAP = LoggingUtils.generateMnemonicMap(SshConstants.class, "SSH2_DISCONNECT_"); + + private LazyReasonsMapHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } } /** @@ -207,6 +220,10 @@ public final class SshConstants { private static final class LazyOpenCodesMapHolder { private static final Map<Integer, String> OPEN_CODES_MAP = LoggingUtils.generateMnemonicMap(SshConstants.class, "SSH_OPEN_"); + + private LazyOpenCodesMapHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } } /** http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java b/sshd-core/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java index 9bdc134..8609d50 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java @@ -312,7 +312,7 @@ public enum BuiltinCiphers implements CipherFactory { } } - public static class Constants { + public static final class Constants { public static final String NONE = "none"; public static final Pattern NONE_CIPHER_PATTERN = Pattern.compile("(^|.*,)" + NONE + "($|,.*)"); @@ -328,6 +328,10 @@ public enum BuiltinCiphers implements CipherFactory { public static final String BLOWFISH_CBC = "blowfish-cbc"; public static final String TRIPLE_DES_CBC = "3des-cbc"; + private Constants() { + throw new UnsupportedOperationException("No instance allowed"); + } + /** * @param s A comma-separated list of ciphers - ignored if {@code null}/empty * @return {@code true} if the {@link #NONE} cipher name appears in it http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/cipher/ECCurves.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/cipher/ECCurves.java b/sshd-core/src/main/java/org/apache/sshd/common/cipher/ECCurves.java index 93e420c..ae39dd3 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/cipher/ECCurves.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/cipher/ECCurves.java @@ -430,6 +430,10 @@ public enum ECCurves implements NamedResource, OptionalFeature { public static final String NISTP256 = "nistp256"; public static final String NISTP384 = "nistp384"; public static final String NISTP521 = "nistp521"; + + private Constants() { + throw new UnsupportedOperationException("No instance allowed"); + } } /** http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/compression/BuiltinCompressions.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/compression/BuiltinCompressions.java b/sshd-core/src/main/java/org/apache/sshd/common/compression/BuiltinCompressions.java index f0eac3e..49ad0ab 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/compression/BuiltinCompressions.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/compression/BuiltinCompressions.java @@ -227,9 +227,13 @@ public enum BuiltinCompressions implements CompressionFactory { } } - public static class Constants { + public static final class Constants { public static final String NONE = "none"; public static final String ZLIB = "zlib"; public static final String DELAYED_ZLIB = "[email protected]"; + + private Constants() { + throw new UnsupportedOperationException("No instance allowed"); + } } } http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/config/VersionProperties.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/config/VersionProperties.java b/sshd-core/src/main/java/org/apache/sshd/common/config/VersionProperties.java index 7817c8f..0e351a8 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/config/VersionProperties.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/config/VersionProperties.java @@ -35,9 +35,13 @@ import org.slf4j.LoggerFactory; * @author <a href="mailto:[email protected]">Apache MINA SSHD Project</a> */ public final class VersionProperties { - private static final class LazyHolder { + private static final class LazyVersionPropertiesHolder { private static final NavigableMap<String, String> PROPERTIES = - Collections.unmodifiableNavigableMap(loadVersionProperties(LazyHolder.class)); + Collections.unmodifiableNavigableMap(loadVersionProperties(LazyVersionPropertiesHolder.class)); + + private LazyVersionPropertiesHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } private static NavigableMap<String, String> loadVersionProperties(Class<?> anchor) { return loadVersionProperties(anchor, ThreadUtils.resolveDefaultClassLoader(anchor)); @@ -89,6 +93,6 @@ public final class VersionProperties { */ @SuppressWarnings("synthetic-access") public static NavigableMap<String, String> getVersionProperties() { - return LazyHolder.PROPERTIES; + return LazyVersionPropertiesHolder.PROPERTIES; } } http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/BuiltinIdentities.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/BuiltinIdentities.java b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/BuiltinIdentities.java index ed178e6..53b6b44 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/BuiltinIdentities.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/BuiltinIdentities.java @@ -204,5 +204,9 @@ public enum BuiltinIdentities implements Identity { public static final String DSA = KeyUtils.DSS_ALGORITHM; public static final String ECDSA = "ECDSA"; public static final String ED25519 = "ED25519"; + + private Constants() { + throw new UnsupportedOperationException("No instance allowed"); + } } } http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/IdentityUtils.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/IdentityUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/IdentityUtils.java index 1bd1cc7..fbc3ce7 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/IdentityUtils.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/IdentityUtils.java @@ -19,12 +19,12 @@ package org.apache.sshd.common.config.keys; -import java.io.File; import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; import java.nio.file.OpenOption; import java.nio.file.Path; +import java.nio.file.Paths; import java.security.GeneralSecurityException; import java.security.KeyPair; import java.util.Collections; @@ -47,10 +47,13 @@ public final class IdentityUtils { private static final class LazyDefaultUserHomeFolderHolder { private static final Path PATH = - new File(ValidateUtils.checkNotNullAndNotEmpty(System.getProperty("user.home"), "No user home")) - .toPath() - .toAbsolutePath() - .normalize(); + Paths.get(ValidateUtils.checkNotNullAndNotEmpty(System.getProperty("user.home"), "No user home")) + .toAbsolutePath() + .normalize(); + + private LazyDefaultUserHomeFolderHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } } /** http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/PublicKeyEntry.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/PublicKeyEntry.java b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/PublicKeyEntry.java index acbd71a..1db3d2b 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/PublicKeyEntry.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/PublicKeyEntry.java @@ -267,7 +267,12 @@ public class PublicKeyEntry implements Serializable { } private static final class LazyDefaultKeysFolderHolder { - private static final Path PATH = IdentityUtils.getUserHomeFolder().resolve(STD_KEYFILE_FOLDER_NAME); + private static final Path PATH = + IdentityUtils.getUserHomeFolder().resolve(STD_KEYFILE_FOLDER_NAME); + + private LazyDefaultKeysFolderHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } } /** http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/loader/AESPrivateKeyObfuscator.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/loader/AESPrivateKeyObfuscator.java b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/loader/AESPrivateKeyObfuscator.java index 20e51e6..4437945 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/loader/AESPrivateKeyObfuscator.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/loader/AESPrivateKeyObfuscator.java @@ -79,12 +79,15 @@ public class AESPrivateKeyObfuscator extends AbstractPrivateKeyObfuscator { */ @SuppressWarnings("synthetic-access") public static List<Integer> getAvailableKeyLengths() { - return LazyValuesHolder.KEY_LENGTHS; + return LazyKeyLengthsHolder.KEY_LENGTHS; } - private static final class LazyValuesHolder { - private static final List<Integer> KEY_LENGTHS = - Collections.unmodifiableList(detectSupportedKeySizes()); + private static final class LazyKeyLengthsHolder { + private static final List<Integer> KEY_LENGTHS = Collections.unmodifiableList(detectSupportedKeySizes()); + + private LazyKeyLengthsHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } // AES 256 requires special JCE policy extension installation private static List<Integer> detectSupportedKeySizes() { http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/digest/BuiltinDigests.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/digest/BuiltinDigests.java b/sshd-core/src/main/java/org/apache/sshd/common/digest/BuiltinDigests.java index a600419..f469583 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/digest/BuiltinDigests.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/digest/BuiltinDigests.java @@ -158,5 +158,9 @@ public enum BuiltinDigests implements DigestFactory { public static final String SHA256 = "sha256"; public static final String SHA384 = "sha384"; public static final String SHA512 = "sha512"; + + private Constants() { + throw new UnsupportedOperationException("No instance allowed"); + } } } http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java index 7feecc1..cdf1c35 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java @@ -175,6 +175,10 @@ public class DefaultIoServiceFactoryFactory extends AbstractIoServiceFactoryFact private static final class LazyDefaultIoServiceFactoryFactoryHolder { private static final DefaultIoServiceFactoryFactory INSTANCE = new DefaultIoServiceFactoryFactory(); + + private LazyDefaultIoServiceFactoryFactoryHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } } @SuppressWarnings("synthetic-access") http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/kex/BuiltinDHFactories.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/kex/BuiltinDHFactories.java b/sshd-core/src/main/java/org/apache/sshd/common/kex/BuiltinDHFactories.java index 89c5a1b..aea3d19 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/kex/BuiltinDHFactories.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/BuiltinDHFactories.java @@ -408,5 +408,9 @@ public enum BuiltinDHFactories implements DHFactory { public static final String ECDH_SHA2_NISTP256 = "ecdh-sha2-nistp256"; public static final String ECDH_SHA2_NISTP384 = "ecdh-sha2-nistp384"; public static final String ECDH_SHA2_NISTP521 = "ecdh-sha2-nistp521"; + + private Constants() { + throw new UnsupportedOperationException("No instance allowed"); + } } } http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/kex/KexProposalOption.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/kex/KexProposalOption.java b/sshd-core/src/main/java/org/apache/sshd/common/kex/KexProposalOption.java index da6278a..f18ed95 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/kex/KexProposalOption.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/KexProposalOption.java @@ -123,5 +123,9 @@ public enum KexProposalOption { public static final int PROPOSAL_COMP_ALGS_STOC = 7; public static final int PROPOSAL_LANG_CTOS = 8; public static final int PROPOSAL_LANG_STOC = 9; + + private Constants() { + throw new UnsupportedOperationException("No instance allowed"); + } } } http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/mac/BuiltinMacs.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/mac/BuiltinMacs.java b/sshd-core/src/main/java/org/apache/sshd/common/mac/BuiltinMacs.java index 80350b7..5a4528d 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/mac/BuiltinMacs.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/mac/BuiltinMacs.java @@ -265,5 +265,9 @@ public enum BuiltinMacs implements MacFactory { public static final String HMAC_SHA1_96 = "hmac-sha1-96"; public static final String HMAC_SHA2_256 = "hmac-sha2-256"; public static final String HMAC_SHA2_512 = "hmac-sha2-512"; + + private Constants() { + throw new UnsupportedOperationException("No instance allowed"); + } } } http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/util/GenericUtils.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/GenericUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/GenericUtils.java index 185d26b..c924d1e 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/util/GenericUtils.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/util/GenericUtils.java @@ -534,12 +534,22 @@ public final class GenericUtils { return CASE_INSENSITIVE_MAP_FACTORY; } - public static <K, V> Map<V, K> flipMap(Map<? extends K, ? extends V> map, Supplier<? extends Map<V, K>> mapCreator, boolean allowDuplicates) { - if (isEmpty(map)) { - return Collections.emptyMap(); - } - - Map<V, K> result = Objects.requireNonNull(mapCreator.get(), "No map created"); + /** + * Flips between keys and values of an input map + * + * @param <K> Original map key type + * @param <V> Original map value type + * @param <M> Flipped map type + * @param map The original map to flip + * @param mapCreator The creator of the target map + * @param allowDuplicates Whether to ignore duplicates on flip + * @return The flipped map result + * @throws IllegalArgumentException if <tt>allowDuplicates</tt> is {@code false} + * and a duplicate value found in the original map. + */ + public static <K, V, M extends Map<V, K>> M flipMap( + Map<? extends K, ? extends V> map, Supplier<? extends M> mapCreator, boolean allowDuplicates) { + M result = Objects.requireNonNull(mapCreator.get(), "No map created"); map.forEach((key, value) -> { K prev = result.put(value, key); if ((prev != null) && (!allowDuplicates)) { @@ -551,8 +561,8 @@ public final class GenericUtils { } @SafeVarargs - public static <K, V> Map<K, V> mapValues( - Function<? super V, ? extends K> keyMapper, Supplier<? extends Map<K, V>> mapCreator, V... values) { + public static <K, V, M extends Map<K, V>> M mapValues( + Function<? super V, ? extends K> keyMapper, Supplier<? extends M> mapCreator, V... values) { return mapValues(keyMapper, mapCreator, isEmpty(values) ? Collections.emptyList() : Arrays.asList(values)); } @@ -561,6 +571,7 @@ public final class GenericUtils { * * @param <K> The key type * @param <V> The value type + * @param <M> The result {@link Map} type * @param keyMapper The {@link Function} that generates a key for a given value. * If the returned key is {@code null} then the value is not mapped * @param mapCreator The {@link Supplier} used to create/retrieve the result map - provided @@ -569,13 +580,9 @@ public final class GenericUtils { * @return The resulting {@link Map} - <B>Note:</B> no validation is made to ensure * that 2 (or more) values are not mapped to the same key */ - public static <K, V> Map<K, V> mapValues( - Function<? super V, ? extends K> keyMapper, Supplier<? extends Map<K, V>> mapCreator, Collection<V> values) { - if (isEmpty(values)) { - return Collections.emptyMap(); - } - - Map<K, V> map = mapCreator.get(); + public static <K, V, M extends Map<K, V>> M mapValues( + Function<? super V, ? extends K> keyMapper, Supplier<? extends M> mapCreator, Collection<? extends V> values) { + M map = mapCreator.get(); for (V v : values) { K k = keyMapper.apply(v); if (k == null) { http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/common/util/logging/LoggingUtils.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/logging/LoggingUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/logging/LoggingUtils.java index 8b3154a..674ed1a 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/util/logging/LoggingUtils.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/util/logging/LoggingUtils.java @@ -27,6 +27,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Map; +import java.util.NavigableMap; import java.util.Objects; import java.util.TreeMap; import java.util.function.Consumer; @@ -54,11 +55,11 @@ public final class LoggingUtils { * * @param clazz The {@link Class} to query * @param commonPrefix The expected common prefix - * @return A {@link Map} of all the matching fields, where key=the field's {@link Integer} + * @return A {@link NavigableMap} of all the matching fields, where key=the field's {@link Integer} * value and mapping=the field's name * @see #generateMnemonicMap(Class, Predicate) */ - public static Map<Integer, String> generateMnemonicMap(Class<?> clazz, final String commonPrefix) { + public static NavigableMap<Integer, String> generateMnemonicMap(Class<?> clazz, final String commonPrefix) { return generateMnemonicMap(clazz, f -> { String name = f.getName(); return name.startsWith(commonPrefix); @@ -73,17 +74,17 @@ public final class LoggingUtils { * @param clazz The {@link Class} to query * @param acceptor The {@link Predicate} used to decide whether to process the {@link Field} * (besides being a {@link Number} and {@code public static final}). - * @return A {@link Map} of all the matching fields, where key=the field's {@link Integer} + * @return A {@link NavigableMap} of all the matching fields, where key=the field's {@link Integer} * value and mapping=the field's name * @see #getMnemonicFields(Class, Predicate) */ - public static Map<Integer, String> generateMnemonicMap(Class<?> clazz, Predicate<? super Field> acceptor) { + public static NavigableMap<Integer, String> generateMnemonicMap(Class<?> clazz, Predicate<? super Field> acceptor) { Collection<Field> fields = getMnemonicFields(clazz, acceptor); if (GenericUtils.isEmpty(fields)) { - return Collections.emptyMap(); + return Collections.emptyNavigableMap(); } - Map<Integer, String> result = new TreeMap<>(Comparator.naturalOrder()); + NavigableMap<Integer, String> result = new TreeMap<>(Comparator.naturalOrder()); for (Field f : fields) { String name = f.getName(); try { http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeysAuthenticator.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeysAuthenticator.java b/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeysAuthenticator.java index 6748f5b..cfc7ba1 100644 --- a/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeysAuthenticator.java +++ b/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeysAuthenticator.java @@ -53,18 +53,22 @@ import org.apache.sshd.server.session.ServerSession; * @author <a href="mailto:[email protected]">Apache MINA SSHD Project</a> */ public class AuthorizedKeysAuthenticator extends ModifiableFileWatcher implements PublickeyAuthenticator { - /** * Standard OpenSSH authorized keys file name */ public static final String STD_AUTHORIZED_KEYS_FILENAME = "authorized_keys"; private static final class LazyDefaultAuthorizedKeysFileHolder { - private static final Path KEYS_FILE = PublicKeyEntry.getDefaultKeysFolderPath().resolve(STD_AUTHORIZED_KEYS_FILENAME); + private static final Path KEYS_FILE = + PublicKeyEntry.getDefaultKeysFolderPath().resolve(STD_AUTHORIZED_KEYS_FILENAME); + + private LazyDefaultAuthorizedKeysFileHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } } private final AtomicReference<PublickeyAuthenticator> delegateHolder = // assumes initially reject-all - new AtomicReference<>(RejectAllPublickeyAuthenticator.INSTANCE); + new AtomicReference<>(RejectAllPublickeyAuthenticator.INSTANCE); public AuthorizedKeysAuthenticator(File file) { this(Objects.requireNonNull(file, "No file to watch").toPath()); @@ -90,7 +94,7 @@ public class AuthorizedKeysAuthenticator extends ModifiableFileWatcher implement try { PublickeyAuthenticator delegate = - Objects.requireNonNull(resolvePublickeyAuthenticator(username, session), "No delegate"); + Objects.requireNonNull(resolvePublickeyAuthenticator(username, session), "No delegate"); boolean accepted = delegate.authenticate(username, key, session); if (debugEnabled) { log.debug("authenticate(" + username + ")[" + session + "][" + key.getAlgorithm() + "] accepted " + accepted + " from " + getPath()); http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/test/java/org/apache/sshd/KeepAliveTest.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/test/java/org/apache/sshd/KeepAliveTest.java b/sshd-core/src/test/java/org/apache/sshd/KeepAliveTest.java index 4e09447..774620b 100644 --- a/sshd-core/src/test/java/org/apache/sshd/KeepAliveTest.java +++ b/sshd-core/src/test/java/org/apache/sshd/KeepAliveTest.java @@ -162,6 +162,10 @@ public class KeepAliveTest extends BaseTestSupport { } public static class TestEchoShellFactory extends EchoShellFactory { + public TestEchoShellFactory() { + super(); + } + @Override public Command create() { return new TestEchoShell(); @@ -173,6 +177,10 @@ public class KeepAliveTest extends BaseTestSupport { public static CountDownLatch latch; // CHECKSTYLE:ON + public TestEchoShell() { + super(); + } + @Override public void destroy() { if (latch != null) { http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/test/java/org/apache/sshd/client/ClientTest.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/test/java/org/apache/sshd/client/ClientTest.java b/sshd-core/src/test/java/org/apache/sshd/client/ClientTest.java index 43d6d33..59c69e3 100644 --- a/sshd-core/src/test/java/org/apache/sshd/client/ClientTest.java +++ b/sshd-core/src/test/java/org/apache/sshd/client/ClientTest.java @@ -1527,6 +1527,10 @@ public class ClientTest extends BaseTestSupport { } public static class TestEchoShellFactory extends EchoShellFactory { + public TestEchoShellFactory() { + super(); + } + @Override public Command create() { return new TestEchoShell(); http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/test/java/org/apache/sshd/common/channel/WindowTest.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/test/java/org/apache/sshd/common/channel/WindowTest.java b/sshd-core/src/test/java/org/apache/sshd/common/channel/WindowTest.java index 864fc23..b543328 100644 --- a/sshd-core/src/test/java/org/apache/sshd/common/channel/WindowTest.java +++ b/sshd-core/src/test/java/org/apache/sshd/common/channel/WindowTest.java @@ -331,6 +331,10 @@ public class WindowTest extends BaseTestSupport { } public static class TestEchoShellFactory extends EchoShellFactory { + public TestEchoShellFactory() { + super(); + } + @Override public Command create() { return new TestEchoShell(); @@ -338,9 +342,12 @@ public class WindowTest extends BaseTestSupport { } public static class TestEchoShell extends EchoShell { - public static final CountDownLatch LATCH = new CountDownLatch(1); + public TestEchoShell() { + super(); + } + @Override public void destroy() { LATCH.countDown(); http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-core/src/test/java/org/apache/sshd/common/util/EventListenerUtilsTest.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/test/java/org/apache/sshd/common/util/EventListenerUtilsTest.java b/sshd-core/src/test/java/org/apache/sshd/common/util/EventListenerUtilsTest.java index d2e4416..3732f8a 100644 --- a/sshd-core/src/test/java/org/apache/sshd/common/util/EventListenerUtilsTest.java +++ b/sshd-core/src/test/java/org/apache/sshd/common/util/EventListenerUtilsTest.java @@ -124,6 +124,10 @@ public class EventListenerUtilsTest extends BaseTestSupport { private String strValue; private Number numValue; + ProxyListenerImpl() { + super(); + } + public String getStringValue() { return strValue; } http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-mina/src/main/java/org/apache/sshd/common/io/mina/MinaSupport.java ---------------------------------------------------------------------- diff --git a/sshd-mina/src/main/java/org/apache/sshd/common/io/mina/MinaSupport.java b/sshd-mina/src/main/java/org/apache/sshd/common/io/mina/MinaSupport.java index cb943ba..3cdc8e9 100644 --- a/sshd-mina/src/main/java/org/apache/sshd/common/io/mina/MinaSupport.java +++ b/sshd-mina/src/main/java/org/apache/sshd/common/io/mina/MinaSupport.java @@ -22,8 +22,12 @@ import org.apache.mina.core.buffer.IoBuffer; import org.apache.sshd.common.util.Readable; import org.apache.sshd.common.util.buffer.Buffer; +/** + * TODO Add javadoc + * + * @author <a href="mailto:[email protected]">Apache MINA SSHD Project</a> + */ public final class MinaSupport { - private MinaSupport() { throw new UnsupportedOperationException("No instance allowed"); } http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/SftpConstants.java ---------------------------------------------------------------------- diff --git a/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/SftpConstants.java b/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/SftpConstants.java index b185941..02adb12 100644 --- a/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/SftpConstants.java +++ b/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/SftpConstants.java @@ -278,15 +278,19 @@ public final class SftpConstants { private static final class LazyCommandNameHolder { private static final Map<Integer, String> NAMES_MAP = - Collections.unmodifiableMap( - LoggingUtils.generateMnemonicMap(SftpConstants.class, f -> { - String name = f.getName(); - return name.startsWith("SSH_FXP_") - // exclude the rename modes which are not opcodes - && (!name.startsWith("SSH_FXP_RENAME_")) - // exclude the realpath modes wich are not opcodes - && (!name.startsWith("SSH_FXP_REALPATH_")); - })); + Collections.unmodifiableMap( + LoggingUtils.generateMnemonicMap(SftpConstants.class, f -> { + String name = f.getName(); + return name.startsWith("SSH_FXP_") + // exclude the rename modes which are not opcodes + && (!name.startsWith("SSH_FXP_RENAME_")) + // exclude the realpath modes wich are not opcodes + && (!name.startsWith("SSH_FXP_REALPATH_")); + })); + + private LazyCommandNameHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } } /** @@ -306,9 +310,13 @@ public final class SftpConstants { } } - private static class LazyStatusNameHolder { + private static final class LazyStatusNameHolder { private static final Map<Integer, String> STATUS_MAP = - Collections.unmodifiableMap(LoggingUtils.generateMnemonicMap(SftpConstants.class, "SSH_FX_")); + Collections.unmodifiableMap(LoggingUtils.generateMnemonicMap(SftpConstants.class, "SSH_FX_")); + + private LazyStatusNameHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } } /** http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/AclSupportedParser.java ---------------------------------------------------------------------- diff --git a/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/AclSupportedParser.java b/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/AclSupportedParser.java index 13ece01..2e57fff 100644 --- a/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/AclSupportedParser.java +++ b/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/AclSupportedParser.java @@ -24,6 +24,7 @@ import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.Map; +import java.util.NavigableMap; import java.util.Objects; import java.util.Set; import java.util.TreeSet; @@ -101,9 +102,14 @@ public class AclSupportedParser extends AbstractParser<AclCapabilities> { private static final class LazyAclCapabilityNameHolder { private static final String ACL_CAP_NAME_PREFIX = "SSH_ACL_CAP_"; - private static final Map<Integer, String> ACL_VALUES_MAP = LoggingUtils.generateMnemonicMap(SftpConstants.class, ACL_CAP_NAME_PREFIX); - private static final Map<String, Integer> ACL_NAMES_MAP = - Collections.unmodifiableMap(GenericUtils.flipMap(ACL_VALUES_MAP, GenericUtils.caseInsensitiveMap(), false)); + private static final Map<Integer, String> ACL_VALUES_MAP = + LoggingUtils.generateMnemonicMap(SftpConstants.class, ACL_CAP_NAME_PREFIX); + private static final NavigableMap<String, Integer> ACL_NAMES_MAP = + Collections.unmodifiableNavigableMap(GenericUtils.flipMap(ACL_VALUES_MAP, GenericUtils.caseInsensitiveMap(), false)); + + private LazyAclCapabilityNameHolder() { + throw new UnsupportedOperationException("No instance allowed"); + } } @SuppressWarnings("synthetic-access") http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/Supported2Parser.java ---------------------------------------------------------------------- diff --git a/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/Supported2Parser.java b/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/Supported2Parser.java index 6259a7c..22e56cf 100644 --- a/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/Supported2Parser.java +++ b/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/Supported2Parser.java @@ -52,17 +52,21 @@ public class Supported2Parser extends AbstractParser<Supported2> { public Collection<String> extensionNames; // CHECKSTYLE:ON + public Supported2() { + super(); + } + @Override public String toString() { return "attrsMask=0x" + Integer.toHexString(supportedAttributeMask) - + ",attrsBits=0x" + Integer.toHexString(supportedAttributeBits) - + ",openFlags=0x" + Integer.toHexString(supportedOpenFlags) - + ",accessMask=0x" + Integer.toHexString(supportedAccessMask) - + ",maxRead=" + maxReadSize - + ",openBlock=0x" + Integer.toHexString(supportedOpenBlockVector & 0xFFFF) - + ",block=" + Integer.toHexString(supportedBlock & 0xFFFF) - + ",attribs=" + attribExtensionNames - + ",exts=" + extensionNames; + + ",attrsBits=0x" + Integer.toHexString(supportedAttributeBits) + + ",openFlags=0x" + Integer.toHexString(supportedOpenFlags) + + ",accessMask=0x" + Integer.toHexString(supportedAccessMask) + + ",maxRead=" + maxReadSize + + ",openBlock=0x" + Integer.toHexString(supportedOpenBlockVector & 0xFFFF) + + ",block=" + Integer.toHexString(supportedBlock & 0xFFFF) + + ",attribs=" + attribExtensionNames + + ",exts=" + extensionNames; } } http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/SupportedParser.java ---------------------------------------------------------------------- diff --git a/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/SupportedParser.java b/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/SupportedParser.java index 4c80463..edacf22 100644 --- a/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/SupportedParser.java +++ b/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/SupportedParser.java @@ -47,14 +47,18 @@ public class SupportedParser extends AbstractParser<Supported> { public Collection<String> extensionNames; // CHECKSTYLE:ON + public Supported() { + super(); + } + @Override public String toString() { return "attrsMask=0x" + Integer.toHexString(supportedAttributeMask) - + ",attrsBits=0x" + Integer.toHexString(supportedAttributeBits) - + ",openFlags=0x" + Integer.toHexString(supportedOpenFlags) - + ",accessMask=0x" + Integer.toHexString(supportedAccessMask) - + ",maxReadSize=" + maxReadSize - + ",extensions=" + extensionNames; + + ",attrsBits=0x" + Integer.toHexString(supportedAttributeBits) + + ",openFlags=0x" + Integer.toHexString(supportedOpenFlags) + + ",accessMask=0x" + Integer.toHexString(supportedAccessMask) + + ",maxReadSize=" + maxReadSize + + ",extensions=" + extensionNames; } } http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/VendorIdParser.java ---------------------------------------------------------------------- diff --git a/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/VendorIdParser.java b/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/VendorIdParser.java index 1917d7d..5ecc723 100644 --- a/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/VendorIdParser.java +++ b/sshd-sftp/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/VendorIdParser.java @@ -42,6 +42,10 @@ public class VendorIdParser extends AbstractParser<VendorId> { public long productBuildNumber; // CHECKSTYLE:ON + public VendorId() { + super(); + } + @Override public String toString() { return vendorName + "-" + productName + "-" + productVersion + "-" + productBuildNumber; @@ -67,5 +71,4 @@ public class VendorIdParser extends AbstractParser<VendorId> { id.productBuildNumber = buffer.getLong(); return id; } - } http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7599ee1a/sshd-sftp/src/test/java/org/apache/sshd/client/subsystem/sftp/ClientTest.java ---------------------------------------------------------------------- diff --git a/sshd-sftp/src/test/java/org/apache/sshd/client/subsystem/sftp/ClientTest.java b/sshd-sftp/src/test/java/org/apache/sshd/client/subsystem/sftp/ClientTest.java index ba72d73..94c492f 100644 --- a/sshd-sftp/src/test/java/org/apache/sshd/client/subsystem/sftp/ClientTest.java +++ b/sshd-sftp/src/test/java/org/apache/sshd/client/subsystem/sftp/ClientTest.java @@ -399,6 +399,10 @@ public class ClientTest extends BaseTestSupport { } public static class TestEchoShellFactory extends EchoShellFactory { + public TestEchoShellFactory() { + super(); + } + @Override public Command create() { return new TestEchoShell();
