/** * @return the actual string arguments of the command */ public List<String> args() { List<String> ret = delegate.args(); return ret; }
/** * @return the actual string arguments of the command */ public List<String> args() { List<String> ret = delegate.args(); return ret; }
@Override public void process(CommandProcess process) { String name = process.args().get(0); MetricsService metrics = MetricsService.create(process.vertx()); JsonObject snapshot = metrics.getMetricsSnapshot(name); process.write(snapshot.encodePrettily() + "\n"); process.end(); } }
@Override public void process(CommandProcess process) { boolean first = true; for (String token : process.args()) { if (!first) { process.write(" "); } process.write(token); first = false; } process.write("\n"); process.end(); } }
@Override public void process(CommandProcess process) { if (process.args().size() > 0) { String cwd = process.session().get("cwd"); new FsHelper().cd(process.vertx().fileSystem(), cwd, dir, ar -> { if (ar.succeeded()) { process.session().put("cwd", ar.result()); process.end(); } else { process.write("cd: No such file or directory\n"); process.end(); } }); } else { process.session().remove("cwd"); process.end(); } }
@Override public void testExec(TestContext context) throws Exception { AtomicReference<Vertx> execCommand = new AtomicReference<>(); CommandRegistry registry = CommandRegistry.getShared(vertx); registry.registerCommand(CommandBuilder.command("the-command").processHandler(process -> { context.assertNotNull(Vertx.currentContext()); context.assertNotNull(process.session()); execCommand.set(process.vertx()); context.assertEquals(-1, process.width()); context.assertEquals(-1, process.height()); context.assertEquals(Arrays.asList("arg1", "arg2"), process.args()); context.assertTrue(process.isForeground()); StringBuilder input = new StringBuilder(); process.stdinHandler(data -> { input.append(data); if (input.toString().equals("the_input")) { process.end(2); } }); process.write("the_output"); }).build(vertx)); super.testExec(context); assertEquals(execCommand.get(), vertx); } }