[jboss-svn-commits] JBL Code SVN: r22799 - in labs/jbossrules/trunk/drools-guvnor/src: test/java/org/drools/guvnor/server/builder and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Sep 16 06:02:02 EDT 2008


Author: Rikkola
Date: 2008-09-16 06:02:02 -0400 (Tue, 16 Sep 2008)
New Revision: 22799

Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/ContentPackageAssembler.java
   labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/ContentPackageAssemblerTest.java
Log:
JBRULES-1720: Need "disable" toggle button for all assets

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/ContentPackageAssembler.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/ContentPackageAssembler.java	2008-09-16 08:23:33 UTC (rev 22798)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/ContentPackageAssembler.java	2008-09-16 10:02:02 UTC (rev 22799)
@@ -125,7 +125,7 @@
                                                        "The selector named " + selectorConfigName + " is not available." ) );
             return;
         }
-        Iterator it = pkg.getAssets();
+        Iterator<AssetItem> it = pkg.getAssets();
         while ( it.hasNext() ) {
 
             AssetItem asset = (AssetItem) it.next();
@@ -317,13 +317,13 @@
         }
 
         //now the rules
-        Iterator iter = pkg.getAssets();
+        Iterator<AssetItem> iter = pkg.getAssets();
         while ( iter.hasNext() ) {
             AssetItem asset = (AssetItem) iter.next();
-            if ( !asset.isArchived() ) {
+            if ( !asset.isArchived() && !asset.getDisabled() ) {
 
                 ContentHandler h = ContentManager.getHandler( asset.getFormat() );
-                if ( h instanceof IRuleAsset && !asset.getDisabled() ) {
+                if ( h instanceof IRuleAsset ) {
                     IRuleAsset ruleAsset = (IRuleAsset) h;
                     ruleAsset.assembleDRL( builder,
                                            asset,

Modified: labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/ContentPackageAssemblerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/ContentPackageAssemblerTest.java	2008-09-16 08:23:33 UTC (rev 22798)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/ContentPackageAssemblerTest.java	2008-09-16 10:02:02 UTC (rev 22799)
@@ -1,4 +1,5 @@
 package org.drools.guvnor.server.builder;
+
 /*
  * Copyright 2005 JBoss Inc
  *
@@ -15,8 +16,6 @@
  * limitations under the License.
  */
 
-
-
 import java.io.InputStream;
 import java.io.StringReader;
 import java.util.List;
@@ -50,6 +49,7 @@
 import org.drools.repository.PackageItem;
 import org.drools.repository.RulesRepository;
 import org.drools.rule.Package;
+import org.drools.rule.Rule;
 import org.drools.ruleflow.core.RuleFlowProcess;
 import org.mvel.MVEL;
 
@@ -66,118 +66,133 @@
     public void testPackageConfigWithErrors() throws Exception {
         //test the config, no rule assets yet
         RulesRepository repo = getRepo();
-        PackageItem pkg = repo.createPackage( "testBuilderPackageConfig", "x" );
-        ServiceImplementation.updateDroolsHeader( "import java.util.List", pkg );
-        AssetItem func = pkg.addAsset( "func1", "a function" );
+        PackageItem pkg = repo.createPackage( "testBuilderPackageConfig",
+                                              "x" );
+        ServiceImplementation.updateDroolsHeader( "import java.util.List",
+                                                  pkg );
+        AssetItem func = pkg.addAsset( "func1",
+                                       "a function" );
         func.updateFormat( AssetFormats.FUNCTION );
         func.updateContent( "function void doSomething() { \n System.err.println(List.class.toString()); }" );
         func.checkin( "yeah" );
 
-        func = pkg.addAsset( "func2", "q" );
+        func = pkg.addAsset( "func2",
+                             "q" );
         func.updateFormat( AssetFormats.FUNCTION );
-        func.updateContent( "function void foo() { \nSystem.err.println(42); \n}");
+        func.updateContent( "function void foo() { \nSystem.err.println(42); \n}" );
         func.checkin( "" );
 
-        AssetItem ass = pkg.addAsset( "dsl", "m");
+        AssetItem ass = pkg.addAsset( "dsl",
+                                      "m" );
         ass.updateFormat( AssetFormats.DSL );
         ass.updateContent( "[when]Foo bar=String()" );
         ass.checkin( "" );
         repo.save();
 
-
         //now lets light it up
-        ContentPackageAssembler assembler = new ContentPackageAssembler(pkg);
-        assertFalse(assembler.hasErrors());
+        ContentPackageAssembler assembler = new ContentPackageAssembler( pkg );
+        assertFalse( assembler.hasErrors() );
         Package bin = assembler.getBinaryPackage();
-        assertNotNull(bin);
-        assertEquals("testBuilderPackageConfig", bin.getName());
-        assertEquals(2, bin.getFunctions().size());
+        assertNotNull( bin );
+        assertEquals( "testBuilderPackageConfig",
+                      bin.getName() );
+        assertEquals( 2,
+                      bin.getFunctions().size() );
 
-        assertTrue(bin.isValid());
-        assertEquals(1, assembler.builder.getDSLMappingFiles().size());
+        assertTrue( bin.isValid() );
+        assertEquals( 1,
+                      assembler.builder.getDSLMappingFiles().size() );
 
+        ServiceImplementation.updateDroolsHeader( "koo koo ca choo",
+                                                  pkg );
+        assembler = new ContentPackageAssembler( pkg );
+        assertTrue( assembler.hasErrors() );
+        assertTrue( assembler.isPackageConfigurationInError() );
 
-        ServiceImplementation.updateDroolsHeader( "koo koo ca choo", pkg );
-        assembler = new ContentPackageAssembler(pkg);
-        assertTrue(assembler.hasErrors());
-        assertTrue(assembler.isPackageConfigurationInError());
+        ServiceImplementation.updateDroolsHeader( "import java.util.Date",
+                                                  pkg );
+        assembler = new ContentPackageAssembler( pkg );
+        assertTrue( assembler.hasErrors() );
+        assertTrue( assembler.getErrors().get( 0 ).itemInError instanceof AssetItem );
 
-        ServiceImplementation.updateDroolsHeader( "import java.util.Date", pkg );
-        assembler = new ContentPackageAssembler(pkg);
-        assertTrue(assembler.hasErrors());
-        assertTrue(assembler.getErrors().get(0).itemInError instanceof AssetItem);
-
-        assertEquals("func1", assembler.getErrors().get( 0 ).itemInError.getName());
+        assertEquals( "func1",
+                      assembler.getErrors().get( 0 ).itemInError.getName() );
         try {
             assembler.getBinaryPackage();
-            fail("should not work as is in error.");
-        } catch (IllegalStateException e) {
-            assertNotNull(e.getMessage());
+            fail( "should not work as is in error." );
+        } catch ( IllegalStateException e ) {
+            assertNotNull( e.getMessage() );
         }
 
         //fix it up
-        ServiceImplementation.updateDroolsHeader("import java.util.List", pkg);
-        assembler = new ContentPackageAssembler(pkg);
-        assertFalse(assembler.hasErrors());
+        ServiceImplementation.updateDroolsHeader( "import java.util.List",
+                                                  pkg );
+        assembler = new ContentPackageAssembler( pkg );
+        assertFalse( assembler.hasErrors() );
 
         //now break a DSL and check the error
         ass.updateContent( "rubbish" );
         ass.checkin( "" );
-        assembler = new ContentPackageAssembler(pkg);
-        assertTrue(assembler.hasErrors());
-        assertTrue(assembler.getErrors().get( 0 ).itemInError.getName().equals( ass.getName() ));
-        assertNotEmpty(assembler.getErrors().get( 0 ).errorReport);
-        assertFalse(assembler.isPackageConfigurationInError());
+        assembler = new ContentPackageAssembler( pkg );
+        assertTrue( assembler.hasErrors() );
+        assertTrue( assembler.getErrors().get( 0 ).itemInError.getName().equals( ass.getName() ) );
+        assertNotEmpty( assembler.getErrors().get( 0 ).errorReport );
+        assertFalse( assembler.isPackageConfigurationInError() );
 
         //now fix it up
         ass.updateContent( "[when]foo=String()" );
         ass.checkin( "" );
-        assembler = new ContentPackageAssembler(pkg);
-        assertFalse(assembler.hasErrors());
+        assembler = new ContentPackageAssembler( pkg );
+        assertFalse( assembler.hasErrors() );
 
         //break a func, and check for error
         func.updateContent( "goo" );
         func.checkin( "" );
-        assembler = new ContentPackageAssembler(pkg);
-        assertTrue(assembler.hasErrors());
-        assertFalse(assembler.isPackageConfigurationInError());
-        assertTrue(assembler.getErrors().get( 0 ).itemInError.getName().equals( func.getName() ));
-        assertNotEmpty(assembler.getErrors().get( 0 ).errorReport);
+        assembler = new ContentPackageAssembler( pkg );
+        assertTrue( assembler.hasErrors() );
+        assertFalse( assembler.isPackageConfigurationInError() );
+        assertTrue( assembler.getErrors().get( 0 ).itemInError.getName().equals( func.getName() ) );
+        assertNotEmpty( assembler.getErrors().get( 0 ).errorReport );
     }
 
-
     public void testPackageWithRuleflow() throws Exception {
         RulesRepository repo = getRepo();
 
-        PackageItem pkg = repo.createPackage( "testPackageWithRuleFlow", "" );
-        AssetItem model = pkg.addAsset( "model", "qed" );
+        PackageItem pkg = repo.createPackage( "testPackageWithRuleFlow",
+                                              "" );
+        AssetItem model = pkg.addAsset( "model",
+                                        "qed" );
         model.updateFormat( AssetFormats.MODEL );
 
         model.updateBinaryContentAttachment( this.getClass().getResourceAsStream( "/billasurf.jar" ) );
         model.checkin( "" );
 
-        ServiceImplementation.updateDroolsHeader("import com.billasurf.Board\n global com.billasurf.Person customer", pkg);
+        ServiceImplementation.updateDroolsHeader( "import com.billasurf.Board\n global com.billasurf.Person customer",
+                                                  pkg );
 
-        AssetItem rule1 = pkg.addAsset( "rule_1", "" );
+        AssetItem rule1 = pkg.addAsset( "rule_1",
+                                        "" );
         rule1.updateFormat( AssetFormats.DRL );
-        rule1.updateContent( "rule 'rule1' \n when Board() \n then customer.setAge(42); \n end");
+        rule1.updateContent( "rule 'rule1' \n when Board() \n then customer.setAge(42); \n end" );
         rule1.checkin( "" );
 
-        AssetItem ruleFlow = pkg.addAsset( "ruleFlow", "" );
+        AssetItem ruleFlow = pkg.addAsset( "ruleFlow",
+                                           "" );
         ruleFlow.updateFormat( AssetFormats.RULE_FLOW_RF );
 
         ruleFlow.updateBinaryContentAttachment( this.getClass().getResourceAsStream( "/ruleflow.rfm" ) );
         ruleFlow.checkin( "" );
 
-        ContentPackageAssembler asm = new ContentPackageAssembler(pkg);
-        assertFalse(asm.hasErrors());
+        ContentPackageAssembler asm = new ContentPackageAssembler( pkg );
+        assertFalse( asm.hasErrors() );
         Map flows = asm.getBinaryPackage().getRuleFlows();
-        assertNotNull(flows);
+        assertNotNull( flows );
 
-        assertEquals(1, flows.size());
+        assertEquals( 1,
+                      flows.size() );
         Object flow = flows.values().iterator().next();
-        assertNotNull(flow);
-        assertTrue(flow instanceof RuleFlowProcess);
+        assertNotNull( flow );
+        assertTrue( flow instanceof RuleFlowProcess );
 
         //now check we can do some MVEL stuff from the classloader...
         List<JarInputStream> jars = BRMSPackageBuilder.getJars( pkg );
@@ -186,147 +201,162 @@
         ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
 
         //set the CL for the current thread so MVEL can find it
-        Thread.currentThread().setContextClassLoader(newCL);
+        Thread.currentThread().setContextClassLoader( newCL );
 
-        Object o = MVEL.eval("new com.billasurf.Board()");
-        assertEquals("com.billasurf.Board", o.getClass().getName());
-        System.err.println(o.toString());
+        Object o = MVEL.eval( "new com.billasurf.Board()" );
+        assertEquals( "com.billasurf.Board",
+                      o.getClass().getName() );
+        System.err.println( o.toString() );
 
-        Thread.currentThread().setContextClassLoader(oldCL);
+        Thread.currentThread().setContextClassLoader( oldCL );
 
-
-        builder.addPackageFromDrl(new StringReader("package foo\n import com.billasurf.Board"));
-        Object o2 = builder.getPackageRegistry( "foo" ).getTypeResolver().resolveType("Board");
-        assertNotNull(o2);
-        assertEquals("com.billasurf.Board", ((Class)o2).getName());
+        builder.addPackageFromDrl( new StringReader( "package foo\n import com.billasurf.Board" ) );
+        Object o2 = builder.getPackageRegistry( "foo" ).getTypeResolver().resolveType( "Board" );
+        assertNotNull( o2 );
+        assertEquals( "com.billasurf.Board",
+                      ((Class) o2).getName() );
     }
 
     public void testSimplePackageWithDeclaredTypes() throws Exception {
         RulesRepository repo = getRepo();
 
-        PackageItem pkg = repo.createPackage( "testSimplePackageWithDeclaredTypes", "" );
+        PackageItem pkg = repo.createPackage( "testSimplePackageWithDeclaredTypes",
+                                              "" );
 
-        AssetItem rule1 = pkg.addAsset( "rule_1", "" );
+        AssetItem rule1 = pkg.addAsset( "rule_1",
+                                        "" );
         rule1.updateFormat( AssetFormats.DRL );
-        rule1.updateContent( "rule 'rule1' \n when Album() \n then System.err.println(42); \n end");
+        rule1.updateContent( "rule 'rule1' \n when Album() \n then System.err.println(42); \n end" );
         rule1.checkin( "" );
 
-
-        AssetItem model = pkg.addAsset( "model", "qed" );
+        AssetItem model = pkg.addAsset( "model",
+                                        "qed" );
         model.updateFormat( AssetFormats.DRL_MODEL );
 
-        model.updateContent("declare Album\n genre: String \n end");
+        model.updateContent( "declare Album\n genre: String \n end" );
         model.checkin( "" );
 
         repo.save();
 
-        ContentPackageAssembler asm = new ContentPackageAssembler(pkg);
-        assertFalse(asm.hasErrors());
-        assertNotNull(asm.getBinaryPackage());
+        ContentPackageAssembler asm = new ContentPackageAssembler( pkg );
+        assertFalse( asm.hasErrors() );
+        assertNotNull( asm.getBinaryPackage() );
         Package bin = asm.getBinaryPackage();
-        assertEquals(pkg.getName(), bin.getName());
-        assertTrue(bin.isValid());
+        assertEquals( pkg.getName(),
+                      bin.getName() );
+        assertTrue( bin.isValid() );
 
-        asm = new ContentPackageAssembler(pkg, false);
+        asm = new ContentPackageAssembler( pkg,
+                                           false );
         String drl = asm.getDRL();
 
-        assertTrue(drl.indexOf("declare Album") > -1);
+        assertTrue( drl.indexOf( "declare Album" ) > -1 );
 
-
     }
 
     public void testSimplePackageBuildNoErrors() throws Exception {
         RulesRepository repo = getRepo();
 
-        PackageItem pkg = repo.createPackage( "testSimplePackageBuildNoErrors", "" );
-        AssetItem model = pkg.addAsset( "model", "qed" );
+        PackageItem pkg = repo.createPackage( "testSimplePackageBuildNoErrors",
+                                              "" );
+        AssetItem model = pkg.addAsset( "model",
+                                        "qed" );
         model.updateFormat( AssetFormats.MODEL );
 
         model.updateBinaryContentAttachment( this.getClass().getResourceAsStream( "/billasurf.jar" ) );
         model.checkin( "" );
 
-        ServiceImplementation.updateDroolsHeader("import com.billasurf.Board\n global com.billasurf.Person customer", pkg );
+        ServiceImplementation.updateDroolsHeader( "import com.billasurf.Board\n global com.billasurf.Person customer",
+                                                  pkg );
 
-        AssetItem rule1 = pkg.addAsset( "rule_1", "" );
+        AssetItem rule1 = pkg.addAsset( "rule_1",
+                                        "" );
         rule1.updateFormat( AssetFormats.DRL );
-        rule1.updateContent( "rule 'rule1' \n when Board() \n then customer.setAge(42); \n end");
+        rule1.updateContent( "rule 'rule1' \n when Board() \n then customer.setAge(42); \n end" );
         rule1.checkin( "" );
 
-        AssetItem rule2 = pkg.addAsset( "rule2", "" );
+        AssetItem rule2 = pkg.addAsset( "rule2",
+                                        "" );
         rule2.updateFormat( AssetFormats.DRL );
         rule2.updateContent( "agenda-group 'q' \n when \n Board() \n then \n System.err.println(42);" );
         rule2.checkin( "" );
 
-        AssetItem rule3 = pkg.addAsset( "A file", "" );
+        AssetItem rule3 = pkg.addAsset( "A file",
+                                        "" );
         rule3.updateFormat( AssetFormats.DRL );
-        rule3.updateContent( "package testSimplePackageBuildNoErrors\n rule 'rule3' \n when \n then \n customer.setAge(43); \n end \n" +
-                "rule 'rule4' \n when \n then \n System.err.println(44); \n end" );
+        rule3.updateContent( "package testSimplePackageBuildNoErrors\n rule 'rule3' \n when \n then \n customer.setAge(43); \n end \n" + "rule 'rule4' \n when \n then \n System.err.println(44); \n end" );
         rule3.checkin( "" );
 
         repo.save();
 
-
-        ContentPackageAssembler asm = new ContentPackageAssembler(pkg);
-        assertFalse(asm.hasErrors());
-        assertNotNull(asm.getBinaryPackage());
+        ContentPackageAssembler asm = new ContentPackageAssembler( pkg );
+        assertFalse( asm.hasErrors() );
+        assertNotNull( asm.getBinaryPackage() );
         Package bin = asm.getBinaryPackage();
-        assertEquals(pkg.getName(), bin.getName());
-        assertTrue(bin.isValid());
+        assertEquals( pkg.getName(),
+                      bin.getName() );
+        assertTrue( bin.isValid() );
 
-        assertEquals(4, bin.getRules().length);
+        assertEquals( 4,
+                      bin.getRules().length );
 
         //now create a snapshot
-        repo.createPackageSnapshot( pkg.getName(), "SNAP_1" );
+        repo.createPackageSnapshot( pkg.getName(),
+                                    "SNAP_1" );
 
         //and screw up the the non snapshot one
-        ServiceImplementation.updateDroolsHeader("koo koo ca choo", pkg );
-        asm = new ContentPackageAssembler(pkg);
-        assertTrue(asm.hasErrors());
+        ServiceImplementation.updateDroolsHeader( "koo koo ca choo",
+                                                  pkg );
+        asm = new ContentPackageAssembler( pkg );
+        assertTrue( asm.hasErrors() );
 
-
         //check the snapshot is kosher
-        pkg = repo.loadPackageSnapshot( pkg.getName(), "SNAP_1" );
-        asm = new ContentPackageAssembler(pkg);
-        assertFalse(asm.hasErrors());
+        pkg = repo.loadPackageSnapshot( pkg.getName(),
+                                        "SNAP_1" );
+        asm = new ContentPackageAssembler( pkg );
+        assertFalse( asm.hasErrors() );
 
     }
 
     public void testIgnoreArchivedItems() throws Exception {
         RulesRepository repo = getRepo();
 
-        PackageItem pkg = repo.createPackage( "testIgnoreArchivedItems", "" );
-        AssetItem model = pkg.addAsset( "model", "qed" );
+        PackageItem pkg = repo.createPackage( "testIgnoreArchivedItems",
+                                              "" );
+        AssetItem model = pkg.addAsset( "model",
+                                        "qed" );
         model.updateFormat( AssetFormats.MODEL );
 
         model.updateBinaryContentAttachment( this.getClass().getResourceAsStream( "/billasurf.jar" ) );
         model.checkin( "" );
 
-        ServiceImplementation.updateDroolsHeader("import com.billasurf.Board\n global com.billasurf.Person customer", pkg );
+        ServiceImplementation.updateDroolsHeader( "import com.billasurf.Board\n global com.billasurf.Person customer",
+                                                  pkg );
 
-        AssetItem rule1 = pkg.addAsset( "rule_1", "" );
+        AssetItem rule1 = pkg.addAsset( "rule_1",
+                                        "" );
         rule1.updateFormat( AssetFormats.DRL );
-        rule1.updateContent( "rule 'rule1' \n when Board() \n then customer.setAge(42); \n end");
+        rule1.updateContent( "rule 'rule1' \n when Board() \n then customer.setAge(42); \n end" );
         rule1.checkin( "" );
 
-        AssetItem rule2 = pkg.addAsset( "rule2", "" );
+        AssetItem rule2 = pkg.addAsset( "rule2",
+                                        "" );
         rule2.updateFormat( AssetFormats.DRL );
         rule2.updateContent( "agenda-group 'q' \n when \n Boardx() \n then \n System.err.println(42);" );
         rule2.checkin( "" );
 
         repo.save();
 
+        ContentPackageAssembler asm = new ContentPackageAssembler( pkg );
+        assertTrue( asm.hasErrors() );
 
-        ContentPackageAssembler asm = new ContentPackageAssembler(pkg);
-        assertTrue(asm.hasErrors());
-
         rule2.archiveItem( true );
         rule2.checkin( "" );
 
-        assertTrue(rule2.isArchived());
-        asm = new ContentPackageAssembler(pkg);
-        assertFalse(asm.hasErrors());
+        assertTrue( rule2.isArchived() );
+        asm = new ContentPackageAssembler( pkg );
+        assertFalse( asm.hasErrors() );
 
-
     }
 
     /**
@@ -338,37 +368,40 @@
         RulesRepository repo = getRepo();
 
         //first, setup the package correctly:
-        PackageItem pkg = repo.createPackage( "testErrorsInRuleAsset", "" );
-        AssetItem model = pkg.addAsset( "model", "qed" );
+        PackageItem pkg = repo.createPackage( "testErrorsInRuleAsset",
+                                              "" );
+        AssetItem model = pkg.addAsset( "model",
+                                        "qed" );
         model.updateFormat( AssetFormats.MODEL );
         model.updateBinaryContentAttachment( this.getClass().getResourceAsStream( "/billasurf.jar" ) );
         model.checkin( "" );
-        ServiceImplementation.updateDroolsHeader("import com.billasurf.Board\n global com.billasurf.Person customer", pkg );
+        ServiceImplementation.updateDroolsHeader( "import com.billasurf.Board\n global com.billasurf.Person customer",
+                                                  pkg );
         repo.save();
 
-        AssetItem goodRule = pkg.addAsset( "goodRule", "" );
+        AssetItem goodRule = pkg.addAsset( "goodRule",
+                                           "" );
         goodRule.updateFormat( AssetFormats.DRL );
         goodRule.updateContent( "rule 'yeah' \n when \n Board() \n then \n System.out.println(42); end" );
         goodRule.checkin( "" );
 
-        AssetItem badRule = pkg.addAsset( "badRule", "xxx" );
+        AssetItem badRule = pkg.addAsset( "badRule",
+                                          "xxx" );
         badRule.updateFormat( AssetFormats.DRL );
         badRule.updateContent( "if something then another" );
         badRule.checkin( "" );
 
-        ContentPackageAssembler asm = new ContentPackageAssembler(pkg);
-        assertTrue(asm.hasErrors());
-        assertFalse(asm.isPackageConfigurationInError());
+        ContentPackageAssembler asm = new ContentPackageAssembler( pkg );
+        assertTrue( asm.hasErrors() );
+        assertFalse( asm.isPackageConfigurationInError() );
 
         for ( ContentAssemblyError err : asm.getErrors() ) {
-            assertTrue(err.itemInError.getName().equals( badRule.getName() ));
-            assertNotEmpty(err.errorReport);
+            assertTrue( err.itemInError.getName().equals( badRule.getName() ) );
+            assertNotEmpty( err.errorReport );
         }
 
     }
 
-
-
     /**
      * This time, we mix up stuff a bit
      *
@@ -377,53 +410,63 @@
         RulesRepository repo = getRepo();
 
         //first, setup the package correctly:
-        PackageItem pkg = repo.createPackage( "testRuleAndDSLAndFunction", "" );
-        AssetItem model = pkg.addAsset( "model", "qed" );
+        PackageItem pkg = repo.createPackage( "testRuleAndDSLAndFunction",
+                                              "" );
+        AssetItem model = pkg.addAsset( "model",
+                                        "qed" );
         model.updateFormat( AssetFormats.MODEL );
         model.updateBinaryContentAttachment( this.getClass().getResourceAsStream( "/billasurf.jar" ) );
         model.checkin( "" );
-        ServiceImplementation.updateDroolsHeader("import com.billasurf.Board\n global com.billasurf.Person customer", pkg );
+        ServiceImplementation.updateDroolsHeader( "import com.billasurf.Board\n global com.billasurf.Person customer",
+                                                  pkg );
         repo.save();
 
-        AssetItem func = pkg.addAsset( "func", "" );
+        AssetItem func = pkg.addAsset( "func",
+                                       "" );
         func.updateFormat( AssetFormats.FUNCTION );
         func.updateContent( "function void foo() { System.out.println(42); }" );
         func.checkin( "" );
 
-        AssetItem dsl = pkg.addAsset( "myDSL", "" );
+        AssetItem dsl = pkg.addAsset( "myDSL",
+                                      "" );
         dsl.updateFormat( AssetFormats.DSL );
         dsl.updateContent( "[then]call a func=foo();" );
         dsl.checkin( "" );
 
-        AssetItem dsl2 = pkg.addAsset( "myDSL2", "" );
+        AssetItem dsl2 = pkg.addAsset( "myDSL2",
+                                       "" );
         dsl2.updateFormat( AssetFormats.DSL );
         dsl2.updateContent( "[when]There is a board=Board()" );
         dsl2.checkin( "" );
 
-
-        AssetItem rule = pkg.addAsset( "myRule", "" );
+        AssetItem rule = pkg.addAsset( "myRule",
+                                       "" );
         rule.updateFormat( AssetFormats.DSL_TEMPLATE_RULE );
         rule.updateContent( "when \n There is a board \n then \n call a func" );
         rule.checkin( "" );
 
-        AssetItem rule2 = pkg.addAsset( "myRule2", "" );
+        AssetItem rule2 = pkg.addAsset( "myRule2",
+                                        "" );
         rule2.updateFormat( AssetFormats.DSL_TEMPLATE_RULE );
         rule2.updateContent( "package testRuleAndDSLAndFunction \n rule 'myRule2222' \n when \n There is a board \n then \n call a func \nend" );
         rule2.checkin( "" );
 
-        AssetItem rule3 = pkg.addAsset( "myRule3", "" );
+        AssetItem rule3 = pkg.addAsset( "myRule3",
+                                        "" );
         rule3.updateFormat( AssetFormats.DRL );
-        rule3.updateContent( "package testRuleAndDSLAndFunction\n rule 'rule3' \n when \n Board() \n then \n System.err.println(42); end");
+        rule3.updateContent( "package testRuleAndDSLAndFunction\n rule 'rule3' \n when \n Board() \n then \n System.err.println(42); end" );
         rule3.checkin( "" );
 
         repo.save();
 
-        ContentPackageAssembler asm = new ContentPackageAssembler(pkg);
-        assertFalse(asm.hasErrors());
+        ContentPackageAssembler asm = new ContentPackageAssembler( pkg );
+        assertFalse( asm.hasErrors() );
         Package bin = asm.getBinaryPackage();
-        assertNotNull(bin);
-        assertEquals(3, bin.getRules().length);
-        assertEquals(1, bin.getFunctions().size());
+        assertNotNull( bin );
+        assertEquals( 3,
+                      bin.getRules().length );
+        assertEquals( 1,
+                      bin.getFunctions().size() );
 
     }
 
@@ -431,44 +474,114 @@
         RulesRepository repo = getRepo();
 
         //first, setup the package correctly:
-        PackageItem pkg = repo.createPackage( "testShowSource", "" );
+        PackageItem pkg = repo.createPackage( "testShowSource",
+                                              "" );
 
-        ServiceImplementation.updateDroolsHeader("import com.billasurf.Board\n global com.billasurf.Person customer", pkg );
+        ServiceImplementation.updateDroolsHeader( "import com.billasurf.Board\n global com.billasurf.Person customer",
+                                                  pkg );
         repo.save();
 
-        AssetItem func = pkg.addAsset( "func", "" );
+        AssetItem func = pkg.addAsset( "func",
+                                       "" );
         func.updateFormat( AssetFormats.FUNCTION );
         func.updateContent( "function void foo() { System.out.println(42); }" );
         func.checkin( "" );
 
-        AssetItem dsl = pkg.addAsset( "myDSL", "" );
+        AssetItem dsl = pkg.addAsset( "myDSL",
+                                      "" );
         dsl.updateFormat( AssetFormats.DSL );
         dsl.updateContent( "[then]call a func=foo();\n[when]foo=FooBarBaz()" );
         dsl.checkin( "" );
 
-        AssetItem rule = pkg.addAsset( "rule1", "" );
+        AssetItem rule = pkg.addAsset( "rule1",
+                                       "" );
         rule.updateFormat( AssetFormats.DRL );
         rule.updateContent( "rule 'foo' when Goo() then end" );
         rule.checkin( "" );
 
-        AssetItem rule2 = pkg.addAsset( "rule2", "" );
+        AssetItem rule2 = pkg.addAsset( "rule2",
+                                        "" );
         rule2.updateFormat( AssetFormats.DSL_TEMPLATE_RULE );
         rule2.updateContent( "when \n foo \n then \n call a func" );
         rule2.checkin( "" );
 
-        ContentPackageAssembler asm = new ContentPackageAssembler(pkg, false, null);
+        ContentPackageAssembler asm = new ContentPackageAssembler( pkg,
+                                                                   false,
+                                                                   null );
         String drl = asm.getDRL();
 
-        assertNotNull(drl);
+        assertNotNull( drl );
 
-        assertContains("import com.billasurf.Board\n global com.billasurf.Person customer", drl);
-        assertContains("package testShowSource", drl);
-        assertContains("function void foo() { System.out.println(42); }", drl);
-        assertContains("foo();", drl);
-        assertContains("FooBarBaz()", drl);
-        assertContains("rule 'foo' when Goo() then end", drl);
+        assertContains( "import com.billasurf.Board\n global com.billasurf.Person customer",
+                        drl );
+        assertContains( "package testShowSource",
+                        drl );
+        assertContains( "function void foo() { System.out.println(42); }",
+                        drl );
+        assertContains( "foo();",
+                        drl );
+        assertContains( "FooBarBaz()",
+                        drl );
+        assertContains( "rule 'foo' when Goo() then end",
+                        drl );
 
+    }
 
+    public void testSkipDisabledAssets() throws Exception {
+        RulesRepository repo = getRepo();
+
+        //first, setup the package correctly:
+        PackageItem pkg = repo.createPackage( "testSkipDisabledAssets",
+                                              "" );
+        repo.save();
+
+        AssetItem assertRule1 = pkg.addAsset( "rule1",
+                                              "" );
+        assertRule1.updateFormat( AssetFormats.DRL );
+        assertRule1.updateContent( "rule 'foo1' when then end" );
+        assertRule1.checkin( "" );
+        assertRule1.updateDisabled( false );
+
+        AssetItem assertRule2 = pkg.addAsset( "rule2",
+                                              "" );
+        assertRule2.updateFormat( AssetFormats.DRL );
+        assertRule2.updateContent( "rule 'foo2' when then end" );
+        assertRule2.checkin( "" );
+        assertRule2.updateDisabled( true );
+
+        AssetItem assertRule3 = pkg.addAsset( "rule3",
+                                              "" );
+        assertRule3.updateFormat( AssetFormats.DRL );
+        assertRule3.updateContent( "rule 'foo3' when then end" );
+        assertRule3.checkin( "" );
+
+        ContentPackageAssembler asm = new ContentPackageAssembler( pkg,
+                                                                   true,
+                                                                   null );
+        assertFalse( asm.hasErrors() );
+        Package p = asm.builder.getPackage();
+
+        String errors = p.getErrorSummary();
+        assertNull( errors );
+
+        Rule rule1 = p.getRule( "foo1" );
+        assertNotNull( rule1 );
+        Rule rule2 = p.getRule( "foo2" );
+        assertNull( rule2 );
+        Rule rule3 = p.getRule( "foo3" );
+        assertNotNull( rule3 );
+
+        String drl = asm.getDRL();
+
+        assertNotNull( drl );
+
+        assertContains( "rule 'foo1' when then end",
+                        drl );
+        assertDoesNotContain( "rule 'foo2' when then end",
+                              drl );
+        assertContains( "rule 'foo3' when then end",
+                        drl );
+
     }
 
     public void testXLSDecisionTable() throws Exception {
@@ -476,32 +589,35 @@
         RulesRepository repo = getRepo();
 
         //first, setup the package correctly:
-        PackageItem pkg = repo.createPackage( "testXLSDecisionTable", "" );
+        PackageItem pkg = repo.createPackage( "testXLSDecisionTable",
+                                              "" );
 
-        ServiceImplementation.updateDroolsHeader("import org.acme.insurance.Policy\n import org.acme.insurance.Driver", pkg );
+        ServiceImplementation.updateDroolsHeader( "import org.acme.insurance.Policy\n import org.acme.insurance.Driver",
+                                                  pkg );
         repo.save();
 
         InputStream xls = this.getClass().getResourceAsStream( "/SampleDecisionTable.xls" );
-        assertNotNull(xls);
+        assertNotNull( xls );
 
-        AssetItem asset = pkg.addAsset( "MyDT", "" );
+        AssetItem asset = pkg.addAsset( "MyDT",
+                                        "" );
         asset.updateFormat( AssetFormats.DECISION_SPREADSHEET_XLS );
         asset.updateBinaryContentAttachment( xls );
         asset.checkin( "" );
 
-        ContentPackageAssembler asm = new ContentPackageAssembler(pkg);
-        if (asm.hasErrors()) {
-            System.err.println(asm.getErrors().get( 0 ).errorReport);
-            System.err.println(asm.getDRL());
+        ContentPackageAssembler asm = new ContentPackageAssembler( pkg );
+        if ( asm.hasErrors() ) {
+            System.err.println( asm.getErrors().get( 0 ).errorReport );
+            System.err.println( asm.getDRL() );
         }
-        assertFalse(asm.hasErrors());
+        assertFalse( asm.hasErrors() );
 
         String drl = asm.getDRL();
-        System.out.println(drl);
+        System.out.println( drl );
 
-        assertContains( "policy: Policy", drl );
+        assertContains( "policy: Policy",
+                        drl );
 
-
         Package bin = asm.getBinaryPackage();
 
         RuleBase rb = RuleBaseFactory.newRuleBase();
@@ -513,71 +629,84 @@
         Driver driver = new Driver();
         Policy policy = new Policy();
 
-        wm.insert(driver);
-        wm.insert(policy);
+        wm.insert( driver );
+        wm.insert( policy );
 
         wm.fireAllRules();
 
-        assertEquals(120, policy.getBasePrice());
+        assertEquals( 120,
+                      policy.getBasePrice() );
 
         asset.updateBinaryContentAttachment( this.getClass().getResourceAsStream( "/SampleDecisionTable_WithError.xls" ) );
         asset.checkin( "" );
-        asm = new ContentPackageAssembler(pkg);
-        assertTrue(asm.hasErrors());
-        assertEquals(asset.getName(), asm.getErrors().get( 0 ).itemInError.getName());
-        asm = new ContentPackageAssembler(pkg, false);
-        assertFalse(asm.hasErrors());
+        asm = new ContentPackageAssembler( pkg );
+        assertTrue( asm.hasErrors() );
+        assertEquals( asset.getName(),
+                      asm.getErrors().get( 0 ).itemInError.getName() );
+        asm = new ContentPackageAssembler( pkg,
+                                           false );
+        assertFalse( asm.hasErrors() );
         drl = asm.getDRL();
-        assertNotNull(drl);
-        assertContains( "Driverx", drl);
+        assertNotNull( drl );
+        assertContains( "Driverx",
+                        drl );
 
     }
 
+    public void testSkipDisabledImports() throws Exception {
 
-    public void testXLSDecisionTableIgnoreImports() throws Exception {
-
         RulesRepository repo = getRepo();
 
         //first, setup the package correctly:
-        PackageItem pkg = repo.createPackage( "testXLSDecisionTableIgnoreImports", "" );
+        PackageItem pkg = repo.createPackage( "testXLSDecisionTableIgnoreImports",
+                                              "" );
 
         repo.save();
 
         InputStream xls = this.getClass().getResourceAsStream( "/Sample.xls" );
-        assertNotNull(xls);
+        assertNotNull( xls );
 
-        AssetItem asset = pkg.addAsset( "MyDT", "" );
+        AssetItem asset = pkg.addAsset( "MyDT",
+                                        "" );
         asset.updateFormat( AssetFormats.DECISION_SPREADSHEET_XLS );
         asset.updateBinaryContentAttachment( xls );
         asset.checkin( "" );
 
-        ContentPackageAssembler asm = new ContentPackageAssembler(pkg, false);
+        ContentPackageAssembler asm = new ContentPackageAssembler( pkg,
+                                                                   true );
         String drl = asm.getDRL();
-        System.err.println(drl);
+        System.err.println( drl );
 
-        assertTrue(drl.indexOf("package ", 2) == -1); //skip a few, make sure we only have one instance of "package "
+        assertTrue( drl.indexOf( "package ",
+                                 2 ) == -1 ); //skip a few, make sure we only have one instance of "package "
     }
 
     public void testBRXMLWithDSLMixedIn() throws Exception {
         RulesRepository repo = getRepo();
 
         //create our package
-        PackageItem pkg = repo.createPackage( "testBRLWithDSLMixedIn", "" );
-        ServiceImplementation.updateDroolsHeader( "import org.drools.Person", pkg );
-        AssetItem rule1 = pkg.addAsset( "rule2", "" );
+        PackageItem pkg = repo.createPackage( "testBRLWithDSLMixedIn",
+                                              "" );
+        ServiceImplementation.updateDroolsHeader( "import org.drools.Person",
+                                                  pkg );
+        AssetItem rule1 = pkg.addAsset( "rule2",
+                                        "" );
         rule1.updateFormat( AssetFormats.BUSINESS_RULE );
 
-        AssetItem dsl = pkg.addAsset( "MyDSL", "" );
+        AssetItem dsl = pkg.addAsset( "MyDSL",
+                                      "" );
         dsl.updateFormat( AssetFormats.DSL );
         dsl.updateContent( "[when]This is a sentence=Person()\n[then]say {hello}=System.err.println({hello});" );
         dsl.checkin( "" );
 
         RuleModel model = new RuleModel();
         model.name = "rule2";
-        FactPattern pattern = new FactPattern("Person");
+        FactPattern pattern = new FactPattern( "Person" );
         pattern.boundName = "p";
-        ActionSetField action = new ActionSetField("p");
-        ActionFieldValue value = new ActionFieldValue("age", "42", SuggestionCompletionEngine.TYPE_NUMERIC );
+        ActionSetField action = new ActionSetField( "p" );
+        ActionFieldValue value = new ActionFieldValue( "age",
+                                                       "42",
+                                                       SuggestionCompletionEngine.TYPE_NUMERIC );
         action.addFieldValue( value );
 
         model.addLhsItem( pattern );
@@ -597,104 +726,120 @@
         rule1.checkin( "" );
         repo.save();
 
-
         //now add a rule with no DSL
         model = new RuleModel();
         model.name = "ruleNODSL";
-        pattern = new FactPattern("Person");
+        pattern = new FactPattern( "Person" );
         pattern.boundName = "p";
-        action = new ActionSetField("p");
-        value = new ActionFieldValue("age", "42", SuggestionCompletionEngine.TYPE_NUMERIC );
+        action = new ActionSetField( "p" );
+        value = new ActionFieldValue( "age",
+                                      "42",
+                                      SuggestionCompletionEngine.TYPE_NUMERIC );
         action.addFieldValue( value );
 
         model.addLhsItem( pattern );
         model.addRhsItem( action );
 
-
-        AssetItem ruleNODSL = pkg.addAsset( "ruleNoDSL", "" );
+        AssetItem ruleNODSL = pkg.addAsset( "ruleNoDSL",
+                                            "" );
         ruleNODSL.updateFormat( AssetFormats.BUSINESS_RULE );
 
         ruleNODSL.updateContent( BRXMLPersistence.getInstance().marshal( model ) );
         ruleNODSL.checkin( "" );
 
-
         pkg = repo.loadPackage( "testBRLWithDSLMixedIn" );
-        ContentPackageAssembler asm = new ContentPackageAssembler(pkg);
-        assertFalse(asm.hasErrors());
+        ContentPackageAssembler asm = new ContentPackageAssembler( pkg );
+        assertFalse( asm.hasErrors() );
         Package bpkg = asm.getBinaryPackage();
-        assertEquals(2, bpkg.getRules().length);
+        assertEquals( 2,
+                      bpkg.getRules().length );
 
-
     }
 
     public void testCustomSelector() throws Exception {
         RulesRepository repo = getRepo();
 
         //create our package
-        PackageItem pkg = repo.createPackage( "testCustomSelector", "" );
-        ServiceImplementation.updateDroolsHeader("import org.drools.Person", pkg );
-        AssetItem rule1 = pkg.addAsset( "rule1", "" );
+        PackageItem pkg = repo.createPackage( "testCustomSelector",
+                                              "" );
+        ServiceImplementation.updateDroolsHeader( "import org.drools.Person",
+                                                  pkg );
+        AssetItem rule1 = pkg.addAsset( "rule1",
+                                        "" );
         rule1.updateFormat( AssetFormats.DRL );
 
         rule1.updateContent( "when \n Person() \n then \n System.out.println(\"yeah\");\n" );
         rule1.checkin( "" );
 
-        AssetItem rule2 = pkg.addAsset( "rule2", "" );
+        AssetItem rule2 = pkg.addAsset( "rule2",
+                                        "" );
         rule2.updateFormat( AssetFormats.DRL );
 
         rule2.updateContent( "when \n Person() \n then \n System.out.println(\"yeah\");\n" );
         rule2.checkin( "" );
 
-
-
         SelectorManager sm = SelectorManager.getInstance();
-        sm.selectors.put( "testSelect", new AssetSelector() {
-            public boolean isAssetAllowed(AssetItem asset) {
-                return asset.getName().equals( "rule2" );
-            }
-        });
+        sm.selectors.put( "testSelect",
+                          new AssetSelector() {
+                              public boolean isAssetAllowed(AssetItem asset) {
+                                  return asset.getName().equals( "rule2" );
+                              }
+                          } );
 
-        ContentPackageAssembler asm = new ContentPackageAssembler(pkg, "testSelect");
+        ContentPackageAssembler asm = new ContentPackageAssembler( pkg,
+                                                                   "testSelect" );
 
         Package pk = asm.getBinaryPackage();
-        assertEquals(1, pk.getRules().length);
-        assertEquals("rule2", pk.getRules()[0 ].getName() );
+        assertEquals( 1,
+                      pk.getRules().length );
+        assertEquals( "rule2",
+                      pk.getRules()[0].getName() );
 
-
-        asm = new ContentPackageAssembler(pkg, null);
+        asm = new ContentPackageAssembler( pkg,
+                                           null );
         pk = asm.getBinaryPackage();
-        assertEquals(2, pk.getRules().length);
+        assertEquals( 2,
+                      pk.getRules().length );
 
-        asm = new ContentPackageAssembler(pkg, "nothing valid");
-        assertTrue(asm.hasErrors());
-        assertEquals(1, asm.getErrors().size());
-        assertEquals(pkg, asm.getErrors().get( 0 ).itemInError);
+        asm = new ContentPackageAssembler( pkg,
+                                           "nothing valid" );
+        assertTrue( asm.hasErrors() );
+        assertEquals( 1,
+                      asm.getErrors().size() );
+        assertEquals( pkg,
+                      asm.getErrors().get( 0 ).itemInError );
 
-        asm = new ContentPackageAssembler(pkg, "");
+        asm = new ContentPackageAssembler( pkg,
+                                           "" );
         pk = asm.getBinaryPackage();
-        assertEquals(2, pk.getRules().length);
+        assertEquals( 2,
+                      pk.getRules().length );
 
+    }
 
+    private void assertContains(String sub,
+                                String text) {
+        if ( text.indexOf( sub ) == -1 ) {
+            fail( "the text: '" + sub + "' was not found." );
+        }
+
     }
 
-
-    private void assertContains(String sub, String text) {
-        if (text.indexOf( sub ) == -1) {
-            fail("the text: '" + sub +"' was not found.");
+    private void assertDoesNotContain(String sub,
+                                      String text) {
+        if ( text.indexOf( sub ) > -1 ) {
+            fail( "the text: '" + sub + "' was found." );
         }
 
-
     }
 
-
     private void assertNotEmpty(String s) {
-        if (s == null) fail("should not be null");
-        if (s.trim().equals( "" )) fail("should not be empty string");
+        if ( s == null ) fail( "should not be null" );
+        if ( s.trim().equals( "" ) ) fail( "should not be empty string" );
     }
 
     private RulesRepository getRepo() throws Exception {
         return new RulesRepository( TestEnvironmentSessionHelper.getSession() );
     }
 
-
 }
\ No newline at end of file




More information about the jboss-svn-commits mailing list