diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/ChatCommunicationManager.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/ChatCommunicationManager.java index f684215e..0771d961 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/ChatCommunicationManager.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/ChatCommunicationManager.java @@ -7,21 +7,21 @@ import software.aws.toolkits.eclipse.amazonq.util.PluginLogger; import software.aws.toolkits.eclipse.amazonq.views.model.Command; -public class ChatCommunicationManager { - +public final class ChatCommunicationManager { + private final JsonHandler jsonHandler; private final ChatMessageProvider chatMessageProivder; - + public ChatCommunicationManager() { this.jsonHandler = new JsonHandler(); this.chatMessageProivder = new ChatMessageProvider(); } - public void sendMessageToChatServerAsync(Command command, Object params) { - + public void sendMessageToChatServerAsync(final Command command, final Object params) { + String jsonParams = jsonHandler.serialize(params); - - switch(command) { + + switch (command) { case CHAT_TAB_ADD: GenericTabParams tabParams = jsonHandler.deserialize(jsonParams, GenericTabParams.class); chatMessageProivder.sendTabAdd(tabParams); diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/ChatMessageProvider.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/ChatMessageProvider.java index 11cf3ef5..9a663fa6 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/ChatMessageProvider.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/ChatMessageProvider.java @@ -10,10 +10,10 @@ import software.aws.toolkits.eclipse.amazonq.util.PluginLogger; import software.aws.toolkits.eclipse.amazonq.views.model.Command; -public class ChatMessageProvider { - +public final class ChatMessageProvider { + private AmazonQLspServer amazonQLspServer; - + public ChatMessageProvider() { try { amazonQLspServer = LspProvider.getAmazonQServer().get(); @@ -21,8 +21,8 @@ public ChatMessageProvider() { PluginLogger.error("Error occurred while retrieving Amazon Q LSP server. Failed to instantiate ChatMessageProvider."); } } - - public void sendTabAdd(GenericTabParams tabParams) { + + public void sendTabAdd(final GenericTabParams tabParams) { try { PluginLogger.info("Sending " + Command.CHAT_TAB_ADD + " message to Amazon Q LSP server"); amazonQLspServer.tabAdd(tabParams).get(); diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatItemAction.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatItemAction.java index 6f2a354d..77f088d3 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatItemAction.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatItemAction.java @@ -10,4 +10,5 @@ public record ChatItemAction( @JsonProperty("disabled") Boolean disabled, @JsonProperty("description") String description, @JsonProperty("type") String type -){}; \ No newline at end of file +) { }; + diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatPrompt.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatPrompt.java index 2142efa1..b4480a39 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatPrompt.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatPrompt.java @@ -4,8 +4,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; -public record ChatPrompt ( +public record ChatPrompt( @JsonProperty("prompt") String prompt, @JsonProperty("escapedPrompt") String escapedPrompt, @JsonProperty("command") String command -) {} +) { } diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatRequestParams.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatRequestParams.java index a1361bd6..89d50f74 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatRequestParams.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatRequestParams.java @@ -4,7 +4,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; -public record ChatRequestParams ( +public record ChatRequestParams( @JsonProperty("tabId") String tabId, @JsonProperty("prompt") ChatPrompt prompt -) {} +) { } + diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatResult.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatResult.java index a8b8594b..632a9ff3 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatResult.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ChatResult.java @@ -4,11 +4,11 @@ import com.fasterxml.jackson.annotation.JsonProperty; -public record ChatResult ( +public record ChatResult( @JsonProperty("body") String body, @JsonProperty("messageId") String messageId, @JsonProperty("canBeVoted") Boolean canBeVoted, @JsonProperty("relatedContent") RelatedContent relatedContent, @JsonProperty("followUp") FollowUp followUp, @JsonProperty("codeReference") ReferenceTrackerInformation[] codeReference -) {}; +) { }; diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/FollowUp.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/FollowUp.java index b4b1d4c7..dac71998 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/FollowUp.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/FollowUp.java @@ -7,4 +7,5 @@ public record FollowUp( @JsonProperty("text") String text, @JsonProperty("options") ChatItemAction[] options -){} +) { } + diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/GenericTabParams.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/GenericTabParams.java index f5ed9049..3455a73f 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/GenericTabParams.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/GenericTabParams.java @@ -6,4 +6,5 @@ public record GenericTabParams( @JsonProperty("tabId") String tabId -) {} +) { } + diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/RecommendationContentSpan.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/RecommendationContentSpan.java index b6350343..ede5bd47 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/RecommendationContentSpan.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/RecommendationContentSpan.java @@ -7,4 +7,4 @@ public record RecommendationContentSpan( @JsonProperty("start") Integer start, @JsonProperty("end") Integer end -){}; \ No newline at end of file +) { }; diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ReferenceTrackerInformation.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ReferenceTrackerInformation.java index 312095ec..3996e9a2 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ReferenceTrackerInformation.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/ReferenceTrackerInformation.java @@ -10,4 +10,4 @@ public record ReferenceTrackerInformation( @JsonProperty("url") String url, @JsonProperty("recommendationContentSpan") RecommendationContentSpan recommendationContentSpan, @JsonProperty("information") String information -){}; \ No newline at end of file +) { }; diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/RelatedContent.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/RelatedContent.java index 9523ae73..a6cb61b9 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/RelatedContent.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/RelatedContent.java @@ -7,4 +7,4 @@ public record RelatedContent( @JsonProperty("title") String title, @JsonProperty("content") SourceLink[] content -){} +) { } diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/SourceLink.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/SourceLink.java index 52de0718..5b1be756 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/SourceLink.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/chat/models/SourceLink.java @@ -8,4 +8,4 @@ public record SourceLink( @JsonProperty("title") String title, @JsonProperty("url") String url, @JsonProperty("body") String body -){}; +) { }; diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/lsp/AmazonQLspServer.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/lsp/AmazonQLspServer.java index 323506a1..d152aaea 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/lsp/AmazonQLspServer.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/lsp/AmazonQLspServer.java @@ -19,7 +19,7 @@ public interface AmazonQLspServer extends LanguageServer { @JsonRequest("aws/textDocument/inlineCompletionWithReferences") CompletableFuture inlineCompletionWithReferences(InlineCompletionParams params); - + @JsonNotification("aws/chat/tabAdd") CompletableFuture tabAdd(GenericTabParams params); diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/util/JsonHandler.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/util/JsonHandler.java index 0cbb347a..cf9bbf27 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/util/JsonHandler.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/util/JsonHandler.java @@ -5,14 +5,14 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -public class JsonHandler { +public final class JsonHandler { private final ObjectMapper objectMapper; - + public JsonHandler() { this.objectMapper = ObjectMapperFactory.getInstance(); } - - public String serialize(Object obj) { + + public String serialize(final Object obj) { String serializedObj = null; try { serializedObj = objectMapper.writeValueAsString(obj); @@ -22,13 +22,13 @@ public String serialize(Object obj) { } return serializedObj; } - - public T deserialize(String jsonString, Class cls) { + + public T deserialize(final String jsonString, final Class cls) { try { T params = objectMapper.readValue(jsonString, cls); return params; } catch (JsonProcessingException e) { - PluginLogger.error("Error occurred while deserializing jsonString: " + jsonString ,e); + PluginLogger.error("Error occurred while deserializing jsonString: " + jsonString, e); } return null; } diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQChatViewActionHandler.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQChatViewActionHandler.java index d867b72f..9a87fc40 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQChatViewActionHandler.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQChatViewActionHandler.java @@ -11,19 +11,19 @@ import software.aws.toolkits.eclipse.amazonq.views.model.ParsedCommand; public class AmazonQChatViewActionHandler implements ViewActionHandler { - ChatCommunicationManager chatCommunicationManager; - + private ChatCommunicationManager chatCommunicationManager; + public AmazonQChatViewActionHandler() { chatCommunicationManager = new ChatCommunicationManager(); } - + @Override - public final void handleCommand(ParsedCommand parsedCommand, final Browser browser) { + public final void handleCommand(final ParsedCommand parsedCommand, final Browser browser) { Command command = parsedCommand.getCommand(); Object params = parsedCommand.getParams(); - + PluginLogger.info(command + " being processed by ActionHandler"); - + switch (command) { case CHAT_READY: break; diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/LoginViewCommandParser.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/LoginViewCommandParser.java index 6dd1c8c9..e8a57af1 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/LoginViewCommandParser.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/LoginViewCommandParser.java @@ -27,11 +27,11 @@ public final Optional parseCommand(final Object[] arguments) { try { CommandRequest commandRequest = objectMapper.readValue(jsonString, CommandRequest.class); ParsedCommand parsedCommand = commandRequest.getParsedCommand(); - + if (parsedCommand.getCommand() == null) { return Optional.empty(); } - + return Optional.ofNullable(parsedCommand); } catch (JsonProcessingException e) { PluginLogger.error("Error parsing webview command JSON: " + e.getMessage()); diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/model/Command.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/model/Command.java index 8e62e7b2..6f0a6183 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/model/Command.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/model/Command.java @@ -32,7 +32,7 @@ public static Optional fromString(final String value) { PluginLogger.info("Unregistered command parsed: " + value); return Optional.empty(); } - + public String toString() { return commandString; } diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/model/CommandRequest.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/model/CommandRequest.java index 3bc1ad85..64e4ace1 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/model/CommandRequest.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/model/CommandRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; public record CommandRequest( - @JsonProperty("command") String commandString, - @JsonProperty("params") Object params) - { + @JsonProperty("command") String commandString, + @JsonProperty("params") Object params) { + public ParsedCommand getParsedCommand() { Command command = Command.fromString(commandString).orElse(null); ParsedCommand parsedCommand = new ParsedCommand(command, params); diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/model/ParsedCommand.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/model/ParsedCommand.java index 24aed43c..2ea4a1d7 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/model/ParsedCommand.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/model/ParsedCommand.java @@ -7,7 +7,7 @@ public class ParsedCommand { private final Command command; private final Object params; - public ParsedCommand(Command command, Object params) { + public ParsedCommand(final Command command, final Object params) { this.command = command; this.params = params; }