public static BPELBooleanExpression createBooleanExpressionFromStartAndFinalCounterValue(final ForEach forEach, final BPELProcess process, final Logger logger) throws XPathExpressionException { final BPELBooleanExpression res = new BPELBooleanExpressionImpl(new TExpression(), forEach); String condition = ""; condition = forEach.getStartCounterValue().getContent() + " <= " + "$" + forEach.getCounterName() + " and " + "$" + forEach.getCounterName() + " <= " + forEach.getFinalCounterValue().getContent(); res.setContent(condition); if(logger != null) { res.setLog(logger); } return res; }
public static BPELVariable findVariableRecursively(final QName name, final BPELElement parent) { BPELVariable res = null; if((name != null) && (parent != null)) { if(parent instanceof BPELProcess) { res = ((BPELProcess)parent).findVariable(name); } else if(parent instanceof Scope) { res = ((Scope)parent).findVariable(name); } else if(parent instanceof ForEach) { final ForEach forEach = (ForEach)parent; if(forEach.getCounterName().equals(name.getLocalPart())) { final TVariable tvar = new TVariable(); tvar.setName(name.getLocalPart()); tvar.setType(DefaultSchemaImpl.getInstance().getTypeInt().getQName()); final TVariables tvars = new TVariables(); tvars.getVariable().add(tvar); final BPELVariable<Integer> var = new BPELIntVariableImpl(tvar, tvars, parent); res = var; } } if(res == null) { res = ScopeImpl.findVariableRecursively(name, (BPELElement) ((AbstractSchemaElementImpl)parent).getParent()); } } return res; }
.createElement(); counter.setQName(new QName(defaultSchema.getTargetNamespace(), forEach_.getCounterName())); counter.setType(SchemaFactory.getDefaultSchema().getTypeInt()); defaultSchema.addElement(counter); fromAI .setExpressionLanguage("urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"); toAI.getContent().add("$" + forEach_.getCounterName()); toAI .setExpressionLanguage("urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"); copyAE.setTo(toAE); fromAE.getContent().add( "$" + forEach_.getCounterName() + " + 1"); fromAE .setExpressionLanguage("urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"); toAE.getContent().add("$" + forEach_.getCounterName()); toAE .setExpressionLanguage("urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0");