[jboss-svn-commits] JBL Code SVN: r25618 - in labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools: reteoo and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 12 10:41:09 EDT 2009


Author: KrisVerlaenen
Date: 2009-03-12 10:41:09 -0400 (Thu, 12 Mar 2009)
New Revision: 25618

Added:
   labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/reteoo/EntryPointNodeVertex.java
   labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/reteoo/PropagationQueuingNodeVertex.java
Modified:
   labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java
   labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/reteoo/ReteooVisitor.java
Log:
JBRULES-2003: Rete viewer should support new rete nodes
 - added support for two new node types

Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java	2009-03-12 14:30:59 UTC (rev 25617)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java	2009-03-12 14:41:09 UTC (rev 25618)
@@ -9,6 +9,7 @@
 import org.drools.reteoo.AlphaNodeVertex;
 import org.drools.reteoo.BaseVertex;
 import org.drools.reteoo.CollectNodeVertex;
+import org.drools.reteoo.EntryPointNodeVertex;
 import org.drools.reteoo.EvalConditionNodeVertex;
 import org.drools.reteoo.ExistsNodeVertex;
 import org.drools.reteoo.FromNodeVertex;
@@ -16,6 +17,7 @@
 import org.drools.reteoo.LeftInputAdapterNodeVertex;
 import org.drools.reteoo.NotNodeVertex;
 import org.drools.reteoo.ObjectTypeNodeVertex;
+import org.drools.reteoo.PropagationQueuingNodeVertex;
 import org.drools.reteoo.QueryTerminalNodeVertex;
 import org.drools.reteoo.ReteVertex;
 import org.drools.reteoo.RightInputAdapterNodeVertex;
@@ -62,6 +64,10 @@
 
     private static final String       VERTEX_RETE                = "Rete BaseVertex";
 
+    private static final String       VERTEX_ENTRY_POINT         = "Entry Point BaseVertex";
+
+    private static final String       VERTEX_PROPAGATION_QUEUING = "Propagation Queuing BaseVertex";
+
     private static final String       CONSTRAINT_CAP             = "Constraint";
 
     private static final String       CONSTRAINT                 = "constraint";
@@ -93,6 +99,10 @@
     // ObjectType specific
     private final IPropertyDescriptor PROP_OBJ_TYPE              = new PropertyDescriptor( "objectType",
                                                                                            "Object Type" );
+    
+    // EntryPoint specific
+    private final IPropertyDescriptor PROP_ENTRY_POINT_NAME      = new PropertyDescriptor( "entryPointName",
+    																					   "Entry Point Name" );
 
     private final static String       CAT_GENERAL                = "General";
     private final static String       CAT_OTHER                  = "Other";
@@ -172,6 +182,14 @@
             initReteNodeProperties( (ReteVertex) vertex,
                                     descriptorList,
                                     values );
+        } else if ( vertex instanceof PropagationQueuingNodeVertex ) {
+            initPropagationQueuingNodeProperties( (PropagationQueuingNodeVertex) vertex,
+                                                  descriptorList,
+                                                  values );
+        } else if ( vertex instanceof EntryPointNodeVertex ) {
+            initEntryPointNodeProperties( (EntryPointNodeVertex) vertex,
+                                          descriptorList,
+                                          values );
         }
 
         descriptors = (IPropertyDescriptor[]) descriptorList.toArray( new IPropertyDescriptor[0] );
@@ -403,6 +421,41 @@
 		
 	}
 
+    private void initPropagationQueuingNodeProperties(PropagationQueuingNodeVertex vertex,
+                                                      List descriptorList,
+                                                      Map valueMap) {
+    	addProperty( PROP_NAME,
+    			     VERTEX_PROPAGATION_QUEUING,
+                     descriptorList,
+                     valueMap );
+
+    	addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+    	             valueMap );
+
+    }
+
+    private void initEntryPointNodeProperties(EntryPointNodeVertex vertex,
+                                              List descriptorList,
+                                              Map valueMap) {
+    	addProperty( PROP_NAME,
+                     VERTEX_ENTRY_POINT,
+                     descriptorList,
+                     valueMap );
+
+    	addProperty( PROP_ENTRY_POINT_NAME,
+                     vertex.getEntryPointName(),
+                     descriptorList,
+                     valueMap );
+
+    	addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+
+    }
+
     private void addProperty(IPropertyDescriptor field,
                              String value,
                              List descriptorList,

Added: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/reteoo/EntryPointNodeVertex.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/reteoo/EntryPointNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/reteoo/EntryPointNodeVertex.java	2009-03-12 14:41:09 UTC (rev 25618)
@@ -0,0 +1,63 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link ObjectTypeNode} and adds visual extras like color information
+ *
+ */
+public class EntryPointNodeVertex extends BaseVertex {
+
+    private static final String NODE_NAME = "EntryPointNode";
+
+    private final EntryPointNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public EntryPointNodeVertex(final EntryPointNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME + ":" + node.getEntryPoint();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME + ":" + node.getEntryPoint();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.darkGreen;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return node id
+     */
+    public int getId() {
+        return node.getId();
+    }
+    
+    public String getEntryPointName() {
+    	return node.getEntryPoint().toString();
+    }
+
+}
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/reteoo/PropagationQueuingNodeVertex.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/reteoo/PropagationQueuingNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/reteoo/PropagationQueuingNodeVertex.java	2009-03-12 14:41:09 UTC (rev 25618)
@@ -0,0 +1,60 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.drools.spi.ObjectType;
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link ObjectTypeNode} and adds visual extras like color information
+ *
+ */
+public class PropagationQueuingNodeVertex extends BaseVertex {
+
+    private static final String NODE_NAME = "PropagationQueingNode";
+
+    private final PropagationQueuingNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public PropagationQueuingNodeVertex(final PropagationQueuingNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.darkBlue;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return node id
+     */
+    public int getId() {
+        return node.getId();
+    }
+
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/reteoo/ReteooVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/reteoo/ReteooVisitor.java	2009-03-12 14:30:59 UTC (rev 25617)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/reteoo/ReteooVisitor.java	2009-03-12 14:41:09 UTC (rev 25618)
@@ -1,5 +1,6 @@
 package org.drools.reteoo;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
@@ -73,7 +74,7 @@
         this.graph.addChild( this.rootVertex );
         this.parentVertex = this.rootVertex;
 
-        for( ObjectTypeNode node : rete.getObjectTypeNodes() ) {
+        for( EntryPointNode node : rete.getEntryPointNodes().values() ) {
             visit( node );
         }
     }
@@ -101,7 +102,9 @@
             this.parentVertex = vertex;
 
             List list = null;
-            if ( node instanceof ObjectSource ) {
+            if ( node instanceof EntryPointNode ) {
+            	list = new ArrayList( ((EntryPointNode) node).getObjectTypeNodes().values() );
+            } else if ( node instanceof ObjectSource ) {
                 list = Arrays.asList( ((ObjectSource) node).getSinkPropagator().getSinks() );
             } else if ( node instanceof LeftTupleSource ) {
                 list = Arrays.asList( ((LeftTupleSource) node).getSinkPropagator().getSinks() );




More information about the jboss-svn-commits mailing list