Skip to content

Commit be7ead3

Browse files
committed
Added SSH ClientAction; support multiple parameters
1 parent 202dcc8 commit be7ead3

3 files changed

Lines changed: 17 additions & 9 deletions

File tree

shared-cli/src/main/java/com/fathomdb/cli/formatter/ClientActionDefaultFormatter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.fathomdb.cli.output.ClientAction;
77
import com.fathomdb.cli.output.ClientActionFormatter;
88
import com.fathomdb.cli.output.OutputSink;
9+
import com.google.common.base.Joiner;
910
import com.google.common.collect.Maps;
1011

1112
public class ClientActionDefaultFormatter extends SimpleFormatter<ClientAction> implements
@@ -20,7 +21,7 @@ public void visit(ClientAction o, OutputSink sink) throws IOException {
2021
LinkedHashMap<String, Object> values = Maps.newLinkedHashMap();
2122

2223
values.put("action", o.getAction());
23-
values.put("parameter", o.getParameter());
24+
values.put("parameter", Joiner.on(' ').join(o.getParameters()));
2425

2526
sink.outputRow(values);
2627
}

shared-cli/src/main/java/com/fathomdb/cli/output/ActionOutputSink.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22

33
import java.io.IOException;
44
import java.io.PrintWriter;
5+
import java.util.List;
56
import java.util.Map;
67

78
import com.fathomdb.cli.formatter.DefaultFormatter;
89
import com.fathomdb.cli.formatter.Formatter;
910
import com.fathomdb.cli.formatter.FormatterRegistry;
11+
import com.google.common.base.Joiner;
1012

1113
public class ActionOutputSink implements OutputSink {
1214

@@ -33,7 +35,9 @@ <T> void formatClientAction(Formatter formatter, T object) {
3335
ClientActionFormatter<T> clientActionFormatter = (ClientActionFormatter<T>) formatter;
3436
ClientAction clientAction = clientActionFormatter.formatAction(object);
3537

36-
out.println(clientAction.getAction().toString().toLowerCase() + " " + clientAction.getParameter());
38+
List<String> parameters = clientAction.getParameters();
39+
40+
out.println(clientAction.getAction().toString().toLowerCase() + " " + Joiner.on(' ').join(parameters));
3741
} else {
3842
throw new UnsupportedOperationException("Cannot format for action");
3943
}
Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
11
package com.fathomdb.cli.output;
22

3+
import java.util.List;
4+
5+
import com.google.common.collect.Lists;
6+
37
public class ClientAction {
48
public enum ClientActionType {
5-
BROWSER
9+
BROWSER, SSH
610
}
711

812
final ClientActionType action;
9-
final String parameter;
13+
final List<String> parameters;
1014

11-
public ClientAction(ClientActionType action, String parameter) {
15+
public ClientAction(ClientActionType action, String... parameters) {
1216
this.action = action;
13-
this.parameter = parameter;
17+
this.parameters = Lists.newArrayList(parameters);
1418
}
1519

1620
public ClientActionType getAction() {
1721
return action;
1822
}
1923

20-
public String getParameter() {
21-
return parameter;
24+
public List<String> getParameters() {
25+
return parameters;
2226
}
23-
2427
}

0 commit comments

Comments
 (0)