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; }
@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."))); } }
for(Activity a: f.getActivities()) { res.addAll(findActivityRecursively(clazz, a));