[jboss-svn-commits] JBL Code SVN: r7731 - in labs/jbossrules/trunk/drools-ide/src/main/java/org/drools: ide/editors ide/editors/rete ide/editors/rete/model reteoo
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Nov 20 17:16:46 EST 2006
Author: ahtik
Date: 2006-11-20 17:16:31 -0500 (Mon, 20 Nov 2006)
New Revision: 7731
Added:
labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java
labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/CollectNodeVertex.java
labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/ExistsNodeVertex.java
labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/FromNodeVertex.java
Modified:
labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/DRLRuleEditor2.java
labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/rete/ReteViewer.java
labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/rete/model/VertexPropertySource.java
Log:
JBRULES-564: Added support for 'from', 'accumulate', 'collect', 'exists' nodes. Not tested very properly but it is not breaking anything. Improved plugin error reporting dialog.
Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/DRLRuleEditor2.java
===================================================================
--- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/DRLRuleEditor2.java 2006-11-20 21:11:06 UTC (rev 7730)
+++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/DRLRuleEditor2.java 2006-11-20 22:16:31 UTC (rev 7731)
@@ -22,8 +22,11 @@
import org.drools.ide.editors.rete.ReteViewer;
import org.drools.ide.editors.rete.model.ReteGraph;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
import org.eclipse.gef.editparts.ZoomManager;
import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
+import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.text.DocumentEvent;
@@ -284,13 +287,19 @@
if ( cause == null ) {
cause = t;
}
- String message = cause.getMessage();
+ String message = cause.getClass().getName()+": "+cause.getMessage();
if ( message == null || message.length() == 0 ) {
message = "Uncategorized Error!";
}
- MessageDialog.openError( getSite().getShell(),
- "Rete Tree Error!",
- message );
+ IStatus status = new Status( IStatus.ERROR,
+ DroolsIDEPlugin.getUniqueIdentifier(),
+ -1,
+ message,
+ null);
+ ErrorDialog.openError( getSite().getShell(),
+ "Rete Tree Build Error!",
+ "Rete Tree Build Error!",
+ status );
}
Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/rete/ReteViewer.java
===================================================================
--- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/rete/ReteViewer.java 2006-11-20 21:11:06 UTC (rev 7730)
+++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/rete/ReteViewer.java 2006-11-20 22:16:31 UTC (rev 7731)
@@ -38,6 +38,7 @@
import org.drools.reteoo.ReteooVisitor;
import org.drools.rule.Package;
import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.draw2d.ColorConstants;
import org.eclipse.draw2d.ConnectionLayer;
@@ -117,34 +118,29 @@
return super.getAdapter( type );
}
- private RuleBase getRuleBase(String contents) {
+ private RuleBase getRuleBase(String contents) throws PackageIntegrationException,
+ DroolsParserException,
+ CoreException {
if ( getEditorInput() instanceof IFileEditorInput ) {
- try {
+ ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
+ ClassLoader newLoader = DroolsBuilder.class.getClassLoader();
+ IFile file = ((IFileEditorInput) getEditorInput()).getFile();
+ if ( file.getProject().getNature( JAVA_NATURE ) != null ) {
+ IJavaProject project = JavaCore.create( file.getProject() );
+ newLoader = ProjectClassLoader.getProjectClassLoader( project );
+ }
- ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
- ClassLoader newLoader = DroolsBuilder.class.getClassLoader();
- IFile file = ((IFileEditorInput) getEditorInput()).getFile();
- if ( file.getProject().getNature( JAVA_NATURE ) != null ) {
- IJavaProject project = JavaCore.create( file.getProject() );
- newLoader = ProjectClassLoader.getProjectClassLoader( project );
- }
+ Reader dslReader = DSLAdapter.getDSLContent( contents,
+ file );
- Reader dslReader = DSLAdapter.getDSLContent( contents,
- file );
+ try {
+ Thread.currentThread().setContextClassLoader( newLoader );
- try {
- Thread.currentThread().setContextClassLoader( newLoader );
+ return parseRuleBase( contents,
+ dslReader );
- return parseRuleBase( contents,
- dslReader );
-
- } catch ( Exception t ) {
- throw t;
- } finally {
- Thread.currentThread().setContextClassLoader( oldLoader );
- }
- } catch ( Throwable t ) {
- DroolsIDEPlugin.log( t );
+ } finally {
+ Thread.currentThread().setContextClassLoader( oldLoader );
}
}
Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/rete/model/VertexPropertySource.java
===================================================================
--- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/rete/model/VertexPropertySource.java 2006-11-20 21:11:06 UTC (rev 7730)
+++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/rete/model/VertexPropertySource.java 2006-11-20 22:16:31 UTC (rev 7731)
@@ -5,9 +5,13 @@
import java.util.List;
import java.util.Map;
+import org.drools.reteoo.AccumulateNodeVertex;
import org.drools.reteoo.AlphaNodeVertex;
import org.drools.reteoo.BaseVertex;
+import org.drools.reteoo.CollectNodeVertex;
import org.drools.reteoo.EvalConditionNodeVertex;
+import org.drools.reteoo.ExistsNodeVertex;
+import org.drools.reteoo.FromNodeVertex;
import org.drools.reteoo.JoinNodeVertex;
import org.drools.reteoo.LeftInputAdapterNodeVertex;
import org.drools.reteoo.NotNodeVertex;
@@ -29,6 +33,14 @@
implements
IPropertySource {
+ private static final String VERTEX_FROM = "From BaseVertex";
+
+ private static final String VERTEX_ACCUMULATE = "Accumulate BaseVertex";
+
+ private static final String VERTEX_COLLECT = "Collect BaseVertex";
+
+ private static final String VERTEX_EXISTS = "Exists BaseVertex";
+
private static final String VERTEX_TERMINAL = "Terminal BaseVertex";
private static final String VERTEX_EVAL_CONDITION = "Eval Condition BaseVertex";
@@ -100,7 +112,23 @@
List descriptorList = new ArrayList();
- if ( vertex instanceof TerminalNodeVertex ) {
+ if ( vertex instanceof ExistsNodeVertex ) {
+ initExistsNodeProperties( (ExistsNodeVertex) vertex,
+ descriptorList,
+ values );
+ } else if ( vertex instanceof FromNodeVertex ) {
+ initFromNodeProperties( (FromNodeVertex) vertex,
+ descriptorList,
+ values );
+ } else if ( vertex instanceof AccumulateNodeVertex ) {
+ initAccumulateNodeProperties( (AccumulateNodeVertex) vertex,
+ descriptorList,
+ values );
+ } else if ( vertex instanceof CollectNodeVertex ) {
+ initCollectNodeProperties( (CollectNodeVertex) vertex,
+ descriptorList,
+ values );
+ } else if ( vertex instanceof TerminalNodeVertex ) {
initTerminalNodeProperties( (TerminalNodeVertex) vertex,
descriptorList,
values );
@@ -140,6 +168,60 @@
descriptors = (IPropertyDescriptor[]) descriptorList.toArray( new IPropertyDescriptor[0] );
}
+ private void initExistsNodeProperties(ExistsNodeVertex vertex,
+ List descriptorList,
+ Map valueMap) {
+ addProperty( PROP_NAME,
+ VERTEX_EXISTS,
+ descriptorList,
+ valueMap );
+ addProperty( PROP_ID,
+ Integer.toString( vertex.getId() ),
+ descriptorList,
+ valueMap );
+
+ }
+
+ private void initCollectNodeProperties(CollectNodeVertex vertex,
+ List descriptorList,
+ Map valueMap) {
+ addProperty( PROP_NAME,
+ VERTEX_COLLECT,
+ descriptorList,
+ valueMap );
+ addProperty( PROP_ID,
+ Integer.toString( vertex.getId() ),
+ descriptorList,
+ valueMap );
+
+ }
+
+ private void initAccumulateNodeProperties(AccumulateNodeVertex vertex,
+ List descriptorList,
+ Map valueMap) {
+ addProperty( PROP_NAME,
+ VERTEX_ACCUMULATE,
+ descriptorList,
+ valueMap );
+ addProperty( PROP_ID,
+ Integer.toString( vertex.getId() ),
+ descriptorList,
+ valueMap );
+ }
+
+ private void initFromNodeProperties(FromNodeVertex vertex,
+ List descriptorList,
+ Map valueMap) {
+ addProperty( PROP_NAME,
+ VERTEX_FROM,
+ descriptorList,
+ valueMap );
+ addProperty( PROP_ID,
+ Integer.toString( vertex.getId() ),
+ descriptorList,
+ valueMap );
+ }
+
private void initReteNodeProperties(ReteVertex vertex,
List descriptorList,
Map valueMap) {
Added: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java
===================================================================
--- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java 2006-11-20 21:11:06 UTC (rev 7730)
+++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java 2006-11-20 22:16:31 UTC (rev 7731)
@@ -0,0 +1,59 @@
+/**
+ *
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link AccumulateNode} and adds visual extras like color information
+ *
+ */
+public class AccumulateNodeVertex extends BaseVertex {
+
+ private static final String NODE_NAME = "AccumulateNode";
+
+ private final AccumulateNode node;
+
+ /**
+ * Constructor
+ *
+ * @param node node to be wrapped
+ */
+ public AccumulateNodeVertex(final AccumulateNode node) {
+ super();
+ this.node = node;
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+ */
+ public String getHtml() {
+ return NODE_NAME+" : " + this.node.getId() + " : Chared count=" + this.node.getSharedCount();
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.ide.editors.rete.model.BaseVertex#toString()
+ */
+ public String toString() {
+ return NODE_NAME;
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+ */
+ public Color getFillColor() {
+ return ColorConstants.lightGreen;
+ }
+
+ /**
+ * Node ID
+ *
+ * @return id
+ */
+ public int getId() {
+ return this.node.getId();
+ }
+
+}
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/CollectNodeVertex.java
===================================================================
--- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/CollectNodeVertex.java 2006-11-20 21:11:06 UTC (rev 7730)
+++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/CollectNodeVertex.java 2006-11-20 22:16:31 UTC (rev 7731)
@@ -0,0 +1,59 @@
+/**
+ *
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link CollectNode} and adds visual extras like color information
+ *
+ */
+public class CollectNodeVertex extends BaseVertex {
+
+ private static final String NODE_NAME = "CollectNode";
+
+ private final CollectNode node;
+
+ /**
+ * Constructor
+ *
+ * @param node node to be wrapped
+ */
+ public CollectNodeVertex(final CollectNode node) {
+ super();
+ this.node = node;
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+ */
+ public String getHtml() {
+ return NODE_NAME+" : " + this.node.getId() + " : Chared count = " + this.node.getSharedCount();
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.ide.editors.rete.model.BaseVertex#toString()
+ */
+ public String toString() {
+ return NODE_NAME;
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+ */
+ public Color getFillColor() {
+ return ColorConstants.lightGray;
+ }
+
+ /**
+ * Node ID
+ *
+ * @return id
+ */
+ public int getId() {
+ return this.node.getId();
+ }
+
+}
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/ExistsNodeVertex.java
===================================================================
--- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/ExistsNodeVertex.java 2006-11-20 21:11:06 UTC (rev 7730)
+++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/ExistsNodeVertex.java 2006-11-20 22:16:31 UTC (rev 7731)
@@ -0,0 +1,59 @@
+/**
+ *
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link ExistsNode} and adds visual extras like color information
+ *
+ */
+public class ExistsNodeVertex extends BaseVertex {
+
+ private static final String NODE_NAME = "ExistsNode";
+
+ private final ExistsNode node;
+
+ /**
+ * Constructor
+ *
+ * @param node node to be wrapped
+ */
+ public ExistsNodeVertex(final ExistsNode node) {
+ super();
+ this.node = node;
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+ */
+ public String getHtml() {
+ return NODE_NAME + " : " + this.node.getId() + " : Chared count=" + this.node.getSharedCount();
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.ide.editors.rete.model.BaseVertex#toString()
+ */
+ public String toString() {
+ return NODE_NAME;
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+ */
+ public Color getFillColor() {
+ return ColorConstants.cyan;
+ }
+
+ /**
+ * Node ID
+ *
+ * @return id
+ */
+ public int getId() {
+ return this.node.getId();
+ }
+
+}
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/FromNodeVertex.java
===================================================================
--- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/FromNodeVertex.java 2006-11-20 21:11:06 UTC (rev 7730)
+++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/reteoo/FromNodeVertex.java 2006-11-20 22:16:31 UTC (rev 7731)
@@ -0,0 +1,59 @@
+/**
+ *
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link FromNode} and adds visual extras like color information
+ *
+ */
+public class FromNodeVertex extends BaseVertex {
+
+ private static final String NODE_NAME = "FromNode";
+
+ private final FromNode node;
+
+ /**
+ * Constructor
+ *
+ * @param node node to be wrapped
+ */
+ public FromNodeVertex(final FromNode node) {
+ super();
+ this.node = node;
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+ */
+ public String getHtml() {
+ return NODE_NAME + " : " + this.node.getId() + " : Chared count=" + this.node.getSharedCount();
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.ide.editors.rete.model.BaseVertex#toString()
+ */
+ public String toString() {
+ return NODE_NAME;
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+ */
+ public Color getFillColor() {
+ return ColorConstants.lightBlue;
+ }
+
+ /**
+ * Node ID
+ *
+ * @return id
+ */
+ public int getId() {
+ return this.node.getId();
+ }
+
+}
\ No newline at end of file
More information about the jboss-svn-commits
mailing list