You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2006/05/01 23:38:03 UTC
svn commit: r398694 [7/9] - in /incubator/ode/trunk: ./ bpel-bom/
bpel-bom/src/ bpel-bom/src/main/ bpel-bom/src/main/java/
bpel-bom/src/main/java/org/ bpel-bom/src/main/java/org/apache/
bpel-bom/src/main/java/org/apache/ode/ bpel-bom/src/main/java/org/...
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCompensationHandlerState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCompensationHandlerState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCompensationHandlerState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCompensationHandlerState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,60 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.CompensationHandler;
+import org.apache.ode.bom.impl.nodes.CompensationHandlerImpl;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+
+class BpelCompensationHandlerState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private CompensationHandlerImpl _c;
+
+ BpelCompensationHandlerState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ _c = new CompensationHandlerImpl();
+ _c.setNamespaceContext(se.getNamespaceContext());
+ _c.setLineNo(se.getLocation().getLineNumber());
+ }
+
+ public void handleChildCompleted(State pn) throws ParseException {
+ if (pn instanceof ActivityStateI) {
+ _c.setActivity(((ActivityStateI)pn).getActivity());
+ } else {
+ super.handleChildCompleted(pn);
+ }
+ }
+
+ public CompensationHandler getCompensationHandler() {
+ return _c;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_COMPENSATIONHANDLER;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelCompensationHandlerState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCopyState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCopyState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCopyState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCopyState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,71 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.Copy;
+import org.apache.ode.bom.impl.nodes.CopyImpl;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+import org.apache.ode.sax.evt.XmlAttributes;
+
+class BpelCopyState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private CopyImpl _c;
+
+ BpelCopyState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ XmlAttributes atts = se.getAttributes();
+ _c = new CopyImpl(se.getNamespaceContext());
+ _c.setLineNo(se.getLocation().getLineNumber());
+ if (atts.hasAtt("keepSrcElementName"))
+ _c.setKeepSrcElement(checkYesNo(atts.getValue("keepSrcElementName")));
+ }
+
+ public Copy getCopy() {
+ return _c;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#handleChildCompleted(org.apache.ode.sax.fsa.State)
+ */
+ public void handleChildCompleted(State pn) throws ParseException {
+ switch (pn.getType()) {
+ case BPEL_FROM:
+ _c.setFrom(((BpelFromState)pn).getFrom());
+ break;
+ case BPEL_TO:
+ _c.setTo(((BpelToState)pn).getTo());
+ break;
+ default:
+ super.handleChildCompleted(pn);
+ }
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_COPY;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelCopyState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationSetState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationSetState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationSetState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationSetState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,71 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.CorrelationSet;
+import org.apache.ode.bom.impl.nodes.CorrelationSetImpl;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+import org.apache.ode.sax.evt.XmlAttributes;
+import org.apache.ode.utils.NSContext;
+
+import java.util.ArrayList;
+import java.util.StringTokenizer;
+
+import javax.xml.namespace.QName;
+
+class BpelCorrelationSetState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private CorrelationSetImpl _s;
+
+ BpelCorrelationSetState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ XmlAttributes atts = se.getAttributes();
+ _s = new CorrelationSetImpl();
+ _s.setNamespaceContext(se.getNamespaceContext());
+ _s.setLineNo(se.getLocation().getLineNumber());
+ _s.setName(atts.getValue("name"));
+ if (atts.hasAtt("properties")) {
+ StringTokenizer st = new StringTokenizer(atts.getValue("properties"));
+ ArrayList<QName> al = new ArrayList<QName>();
+ NSContext nsc = se.getNamespaceContext();
+ for (;st.hasMoreTokens();) {
+ al.add(nsc.derefQName(st.nextToken()));
+ }
+ _s.setProperties(al.toArray(new QName[] {}));
+ }
+
+ }
+
+ public CorrelationSet getCorrelationSet() {
+ return _s;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_CORRELATIONSET;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelCorrelationSetState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationSetsState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationSetsState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationSetsState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationSetsState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,63 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.CorrelationSet;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+class BpelCorrelationSetsState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private ArrayList<CorrelationSet> _csets;
+
+ private BpelCorrelationSetsState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ _csets = new ArrayList<CorrelationSet>();
+ }
+
+ public Iterator<CorrelationSet> getCorrelationSets() {
+ return _csets.iterator();
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#handleChildCompleted(org.apache.ode.sax.fsa.State)
+ */
+ public void handleChildCompleted(State pn) throws ParseException {
+ if (pn.getType() == BPEL_CORRELATIONSET) {
+ _csets.add(((BpelCorrelationSetState)pn).getCorrelationSet());
+ } else {
+ super.handleChildCompleted(pn);
+ }
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_CORRELATIONSETS;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelCorrelationSetsState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,69 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.Correlation;
+import org.apache.ode.bom.impl.nodes.CorrelationImpl;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+import org.apache.ode.sax.evt.XmlAttributes;
+
+class BpelCorrelationState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private CorrelationImpl _c;
+
+ BpelCorrelationState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ XmlAttributes atts = se.getAttributes();
+ _c = new CorrelationImpl();
+ _c.setNamespaceContext(se.getNamespaceContext());
+ _c.setLineNo(se.getLocation().getLineNumber());
+ _c.setCorrelationSet(atts.getValue("set"));
+ _c.setInitiate(getInitiateYesNo(atts));
+ if (atts.hasAtt("pattern")) {
+ String pat = atts.getValue("pattern");
+ if (pat.equals("out") || pat.equals("response")) {
+ _c.setPattern(Correlation.CORRPATTERN_OUT);
+ } else if (pat.equals("in") || pat.equals("request")) {
+ _c.setPattern(Correlation.CORRPATTERN_IN);
+ } else if (pat.equals("out-in") || pat.equals("request-response")) {
+ _c.setPattern(Correlation.CORRPATTERN_INOUT);
+ } else {
+ throw new IllegalStateException("Bad correlation pattern: " + pat);
+ }
+ }
+
+ }
+
+ public Correlation getCorrelation() {
+ return _c;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_CORRELATION;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelCorrelationState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationsState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationsState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationsState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelCorrelationsState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,63 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.Correlation;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+class BpelCorrelationsState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private ArrayList<Correlation> _cs;
+
+ private BpelCorrelationsState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ _cs = new ArrayList<Correlation>();
+ }
+
+ public Iterator<Correlation> getCorrelations() {
+ return _cs.iterator();
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#handleChildCompleted(org.apache.ode.sax.fsa.State)
+ */
+ public void handleChildCompleted(State pn) throws ParseException {
+ if (pn.getType() == BPEL_CORRELATION) {
+ _cs.add(((BpelCorrelationState)pn).getCorrelation());
+ } else {
+ super.handleChildCompleted(pn);
+ }
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_CORRELATIONS;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelCorrelationsState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelEmptyActivityState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelEmptyActivityState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelEmptyActivityState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelEmptyActivityState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,48 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.Activity;
+import org.apache.ode.bom.impl.nodes.EmptyActivityImpl;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+
+class BpelEmptyActivityState extends BpelBaseActivityState {
+
+ private static final StateFactory _factory = new Factory();
+
+ BpelEmptyActivityState(StartElement se, ParseContext pc) throws ParseException {
+ super(se,pc);
+ }
+
+ protected Activity createActivity(StartElement se) {
+ return new EmptyActivityImpl();
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_EMPTY;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelEmptyActivityState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelEventHandlersState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelEventHandlersState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelEventHandlersState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelEventHandlersState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,75 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.OnAlarm;
+import org.apache.ode.bom.api.OnEvent;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+class BpelEventHandlersState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private ArrayList<OnEvent> _e;
+ private ArrayList<OnAlarm> _a;
+
+ BpelEventHandlersState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ _e = new ArrayList<OnEvent>();
+ _a = new ArrayList<OnAlarm>();
+ }
+
+ public Iterator<OnEvent> getOnEventHandlers() {
+ return _e.iterator();
+ }
+
+ public Iterator<OnAlarm> getOnAlarmHandlers() {
+ return _a.iterator();
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#handleChildCompleted(org.apache.ode.sax.fsa.State)
+ */
+ public void handleChildCompleted(State pn) throws ParseException {
+ switch (pn.getType()) {
+ case BPEL_ONEVENT:
+ _e.add(((BpelOnEventState)pn).getOnEventHandler());
+ break;
+ case BPEL_ONALARM:
+ _a.add(((BpelOnAlarmState)pn).getOnAlarmHandler());
+ break;
+ default:
+ super.handleChildCompleted(pn);
+ }
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_EVENTHANDLERS;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelEventHandlersState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelExitActivityState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelExitActivityState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelExitActivityState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelExitActivityState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,48 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.Activity;
+import org.apache.ode.bom.impl.nodes.TerminateActivityImpl;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+
+class BpelExitActivityState extends BpelBaseActivityState {
+
+ private static final StateFactory _factory = new Factory();
+
+ BpelExitActivityState(StartElement se, ParseContext pc) throws ParseException {
+ super(se,pc);
+ }
+
+ protected Activity createActivity(StartElement se) {
+ return new TerminateActivityImpl();
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_EXIT;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelExitActivityState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelExpressionState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelExpressionState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelExpressionState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelExpressionState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,73 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.Expression;
+import org.apache.ode.bom.impl.nodes.ExpressionImpl;
+import org.apache.ode.sax.fsa.*;
+import org.apache.ode.sax.evt.SaxEvent;
+import org.apache.ode.sax.evt.StartElement;
+import org.apache.ode.sax.evt.XmlAttributes;
+
+class BpelExpressionState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private ExpressionImpl _expr;
+ private DOMGenerator _domGenerator;
+
+ BpelExpressionState(StartElement se,ParseContext pc) throws ParseException {
+ super(pc);
+
+ XmlAttributes attr = se.getAttributes();
+ if(attr.hasAtt("expressionLanguage")){
+ _expr = new ExpressionImpl(attr.getValue("expressionLanguage"));
+ }else{
+ _expr = new ExpressionImpl();
+ }
+ _expr.setNamespaceContext(se.getNamespaceContext());
+ _expr.setLineNo(se.getLocation().getLineNumber());
+
+ _domGenerator = new DOMGenerator();
+ }
+
+ Expression getExpression(){
+ return _expr;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#handleSaxEvent(org.apache.ode.sax.evt.SaxEvent)
+ */
+ public void handleSaxEvent(SaxEvent se) throws ParseException {
+ _domGenerator.handleSaxEvent(se);
+ }
+ /**
+ * @see org.apache.ode.sax.fsa.State#done()
+ */
+ public void done(){
+ _expr.setNode(_domGenerator.getRoot());
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_EXPRESSION;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelExpressionState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelFaultHandlersState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelFaultHandlersState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelFaultHandlersState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelFaultHandlersState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,66 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.FaultHandler;
+import org.apache.ode.bom.impl.nodes.FaultHandlerImpl;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+
+class BpelFaultHandlersState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private FaultHandlerImpl _f;
+
+ private BpelFaultHandlersState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ _f = new FaultHandlerImpl();
+ _f.setNamespaceContext(se.getNamespaceContext());
+ _f.setLineNo(se.getLocation().getLineNumber());
+ }
+
+ public FaultHandler getFaultHandler() {
+ return _f;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#handleChildCompleted(org.apache.ode.sax.fsa.State)
+ */
+ public void handleChildCompleted(State pn) throws ParseException {
+ switch (pn.getType()) {
+ case BPEL_CATCH:
+ case BPEL_CATCHALL:
+ _f.addCatch(((BpelCatchAllState)pn).getCatch());
+ break;
+ default:
+ super.handleChildCompleted(pn);
+ }
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_FAULTHANDLERS;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelFaultHandlersState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelFlowActivityState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelFlowActivityState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelFlowActivityState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelFlowActivityState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,65 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.Activity;
+import org.apache.ode.bom.api.Link;
+import org.apache.ode.bom.impl.nodes.FlowActivityImpl;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+
+import java.util.Iterator;
+
+class BpelFlowActivityState extends BpelBaseActivityState {
+
+ private static final StateFactory _factory = new Factory();
+
+ BpelFlowActivityState(StartElement se, ParseContext pc) throws ParseException {
+ super(se,pc);
+ }
+
+ protected Activity createActivity(StartElement se) {
+ return new FlowActivityImpl();
+ }
+
+ public void handleChildCompleted(State pn) throws ParseException {
+ if (pn instanceof ActivityStateI) {
+ ((FlowActivityImpl)getActivity()).addChild(((ActivityStateI)pn).getActivity());
+ } else if (pn.getType() == BaseBpelState.BPEL_LINKS){
+ FlowActivityImpl fai = (FlowActivityImpl) getActivity();
+ for (Iterator<Link> it = ((BpelLinksState)pn).getLinks();it.hasNext();) {
+ fai.addLink(it.next());
+ }
+ } else {
+ super.handleChildCompleted(pn);
+ }
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_FLOW;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelFlowActivityState(se, pc);
+ }
+ }
+
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelForState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelForState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelForState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelForState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,38 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+
+import org.xml.sax.SAXParseException;
+
+class BpelForState extends BpelExpressionState {
+ /**
+ * @param se
+ * @throws SAXParseException
+ */
+ public BpelForState(StartElement se, ParseContext pc) throws ParseException {
+ super(se,pc);
+ }
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_FOR;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelForState(se,pc);
+ }
+ }
+
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelFromState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelFromState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelFromState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelFromState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,153 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.From;
+import org.apache.ode.bom.api.LiteralVal;
+import org.apache.ode.bom.impl.nodes.*;
+import org.apache.ode.bpel.parser.BpelProcessBuilder;
+import org.apache.ode.sax.fsa.*;
+import org.apache.ode.sax.evt.SaxEvent;
+import org.apache.ode.sax.evt.StartElement;
+import org.apache.ode.sax.evt.XmlAttributes;
+import org.apache.ode.sax.evt.attspec.FilterSpec;
+import org.apache.ode.sax.evt.attspec.XmlAttributeSpec;
+import org.apache.ode.utils.NSContext;
+
+import org.w3c.dom.Element;
+import org.xml.sax.Locator;
+
+class BpelFromState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private From _f;
+
+ private XmlAttributeSpec PLINK_EP = new FilterSpec(
+ new String[] {"partnerLink","endpointReference"},new String[] {});
+
+ private XmlAttributeSpec VAR = new FilterSpec(
+ new String[] {"variable"},
+ new String[] {"part"});
+
+ private XmlAttributeSpec VAR_PROP = new FilterSpec(
+ new String[] {"variable","property"},new String[] {});
+
+ private NSContext _nsctx;
+ private String _expressionLanguage;
+ private Locator _locator;
+ private ExpressionImpl _expr;
+ private DOMGenerator _domGenerator;
+ private StartElement _se;
+
+
+ BpelFromState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ _se = se;
+ _locator = se.getLocation();
+ _nsctx = se.getNamespaceContext();
+ XmlAttributes atts = se.getAttributes();
+ _expressionLanguage = atts.getValue("expressionLanguage");
+ if (VAR_PROP.matches(atts)) {
+ PropertyValImpl pvi = new PropertyValImpl(se.getNamespaceContext());
+ pvi.setLineNo(se.getLocation().getLineNumber());
+ pvi.setVariable(atts.getValue("variable"));
+ pvi.setProperty(se.getNamespaceContext().derefQName(atts.getValue("property")));
+ _f = pvi;
+ } else if (VAR.matches(atts)) {
+ VariableValImpl vvi = new VariableValImpl();
+ vvi.setLineNo(se.getLocation().getLineNumber());
+ vvi.setVariable(atts.getValue("variable"));
+ vvi.setPart(atts.getValue("part"));
+ _f = vvi;
+ } else if (PLINK_EP.matches(atts)) {
+ PartnerLinkValImpl pvi = new PartnerLinkValImpl();
+ pvi.setLineNo(se.getLocation().getLineNumber());
+ pvi.setPartnerLink(atts.getValue("partnerLink"));
+ pvi.setEndpointReference(atts.getValue("endpointReference"));
+ _f = pvi;
+ } else {
+ _domGenerator = new DOMGenerator();
+ }
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#handleSaxEvent(org.apache.ode.sax.evt.SaxEvent)
+ */
+ public void handleSaxEvent(SaxEvent se) throws ParseException {
+ if (_domGenerator == null) {
+ getParseContext().parseError(ParseError.ERROR,se,"", "Unexpected content in <from> element.");
+
+ }
+ // if we're here, then we're parsing a literal
+ _domGenerator.handleSaxEvent(se);
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#done()
+ */
+ public void done(){
+ if(_domGenerator != null && _f == null){
+ if(_domGenerator.getRoot() instanceof Element
+ && ((Element)_domGenerator.getRoot()).getLocalName().equals("literal")
+ && ((Element)_domGenerator.getRoot()).getNamespaceURI() != null
+ && ((Element)_domGenerator.getRoot()).getNamespaceURI().equals(BpelProcessBuilder.WSBPEL2_0_NS)){
+ LiteralVal literal = new LiteralValImpl(_nsctx);
+ literal.setLiteral((Element)_domGenerator.getRoot());
+ _f = literal;
+ }else{
+ if(_expressionLanguage != null){
+ _expr = new ExpressionImpl(_expressionLanguage);
+ }else{
+ _expr = new ExpressionImpl();
+ }
+
+ _expr.setNamespaceContext(_se.getNamespaceContext());
+ _expr.setLineNo(_se.getLocation().getLineNumber());
+ _expr.setNode(_domGenerator.getRoot());
+ ExpressionValImpl evi = new ExpressionValImpl(_expr.getNamespaceContext());
+ evi.setExpression(_expr);
+ _f = evi;
+ }
+ }
+ }
+
+ public void handleChildCompleted(State pn) throws ParseException {
+ switch(pn.getType()){
+ case BPEL_SERVICE_REF:
+ // TODO: Implement assignments from a service-ref.
+ getParseContext().parseError(ParseError.ERROR,_f,"",
+ "Assignment from a service reference is not currently supported.");
+ break;
+ default:
+ super.handleChildCompleted(pn);
+ }
+ }
+
+ public From getFrom() {
+ return _f;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_FROM;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelFromState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelGraph_2_0.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelGraph_2_0.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelGraph_2_0.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelGraph_2_0.java Mon May 1 14:37:44 2006
@@ -0,0 +1,322 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+
+import javax.xml.namespace.QName;
+
+import org.apache.ode.bpel.parser.BpelProcessBuilder;
+import org.apache.ode.sax.fsa.AbstractGraphProvider;
+import org.apache.ode.sax.fsa.StateFactory;
+
+public class BpelGraph_2_0 extends AbstractGraphProvider implements Bpel20QNames {
+
+ private static final HashMap<QName,StateFactory> _ACTIVITIES = new HashMap<QName,StateFactory>();
+ static {
+ _ACTIVITIES.put(Bpel20QNames.ASSIGN,new BpelAssignActivityState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.EMPTY,new BpelEmptyActivityState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.INVOKE,new BpelInvokeActivityState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.RECEIVE,new BpelReceiveActivityState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.REPLY,new BpelReplyActivityState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.WAIT,new BpelWaitActivityState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.THROW,new BpelThrowActivityState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.COMPENSATE,new BpelCompensateActivityState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.RETHROW,new BpelRethrowActivityState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.EXIT,new BpelExitActivityState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.FLOW,new BpelFlowActivityState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.SWITCH,new BpelSwitchActivityState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.WHILE,new BpelWhileActivityState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.SEQUENCE,new BpelSequenceActivityState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.PICK,new BpelPickActivityState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.SCOPE,new BpelScopeState.Factory());
+ _ACTIVITIES.put(Bpel20QNames.IF, new BpelIfActivityState.Factory());
+ }
+
+ private static final HashSet<QName> _20EXTENSIBLE_ELEMENTS = new HashSet<QName>();
+ static {
+ //
+ // Aligned with Sept 6th, 2005 draft WSBPEL
+ //
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.ASSIGN);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.COPY);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.CATCH);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.CATCHALL);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.CONDITION);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.CORRELATION);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.CORRELATIONS);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.CORRELATIONSETS);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.COMPENSATE);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.COMPENSATIONHANDLER);
+ // _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.DOCUMENTATION);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.ELSE);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.ELSEIF);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.EMPTY);
+ // not defined yet
+ // _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.EXTENSION_ACTIVITY);
+ // not defined yet
+ // _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.EXTENSIBLE_ASSIGN);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.EVENTHANDLERS);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.EXIT);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.FAULTHANDLERS);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.FLOW);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.FOR);
+ // not defined yet
+ // _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.FOREACH);
+
+ // Creates a problem with literal assignment:
+ //_20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.FROM);
+
+ // _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.FROM_PART);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.IF);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.IMPORT);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.INVOKE);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.JOIN_CONDITION);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.LINK);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.LINKS);
+ // _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.LITERAL);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.ONALARM);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.ONEVENT);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.ONMESSAGE);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.PARTNERLINK);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.PARTNERLINKS);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.PICK);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.PROCESS);
+ // _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.PROPERTY);
+ // _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.PROPERTY_ALIAS);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.QUERY);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.RECEIVE);
+ // not defined yet
+ //_20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.REPEAT_UNTIL);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.REPLY);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.REPEAT_EVERY);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.RETHROW);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.SEQUENCE);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.SERVICE_REF);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.SCOPE);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.SOURCE);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.SOURCES);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.TARGET);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.TARGETS);
+ // not defined yet
+ // _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.TERMINATE);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.TERMINATIONHANDLER);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.THEN);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.TRANSITION_CONDITION);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.THROW);
+
+ // May create problems with expression languages:
+ // _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.TO);
+ // _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.TO_PART);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.UNTIL);
+ // not defined yet
+ // _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.VALIDATE);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.VARIABLE);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.VARIABLES);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.WAIT);
+ _20EXTENSIBLE_ELEMENTS.add(Bpel20QNames.WHILE);
+
+ // Add all activities.
+ for (Iterator<QName> it = _ACTIVITIES.keySet().iterator(); it.hasNext();) {
+ _20EXTENSIBLE_ELEMENTS.add(it.next());
+ }
+ }
+
+ public BpelGraph_2_0() {
+ super();
+ initBpel();
+ }
+
+ public static QName get20QName(String s) {
+ return new Bpel20QName(s);
+ }
+
+ public static StateFactory getRootStateFactory() {
+ return new BpelProcessState.Factory();
+ }
+ /*
+ * Build the graph for BPEL4WS 2.0
+ */
+ private void initBpel() {
+
+ addActivities();
+
+ addQNameEdge("ASSIGN","COPY",Bpel20QNames.COPY);
+ addStateFactory("COPY",new BpelCopyState.Factory());
+ addStateFactory("FROM",new BpelFromState.Factory());
+ addStateFactory("EXPR", new BpelExpressionState.Factory());
+ addStateFactory("QUERY", new BpelQueryState.Factory());
+
+ addQNameEdge("COPY","FROM",Bpel20QNames.FROM);
+ // TODO Add edge to service-ref
+ addStateFactory("TO",new BpelToState.Factory());
+ addQNameEdge("COPY","TO",Bpel20QNames.TO);
+
+ addStateFactory("IMPORT", new BpelImportState.Factory());
+
+ addStateFactory("PARTNERLINKS",new BpelPartnerLinksState.Factory());
+ addStateFactory("PARTNERLINK",new BpelPartnerLinkState.Factory());
+ addQNameEdge("PARTNERLINKS","PARTNERLINK",Bpel20QNames.PARTNERLINK);
+
+ addStateFactory("VARIABLES",new BpelVariablesState.Factory());
+ addStateFactory("VARIABLE",new BpelVariableState.Factory());
+ addQNameEdge("VARIABLES","VARIABLE",Bpel20QNames.VARIABLE);
+
+ addStateFactory("CORRELATIONSETS",new BpelCorrelationSetsState.Factory());
+ addStateFactory("CORRELATIONSET",new BpelCorrelationSetState.Factory());
+ addQNameEdge("CORRELATIONSETS","CORRELATIONSET",Bpel20QNames.CORRELATIONSET);
+
+ addStateFactory("CORRELATIONS",new BpelCorrelationsState.Factory());
+ addStateFactory("CORRELATION",new BpelCorrelationState.Factory());
+ addQNameEdge("CORRELATIONS","CORRELATION",Bpel20QNames.CORRELATION);
+
+ addStateFactory("FAULTHANDLERS",new BpelFaultHandlersState.Factory());
+ addStateFactory("CATCH",new BpelCatchState.Factory());
+ addStateFactory("CATCHALL",new BpelCatchAllState.Factory());
+ addQNameEdge("FAULTHANDLERS","CATCH",Bpel20QNames.CATCH);
+ addQNameEdge("FAULTHANDLERS","CATCHALL",Bpel20QNames.CATCHALL);
+
+ addStateFactory("EVENTHANDLERS",new BpelEventHandlersState.Factory());
+
+ addStateFactory("ONEVENT",new BpelOnEventState.Factory());
+ addQNameEdge("ONEVENT","CORRELATIONS",Bpel20QNames.CORRELATIONS);
+ addQNameEdge("EVENTHANDLERS","ONEVENT",Bpel20QNames.ONEVENT);
+ addStateFactory("ONALARM",new BpelOnAlarmState.Factory());
+ addQNameEdge("EVENTHANDLERS","ONALARM",Bpel20QNames.ONALARM);
+
+ addStateFactory("COMPENSATIONHANDLER",new BpelCompensationHandlerState.Factory());
+ addStateFactory("TERMINATIONHANDLER",new BpelTerminationHandlerState.Factory());
+
+ addStateFactory("20PROCESS",new BpelProcessState.Factory());
+ addQNameEdge("20PROCESS","IMPORT",Bpel20QNames.IMPORT);
+ addQNameEdge("20PROCESS","PARTNERLINKS",Bpel20QNames.PARTNERLINKS);
+ addQNameEdge("20PROCESS","VARIABLES",Bpel20QNames.VARIABLES);
+ addQNameEdge("20PROCESS","CORRELATIONSETS",Bpel20QNames.CORRELATIONSETS);
+ addQNameEdge("20PROCESS","FAULTHANDLERS",Bpel20QNames.FAULTHANDLERS);
+ addQNameEdge("20PROCESS","COMPENSATIONHANDLER",Bpel20QNames.COMPENSATIONHANDLER);
+ addQNameEdge("20PROCESS","TERMINATIONHANDLER",Bpel20QNames.TERMINATIONHANDLER);
+ addQNameEdge("20PROCESS","EVENTHANDLERS",Bpel20QNames.EVENTHANDLERS);
+
+ addQNameEdge("SCOPE","VARIABLES",Bpel20QNames.VARIABLES);
+ addQNameEdge("SCOPE","PARTNERLINKS",Bpel20QNames.PARTNERLINKS);
+ addQNameEdge("SCOPE","CORRELATIONSETS",Bpel20QNames.CORRELATIONSETS);
+ addQNameEdge("SCOPE","FAULTHANDLERS",Bpel20QNames.FAULTHANDLERS);
+ addQNameEdge("SCOPE","COMPENSATIONHANDLER",Bpel20QNames.COMPENSATIONHANDLER);
+ addQNameEdge("SCOPE","TERMINATIONHANDLER",Bpel20QNames.TERMINATIONHANDLER);
+ addQNameEdge("SCOPE","EVENTHANDLERS",Bpel20QNames.EVENTHANDLERS);
+
+ addStateFactory("CONDITION", new BpelExpressionState.Factory());
+ addStateFactory("FOR", new BpelForState.Factory());
+ addStateFactory("UNTIL", new BpelUntilState.Factory());
+ addStateFactory("REPEATEVERY", new BpelRepeatEveryState.Factory());
+
+ addActivityTransitionsTo("20PROCESS");
+ addActivityTransitionsTo("COMPENSATIONHANDLER");
+ addActivityTransitionsTo("TERMINATIONHANDLER");
+ addActivityTransitionsTo("CATCH");
+ addActivityTransitionsTo("CATCHALL");
+ addQNameEdge("SWITCH","CASE", Bpel20QNames.CASE);
+ addQNameEdge("SWITCH","OTHERWISE", Bpel20QNames.OTHERWISE);
+ addStateFactory("CASE", new BpelSwitchActivityState.CaseState.Factory());
+ addQNameEdge("CASE", "CONDITION", Bpel20QNames.CONDITION);
+ addStateFactory("OTHERWISE", new BpelSwitchActivityState.OtherwiseState.Factory());
+
+ addStateFactory("IF", new BpelIfActivityState.Factory());
+ addStateFactory("THEN", new BpelIfActivityState.ThenState.Factory());
+ addStateFactory("ELSEIF", new BpelIfActivityState.ElseIfState.Factory());
+ addStateFactory("ELSE", new BpelIfActivityState.ElseState.Factory());
+ addQNameEdge("IF", "CONDITION", Bpel20QNames.CONDITION);
+ addQNameEdge("IF", "THEN", Bpel20QNames.THEN);
+ addQNameEdge("IF", "ELSEIF", Bpel20QNames.ELSEIF);
+ addQNameEdge("IF", "ELSE", Bpel20QNames.ELSE);
+ addQNameEdge("ELSEIF", "CONDITION", Bpel20QNames.CONDITION);
+
+ addQNameEdge("WHILE", "CONDITION", Bpel20QNames.CONDITION);
+ addQNameEdge("WAIT", "FOR", Bpel20QNames.FOR);
+ addQNameEdge("WAIT", "UNTIL", Bpel20QNames.UNTIL);
+
+ addActivityTransitionsTo("THEN");
+ addActivityTransitionsTo("ELSEIF");
+ addActivityTransitionsTo("ELSE");
+ addActivityTransitionsTo("CASE");
+ addActivityTransitionsTo("OTHERWISE");
+ addActivityTransitionsTo("SEQUENCE");
+ addActivityTransitionsTo("FLOW");
+ addActivityTransitionsTo("WHILE");
+ addActivityTransitionsTo("SCOPE");
+ addActivityTransitionsTo("ONMESSAGE");
+ addActivityTransitionsTo("ONEVENT");
+ addActivityTransitionsTo("ONALARM");
+
+ // onMessage is only used by pick in 2.0.
+ addStateFactory("ONMESSAGE",new BpelOnMessageState.Factory());
+ addQNameEdge("ONMESSAGE","CORRELATIONS",Bpel20QNames.CORRELATIONS);
+ addQNameEdge("PICK","ONMESSAGE",Bpel20QNames.ONMESSAGE);
+ addQNameEdge("PICK","ONALARM",Bpel20QNames.ONALARM);
+
+ addQNameEdge("ONALARM", "FOR", Bpel20QNames.FOR);
+ addQNameEdge("ONALARM", "UNTIL", Bpel20QNames.UNTIL);
+ addQNameEdge("ONALARM", "REPEATEVERY", Bpel20QNames.REPEAT_EVERY);
+
+ addQNameEdge("INVOKE","CORRELATIONS",Bpel20QNames.CORRELATIONS);
+ addQNameEdge("INVOKE","CATCH",Bpel20QNames.CATCH);
+ addQNameEdge("INVOKE","CATCHALL",Bpel20QNames.CATCHALL);
+ addQNameEdge("INVOKE","COMPENSATIONHANDLER",Bpel20QNames.COMPENSATIONHANDLER);
+
+ addQNameEdge("RECEIVE","CORRELATIONS",Bpel20QNames.CORRELATIONS);
+ addQNameEdge("REPLY","CORRELATIONS",Bpel20QNames.CORRELATIONS);
+
+ addStateFactory("LINKS",new BpelLinksState.Factory());
+ addStateFactory("LINK",new BpelLinkState.Factory());
+ addQNameEdge("FLOW","LINKS",Bpel20QNames.LINKS);
+ addQNameEdge("LINKS","LINK",Bpel20QNames.LINK);
+
+ //addQNameEdge(START,"PROCESS",Bpel20QNames.PROCESS);
+
+ addExtensibilityEdges();
+ }
+
+ private void addExtensibilityEdges() {
+ addStateFactory("EXTENSIBILITY_BUCKET", new ExtensibilityBucketState.Factory());
+ addOtherEdge("20PROCESS","EXTENSIBILITY_BUCKET",BpelProcessBuilder.WSBPEL2_0_NS);
+ for(Iterator<QName> it = _20EXTENSIBLE_ELEMENTS.iterator();it.hasNext();) {
+ QName qn = it.next();
+ String nodename = qn.getLocalPart().toUpperCase();
+ addOtherEdge(nodename,"EXTENSIBILITY_BUCKET",BpelProcessBuilder.WSBPEL2_0_NS);
+ }
+ }
+
+ private void addActivities() {
+ addStateFactory("SOURCES",new BpelLinkSourcesState.Factory());
+ addStateFactory("SOURCE",new BpelLinkSourceState.Factory());
+ addStateFactory("TARGETS",new BpelLinkTargetsState.Factory());
+ addStateFactory("JOINCONDITION", new BpelExpressionState.Factory());
+ addStateFactory("TARGET",new BpelLinkTargetState.Factory());
+ addStateFactory("TCONDITION", new BpelExpressionState.Factory());
+ addQNameEdge("TARGETS", "JOINCONDITION", Bpel20QNames.JOIN_CONDITION);
+ addQNameEdge("TARGETS", "TARGET", Bpel20QNames.TARGET);
+ addQNameEdge("SOURCE", "TCONDITION", Bpel20QNames.TRANSITION_CONDITION);
+ addQNameEdge("SOURCES", "SOURCE", Bpel20QNames.SOURCE);
+
+ for (Iterator<QName> it = _ACTIVITIES.keySet().iterator();it.hasNext();) {
+ QName qn = it.next();
+ String nodename = qn.getLocalPart().toUpperCase();
+ addStateFactory(nodename, _ACTIVITIES.get(qn));
+ addQNameEdge(nodename,"SOURCES",Bpel20QNames.SOURCES);
+ addQNameEdge(nodename,"TARGETS",Bpel20QNames.TARGETS);
+ }
+ }
+
+ private void addActivityTransitionsTo(String source) {
+ for (Iterator<QName> it = _ACTIVITIES.keySet().iterator();it.hasNext();) {
+ QName qn = it.next();
+ String nodename = qn.getLocalPart().toUpperCase();
+ addQNameEdge(source,nodename,qn);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelIfActivityState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelIfActivityState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelIfActivityState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelIfActivityState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,172 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.Activity;
+import org.apache.ode.bom.api.Expression;
+import org.apache.ode.bom.impl.nodes.SwitchActivityImpl;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+
+class BpelIfActivityState extends BpelBaseActivityState {
+ private static final StateFactory _factory = new Factory();
+ private Expression _ifExpr;
+
+ BpelIfActivityState(StartElement se, ParseContext pc) throws ParseException {
+ super(se,pc);
+ }
+ protected Activity createActivity(StartElement se) {
+ return new SwitchActivityImpl();
+ }
+ public void handleChildCompleted(State pn) throws ParseException {
+ switch(pn.getType()){
+ case BPEL_THEN:
+ if(_ifExpr == null)
+ throw new IllegalStateException("Missing 'if' condition");
+ ((SwitchActivityImpl) getActivity()).addCase(_ifExpr,
+ ((ThenState)pn).getActivity());
+ break;
+ case BPEL_EXPRESSION:
+ _ifExpr = ((BpelExpressionState)pn).getExpression();
+ break;
+ case BPEL_ELSEIF:
+ ElseIfState c = (ElseIfState) pn;
+ ((SwitchActivityImpl) getActivity()).addCase(c.getExpression(), c
+ .getActivity());
+ break;
+ case BPEL_ELSE:
+ ((SwitchActivityImpl) getActivity()).addCase(null,
+ ((ElseState) pn).getActivity());
+ break;
+ default:
+ super.handleChildCompleted(pn);
+ }
+ }
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_IF;
+ }
+ static class Factory implements StateFactory {
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelIfActivityState(se,pc);
+ }
+ }
+ static class ElseIfState extends ElseState {
+ private static final StateFactory _factory = new Factory();
+ private Expression _e;
+ ElseIfState(StartElement se,ParseContext pc) throws ParseException {
+ super(se,pc);
+ }
+ public void handleChildCompleted(State pn) throws ParseException {
+ switch (pn.getType()) {
+ case BPEL_EXPRESSION :
+ _e = ((BpelExpressionState) pn).getExpression();
+ break;
+ default :
+ super.handleChildCompleted(pn);
+ }
+ }
+ public Expression getExpression() {
+ return _e;
+ }
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_ELSEIF;
+ }
+ static class Factory implements StateFactory {
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new ElseIfState(se,pc);
+ }
+ }
+ }
+ static class ElseState extends BaseBpelState {
+ private static final StateFactory _factory = new Factory();
+ private Activity _a;
+ ElseState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ }
+ public void handleChildCompleted(State pn) throws ParseException {
+ if (pn instanceof ActivityStateI) {
+ _a = ((ActivityStateI) pn).getActivity();
+ } else {
+ super.handleChildCompleted(pn);
+ }
+ }
+ public Activity getActivity() {
+ return _a;
+ }
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_ELSE;
+ }
+ static class Factory implements StateFactory {
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new ElseState(se,pc);
+ }
+ }
+ }
+ static class ThenState extends BaseBpelState {
+ private static final StateFactory _factory = new Factory();
+ private Activity _a;
+ ThenState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ }
+ public void handleChildCompleted(State pn) throws ParseException {
+ if (pn instanceof ActivityStateI) {
+ _a = ((ActivityStateI) pn).getActivity();
+ } else {
+ super.handleChildCompleted(pn);
+ }
+ }
+ public Activity getActivity() {
+ return _a;
+ }
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_THEN;
+ }
+ static class Factory implements StateFactory {
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new ThenState(se,pc);
+ }
+ }
+ }
+}
\ No newline at end of file
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelImportState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelImportState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelImportState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelImportState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,63 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.Import;
+import org.apache.ode.bom.impl.nodes.ImportImpl;
+import org.apache.ode.sax.fsa.*;
+import org.apache.ode.sax.evt.StartElement;
+import org.apache.ode.sax.evt.XmlAttributes;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+class BpelImportState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private Import _import;
+
+ private BpelImportState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ _import = new ImportImpl();
+ XmlAttributes attr = se.getAttributes();
+ _import.setImportType(attr.getValue("importType"));
+ try {
+ _import.setLocation(new URI(attr.getValue("location")));
+ } catch (URISyntaxException e) {
+ // TODO: Error or warning?
+ // TODO: Add meaningful key.
+ getParseContext().parseError(ParseError.ERROR,se,"","Unable to parse URI '" + attr.getValue("location") + "'");
+ }
+ _import.setNamespace(attr.getValue("namespace"));
+ _import.setLineNo(se.getLocation().getLineNumber());
+ _import.setNamespaceContext(se.getNamespaceContext());
+ }
+
+ Import getImport(){
+ return _import;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_IMPORT;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelImportState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelInvokeActivityState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelInvokeActivityState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelInvokeActivityState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelInvokeActivityState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,80 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.Activity;
+import org.apache.ode.bom.api.Correlation;
+import org.apache.ode.bom.impl.nodes.InvokeActivityImpl;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+import org.apache.ode.sax.evt.XmlAttributes;
+
+import java.util.Iterator;
+
+class BpelInvokeActivityState extends BpelBaseActivityState {
+
+ private static final StateFactory _factory = new Factory();
+
+ BpelInvokeActivityState(StartElement se, ParseContext pc) throws ParseException {
+ super(se,pc);
+ }
+
+ protected Activity createActivity(StartElement se) {
+ InvokeActivityImpl iai = new InvokeActivityImpl();
+ XmlAttributes atts = se.getAttributes();
+ iai.setPortType(se.getNamespaceContext().derefQName(atts.getValue("portType")));
+ iai.setPartnerLink(atts.getValue("partnerLink"));
+ iai.setOperation(atts.getValue("operation"));
+ iai.setInputVar(atts.getValue("inputVariable"));
+ iai.setOutputVar(atts.getValue("outputVariable"));
+ return iai;
+ }
+
+ public void handleChildCompleted(State pn) throws ParseException {
+ InvokeActivityImpl iai = (InvokeActivityImpl) getActivity();
+ switch (pn.getType()) {
+ case BaseBpelState.BPEL_CORRELATIONS:
+ for (Iterator<Correlation> it = ((BpelCorrelationsState)pn).getCorrelations();it.hasNext();) {
+ iai.addCorrelation(it.next());
+ }
+ break;
+ case BaseBpelState.BPEL_CATCH:
+ iai.getFaultHandler().addCatch(((BpelCatchState)pn).getCatch());
+ break;
+ case BaseBpelState.BPEL_CATCHALL:
+ iai.getFaultHandler().addCatch(((BpelCatchAllState)pn).getCatch());
+ break;
+ case BaseBpelState.BPEL_COMPENSATIONHANDLER:
+ iai.setCompensationHandler(((BpelCompensationHandlerState)pn).getCompensationHandler());
+ break;
+ default:
+ super.handleChildCompleted(pn);
+ }
+ }
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_INVOKE;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelInvokeActivityState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkSourceState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkSourceState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkSourceState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkSourceState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,67 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.LinkSource;
+import org.apache.ode.bom.impl.nodes.LinkSourceImpl;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+import org.apache.ode.sax.evt.XmlAttributes;
+
+class BpelLinkSourceState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private LinkSourceImpl _s;
+
+ BpelLinkSourceState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ XmlAttributes atts = se.getAttributes();
+ _s = new LinkSourceImpl();
+ _s.setNamespaceContext(se.getNamespaceContext());
+ _s.setLineNo(se.getLocation().getLineNumber());
+ _s.setLinkName(atts.getValue("linkName"));
+ }
+
+
+ public void handleChildCompleted(State pn) throws ParseException {
+ switch (pn.getType()) {
+ case BPEL_EXPRESSION:
+ _s.setTransitionCondition(((BpelExpressionState)pn).getExpression());
+ break;
+ default:
+ super.handleChildCompleted(pn);
+ }
+ }
+
+
+ public LinkSource getSource() {
+ return _s;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_SOURCE;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelLinkSourceState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkSourcesState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkSourcesState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkSourcesState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkSourcesState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,62 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.LinkSource;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+class BpelLinkSourcesState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private ArrayList<LinkSource> _sources = new ArrayList<LinkSource>();
+
+ BpelLinkSourcesState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ }
+
+ public void handleChildCompleted(State pn) throws ParseException {
+ switch (pn.getType()) {
+ case BPEL_SOURCE:
+ _sources.add(((BpelLinkSourceState)pn).getSource());
+ break;
+ default:
+ super.handleChildCompleted(pn);
+ }
+ }
+
+
+ public Iterator<LinkSource> getSources() {
+ return _sources.iterator();
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_SOURCES;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelLinkSourcesState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,55 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.Link;
+import org.apache.ode.bom.impl.nodes.LinkImpl;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+import org.apache.ode.sax.evt.XmlAttributes;
+
+class BpelLinkState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private LinkImpl _link;
+
+ BpelLinkState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ XmlAttributes atts = se.getAttributes();
+ _link = new LinkImpl();
+ _link.setNamespaceContext(se.getNamespaceContext());
+ _link.setLineNo(se.getLocation().getLineNumber());
+ _link.setLinkName(atts.getValue("name"));
+ }
+
+ public Link getLink() {
+ return _link;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_LINK;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelLinkState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkTargetState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkTargetState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkTargetState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkTargetState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,55 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.LinkTarget;
+import org.apache.ode.bom.impl.nodes.LinkTargetImpl;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+import org.apache.ode.sax.evt.XmlAttributes;
+
+class BpelLinkTargetState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private LinkTargetImpl _t;
+
+ BpelLinkTargetState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ XmlAttributes atts = se.getAttributes();
+ _t = new LinkTargetImpl();
+ _t.setNamespaceContext(se.getNamespaceContext());
+ _t.setLineNo(se.getLocation().getLineNumber());
+ _t.setLinkName(atts.getValue("linkName"));
+ }
+
+ public LinkTarget getTarget() {
+ return _t;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_TARGET;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelLinkTargetState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkTargetsState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkTargetsState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkTargetsState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinkTargetsState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,69 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.Expression;
+import org.apache.ode.bom.api.LinkTarget;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+class BpelLinkTargetsState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private ArrayList<LinkTarget> _targets = new ArrayList<LinkTarget>();
+ private Expression _expr;
+
+
+ BpelLinkTargetsState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ }
+
+
+ public void handleChildCompleted(State pn) throws ParseException {
+ if(pn instanceof BpelLinkTargetState){
+ _targets.add(((BpelLinkTargetState)pn).getTarget());
+ }else if(pn instanceof BpelExpressionState){
+ _expr = ((BpelExpressionState)pn).getExpression();
+ }else{
+ super.handleChildCompleted(pn);
+ }
+ }
+
+ public Expression getJoinCondition(){
+ return _expr;
+ }
+
+ public Iterator<LinkTarget> getTargets() {
+ return _targets.iterator();
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_TARGETS;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelLinkTargetsState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinksState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinksState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinksState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLinksState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,62 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.Link;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+class BpelLinksState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private ArrayList<Link> _links = new ArrayList<Link>();
+
+ private BpelLinksState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ }
+
+ public Iterator<Link> getLinks() {
+ return _links.iterator();
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#handleChildCompleted(org.apache.ode.sax.fsa.State)
+ */
+ public void handleChildCompleted(State pn) throws ParseException {
+ if (pn.getType() == BPEL_LINK) {
+ _links.add(((BpelLinkState)pn).getLink());
+ } else {
+ super.handleChildCompleted(pn);
+ }
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_LINKS;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelLinksState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLiteral.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLiteral.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLiteral.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelLiteral.java Mon May 1 14:37:44 2006
@@ -0,0 +1,61 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.sax.fsa.*;
+import org.apache.ode.sax.evt.SaxEvent;
+import org.apache.ode.sax.evt.StartElement;
+
+import org.w3c.dom.Node;
+
+class BpelLiteral extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+
+ private DOMGenerator _domGenerator;
+
+ BpelLiteral(StartElement se,ParseContext pc) throws ParseException {
+ super(pc);
+ _domGenerator = new DOMGenerator();
+ }
+
+ Node getLiteral(){
+ return _domGenerator.getRoot();
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#handleSaxEvent(org.apache.ode.sax.evt.SaxEvent)
+ */
+ public void handleSaxEvent(SaxEvent se) throws ParseException {
+ _domGenerator.handleSaxEvent(se);
+ }
+ /**
+ * @see org.apache.ode.sax.fsa.State#done()
+ */
+ public void done(){
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_LITERAL;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelLiteral(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelOnAlarmState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelOnAlarmState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelOnAlarmState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelOnAlarmState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,66 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.OnAlarm;
+import org.apache.ode.bom.impl.nodes.OnAlarmImpl;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.fsa.ParseException;
+import org.apache.ode.sax.fsa.State;
+import org.apache.ode.sax.fsa.StateFactory;
+import org.apache.ode.sax.evt.StartElement;
+
+class BpelOnAlarmState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private OnAlarmImpl _o;
+
+ BpelOnAlarmState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ _o = new OnAlarmImpl();
+
+ }
+
+ public void handleChildCompleted(State pn) throws ParseException {
+ if (pn instanceof ActivityStateI) {
+ _o.setActivity(((ActivityStateI)pn).getActivity());
+ } else if (pn instanceof BpelForState){
+ _o.setFor(((BpelForState)pn).getExpression());
+ } else if (pn instanceof BpelUntilState){
+ _o.setUntil(((BpelUntilState)pn).getExpression());
+ } else if(pn instanceof BpelRepeatEveryState){
+ _o.setRepeatEvery(((BpelRepeatEveryState)pn).getExpression());
+ } else {
+ super.handleChildCompleted(pn);
+ }
+ // TODO repeatEvery element
+ }
+
+ public OnAlarm getOnAlarmHandler() {
+ return _o;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_ONALARM;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelOnAlarmState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelOnEventState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelOnEventState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelOnEventState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelOnEventState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,84 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.Correlation;
+import org.apache.ode.bom.api.OnEvent;
+import org.apache.ode.bom.impl.nodes.OnEventImpl;
+import org.apache.ode.sax.fsa.*;
+import org.apache.ode.sax.evt.StartElement;
+import org.apache.ode.sax.evt.XmlAttributes;
+
+import java.util.Iterator;
+
+class BpelOnEventState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private OnEventImpl _o;
+
+ BpelOnEventState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ XmlAttributes atts = se.getAttributes();
+ _o = new OnEventImpl();
+ _o.setNamespaceContext(se.getNamespaceContext());
+ _o.setLineNo(se.getLocation().getLineNumber());
+ _o.setPartnerLink(atts.getValue("partnerLink"));
+ _o.setPortType(se.getNamespaceContext().derefQName(atts.getValue("portType")));
+ _o.setOperation(atts.getValue("operation"));
+ _o.setMessageExchangeId(atts.getValue("messageExchange"));
+ _o.setMessageType(se.getNamespaceContext().derefQName(atts.getValue("messageType")));
+ if (atts.hasAtt("variable")) {
+ _o.setVariable(atts.getValue("variable"));
+ }
+ if (atts.hasAtt("element")) {
+
+ }
+ }
+
+ public void handleChildCompleted(State pn) throws ParseException {
+ if (pn instanceof ActivityStateI) {
+ _o.setActivity(((ActivityStateI)pn).getActivity());
+ } else if (pn.getType() == BaseBpelState.BPEL_CORRELATIONS){
+ for (Iterator<Correlation> it = ((BpelCorrelationsState)pn).getCorrelations();it.hasNext();) {
+ Correlation c = it.next();
+ if (c.getPattern() != Correlation.CORRPATTERN_IN) {
+ getParseContext().parseError(ParseError.WARNING,
+ c,"","Only the \"in\" pattern makes sense for a correlation on an <onMessage>.");
+ // TODO: Get an error key here.
+ }
+ c.setPattern(Correlation.CORRPATTERN_IN);
+ _o.addCorrelation(c);
+ }
+ } else {
+ super.handleChildCompleted(pn);
+ }
+ }
+
+ public OnEvent getOnEventHandler() {
+ return _o;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_ONEVENT;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelOnEventState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelOnMessageState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelOnMessageState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelOnMessageState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_2_0/BpelOnMessageState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,79 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_2_0;
+
+import org.apache.ode.bom.api.Correlation;
+import org.apache.ode.bom.api.OnMessage;
+import org.apache.ode.bom.impl.nodes.OnMessageImpl;
+import org.apache.ode.sax.fsa.*;
+import org.apache.ode.sax.evt.StartElement;
+import org.apache.ode.sax.evt.XmlAttributes;
+
+import java.util.Iterator;
+
+class BpelOnMessageState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private OnMessageImpl _o;
+
+ BpelOnMessageState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ XmlAttributes atts = se.getAttributes();
+ _o = new OnMessageImpl();
+ _o.setNamespaceContext(se.getNamespaceContext());
+ _o.setLineNo(se.getLocation().getLineNumber());
+ _o.setPartnerLink(atts.getValue("partnerLink"));
+ _o.setPortType(se.getNamespaceContext().derefQName(atts.getValue("portType")));
+ _o.setOperation(atts.getValue("operation"));
+ _o.setMessageExchangeId(atts.getValue("messageExchange"));
+ if (atts.hasAtt("variable"))
+ _o.setVariable(atts.getValue("variable"));
+ }
+
+ public void handleChildCompleted(State pn) throws ParseException {
+ if (pn instanceof ActivityStateI) {
+ _o.setActivity(((ActivityStateI)pn).getActivity());
+ } else if (pn.getType() == BaseBpelState.BPEL_CORRELATIONS){
+ for (Iterator<Correlation> it = ((BpelCorrelationsState)pn).getCorrelations();it.hasNext();) {
+ Correlation c = it.next();
+ if (c.getPattern() != Correlation.CORRPATTERN_IN) {
+ getParseContext().parseError(ParseError.WARNING,
+ c,"","Only the \"in\" pattern makes sense for a correlation on an <onMessage>.");
+ // TODO: Get an error key here.
+ }
+ c.setPattern(Correlation.CORRPATTERN_IN);
+ _o.addCorrelation(c);
+ }
+ } else {
+ super.handleChildCompleted(pn);
+ }
+ }
+
+ public OnMessage getOnMessageHandler() {
+ return _o;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getFactory()
+ */
+ public StateFactory getFactory() {
+ return _factory;
+ }
+
+ /**
+ * @see org.apache.ode.sax.fsa.State#getType()
+ */
+ public int getType() {
+ return BPEL_ONMESSAGE;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new BpelOnMessageState(se,pc);
+ }
+ }
+}