public Map createVariableContext( final String className, final String text, final ProcessBuildContext context, final String[] globals) { final Map map = new HashMap(); map.put("methodName", className); map.put("package", context.getPkg().getName()); map.put("processClassName", StringUtils.ucFirst(context.getProcessDescr().getClassName())); map.put( "invokerClassName", context.getProcessDescr().getClassName() + StringUtils.ucFirst(className) + "Invoker"); if (text != null) { map.put("text", text); map.put("hashCode", new Integer(text.hashCode())); } final List globalTypes = new ArrayList(globals.length); for (int i = 0, length = globals.length; i < length; i++) { globalTypes.add(context.getPkg().getGlobals().get(globals[i]).replace('$', '.')); } map.put("globals", globals); map.put("globalTypes", globalTypes); return map; }
public void generatTemplates( final String ruleTemplate, final String invokerTemplate, final ProcessBuildContext context, final String className, final Map vars, final Object invokerLookup, final BaseDescr descrLookup) { TemplateRegistry registry = getRuleTemplateRegistry(); context .getMethods() .add( TemplateRuntime.execute( registry.getNamedTemplate(ruleTemplate), null, new MapVariableResolverFactory(vars), registry)); registry = getInvokerTemplateRegistry(); final String invokerClassName = context.getPkg().getName() + "." + context.getProcessDescr().getClassName() + StringUtils.ucFirst(className) + "Invoker"; context .getInvokers() .put( invokerClassName, TemplateRuntime.execute( registry.getNamedTemplate(invokerTemplate), null, new MapVariableResolverFactory(vars), registry)); context.getInvokerLookups().put(invokerClassName, invokerLookup); context.getDescrLookups().put(invokerClassName, descrLookup); }