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 [5/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/FsaHandler.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/FsaHandler.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/FsaHandler.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/FsaHandler.java Mon May 1 14:37:44 2006
@@ -0,0 +1,159 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa;
+
+import org.apache.ode.sax.evt.Characters;
+import org.apache.ode.sax.evt.EndElement;
+import org.apache.ode.sax.evt.StartElement;
+import org.apache.ode.sax.evt.XmlAttributes;
+import org.apache.ode.utils.NamespaceStack;
+
+import javax.xml.namespace.QName;
+
+import org.xml.sax.*;
+
+public class FsaHandler implements ContentHandler {
+
+ private FSA _f;
+ private NamespaceStack _ns;
+ private Locator _loc;
+
+ private StringBuffer _buf;
+
+ public FsaHandler(FSA f) {
+ _f = f;
+ }
+
+ /**
+ * @see org.xml.sax.ContentHandler#setDocumentLocator(org.xml.sax.Locator)
+ */
+ public void setDocumentLocator(Locator locator) {
+ _loc = locator;
+ }
+
+ public void setParseContext(ParseContext pc ){
+ _f.setParseContext(pc);
+ }
+
+ /**
+ * @see org.xml.sax.ContentHandler#startDocument()
+ */
+ public void startDocument() throws SAXException {
+ if (_f.getParseContext() == null) {
+ throw new IllegalStateException(
+ "The parse context must be configured prior to calling parse().");
+ }
+ _f.begin();
+ _ns = new NamespaceStack();
+ _buf = new StringBuffer();
+ if (_loc != null && _loc.getSystemId() != null) {
+ _f.getParseContext().setBaseUri(_loc.getSystemId());
+ } else if (_loc != null && _loc.getPublicId() != null) {
+ _f.getParseContext().setBaseUri(_loc.getPublicId());
+ }
+ }
+
+ /**
+ * @see org.xml.sax.ContentHandler#endDocument()
+ */
+ public void endDocument() throws SAXException {
+ _f.end();
+ }
+
+ /**
+ * @see org.xml.sax.ContentHandler#startPrefixMapping(java.lang.String, java.lang.String)
+ */
+ public void startPrefixMapping(String prefix, String uri) throws SAXException {
+ _ns.declarePrefix(prefix,uri);
+ }
+
+ /**
+ * @see org.xml.sax.ContentHandler#endPrefixMapping(java.lang.String)
+ */
+ public void endPrefixMapping(String prefix) throws SAXException {
+ // do nothing.
+ }
+
+ /**
+ * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
+ */
+ public void startElement(String namespaceURI, String localName, String qName,
+ Attributes atts) throws SAXException {
+ checkflush();
+ try {
+ _f.handleSaxEvent(new StartElement(
+ new QName(namespaceURI,localName), new XmlAttributes(atts),
+ _loc,_ns.toNSContext()));
+ } catch (ParseException pe) {
+ ParseError per = pe.getParseError();
+ throw new SAXParseException(per.getMessage(),null,per.getLocationURI(),
+ per.getLine(),per.getColumn());
+ }
+ _ns.pushNewContext();
+ }
+
+ /**
+ * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
+ */
+ public void endElement(String namespaceURI, String localName, String qName)
+ throws SAXException {
+ checkflush();
+ _ns.pop();
+ try {
+ _f.handleSaxEvent(new EndElement(
+ new QName(namespaceURI,localName),_loc,_ns.toNSContext()));
+ } catch (ParseException pe) {
+ ParseError per = pe.getParseError();
+ throw new SAXParseException(per.getMessage(),null,per.getLocationURI(),
+ per.getLine(),per.getColumn());
+ }
+ }
+
+ /**
+ * @see org.xml.sax.ContentHandler#characters(char[], int, int)
+ */
+ public void characters(char[] ch, int start, int length) throws SAXException {
+ _buf.append(ch,start,length);
+ }
+
+ /**
+ * @see org.xml.sax.ContentHandler#ignorableWhitespace(char[], int, int)
+ */
+ public void ignorableWhitespace(char[] ch, int start, int length)
+ throws SAXException {
+ _buf.append(ch,start,length);
+ }
+
+ /**
+ * @see org.xml.sax.ContentHandler#processingInstruction(java.lang.String, java.lang.String)
+ */
+ public void processingInstruction(String target, String data)
+ throws SAXException {
+ checkflush();
+ // TODO: What to do?
+ }
+
+ /**
+ * @see org.xml.sax.ContentHandler#skippedEntity(java.lang.String)
+ */
+ public void skippedEntity(String name) throws SAXException {
+ checkflush();
+ // TODO: what to do?
+ }
+
+ private void checkflush() throws SAXException {
+ if (_buf.length() != 0) {
+ try {
+ _f.handleSaxEvent(new Characters(_buf.toString(),_loc,_ns.toNSContext()));
+ } catch (ParseException pe) {
+ ParseError per = pe.getParseError();
+ throw new SAXParseException(per.getMessage(),null,per.getLocationURI(),
+ per.getLine(),per.getColumn());
+ }
+ _buf.setLength(0);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/GraphProvider.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/GraphProvider.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/GraphProvider.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/GraphProvider.java Mon May 1 14:37:44 2006
@@ -0,0 +1,17 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa;
+
+import javax.xml.namespace.QName;
+
+public interface GraphProvider {
+
+ public StateFactory getStateFactory(String name) ;
+
+ public String getQNameEdge(String src, QName child);
+
+ public String getOtherEdge(String src, String uri);
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/ParseContext.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/ParseContext.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/ParseContext.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/ParseContext.java Mon May 1 14:37:44 2006
@@ -0,0 +1,23 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa;
+
+import org.apache.ode.bom.api.BpelObject;
+import org.apache.ode.sax.evt.SaxEvent;
+
+public interface ParseContext {
+
+ public void setBaseUri(String uri);
+ public String getBaseUri();
+ public void parseError(ParseError pe) throws ParseException;
+ public void parseError(short severity, SaxEvent se, String key, String msg)
+ throws ParseException;
+ public void parseError(short severity, BpelObject bo, String key, String msg)
+ throws ParseException;
+ public void parseError(short severity, String key, String msg)
+ throws ParseException;
+
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/ParseError.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/ParseError.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/ParseError.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/ParseError.java Mon May 1 14:37:44 2006
@@ -0,0 +1,45 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa;
+
+
+public interface ParseError {
+ /** Fatal severity level. */
+ public static final short FATAL = 3;
+
+ /** Error severity level. */
+ public static final short ERROR = 2;
+
+ /** Warning severity level. */
+ public static final short WARNING = 1;
+
+ /** Get the location (URI or file name) of the error/warning. */
+ public String getLocationURI();
+
+ /** Get the line number of the error/warning. */
+ public int getLine();
+
+ /** Get the column number of the error/warning. */
+ public int getColumn();
+
+ /**
+ * Get the severity of the error/warning.
+ * @return on of {@link #FATAL}, {@link #ERROR}, or {@link #WARNING}
+ */
+ public short getSeverity();
+
+ /**
+ * Get the internationalized error/warning message.
+ * @return internationalized error/warning message
+ */
+ public String getMessage();
+
+ /**
+ * Get the internationalization message key used to create the error message.
+ * @return internationalization message key
+ */
+ public String getKey();
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/ParseException.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/ParseException.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/ParseException.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/ParseException.java Mon May 1 14:37:44 2006
@@ -0,0 +1,27 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa;
+
+import org.xml.sax.SAXException;
+
+public class ParseException extends SAXException {
+
+ private static final long serialVersionUID = 1L;
+ private ParseError _pe;
+
+ public ParseException(ParseError pe ){
+ super("");
+ _pe = pe;
+ }
+
+ public ParseError getParseError() {
+ return _pe;
+ }
+
+ public String getMessage() {
+ return _pe.getMessage();
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/State.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/State.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/State.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/State.java Mon May 1 14:37:44 2006
@@ -0,0 +1,72 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa;
+
+import org.apache.ode.sax.evt.SaxEvent;
+import org.apache.ode.sax.evt.StartElement;
+
+
+/**
+ * <p>
+ * A "state" in the parsing of an XML document. The lifecycle of an
+ * instance is managed by an {@link org.apache.ode.sax.fsa.FSA} that is responsible for
+ * creating, configuring, passing events, and calling lifecycle methods.
+ * </p>
+ */
+public interface State {
+ /**
+ * Consume a SAX event.
+ * @param se the encapsulated event
+ * @throws ParseException if the event is invalid, e.g., an inappropriate element.
+ */
+ public void handleSaxEvent(SaxEvent se) throws ParseException;
+
+ /**
+ * <p>
+ * Consume a completed child element. Most likely, an instance will use the type
+ * of the child (via {@link #getType()}) to determine how to handle it.
+ * </p>
+ * @param pn the <code>State</code> that holds the child.
+ * @throws ParseException if the child is invalid, e.g., not properly configured.
+ */
+ public void handleChildCompleted(State pn) throws ParseException;
+
+ /**
+ * <p>
+ * Obtain the context for the current parse operation, e.g., to report errors or
+ * warnings. The {@link ParseContext} for an instance is set when it is created.
+ * </p>
+ * @return the current <code>ParseContext</code> instance.
+ * @see StateFactory#newInstance(StartElement, ParseContext)
+ */
+ public ParseContext getParseContext();
+
+ /**
+ * <p>
+ * Obtain a factory to create new instance of this state.
+ * </p>
+ * @return the factory instance.
+ */
+ public StateFactory getFactory();
+
+ /**
+ * <p>
+ * Get the type of the <code>State</code> as an <code>int</code>. This will
+ * depend on the purpose of the given application, i.e., the type <code>1</code>
+ * will be different from parser to parser.
+ * </p>
+ * @return the type key for the <code>State</code>
+ */
+ public int getType();
+
+ /**
+ * <p>
+ * A finalization hook for cleaning up resources and finalizing the values of
+ * properties. The default implementation will do nothing.
+ * </p>
+ */
+ public void done();
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/StateFactory.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/StateFactory.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/StateFactory.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/StateFactory.java Mon May 1 14:37:44 2006
@@ -0,0 +1,24 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa;
+
+import org.apache.ode.sax.evt.StartElement;
+
+
+/**
+ * Responsible for creating instances of a <code>State</code> with specific context.
+ */
+public interface StateFactory {
+
+ /**
+ * Create an instance of a {@link State} with the specified context.
+ * @param se the <code>startElement</code> SAX Event that caused the creation.
+ * @param pc the {@link ParseContext} for the current parse.
+ * @return the configured instance.
+ * @throws ParseException if the configuration is invalid.
+ */
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException;
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/ActivityStateI.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/ActivityStateI.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/ActivityStateI.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/ActivityStateI.java Mon May 1 14:37:44 2006
@@ -0,0 +1,17 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_1_1;
+
+import org.apache.ode.bom.api.Activity;
+
+
+/**
+ * Marker interface.
+ */
+interface ActivityStateI {
+ Activity getActivity();
+}
+
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/BaseBpelState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/BaseBpelState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/BaseBpelState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/BaseBpelState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,93 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_1_1;
+
+import org.apache.ode.bom.api.Correlation;
+import org.apache.ode.bom.api.JoinFailureSuppressor;
+import org.apache.ode.bom.api.Process;
+import org.apache.ode.sax.fsa.AbstractState;
+import org.apache.ode.sax.fsa.ParseContext;
+import org.apache.ode.sax.evt.XmlAttributes;
+import org.apache.ode.sax.evt.attspec.FilterSpec;
+import org.apache.ode.sax.evt.attspec.XmlAttributeSpec;
+
+abstract class BaseBpelState extends AbstractState {
+
+ public static final int START_STATE = -1;
+
+ public static final int BPEL11_PROCESS = 1000;
+ public static final int BPEL11_PARTNERLINKS = 1001;
+ public static final int BPEL11_PARTNERLINK = 1002;
+ public static final int BPEL11_PARTNERS = 1003;
+ public static final int BPEL11_PARTNER = 1004;
+ public static final int BPEL11_VARIABLES = 1005;
+ public static final int BPEL11_VARIABLE = 1006;
+ public static final int BPEL11_CORRELATIONSETS = 1007;
+ public static final int BPEL11_CORRELATIONSET = 1008;
+ public static final int BPEL11_FAULTHANDLERS = 1009;
+ public static final int BPEL11_CATCH = 1010;
+ public static final int BPEL11_CATCHALL = 1011;
+ public static final int BPEL11_COMPENSATIONHANDLER = 1012;
+ public static final int BPEL11_EVENTHANDLERS = 1013;
+ public static final int BPEL11_ONMESSAGE = 1014;
+ public static final int BPEL11_CORRELATIONS = 1015;
+ public static final int BPEL11_ONALARM = 1016;
+ public static final int BPEL11_EMPTY = 1017;
+ public static final int BPEL11_INVOKE = 1018;
+ public static final int BPEL11_RECEIVE = 1019;
+ public static final int BPEL11_REPLY = 1020;
+ public static final int BPEL11_ASSIGN = 1021;
+ public static final int BPEL11_COPY = 1022;
+ public static final int BPEL11_FROM = 1023;
+ public static final int BPEL11_TO = 1024;
+ public static final int BPEL11_WAIT = 1025;
+ public static final int BPEL11_THROW = 1026;
+ public static final int BPEL11_TERMINATE = 1027;
+ public static final int BPEL11_FLOW = 1028;
+ public static final int BPEL11_SWITCH = 1029;
+ public static final int BPEL11_WHILE = 1030;
+ public static final int BPEL11_SEQUENCE = 1031;
+ public static final int BPEL11_PICK = 1032;
+ public static final int BPEL11_SCOPE = 1033;
+ public static final int BPEL11_CASE = 1034;
+ public static final int BPEL11_COMPENSATE = 1035;
+ public static final int BPEL11_SOURCE = 1036;
+ public static final int BPEL11_TARGET = 1037;
+ public static final int BPEL11_LINKS = 1038;
+ public static final int BPEL11_LINK = 1039;
+ public static final int BPEL11_CORRELATION = 1040;
+ public static final int BPEL11_OTHERWISE = 1041;
+
+ public static final int BPEL20_PROCESS = 2000;
+
+ protected static final XmlAttributeSpec BPEL11_ACTIVITY_ATTS = new FilterSpec(
+ new String[] {},
+ new String[] {"name","joinCondition","suppressJoinFailure"});
+
+
+
+ protected BaseBpelState(ParseContext pc) {
+ super(pc);
+ }
+
+ protected boolean checkYesNo(String val) {
+ return val != null && val.equals("yes");
+ }
+
+ protected short getSuppressJoinFailure(XmlAttributes atts) {
+ if (!atts.hasAtt("suppressJoinFailure")) {
+ return JoinFailureSuppressor.SUPJOINFAILURE_NOTSET;
+ } else {
+ String sjf = atts.getValue("suppressJoinFailure");
+ return checkYesNo(sjf)?Process.SUPJOINFAILURE_YES:Process.SUPJOINFAILURE_NO;
+ }
+ }
+
+ protected short getInitiateYesNo(XmlAttributes atts) {
+ return checkYesNo(atts.getValue("initiate"))?Correlation.INITIATE_YES:Correlation.INITIATE_NO;
+ }
+
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11AssignActivityState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11AssignActivityState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11AssignActivityState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11AssignActivityState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,56 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_1_1;
+
+import org.apache.ode.bom.api.Activity;
+import org.apache.ode.bom.impl.nodes.AssignActivityImpl;
+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 Bpel11AssignActivityState extends Bpel11BaseActivityState {
+
+ private static final StateFactory _factory = new Factory();
+
+ Bpel11AssignActivityState(StartElement se, ParseContext pc) throws ParseException {
+ super(se, pc);
+ }
+
+ public void handleChildCompleted(State pn) throws ParseException {
+ if (pn.getType() == BPEL11_COPY) {
+ ((AssignActivityImpl)getActivity()).addCopy(((Bpel11CopyState)pn).getCopy());
+ }
+ else {
+ super.handleChildCompleted(pn);
+ }
+ }
+
+ protected Activity createActivity(StartElement se) throws ParseException {
+ return new AssignActivityImpl();
+ }
+
+ /**
+ * @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 BPEL11_ASSIGN;
+ }
+
+ static class Factory implements StateFactory {
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11AssignActivityState(se, pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11BaseActivityState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11BaseActivityState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11BaseActivityState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11BaseActivityState.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_1_1;
+
+import org.apache.ode.bom.api.Activity;
+import org.apache.ode.bom.impl.nodes.ExpressionImpl;
+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.evt.StartElement;
+import org.apache.ode.sax.evt.XmlAttributes;
+
+abstract class Bpel11BaseActivityState extends BaseBpelState implements ActivityStateI {
+
+ private Activity _activity;
+
+ protected static final String[] BPEL11_BASE_ACTIVITY_ATTS = new String[] {
+ "name","suppressJoinFailure","joinCondition"
+ };
+
+ protected Bpel11BaseActivityState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ _activity = createActivity(se);
+ XmlAttributes atts = se.getAttributes();
+
+ _activity.setNamespaceContext(se.getNamespaceContext());
+ _activity.setLineNo(se.getLocation().getLineNumber());
+
+ if (atts.hasAtt("name")) {
+ _activity.setName(atts.getValue("name"));
+ }
+ if(atts.hasAtt("joinCondition")){
+ ExpressionImpl expr = new ExpressionImpl();
+ expr.setNamespaceContext(se.getNamespaceContext());
+ expr.setLineNo(se.getLocation().getLineNumber());
+ expr.setXPathString(atts.getValue("joinCondition"));
+ _activity.setJoinCondition(expr);
+ }
+ _activity.setSuppressJoinFailure(getSuppressJoinFailure(atts));
+ }
+
+ protected abstract Activity createActivity(StartElement se) throws ParseException;
+
+ public Activity getActivity() {
+ return _activity;
+ }
+
+ /**
+ * @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 BPEL11_TARGET:
+ _activity.addTarget(((Bpel11LinkTargetState)pn).getTarget());
+ break;
+ case BPEL11_SOURCE:
+ _activity.addSource(((Bpel11LinkSourceState)pn).getSource());
+ break;
+ default:
+ super.handleChildCompleted(pn);
+ }
+ }
+
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CaseState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CaseState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CaseState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CaseState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,59 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_1_1;
+
+import org.apache.ode.bom.api.Expression;
+import org.apache.ode.bom.impl.nodes.ExpressionImpl;
+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 Bpel11CaseState extends Bpel11OtherwiseState {
+
+ private static final StateFactory _factory = new Factory();
+
+ private Expression _e;
+
+ Bpel11CaseState(StartElement se, ParseContext pc) throws ParseException {
+ super(se,pc);
+ XmlAttributes atts = se.getAttributes();
+ if (atts.hasAtt("condition")) {
+ _e = new ExpressionImpl();
+ _e.setNamespaceContext(se.getNamespaceContext());
+ _e.setXPathString(atts.getValue("condition"));
+ _e.setLineNo(se.getLocation().getLineNumber());
+ }
+ }
+
+ 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 BPEL11_CASE;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se,ParseContext pc) throws ParseException {
+ return new Bpel11CaseState(se,pc);
+ }
+ }
+
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CatchAllState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CatchAllState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CatchAllState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CatchAllState.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_1_1;
+
+import org.apache.ode.bom.api.Catch;
+import org.apache.ode.bom.impl.nodes.CatchImpl;
+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 Bpel11CatchAllState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private CatchImpl _c;
+
+ Bpel11CatchAllState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ _c = new CatchImpl();
+ _c.setNamespaceContext(se.getNamespaceContext());
+ _c.setLineNo(se.getLocation().getLineNumber());
+ }
+
+ public void handleChildCompleted(State pn) throws ParseException {
+ if (pn instanceof ActivityStateI) {
+ _c.setActvity(((ActivityStateI)pn).getActivity());
+ } else {
+ super.handleChildCompleted(pn);
+ }
+ }
+
+ public Catch getCatch() {
+ 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 BPEL11_CATCHALL;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11CatchAllState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CatchState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CatchState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CatchState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CatchState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,64 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_1_1;
+
+import org.apache.ode.bom.api.Catch;
+import org.apache.ode.sax.fsa.*;
+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.OrSpec;
+import org.apache.ode.sax.evt.attspec.XmlAttributeSpec;
+
+class Bpel11CatchState extends Bpel11CatchAllState {
+
+ private static final StateFactory _factory = new Factory();
+
+ private static final XmlAttributeSpec FAULTNAME = new FilterSpec(
+ new String[] {"faultName"}, new String[] {"faultVariable"});
+ private static final XmlAttributeSpec FAULTVARIABLE = new FilterSpec(
+ new String[] {"faultVariable"}, new String[] {});
+
+ private static final XmlAttributeSpec VALID = new OrSpec(FAULTNAME,FAULTVARIABLE);
+
+ Bpel11CatchState(StartElement se,ParseContext pc) throws ParseException {
+ super(se,pc);
+ XmlAttributes atts = se.getAttributes();
+ if (!VALID.matches(atts)) {
+ pc.parseError(ParseError.ERROR,se,"PARSER_ERROR",
+ "Invalid attributes for <catch>; @faultName?,@faultVariable? expected.");
+ }
+ Catch c = getCatch();
+ if (atts.hasAtt("faultName"))
+ c.setFaultName(se.getNamespaceContext().derefQName(atts.getValue("faultName")));
+ if (atts.hasAtt("faultVariable"))
+ c.setFaultVariable(atts.getValue("faultVariable"));
+// following is not strictly 1.1, but we'll let it slide
+// if(atts.hasAtt("faultMessageType"))
+// c.setFaultVariableType(se.getNamespaceContext().derefQName(atts.getValue("faultMessageType")));
+ }
+
+ /**
+ * @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 BPEL11_CATCH;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11CatchState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CompensateActivityState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CompensateActivityState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CompensateActivityState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CompensateActivityState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,53 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_1_1;
+
+import org.apache.ode.bom.api.Activity;
+import org.apache.ode.bom.impl.nodes.CompensateActivityImpl;
+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 Bpel11CompensateActivityState extends Bpel11BaseActivityState {
+
+ private static final StateFactory _factory = new Factory();
+
+ Bpel11CompensateActivityState(StartElement se, ParseContext pc) throws ParseException {
+ super(se,pc);
+ }
+
+ protected Activity createActivity(StartElement se) throws ParseException {
+ CompensateActivityImpl cai = new CompensateActivityImpl();
+ XmlAttributes atts = se.getAttributes();
+ if (atts.hasAtt("scope"))
+ cai.setScopeToCompensate(atts.getValue("scope"));
+ return cai;
+ }
+
+ /**
+ * @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 BPEL11_COMPENSATE;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11CompensateActivityState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CompensationHandlerState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CompensationHandlerState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CompensationHandlerState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CompensationHandlerState.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_1_1;
+
+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 Bpel11CompensationHandlerState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private CompensationHandlerImpl _c;
+
+ Bpel11CompensationHandlerState(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 BPEL11_COMPENSATIONHANDLER;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11CompensationHandlerState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CopyState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CopyState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CopyState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CopyState.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_1_1;
+
+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;
+
+class Bpel11CopyState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private CopyImpl _c;
+
+ Bpel11CopyState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ _c = new CopyImpl(se.getNamespaceContext());
+ _c.setLineNo(se.getLocation().getLineNumber());
+ }
+
+ 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 BPEL11_FROM:
+ _c.setFrom(((Bpel11FromState)pn).getFrom());
+ break;
+ case BPEL11_TO:
+ _c.setTo(((Bpel11ToState)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 BPEL11_COPY;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11CopyState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationSetState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationSetState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationSetState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationSetState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,74 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_1_1;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.StringTokenizer;
+
+import javax.xml.namespace.QName;
+
+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;
+
+class Bpel11CorrelationSetState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private CorrelationSetImpl _s;
+
+ Bpel11CorrelationSetState(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"));
+ List<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 BPEL11_CORRELATIONSET;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se,ParseContext pc) throws ParseException {
+ return new Bpel11CorrelationSetState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationSetsState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationSetsState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationSetsState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationSetsState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,64 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_1_1;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+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;
+
+class Bpel11CorrelationSetsState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private List<CorrelationSet> _csets;
+
+ private Bpel11CorrelationSetsState(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() == BPEL11_CORRELATIONSET) {
+ _csets.add(((Bpel11CorrelationSetState)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 BPEL11_CORRELATIONSETS;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11CorrelationSetsState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationState.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_1_1;
+
+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 Bpel11CorrelationState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private CorrelationImpl _c;
+
+ Bpel11CorrelationState(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")) {
+ _c.setPattern(Correlation.CORRPATTERN_OUT);
+ } else if (pat.equals("in")) {
+ _c.setPattern(Correlation.CORRPATTERN_IN);
+ } else if (pat.equals("out-in")) {
+ _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 BPEL11_CORRELATION;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11CorrelationState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationsState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationsState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationsState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11CorrelationsState.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_1_1;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+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;
+
+class Bpel11CorrelationsState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private List<Correlation> _cs = new ArrayList<Correlation>();
+
+ private Bpel11CorrelationsState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ }
+
+ 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() == BPEL11_CORRELATION) {
+ _cs.add(((Bpel11CorrelationState)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 BPEL11_CORRELATIONS;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11CorrelationsState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11EmptyActivityState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11EmptyActivityState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11EmptyActivityState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11EmptyActivityState.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_1_1;
+
+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 Bpel11EmptyActivityState extends Bpel11BaseActivityState {
+
+ private static final StateFactory _factory = new Factory();
+
+ Bpel11EmptyActivityState(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 BPEL11_EMPTY;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11EmptyActivityState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11EventHandlersState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11EventHandlersState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11EventHandlersState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11EventHandlersState.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_1_1;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+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;
+
+class Bpel11EventHandlersState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private ArrayList<OnEvent> _m;
+ private ArrayList<OnAlarm> _a;
+
+ Bpel11EventHandlersState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ _m = new ArrayList<OnEvent>();
+ _a = new ArrayList<OnAlarm>();
+ }
+
+ public Iterator<OnEvent> getOnEventHandlers() {
+ return _m.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 BPEL11_ONMESSAGE:
+ _m.add(((Bpel11OnMessageState)pn).getOnEventHandler());
+ break;
+ case BPEL11_ONALARM:
+ _a.add(((Bpel11OnAlarmState)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 BPEL11_EVENTHANDLERS;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11EventHandlersState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11FaultHandlersState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11FaultHandlersState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11FaultHandlersState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11FaultHandlersState.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_1_1;
+
+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 Bpel11FaultHandlersState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private FaultHandlerImpl _f;
+
+ private Bpel11FaultHandlersState(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 BPEL11_CATCH:
+ case BPEL11_CATCHALL:
+ _f.addCatch(((Bpel11CatchAllState)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 BPEL11_FAULTHANDLERS;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11FaultHandlersState(se, null);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11FlowActivityState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11FlowActivityState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11FlowActivityState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11FlowActivityState.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_1_1;
+
+import java.util.Iterator;
+
+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;
+
+class Bpel11FlowActivityState extends Bpel11BaseActivityState {
+
+ private static final StateFactory _factory = new Factory();
+
+ Bpel11FlowActivityState(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.BPEL11_LINKS){
+ FlowActivityImpl fai = (FlowActivityImpl) getActivity();
+ for (Iterator it = ((Bpel11LinksState)pn).getLinks();it.hasNext();) {
+ fai.addLink((Link)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 BPEL11_FLOW;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11FlowActivityState(se,pc);
+ }
+ }
+
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11FromState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11FromState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11FromState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11FromState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,136 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_1_1;
+
+import org.w3c.dom.Element;
+
+import org.apache.ode.bom.api.From;
+import org.apache.ode.bom.impl.nodes.*;
+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;
+
+class Bpel11FromState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private From _f;
+
+ private XmlAttributeSpec VAR = new FilterSpec(
+ new String[] {"variable"},new String[] {"part","query"});
+ private XmlAttributeSpec PLINK_EP = new FilterSpec(
+ new String[] {"partnerLink","endpointReference"},new String[] {});
+ private XmlAttributeSpec EXPR = new FilterSpec(
+ new String[] {"expression"}, new String[] {});
+ private XmlAttributeSpec VAR_PROP = new FilterSpec(
+ new String[] {"variable","property"},new String[] {});
+ // Kludge, perhaps -- no attributes.
+ private XmlAttributeSpec LITERAL = new FilterSpec(
+ new String[] {},new String[] {});
+
+// private XmlAttributeSpec VALID = new OrSpec(VAR_PART,
+// new OrSpec(PLINK_EP,
+// new OrSpec(VAR_PROP,LITERAL)));
+
+ private boolean _literalMode = false;
+
+ private DOMGenerator _domGenerator;
+
+ Bpel11FromState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ XmlAttributes atts = se.getAttributes();
+
+ if (VAR.matches(atts)) {
+ VariableValImpl vvi = new VariableValImpl();
+ vvi.setNamespaceContext(se.getNamespaceContext());
+ vvi.setLineNo(se.getLocation().getLineNumber());
+ vvi.setVariable(atts.getValue("variable"));
+ if(atts.hasAtt("part")){
+ vvi.setPart(atts.getValue("part"));
+ }
+ if(atts.hasAtt("query")){
+ ExpressionImpl expr = new ExpressionImpl();
+ expr.setXPathString(atts.getValue("query"));
+ expr.setLineNo(se.getLocation().getLineNumber());
+ expr.setNamespaceContext(se.getNamespaceContext());
+ vvi.setLocation(expr);
+ }
+ _f = vvi;
+ } else 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 (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 if (EXPR.matches(atts)) {
+ ExpressionValImpl evi = new ExpressionValImpl(se.getNamespaceContext());
+ evi.setLineNo(se.getLocation().getLineNumber());
+ ExpressionImpl expr = new ExpressionImpl();
+ expr.setLineNo(se.getLocation().getLineNumber());
+ expr.setNamespaceContext(se.getNamespaceContext());
+ expr.setXPathString(atts.getValue("expression"));
+ evi.setExpression(expr);
+ _f = evi;
+ } else if (LITERAL.matches(atts)) {
+ _literalMode = true;
+ LiteralValImpl lvi = new LiteralValImpl(se.getNamespaceContext());
+ _domGenerator = new DOMGenerator();
+ _f = lvi;
+ } else {
+ throw new IllegalStateException("Unknown action." );
+ }
+ }
+
+ public void handleSaxEvent(SaxEvent se) throws ParseException {
+ if (_literalMode) {
+ _domGenerator.handleSaxEvent(se);
+ } else{
+ super.handleSaxEvent(se);
+ }
+ }
+
+ public void done(){
+ if(_literalMode){
+ // For compatibility with 2.0 BPEL, we create a <literal> element
+ Element lit = _domGenerator.getRoot().getOwnerDocument().createElement("literal");
+ lit.appendChild(_domGenerator.getRoot());
+ ((LiteralValImpl)_f).setLiteral(lit);
+ }
+ }
+
+ 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 BPEL11_FROM;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11FromState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11InvokeActivityState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11InvokeActivityState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11InvokeActivityState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11InvokeActivityState.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_1_1;
+
+import java.util.Iterator;
+
+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;
+
+class Bpel11InvokeActivityState extends Bpel11BaseActivityState {
+
+ private static final StateFactory _factory = new Factory();
+
+ Bpel11InvokeActivityState(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.BPEL11_CORRELATIONS:
+ for (Iterator it = ((Bpel11CorrelationsState)pn).getCorrelations();it.hasNext();) {
+ iai.addCorrelation((Correlation)it.next());
+ }
+ break;
+ case BaseBpelState.BPEL11_CATCH:
+ iai.getFaultHandler().addCatch(((Bpel11CatchState)pn).getCatch());
+ break;
+ case BaseBpelState.BPEL11_CATCHALL:
+ iai.getFaultHandler().addCatch(((Bpel11CatchAllState)pn).getCatch());
+ break;
+ case BaseBpelState.BPEL11_COMPENSATIONHANDLER:
+ iai.setCompensationHandler(((Bpel11CompensationHandlerState)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 BPEL11_INVOKE;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11InvokeActivityState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinkSourceState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinkSourceState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinkSourceState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinkSourceState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,64 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_1_1;
+
+import org.apache.ode.bom.api.LinkSource;
+import org.apache.ode.bom.impl.nodes.ExpressionImpl;
+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 Bpel11LinkSourceState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private LinkSourceImpl _s;
+
+
+ Bpel11LinkSourceState(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"));
+ if(atts.hasAtt("transitionCondition")){
+ ExpressionImpl expr = new ExpressionImpl();
+ expr.setLineNo(se.getLocation().getLineNumber());
+ expr.setNamespaceContext(se.getNamespaceContext());
+ expr.setXPathString(atts.getValue("transitionCondition"));
+ _s.setTransitionCondition(expr);
+ }
+ }
+
+ 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 BPEL11_SOURCE;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11LinkSourceState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinkState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinkState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinkState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinkState.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_1_1;
+
+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 Bpel11LinkState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private LinkImpl _link;
+
+ Bpel11LinkState(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 BPEL11_LINK;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11LinkState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinkTargetState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinkTargetState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinkTargetState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinkTargetState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,56 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_1_1;
+
+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 Bpel11LinkTargetState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private LinkTargetImpl _t;
+
+
+ Bpel11LinkTargetState(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 BPEL11_TARGET;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11LinkTargetState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinksState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinksState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinksState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11LinksState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,64 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_1_1;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+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;
+
+class Bpel11LinksState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private List<Link> _links = new ArrayList<Link>();
+
+ private Bpel11LinksState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ }
+
+ public Iterator 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() == BPEL11_LINK) {
+ _links.add(((Bpel11LinkState)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 BPEL11_LINKS;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11LinksState(se,pc);
+ }
+ }
+
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11OnAlarmState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11OnAlarmState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11OnAlarmState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11OnAlarmState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,83 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_1_1;
+
+import org.apache.ode.bom.api.OnAlarm;
+import org.apache.ode.bom.impl.nodes.ExpressionImpl;
+import org.apache.ode.bom.impl.nodes.OnAlarmImpl;
+import org.apache.ode.sax.fsa.*;
+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;
+
+class Bpel11OnAlarmState extends BaseBpelState {
+
+ private static final XmlAttributeSpec FOR = new FilterSpec(
+ new String[] {"for"},new String[] {});
+ private static final XmlAttributeSpec UNTIL = new FilterSpec(
+ new String[] {"until"},new String[] {});
+
+ private static final StateFactory _factory = new Factory();
+ private OnAlarmImpl _o;
+
+ Bpel11OnAlarmState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ XmlAttributes atts = se.getAttributes();
+
+ _o = new OnAlarmImpl();
+
+ ExpressionImpl expr = new ExpressionImpl();
+ expr.setNamespaceContext(se.getNamespaceContext());
+ expr.setLineNo(se.getLocation().getLineNumber());
+ if (FOR.matches(atts)) {
+ expr.setXPathString(atts.getValue("for"));
+ _o.setFor(expr);
+ } else if (UNTIL.matches(atts)) {
+ expr.setXPathString(atts.getValue("until"));
+ _o.setUntil(expr);
+ } else {
+ getParseContext().parseError(ParseError.ERROR,se,
+ "PARSER_ERROR",
+ "Invalid attribute spec for onAlarm; expected @for=\"<duration>\" or @until=\"<datetime>\"");
+ // TODO: Error key.
+ }
+
+ }
+
+ public void handleChildCompleted(State pn) throws ParseException {
+ if (pn instanceof ActivityStateI) {
+ _o.setActivity(((ActivityStateI)pn).getActivity());
+ } else {
+ super.handleChildCompleted(pn);
+ }
+ }
+
+ 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 BPEL11_ONALARM;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11OnAlarmState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11OnMessageState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11OnMessageState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11OnMessageState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11OnMessageState.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_1_1;
+
+import java.util.Iterator;
+
+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;
+
+class Bpel11OnMessageState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private OnEventImpl _o;
+
+ Bpel11OnMessageState(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"));
+ 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.BPEL11_CORRELATIONS){
+ for (Iterator it = ((Bpel11CorrelationsState)pn).getCorrelations();it.hasNext();) {
+ Correlation c = (Correlation)it.next();
+ // force pattern IN
+ if (c.getPattern() != Correlation.CORRPATTERN_IN) {
+ getParseContext().parseError(ParseError.WARNING,
+ c,"PARSER_WARNING","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 BPEL11_ONMESSAGE;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11OnMessageState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11OtherwiseState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11OtherwiseState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11OtherwiseState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11OtherwiseState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,56 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_1_1;
+
+import org.apache.ode.bom.api.Activity;
+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 Bpel11OtherwiseState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private Activity _a;
+
+ Bpel11OtherwiseState(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 BPEL11_OTHERWISE;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11OtherwiseState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11PartnerLinkState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11PartnerLinkState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11PartnerLinkState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11PartnerLinkState.java Mon May 1 14:37:44 2006
@@ -0,0 +1,76 @@
+/*
+ * File: $RCSfile$
+ * Copyright: (C) 1999-2005 FiveSight Technologies Inc.
+ *
+ */
+package org.apache.ode.sax.fsa.bpel_1_1;
+
+import org.apache.ode.bom.api.PartnerLink;
+import org.apache.ode.bom.impl.nodes.PartnerLinkImpl;
+import org.apache.ode.sax.fsa.*;
+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.OrSpec;
+import org.apache.ode.sax.evt.attspec.XmlAttributeSpec;
+
+class Bpel11PartnerLinkState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private PartnerLinkImpl _plink;
+
+ private static final XmlAttributeSpec MYROLE_SET = new FilterSpec(
+ new String[] {"name","partnerLinkType","myRole"},
+ new String[] {"partnerRole"});
+ private static final XmlAttributeSpec PARTNERROLE_SET = new FilterSpec(
+ new String[] {"name","partnerLinkType","partnerRole"},
+ new String[] {"myRole"});
+ private static final XmlAttributeSpec VALID = new OrSpec(MYROLE_SET,PARTNERROLE_SET);
+
+ Bpel11PartnerLinkState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ XmlAttributes atts = se.getAttributes();
+ if (!VALID.matches(atts)){
+ pc.parseError(ParseError.ERROR,se,"PARSER_ERROR",
+ "At least one of @myRole and @partnerRole must be set.");
+ // TODO: Internationalize
+ }
+ _plink = new PartnerLinkImpl();
+ _plink.setNamespaceContext(se.getNamespaceContext());
+ _plink.setLineNo(se.getLocation().getLineNumber());
+ _plink.setName(atts.getValue("name"));
+ _plink.setPartnerLinkType(
+ se.getNamespaceContext().derefQName(atts.getValue("partnerLinkType")));
+ if (atts.hasAtt("myRole")) {
+ _plink.setMyRole(atts.getValue("myRole"));
+ }
+ if (atts.hasAtt("partnerRole")) {
+ _plink.setPartnerRole(atts.getValue("partnerRole"));
+ }
+ }
+
+ public PartnerLink getPartnerLink() {
+ return _plink;
+ }
+
+ /**
+ * @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 BPEL11_PARTNERLINK;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11PartnerLinkState(se,pc);
+ }
+ }
+}
Added: incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11PartnerLinksState.java
URL: http://svn.apache.org/viewcvs/incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11PartnerLinksState.java?rev=398694&view=auto
==============================================================================
--- incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11PartnerLinksState.java (added)
+++ incubator/ode/trunk/bpel-parser/src/main/java/org/apache/ode/sax/fsa/bpel_1_1/Bpel11PartnerLinksState.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_1_1;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.ode.bom.api.PartnerLink;
+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 Bpel11PartnerLinksState extends BaseBpelState {
+
+ private static final StateFactory _factory = new Factory();
+ private List<PartnerLink> _plinks = new ArrayList<PartnerLink>();
+
+ private Bpel11PartnerLinksState(StartElement se, ParseContext pc) throws ParseException {
+ super(pc);
+ }
+
+ public Iterator<PartnerLink> getPartnerLinks() {
+ return _plinks.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() == BPEL11_PARTNERLINK) {
+ _plinks.add(((Bpel11PartnerLinkState)pn).getPartnerLink());
+ } 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 BPEL11_PARTNERLINKS;
+ }
+
+ static class Factory implements StateFactory {
+
+ public State newInstance(StartElement se, ParseContext pc) throws ParseException {
+ return new Bpel11PartnerLinksState(se,pc);
+ }
+ }
+}