Language registry model allows to configure scripting engines to be used by WBP for Java activities. This model leverages Java Scripting and adds:
1.0.0
// Create a resource set to hold the resources. // ResourceSet resourceSet = new ResourceSetImpl(); // Register the appropriate resource factory to handle all file extensions. // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put (Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl()); // Register the package to ensure it is available during loading. // resourceSet.getPackageRegistry().put (LanguagePackage.eNS_URI, LanguagePackage.eINSTANCE); URI uri = URI.createURI("http://www.hammurapi.com/HammurapiGroup.language_registry"); Resource resource = resourceSet.getResource(uri, true); System.out.println("Loaded " + uri); LanguageRegistry registry = (LanguageRegistry) resource.getContents().get(0); Language tokenExpander = registry.lookup("TokenExpander", null); ScriptEngineFactory tokenExpanderfactory = tokenExpander.getEngineFactory(); ScriptEngine tokenExpanderEngine = tokenExpanderfactory.getScriptEngine(); SimpleBindings bindings = new SimpleBindings(); bindings.put("z", "88"); System.out.println(tokenExpanderEngine.eval("!!! ${z} !!!", bindings)); Language jsp = registry.lookup("JSP", null); ScriptEngineFactory jspFactory = jsp.getEngineFactory(); ScriptEngine jspEngine = jspFactory.getScriptEngine(); System.out.println(jspEngine.eval("!!! <%=z%> !!!", bindings)); Language java = registry.lookup("Java", null); ScriptEngineFactory javaFactory = java.getEngineFactory(); ScriptEngine javaEngine = javaFactory.getScriptEngine(); System.out.println(javaEngine.eval("return z;", bindings));