[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