Quickly and easily chain multiple service calls together with the ability to manipulate each input payload using templates.
- document (Freemarker/Velocity). Represents incoming data payload json
- JSONUtils (Velocity). Helper class used to output Java Map to JSON.
- Integer (Velocity). java.lang.Integer static class
- Double (Velocity). java.lang.Double static class
- Float (Velocity). java.lang.Float static class
- Boolean (Velocity). java.lang.Boolean static class
To develop service chains with a UI interface, see this project: https://github.com/orange451/ServiceChainerApp
importjava.util.Map;
importdev.anarchy.common.DServiceDefinition;
importdev.anarchy.translate.runner.BasicServiceChainRunner;
importdev.anarchy.translate.util.JSONUtils;
importdev.anarchy.translate.util.TranslateType;
publicclassSampleApplication {
privatestaticfinalStringtemplate = "{\"user\":\"${document.Username}\"}";
privatestaticfinalStringdata = "{\"Username\":\"Hello\"}";
publicstaticvoidmain(String[] args) {
System.out.println("Template:\n" + template);
System.out.println("Data:\n" + data);
// Create Service DefinitionDServiceDefinitionserviceDefinition = newDServiceDefinition();
serviceDefinition.setTransformationType(TranslateType.FREEMARKER.getName());
serviceDefinition.setTemplateContent(template);
// Create a runner and test service definitionMap<String, Object> input = JSONUtils.jsonToMap(data);
Map<String, Object> output = null;
try {
BasicServiceChainRunnerrunner = newBasicServiceChainRunner(null);
output = runner.transformSingle(serviceDefinition, input, false);
} catch(Exceptione) {
e.printStackTrace();
}
// View outputSystem.out.println("Output:\n" + JSONUtils.mapToJson(output));
}
}