Skip to content

Latest commit

History

74 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Service Chainer

Quickly and easily chain multiple service calls together with the ability to manipulate each input payload using templates.

Currently Supports

Special Template Input Constants

  • 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

Notes

To develop service chains with a UI interface, see this project: https://github.com/orange451/ServiceChainerApp

Sample Template Transformation

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));
}
}

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages