- String uriArg = line.getOptionValue(connectOption);
- // TODO make it more robust (trailing /, etc.)
- URI uri = URI.create(uriArg);
- if ("".equals(uri.getPath())) {
- uri = URI.create(uri.toString() + "/cms/status/event/" + topic);
- }
- new WebSocketEventClient(uri).run();
- return null;
+ String connectUri = line.getOptionValue(connectOption);
+ CmsClient cmsClient = new CmsClient(URI.create(connectUri));
+ return additionalUri != null ? cmsClient.getAsString(URI.create(additionalUri)) : cmsClient.getAsString();
+ }
+
+ @Override
+ public String getUsage() {
+ return "[URI]";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Retrieve this URI as a string";
+ }
+
+ }
+
+ class Status implements DescribedCommand<String> {
+
+ @Override
+ public Options getOptions() {
+ Options options = new Options();
+ options.addOption(connectOption);
+ return options;
+ }
+
+ @Override
+ public String apply(List<String> t) {
+ CommandLine line = toCommandLine(t);
+ String connectUri = line.getOptionValue(connectOption);
+ CmsClient cmsClient = new CmsClient(URI.create(connectUri));
+ return cmsClient.getAsString(URI.create("/cms/status"));