public void describeController(JsonObjectBuilder builder, CommandController controller) { describeMetadata(builder, controller); describeCurrentState(builder, controller); describeInputs(builder, controller); }
protected void collectResults(JsonArrayBuilder results, Result result) { if (result instanceof CompositeResult) { for (Result r : ((CompositeResult) result).getResults()) { collectResults(results, r); } } else { results.add(describeSingleResult(result)); } }
@GET @Path("/command/{name}") @Produces(MediaType.APPLICATION_JSON) public JsonObject getCommandInfo(@QueryParam("resource") String resource, @PathParam("name") String name) throws Exception { JsonObjectBuilder builder = createObjectBuilder(); try (CommandController controller = createCommandController(name, resource)) { helper.describeController(builder, controller); } return builder.build(); }
@POST @Path("/command/{name}/validate") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public JsonObject validateCommand(@PathParam("name") String name, JsonObject content) throws Exception { String resource = content.getString("resource"); JsonObjectBuilder builder = createObjectBuilder(); try (CommandController controller = createCommandController(name, resource)) { helper.populateControllerAllInputs(content, controller); helper.describeCurrentState(builder, controller); helper.describeValidation(builder, controller); helper.describeInputs(builder, controller); } return builder.build(); }
helper.populateController(content, wizardController); for (int i = 0; i < stepIndex; i++) helper.populateController(content, wizardController); helper.describeMetadata(builder, controller); helper.describeCurrentState(builder, controller); helper.describeValidation(builder, controller); helper.describeInputs(builder, controller);
@POST @Path("/command/{name}/execute") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public JsonObject executeCommand(@PathParam("name") String name, JsonObject content) throws Exception { String resource = content.getString("resource"); JsonObjectBuilder builder = createObjectBuilder(); try (CommandController controller = createCommandController(name, resource)) { helper.populateControllerAllInputs(content, controller); helper.describeValidation(builder, controller); helper.describeExecution(builder, controller); } return builder.build(); }
public void populateControllerAllInputs(JsonObject content, CommandController controller) throws Exception { populateController(content, controller); int stepIndex = content.getInt("stepIndex", 0); if (controller instanceof WizardCommandController) { WizardCommandController wizardController = (WizardCommandController) controller; for (int i = 0; i < stepIndex && wizardController.canMoveToNextStep(); i++) { wizardController.next().initialize(); populateController(content, wizardController); } } }
.add("deprecated", input.isDeprecated()) .add("label", InputComponents.getLabelFor(input, false)); addOptional(objBuilder, "description", input.getDescription()); addOptional(objBuilder, "note", input.getNote()); Converter<Object, String> inputConverter = null; if (input instanceof SelectComponent) valueChoices.add(describeValueChoice(label, itemUnwrapped)); addOptional(objBuilder, "value", value);
public void describeMetadata(JsonObjectBuilder builder, CommandController controller) { UICommandMetadata metadata = controller.getMetadata(); JsonObjectBuilder metadataBuilder = createObjectBuilder(); metadataBuilder.add("deprecated", metadata.isDeprecated()); addOptional(metadataBuilder, "category", metadata.getCategory()); addOptional(metadataBuilder, "name", metadata.getName()); addOptional(metadataBuilder, "description", metadata.getDescription()); addOptional(metadataBuilder, "deprecatedMessage", metadata.getDeprecatedMessage()); builder.add("metadata", metadataBuilder); }
public void describeResult(JsonObjectBuilder builder, Result result) { JsonArrayBuilder array = createArrayBuilder(); collectResults(array, result); builder.add("results", array); }
public void describeExecution(JsonObjectBuilder builder, CommandController controller) throws Exception { Result result = controller.execute(); describeResult(builder, result); // Get out and err RestUIProvider provider = (RestUIProvider) controller.getContext().getProvider(); builder.add("out", provider.getOut()); builder.add("err", provider.getErr()); }
protected JsonObjectBuilder describeSingleResult(Result result) { JsonObjectBuilder builder = createObjectBuilder(); builder.add("status", (result instanceof Failed) ? "FAILED" : "SUCCESS"); if (result != null) addOptional(builder, "message", result.getMessage()); return builder; }
addOptional(builder, name, readMethod.invoke(obj));
for (Entry<Object, Object> entry : ((Map<Object, Object>) value).entrySet()) addOptional(objectBuilder, Objects.toString(entry.getKey()), entry.getValue());