Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions backend/common/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ dependencies {
testImplementation platform('org.junit:junit-bom:5.10.0')
testImplementation 'org.junit.jupiter:junit-jupiter'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
implementation 'org.jline:jline:3.27.1'
compileOnly 'org.projectlombok:lombok:1.18.34'
annotationProcessor 'org.projectlombok:lombok:1.18.34'
}

test {
Expand Down
85 changes: 85 additions & 0 deletions backend/common/src/main/java/console/ConsoleReader.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
package console;

import console.command.CommandDispatcher;
import lombok.Getter;
import lombok.Setter;
import org.jline.reader.EndOfFileException;
import org.jline.reader.LineReader;
import org.jline.reader.LineReaderBuilder;
import org.jline.reader.UserInterruptException;
import org.jline.reader.impl.completer.StringsCompleter;
import org.jline.terminal.Terminal;
import org.jline.terminal.TerminalBuilder;

import java.io.IOException;

Check warning on line 14 in backend/common/src/main/java/console/ConsoleReader.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/ConsoleReader.java#L14 <com.puppycrawl.tools.checkstyle.checks.imports.CustomImportOrderCheck>

Extra separation in import group before 'java.io.IOException'
Raw output
/github/workspace/./backend/common/src/main/java/console/ConsoleReader.java:14:1: warning: Extra separation in import group before 'java.io.IOException' (com.puppycrawl.tools.checkstyle.checks.imports.CustomImportOrderCheck)

Check warning on line 14 in backend/common/src/main/java/console/ConsoleReader.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/ConsoleReader.java#L14 <com.puppycrawl.tools.checkstyle.checks.imports.CustomImportOrderCheck>

Wrong lexicographical order for 'java.io.IOException' import. Should be before 'org.jline.terminal.TerminalBuilder'.
Raw output
/github/workspace/./backend/common/src/main/java/console/ConsoleReader.java:14:1: warning: Wrong lexicographical order for 'java.io.IOException' import. Should be before 'org.jline.terminal.TerminalBuilder'. (com.puppycrawl.tools.checkstyle.checks.imports.CustomImportOrderCheck)

@Setter

Check warning on line 16 in backend/common/src/main/java/console/ConsoleReader.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/ConsoleReader.java#L16 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocTypeCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/ConsoleReader.java:16:1: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocTypeCheck)
@Getter
public class ConsoleReader extends Thread {
private CommandDispatcher dispatcher;
private String prompt;
private Terminal terminal;
private LineReader reader;

public ConsoleReader() {

Check warning on line 24 in backend/common/src/main/java/console/ConsoleReader.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/ConsoleReader.java#L24 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/ConsoleReader.java:24:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
try {
this.setName("ConsoleReader");
this.prompt = "devbox>";
this.dispatcher = new CommandDispatcher();
this.terminal = TerminalBuilder.builder()
.system(true)
.dumb(true)
.build();
this.reader = LineReaderBuilder.builder()
.terminal(terminal)
.build();
} catch (IOException e) {
e.printStackTrace();

Check warning on line 37 in backend/common/src/main/java/console/ConsoleReader.java

View workflow job for this annotation

GitHub Actions / analyze

Avoid printStackTrace(); use a logger call instead.

Avoid printStackTrace(); use a logger call instead. AvoidPrintStackTrace (Priority: 3, Ruleset: Best Practices) https://pmd.github.io/latest/pmd_rules_java_bestpractices.html#avoidprintstacktrace
}
}

public void flush() {

Check warning on line 41 in backend/common/src/main/java/console/ConsoleReader.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/ConsoleReader.java#L41 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/ConsoleReader.java:41:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
this.terminal.flush();
}

public void println(String msg) {

Check warning on line 45 in backend/common/src/main/java/console/ConsoleReader.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/ConsoleReader.java#L45 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/ConsoleReader.java:45:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
this.terminal.writer().println(msg);
}

public void print(String msg) {

Check warning on line 49 in backend/common/src/main/java/console/ConsoleReader.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/ConsoleReader.java#L49 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/ConsoleReader.java:49:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
this.terminal.writer().print(msg);
}

public ConsoleReader(String prompt) {

Check warning on line 53 in backend/common/src/main/java/console/ConsoleReader.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/ConsoleReader.java#L53 <com.puppycrawl.tools.checkstyle.checks.coding.ConstructorsDeclarationGroupingCheck>

Constructors should be grouped together. The last grouped constructor is declared at line '24'.
Raw output
/github/workspace/./backend/common/src/main/java/console/ConsoleReader.java:53:5: warning: Constructors should be grouped together. The last grouped constructor is declared at line '24'. (com.puppycrawl.tools.checkstyle.checks.coding.ConstructorsDeclarationGroupingCheck)

Check warning on line 53 in backend/common/src/main/java/console/ConsoleReader.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/ConsoleReader.java#L53 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/ConsoleReader.java:53:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
try {
this.setName("ConsoleReader");
this.prompt = prompt;
this.dispatcher = new CommandDispatcher();
this.terminal = TerminalBuilder.builder()
.system(true)
.build();
this.reader = LineReaderBuilder.builder()
.terminal(terminal)
.completer(new StringsCompleter(this.dispatcher.getCommandNames()))
.build();
} catch (IOException e) {
e.printStackTrace();

Check warning on line 66 in backend/common/src/main/java/console/ConsoleReader.java

View workflow job for this annotation

GitHub Actions / analyze

Avoid printStackTrace(); use a logger call instead.

Avoid printStackTrace(); use a logger call instead. AvoidPrintStackTrace (Priority: 3, Ruleset: Best Practices) https://pmd.github.io/latest/pmd_rules_java_bestpractices.html#avoidprintstacktrace
}
}

@Override
public void run() {
while (!this.isInterrupted()) {
try {
String line = reader.readLine(this.prompt);
dispatcher.execute(line);
} catch (UserInterruptException | EndOfFileException e) {
break;
}
}
}

public void shutdown() {

Check warning on line 82 in backend/common/src/main/java/console/ConsoleReader.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/ConsoleReader.java#L82 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/ConsoleReader.java:82:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
this.interrupt();
}
}
8 changes: 8 additions & 0 deletions backend/common/src/main/java/console/command/Command.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package console.command;

public interface Command {

Check warning on line 3 in backend/common/src/main/java/console/command/Command.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/Command.java#L3 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocTypeCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/Command.java:3:1: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocTypeCheck)
void execute(String[] args);

Check warning on line 4 in backend/common/src/main/java/console/command/Command.java

View workflow job for this annotation

GitHub Actions / analyze

Consider using varargs for methods or constructors which take an array the last parameter.

Java 5 introduced the varargs parameter declaration for methods and constructors. This syntactic sugar provides flexibility for users of these methods and constructors, allowing them to avoid having to deal with the creation of an array. Byte arrays in any method and String arrays in `public static void main(String[])` methods are ignored. UseVarargs (Priority: 4, Ruleset: Best Practices) https://pmd.github.io/latest/pmd_rules_java_bestpractices.html#usevarargs

Check warning on line 4 in backend/common/src/main/java/console/command/Command.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/Command.java#L4 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/Command.java:4:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
String getName();

Check warning on line 5 in backend/common/src/main/java/console/command/Command.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/Command.java#L5 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/Command.java:5:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)

Check warning on line 5 in backend/common/src/main/java/console/command/Command.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/Command.java#L5 <com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck>

'METHOD_DEF' should be separated from previous line.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/Command.java:5:5: warning: 'METHOD_DEF' should be separated from previous line. (com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck)
String getDescription();

Check warning on line 6 in backend/common/src/main/java/console/command/Command.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/Command.java#L6 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/Command.java:6:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)

Check warning on line 6 in backend/common/src/main/java/console/command/Command.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/Command.java#L6 <com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck>

'METHOD_DEF' should be separated from previous line.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/Command.java:6:5: warning: 'METHOD_DEF' should be separated from previous line. (com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck)
String getUsage();

Check warning on line 7 in backend/common/src/main/java/console/command/Command.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/Command.java#L7 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/Command.java:7:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)

Check warning on line 7 in backend/common/src/main/java/console/command/Command.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/Command.java#L7 <com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck>

'METHOD_DEF' should be separated from previous line.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/Command.java:7:5: warning: 'METHOD_DEF' should be separated from previous line. (com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
package console.command;

import java.util.Arrays;
import java.util.Collection;
import java.util.function.Consumer;

public class CommandDispatcher {

Check warning on line 7 in backend/common/src/main/java/console/command/CommandDispatcher.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/CommandDispatcher.java#L7 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocTypeCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/CommandDispatcher.java:7:1: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocTypeCheck)
private final CommandMap commandMap;

public CommandDispatcher() {

Check warning on line 10 in backend/common/src/main/java/console/command/CommandDispatcher.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/CommandDispatcher.java#L10 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/CommandDispatcher.java:10:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
this.commandMap = new CommandMap();
}

public void register(String name, String desc, String usage, Consumer<String[]> command) {

Check warning on line 14 in backend/common/src/main/java/console/command/CommandDispatcher.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/CommandDispatcher.java#L14 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/CommandDispatcher.java:14:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
this.commandMap.put(name.toLowerCase(), new Command() {
@Override
public void execute(String[] args) {
command.accept(args);
}

@Override
public String getName() {
return name;
}

@Override
public String getDescription() {
return desc;
}

@Override
public String getUsage() {
return usage;
}
});
}

public Collection<String> getCommandNames() {
return this.commandMap.keySet();
}

public void register(Command command) {

Check warning on line 42 in backend/common/src/main/java/console/command/CommandDispatcher.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/CommandDispatcher.java#L42 <com.puppycrawl.tools.checkstyle.checks.coding.OverloadMethodsDeclarationOrderCheck>

All overloaded methods should be placed next to each other. Previous overloaded method located at line '14'.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/CommandDispatcher.java:42:5: warning: All overloaded methods should be placed next to each other. Previous overloaded method located at line '14'. (com.puppycrawl.tools.checkstyle.checks.coding.OverloadMethodsDeclarationOrderCheck)

Check warning on line 42 in backend/common/src/main/java/console/command/CommandDispatcher.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/CommandDispatcher.java#L42 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/CommandDispatcher.java:42:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
this.commandMap.put(command.getName().toLowerCase(), command);
}

public void execute(String input) {

Check warning on line 46 in backend/common/src/main/java/console/command/CommandDispatcher.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/CommandDispatcher.java#L46 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/CommandDispatcher.java:46:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
String[] split = input.trim().split("\\s+");
if (split.length == 0) return;

Check warning on line 48 in backend/common/src/main/java/console/command/CommandDispatcher.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/CommandDispatcher.java#L48 <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck>

'if' construct must use '{}'s.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/CommandDispatcher.java:48:9: warning: 'if' construct must use '{}'s. (com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck)

String cmd = split[0].toLowerCase();
String[] args = Arrays.copyOfRange(split, 1, split.length);

Command command = this.commandMap.get(cmd);
if (command != null) {
command.execute(args);
} else {
System.out.println("Unknown Command: " + cmd);

Check failure on line 57 in backend/common/src/main/java/console/command/CommandDispatcher.java

View workflow job for this annotation

GitHub Actions / analyze

Usage of System.out/err

References to System.(out|err).print are usually intended for debugging purposes and can remain in the codebase even in production code. By using a logger one can enable/disable this behaviour at will (and by priority) and avoid clogging the Standard out log. SystemPrintln (Priority: 2, Ruleset: Best Practices) https://pmd.github.io/latest/pmd_rules_java_bestpractices.html#systemprintln
}
}
}
22 changes: 22 additions & 0 deletions backend/common/src/main/java/console/command/CommandMap.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package console.command;

import java.util.HashMap;

public class CommandMap extends HashMap<String, Command> {

Check warning on line 5 in backend/common/src/main/java/console/command/CommandMap.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/CommandMap.java#L5 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocTypeCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/CommandMap.java:5:1: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocTypeCheck)

public CommandMap() {

Check warning on line 7 in backend/common/src/main/java/console/command/CommandMap.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/CommandMap.java#L7 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/CommandMap.java:7:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
super();
}

public void addCommand(Command command) {

Check warning on line 11 in backend/common/src/main/java/console/command/CommandMap.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/CommandMap.java#L11 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/CommandMap.java:11:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
this.put(command.getName(), command);
}

public Command getCommand(String name) {

Check warning on line 15 in backend/common/src/main/java/console/command/CommandMap.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/CommandMap.java#L15 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/CommandMap.java:15:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
return this.get(name);
}

public void removeCommand(String name) {

Check warning on line 19 in backend/common/src/main/java/console/command/CommandMap.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/common/src/main/java/console/command/CommandMap.java#L19 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/common/src/main/java/console/command/CommandMap.java:19:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
this.remove(name);
}
}
2 changes: 1 addition & 1 deletion backend/master/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ plugins {
}

dependencies {

implementation project(":backend:common")
}

shadowJar {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,44 @@
package com.interguess.devbox.backend.master;

import console.ConsoleReader;

public class MasterBootstrap {
private ConsoleReader reader;

public static void main(String[] args) {
public MasterBootstrap(String[] args) {

Check warning on line 8 in backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java

View workflow job for this annotation

GitHub Actions / analyze

Avoid unused constructor parameters such as 'args'.

Reports parameters of methods and constructors that are not referenced them in the method body. Parameters whose name starts with `ignored` or `unused` are filtered out. Removing unused formal parameters from public methods could cause a ripple effect through the code base. Hence, by default, this rule only considers private methods. To include non-private methods, set the `checkAll` property to `true`. UnusedFormalParameter (Priority: 3, Ruleset: Best Practices) https://pmd.github.io/latest/pmd_rules_java_bestpractices.html#unusedformalparameter

Check warning on line 8 in backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java

View workflow job for this annotation

GitHub Actions / analyze

Consider using varargs for methods or constructors which take an array the last parameter.

Java 5 introduced the varargs parameter declaration for methods and constructors. This syntactic sugar provides flexibility for users of these methods and constructors, allowing them to avoid having to deal with the creation of an array. Byte arrays in any method and String arrays in `public static void main(String[])` methods are ignored. UseVarargs (Priority: 4, Ruleset: Best Practices) https://pmd.github.io/latest/pmd_rules_java_bestpractices.html#usevarargs

Check warning on line 8 in backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java#L8 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java:8:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
this.reader = new ConsoleReader();

this.reader.getDispatcher().register(
"echo",
"This Command respond the inputed text",
"echo <inputText>",
(echoArgs) -> {
if(echoArgs.length == 0) return;

Check warning on line 16 in backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java#L16 <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck>

'if' construct must use '{}'s.
Raw output
/github/workspace/./backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java:16:21: warning: 'if' construct must use '{}'s. (com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck)

Check warning on line 16 in backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java#L16 <com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAfterCheck>

'if' is not followed by whitespace.
Raw output
/github/workspace/./backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java:16:21: warning: 'if' is not followed by whitespace. (com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAfterCheck)

Check warning on line 16 in backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java#L16 <com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAroundCheck>

WhitespaceAround: 'if' is not followed by whitespace. Empty blocks may only be represented as {} when not part of a multi-block statement (4.1.3)
Raw output
/github/workspace/./backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java:16:21: warning: WhitespaceAround: 'if' is not followed by whitespace. Empty blocks                may only be represented as {} when not part of a multi-block statement (4.1.3) (com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAroundCheck)
this.reader.println("[DevBox] Response from Master: " + echoArgs[0]);
}
);

this.reader.getDispatcher().register(
"exit",
"This Command exit Master",
"exit",
(exitArgs) -> {
shutdown();
}
);

this.reader.start();
this.reader.println("[DevBox] Master started");
}

private void shutdown() {
this.reader.println("[DevBox] Master is shutting down");
this.reader.flush();
this.reader.shutdown();
System.exit(0);
}

public static void main(String[] args) {

Check warning on line 41 in backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java#L41 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/master/src/main/java/com/interguess/devbox/backend/master/MasterBootstrap.java:41:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
new MasterBootstrap(args);
}
}
2 changes: 1 addition & 1 deletion backend/worker/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ plugins {
}

dependencies {

implementation project(":backend:common")
}

shadowJar {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,44 @@
package com.interguess.devbox.backend.worker;

import console.ConsoleReader;

public class WorkerBootstrap {
private ConsoleReader reader;

public WorkerBootstrap(String[] args) {

Check warning on line 8 in backend/worker/src/main/java/com/interguess/devbox/backend/worker/WorkerBootstrap.java

View workflow job for this annotation

GitHub Actions / analyze

Avoid unused constructor parameters such as 'args'.

Reports parameters of methods and constructors that are not referenced them in the method body. Parameters whose name starts with `ignored` or `unused` are filtered out. Removing unused formal parameters from public methods could cause a ripple effect through the code base. Hence, by default, this rule only considers private methods. To include non-private methods, set the `checkAll` property to `true`. UnusedFormalParameter (Priority: 3, Ruleset: Best Practices) https://pmd.github.io/latest/pmd_rules_java_bestpractices.html#unusedformalparameter

Check warning on line 8 in backend/worker/src/main/java/com/interguess/devbox/backend/worker/WorkerBootstrap.java

View workflow job for this annotation

GitHub Actions / analyze

Consider using varargs for methods or constructors which take an array the last parameter.

Java 5 introduced the varargs parameter declaration for methods and constructors. This syntactic sugar provides flexibility for users of these methods and constructors, allowing them to avoid having to deal with the creation of an array. Byte arrays in any method and String arrays in `public static void main(String[])` methods are ignored. UseVarargs (Priority: 4, Ruleset: Best Practices) https://pmd.github.io/latest/pmd_rules_java_bestpractices.html#usevarargs

Check warning on line 8 in backend/worker/src/main/java/com/interguess/devbox/backend/worker/WorkerBootstrap.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/worker/src/main/java/com/interguess/devbox/backend/worker/WorkerBootstrap.java#L8 <com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck>

Missing a Javadoc comment.
Raw output
/github/workspace/./backend/worker/src/main/java/com/interguess/devbox/backend/worker/WorkerBootstrap.java:8:5: warning: Missing a Javadoc comment. (com.puppycrawl.tools.checkstyle.checks.javadoc.MissingJavadocMethodCheck)
this.reader = new ConsoleReader();

this.reader.getDispatcher().register(
"echo",
"This Command respond the inputed text",
"echo <inputText>",
(echoArgs) -> {
if(echoArgs.length == 0) return;

Check warning on line 16 in backend/worker/src/main/java/com/interguess/devbox/backend/worker/WorkerBootstrap.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/worker/src/main/java/com/interguess/devbox/backend/worker/WorkerBootstrap.java#L16 <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck>

'if' construct must use '{}'s.
Raw output
/github/workspace/./backend/worker/src/main/java/com/interguess/devbox/backend/worker/WorkerBootstrap.java:16:21: warning: 'if' construct must use '{}'s. (com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck)

Check warning on line 16 in backend/worker/src/main/java/com/interguess/devbox/backend/worker/WorkerBootstrap.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/worker/src/main/java/com/interguess/devbox/backend/worker/WorkerBootstrap.java#L16 <com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAfterCheck>

'if' is not followed by whitespace.
Raw output
/github/workspace/./backend/worker/src/main/java/com/interguess/devbox/backend/worker/WorkerBootstrap.java:16:21: warning: 'if' is not followed by whitespace. (com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAfterCheck)

Check warning on line 16 in backend/worker/src/main/java/com/interguess/devbox/backend/worker/WorkerBootstrap.java

View workflow job for this annotation

GitHub Actions / checkstyle

[checkstyle] backend/worker/src/main/java/com/interguess/devbox/backend/worker/WorkerBootstrap.java#L16 <com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAroundCheck>

WhitespaceAround: 'if' is not followed by whitespace. Empty blocks may only be represented as {} when not part of a multi-block statement (4.1.3)
Raw output
/github/workspace/./backend/worker/src/main/java/com/interguess/devbox/backend/worker/WorkerBootstrap.java:16:21: warning: WhitespaceAround: 'if' is not followed by whitespace. Empty blocks                may only be represented as {} when not part of a multi-block statement (4.1.3) (com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAroundCheck)
this.reader.println("[DevBox] Response from Worker: " + echoArgs[0]);
}
);

this.reader.getDispatcher().register(
"exit",
"This Command exit Worker",
"exit",
(exitArgs) -> {
shutdown();
}
);

this.reader.start();
this.reader.println("[DevBox] Worker started");
}

private void shutdown() {
this.reader.println("[DevBox] Worker is shutting down");
this.reader.flush();
this.reader.shutdown();
System.exit(0);
}

public static void main(String[] args) {

new WorkerBootstrap(args);
}
}
Loading