public void build(final PackageBuildContext context, final ReturnValueConstraintEvaluator constraintNode, final ReturnValueDescr descr, final ContextResolver contextResolver) { final String className = getClassName(context); AnalysisResult analysis = getAnalysis(context, descr); if ( analysis == null ) { // not possible to get the analysis results return; } buildReturnValueEvaluator(context, constraintNode, descr, contextResolver, className, analysis); }
public void build(final PackageBuildContext context, final DroolsAction action, final ActionDescr actionDescr, final ContextResolver contextResolver) { final String className = getClassName(context); AnalysisResult analysis = getAnalysis(context, actionDescr); if ( analysis == null ) { // build is not possible without analysis results return; } buildAction(context, action, actionDescr, contextResolver, className, analysis); }
@Override protected void buildAction( PackageBuildContext context, DroolsAction action, ActionDescr actionDescr, ContextResolver contextResolver, String className, AnalysisResult analysis ) { actionDescrs.add(actionDescr); super.buildAction(context, action, actionDescr, contextResolver, className, analysis); } }
protected void buildAction(final PackageBuildContext context, final DroolsAction action, final ActionDescr actionDescr, final ContextResolver contextResolver, String className, AnalysisResult analysis) { Set<String> identifiers = analysis.getBoundIdentifiers().getGlobals().keySet(); final Map map = createVariableContext( className, actionDescr.getText(), (ProcessBuildContext) context, (String[]) identifiers.toArray( new String[identifiers.size()] ), analysis.getNotBoundedIdentifiers(), contextResolver); map.put( "text", ProcessKnowledgeHelperFixer.fix( actionDescr.getText() )); generateTemplates( "actionMethod", "actionInvoker", (ProcessBuildContext)context, className, map, action, actionDescr ); collectTypes("JavaDialect", analysis, (ProcessBuildContext)context); }
protected void buildReturnValueEvaluator(final PackageBuildContext context, final ReturnValueConstraintEvaluator constraintNode, final ReturnValueDescr descr, final ContextResolver contextResolver, String className, AnalysisResult analysis) { Set<String> identifiers = analysis.getBoundIdentifiers().getGlobals().keySet(); final Map map = createVariableContext( className, descr.getText(), (ProcessBuildContext) context, (String[]) identifiers.toArray( new String[identifiers.size()] ), analysis.getNotBoundedIdentifiers(), contextResolver); map.put( "text", descr.getText() ); generateTemplates( "returnValueEvaluatorMethod", "returnValueEvaluatorInvoker", (ProcessBuildContext)context, className, map, constraintNode, descr ); collectTypes("JavaReturnValue", analysis, (ProcessBuildContext)context); } }
@Override protected void buildReturnValueEvaluator( PackageBuildContext context, ReturnValueConstraintEvaluator constraintNode, ReturnValueDescr descr, ContextResolver contextResolver, String className, AnalysisResult analysis ) { returnValueDescrs.add(descr); super.buildReturnValueEvaluator(context, constraintNode, descr, contextResolver, className, analysis); }
public void generateTemplates(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((String) 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, (String)TemplateRuntime.execute(registry.getNamedTemplate(invokerTemplate), null, new MapVariableResolverFactory(vars), registry) ); context.addInvokerLookup(invokerClassName, invokerLookup); context.addDescrLookups(invokerClassName, descrLookup); }
final JavaReturnValueEvaluatorBuilder builder = new JavaReturnValueEvaluatorBuilder(); builder.build( context, node, descr,
public Map createVariableContext( final String className, final String text, final ProcessBuildContext context, final String[] globals, final Set<String> unboundIdentifiers, final ContextResolver contextResolver) { Map map = createVariableContext(className, text, context, globals); List<String> variables = new ArrayList<String>(); final List variableTypes = new ArrayList(globals.length); for (String variableName: unboundIdentifiers) { VariableScope variableScope = (VariableScope) contextResolver.resolveContext(VariableScope.VARIABLE_SCOPE, variableName); if (variableScope != null) { variables.add(variableName); variableTypes.add(variableScope.findVariable(variableName).getType().getStringType()); } } map.put("variables", variables); map.put("variableTypes", variableTypes); return map; }
public void build(final PackageBuildContext context, final ReturnValueConstraintEvaluator constraintNode, final ReturnValueDescr descr, final ContextResolver contextResolver) { final String className = getClassName(context); AnalysisResult analysis = getAnalysis(context, descr); if ( analysis == null ) { // not possible to get the analysis results return; } buildReturnValueEvaluator(context, constraintNode, descr, contextResolver, className, analysis); }
public void build(final PackageBuildContext context, final DroolsAction action, final ActionDescr actionDescr, final ContextResolver contextResolver) { final String className = getClassName(context); AnalysisResult analysis = getAnalysis(context, actionDescr); if ( analysis == null ) { // build is not possible without analysis results return; } buildAction(context, action, actionDescr, contextResolver, className, analysis); }
protected void buildAction(final PackageBuildContext context, final DroolsAction action, final ActionDescr actionDescr, final ContextResolver contextResolver, String className, AnalysisResult analysis) { Set<String> identifiers = analysis.getBoundIdentifiers().getGlobals().keySet(); final Map map = createVariableContext( className, actionDescr.getText(), (ProcessBuildContext) context, (String[]) identifiers.toArray( new String[identifiers.size()] ), analysis.getNotBoundedIdentifiers(), contextResolver); map.put( "text", ProcessKnowledgeHelperFixer.fix( actionDescr.getText() )); generateTemplates( "actionMethod", "actionInvoker", (ProcessBuildContext)context, className, map, action, actionDescr ); collectTypes("JavaDialect", analysis, (ProcessBuildContext)context); }
protected void buildReturnValueEvaluator(final PackageBuildContext context, final ReturnValueConstraintEvaluator constraintNode, final ReturnValueDescr descr, final ContextResolver contextResolver, String className, AnalysisResult analysis) { Set<String> identifiers = analysis.getBoundIdentifiers().getGlobals().keySet(); final Map map = createVariableContext( className, descr.getText(), (ProcessBuildContext) context, (String[]) identifiers.toArray( new String[identifiers.size()] ), analysis.getNotBoundedIdentifiers(), contextResolver); map.put( "text", descr.getText() ); generateTemplates( "returnValueEvaluatorMethod", "returnValueEvaluatorInvoker", (ProcessBuildContext)context, className, map, constraintNode, descr ); collectTypes("JavaReturnValue", analysis, (ProcessBuildContext)context); } }
@Override protected void buildAction( PackageBuildContext context, DroolsAction action, ActionDescr actionDescr, ContextResolver contextResolver, String className, AnalysisResult analysis ) { actionDescrs.add(actionDescr); super.buildAction(context, action, actionDescr, contextResolver, className, analysis); } }
@Override protected void buildReturnValueEvaluator( PackageBuildContext context, ReturnValueConstraintEvaluator constraintNode, ReturnValueDescr descr, ContextResolver contextResolver, String className, AnalysisResult analysis ) { returnValueDescrs.add(descr); super.buildReturnValueEvaluator(context, constraintNode, descr, contextResolver, className, analysis); }
public void generateTemplates(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((String) 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, (String)TemplateRuntime.execute(registry.getNamedTemplate(invokerTemplate), null, new MapVariableResolverFactory(vars), registry) ); context.addInvokerLookup(invokerClassName, invokerLookup); context.addDescrLookups(invokerClassName, descrLookup); }
public Map createVariableContext( final String className, final String text, final ProcessBuildContext context, final String[] globals, final Set<String> unboundIdentifiers, final ContextResolver contextResolver) { Map map = createVariableContext(className, text, context, globals); List<String> variables = new ArrayList<String>(); final List variableTypes = new ArrayList(globals.length); for (String variableName: unboundIdentifiers) { VariableScope variableScope = (VariableScope) contextResolver.resolveContext(VariableScope.VARIABLE_SCOPE, variableName); if (variableScope != null) { variables.add(variableName); variableTypes.add(variableScope.findVariable(variableName).getType().getStringType()); } } map.put("variables", variables); map.put("variableTypes", variableTypes); return map; }