From d3e60fa7a344bb8f9e5a9c3ab740ad76009f5878 Mon Sep 17 00:00:00 2001 From: ghubstan <36207203+ghubstan@users.noreply.github.com> Date: Mon, 30 Mar 2020 11:20:19 -0300 Subject: [PATCH] Implement requested changes in PR #4097 Change member name OptionParser cmdParser -> parser. Change server listening port to 9998, client port to 9998. Change constructor argument from String[] param -> args. Print the result only, w/out exec time. Print help to stdout, not stderr. Use explicit system SUCCESS/FAIL codes in System.exit(0 || 1). --- .../main/java/bisq/cli/app/BisqCliMain.java | 31 ++++++++----------- .../main/java/bisq/cli/app/CliCommand.java | 4 --- .../main/java/bisq/cli/app/CommandParser.java | 4 +-- .../java/bisq/core/grpc/BisqGrpcServer.java | 2 +- 4 files changed, 16 insertions(+), 25 deletions(-) diff --git a/cli/src/main/java/bisq/cli/app/BisqCliMain.java b/cli/src/main/java/bisq/cli/app/BisqCliMain.java index b0ac0c34cc9..9d09c26a14b 100644 --- a/cli/src/main/java/bisq/cli/app/BisqCliMain.java +++ b/cli/src/main/java/bisq/cli/app/BisqCliMain.java @@ -33,7 +33,6 @@ import static bisq.cli.app.CommandParser.GETVERSION; import static bisq.cli.app.CommandParser.STOPSERVER; import static java.lang.String.format; -import static java.lang.System.currentTimeMillis; import static java.lang.System.exit; import static java.lang.System.out; @@ -43,27 +42,23 @@ @Slf4j public class BisqCliMain { + private static final int EXIT_SUCCESS = 0; + private static final int EXIT_FAILURE = 1; + private final ManagedChannel channel; private final CliCommand cmd; - private final OptionParser cmdParser; + private final OptionParser parser; public static void main(String[] args) { - new BisqCliMain("localhost", 8888, args); + new BisqCliMain("localhost", 9998, args); } - private BisqCliMain(String host, int port, String[] params) { + private BisqCliMain(String host, int port, String[] args) { // Channels are secure by default (via SSL/TLS); for the example disable TLS to avoid needing certificates. this(ManagedChannelBuilder.forAddress(host, port).usePlaintext().build()); - - long startTs = currentTimeMillis(); - - String command = parseCommand(params); + String command = parseCommand(args); String result = runCommand(command); - - // First response is rather slow (300 ms) but following responses are fast (3-5 ms). - // log.info("{}\t{}", result, cmd.responseTime.apply(startTs)); - out.println(result + "\t" + cmd.responseTime.apply(startTs)); - + out.println(result); try { shutdown(); // Orderly channel shutdown } catch (InterruptedException ignored) { @@ -76,7 +71,7 @@ private BisqCliMain(String host, int port, String[] params) { private BisqCliMain(ManagedChannel channel) { this.channel = channel; this.cmd = new CliCommand(channel); - this.cmdParser = new CommandParser().configure(); + this.parser = new CommandParser().configure(); } private String runCommand(String command) { @@ -100,18 +95,18 @@ private String runCommand(String command) { } private String parseCommand(String[] params) { - OptionSpec nonOptions = cmdParser.nonOptions().ofType(String.class); - OptionSet options = cmdParser.parse(params); + OptionSpec nonOptions = parser.nonOptions().ofType(String.class); + OptionSet options = parser.parse(params); List detectedOptions = nonOptions.values(options); if (detectedOptions.isEmpty()) { CommandParser.printUsage(); - exit(0); + exit(EXIT_FAILURE); } return detectedOptions.get(0); } private void shutdown() throws InterruptedException { channel.shutdown().awaitTermination(1, TimeUnit.SECONDS); - exit(0); + exit(EXIT_SUCCESS); } } diff --git a/cli/src/main/java/bisq/cli/app/CliCommand.java b/cli/src/main/java/bisq/cli/app/CliCommand.java index f40a39c673c..e3b0bc813fe 100644 --- a/cli/src/main/java/bisq/cli/app/CliCommand.java +++ b/cli/src/main/java/bisq/cli/app/CliCommand.java @@ -18,8 +18,6 @@ import lombok.extern.slf4j.Slf4j; -import static java.lang.System.currentTimeMillis; - @Slf4j final class CliCommand { @@ -32,8 +30,6 @@ final class CliCommand { @SuppressWarnings("BigDecimalMethodWithoutRoundingCalled") final Function prettyBalance = (sats) -> btcFormat.format(BigDecimal.valueOf(sats).divide(satoshiDivisor)); - final Function responseTime = (t0) -> "(response time: " + (currentTimeMillis() - t0) + " ms)"; - CliCommand(ManagedChannel channel) { getBalanceStub = GetBalanceGrpc.newBlockingStub(channel); getVersionStub = GetVersionGrpc.newBlockingStub(channel); diff --git a/cli/src/main/java/bisq/cli/app/CommandParser.java b/cli/src/main/java/bisq/cli/app/CommandParser.java index 1c5c8b1157d..0974fbd33c0 100644 --- a/cli/src/main/java/bisq/cli/app/CommandParser.java +++ b/cli/src/main/java/bisq/cli/app/CommandParser.java @@ -2,7 +2,7 @@ import joptsimple.OptionParser; -import static java.lang.System.err; +import static java.lang.System.out; final class CommandParser { @@ -21,7 +21,7 @@ OptionParser configure() { } static void printUsage() { - err.println("Usage: bisq-cli getbalance | getversion"); + out.println("Usage: bisq-cli getbalance | getversion"); } } diff --git a/core/src/main/java/bisq/core/grpc/BisqGrpcServer.java b/core/src/main/java/bisq/core/grpc/BisqGrpcServer.java index fc6a09726a7..ef6631462f9 100644 --- a/core/src/main/java/bisq/core/grpc/BisqGrpcServer.java +++ b/core/src/main/java/bisq/core/grpc/BisqGrpcServer.java @@ -200,7 +200,7 @@ public void stop() { private void start() throws IOException { // TODO add to options - int port = 8888; + int port = 9998; // Config services server = ServerBuilder.forPort(port)