[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