[jboss-svn-commits] JBL Code SVN: r25469 - in labs/jbossrules/trunk/drools-guvnor/src: test/java/org/drools/guvnor/client/modeldriven/ui and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Mar 2 04:14:36 EST 2009
Author: Rikkola
Date: 2009-03-02 04:14:36 -0500 (Mon, 02 Mar 2009)
New Revision: 25469
Modified:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/DSLRuleContentHandler.java
labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditorTest.java
Log:
GUVNOR-110: category rules not inherited
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/DSLRuleContentHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/DSLRuleContentHandler.java 2009-03-02 08:41:29 UTC (rev 25468)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/DSLRuleContentHandler.java 2009-03-02 09:14:36 UTC (rev 25469)
@@ -1,4 +1,5 @@
package org.drools.guvnor.server.contenthandler;
+
/*
* Copyright 2005 JBoss Inc
*
@@ -15,8 +16,6 @@
* limitations under the License.
*/
-
-
import java.io.IOException;
import java.io.StringReader;
import java.util.Iterator;
@@ -35,18 +34,18 @@
import com.google.gwt.user.client.rpc.SerializableException;
-public class DSLRuleContentHandler extends ContentHandler implements IRuleAsset {
+public class DSLRuleContentHandler extends ContentHandler
+ implements
+ IRuleAsset {
-
public void retrieveAssetContent(RuleAsset asset,
PackageItem pkg,
AssetItem item) throws SerializableException {
RuleContentText text = new RuleContentText();
text.content = item.getContent();
-
asset.content = text;
-
+
}
public void storeAssetContent(RuleAsset asset,
@@ -57,58 +56,78 @@
}
- public void compile(BRMSPackageBuilder builder, AssetItem asset, ContentPackageAssembler.ErrorLogger logger) throws DroolsParserException,
- IOException {
- DefaultExpander expander = getExpander( builder, asset, logger );
-
+ public void compile(BRMSPackageBuilder builder,
+ AssetItem asset,
+ ContentPackageAssembler.ErrorLogger logger) throws DroolsParserException,
+ IOException {
+ DefaultExpander expander = getExpander( builder,
+ asset,
+ logger );
+
//add the rule keyword if its 'stand alone'
String source = asset.getContent();
- if (DRLFileContentHandler.isStandAloneRule(source)) {
- source = wrapRule( asset, source );
+ if ( DRLFileContentHandler.isStandAloneRule( source ) ) {
+ String parentName = this.parentNameFromCategory( asset,
+ "" );
+ source = wrapRule( asset,
+ parentName,
+ source );
}
-
+
//expand and check for errors
String drl = expander.expand( source );
- if (expander.hasErrors()) {
+ if ( expander.hasErrors() ) {
List exErrs = expander.getErrors();
for ( Iterator iter = exErrs.iterator(); iter.hasNext(); ) {
ExpanderException ex = (ExpanderException) iter.next();
- logger.logError( new ContentAssemblyError(asset, ex.getMessage()));
+ logger.logError( new ContentAssemblyError( asset,
+ ex.getMessage() ) );
}
return;
}
-
-
- builder.addPackageFromDrl( new StringReader(drl) );
+
+ builder.addPackageFromDrl( new StringReader( drl ) );
}
- private DefaultExpander getExpander(BRMSPackageBuilder builder, AssetItem asset, ContentPackageAssembler.ErrorLogger logger) {
-
- if (!builder.hasDSL()) {
- logger.logError( new ContentAssemblyError(asset, "This rule asset requires a DSL, yet none were configured in the package.") );
+ private DefaultExpander getExpander(BRMSPackageBuilder builder,
+ AssetItem asset,
+ ContentPackageAssembler.ErrorLogger logger) {
+
+ if ( !builder.hasDSL() ) {
+ logger.logError( new ContentAssemblyError( asset,
+ "This rule asset requires a DSL, yet none were configured in the package." ) );
}
-
return builder.getDSLExpander();
}
- public void assembleDRL(BRMSPackageBuilder builder, AssetItem asset, StringBuffer buf) {
+ public void assembleDRL(BRMSPackageBuilder builder,
+ AssetItem asset,
+ StringBuffer buf) {
//add the rule keyword if its 'stand alone'
String source = asset.getContent();
- if (DRLFileContentHandler.isStandAloneRule(source)) {
- source = wrapRule( asset, source );
+ if ( DRLFileContentHandler.isStandAloneRule( source ) ) {
+ String parentName = this.parentNameFromCategory( asset,
+ "" );
+ source = wrapRule( asset,
+ parentName,
+ source );
}
-
- DefaultExpander expander = builder.getDSLExpander();
+
+ DefaultExpander expander = builder.getDSLExpander();
buf.append( expander.expand( source ) );
-
- }
- private String wrapRule(AssetItem asset, String source) {
- return "rule '" + asset.getName() + "' \n" + source + "\nend";
}
+ private String wrapRule(AssetItem asset,
+ String parentName,
+ String source) {
+ if ( parentName == null || "".equals( parentName ) ) {
+ return "rule '" + asset.getName() + "' \n" + source + "\nend";
+ } else {
+ return "rule '" + asset.getName() + "' extends " + parentName + " \n" + source + "\nend";
-
+ }
+ }
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditorTest.java 2009-03-02 08:41:29 UTC (rev 25468)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/client/modeldriven/ui/ConstraintValueEditorTest.java 2009-03-02 09:14:36 UTC (rev 25469)
@@ -1,15 +1,15 @@
package org.drools.guvnor.client.modeldriven.ui;
-import org.drools.guided.ConstraintValueEditorHelper;
-
import junit.framework.TestCase;
public class ConstraintValueEditorTest extends TestCase {
public void testSplit() {
String[] res = ConstraintValueEditorHelper.splitValue( "M=Male" );
- assertEquals("M", res[0]);
- assertEquals("Male", res[1]);
+ assertEquals( "M",
+ res[0] );
+ assertEquals( "Male",
+ res[1] );
}
}
More information about the jboss-svn-commits
mailing list