[jboss-svn-commits] JBL Code SVN: r8349 - in labs/jbossrules/trunk/drools-repository/src: main/java/org/drools/repository test/java/org/drools/repository

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Dec 15 10:45:41 EST 2006


Author: michael.neale at jboss.com
Date: 2006-12-15 10:45:35 -0500 (Fri, 15 Dec 2006)
New Revision: 8349

Modified:
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/StateItem.java
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTestCase.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/PackageItemTestCase.java
Log:
some updates for default status

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java	2006-12-15 15:41:07 UTC (rev 8348)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java	2006-12-15 15:45:35 UTC (rev 8349)
@@ -135,6 +135,8 @@
             
             AssetItem rule = new AssetItem( this.rulesRepository, ruleNode );
             
+            rule.updateState( StateItem.DRAFT_STATE_NAME );
+            
             if (initialCategory != null) {
                 rule.addCategory( initialCategory );
             }

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/StateItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/StateItem.java	2006-12-15 15:41:07 UTC (rev 8348)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/StateItem.java	2006-12-15 15:45:35 UTC (rev 8349)
@@ -5,8 +5,10 @@
 import org.apache.log4j.Logger;
 
 /**
- * The StateItem class abstracts away details of the underlying JCR repository.
+ * The StateItem represents the status of an asset.
+ * An asset can only be in 1 state at a time. Kind of for workflow.
  * 
+ * 
  * @author btruitt
  */
 public class StateItem extends Item {
@@ -14,6 +16,11 @@
     private Logger log = Logger.getLogger(StateItem.class);
 
     /**
+     * All assets when created, or a new version saved, have a status of Draft.
+     */
+    public static String DRAFT_STATE_NAME = "Draft";
+    
+    /**
      * The name of the state node type
      */
     public static final String STATE_NODE_TYPE_NAME = "drools:stateNodeType";

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java	2006-12-15 15:41:07 UTC (rev 8348)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java	2006-12-15 15:45:35 UTC (rev 8349)
@@ -558,12 +558,6 @@
     public void updateState(StateItem stateItem) throws RulesRepositoryException {
         checkIsUpdateable();
         try {
-            //make sure this node is a rule node
-            if ( this.node.getPrimaryNodeType().getName().equals( "nt:version" ) ) {
-                String message = "Error. States can only be set for the head version of a rule node";
-                log.error( message );
-                throw new RulesRepositoryException( message );
-            }
 
             //now set the state property of the rule                              
             checkout();

Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTestCase.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTestCase.java	2006-12-15 15:41:07 UTC (rev 8348)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTestCase.java	2006-12-15 15:45:35 UTC (rev 8349)
@@ -220,19 +220,19 @@
 
     }
 
-    public void testGetState() {
+    public void testStatusStuff() {
             AssetItem ruleItem1 = getDefaultPackage().addAsset("testGetState", "test content");
            
             StateItem stateItem1 = ruleItem1.getState();
-            assertNull(stateItem1);
+            assertEquals(StateItem.DRAFT_STATE_NAME, stateItem1.getName());
             
             ruleItem1.updateState("TestState1");
             assertNotNull(ruleItem1.getState());
             assertEquals("TestState1", ruleItem1.getState().getName());    
             
             ruleItem1 = getDefaultPackage().addAsset( "testGetState2", "wa" );
-            assertEquals("", ruleItem1.getStateDescription());
-            assertNull(ruleItem1.getState());
+            assertEquals(StateItem.DRAFT_STATE_NAME, ruleItem1.getStateDescription());
+            assertEquals(getRepo().getState( StateItem.DRAFT_STATE_NAME ), ruleItem1.getState());
     }
     
 

Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/PackageItemTestCase.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/PackageItemTestCase.java	2006-12-15 15:41:07 UTC (rev 8348)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/PackageItemTestCase.java	2006-12-15 15:45:35 UTC (rev 8349)
@@ -61,6 +61,8 @@
         AssetItem rule1 = pack.addAsset( "rule 1", "yeah" );
         AssetItem rule2 = pack.addAsset( "rule 2", "foobar" );
         
+        assertEquals(StateItem.DRAFT_STATE_NAME, rule1.getState().getName());
+        
         StateItem state = repo.getState( "deployed" );
         
         repo.save();
@@ -179,7 +181,7 @@
         
         //and null, as we start with null, should be able to get all three back
         //although an older version of one of them
-        rules = iteratorToList( pack.getAssetsWithStatus(null) );
+        rules = iteratorToList( pack.getAssetsWithStatus(getRepo().getState( StateItem.DRAFT_STATE_NAME )) );
         assertEquals(3, rules.size());
         
         //now do an update, and pull it out via state




More information about the jboss-svn-commits mailing list