[jboss-svn-commits] JBL Code SVN: r11440 - in labs/jbossrules/trunk: drools-jbrms/src/main/java/org/drools/brms/server/contenthandler and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Apr 29 11:12:43 EDT 2007


Author: tirelli
Date: 2007-04-29 11:12:42 -0400 (Sun, 29 Apr 2007)
New Revision: 11440

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/BRDRLPersistence.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/BRXMLContentHandler.java
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java
Log:
JBRULES-647: BRXML to DRL conversion integration is working. Test case added

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-04-29 12:16:57 UTC (rev 11439)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/BRDRLPersistence.java	2007-04-29 15:12:42 UTC (rev 11440)
@@ -347,7 +347,7 @@
                 buf.append( fieldValues[i].field.substring( 1 ) );
                 buf.append( "( " );
                 if ( fieldValues[i].isFormula() ) {
-                    buf.append( fieldValues[i].value );
+                    buf.append( fieldValues[i].value.substring( 1 ) );
                 } else {
                     buf.append( "\"" );
                     buf.append( fieldValues[i].value );

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/BRXMLContentHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/BRXMLContentHandler.java	2007-04-29 12:16:57 UTC (rev 11439)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/BRXMLContentHandler.java	2007-04-29 15:12:42 UTC (rev 11440)
@@ -1,6 +1,7 @@
 package org.drools.brms.server.contenthandler;
 
 import java.io.IOException;
+import java.io.StringReader;
 
 import org.drools.brms.client.modeldriven.brxml.RuleModel;
 import org.drools.brms.client.rpc.RuleAsset;
@@ -36,13 +37,17 @@
 
     public void compile(BRMSPackageBuilder builder, AssetItem asset, ContentPackageAssembler.ErrorLogger logger) throws DroolsParserException,
                                                                     IOException {
-        throw new UnsupportedOperationException();
-        
+        builder.addPackageFromDrl( new StringReader(getSourceDRL( asset ) ) );
     }
 
     public void assembleDRL(BRMSPackageBuilder builder, AssetItem asset, StringBuffer buf) {
+        String drl = getSourceDRL( asset );
+        buf.append( drl );
+    }
+
+    private String getSourceDRL(AssetItem asset) {
         RuleModel model = BRXMLPersistence.getInstance().unmarshal( asset.getContent() );
         String drl = BRDRLPersistence.getInstance().marshal( model );
-        buf.append( drl );
+        return drl;
     }
 }

Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java	2007-04-29 12:16:57 UTC (rev 11439)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java	2007-04-29 15:12:42 UTC (rev 11440)
@@ -874,9 +874,7 @@
     public void testBinaryPackageCompileAndExecute() throws Exception {
         ServiceImplementation impl = getService();
         RulesRepository repo = impl.repository;
-
         
-        
         //create our package
         PackageItem pkg = repo.createPackage( "testBinaryPackageCompile", "" );
         pkg.updateHeader( "import org.drools.Person" );
@@ -935,29 +933,29 @@
      * This will test creating a package with a BRXML rule, check it compiles, and can exectute rules, 
      * then take a snapshot, and check that it reports errors. 
      */
-    public void STILL_FIXING_testBinaryPackageCompileAndExecuteWithBRXML() throws Exception {
+    public void testBinaryPackageCompileAndExecuteWithBRXML() throws Exception {
         ServiceImplementation impl = getService();
         RulesRepository repo = impl.repository;
 
         //create our package
         PackageItem pkg = repo.createPackage( "testBinaryPackageCompileBRXML", "" );
         pkg.updateHeader( "import org.drools.Person" );
-        AssetItem rule1 = pkg.addAsset( "rule_1", "" );
-        rule1.updateFormat( AssetFormats.BUSINESS_RULE );
+        AssetItem rule2 = pkg.addAsset( "rule2", "" );
+        rule2.updateFormat( AssetFormats.BUSINESS_RULE );
         
         RuleModel model = new RuleModel();
         model.name = "rule2";
         FactPattern pattern = new FactPattern("Person");
         pattern.boundName = "p";
         ActionSetField action = new ActionSetField("p");
-        ActionFieldValue value = new ActionFieldValue("age", "42");
+        ActionFieldValue value = new ActionFieldValue("age", "=42");
         action.addFieldValue( value );
         
         model.addLhsItem( pattern );
         model.addRhsItem( action );
         
-        rule1.updateContent( BRXMLPersistence.getInstance().marshal( model ) );
-        rule1.checkin( "" );
+        rule2.updateContent( BRXMLPersistence.getInstance().marshal( model ) );
+        rule2.checkin( "" );
         repo.save();
         
         BuilderResult[] results = impl.buildPackage( pkg.getUUID() );
@@ -988,16 +986,16 @@
         impl.createPackageSnapshot( "testBinaryPackageCompileBRXML", "SNAP1", false, "" );
         
         pattern.factType = "PersonX";
-        rule1.updateContent( BRXMLPersistence.getInstance().marshal( model ) );
-        rule1.checkin( "" );
+        rule2.updateContent( BRXMLPersistence.getInstance().marshal( model ) );
+        rule2.checkin( "" );
         
         results = impl.buildPackage( pkg.getUUID() );
         assertNotNull(results);
-        assertEquals(1, results.length);
-        assertEquals(rule1.getName(), results[0].assetName);
+        assertEquals(2, results.length);
+        assertEquals(rule2.getName(), results[0].assetName);
         assertEquals(AssetFormats.BUSINESS_RULE, results[0].assetFormat);
         assertNotNull(results[0].message);
-        assertEquals(rule1.getUUID(), results[0].uuid);
+        assertEquals(rule2.getUUID(), results[0].uuid);
         
         pkg = repo.loadPackageSnapshot( "testBinaryPackageCompileBRXML", "SNAP1" );
         results = impl.buildPackage( pkg.getUUID() );




More information about the jboss-svn-commits mailing list