[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