[jboss-svn-commits] JBL Code SVN: r24635 - labs/jbossrules/branches/mfossati/drools-compiler/src/main/java/org/drools/xml/processes.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jan 9 08:39:38 EST 2009
Author: mfossati
Date: 2009-01-09 08:39:38 -0500 (Fri, 09 Jan 2009)
New Revision: 24635
Modified:
labs/jbossrules/branches/mfossati/drools-compiler/src/main/java/org/drools/xml/processes/ConnectionHandler.java
Log:
read fromType and toType from connection's definition
Modified: labs/jbossrules/branches/mfossati/drools-compiler/src/main/java/org/drools/xml/processes/ConnectionHandler.java
===================================================================
--- labs/jbossrules/branches/mfossati/drools-compiler/src/main/java/org/drools/xml/processes/ConnectionHandler.java 2009-01-09 10:51:09 UTC (rev 24634)
+++ labs/jbossrules/branches/mfossati/drools-compiler/src/main/java/org/drools/xml/processes/ConnectionHandler.java 2009-01-09 13:39:38 UTC (rev 24635)
@@ -6,6 +6,7 @@
import org.drools.workflow.core.Connection;
import org.drools.workflow.core.NodeContainer;
import org.drools.workflow.core.impl.ConnectionImpl;
+import org.drools.workflow.core.impl.NodeImpl;
import org.drools.xml.BaseAbstractHandler;
import org.drools.xml.ExtensibleXmlParser;
import org.drools.xml.Handler;
@@ -14,67 +15,67 @@
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
-public class ConnectionHandler extends BaseAbstractHandler
- implements
- Handler {
- public ConnectionHandler() {
- if ( (this.validParents == null) && (this.validPeers == null) ) {
- this.validParents = new HashSet();
- this.validParents.add( NodeContainer.class );
+public class ConnectionHandler extends BaseAbstractHandler implements Handler {
+ public ConnectionHandler() {
+ if ((this.validParents == null) && (this.validPeers == null)) {
+ this.validParents = new HashSet();
+ this.validParents.add(NodeContainer.class);
- this.validPeers = new HashSet();
- this.validPeers.add( null );
- this.validPeers.add( Connection.class );
+ this.validPeers = new HashSet();
+ this.validPeers.add(null);
+ this.validPeers.add(Connection.class);
- this.allowNesting = false;
- }
- }
-
+ this.allowNesting = false;
+ }
+ }
-
- public Object start(final String uri,
- final String localName,
- final Attributes attrs,
- final ExtensibleXmlParser parser) throws SAXException {
- parser.startElementBuilder( localName,
- attrs );
-
- String fromId = attrs.getValue( "from" );
- emptyAttributeCheck( localName, "from", fromId, parser );
- String toId = attrs.getValue( "to" );
- emptyAttributeCheck( localName, "to", toId, parser );
- String bendpoints = attrs.getValue( "bendpoints" );
-
- NodeContainer nodeContainer = (NodeContainer) parser.getParent();
- Node fromNode = nodeContainer.getNode( new Long(fromId) );
- Node toNode = nodeContainer.getNode( new Long(toId) );
-
- if ( fromNode == null ) {
- throw new SAXParseException( "Node '" + fromId + "' cannot be found",
- parser.getLocator() );
- }
- if ( toNode == null ) {
- throw new SAXParseException( "Node '" + toId + "' cannot be found",
- parser.getLocator() );
- }
-
- ConnectionImpl connection = new ConnectionImpl(
- fromNode, org.drools.workflow.core.Node.CONNECTION_DEFAULT_TYPE,
- toNode, org.drools.workflow.core.Node.CONNECTION_DEFAULT_TYPE);
- connection.setMetaData("bendpoints", bendpoints);
-
- return connection;
- }
-
- public Object end(final String uri,
- final String localName,
- final ExtensibleXmlParser parser) throws SAXException {
- final Element element = parser.endElementBuilder();
- return parser.getCurrent();
- }
+ public Object start(final String uri,
+ final String localName,
+ final Attributes attrs,
+ final ExtensibleXmlParser parser) throws SAXException {
+ parser.startElementBuilder( localName, attrs );
+ String fromId = attrs.getValue( "from" );
+ emptyAttributeCheck( localName, "from", fromId, parser );
+ String toId = attrs.getValue( "to" );
+ emptyAttributeCheck( localName, "to", toId, parser );
+ String bendpoints = attrs.getValue( "bendpoints" );
- public Class generateNodeFor() {
- return Connection.class;
- }
+ String fromType = attrs.getValue( "fromType" );
+ if (fromType == null || fromType.trim().length() == 0) {
+ fromType = NodeImpl.CONNECTION_DEFAULT_TYPE;
+ }
+ String toType = attrs.getValue( "toType" );
+ if (toType == null || toType.trim().length() == 0) {
+ toType = NodeImpl.CONNECTION_DEFAULT_TYPE;
+ }
+ NodeContainer nodeContainer = (NodeContainer) parser.getParent();
+ Node fromNode = nodeContainer.getNode( new Long(fromId) );
+ Node toNode = nodeContainer.getNode( new Long(toId) );
+
+ if ( fromNode == null ) {
+ throw new SAXParseException( "Node '" + fromId + "'cannot be found",
+ parser.getLocator() );
+ }
+ if ( toNode == null ) {
+ throw new SAXParseException( "Node '" + toId + "' cannot be found",
+ parser.getLocator() );
+ }
+
+ ConnectionImpl connection = new ConnectionImpl(fromNode, fromType,toNode, toType);
+ connection.setMetaData("bendpoints", bendpoints);
+
+ return connection;
+ }
+
+ public Object end(final String uri, final String localName,
+ final ExtensibleXmlParser parser) throws SAXException {
+ final Element element = parser.endElementBuilder();
+ return parser.getCurrent();
+ }
+
+ public Class generateNodeFor() {
+ return Connection.class;
+ }
+
}
More information about the jboss-svn-commits
mailing list