for(Activity a : seq.getActivities()) { res.addAll(findActivityRecursively(clazz,a)); for(Activity a: f.getActivities()) { res.addAll(findActivityRecursively(clazz, a)); res.addAll(findActivityRecursively(clazz, ru.getActivity())); res.addAll(findActivityRecursively(clazz, w.getActivity())); res.addAll(findActivityRecursively(clazz, fe.getScope().getActivity())); for(Activity a: _if.getActivities()){ res.addAll(findActivityRecursively(clazz, a)); for(OnMessage m: p.getOnMessages()){ res.addAll(findActivityRecursively(clazz, m.getActivity())); res.addAll(findActivityRecursively(clazz, s.getActivity()));
private Node generateReThrow(final Scope scope, final ReThrow rethrow, final BPELProcess bpelprocess) throws CoreException { this.log.finest("start generate rethrow"); final ReThrowBehaviour reThrowBehaviour = new ReThrowBehaviourImpl(); final Node rethrowNode = scope.createNode(rethrow.getName(), reThrowBehaviour); this.log.finest("end generate rethrow"); return rethrowNode; }
private Node generateExit(final Scope scope, final Exit exit, final BPELProcess bpelprocess) throws CoreException { this.log.finest("start generate exit"); final Node exitNode = scope.createNode(exit.getName(), new ExitBehaviourImpl()); return exitNode; }
public Sequence addSequenceOnMessage( String variable, QName itfQName, String messageExchange, String operation, String partnerlink, Pick mainPick){ OnMessage om = new OnMessageImpl(new TOnMessage(), (PickImpl)mainPick); om.setInputVariable(variable); om.setInterface(itfQName); om.setMessageExchange(messageExchange); om.setOperation(operation); om.setPartnerLink(partnerlink); Sequence seq = new SequenceImpl(new TSequence(), om); try { om.setActivity(seq); } catch (BPELException e) { e.printStackTrace(); } mainPick.addOnMessage(om); return seq; }
private Node generateWhile(final Scope scope, final While while_, final BPELProcess bpelprocess) throws CoreException { this.log.finest("start generate while"); Node whileNode = null; if (while_ != null) { // set bpel definition in each expression final BPELBooleanExpression copy = (BPELBooleanExpression) while_ .getCondition().copypaste(); if (!this.log.getName().equals(BPELCompilerImpl.class.getName())) { copy.setLog(this.log); } final List<Node> childNodes = new ArrayList<Node>(); Node activityNode = null; activityNode = this.generateActivity(scope, while_.getActivity(), bpelprocess); if (activityNode != null) { childNodes.add(activityNode); } else { throw new CoreException("Impossible to generate activity: " + while_.getActivity()); } // TODO Manage non-functional behaviours in process (set to null for // now) whileNode = CreationPatternFactory.getInstance().createLoopPattern( while_.getName(), copy, true, childNodes, scope, null); } this.log.finest("end generate while"); return whileNode; }
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 PartnerLink findPartnerLinkRecursively(final String name, final BPELElement parent) { PartnerLink res = null; final Scope parentScope = ScopeUtil.getParentScope(parent); if(parentScope != null) { res = parentScope.findPartnerLink(name); } if(res == null) { final BPELProcess process = ScopeUtil.getProcess(parent); res = process.findPartnerLink(name); } return res; }
private Node generateFlow(final Scope scope, final Flow flow, final BPELProcess bpelprocess) throws CoreException { this.log.finest("start generate flow"); Node flowNode = null; if (flow != null) { final List<Node> childNodes = new ArrayList<Node>(); Node activityNode = null; for (final Activity activity : flow.getActivities()) { activityNode = this.generateActivity(scope, activity, bpelprocess); if (activityNode != null) { childNodes.add(activityNode); } else { throw new CoreException("Impossible to generate activity: " + activity.getName()); } } flowNode = CreationPatternFactory.getInstance().createForkPattern( flow.getName(), childNodes, scope); } this.log.finest("end generate flow"); return flowNode; }
private Node generateSequence(final Scope scope, final Sequence sequence, final BPELProcess bpelprocess) throws CoreException { this.log.finest("start generate sequence"); Node sequenceNode = null; if (sequence != null) { final List<Node> childNodes = new ArrayList<Node>(); Node activityNode = null; for (final Activity activity : sequence.getActivities()) { activityNode = this.generateActivity(scope, activity, bpelprocess); if (activityNode != null) { childNodes.add(activityNode); } else { throw new CoreException("Impossible to generate activity: " + activity.getName()); } } // TODO Manage non-functional behaviours in process (set to null for // now) sequenceNode = CreationPatternFactory.getInstance() .createSequencePattern(sequence.getName(), childNodes, scope, null); } this.log.finest("end generate sequence"); return sequenceNode; }
private Node generateWait(final Scope scope, final Wait wait, final BPELProcess bpelprocess) throws CoreException { this.log.finest("start generate wait"); final WaitBehaviour waitBehaviour = new WaitBehaviourImpl(); if (wait.getUntil() != null) { waitBehaviour.setDate((DateExpression<?>) wait.getUntil() .copypaste()); } if (wait.getFor() != null) { waitBehaviour.setDuration((LongExpression<?>) wait.getFor() .copypaste()); } final Node waitNode = scope.createNode(wait.getName(), waitBehaviour); return waitNode; }
for (final BPELBooleanExpression exp : if_.getConditions()) { final BPELBooleanExpression copy = (BPELBooleanExpression) exp .copypaste(); } else { throw new CoreException("Impossible to generate activity: " + activity + " in if => " + if_.getName()); if_.getName(), (List) conditions, childNodes, scope);
public If addIf(String ifName, BPELElement parent, String expressionContent, URI expressionLanguage) throws XPathExpressionException{ If res = new IfImpl(new TIf(), parent); BPELBooleanExpression condition = new BPELBooleanExpressionImpl(new TBooleanExpr(), res); condition.setContent(expressionContent); condition.setExpressionLanguage(expressionLanguage); try { res.addIfActivity(condition, null); } catch (BPELException e) { throw new XPathExpressionException(e); } res.setName(ifName); return res; }
private Node generateEmpty(final Scope scope, final Empty empty, final BPELProcess bpelprocess) throws CoreException { this.log.finest("start generate empty"); final Node emptyNode = scope.createNode(empty.getName(), new EmptyBehaviourImpl()); return emptyNode; }
public void addElseIf(If _if, String expressionContent, URI expressionLanguage, Activity activity) throws XPathExpressionException, BPELException{ BPELBooleanExpression condition = new BPELBooleanExpressionImpl(new TBooleanExpr(), _if); condition.setContent(expressionContent); condition.setExpressionLanguage(expressionLanguage); _if.addElseIfActivity(condition, activity); }
@Override public void validate() { super.validate(); // validation log.finest("validate pick: " + this.getActivity().getName()); // unsupported element if(((TPick)((BPELElementImpl)this.getActivity()).getModel()).getCreateInstance().equals(TBoolean.YES)) { BPELStaticAnalysisImpl.getInstance().addInfo(new BPELInfoImpl(this.getActivity(), "In receive " + this.getActivity().getName() + " => [BPEL engine restriction] Sorry, but the attribute createInstance to yes is currently ignored. The process is created on the first activity detected in the definition")); } }
public CatchAllImpl(final TActivityContainer model, final BPELElement parent) { super(Constants._CatchAll_QNAME, model, parent); // get activity try { this.activity = ActivityImpl.analyzeActivityContainer(this.model, this); } catch (final BPELException e) { final Activity activity = (Activity) this.getParent(); BPELStaticAnalysisImpl.getInstance().addError(new BPELErrorImpl(this, new BPELException("In catchAll of " + activity.getName() + " => " + e.getMessage(), e))); } }
@Override public void validate() { // validation if((((TSequence)((BPELElementImpl)this.getActivity()).getModel()).getActivity() == null) || (((TSequence)((BPELElementImpl)this.getActivity()).getModel()).getActivity().size() == 0)) { BPELStaticAnalysisImpl.getInstance().addError(new BPELErrorImpl(this.getActivity(), new BPELException("In sequence " + this.getActivity().getName() + " => A sequence MUST have at less one activity."))); } }
@Override public void validate() { // validation if((((TFlow)((BPELElementImpl)this.getActivity()).getModel()).getActivity() == null) || (((TFlow)((BPELElementImpl)this.getActivity()).getModel()).getActivity().size() == 0)) { BPELStaticAnalysisImpl.getInstance().addError(new BPELErrorImpl(this.getActivity(), new BPELException("In flow " + this.getActivity().getName() + " => A flow MUST have at less one activity."))); } if((((TFlow)((BPELElementImpl)this.getActivity()).getModel()).getLinks() != null) && (((TFlow)((BPELElementImpl)this.getActivity()).getModel()).getLinks().getLink().size() > 0)) { BPELStaticAnalysisImpl.getInstance().addInfo(new BPELInfoImpl(this.getActivity(), "In flow " + this.getActivity().getName() + " => [BPEL engine restriction] Sorry, but links ares not supported for the moment.")); BPELStaticAnalysisImpl.getInstance().addError(new BPELErrorImpl(this.getActivity(), new BPELException("In flow " + this.getActivity().getName() + " => [BPEL engine restriction] Sorry, but links ares not supported for the moment."))); } }
@Override public void validate() { // validation if((((TAssign)((BPELElementImpl)this.getActivity()).getModel()).getValidate() != null) && ((TAssign)((BPELElementImpl)this.getActivity()).getModel()).getValidate().equals(TBoolean.YES)) { BPELStaticAnalysisImpl.getInstance().addInfo(new BPELInfoImpl(this.getActivity(), "In assign " + this.getActivity().getName() + " => [BPEL engine Restriction] Sorry, but the validate attribute at yes is ignored for the moment")); } if((((TAssign)((BPELElementImpl)this.getActivity()).getModel()).getCopyOrExtensionAssignOperation() == null) || (((TAssign)((BPELElementImpl)this.getActivity()).getModel()).getCopyOrExtensionAssignOperation().size() == 0)) { BPELStaticAnalysisImpl.getInstance().addError(new BPELErrorImpl(this.getActivity(), new BPELException("In assign " + this.getActivity().getName() + " => the assign MUST have at less one copy"))); } }
public static PartnerLink findPartnerLinkRecursively(final String name, final BPELElement parent) { PartnerLink res = null; final Scope parentScope = ScopeUtil.getParentScope(parent); if(parentScope != null) { res = parentScope.findPartnerLink(name); } if(res == null) { final BPELProcess process = ScopeUtil.getProcess(parent); res = process.findPartnerLink(name); } return res; }