[jboss-svn-commits] JBL Code SVN: r12908 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools/brms/server/util and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jun 28 00:20:01 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-06-28 00:20:01 -0400 (Thu, 28 Jun 2007)
New Revision: 12908

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/BRDRLPersistence.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/BRDRLPersistenceTest.java
Log:
JBRULES-923 BRL to use MVEL dialect

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/BRDRLPersistence.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/BRDRLPersistence.java	2007-06-28 04:09:20 UTC (rev 12907)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/BRDRLPersistence.java	2007-06-28 04:20:01 UTC (rev 12908)
@@ -16,6 +16,7 @@
 import org.drools.brms.client.modeldriven.brxml.IAction;
 import org.drools.brms.client.modeldriven.brxml.IPattern;
 import org.drools.brms.client.modeldriven.brxml.ISingleFieldConstraint;
+import org.drools.brms.client.modeldriven.brxml.RuleAttribute;
 import org.drools.brms.client.modeldriven.brxml.RuleModel;
 import org.drools.brms.client.modeldriven.brxml.SingleFieldConstraint;
 import org.drools.util.ReflectiveVisitor;
@@ -85,11 +86,25 @@
      */
     private void marshalAttributes(StringBuffer buf,
                                    RuleModel model) {
+        boolean hasDialect = false;
         for ( int i = 0; i < model.attributes.length; i++ ) {
+            RuleAttribute attr = model.attributes[i];
+            
             buf.append( "\t" );
-            buf.append( model.attributes[i] );
+            buf.append( attr );
+            
             buf.append( "\n" );
+            if (attr.attributeName.equals( "dialect" )) {
+                hasDialect = true;
+            }            
         }
+//Un comment below for mvel        
+        if (!hasDialect) {
+            RuleAttribute attr = new RuleAttribute("dialect", "mvel");
+            buf.append( "\t" );
+            buf.append( attr );
+            buf.append( "\n" );
+        }
     }
 
     /**

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/BRDRLPersistenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/BRDRLPersistenceTest.java	2007-06-28 04:09:20 UTC (rev 12907)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/BRDRLPersistenceTest.java	2007-06-28 04:20:01 UTC (rev 12908)
@@ -28,7 +28,7 @@
     }
 
     public void testGenerateEmptyDRL() {
-        String expected = "rule \"null\"\n\twhen\n\tthen\nend\n";
+        String expected = "rule \"null\"\n\tdialect \"mvel\"\n\twhen\n\tthen\nend\n";
 
         final String drl = p.marshal( new RuleModel() );
 
@@ -38,7 +38,7 @@
     }
 
     public void testBasics() {
-        String expected = "rule \"my rule\"\n\tno-loop true\n\twhen\n\t\tPerson( )\n" + 
+        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";
         final RuleModel m = new RuleModel();
         m.addLhsItem( new FactPattern( "Person" ) );
@@ -56,10 +56,11 @@
 
     public void testMoreComplexRendering() {
         final RuleModel m = getComplexModel();
-        String expected = "rule \"Complex Rule\"\n" +
+        String expected = "rule \"Complex Rule\"\n" +                            
                           "\tno-loop true\n" +
                           "\tsalience -10\n" +
                           "\tagenda-group \"aGroup\"\n" +
+                          "\tdialect \"mvel\"\n" +
                           "\twhen\n"+
                           "\t\t>p1 : Person( f1 : age < 42 )\n"+
                           "\t\t>not Cancel( )\n"+
@@ -254,7 +255,7 @@
         
         String actual = BRDRLPersistence.getInstance().marshal( m );
         String expected = "rule \"with composite\" " +
-            " when " +
+            " \tdialect \"mvel\"\n when " +
                 "p1 : Person( ) " + 
                 "Goober( goo == \"foo\"  || == \"bar\" || goo2 == \"foo\" || ( goo == \"whee\" && gabba == \"whee\" ), goo3 == \"foo\" )" +
             " then " +
@@ -278,7 +279,7 @@
         
         String actual = BRDRLPersistence.getInstance().marshal( m );
 
-        String expected = "rule \"boo\" when Person() then end";
+        String expected = "rule \"boo\" \tdialect \"mvel\"\n when Person() then end";
         
         assertEqualsIgnoreWhitespace( expected, actual );
         
@@ -289,7 +290,7 @@
         
         actual = BRDRLPersistence.getInstance().marshal( m );
 
-        expected = "rule \"boo\" when Person(q : field1) then end";
+        expected = "rule \"boo\" dialect \"mvel\" when Person(q : field1) then end";
         
         assertEqualsIgnoreWhitespace( expected, actual );
         
@@ -324,7 +325,7 @@
         String result = BRDRLPersistence.getInstance().marshal( m );
      
         assertEqualsIgnoreWhitespace( "rule \"test literal strings\"" +
-                                          " when " +
+                                          "\tdialect \"mvel\"\n when " +
                                           "     Person(field1 == \"goo\", field2 == variableHere)" +
                                           " then " +
                                           "end", result );
@@ -366,7 +367,7 @@
         
         
         String expected = "rule \"yeah\" " +
-                            " when " + 
+                            "\tdialect \"mvel\"\n when " + 
                                     "Goober( goo == ( someFunc(x) ) )" + 
                             " then " + 
                             "end";
@@ -400,7 +401,7 @@
         String result = BRDRLPersistence.getInstance().marshal( m );
         
         String expected = "rule \"test literal strings\" " +
-            " when " +
+            "\tdialect \"mvel\"\n when " +
                 "Person( field1 == goo  || == \"blah\" )" + 
                 " then " +
                 "end";
@@ -445,5 +446,18 @@
         System.err.println(result);
         assertTrue(result.indexOf( ">insertLogical" ) > -1);
     }
+    
+    public void testDefaultMVEL() {
+        RuleModel m = new RuleModel();
+        
+        String s = BRDRLPersistence.getInstance().marshal( m );
+        assertTrue(s.indexOf( "mvel" ) > -1);
+        
+        m.addAttribute( new RuleAttribute("dialect", "goober") );
+        s = BRDRLPersistence.getInstance().marshal( m );
+        assertFalse(s.indexOf( "mvel" ) > -1);
+        assertTrue(s.indexOf( "goober" ) > -1);
+        
+    }
 
 }




More information about the jboss-svn-commits mailing list