[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