@CliCommand(value = VALIDATE, help = "Validate apps contained in task definitions") public List<Object> validate(@CliOption(key = { "", "name" }, help = "the task definition name", mandatory = true) String name) throws OperationNotSupportedException { final TaskAppStatusResource task = taskOperations().validateTaskDefinition(name); List<Object> result = new ArrayList<>(); TableModelBuilder<Object> modelBuilder = new TableModelBuilder<>(); modelBuilder.addRow().addValue("Task Name").addValue("Task Definition"); modelBuilder.addRow().addValue(task.getAppName()) .addValue(task.getDsl()); TableBuilder builder = DataFlowTables.applyStyle(new TableBuilder(modelBuilder.build())); result.add(builder.build()); modelBuilder = new TableModelBuilder<>(); modelBuilder.addRow().addValue("App Name").addValue("Validation Status"); boolean isValidStream = true; for(Map.Entry<String,String> entry : task.getAppStatuses().entrySet()) { modelBuilder.addRow().addValue(entry.getKey()) .addValue(entry.getValue()); if (entry.getValue().equals("invalid")) { isValidStream = false; } } builder = DataFlowTables.applyStyle(new TableBuilder(modelBuilder.build())); if(isValidStream) { result.add(String.format("\n%s is a valid task.", task.getAppName())); } else { result.add(String.format("\n%s is an invalid task.", task.getAppName())); } result.add(builder.build()); return result; }
@CliCommand(value = VALIDATE, help = "Validate apps contained in task definitions") public List<Object> validate(@CliOption(key = { "", "name" }, help = "the task definition name", mandatory = true) String name) throws OperationNotSupportedException { final TaskAppStatusResource task = taskOperations().validateTaskDefinition(name); List<Object> result = new ArrayList<>(); TableModelBuilder<Object> modelBuilder = new TableModelBuilder<>(); modelBuilder.addRow().addValue("Task Name").addValue("Task Definition"); modelBuilder.addRow().addValue(task.getAppName()) .addValue(task.getDsl()); TableBuilder builder = DataFlowTables.applyStyle(new TableBuilder(modelBuilder.build())); result.add(builder.build()); modelBuilder = new TableModelBuilder<>(); modelBuilder.addRow().addValue("App Name").addValue("Validation Status"); boolean isValidStream = true; for(Map.Entry<String,String> entry : task.getAppStatuses().entrySet()) { modelBuilder.addRow().addValue(entry.getKey()) .addValue(entry.getValue()); if (entry.getValue().equals("invalid")) { isValidStream = false; } } builder = DataFlowTables.applyStyle(new TableBuilder(modelBuilder.build())); if(isValidStream) { result.add(String.format("\n%s is a valid task.", task.getAppName())); } else { result.add(String.format("\n%s is an invalid task.", task.getAppName())); } result.add(builder.build()); return result; }