From ad50827358e46a36b53f3f801a323fbe9ed278ca Mon Sep 17 00:00:00 2001 From: akafredperry Date: Mon, 9 Feb 2026 18:36:04 +0000 Subject: [PATCH] fix: corrected javadoc. javadoc plugin is now configured to fail on error. checkstyle has been expanded to enforce class comments --- at_client/pom.xml | 3 + .../org/atsign/client/api/AtConnection.java | 4 + .../java/org/atsign/client/api/AtEvents.java | 13 +++- .../java/org/atsign/client/api/Secondary.java | 52 ++++++++----- .../client/api/impl/clients/AtClientImpl.java | 5 +- .../impl/connections/AtConnectionBase.java | 7 +- .../impl/connections/AtMonitorConnection.java | 5 +- .../DefaultAtConnectionFactory.java | 3 +- .../api/impl/events/SimpleAtEventBus.java | 3 +- .../api/impl/secondaries/RemoteSecondary.java | 3 +- .../org/atsign/client/cli/AbstractCli.java | 25 ++++++ .../java/org/atsign/client/cli/DumpKeys.java | 4 + .../java/org/atsign/client/util/ArgsUtil.java | 4 + .../client/util/AtClientValidation.java | 3 + .../java/org/atsign/client/util/AuthUtil.java | 21 ++++- .../java/org/atsign/client/util/ByteUtil.java | 5 +- .../org/atsign/client/util/Constants.java | 3 + .../atsign/client/util/EncryptionUtil.java | 4 + .../org/atsign/client/util/EnrollmentId.java | 4 + .../org/atsign/client/util/KeyStringUtil.java | 16 ++++ .../java/org/atsign/client/util/KeysUtil.java | 7 +- .../org/atsign/client/util/RegisterUtil.java | 11 +-- .../org/atsign/client/util/StringUtil.java | 3 + .../org/atsign/client/util/TypedString.java | 3 + .../java/org/atsign/common/ApiCallStatus.java | 3 + .../java/org/atsign/common/AtException.java | 3 + .../main/java/org/atsign/common/AtSign.java | 5 +- .../java/org/atsign/common/KeyBuilders.java | 27 ++++++- .../src/main/java/org/atsign/common/Keys.java | 35 ++++++--- .../main/java/org/atsign/common/Metadata.java | 7 +- .../org/atsign/common/NotificationStatus.java | 3 + .../org/atsign/common/RegisterApiResult.java | 6 +- .../org/atsign/common/RegisterApiTask.java | 7 +- .../atsign/common/ResponseTransformers.java | 36 +++++---- .../java/org/atsign/common/VerbBuilders.java | 77 +++++++++++++++---- .../AtBlockedConnectionException.java | 5 +- .../exceptions/AtBufferOverFlowException.java | 6 +- .../exceptions/AtClientConfigException.java | 3 +- .../exceptions/AtDecryptionException.java | 3 + .../exceptions/AtEncryptionException.java | 3 + .../exceptions/AtHandShakeException.java | 5 +- .../AtIllegalArgumentException.java | 5 +- .../AtInboundConnectionLimitException.java | 6 ++ .../exceptions/AtInternalServerError.java | 5 +- .../exceptions/AtInternalServerException.java | 5 +- .../exceptions/AtInvalidAtKeyException.java | 5 +- .../exceptions/AtInvalidSyntaxException.java | 5 +- .../exceptions/AtKeyNotFoundException.java | 5 +- .../AtNewErrorCodeWhoDisException.java | 3 + .../AtNotYetImplementedException.java | 12 --- .../AtOutboundConnectionLimitException.java | 6 +- .../exceptions/AtRegistrarException.java | 4 + .../AtResponseHandlingException.java | 4 + .../AtSecondaryConnectException.java | 5 +- .../AtSecondaryNotFoundException.java | 7 +- .../exceptions/AtServerIsPausedException.java | 5 +- .../exceptions/AtServerRuntimeException.java | 5 +- .../common/exceptions/AtTimeoutException.java | 5 +- .../AtUnauthenticatedException.java | 7 +- .../exceptions/AtUnauthorizedException.java | 5 +- .../AtUnknownResponseException.java | 4 + .../exceptions/MalformedKeyException.java | 2 +- .../exceptions/RemoteLookupException.java | 12 --- .../common/options/GetRequestOptions.java | 4 + .../atsign/common/options/RequestOptions.java | 3 + .../response_models/LookupResponse.java | 3 + .../java/org/atsign/common/DateUtilTest.java | 27 ------- .../main/java/org/atsign/client/cli/REPL.java | 9 +-- .../java/org/atsign/client/util/DateUtil.java | 3 + .../java/org/atsign/client/util/FileUtil.java | 5 +- .../org/atsign/client/util/ImageUtil.java | 0 config/checkstyle.xml | 14 ++++ .../atsign/examples/SelfKeyDeleteExample.java | 1 - pom.xml | 5 -- 74 files changed, 466 insertions(+), 175 deletions(-) delete mode 100644 at_client/src/main/java/org/atsign/common/exceptions/AtNotYetImplementedException.java delete mode 100644 at_client/src/main/java/org/atsign/common/exceptions/RemoteLookupException.java delete mode 100644 at_client/src/test/java/org/atsign/common/DateUtilTest.java rename {at_client => at_utils}/src/main/java/org/atsign/client/util/DateUtil.java (96%) rename {at_client => at_utils}/src/main/java/org/atsign/client/util/FileUtil.java (87%) rename {at_client => at_utils}/src/main/java/org/atsign/client/util/ImageUtil.java (100%) diff --git a/at_client/pom.xml b/at_client/pom.xml index 9c78aa5e..1f3daa51 100644 --- a/at_client/pom.xml +++ b/at_client/pom.xml @@ -60,6 +60,9 @@ org.apache.maven.plugins maven-javadoc-plugin + + all,-missing + diff --git a/at_client/src/main/java/org/atsign/client/api/AtConnection.java b/at_client/src/main/java/org/atsign/client/api/AtConnection.java index ec0e0a33..21ace30b 100644 --- a/at_client/src/main/java/org/atsign/client/api/AtConnection.java +++ b/at_client/src/main/java/org/atsign/client/api/AtConnection.java @@ -33,6 +33,10 @@ public interface AtConnection { String executeCommand(String command) throws IOException; + /** + * Represents something which can implement atprotocol authentication workflow + * by executing commands with a {@link AtConnection} + */ interface Authenticator { void authenticate(AtConnection connection) throws AtException, IOException; } diff --git a/at_client/src/main/java/org/atsign/client/api/AtEvents.java b/at_client/src/main/java/org/atsign/client/api/AtEvents.java index 0acdd018..401d36cf 100644 --- a/at_client/src/main/java/org/atsign/client/api/AtEvents.java +++ b/at_client/src/main/java/org/atsign/client/api/AtEvents.java @@ -4,13 +4,20 @@ import java.util.Set; /** - * + * Parent interface for related interfaces */ public interface AtEvents { + + /** + * Represents something that will receive events + */ interface AtEventListener { void handleEvent(AtEventType eventType, Map eventData); } + /** + * Represents something that can dispatch events to registered {@link AtEventListener} + */ interface AtEventBus { /** * @param listener to handle various events which originate from Secondaries @@ -26,6 +33,10 @@ interface AtEventBus { int publishEvent(AtEventType eventType, Map eventData); } + + /** + * Different event types + */ enum AtEventType { // events which originate from the client's "Monitor" connection, which asynchronously // receives notification events from its secondary server diff --git a/at_client/src/main/java/org/atsign/client/api/Secondary.java b/at_client/src/main/java/org/atsign/client/api/Secondary.java index fed8467f..5fccbad0 100644 --- a/at_client/src/main/java/org/atsign/client/api/Secondary.java +++ b/at_client/src/main/java/org/atsign/client/api/Secondary.java @@ -16,8 +16,10 @@ * talks, via TLS over a secure socket, to the cloud Secondary server. *
* As we implement client-side offline storage, performance caching etc., we can expect e.g. - *
- * AtClient -> FastCacheSecondary -> OfflineStorageSecondary -> RemoteSecondary
+ *
+ * AtClient {@code ->} FastCacheSecondary {@code ->} OfflineStorageSecondary {@code ->} + * RemoteSecondary + *
* where FastCacheSecondary might be an in-memory LRU cache, and OfflineStorageSecondary is a * persistent cache of some or all of the information in the RemoteSecondary. To make this * possible, each Secondary will need to be able to fully handle the @ protocol, thus the @@ -41,6 +43,9 @@ public interface Secondary extends AtEvents.AtEventListener, Closeable { boolean isMonitorRunning(); + /** + * Used to hold the partially decoded response from a {@link Secondary} + */ class Response { private String rawDataResponse = null; private String rawErrorResponse; @@ -99,41 +104,41 @@ public AtException getException() { if (!isError()) { return null; } - if ("AT0001".equals(errorCode)) { + if (AtServerRuntimeException.CODE.equals(errorCode)) { return new AtServerRuntimeException(errorText); - } else if ("AT0003".equals(errorCode)) { + } else if (AtInvalidSyntaxException.CODE.equals(errorCode)) { return new AtInvalidSyntaxException(errorText); - } else if ("AT0005".equals(errorCode)) { + } else if (AtBufferOverFlowException.CODE.equals(errorCode)) { return new AtBufferOverFlowException(errorText); - } else if ("AT0006".equals(errorCode)) { + } else if (AtOutboundConnectionLimitException.CODE.equals(errorCode)) { return new AtOutboundConnectionLimitException(errorText); - } else if ("AT0007".equals(errorCode)) { + } else if (AtSecondaryNotFoundException.CODE.equals(errorCode)) { return new AtSecondaryNotFoundException(errorText); - } else if ("AT0008".equals(errorCode)) { + } else if (AtHandShakeException.CODE.equals(errorCode)) { return new AtHandShakeException(errorText); - } else if ("AT0009".equals(errorCode)) { + } else if (AtUnauthorizedException.CODE.equals(errorCode)) { return new AtUnauthorizedException(errorText); - } else if ("AT0010".equals(errorCode)) { + } else if (AtInternalServerError.CODE.equals(errorCode)) { return new AtInternalServerError(errorText); - } else if ("AT0011".equals(errorCode)) { + } else if (AtInternalServerException.CODE.equals(errorCode)) { return new AtInternalServerException(errorText); - } else if ("AT0012".equals(errorCode)) { + } else if (AtInboundConnectionLimitException.CODE.equals(errorCode)) { return new AtInboundConnectionLimitException(errorText); - } else if ("AT0013".equals(errorCode)) { + } else if (AtBlockedConnectionException.CODE.equals(errorCode)) { return new AtBlockedConnectionException(errorText); - } else if ("AT0015".equals(errorCode)) { + } else if (AtKeyNotFoundException.CODE.equals(errorCode)) { return new AtKeyNotFoundException(errorText); - } else if ("AT0016".equals(errorCode)) { + } else if (AtInvalidAtKeyException.CODE.equals(errorCode)) { return new AtInvalidAtKeyException(errorText); - } else if ("AT0021".equals(errorCode)) { + } else if (AtSecondaryConnectException.CODE.equals(errorCode)) { return new AtSecondaryConnectException(errorText); - } else if ("AT0022".equals(errorCode)) { + } else if (AtIllegalArgumentException.CODE.equals(errorCode)) { return new AtIllegalArgumentException(errorText); - } else if ("AT0023".equals(errorCode)) { + } else if (AtTimeoutException.CODE.equals(errorCode)) { return new AtTimeoutException(errorText); - } else if ("AT0024".equals(errorCode)) { + } else if (AtServerIsPausedException.CODE.equals(errorCode)) { return new AtServerIsPausedException(errorText); - } else if ("AT0401".equals(errorCode)) { + } else if (AtUnauthenticatedException.CODE.equals(errorCode)) { return new AtUnauthenticatedException(errorText); } @@ -141,6 +146,9 @@ public AtException getException() { } } + /** + * Value class for hostname and port tuple + */ class Address { public final String host; public final int port; @@ -173,6 +181,10 @@ public String toString() { } } + /** + * Represents something that, given an {@link AtSign}, can resolve the {@link Address} of the + * {@link Secondary} for this {@link AtSign} + */ interface AddressFinder { Address findSecondary(AtSign atSign) throws IOException, AtSecondaryNotFoundException; } diff --git a/at_client/src/main/java/org/atsign/client/api/impl/clients/AtClientImpl.java b/at_client/src/main/java/org/atsign/client/api/impl/clients/AtClientImpl.java index 1831edb8..d02c1441 100644 --- a/at_client/src/main/java/org/atsign/client/api/impl/clients/AtClientImpl.java +++ b/at_client/src/main/java/org/atsign/client/api/impl/clients/AtClientImpl.java @@ -39,7 +39,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; /** - * @see org.atsign.client.api.AtClient + * Implementation of an {@link AtClient} which wraps a {@link Secondary} + * in order to implement the "map like" features of the {@link AtClient} interface */ @SuppressWarnings({"RedundantThrows", "unused"}) @Slf4j @@ -637,7 +638,7 @@ private List _getAtKeys(String regex, boolean fetchMetadata) throws AtExc } ResponseTransformers.ScanResponseTransformer scanResponseTransformer = new ResponseTransformers.ScanResponseTransformer(AtClientImpl::isNotManagementKey); - List rawArray = scanResponseTransformer.transform(scanRawResponse); + List rawArray = scanResponseTransformer.apply(scanRawResponse); List atKeys = new ArrayList<>(); for (String atKeyRaw : rawArray) { // eg atKeyRaw == @bob:phone@alice diff --git a/at_client/src/main/java/org/atsign/client/api/impl/connections/AtConnectionBase.java b/at_client/src/main/java/org/atsign/client/api/impl/connections/AtConnectionBase.java index 19dedb9b..bacd1fa9 100644 --- a/at_client/src/main/java/org/atsign/client/api/impl/connections/AtConnectionBase.java +++ b/at_client/src/main/java/org/atsign/client/api/impl/connections/AtConnectionBase.java @@ -14,10 +14,15 @@ import org.atsign.common.AtException; /** - * @see org.atsign.client.api.AtConnection + * Core implementation of an {@link AtConnection} which uses Java NIO. This + * class contains the implementation of the socket connect / disconnect, + * writing atprotocol commands and reading atprotocol responses. + * If the socket becomes disconnected then it will be re-connected as part + * of sending the next command. */ @Slf4j public abstract class AtConnectionBase implements AtConnection { + private final String url; @Override diff --git a/at_client/src/main/java/org/atsign/client/api/impl/connections/AtMonitorConnection.java b/at_client/src/main/java/org/atsign/client/api/impl/connections/AtMonitorConnection.java index 0cccb6ff..43575ffb 100644 --- a/at_client/src/main/java/org/atsign/client/api/impl/connections/AtMonitorConnection.java +++ b/at_client/src/main/java/org/atsign/client/api/impl/connections/AtMonitorConnection.java @@ -17,7 +17,10 @@ import com.fasterxml.jackson.databind.ObjectMapper; /** - * + * A {@link AtMonitorConnection} represents a connection to an AtServer which, + * when started will send the atprotocol monitor command and then processes + * notifications and heartbeat messages until it is stopped. If the socket disconnects + * then it will be automatically reconnected. */ @Slf4j public class AtMonitorConnection extends AtSecondaryConnection implements Runnable { diff --git a/at_client/src/main/java/org/atsign/client/api/impl/connections/DefaultAtConnectionFactory.java b/at_client/src/main/java/org/atsign/client/api/impl/connections/DefaultAtConnectionFactory.java index fe54a574..80736fad 100644 --- a/at_client/src/main/java/org/atsign/client/api/impl/connections/DefaultAtConnectionFactory.java +++ b/at_client/src/main/java/org/atsign/client/api/impl/connections/DefaultAtConnectionFactory.java @@ -7,7 +7,8 @@ import org.atsign.common.AtSign; /** - * @see org.atsign.client.api.AtConnectionFactory + * Standard implementation of {@link AtConnectionFactory} for creating {@link AtSecondaryConnection} + * and {@link AtRootConnection} instances. */ public class DefaultAtConnectionFactory implements AtConnectionFactory { @Override diff --git a/at_client/src/main/java/org/atsign/client/api/impl/events/SimpleAtEventBus.java b/at_client/src/main/java/org/atsign/client/api/impl/events/SimpleAtEventBus.java index 63f69bdf..77faa580 100644 --- a/at_client/src/main/java/org/atsign/client/api/impl/events/SimpleAtEventBus.java +++ b/at_client/src/main/java/org/atsign/client/api/impl/events/SimpleAtEventBus.java @@ -14,7 +14,8 @@ import java.util.concurrent.Executors; /** - * + * In memory implementation of {@link AtEventBus} which will asynchronously dispatch + * events to registered listeners. */ @Slf4j public class SimpleAtEventBus implements AtEventBus { diff --git a/at_client/src/main/java/org/atsign/client/api/impl/secondaries/RemoteSecondary.java b/at_client/src/main/java/org/atsign/client/api/impl/secondaries/RemoteSecondary.java index 703cdf4d..389d00a1 100644 --- a/at_client/src/main/java/org/atsign/client/api/impl/secondaries/RemoteSecondary.java +++ b/at_client/src/main/java/org/atsign/client/api/impl/secondaries/RemoteSecondary.java @@ -21,7 +21,8 @@ import org.atsign.common.exceptions.AtUnknownResponseException; /** - * @see org.atsign.client.api.Secondary + * Implementation of {@link Secondary} wraps an {@link AtSecondaryConnection} and + * an {@link AtMonitorConnection}. */ @Slf4j public class RemoteSecondary implements Secondary { diff --git a/at_client/src/main/java/org/atsign/client/cli/AbstractCli.java b/at_client/src/main/java/org/atsign/client/cli/AbstractCli.java index 85e1431a..4a1f6542 100644 --- a/at_client/src/main/java/org/atsign/client/cli/AbstractCli.java +++ b/at_client/src/main/java/org/atsign/client/cli/AbstractCli.java @@ -29,12 +29,37 @@ import picocli.CommandLine.ITypeConverter; import picocli.CommandLine.Option; +/** + * Base class for Command Line Interface utilities. Holds common fields such as root server + * the {@link AtSign} which is connecting and the file which contains the {@link AtKeys} + * + * @param used to provide fluent builder style API + */ public abstract class AbstractCli> { + /** + * models server response string which is non-empty JSON map + */ protected static final Pattern DATA_JSON_NON_EMPTY_MAP = Pattern.compile("data:(\\{.+})"); + + /** + * models server response string which is JSON map + */ protected static final Pattern DATA_JSON_MAP = Pattern.compile("data:(\\{.*})"); + + /** + * models server response string which is non-empty JSON list + */ protected static final Pattern DATA_JSON_NO_EMPTY_LIST = Pattern.compile("data:(\\[.+])"); + + /** + * models server response string which is integer + */ protected static final Pattern DATA_INT = Pattern.compile("data:\\d+"); + + /** + * models server response string containing no whitespace + */ public static final Pattern DATA_NON_WHITESPACE = Pattern.compile("data:(\\S+)"); protected String rootUrl = "root.atsign.org"; diff --git a/at_client/src/main/java/org/atsign/client/cli/DumpKeys.java b/at_client/src/main/java/org/atsign/client/cli/DumpKeys.java index bb5edb01..735cd200 100644 --- a/at_client/src/main/java/org/atsign/client/cli/DumpKeys.java +++ b/at_client/src/main/java/org/atsign/client/cli/DumpKeys.java @@ -5,6 +5,10 @@ import org.atsign.client.util.KeysUtil; import org.atsign.common.AtSign; +/** + * Utility which, given an {@link AtSign} will load {@link AtKeys} from the + * default location and dump the contents to stdout + */ @Slf4j public class DumpKeys { public static void main(String[] args) throws Exception { diff --git a/at_client/src/main/java/org/atsign/client/util/ArgsUtil.java b/at_client/src/main/java/org/atsign/client/util/ArgsUtil.java index 23503022..b7bdb249 100644 --- a/at_client/src/main/java/org/atsign/client/util/ArgsUtil.java +++ b/at_client/src/main/java/org/atsign/client/util/ArgsUtil.java @@ -3,6 +3,10 @@ import org.atsign.client.api.Secondary; import org.atsign.client.api.impl.connections.AtRootConnection; +/** + * Utility class which contains a method for creating an + * {@link org.atsign.client.api.Secondary.AddressFinder} + */ public class ArgsUtil { public static Secondary.AddressFinder createAddressFinder(String rootUrl) { Secondary.AddressFinder addressFinder; diff --git a/at_client/src/main/java/org/atsign/client/util/AtClientValidation.java b/at_client/src/main/java/org/atsign/client/util/AtClientValidation.java index c33280e8..c651bc2b 100644 --- a/at_client/src/main/java/org/atsign/client/util/AtClientValidation.java +++ b/at_client/src/main/java/org/atsign/client/util/AtClientValidation.java @@ -11,6 +11,9 @@ import org.atsign.common.exceptions.AtInvalidAtKeyException; import org.atsign.common.exceptions.AtSecondaryConnectException; +/** + * Utility class with key string validation methods + */ public class AtClientValidation { // TODO Lots of atServer-address-finding going on here. Need a caching finder. // TODO Change all of these static methods. diff --git a/at_client/src/main/java/org/atsign/client/util/AuthUtil.java b/at_client/src/main/java/org/atsign/client/util/AuthUtil.java index ce5c1b11..58e278e5 100644 --- a/at_client/src/main/java/org/atsign/client/util/AuthUtil.java +++ b/at_client/src/main/java/org/atsign/client/util/AuthUtil.java @@ -16,9 +16,19 @@ import org.atsign.common.exceptions.AtUnauthenticatedException; /** - * + * Encapsulates Atsign Platform authentication command response workflows. */ public class AuthUtil { + + /** + * Sends a from command followed by cram command. + * + * @param connection connection to an AtServer + * @param atSign the AtSign to authenticate + * @param cramSecret the secret with which to respond to the authentication challenge + * @throws AtException If the authentication fails + * @throws IOException Delegated from AtServer + */ public void authenticateWithCram(AtSecondaryConnection connection, AtSign atSign, String cramSecret) throws AtException, IOException { String fromResponse = connection.executeCommand("from:" + atSign); @@ -40,6 +50,15 @@ public void authenticateWithCram(AtSecondaryConnection connection, AtSign atSign } } + /** + * Sends a from command followed by a pkam command. + * + * @param connection connection to an AtServer + * @param atSign the AtSign to authenticate + * @param keys AtKeys which contains the PKAM private key and associated {@link EnrollmentId} + * @throws AtException If the authentication fails + * @throws IOException Delegated from AtServer + */ public void authenticateWithPkam(AtConnection connection, AtSign atSign, AtKeys keys) throws AtException, IOException { if (!keys.hasPkamKeys()) { diff --git a/at_client/src/main/java/org/atsign/client/util/ByteUtil.java b/at_client/src/main/java/org/atsign/client/util/ByteUtil.java index 669cdbc1..b5f5e74d 100644 --- a/at_client/src/main/java/org/atsign/client/util/ByteUtil.java +++ b/at_client/src/main/java/org/atsign/client/util/ByteUtil.java @@ -4,6 +4,9 @@ import java.nio.charset.StandardCharsets; +/** + * Utility class with "no throw" methods for converting between byte arrays and Strings + */ @Slf4j public class ByteUtil { public static String convert(byte[] data) { @@ -19,7 +22,7 @@ public static byte[] convert(String data) { try { return data.getBytes(StandardCharsets.UTF_8); } catch (Exception e) { - log.error("Error occured while parsing the string to byte array data", e); + log.error("Error occurred while parsing the string to byte array data", e); return null; } } diff --git a/at_client/src/main/java/org/atsign/client/util/Constants.java b/at_client/src/main/java/org/atsign/client/util/Constants.java index 88c00aa7..7f993ede 100644 --- a/at_client/src/main/java/org/atsign/client/util/Constants.java +++ b/at_client/src/main/java/org/atsign/client/util/Constants.java @@ -1,5 +1,8 @@ package org.atsign.client.util; +/** + * Atsign Platform constants + */ public final class Constants { private Constants() {} diff --git a/at_client/src/main/java/org/atsign/client/util/EncryptionUtil.java b/at_client/src/main/java/org/atsign/client/util/EncryptionUtil.java index 3f70226d..fcaaa4fd 100644 --- a/at_client/src/main/java/org/atsign/client/util/EncryptionUtil.java +++ b/at_client/src/main/java/org/atsign/client/util/EncryptionUtil.java @@ -14,6 +14,10 @@ import org.bouncycastle.jce.provider.BouncyCastleProvider; +/** + * Utility class which registers bouncycastle as a security {@link Provider} and provides + * static methods for the various encryption functions required by Atsign client APIs + */ public class EncryptionUtil { public static final String SIGNING_ALGO_RSA = "rsa2048"; diff --git a/at_client/src/main/java/org/atsign/client/util/EnrollmentId.java b/at_client/src/main/java/org/atsign/client/util/EnrollmentId.java index 43cc687b..44a1cf3e 100644 --- a/at_client/src/main/java/org/atsign/client/util/EnrollmentId.java +++ b/at_client/src/main/java/org/atsign/client/util/EnrollmentId.java @@ -1,5 +1,9 @@ package org.atsign.client.util; +/** + * Identifier that represent a specific {@link org.atsign.common.AtSign} enrollment + * and association with a specific key pair used for authentication management (PKAM) + */ public class EnrollmentId extends TypedString { private EnrollmentId(String id) { diff --git a/at_client/src/main/java/org/atsign/client/util/KeyStringUtil.java b/at_client/src/main/java/org/atsign/client/util/KeyStringUtil.java index d917fce0..5c88eaeb 100644 --- a/at_client/src/main/java/org/atsign/client/util/KeyStringUtil.java +++ b/at_client/src/main/java/org/atsign/client/util/KeyStringUtil.java @@ -5,10 +5,26 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +/** + * Utility class which parses a key string and can be used to extract key characteristics. + * Specifically: + *
    + *
  • {@link KeyType}
  • + *
  • namespace
  • + *
  • unqualfied key name
  • + *
  • "shared by" {@link org.atsign.common.AtSign}
  • + *
  • "shared with" {@link org.atsign.common.AtSign}
  • + *
  • whether key is cached on the {@link org.atsign.client.api.Secondary}
  • + *
  • whether key is hidden
  • + *
+ */ public class KeyStringUtil { private static final Pattern NAMESPACE_QUALIFIED_KEY_NAME = Pattern.compile("^(?!shared_key)(.+)\\.([^.]+)$"); + /** + * Different types of keys in the Atsign Platform + */ public enum KeyType { PUBLIC_KEY, // PublicKey SHARED_KEY, // SharedKey diff --git a/at_client/src/main/java/org/atsign/client/util/KeysUtil.java b/at_client/src/main/java/org/atsign/client/util/KeysUtil.java index 85e112e4..7c80a6a8 100644 --- a/at_client/src/main/java/org/atsign/client/util/KeysUtil.java +++ b/at_client/src/main/java/org/atsign/client/util/KeysUtil.java @@ -20,6 +20,9 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +/** + * Utility class for loading a saving {@link AtKeys} from the file system + */ @Slf4j public class KeysUtil { @@ -27,7 +30,7 @@ public class KeysUtil { private static final ObjectMapper MAPPER = new ObjectMapper(); - private static final TypeReference> STRING_MAP_TYPE = new TypeReference>() {}; + private static final TypeReference> STRING_MAP_TYPE = new TypeReference<>() {}; public static final String ATSIGN_KEYS_DIR = "ATSIGN_KEYS_DIR"; public static final String ATSIGN_KEYS_SUFFIX = "ATSIGN_KEYS_SUFFIX"; @@ -77,7 +80,7 @@ public static AtKeys loadKeys(AtSign atSign) throws AtClientConfigException { public static AtKeys loadKeys(File file) throws AtClientConfigException { try { - return setAtKeysFromJson(new AtKeys(), new String(Files.readAllBytes(file.toPath()), UTF_8)); + return setAtKeysFromJson(new AtKeys(), Files.readString(file.toPath())); } catch (IOException e) { throw new AtClientConfigException("failed to read " + file, e); } diff --git a/at_client/src/main/java/org/atsign/client/util/RegisterUtil.java b/at_client/src/main/java/org/atsign/client/util/RegisterUtil.java index c50aa8d1..12079e52 100644 --- a/at_client/src/main/java/org/atsign/client/util/RegisterUtil.java +++ b/at_client/src/main/java/org/atsign/client/util/RegisterUtil.java @@ -22,6 +22,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; +/** + * Utility class for obtaining a new {@link AtSign} + */ public class RegisterUtil { ObjectMapper objectMapper = new ObjectMapper(); @@ -263,14 +266,6 @@ public String activateAtsignWithSuperApiKey(String registrarUrl, String apiKey, } - /** - * @deprecated method remains for backwards compatibility. will be removed in future minor updates - *

- *

- * This method just calls - * {@link #validateOtp(String, AtSign, String, String, String, Boolean) the new - * validateOtp} with confirmation set to true - */ @Deprecated public String validateOtp(String email, AtSign atsign, String otp, String registrarUrl, String apiKey) throws IOException, AtException { diff --git a/at_client/src/main/java/org/atsign/client/util/StringUtil.java b/at_client/src/main/java/org/atsign/client/util/StringUtil.java index 5b78a3de..f57df034 100644 --- a/at_client/src/main/java/org/atsign/client/util/StringUtil.java +++ b/at_client/src/main/java/org/atsign/client/util/StringUtil.java @@ -1,5 +1,8 @@ package org.atsign.client.util; +/** + * Utility class with static methods for common String operations + */ public class StringUtil { public static boolean isBlank(String s) { diff --git a/at_client/src/main/java/org/atsign/client/util/TypedString.java b/at_client/src/main/java/org/atsign/client/util/TypedString.java index 98d1aa46..31e83071 100644 --- a/at_client/src/main/java/org/atsign/client/util/TypedString.java +++ b/at_client/src/main/java/org/atsign/client/util/TypedString.java @@ -2,6 +2,9 @@ import static org.atsign.client.util.Preconditions.checkNotNull; +/** + * Base class for simple classes have String values + */ public abstract class TypedString { private final String value; diff --git a/at_client/src/main/java/org/atsign/common/ApiCallStatus.java b/at_client/src/main/java/org/atsign/common/ApiCallStatus.java index 6cb9bb27..af18a7f6 100644 --- a/at_client/src/main/java/org/atsign/common/ApiCallStatus.java +++ b/at_client/src/main/java/org/atsign/common/ApiCallStatus.java @@ -1,5 +1,8 @@ package org.atsign.common; +/** + * Registrar API call status + */ public enum ApiCallStatus { success, failure, retry diff --git a/at_client/src/main/java/org/atsign/common/AtException.java b/at_client/src/main/java/org/atsign/common/AtException.java index a3614170..1909fe58 100644 --- a/at_client/src/main/java/org/atsign/common/AtException.java +++ b/at_client/src/main/java/org/atsign/common/AtException.java @@ -1,5 +1,8 @@ package org.atsign.common; +/** + * Base class for all Atsign Platform {@link Exception}s + */ public abstract class AtException extends Exception { public AtException(String message) { super(message); diff --git a/at_client/src/main/java/org/atsign/common/AtSign.java b/at_client/src/main/java/org/atsign/common/AtSign.java index 4a25f47e..a335dfc7 100644 --- a/at_client/src/main/java/org/atsign/common/AtSign.java +++ b/at_client/src/main/java/org/atsign/common/AtSign.java @@ -1,5 +1,8 @@ package org.atsign.common; +/** + * The identity of people, systems and devices in the Atsign Platform + */ public class AtSign { public final String atSign; private final String withoutPrefix; @@ -49,7 +52,7 @@ public int hashCode() { * Returns a formatted atSign * * @param atSignStr e.g. "@bob" - * @return formatted atSign (e.g. "alice " --> "@alice") + * @return formatted atSign (e.g. "alice " {@code -->} "@alice") */ public static String formatAtSign(String atSignStr) { atSignStr = atSignStr.trim(); diff --git a/at_client/src/main/java/org/atsign/common/KeyBuilders.java b/at_client/src/main/java/org/atsign/common/KeyBuilders.java index af7e3d4b..ec36c292 100644 --- a/at_client/src/main/java/org/atsign/common/KeyBuilders.java +++ b/at_client/src/main/java/org/atsign/common/KeyBuilders.java @@ -9,8 +9,15 @@ import org.atsign.common.exceptions.AtInvalidAtKeyException; +/** + * Parent class for key builders + */ @SuppressWarnings({"unused", "UnusedReturnValue"}) public class KeyBuilders { + + /** + * Base interface for builders + */ public interface KeyBuilder { KeyBuilder timeToLive(int ttl); @@ -22,6 +29,10 @@ public interface KeyBuilder { KeyBuilder namespace(String namespace); } + + /** + * Base key builder + */ public static abstract class BaseKeyBuilder { AtKey _atKey; @@ -101,7 +112,9 @@ public CachedKeyBuilder cache(int ttr, boolean ccd) { } } - /// Builder to build the public keys + /** + * Builder for "public keys" in the AtSign Platform + */ public static class PublicKeyBuilder extends CachedKeyBuilder implements KeyBuilder { public PublicKeyBuilder() { this(defaultAtSign); @@ -149,7 +162,9 @@ public PublicKeyBuilder cache(int ttr, boolean ccd) { } } - /// Builder to build the shared keys + /** + * Builder for "shared keys" in the AtSign Platform + */ public static class SharedKeyBuilder extends CachedKeyBuilder implements KeyBuilder { public SharedKeyBuilder(AtSign sharedWith) { this(defaultAtSign, sharedWith); @@ -211,7 +226,9 @@ public void validate() throws AtException { } } - /// Builder to build the Self keys + /** + * Builder for "self keys" in the AtSign Platform + */ public static class SelfKeyBuilder extends BaseKeyBuilder implements KeyBuilder { public SelfKeyBuilder() { this(defaultAtSign); @@ -257,7 +274,9 @@ public SelfKey build() { } } - /// Builder to build the hidden keys + /** + * Builder for "private hidden keys" in the AtSign Platform + */ public static class PrivateHiddenKeyBuilder extends BaseKeyBuilder { public PrivateHiddenKeyBuilder() { this(defaultAtSign); diff --git a/at_client/src/main/java/org/atsign/common/Keys.java b/at_client/src/main/java/org/atsign/common/Keys.java index b7ce3771..723510b3 100644 --- a/at_client/src/main/java/org/atsign/common/Keys.java +++ b/at_client/src/main/java/org/atsign/common/Keys.java @@ -1,6 +1,5 @@ package org.atsign.common; -import java.text.ParseException; import org.atsign.client.api.Secondary; import org.atsign.client.util.KeyStringUtil; @@ -9,10 +8,16 @@ import com.fasterxml.jackson.core.JsonProcessingException; +/** + * Parent class for key classes in the Atsign Platform + */ @SuppressWarnings("unused") public abstract class Keys { public static AtSign defaultAtSign; + /** + * Base class for keys in the Atsign Platform + */ public static abstract class AtKey { public String name; public AtSign sharedWith; @@ -65,7 +70,9 @@ public String toString() { } } - /// Represents a public key. + /** + * Represents a "public key" in the Atsign Platform + */ public static class PublicKey extends AtKey { public PublicKey() { this(defaultAtSign); @@ -79,7 +86,9 @@ public PublicKey(AtSign sharedBy) { } } - /// Represents a Self key. + /** + * Represents a "self key" in the Atsign Platform + */ public static class SelfKey extends AtKey { public SelfKey() { this(defaultAtSign); @@ -98,7 +107,9 @@ public SelfKey(AtSign sharedBy, AtSign sharedWith) { // possibility of `@bob:key } } - /// Represents a key shared to another atSign. + /** + * Represents a "shared key" in the Atsign Platform + */ public static class SharedKey extends AtKey { public SharedKey(AtSign sharedBy, AtSign sharedWith) { super(sharedBy); @@ -138,7 +149,9 @@ public String getSharedSharedKeyName() { } } - // Represents a Private hidden key. + /** + * Represents a "private hidden key" in the Atsign Platform + */ public static class PrivateHiddenKey extends AtKey { public PrivateHiddenKey() { this(defaultAtSign); @@ -155,7 +168,7 @@ public PrivateHiddenKey(AtSign sharedBy) { * * @param fullAtKeyName eg: @bob:phone@alice * @return AtKey object - * @throws AtException + * @throws AtException if key string doesn't match recognized structure */ @SuppressWarnings("JavaDoc") public static AtKey fromString(String fullAtKeyName) throws AtException { @@ -197,15 +210,15 @@ public static AtKey fromString(String fullAtKeyName) throws AtException { } /** - * Generate an AtKey object whose metadata is populated from the given `llookup:meta:` + * Generate an {@link AtKey} whose metadata is populated from the given `llookup:meta:key` * response. * * @param fullAtKeyName The full AtKey name, eg: `@bob:phone@alice` - * @param metadataResponse `llookup:meta:` rawResponse from secondary server - * @return AtKey whose metadata is populated from the llookup:meta: rawResponse from + * @param metadataResponse `llookup:meta:key` rawResponse from secondary server + * @return AtKey whose metadata is populated from the llookup:meta:key rawResponse from * secondary server - * @throws AtException - * @throws ParseException + * @throws AtException if key string doesn't match recognized structure + * @throws JsonProcessingException if metadataResponse is invalid JSON */ @SuppressWarnings("JavaDoc") public static AtKey fromString(String fullAtKeyName, Secondary.Response metadataResponse) diff --git a/at_client/src/main/java/org/atsign/common/Metadata.java b/at_client/src/main/java/org/atsign/common/Metadata.java index f99e353a..f622f432 100644 --- a/at_client/src/main/java/org/atsign/common/Metadata.java +++ b/at_client/src/main/java/org/atsign/common/Metadata.java @@ -15,7 +15,9 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; - +/** + * Data class which models key metadata in the Atsign Platform + */ @JsonIgnoreProperties(ignoreUnknown = true) public class Metadata { static final ObjectMapper mapper = new ObjectMapper(); @@ -240,6 +242,9 @@ public static Metadata squash(Metadata firstMetadata, Metadata secondMetadata) { return metadata; } + /** + * Jackson serializer for DateTime strings + */ @SuppressWarnings("unused") public static class AtStringDateTimeDeserializer extends StdDeserializer { public AtStringDateTimeDeserializer() { diff --git a/at_client/src/main/java/org/atsign/common/NotificationStatus.java b/at_client/src/main/java/org/atsign/common/NotificationStatus.java index 983ecf53..94ae4931 100644 --- a/at_client/src/main/java/org/atsign/common/NotificationStatus.java +++ b/at_client/src/main/java/org/atsign/common/NotificationStatus.java @@ -1,5 +1,8 @@ package org.atsign.common; +/** + * Notification status + */ public enum NotificationStatus { queued, delivered, undelivered, errored } diff --git a/at_client/src/main/java/org/atsign/common/RegisterApiResult.java b/at_client/src/main/java/org/atsign/common/RegisterApiResult.java index 8ab24357..65c0775c 100644 --- a/at_client/src/main/java/org/atsign/common/RegisterApiResult.java +++ b/at_client/src/main/java/org/atsign/common/RegisterApiResult.java @@ -1,11 +1,9 @@ package org.atsign.common; /** - * Stores processed data from Registrar API response + * Registrar API response record * - * @data stores actual information extracted from API response - * @apiCallStatus stores the present status of the API called - * @atException stores the exception captured in case one occured + * @param data type for the response record */ public class RegisterApiResult { diff --git a/at_client/src/main/java/org/atsign/common/RegisterApiTask.java b/at_client/src/main/java/org/atsign/common/RegisterApiTask.java index abb34fc8..62f58dae 100644 --- a/at_client/src/main/java/org/atsign/common/RegisterApiTask.java +++ b/at_client/src/main/java/org/atsign/common/RegisterApiTask.java @@ -7,6 +7,8 @@ /** * Represents a task in an AtSign registration cycle + * + * @param data type that this task returns */ public abstract class RegisterApiTask { @@ -42,11 +44,10 @@ public void init(Map params, RegisterUtil registerUtil) { abstract public V run(); /** - * In case the task has returend an {@link #ApiCallStatus} of retry, this method is called. Re-runs + * In case the task has returned an {@link ApiCallStatus} of retry, this method is called. Re-runs * the task. * - * @return {@link #result} object with necessary information collected in the corresponding retry of - * the API call + * @return true if accumulated retry count is still less than the max retry threshold */ public boolean shouldRetry() { return retryCount < maxRetries; diff --git a/at_client/src/main/java/org/atsign/common/ResponseTransformers.java b/at_client/src/main/java/org/atsign/common/ResponseTransformers.java index 76d9ce56..4bd9c824 100644 --- a/at_client/src/main/java/org/atsign/common/ResponseTransformers.java +++ b/at_client/src/main/java/org/atsign/common/ResponseTransformers.java @@ -1,6 +1,7 @@ package org.atsign.common; import java.util.List; +import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Collectors; @@ -9,16 +10,17 @@ import com.fasterxml.jackson.databind.ObjectMapper; +/** + * Parent class for transformers used to convert {@link Response} into fully decoded class instances + */ @Slf4j public class ResponseTransformers { static final ObjectMapper mapper = new ObjectMapper(); - /// Transforms the data from type T to type V - public interface ResponseTransformer { - V transform(T value); - } - - public static class ScanResponseTransformer implements ResponseTransformer> { + /** + * Transformer for scan command responses + */ + public static class ScanResponseTransformer implements Function> { private final Predicate filter; @@ -31,7 +33,7 @@ public ScanResponseTransformer() { } @Override - public List transform(Response value) { + public List apply(Response value) { if (value.getRawDataResponse() == null || value.getRawDataResponse().isEmpty()) { return null; @@ -48,19 +50,23 @@ public List transform(Response value) { } - public static class NotifyResponseTransformer implements ResponseTransformer { + /** + * Transformer for notify command responses + */ + public static class NotifyResponseTransformer implements Function { @Override - public String transform(Response value) { - throw new RuntimeException("Not Implemented"); + public String apply(Response value) { + throw new UnsupportedOperationException(); } } - - public static class NotificationStatusResponseTransformer - implements ResponseTransformer { + /** + * Transformer for notify (status) command responses + */ + public static class NotificationStatusResponseTransformer implements Function { @Override - public NotificationStatus transform(Response value) { - throw new RuntimeException("Not Implemented"); + public NotificationStatus apply(Response value) { + throw new UnsupportedOperationException(); } } } diff --git a/at_client/src/main/java/org/atsign/common/VerbBuilders.java b/at_client/src/main/java/org/atsign/common/VerbBuilders.java index bd26a218..a585c8b1 100644 --- a/at_client/src/main/java/org/atsign/common/VerbBuilders.java +++ b/at_client/src/main/java/org/atsign/common/VerbBuilders.java @@ -8,16 +8,23 @@ /** * - * Contains builders that build commands that are accepted by a secondary server + * Parent class for builders that build commands that are accepted by a secondary server * */ public class VerbBuilders { + /** + * Base command interface + */ public interface VerbBuilder { /// Build the command to be sent to remote secondary for execution. String build(); } + /** + * Atsign Platform from command builder. + * This initiates authentication + */ public static class FromVerbBuilder implements VerbBuilder { // the atSign that we are authenticating with (e.g. atSignStr.equals("@alice") <=> true) [required] private String atSignStr; @@ -36,6 +43,9 @@ public String build() { } } + /** + * Atsign Platform cram (Challenge Response Authentication Management) command builder + */ public static class CRAMVerbBuilder implements VerbBuilder { // chlallenge response authentication method @@ -53,16 +63,20 @@ public String build() { } } + /** + * Atsign Platform pol (Proof of Life) command builder + */ public static class POLVerbBuilder implements VerbBuilder { - // proof of life - @Override public String build() { return "pol"; } } + /** + * Atsign Platform pkam (Public Key Authentication Management) command builder + */ public static class PKAMVerbBuilder implements VerbBuilder { // public key authentication method @@ -81,6 +95,9 @@ public String build() { } + /** + * Atsign Platform update command builder + */ public static class UpdateVerbBuilder implements VerbBuilder { /// Update the value (and metadata optionally) of a key. @@ -255,8 +272,16 @@ private String buildMetadataStr() { } + /** + * Atsign Platform llookup (Local lookup) command builder. + * Used when key is "owned" by the {@link AtSign} sending the command + */ + public static class LlookupVerbBuilder implements VerbBuilder { + /** + * Builder argument which controls the scope of the lookup command + */ public enum Type { NONE, // llookup: METADATA, // llookup:meta: @@ -348,12 +373,15 @@ public String build() { } + /** + * Atsign Platform lookup command builder. + * Used when key shared with the {@link AtSign} sending the command. + */ public static class LookupVerbBuilder implements VerbBuilder { - // look up a key shared with you in another atSign's secondary - // the sender atSign (other person) is the sharedBy atSign, while you are the sharedWith atSign. - - // Type of Lookup + /** + * Builder argument which controls the scope of the lookup command + */ public enum Type { NONE, // lookup: METADATA, // lookup:meta: @@ -405,12 +433,15 @@ public String build() { } } + /** + * Atsign Platform plookup (public lookup) command builder. + * Used when key is a public key owned by an {@link AtSign} other than the one sending the command. + */ public static class PlookupVerbBuilder implements VerbBuilder { - // look up a public key in another atSign's secondary - // e.g. "plookup:publickey@bob" will return the data of the key "public:publickey@bob" in @bob's secondary server (you are @alice, @bob is not you) - - // Type of plookup + /** + * Builder argument which controls the scope of the lookup command + */ public enum Type { NONE, // just get the data METADATA, // get the metadata but no data (plookup:meta:) @@ -474,6 +505,10 @@ public String build() { } + /** + * Atsign Platform delete command builder. + * Used to delete a key owned by the {@link AtSign} sending the command. + */ public static class DeleteVerbBuilder implements VerbBuilder { private String key; // e.g. "test", "location", "email" [required] @@ -544,6 +579,10 @@ public String build() { } + /** + * Atsign Platform scan command builder. + * Used to list all the keys visible to the {@link AtSign} sending the command. + */ public static class ScanVerbBuilder implements VerbBuilder { // Regex to filter the keys @@ -588,7 +627,10 @@ public String build() { } } - public static class NotifyTextVerbBuilder implements VerbBuilder { + /** + * Atsign Platform notify command builder. + */ + public static class NotifyTextVerbBuilder implements VerbBuilders.VerbBuilder { //notify:((?update|delete):)?(messageType:(?key|text):)?(priority:(?low|medium|high):)?(strategy:(?all|latest):)?(latestN:(?\d+):)?(notifier:(?[^\s:]+):)?(ttln:(?\d+):)?(ttl:(?\d+):)?(ttb:(?\d+):)?(ttr:(?(-)?\d+):)?(ccd:(?true|false):)?(@(?[^@:\s]*)):(?[^:@]((?!:{2})[^@])+)(@(?[^@:\s]+))?(:(?.+))?$ private String recipientAtSign; @@ -623,7 +665,10 @@ public String build() { } } - public static class NotifyKeyChangeBuilder implements VerbBuilder { + /** + * Atsign Platform notify command builder. + */ + public static class NotifyKeyChangeBuilder implements VerbBuilders.VerbBuilder { // Only allowed values are "update" or "delete" private String operation = "update"; @@ -729,7 +774,10 @@ public String build() { } } - public static class NotificationStatusVerbBuilder implements VerbBuilder { + /** + * Atsign Platform notify command builder. + */ + public static class NotificationStatusVerbBuilder implements VerbBuilders.VerbBuilder { private String notificationId; @@ -747,4 +795,5 @@ public String build() { return "notify:status:" + notificationId; } } + } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtBlockedConnectionException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtBlockedConnectionException.java index 59f07659..8a9c9ef8 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtBlockedConnectionException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtBlockedConnectionException.java @@ -3,9 +3,12 @@ import org.atsign.common.AtException; /** - * + * This will occur when a blocked user tries to connect to the atServer. */ public class AtBlockedConnectionException extends AtException { + + public static final String CODE = "AT0013"; + public AtBlockedConnectionException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtBufferOverFlowException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtBufferOverFlowException.java index 55240a68..e8ee9f76 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtBufferOverFlowException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtBufferOverFlowException.java @@ -3,9 +3,13 @@ import org.atsign.common.AtException; /** - * + * This exception occurs when input/output message size reaches the maximum limit configured in the + * server. */ public class AtBufferOverFlowException extends AtException { + + public static final String CODE = "AT0005"; + public AtBufferOverFlowException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtClientConfigException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtClientConfigException.java index 947a04f9..fe9250af 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtClientConfigException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtClientConfigException.java @@ -3,7 +3,8 @@ import org.atsign.common.AtException; /** - * + * Occurs when configuration required to create an {@link org.atsign.client.api.AtClient} is + * incorrect or missing */ public class AtClientConfigException extends AtException { public AtClientConfigException(String message) { diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtDecryptionException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtDecryptionException.java index 8121dc3b..c7e76a8d 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtDecryptionException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtDecryptionException.java @@ -2,6 +2,9 @@ import org.atsign.common.AtException; +/** + * Occurs when attempt to decrypt fails + */ public class AtDecryptionException extends AtException { public AtDecryptionException(String message, Throwable cause) { super(message, cause); diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtEncryptionException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtEncryptionException.java index d09c74cd..7855eec2 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtEncryptionException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtEncryptionException.java @@ -2,6 +2,9 @@ import org.atsign.common.AtException; +/** + * Occurs when attempt to encrypt fails + */ public class AtEncryptionException extends AtException { public AtEncryptionException(String message) { super(message); diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtHandShakeException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtHandShakeException.java index 69c94ed3..ac1fa11b 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtHandShakeException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtHandShakeException.java @@ -3,9 +3,12 @@ import org.atsign.common.AtException; /** - * + * This exception is for any exception during the handshake process of two atServers. */ public class AtHandShakeException extends AtException { + + public static final String CODE = "AT0008"; + public AtHandShakeException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtIllegalArgumentException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtIllegalArgumentException.java index 2b774135..a1719c89 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtIllegalArgumentException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtIllegalArgumentException.java @@ -3,9 +3,12 @@ import org.atsign.common.AtException; /** - * + * Occurs when command argument provided is invalid */ public class AtIllegalArgumentException extends AtException { + + public static final String CODE = "AT0022"; + public AtIllegalArgumentException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtInboundConnectionLimitException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtInboundConnectionLimitException.java index 9242ce53..c8fd1bdd 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtInboundConnectionLimitException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtInboundConnectionLimitException.java @@ -2,7 +2,13 @@ import org.atsign.common.AtException; +/** + * This exception will occur when the number of active clients reaches the maximum limit configured. + */ public class AtInboundConnectionLimitException extends AtException { + + public static final String CODE = "AT0012"; + public AtInboundConnectionLimitException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtInternalServerError.java b/at_client/src/main/java/org/atsign/common/exceptions/AtInternalServerError.java index b77dad1d..f82d383b 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtInternalServerError.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtInternalServerError.java @@ -3,9 +3,12 @@ import org.atsign.common.AtException; /** - * + * This is for any server related errors. */ public class AtInternalServerError extends AtException { + + public static final String CODE = "AT0010"; + public AtInternalServerError(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtInternalServerException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtInternalServerException.java index bda70b67..1e36b55a 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtInternalServerException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtInternalServerException.java @@ -3,9 +3,12 @@ import org.atsign.common.AtException; /** - * + * This exception is used for any server related exceptions. */ public class AtInternalServerException extends AtException { + + public static final String CODE = "AT0011"; + public AtInternalServerException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtInvalidAtKeyException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtInvalidAtKeyException.java index d61293a7..0fd5a695 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtInvalidAtKeyException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtInvalidAtKeyException.java @@ -3,9 +3,12 @@ import org.atsign.common.AtException; /** - * + * Occurs when AtKey string is null, the wrong format or contains unsupported characters */ public class AtInvalidAtKeyException extends AtException { + + public static final String CODE = "AT0016"; + public AtInvalidAtKeyException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtInvalidSyntaxException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtInvalidSyntaxException.java index be961fbe..2092b317 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtInvalidSyntaxException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtInvalidSyntaxException.java @@ -3,9 +3,12 @@ import org.atsign.common.AtException; /** - * + * Exception occurs if we give any invalid command to the server. */ public class AtInvalidSyntaxException extends AtException { + + public static final String CODE = "AT0003"; + public AtInvalidSyntaxException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtKeyNotFoundException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtKeyNotFoundException.java index 356a76eb..7f313a90 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtKeyNotFoundException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtKeyNotFoundException.java @@ -3,9 +3,12 @@ import org.atsign.common.AtException; /** - * + * This exception will be thrown when the key is not available for encryption/decryption. */ public class AtKeyNotFoundException extends AtException { + + public static final String CODE = "AT0015"; + public AtKeyNotFoundException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtNewErrorCodeWhoDisException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtNewErrorCodeWhoDisException.java index c3e17e32..b9664763 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtNewErrorCodeWhoDisException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtNewErrorCodeWhoDisException.java @@ -2,6 +2,9 @@ import org.atsign.common.AtException; +/** + * Server exception with unrecognized error code + */ public class AtNewErrorCodeWhoDisException extends AtException { public AtNewErrorCodeWhoDisException(String errorCode, String message) { super(errorCode + ":" + message); diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtNotYetImplementedException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtNotYetImplementedException.java deleted file mode 100644 index 6ae9650f..00000000 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtNotYetImplementedException.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.atsign.common.exceptions; - -import org.atsign.common.AtException; - -/** - * - */ -public class AtNotYetImplementedException extends AtException { - public AtNotYetImplementedException(String message) { - super(message); - } -} diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtOutboundConnectionLimitException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtOutboundConnectionLimitException.java index ee875f2c..9f7a926f 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtOutboundConnectionLimitException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtOutboundConnectionLimitException.java @@ -3,9 +3,13 @@ import org.atsign.common.AtException; /** - * + * Exception occurs when the number of open connections to other atServers reaches the maximum limit + * configured. */ public class AtOutboundConnectionLimitException extends AtException { + + public static final String CODE = "AT0006"; + public AtOutboundConnectionLimitException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtRegistrarException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtRegistrarException.java index 22af5c49..00dd2d08 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtRegistrarException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtRegistrarException.java @@ -2,7 +2,11 @@ import org.atsign.common.AtException; +/** + * Occurs if there is an exception during registration + */ public class AtRegistrarException extends AtException { + public AtRegistrarException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtResponseHandlingException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtResponseHandlingException.java index 4f93dbc6..4f34df3c 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtResponseHandlingException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtResponseHandlingException.java @@ -2,7 +2,11 @@ import org.atsign.common.AtException; +/** + * Occurs if response from {@link org.atsign.client.api.Secondary} cannot be decoded + */ public class AtResponseHandlingException extends AtException { + public AtResponseHandlingException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtSecondaryConnectException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtSecondaryConnectException.java index 5cd1d4fa..50658ff9 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtSecondaryConnectException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtSecondaryConnectException.java @@ -3,9 +3,12 @@ import org.atsign.common.AtException; /** - * + * This exception will occur when we are unable to connect to an atServer. */ public class AtSecondaryConnectException extends AtException { + + public static final String CODE = "AT0021"; + public AtSecondaryConnectException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtSecondaryNotFoundException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtSecondaryNotFoundException.java index 8d29147c..64ae9b55 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtSecondaryNotFoundException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtSecondaryNotFoundException.java @@ -3,9 +3,14 @@ import org.atsign.common.AtException; /** - * + * Exception occurs when an atServer tries to connect to another atServer which is not available in + * the + * atDirectory or not yet instantiated. */ public class AtSecondaryNotFoundException extends AtException { + + public static final String CODE = "AT0007"; + public AtSecondaryNotFoundException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtServerIsPausedException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtServerIsPausedException.java index 169abed6..903438cc 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtServerIsPausedException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtServerIsPausedException.java @@ -3,9 +3,12 @@ import org.atsign.common.AtException; /** - * + * Occurs when {@link org.atsign.client.api.Secondary} has been paused */ public class AtServerIsPausedException extends AtException { + + public static final String CODE = "AT0024"; + public AtServerIsPausedException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtServerRuntimeException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtServerRuntimeException.java index e52edd8b..c190512f 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtServerRuntimeException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtServerRuntimeException.java @@ -3,9 +3,12 @@ import org.atsign.common.AtException; /** - * + * Exception occurs when there is an issue while starting the server. */ public class AtServerRuntimeException extends AtException { + + public static final String CODE = "AT0001"; + public AtServerRuntimeException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtTimeoutException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtTimeoutException.java index c84959a6..370a2d1a 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtTimeoutException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtTimeoutException.java @@ -3,9 +3,12 @@ import org.atsign.common.AtException; /** - * + * Exception occurs when there is a timeout in the server. */ public class AtTimeoutException extends AtException { + + public static final String CODE = "AT0023"; + public AtTimeoutException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtUnauthenticatedException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtUnauthenticatedException.java index ee3371cb..a8e294d3 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtUnauthenticatedException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtUnauthenticatedException.java @@ -3,9 +3,14 @@ import org.atsign.common.AtException; /** - * + * This exception occurs when client authentication fails or client tries to execute any verb which + * needs + * authentication. */ public class AtUnauthenticatedException extends AtException { + + public static final String CODE = "AT0401"; + public AtUnauthenticatedException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtUnauthorizedException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtUnauthorizedException.java index d343a523..7da9332e 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtUnauthorizedException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtUnauthorizedException.java @@ -3,9 +3,12 @@ import org.atsign.common.AtException; /** - * + * Will occur when an unsuccessful handshake happens between two atServers. */ public class AtUnauthorizedException extends AtException { + + public static final String CODE = "AT0009"; + public AtUnauthorizedException(String message) { super(message); } diff --git a/at_client/src/main/java/org/atsign/common/exceptions/AtUnknownResponseException.java b/at_client/src/main/java/org/atsign/common/exceptions/AtUnknownResponseException.java index 024c8311..9de86de1 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/AtUnknownResponseException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/AtUnknownResponseException.java @@ -2,6 +2,10 @@ import org.atsign.common.AtException; +/** + * Occurs if response from {@link org.atsign.client.api.Secondary} does not have a recognized + * structure + */ public class AtUnknownResponseException extends AtException { public AtUnknownResponseException(String message) { super(message); diff --git a/at_client/src/main/java/org/atsign/common/exceptions/MalformedKeyException.java b/at_client/src/main/java/org/atsign/common/exceptions/MalformedKeyException.java index f5280776..95a1f6d9 100644 --- a/at_client/src/main/java/org/atsign/common/exceptions/MalformedKeyException.java +++ b/at_client/src/main/java/org/atsign/common/exceptions/MalformedKeyException.java @@ -3,7 +3,7 @@ import org.atsign.common.AtException; /** - * + * Occurs if AtKey string cannot be decoded */ public class MalformedKeyException extends AtException { public MalformedKeyException(String message) { diff --git a/at_client/src/main/java/org/atsign/common/exceptions/RemoteLookupException.java b/at_client/src/main/java/org/atsign/common/exceptions/RemoteLookupException.java deleted file mode 100644 index e9cf40aa..00000000 --- a/at_client/src/main/java/org/atsign/common/exceptions/RemoteLookupException.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.atsign.common.exceptions; - -import org.atsign.common.AtException; - -/** - * - */ -public class RemoteLookupException extends AtException { - public RemoteLookupException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/at_client/src/main/java/org/atsign/common/options/GetRequestOptions.java b/at_client/src/main/java/org/atsign/common/options/GetRequestOptions.java index d56e500a..7e21adef 100644 --- a/at_client/src/main/java/org/atsign/common/options/GetRequestOptions.java +++ b/at_client/src/main/java/org/atsign/common/options/GetRequestOptions.java @@ -1,5 +1,9 @@ package org.atsign.common.options; + +/** + * Data class used to model options to the {@link org.atsign.client.api.AtClient} get methods + */ public class GetRequestOptions extends RequestOptions { private boolean bypassCache; diff --git a/at_client/src/main/java/org/atsign/common/options/RequestOptions.java b/at_client/src/main/java/org/atsign/common/options/RequestOptions.java index e135ba92..890b967d 100644 --- a/at_client/src/main/java/org/atsign/common/options/RequestOptions.java +++ b/at_client/src/main/java/org/atsign/common/options/RequestOptions.java @@ -1,5 +1,8 @@ package org.atsign.common.options; +/** + * Base class for options used in {@link org.atsign.client.api.AtClient} methods + */ public abstract class RequestOptions { public abstract RequestOptions build(); } diff --git a/at_client/src/main/java/org/atsign/common/response_models/LookupResponse.java b/at_client/src/main/java/org/atsign/common/response_models/LookupResponse.java index 511d4d94..7a354baf 100644 --- a/at_client/src/main/java/org/atsign/common/response_models/LookupResponse.java +++ b/at_client/src/main/java/org/atsign/common/response_models/LookupResponse.java @@ -4,6 +4,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; +/** + * Data class used to hold a response to lookup, llookup or plookup commands + */ public class LookupResponse { @JsonProperty diff --git a/at_client/src/test/java/org/atsign/common/DateUtilTest.java b/at_client/src/test/java/org/atsign/common/DateUtilTest.java deleted file mode 100644 index c127a6da..00000000 --- a/at_client/src/test/java/org/atsign/common/DateUtilTest.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.atsign.common; - -import java.text.ParseException; -import java.time.Month; -import java.time.OffsetDateTime; - -import org.atsign.client.util.DateUtil; -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -public class DateUtilTest { - - @Test - public void test1() throws ParseException { - String DATE_STR = "2022-06-18 21:27:26.875Z"; - OffsetDateTime odt; - - odt = DateUtil.parse(DATE_STR); - - assertEquals("2022-06-18T21:27:26.875Z", odt.toString()); - assertEquals(2022, odt.getYear()); - assertEquals(Month.JUNE, odt.getMonth()); - assertEquals(18, odt.getDayOfMonth()); - } - -} diff --git a/at_shell/src/main/java/org/atsign/client/cli/REPL.java b/at_shell/src/main/java/org/atsign/client/cli/REPL.java index 0e066e5c..90d4f4d1 100644 --- a/at_shell/src/main/java/org/atsign/client/cli/REPL.java +++ b/at_shell/src/main/java/org/atsign/client/cli/REPL.java @@ -22,7 +22,6 @@ import org.atsign.common.Keys.SharedKey; import org.atsign.common.exceptions.AtIllegalArgumentException; import org.atsign.common.exceptions.AtInvalidSyntaxException; -import org.atsign.common.exceptions.AtNotYetImplementedException; import org.fusesource.jansi.Ansi; import org.fusesource.jansi.AnsiConsole; @@ -116,7 +115,7 @@ public void repl() throws AtException { String value = client.get(sk).get(); System.out.println(" => \033[31m" + value + "\033[0m"); } else if (keyType.equals(KeyStringUtil.KeyType.PRIVATE_HIDDEN_KEY)) { - throw new AtNotYetImplementedException("PrivateHiddenKey is not implemented yet"); + throw new UnsupportedOperationException("PrivateHiddenKey is not implemented yet"); } else { throw new AtInvalidSyntaxException("Could not evaluate the key type of: " + fullKeyName); } @@ -138,7 +137,7 @@ public void repl() throws AtException { String data = client.put(sk, value).get(); System.out.println(" => \033[31m" + data + "\033[0m"); } else if (keyType.equals(KeyStringUtil.KeyType.PRIVATE_HIDDEN_KEY)) { - throw new AtNotYetImplementedException("PrivateHiddenKey is not implemented yet"); + throw new UnsupportedOperationException("PrivateHiddenKey is not implemented yet"); } else { throw new AtIllegalArgumentException("Could not evaluate the key type of: " + fullKeyName); } @@ -166,7 +165,7 @@ public void repl() throws AtException { String data = client.delete(sk).get(); System.out.println(" => \033[31m" + data + "\033[0m"); } else if (keyType.equals(KeyStringUtil.KeyType.PRIVATE_HIDDEN_KEY)) { - throw new AtNotYetImplementedException("PrivateHiddenKey is not implemented yet"); + throw new UnsupportedOperationException("PrivateHiddenKey is not implemented yet"); } else { throw new AtIllegalArgumentException("Could not evaluate the key type of: " + fullKeyName); } @@ -195,7 +194,7 @@ void writePrompt() { System.out.print(ansi().bold().fg(Ansi.Color.MAGENTA).a(client.getAtSign() + "@ ").reset()); } - public static class REPLEventListener implements AtEvents.AtEventListener { + private static class REPLEventListener implements AtEvents.AtEventListener { private final AtClient client; void writePrompt() { diff --git a/at_client/src/main/java/org/atsign/client/util/DateUtil.java b/at_utils/src/main/java/org/atsign/client/util/DateUtil.java similarity index 96% rename from at_client/src/main/java/org/atsign/client/util/DateUtil.java rename to at_utils/src/main/java/org/atsign/client/util/DateUtil.java index 5b23982f..c35f2960 100644 --- a/at_client/src/main/java/org/atsign/client/util/DateUtil.java +++ b/at_utils/src/main/java/org/atsign/client/util/DateUtil.java @@ -8,6 +8,9 @@ import java.util.Date; import java.util.TimeZone; +/** + * Utility class + */ public class DateUtil { public static OffsetDateTime parse(String rawDateStr) throws ParseException { diff --git a/at_client/src/main/java/org/atsign/client/util/FileUtil.java b/at_utils/src/main/java/org/atsign/client/util/FileUtil.java similarity index 87% rename from at_client/src/main/java/org/atsign/client/util/FileUtil.java rename to at_utils/src/main/java/org/atsign/client/util/FileUtil.java index 86fbbdae..ed3f0e0c 100644 --- a/at_client/src/main/java/org/atsign/client/util/FileUtil.java +++ b/at_utils/src/main/java/org/atsign/client/util/FileUtil.java @@ -2,6 +2,9 @@ import java.io.*; +/** + * Utility class + */ public class FileUtil { // This method converts a file to a byte array and returns the byte array @@ -14,7 +17,7 @@ public static byte[] convert(File file) throws IOException { } // This method converts a byte array to a file and returns the file - public static File convert(byte data[], String fileName) throws IOException { + public static File convert(byte[] data, String fileName) throws IOException { File file = new File(fileName); OutputStream os = new FileOutputStream(file); os.write(data); diff --git a/at_client/src/main/java/org/atsign/client/util/ImageUtil.java b/at_utils/src/main/java/org/atsign/client/util/ImageUtil.java similarity index 100% rename from at_client/src/main/java/org/atsign/client/util/ImageUtil.java rename to at_utils/src/main/java/org/atsign/client/util/ImageUtil.java diff --git a/config/checkstyle.xml b/config/checkstyle.xml index dd8fb323..d11e68b0 100644 --- a/config/checkstyle.xml +++ b/config/checkstyle.xml @@ -48,5 +48,19 @@ + + + + + + + + + + + + + + diff --git a/examples/src/main/java/org/atsign/examples/SelfKeyDeleteExample.java b/examples/src/main/java/org/atsign/examples/SelfKeyDeleteExample.java index 59859668..efb0d508 100644 --- a/examples/src/main/java/org/atsign/examples/SelfKeyDeleteExample.java +++ b/examples/src/main/java/org/atsign/examples/SelfKeyDeleteExample.java @@ -1,7 +1,6 @@ package org.atsign.examples; import java.io.IOException; -import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; import org.atsign.client.api.AtClient; diff --git a/pom.xml b/pom.xml index 0236459e..afa03abc 100644 --- a/pom.xml +++ b/pom.xml @@ -228,11 +228,6 @@ jar - - false - -Xdoclint:none - true -