[jboss-svn-commits] JBL Code SVN: r22422 - in labs/jbossrules/trunk/drools-compiler/src: main/java/org/drools/guvnor/server/util and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Sep 4 20:56:26 EDT 2008


Author: michael.neale at jboss.com
Date: 2008-09-04 20:56:26 -0400 (Thu, 04 Sep 2008)
New Revision: 22422

Added:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FreeFormLine.java
Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRDRLPersistence.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRXMLPersistence.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/BRDRLPersistenceTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/BRLPersitenceTest.java
Log:
Adding free form to guided editor

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FreeFormLine.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FreeFormLine.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FreeFormLine.java	2008-09-05 00:56:26 UTC (rev 22422)
@@ -0,0 +1,12 @@
+package org.drools.guvnor.client.modeldriven.brl;
+
+/**
+ * This is a free form line which will be rendered and displayed-as-is.
+ * Allows users to put anything in via guided editor. Use with caution.
+ *
+ * @author Michael Neale
+ *
+ */
+public class FreeFormLine implements IAction, IPattern {
+	public String text;
+}


Property changes on: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FreeFormLine.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRDRLPersistence.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRDRLPersistence.java	2008-09-05 00:53:23 UTC (rev 22421)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRDRLPersistence.java	2008-09-05 00:56:26 UTC (rev 22422)
@@ -14,6 +14,7 @@
 import org.drools.guvnor.client.modeldriven.brl.DSLSentence;
 import org.drools.guvnor.client.modeldriven.brl.FactPattern;
 import org.drools.guvnor.client.modeldriven.brl.FieldConstraint;
+import org.drools.guvnor.client.modeldriven.brl.FreeFormLine;
 import org.drools.guvnor.client.modeldriven.brl.IAction;
 import org.drools.guvnor.client.modeldriven.brl.IPattern;
 import org.drools.guvnor.client.modeldriven.brl.ISingleFieldConstraint;
@@ -149,6 +150,16 @@
             buf.append( "\n" );
         }
 
+        public void visitFreeFormLine(FreeFormLine ffl) {
+
+        	this.buf.append("\t\t");
+        	if (isDSLEnhanced) {
+        		buf.append(">");
+        	}
+        	this.buf.append(ffl.text);
+        	this.buf.append("\n");
+        }
+
         public void visitCompositeFactPattern(CompositeFactPattern pattern) {
             buf.append( "\t\t" );
             if ( isDSLEnhanced ) {
@@ -356,6 +367,16 @@
                                      true );
         }
 
