[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