+        public void visitFreeFormLine(FreeFormLine ffl) {
+
+        	this.buf.append("\t\t");
+        	if (isDSLEnhanced) {
+        		buf.append(">");
+        	}
+        	this.buf.append(ffl.text);
+        	this.buf.append("\n");
+        }
+
         private void generateInsertCall(final ActionInsertFact action,
                                         final boolean isLogic) {
             buf.append( "\t\t" );

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRXMLPersistence.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRXMLPersistence.java	2008-09-05 00:53:23 UTC (rev 22421)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRXMLPersistence.java	2008-09-05 00:56:26 UTC (rev 22422)
@@ -11,6 +11,7 @@
 import org.drools.guvnor.client.modeldriven.brl.ConnectiveConstraint;
 import org.drools.guvnor.client.modeldriven.brl.DSLSentence;
 import org.drools.guvnor.client.modeldriven.brl.FactPattern;
+import org.drools.guvnor.client.modeldriven.brl.FreeFormLine;
 import org.drools.guvnor.client.modeldriven.brl.RuleAttribute;
 import org.drools.guvnor.client.modeldriven.brl.RuleModel;
 import org.drools.guvnor.client.modeldriven.brl.SingleFieldConstraint;
@@ -20,9 +21,9 @@
 
 /**
  * This class persists the rule model to XML and back.
- * 
+ *
  * This is the 'brl' xml format (Business Rule Language).
- * 
+ *
  * @author Michael Neale
  */
 public class BRXMLPersistence implements BRLPersistence {
@@ -59,11 +60,12 @@
         this.xt.alias( "fieldConstraint",
                   SingleFieldConstraint.class );
 
-        this.xt.alias( "compositeConstraint", 
+        this.xt.alias( "compositeConstraint",
                        CompositeFieldConstraint.class );
-        
+
         this.xt.alias( "assertLogical",
                   ActionInsertLogicalFact.class );
+        this.xt.alias("freeForm", FreeFormLine.class);
 
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/BRDRLPersistenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/BRDRLPersistenceTest.java	2008-09-05 00:53:23 UTC (rev 22421)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/BRDRLPersistenceTest.java	2008-09-05 00:56:26 UTC (rev 22422)
@@ -13,6 +13,9 @@
 import org.drools.guvnor.client.modeldriven.brl.ConnectiveConstraint;
 import org.drools.guvnor.client.modeldriven.brl.DSLSentence;
 import org.drools.guvnor.client.modeldriven.brl.FactPattern;
+import org.drools.guvnor.client.modeldriven.brl.FreeFormLine;
+import org.drools.guvnor.client.modeldriven.brl.IAction;
+import org.drools.guvnor.client.modeldriven.brl.IPattern;
 import org.drools.guvnor.client.modeldriven.brl.ISingleFieldConstraint;
 import org.drools.guvnor.client.modeldriven.brl.RuleAttribute;
 import org.drools.guvnor.client.modeldriven.brl.RuleModel;
@@ -38,6 +41,26 @@
 		assertEquals(expected, drl);
 	}
 
+	public void testFreeForm() {
+        RuleModel m = new RuleModel();
+        m.name = "with composite";
+        m.lhs = new IPattern[1];
+        m.rhs = new IAction[1];
+
+        FreeFormLine fl = new FreeFormLine();
+        fl.text = "Person()";
+        m.lhs[0] = fl;
+
+        FreeFormLine fr = new FreeFormLine();
+        fr.text = "fun()";
+        m.rhs[0] = fr;
+
+        String drl = p.marshal(m);
+        assertNotNull(drl);
+        assertTrue(drl.indexOf("Person()") > 0);
+        assertTrue(drl.indexOf("fun()") > drl.indexOf("Person()"));
+	}
+
 	public void testBasics() {
 		String expected = "rule \"my rule\"\n\tno-loop true\n\tdialect \"mvel\"\n\twhen\n\t\tPerson( )\n"
 				+ "\t\tAccident( )\n\tthen\n\t\tinsert( new Report() );\nend\n";

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/BRLPersitenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/BRLPersitenceTest.java	2008-09-05 00:53:23 UTC (rev 22421)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/server/util/BRLPersitenceTest.java	2008-09-05 00:56:26 UTC (rev 22422)
@@ -16,6 +16,9 @@
 import org.drools.guvnor.client.modeldriven.brl.ConnectiveConstraint;
 import org.drools.guvnor.client.modeldriven.brl.DSLSentence;
 import org.drools.guvnor.client.modeldriven.brl.FactPattern;
+import org.drools.guvnor.client.modeldriven.brl.FreeFormLine;
+import org.drools.guvnor.client.modeldriven.brl.IAction;
+import org.drools.guvnor.client.modeldriven.brl.IPattern;
 import org.drools.guvnor.client.modeldriven.brl.ISingleFieldConstraint;
 import org.drools.guvnor.client.modeldriven.brl.RuleAttribute;
 import org.drools.guvnor.client.modeldriven.brl.RuleModel;
@@ -176,6 +179,32 @@
 
     }
 
+    public void testFreeFormLine() {
+        RuleModel m = new RuleModel();
+        m.name = "with composite";
+        m.lhs = new IPattern[1];
+        m.rhs = new IAction[1];
+
+        FreeFormLine fl = new FreeFormLine();
+        fl.text = "Person()";
+        m.lhs[0] = fl;
+
+        FreeFormLine fr = new FreeFormLine();
+        fr.text = "fun()";
+        m.rhs[0] = fr;
+
+        String xml = BRXMLPersistence.getInstance().marshal(m);
+        assertNotNull(xml);
+
+        RuleModel m_  = BRXMLPersistence.getInstance().unmarshal(xml);
+        assertEquals(1, m_.lhs.length);
+        assertEquals(1, m_.rhs.length);
+
+        assertEquals("Person()", ((FreeFormLine)m_.lhs[0]).text);
+        assertEquals("fun()", ((FreeFormLine)m_.rhs[0]).text);
+
+    }
+
     /**
      * This will verify that we can load an old BRL change. If this fails,
      * then backwards compatability is broken.




More information about the jboss-svn-commits mailing list