[jboss-svn-commits] JBL Code SVN: r8257 - 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
Tue Dec 12 10:58:36 EST 2006
Author: mark.proctor at jboss.com
Date: 2006-12-12 10:58:29 -0500 (Tue, 12 Dec 2006)
New Revision: 8257
Added:
labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetType.java
labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTestCase.java
Removed:
labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RuleItemTestCase.java
Modified:
labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java
labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.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/DslItemTestCase.java
labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulePackageItemTestCase.java
labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTestCase.java
labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/ScalabilityTest.java
Log:
refactoring
Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java 2006-12-12 15:47:08 UTC (rev 8256)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java 2006-12-12 15:58:29 UTC (rev 8257)
@@ -13,6 +13,7 @@
import javax.jcr.Property;
import javax.jcr.RepositoryException;
import javax.jcr.Value;
+import javax.jcr.ValueFormatException;
import javax.jcr.lock.LockException;
import javax.jcr.nodetype.ConstraintViolationException;
import javax.jcr.version.VersionException;
@@ -26,33 +27,27 @@
* @author btruitt
*/
public class AssetItem extends CategorisableItem {
- private Logger log = Logger.getLogger( AssetItem.class );
-
+ private Logger log = Logger.getLogger( AssetItem.class );
/**
- * The name of the DSL property on the rule node type
- */
- public static final String DSL_PROPERTY_NAME = "drools:dslReference";
-
- /**
* The name of the rule node type
*/
- public static final String RULE_NODE_TYPE_NAME = "drools:ruleNodeType";
+ public static final String RULE_NODE_TYPE_NAME = "drools:ruleNodeType";
- public static final String RULE_CONTENT_PROPERTY_NAME = "drools:content";
+ public static final String CONTENT_PROPERTY_NAME = "drools:content";
- public static final String RULE_CONTENT_URI_PROPERTY_NAME = "drools:contentURI";
+ public static final String CONTENT_URI_PROPERTY_NAME = "drools:contentURI";
/**
* The name of the date effective property on the rule node type
*/
- public static final String DATE_EFFECTIVE_PROPERTY_NAME = "drools:dateEffective";
+ public static final String DATE_EFFECTIVE_PROPERTY_NAME = "drools:dateEffective";
/**
* The name of the date expired property on the rule node type
*/
- public static final String DATE_EXPIRED_PROPERTY_NAME = "drools:dateExpired";
+ public static final String DATE_EXPIRED_PROPERTY_NAME = "drools:dateExpired";
- public static final String PACKAGE_NAME_PROPERTY = "drools:packageName";
+ public static final String PACKAGE_NAME_PROPERTY = "drools:packageName";
/**
* Constructs a RuleItem object, setting its node attribute to the specified node.
@@ -62,7 +57,7 @@
* @throws RulesRepositoryException
*/
public AssetItem(RulesRepository rulesRepository,
- Node node) throws RulesRepositoryException {
+ Node node) throws RulesRepositoryException {
super( rulesRepository,
node );
@@ -85,11 +80,11 @@
* It there is a URI, this may need to access the external resource
* to grab/sync the latest, but in any case, it should be the real content.
*/
- public String getRuleContent() throws RulesRepositoryException {
+ public String getContent() throws RulesRepositoryException {
try {
Node ruleNode = getVersionContentNode();
- if ( ruleNode.hasProperty( RULE_CONTENT_PROPERTY_NAME ) ) {
- Property data = ruleNode.getProperty( RULE_CONTENT_PROPERTY_NAME );
+ if ( ruleNode.hasProperty( CONTENT_PROPERTY_NAME ) ) {
+ Property data = ruleNode.getProperty( CONTENT_PROPERTY_NAME );
return data.getValue().getString();
} else {
@@ -108,11 +103,11 @@
* such as subversion. This URI will contain information for
* how to get to the exact version that maps to this rule node.
*/
- public String getRuleContentURI() throws RulesRepositoryException {
+ public String getContentURI() throws RulesRepositoryException {
try {
Node ruleNode = getVersionContentNode();
- if ( ruleNode.hasProperty( RULE_CONTENT_URI_PROPERTY_NAME ) ) {
- Property data = ruleNode.getProperty( RULE_CONTENT_URI_PROPERTY_NAME );
+ if ( ruleNode.hasProperty( CONTENT_URI_PROPERTY_NAME ) ) {
+ Property data = ruleNode.getProperty( CONTENT_URI_PROPERTY_NAME );
return data.getValue().getString();
} else {
return "";
@@ -210,10 +205,10 @@
* This will not save the session or create a new version of the node
* (this has to be done seperately, as several properties may change as part of one edit).
*/
- public AssetItem updateRuleContent(String newRuleContent) throws RulesRepositoryException {
+ public AssetItem updateContent(String newRuleContent) throws RulesRepositoryException {
checkout();
try {
- this.node.setProperty( RULE_CONTENT_PROPERTY_NAME,
+ this.node.setProperty( CONTENT_PROPERTY_NAME,
newRuleContent );
return this;
} catch ( RepositoryException e ) {
@@ -226,10 +221,10 @@
/**
* The URI represents a location for
*/
- public void updateRuleContentURI(String newURI) throws RulesRepositoryException {
+ public void updateContentURI(String newURI) throws RulesRepositoryException {
checkout();
try {
- this.node.setProperty( RULE_CONTENT_URI_PROPERTY_NAME,
+ this.node.setProperty( CONTENT_URI_PROPERTY_NAME,
newURI );
} catch ( RepositoryException e ) {
log.error( "Caught Exception",
@@ -238,30 +233,19 @@
}
}
+
/**
- * Gets a DslItem object corresponding to the DSL reference from the node that this object
- * encapsulates.
- *
- * @return a DslItem object corresponding to the DSL reference for this rule node. If there is
- * no DSL node referenced from this object's node, then null.
- * @throws RulesRepositoryException
+ * This updates a user defined property (not one of the intrinsic ones).
*/
- public DslItem getDsl() throws RulesRepositoryException {
- try {
- Property dslProperty = getVersionContentNode().getProperty( DSL_PROPERTY_NAME );
- Node dslNode = this.node.getSession().getNodeByUUID( dslProperty.getString() );
- return new DslItem( this.rulesRepository,
- dslNode );
- } catch ( PathNotFoundException e ) {
- //not set
- return null;
- } catch ( Exception e ) {
- log.error( "Caught exception",
- e );
- throw new RulesRepositoryException( e );
+ public void updateUserProperty(String propertyName, String value) {
+ if (propertyName.startsWith( "drools:" )) {
+ throw new IllegalArgumentException("Can only set the pre defined fields using the appropriate methods.");
}
+ updateStringProperty( value, propertyName );
+
}
-
+
+
/**
* Nicely formats the information contained by the node that this object encapsulates
*/
@@ -269,8 +253,8 @@
try {
StringBuffer returnString = new StringBuffer();
returnString.append( "Content of rule item named '" + this.getName() + "':\n" );
- returnString.append( "Content: " + this.getRuleContent() + "\n" );
- returnString.append( "Content URI: " + this.getRuleContentURI() + "\n" );
+ returnString.append( "Content: " + this.getContent() + "\n" );
+ returnString.append( "Content URI: " + this.getContentURI() + "\n" );
returnString.append( "------\n" );
returnString.append( "Date Effective: " + this.getDateEffective() + "\n" );
@@ -303,7 +287,7 @@
Node precedingVersionNode = this.getPrecedingVersionNode();
if ( precedingVersionNode != null ) {
return new AssetItem( this.rulesRepository,
- precedingVersionNode );
+ precedingVersionNode );
} else {
return null;
}
@@ -319,7 +303,7 @@
Node succeedingVersionNode = this.getSucceedingVersionNode();
if ( succeedingVersionNode != null ) {
return new AssetItem( this.rulesRepository,
- succeedingVersionNode );
+ succeedingVersionNode );
} else {
return null;
}
@@ -336,7 +320,17 @@
* hierarchy to get to the enclosing "package" node.
*/
public String getPackageName() {
- return super.getStringProperty( PACKAGE_NAME_PROPERTY );
+ return super.getStringProperty( PACKAGE_NAME_PROPERTY );
}
+ /**
+ * @return A property value (for a user defined property).
+ */
+ public String getUserProperty(String property) {
+ return getStringProperty( property );
+ }
+
+
+
+
}
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetType.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetType.java 2006-12-12 15:47:08 UTC (rev 8256)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetType.java 2006-12-12 15:58:29 UTC (rev 8257)
@@ -0,0 +1,5 @@
+package org.drools.repository;
+
+public class AssetType {
+
+}
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-12 15:47:08 UTC (rev 8256)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java 2006-12-12 15:58:29 UTC (rev 8257)
@@ -88,8 +88,8 @@
* Without categories, its going to be hard to find rules later on
* (unless packages are enough for you).
*/
- public AssetItem addRule(String ruleName, String description) {
- return addRule(ruleName, description, null);
+ public AssetItem addAsset(String assetName, String description) {
+ return addAsset(assetName, description, null);
}
@@ -97,16 +97,16 @@
* This adds a rule to the current physical package (you can move it later).
* With the given category
*/
- public AssetItem addRule(String ruleName,
+ public AssetItem addAsset(String assetName,
String description, String initialCategory) {
Node ruleNode;
try {
Node rulesFolder = this.node.getNode( RULES_FOLDER_NAME );
- ruleNode = rulesFolder.addNode( ruleName,
+ ruleNode = rulesFolder.addNode( assetName,
AssetItem.RULE_NODE_TYPE_NAME );
ruleNode.setProperty( AssetItem.TITLE_PROPERTY_NAME,
- ruleName );
+ assetName );
ruleNode.setProperty( AssetItem.DESCRIPTION_PROPERTY_NAME,
description );
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-12 15:47:08 UTC (rev 8256)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java 2006-12-12 15:58:29 UTC (rev 8257)
@@ -273,7 +273,9 @@
}
/**
- * update a text field.
+ * update a text field. This is a convenience method that just
+ * uses the JCR node to set a property.
+ * This will also update the timestamp.
*/
protected void updateStringProperty(String value,
String prop) {
@@ -294,6 +296,7 @@
throw new RulesRepositoryException( e );
}
}
+
/**
* See the Dublin Core documentation for more
@@ -705,4 +708,5 @@
throw new RulesRepositoryException( e );
}
}
+
}
Copied: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTestCase.java (from rev 8232, labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RuleItemTestCase.java)
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RuleItemTestCase.java 2006-12-11 18:02:27 UTC (rev 8232)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTestCase.java 2006-12-12 15:58:29 UTC (rev 8257)
@@ -0,0 +1,548 @@
+package org.drools.repository;
+
+import java.util.Calendar;
+import java.util.Iterator;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+public class AssetItemTestCase extends TestCase {
+
+
+ private RulesRepository getRepo() {
+ return RepositorySession.getRepository();
+ }
+
+ private PackageItem getDefaultPackage() {
+ return getRepo().loadDefaultRulePackage();
+ }
+
+ public void testRuleItemCreation() throws Exception {
+
+ Calendar now = Calendar.getInstance();
+
+ Thread.sleep(500); //MN: need this sleep to get the correct date
+
+ AssetItem ruleItem1 = getDefaultPackage().addAsset("testRuleItem", "test content");
+
+ assertNotNull(ruleItem1);
+ assertNotNull(ruleItem1.getNode());
+ assertEquals("testRuleItem", ruleItem1.getName());
+
+ assertNotNull(ruleItem1.getCreatedDate());
+
+ assertTrue(now.before( ruleItem1.getCreatedDate() ));
+
+ String packName = getDefaultPackage().getName();
+
+ assertEquals(packName, ruleItem1.getPackageName());
+
+
+ //try constructing with node of wrong type
+ try {
+
+ DslItem dslItem = getRepo().addDsl("testRuleItem", "content here");
+ new AssetItem(getRepo(), dslItem.getNode());
+ fail("Exception not thrown for node of type: " + dslItem.getNode().getPrimaryNodeType().getName());
+ }
+ catch(RulesRepositoryException e) {
+ //this is good
+ }
+ catch(Exception e) {
+ fail("Caught unexpected exception: " + e);
+ }
+ }
+
+ public void testGetContent() {
+
+ AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addAsset("testGetContent", "test content");
+ ruleItem1.updateContent( "test content" );
+
+ assertNotNull(ruleItem1);
+ assertNotNull(ruleItem1.getNode());
+ assertEquals("test content", ruleItem1.getContent());
+ }
+
+ public void testGetURI() {
+ AssetItem ruleItem1 = getDefaultPackage().addAsset("testGetURI", "blah");
+ ruleItem1.checkin( "version0" );
+ ruleItem1.updateContentURI( "foo/bar" );
+ ruleItem1.checkin( "ha !" );
+ assertNotNull(ruleItem1);
+ assertNotNull(ruleItem1.getNode());
+ assertEquals("foo/bar", ruleItem1.getContentURI());
+ }
+
+ public void testUpdateContent() {
+ AssetItem ruleItem1 = getDefaultPackage().addAsset("testUpdateContent", "test description");
+ ruleItem1.updateContent( "test content" );
+ ruleItem1.checkin( "yeah" );
+
+ ruleItem1.updateContent( "new rule content");
+
+ assertEquals("new rule content", ruleItem1.getContent());
+
+ ruleItem1.checkin( "yeah !" );
+
+ assertEquals("yeah !", ruleItem1.getCheckinComment());
+
+ AssetItem prev = (AssetItem) ruleItem1.getPredecessorVersionsIterator().next();
+ assertEquals("test content", prev.getContent());
+ assertFalse("yeah !".equals(prev.getCheckinComment()));
+
+
+ assertEquals(prev, ruleItem1.getPrecedingVersion());
+
+ }
+
+
+ public void testCategories() {
+ AssetItem ruleItem1 = getDefaultPackage().addAsset("testAddTag", "test content");
+
+ getRepo().loadCategory( "/" ).addCategory( "testAddTagTestTag", "description" );
+
+ ruleItem1.addCategory("testAddTagTestTag");
+ List tags = ruleItem1.getCategories();
+ assertEquals(1, tags.size());
+ assertEquals("testAddTagTestTag", ((CategoryItem)tags.get(0)).getName());
+
+ getRepo().loadCategory( "/" ).addCategory( "testAddTagTestTag2", "description" );
+ ruleItem1.addCategory("testAddTagTestTag2");
+ tags = ruleItem1.getCategories();
+ assertEquals(2, tags.size());
+
+ ruleItem1.checkin( "woot" );
+
+ //now test retrieve by tags
+ List result = getRepo().findRulesByCategory("testAddTagTestTag");
+ assertEquals(1, result.size());
+ AssetItem retItem = (AssetItem) result.get( 0 );
+ assertEquals("testAddTag", retItem.getName());
+
+ ruleItem1.updateContent( "foo" );
+ ruleItem1.checkin( "latest" );
+
+ result = getRepo().findRulesByCategory( "testAddTagTestTag" );
+
+ assertEquals(1, result.size());
+
+ ruleItem1 = (AssetItem) result.get( 0 );
+ assertEquals(2, ruleItem1.getCategories().size());
+
+ assertEquals("foo", ruleItem1.getContent());
+ AssetItem prev = (AssetItem) ruleItem1.getPrecedingVersion();
+ assertNotNull(prev);
+
+ }
+
+ public void testFindRulesByCategory() throws Exception {
+
+ getRepo().loadCategory( "/" ).addCategory( "testFindRulesByCat", "yeah" );
+ getDefaultPackage().addAsset( "testFindRulesByCategory1", "ya", "testFindRulesByCat" ).checkin( "version0" );
+ getDefaultPackage().addAsset( "testFindRulesByCategory2", "ya", "testFindRulesByCat" ).checkin( "version0" );
+
+
+ List rules = getRepo().findRulesByCategory( "testFindRulesByCat" );
+ assertEquals(2, rules.size());
+
+ for ( Iterator iter = rules.iterator(); iter.hasNext(); ) {
+ AssetItem element = (AssetItem) iter.next();
+ assertTrue(element.getName().startsWith( "testFindRulesByCategory" ));
+ }
+
+ }
+
+
+ public void testRemoveTag() {
+ AssetItem ruleItem1 = getDefaultPackage().addAsset("testRemoveTag", "test content");
+
+ getRepo().loadCategory( "/" ).addCategory( "TestRemoveCategory", "description" );
+
+ ruleItem1.addCategory("TestRemoveCategory");
+ List tags = ruleItem1.getCategories();
+ assertEquals(1, tags.size());
+ ruleItem1.removeCategory("TestRemoveCategory");
+ tags = ruleItem1.getCategories();
+ assertEquals(0, tags.size());
+
+ getRepo().loadCategory( "/" ).addCategory( "TestRemoveCategory2", "description" );
+ getRepo().loadCategory( "/" ).addCategory( "TestRemoveCategory3", "description" );
+ ruleItem1.addCategory("TestRemoveCategory2");
+ ruleItem1.addCategory("TestRemoveCategory3");
+ ruleItem1.removeCategory("TestRemoveCategory2");
+ tags = ruleItem1.getCategories();
+ assertEquals(1, tags.size());
+ assertEquals("TestRemoveCategory3", ((CategoryItem)tags.get(0)).getName());
+
+ }
+
+ public void testGetTags() {
+ AssetItem ruleItem1 = getDefaultPackage().addAsset("testGetTags", "test content");
+
+ List tags = ruleItem1.getCategories();
+ assertNotNull(tags);
+ assertEquals(0, tags.size());
+
+ getRepo().loadCategory( "/" ).addCategory( "testGetTagsTestTag", "description" );
+
+ ruleItem1.addCategory("testGetTagsTestTag");
+ tags = ruleItem1.getCategories();
+ assertEquals(1, tags.size());
+ assertEquals("testGetTagsTestTag", ((CategoryItem)tags.get(0)).getName());
+
+ }
+
+ public void testSetStateString() {
+ AssetItem ruleItem1 = getDefaultPackage().addAsset("testSetStateString", "test content");
+
+ ruleItem1.updateState("TestState1");
+ assertNotNull(ruleItem1.getState());
+ assertEquals("TestState1", ruleItem1.getState().getName());
+
+ ruleItem1.updateState("TestState2");
+ assertNotNull(ruleItem1.getState());
+ assertEquals("TestState2", ruleItem1.getState().getName());
+
+ }
+
+ public void testSetStateStateItem() {
+ AssetItem ruleItem1 = getDefaultPackage().addAsset("foobar", "test description");
+
+ StateItem stateItem1 = getRepo().getState("TestState1");
+ ruleItem1.updateState(stateItem1);
+ assertNotNull(ruleItem1.getState());
+ assertEquals(ruleItem1.getState().getName(), "TestState1");
+
+ StateItem stateItem2 = getRepo().getState("TestState2");
+ ruleItem1.updateState(stateItem2);
+ assertNotNull(ruleItem1.getState());
+ assertEquals("TestState2", ruleItem1.getState().getName());
+
+ }
+
+ public void testGetState() {
+ AssetItem ruleItem1 = getDefaultPackage().addAsset("testGetState", "test content");
+
+ StateItem stateItem1 = ruleItem1.getState();
+ assertNull(stateItem1);
+
+ ruleItem1.updateState("TestState1");
+ assertNotNull(ruleItem1.getState());
+ assertEquals("TestState1", ruleItem1.getState().getName());
+
+ ruleItem1 = getDefaultPackage().addAsset( "testGetState2", "wa" );
+ assertEquals("", ruleItem1.getStateDescription());
+ assertNull(ruleItem1.getState());
+ }
+
+
+ public void testToString() {
+ AssetItem ruleItem1 = getDefaultPackage().addAsset("testToString", "test content");
+
+ assertNotNull(ruleItem1.toString());
+
+ }
+
+ public void testGetLastModifiedOnCheckin() throws Exception {
+ AssetItem ruleItem1 = getDefaultPackage().addAsset("testGetLastModified", "test content");
+
+ Calendar cal = Calendar.getInstance();
+ long before = cal.getTimeInMillis();
+
+ Thread.sleep( 100 );
+ ruleItem1.updateContent("new lhs");
+ ruleItem1.checkin( "woot" );
+ Calendar cal2 = ruleItem1.getLastModified();
+ long lastMod = cal2.getTimeInMillis();
+
+ cal = Calendar.getInstance();
+ long after = cal.getTimeInMillis();
+
+
+
+ assertTrue(before < lastMod);
+ assertTrue(lastMod < after);
+
+ }
+
+ public void testGetDateEffective() {
+
+ AssetItem ruleItem1 = getDefaultPackage().addAsset("testGetDateEffective", "test content");
+
+ //it should be initialized to null
+ assertTrue(ruleItem1.getDateEffective() == null);
+
+ //now try setting it, then retrieving it
+ Calendar cal = Calendar.getInstance();
+ ruleItem1.updateDateEffective(cal);
+ Calendar cal2 = ruleItem1.getDateEffective();
+
+ assertEquals(cal, cal2);
+ }
+
+ public void testGetDateExpired() {
+ try {
+ AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addAsset("testGetDateExpired", "test content");
+
+ //it should be initialized to null
+ assertTrue(ruleItem1.getDateExpired() == null);
+
+ //now try setting it, then retrieving it
+ Calendar cal = Calendar.getInstance();
+ ruleItem1.updateDateExpired(cal);
+ Calendar cal2 = ruleItem1.getDateExpired();
+
+ assertEquals(cal, cal2);
+ }
+ catch(Exception e) {
+ fail("Caught unexpected exception: " + e);
+ }
+ }
+
+
+ public void testSaveAndCheckinDescriptionAndTitle() throws Exception {
+ AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addAsset("testGetDescription", "");
+ ruleItem1.checkin( "version0" );
+
+ //it should be "" to begin with
+ assertEquals("", ruleItem1.getDescription());
+
+ ruleItem1.updateDescription("test description");
+ assertEquals("test description", ruleItem1.getDescription());
+
+
+
+
+ assertTrue(getRepo().getSession().hasPendingChanges());
+
+ ruleItem1.updateTitle( "This is a title" );
+ assertTrue(getRepo().getSession().hasPendingChanges());
+ ruleItem1.checkin( "ya" );
+
+
+ //we can save without a checkin
+ getRepo().getSession().save();
+
+ assertFalse(getRepo().getSession().hasPendingChanges());
+
+
+ try {
+ ruleItem1.getPrecedingVersion().updateTitle( "baaad" );
+ fail("should not be able to do this");
+ } catch (RulesRepositoryException e) {
+ assertNotNull(e.getMessage());
+ }
+
+ }
+
+ public void testGetPrecedingVersion() {
+
+ getRepo().loadCategory( "/" ).addCategory( "foo", "ka" );
+ AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addAsset("testGetPrecedingVersion", "descr");
+ ruleItem1.checkin( "version0" );
+ assertTrue(ruleItem1.getPrecedingVersion() == null);
+
+
+
+ ruleItem1.addCategory( "foo" );
+ ruleItem1.updateContent( "test content" );
+ ruleItem1.checkin( "boo" );
+
+
+ AssetItem predecessorRuleItem = (AssetItem) ruleItem1.getPrecedingVersion();
+ assertNotNull(predecessorRuleItem);
+
+
+
+ ruleItem1.updateContent("new content");
+ ruleItem1.updateContentURI( "foobar" );
+ ruleItem1.checkin( "two changes" );
+
+ predecessorRuleItem = (AssetItem) ruleItem1.getPrecedingVersion();
+ assertNotNull(predecessorRuleItem);
+ assertEquals(1, predecessorRuleItem.getCategories().size());
+ CategoryItem cat = (CategoryItem) predecessorRuleItem.getCategories().get( 0 );
+ assertEquals("foo", cat.getName());
+
+
+ assertEquals("test content", predecessorRuleItem.getContent());
+
+ assertEquals("descr", predecessorRuleItem.getDescription());
+
+ assertEquals("default", predecessorRuleItem.getPackageName());
+
+
+
+ ruleItem1.updateContent("newer lhs");
+ ruleItem1.checkin( "another" );
+
+ predecessorRuleItem = (AssetItem) ruleItem1.getPrecedingVersion();
+ assertNotNull(predecessorRuleItem);
+ assertEquals("new content", predecessorRuleItem.getContent());
+ predecessorRuleItem = (AssetItem) predecessorRuleItem.getPrecedingVersion();
+ assertNotNull(predecessorRuleItem);
+ assertEquals("test content", predecessorRuleItem.getContent());
+
+ }
+
+ public void testGetSucceedingVersion() {
+ AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addAsset("testGetSucceedingVersion", "test description");
+ ruleItem1.checkin( "version0" );
+
+ assertEquals("1", ruleItem1.getVersionNumber());
+
+ AssetItem succeedingRuleItem = (AssetItem) ruleItem1.getSucceedingVersion();
+ assertTrue(succeedingRuleItem == null);
+
+ ruleItem1.updateContent("new content");
+ ruleItem1.checkin( "la" );
+
+ assertEquals("2", ruleItem1.getVersionNumber());
+
+ AssetItem predecessorRuleItem = (AssetItem) ruleItem1.getPrecedingVersion();
+ assertEquals(null, predecessorRuleItem.getContent());
+ succeedingRuleItem = (AssetItem) predecessorRuleItem.getSucceedingVersion();
+ assertNotNull(succeedingRuleItem);
+ assertEquals(ruleItem1.getContent(), succeedingRuleItem.getContent());
+ }
+
+ public void testGetSuccessorVersionsIterator() {
+ try {
+ AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addAsset("testGetSuccessorVersionsIterator", "test content");
+ ruleItem1.checkin( "version0" );
+
+ Iterator iterator = ruleItem1.getSuccessorVersionsIterator();
+ assertNotNull(iterator);
+ assertFalse(iterator.hasNext());
+
+ ruleItem1.updateContent("new content").checkin( "ya" );
+
+
+ iterator = ruleItem1.getSuccessorVersionsIterator();
+ assertNotNull(iterator);
+ assertFalse(iterator.hasNext());
+
+ AssetItem predecessorRuleItem = (AssetItem) ruleItem1.getPrecedingVersion();
+ iterator = predecessorRuleItem.getSuccessorVersionsIterator();
+ assertNotNull(iterator);
+ assertTrue(iterator.hasNext());
+ AssetItem nextRuleItem = (AssetItem) iterator.next();
+ assertEquals("new content", nextRuleItem.getContent());
+ assertFalse(iterator.hasNext());
+
+ ruleItem1.updateContent("newer content");
+ ruleItem1.checkin( "boo" );
+
+ iterator = predecessorRuleItem.getSuccessorVersionsIterator();
+ assertNotNull(iterator);
+ assertTrue(iterator.hasNext());
+ nextRuleItem = (AssetItem) iterator.next();
+ assertEquals("new content", nextRuleItem.getContent());
+ assertTrue(iterator.hasNext());
+ nextRuleItem = (AssetItem)iterator.next();
+ assertEquals("newer content", nextRuleItem.getContent());
+ assertFalse(iterator.hasNext());
+ }
+ catch(Exception e) {
+ fail("Caught unexpected exception: " + e);
+ }
+ }
+
+ public void testGetPredecessorVersionsIterator() {
+ AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addAsset("testGetPredecessorVersionsIterator", "test description");
+ ruleItem1.checkin( "version0" );
+
+ Iterator iterator = ruleItem1.getPredecessorVersionsIterator();
+ assertNotNull(iterator);
+ assertFalse(iterator.hasNext());
+
+ ruleItem1.updateContent( "test content" );
+ ruleItem1.checkin( "lalalalala" );
+
+ iterator = ruleItem1.getPredecessorVersionsIterator();
+ assertNotNull(iterator);
+ assertTrue(iterator.hasNext());
+
+ ruleItem1.updateContent("new content");
+ ruleItem1.checkin( "boo" );
+
+ iterator = ruleItem1.getPredecessorVersionsIterator();
+ assertNotNull(iterator);
+ assertTrue(iterator.hasNext());
+ AssetItem nextRuleItem = (AssetItem) iterator.next();
+
+ assertEquals("test content", nextRuleItem.getContent());
+
+ ruleItem1.updateContent("newer content");
+ ruleItem1.checkin( "wee" );
+
+
+ iterator = ruleItem1.getPredecessorVersionsIterator();
+ assertNotNull(iterator);
+ assertTrue(iterator.hasNext());
+ nextRuleItem = (AssetItem) iterator.next();
+ assertTrue(iterator.hasNext());
+ assertEquals("new content", nextRuleItem.getContent());
+ nextRuleItem = (AssetItem) iterator.next();
+
+ assertEquals("test content", nextRuleItem.getContent());
+
+ assertEquals(null, ((AssetItem) iterator.next()).getContent());
+
+ }
+
+ public void testGetTitle() {
+ AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addAsset("testGetTitle", "test content");
+
+ assertEquals("testGetTitle", ruleItem1.getTitle());
+ }
+
+ public void testDublinCoreProperties() {
+ PackageItem pkg = getRepo().createRulePackage( "testDublinCore", "wa" );
+
+ AssetItem ruleItem = pkg.addAsset( "testDublinCoreProperties", "yeah yeah yeah" );
+ ruleItem.updateCoverage( "b" );
+ assertEquals("b",ruleItem.getCoverage());
+
+ ruleItem.updateLastContributor( "me" );
+ ruleItem.checkin( "woo" );
+
+ pkg = getRepo().loadRulePackage( "testDublinCore" );
+ ruleItem = (AssetItem) pkg.getRules().next();
+
+ assertEquals("b", ruleItem.getCoverage());
+ assertEquals("me", ruleItem.getLastContributor());
+
+ assertEquals("", ruleItem.getExternalRelation());
+ assertEquals("", ruleItem.getExternalSource());
+
+ }
+
+ public void testGetFormat() {
+ AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addAsset("testGetFormat", "test content");
+
+ assertEquals("DRL", ruleItem1.getFormat());
+
+ ruleItem1.updateFormat( "blah" );
+ assertEquals("blah", ruleItem1.getFormat());
+ }
+
+ public void testAnonymousProperties() {
+ AssetItem item = getRepo().loadDefaultRulePackage().addAsset( "anonymousproperty", "lalalalala" );
+ item.updateUserProperty( "fooBar", "value");
+ assertEquals("value", item.getUserProperty("fooBar"));
+
+
+
+ item.checkin( "lalalala" );
+ try {
+ item.updateUserProperty( "drools:content", "whee" );
+ fail("should not be able to set build in properties this way.");
+ }
+ catch (IllegalArgumentException e) {
+ assertNotNull(e.getMessage());
+ }
+
+
+ }
+}
Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/DslItemTestCase.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/DslItemTestCase.java 2006-12-12 15:47:08 UTC (rev 8256)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/DslItemTestCase.java 2006-12-12 15:58:29 UTC (rev 8257)
@@ -32,7 +32,7 @@
//try constructing a DslItem object with the wrong node type
try {
//Get a reference to a node of the incorrect type
- AssetItem ruleItem1 = this.getRepo().loadDefaultRulePackage().addRule("test rule", "test guts");
+ AssetItem ruleItem1 = this.getRepo().loadDefaultRulePackage().addAsset("test rule", "test guts");
//this should fail
DslItem dslItem2 = new DslItem(getRepo(), ruleItem1.getNode());
Deleted: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RuleItemTestCase.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RuleItemTestCase.java 2006-12-12 15:47:08 UTC (rev 8256)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RuleItemTestCase.java 2006-12-12 15:58:29 UTC (rev 8257)
@@ -1,533 +0,0 @@
-package org.drools.repository;
-
-import java.util.Calendar;
-import java.util.Iterator;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-public class RuleItemTestCase extends TestCase {
-
-
- private RulesRepository getRepo() {
- return RepositorySession.getRepository();
- }
-
- private PackageItem getDefaultPackage() {
- return getRepo().loadDefaultRulePackage();
- }
-
- public void testRuleItemCreation() throws Exception {
-
- Calendar now = Calendar.getInstance();
-
- Thread.sleep(500); //MN: need this sleep to get the correct date
-
- AssetItem ruleItem1 = getDefaultPackage().addRule("testRuleItem", "test content");
-
- assertNotNull(ruleItem1);
- assertNotNull(ruleItem1.getNode());
- assertEquals("testRuleItem", ruleItem1.getName());
-
- assertNotNull(ruleItem1.getCreatedDate());
-
- assertTrue(now.before( ruleItem1.getCreatedDate() ));
-
- String packName = getDefaultPackage().getName();
-
- assertEquals(packName, ruleItem1.getPackageName());
-
-
- //try constructing with node of wrong type
- try {
-
- DslItem dslItem = getRepo().addDsl("testRuleItem", "content here");
- new AssetItem(getRepo(), dslItem.getNode());
- fail("Exception not thrown for node of type: " + dslItem.getNode().getPrimaryNodeType().getName());
- }
- catch(RulesRepositoryException e) {
- //this is good
- }
- catch(Exception e) {
- fail("Caught unexpected exception: " + e);
- }
- }
-
- public void testGetContent() {
-
- AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addRule("testGetContent", "test content");
- ruleItem1.updateRuleContent( "test content" );
-
- assertNotNull(ruleItem1);
- assertNotNull(ruleItem1.getNode());
- assertEquals("test content", ruleItem1.getRuleContent());
- }
-
- public void testGetURI() {
- AssetItem ruleItem1 = getDefaultPackage().addRule("testGetURI", "blah");
- ruleItem1.updateRuleContentURI( "foo/bar" );
- ruleItem1.checkin( "ha !" );
- assertNotNull(ruleItem1);
- assertNotNull(ruleItem1.getNode());
- assertEquals("foo/bar", ruleItem1.getRuleContentURI());
- }
-
- public void testUpdateContent() {
- AssetItem ruleItem1 = getDefaultPackage().addRule("testUpdateContent", "test description");
- ruleItem1.updateRuleContent( "test content" );
- ruleItem1.checkin( "yeah" );
-
- ruleItem1.updateRuleContent( "new rule content");
-
- assertEquals("new rule content", ruleItem1.getRuleContent());
-
- ruleItem1.checkin( "yeah !" );
-
- assertEquals("yeah !", ruleItem1.getCheckinComment());
-
- AssetItem prev = (AssetItem) ruleItem1.getPredecessorVersionsIterator().next();
- assertEquals("test content", prev.getRuleContent());
- assertFalse("yeah !".equals(prev.getCheckinComment()));
-
-
- assertEquals(prev, ruleItem1.getPrecedingVersion());
-
- }
-
-
- public void testCategories() {
- AssetItem ruleItem1 = getDefaultPackage().addRule("testAddTag", "test content");
-
- getRepo().loadCategory( "/" ).addCategory( "testAddTagTestTag", "description" );
-
- ruleItem1.addCategory("testAddTagTestTag");
- List tags = ruleItem1.getCategories();
- assertEquals(1, tags.size());
- assertEquals("testAddTagTestTag", ((CategoryItem)tags.get(0)).getName());
-
- getRepo().loadCategory( "/" ).addCategory( "testAddTagTestTag2", "description" );
- ruleItem1.addCategory("testAddTagTestTag2");
- tags = ruleItem1.getCategories();
- assertEquals(2, tags.size());
-
- ruleItem1.checkin( "woot" );
-
- //now test retrieve by tags
- List result = getRepo().findRulesByCategory("testAddTagTestTag");
- assertEquals(1, result.size());
- AssetItem retItem = (AssetItem) result.get( 0 );
- assertEquals("testAddTag", retItem.getName());
-
- ruleItem1.updateRuleContent( "foo" );
- ruleItem1.checkin( "latest" );
-
- result = getRepo().findRulesByCategory( "testAddTagTestTag" );
-
- assertEquals(1, result.size());
-
- ruleItem1 = (AssetItem) result.get( 0 );
- assertEquals(2, ruleItem1.getCategories().size());
-
- assertEquals("foo", ruleItem1.getRuleContent());
- AssetItem prev = (AssetItem) ruleItem1.getPrecedingVersion();
- assertNotNull(prev);
-
- }
-
- public void testFindRulesByCategory() throws Exception {
-
- getRepo().loadCategory( "/" ).addCategory( "testFindRulesByCat", "yeah" );
- getDefaultPackage().addRule( "testFindRulesByCategory1", "ya", "testFindRulesByCat" ).checkin( "version0" );
- getDefaultPackage().addRule( "testFindRulesByCategory2", "ya", "testFindRulesByCat" ).checkin( "version0" );
-
-
- List rules = getRepo().findRulesByCategory( "testFindRulesByCat" );
- assertEquals(2, rules.size());
-
- for ( Iterator iter = rules.iterator(); iter.hasNext(); ) {
- AssetItem element = (AssetItem) iter.next();
- assertTrue(element.getName().startsWith( "testFindRulesByCategory" ));
- }
-
- }
-
-
- public void testRemoveTag() {
- AssetItem ruleItem1 = getDefaultPackage().addRule("testRemoveTag", "test content");
-
- getRepo().loadCategory( "/" ).addCategory( "TestRemoveCategory", "description" );
-
- ruleItem1.addCategory("TestRemoveCategory");
- List tags = ruleItem1.getCategories();
- assertEquals(1, tags.size());
- ruleItem1.removeCategory("TestRemoveCategory");
- tags = ruleItem1.getCategories();
- assertEquals(0, tags.size());
-
- getRepo().loadCategory( "/" ).addCategory( "TestRemoveCategory2", "description" );
- getRepo().loadCategory( "/" ).addCategory( "TestRemoveCategory3", "description" );
- ruleItem1.addCategory("TestRemoveCategory2");
- ruleItem1.addCategory("TestRemoveCategory3");
- ruleItem1.removeCategory("TestRemoveCategory2");
- tags = ruleItem1.getCategories();
- assertEquals(1, tags.size());
- assertEquals("TestRemoveCategory3", ((CategoryItem)tags.get(0)).getName());
-
- }
-
- public void testGetTags() {
- AssetItem ruleItem1 = getDefaultPackage().addRule("testGetTags", "test content");
-
- List tags = ruleItem1.getCategories();
- assertNotNull(tags);
- assertEquals(0, tags.size());
-
- getRepo().loadCategory( "/" ).addCategory( "testGetTagsTestTag", "description" );
-
- ruleItem1.addCategory("testGetTagsTestTag");
- tags = ruleItem1.getCategories();
- assertEquals(1, tags.size());
- assertEquals("testGetTagsTestTag", ((CategoryItem)tags.get(0)).getName());
-
- }
-
- public void testSetStateString() {
- AssetItem ruleItem1 = getDefaultPackage().addRule("testSetStateString", "test content");
-
- ruleItem1.updateState("TestState1");
- assertNotNull(ruleItem1.getState());
- assertEquals("TestState1", ruleItem1.getState().getName());
-
- ruleItem1.updateState("TestState2");
- assertNotNull(ruleItem1.getState());
- assertEquals("TestState2", ruleItem1.getState().getName());
-
- }
-
- public void testSetStateStateItem() {
- AssetItem ruleItem1 = getDefaultPackage().addRule("foobar", "test description");
-
- StateItem stateItem1 = getRepo().getState("TestState1");
- ruleItem1.updateState(stateItem1);
- assertNotNull(ruleItem1.getState());
- assertEquals(ruleItem1.getState().getName(), "TestState1");
-
- StateItem stateItem2 = getRepo().getState("TestState2");
- ruleItem1.updateState(stateItem2);
- assertNotNull(ruleItem1.getState());
- assertEquals("TestState2", ruleItem1.getState().getName());
-
- }
-
- public void testGetState() {
- AssetItem ruleItem1 = getDefaultPackage().addRule("testGetState", "test content");
-
- StateItem stateItem1 = ruleItem1.getState();
- assertNull(stateItem1);
-
- ruleItem1.updateState("TestState1");
- assertNotNull(ruleItem1.getState());
- assertEquals("TestState1", ruleItem1.getState().getName());
-
- ruleItem1 = getDefaultPackage().addRule( "testGetState2", "wa" );
- assertEquals("", ruleItem1.getStateDescription());
- assertNull(ruleItem1.getState());
- }
-
-
- public void testToString() {
- AssetItem ruleItem1 = getDefaultPackage().addRule("testToString", "test content");
-
- assertNotNull(ruleItem1.toString());
-
- }
-
- public void testGetLastModifiedOnCheckin() throws Exception {
- AssetItem ruleItem1 = getDefaultPackage().addRule("testGetLastModified", "test content");
-
- Calendar cal = Calendar.getInstance();
- long before = cal.getTimeInMillis();
-
- Thread.sleep( 100 );
- ruleItem1.updateRuleContent("new lhs");
- ruleItem1.checkin( "woot" );
- Calendar cal2 = ruleItem1.getLastModified();
- long lastMod = cal2.getTimeInMillis();
-
- cal = Calendar.getInstance();
- long after = cal.getTimeInMillis();
-
-
-
- assertTrue(before < lastMod);
- assertTrue(lastMod < after);
-
- }
-
- public void testGetDateEffective() {
-
- AssetItem ruleItem1 = getDefaultPackage().addRule("testGetDateEffective", "test content");
-
- //it should be initialized to null
- assertTrue(ruleItem1.getDateEffective() == null);
-
- //now try setting it, then retrieving it
- Calendar cal = Calendar.getInstance();
- ruleItem1.updateDateEffective(cal);
- Calendar cal2 = ruleItem1.getDateEffective();
-
- assertEquals(cal, cal2);
- }
-
- public void testGetDateExpired() {
- try {
- AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addRule("testGetDateExpired", "test content");
-
- //it should be initialized to null
- assertTrue(ruleItem1.getDateExpired() == null);
-
- //now try setting it, then retrieving it
- Calendar cal = Calendar.getInstance();
- ruleItem1.updateDateExpired(cal);
- Calendar cal2 = ruleItem1.getDateExpired();
-
- assertEquals(cal, cal2);
- }
- catch(Exception e) {
- fail("Caught unexpected exception: " + e);
- }
- }
-
-
- public void testSaveAndCheckinDescriptionAndTitle() throws Exception {
- AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addRule("testGetDescription", "");
- ruleItem1.checkin( "version0" );
-
- //it should be "" to begin with
- assertEquals("", ruleItem1.getDescription());
-
- ruleItem1.updateDescription("test description");
- assertEquals("test description", ruleItem1.getDescription());
-
-
-
-
- assertTrue(getRepo().getSession().hasPendingChanges());
-
- ruleItem1.updateTitle( "This is a title" );
- assertTrue(getRepo().getSession().hasPendingChanges());
- ruleItem1.checkin( "ya" );
-
-
- //we can save without a checkin
- getRepo().getSession().save();
-
- assertFalse(getRepo().getSession().hasPendingChanges());
-
-
- try {
- ruleItem1.getPrecedingVersion().updateTitle( "baaad" );
- fail("should not be able to do this");
- } catch (RulesRepositoryException e) {
- assertNotNull(e.getMessage());
- }
-
- }
-
- public void testGetPrecedingVersion() {
-
- getRepo().loadCategory( "/" ).addCategory( "foo", "ka" );
- AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addRule("testGetPrecedingVersion", "descr");
- ruleItem1.checkin( "version0" );
- assertTrue(ruleItem1.getPrecedingVersion() == null);
-
-
-
- ruleItem1.addCategory( "foo" );
- ruleItem1.updateRuleContent( "test content" );
- ruleItem1.checkin( "boo" );
-
-
- AssetItem predecessorRuleItem = (AssetItem) ruleItem1.getPrecedingVersion();
- assertNotNull(predecessorRuleItem);
-
-
-
- ruleItem1.updateRuleContent("new content");
- ruleItem1.updateRuleContentURI( "foobar" );
- ruleItem1.checkin( "two changes" );
-
- predecessorRuleItem = (AssetItem) ruleItem1.getPrecedingVersion();
- assertNotNull(predecessorRuleItem);
- assertEquals(1, predecessorRuleItem.getCategories().size());
- CategoryItem cat = (CategoryItem) predecessorRuleItem.getCategories().get( 0 );
- assertEquals("foo", cat.getName());
-
-
- assertEquals("test content", predecessorRuleItem.getRuleContent());
-
- assertEquals("descr", predecessorRuleItem.getDescription());
-
- assertEquals("default", predecessorRuleItem.getPackageName());
-
-
-
- ruleItem1.updateRuleContent("newer lhs");
- ruleItem1.checkin( "another" );
-
- predecessorRuleItem = (AssetItem) ruleItem1.getPrecedingVersion();
- assertNotNull(predecessorRuleItem);
- assertEquals("new content", predecessorRuleItem.getRuleContent());
- predecessorRuleItem = (AssetItem) predecessorRuleItem.getPrecedingVersion();
- assertNotNull(predecessorRuleItem);
- assertEquals("test content", predecessorRuleItem.getRuleContent());
-
- }
-
- public void testGetSucceedingVersion() {
- AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addRule("testGetSucceedingVersion", "test description");
- ruleItem1.checkin( "version0" );
-
- assertEquals("1", ruleItem1.getVersionNumber());
-
- AssetItem succeedingRuleItem = (AssetItem) ruleItem1.getSucceedingVersion();
- assertTrue(succeedingRuleItem == null);
-
- ruleItem1.updateRuleContent("new content");
- ruleItem1.checkin( "la" );
-
- assertEquals("2", ruleItem1.getVersionNumber());
-
- AssetItem predecessorRuleItem = (AssetItem) ruleItem1.getPrecedingVersion();
- assertEquals(null, predecessorRuleItem.getRuleContent());
- succeedingRuleItem = (AssetItem) predecessorRuleItem.getSucceedingVersion();
- assertNotNull(succeedingRuleItem);
- assertEquals(ruleItem1.getRuleContent(), succeedingRuleItem.getRuleContent());
- }
-
- public void testGetSuccessorVersionsIterator() {
- try {
- AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addRule("testGetSuccessorVersionsIterator", "test content");
- ruleItem1.checkin( "version0" );
-
- Iterator iterator = ruleItem1.getSuccessorVersionsIterator();
- assertNotNull(iterator);
- assertFalse(iterator.hasNext());
-
- ruleItem1.updateRuleContent("new content").checkin( "ya" );
-
-
- iterator = ruleItem1.getSuccessorVersionsIterator();
- assertNotNull(iterator);
- assertFalse(iterator.hasNext());
-
- AssetItem predecessorRuleItem = (AssetItem) ruleItem1.getPrecedingVersion();
- iterator = predecessorRuleItem.getSuccessorVersionsIterator();
- assertNotNull(iterator);
- assertTrue(iterator.hasNext());
- AssetItem nextRuleItem = (AssetItem) iterator.next();
- assertEquals("new content", nextRuleItem.getRuleContent());
- assertFalse(iterator.hasNext());
-
- ruleItem1.updateRuleContent("newer content");
- ruleItem1.checkin( "boo" );
-
- iterator = predecessorRuleItem.getSuccessorVersionsIterator();
- assertNotNull(iterator);
- assertTrue(iterator.hasNext());
- nextRuleItem = (AssetItem) iterator.next();
- assertEquals("new content", nextRuleItem.getRuleContent());
- assertTrue(iterator.hasNext());
- nextRuleItem = (AssetItem)iterator.next();
- assertEquals("newer content", nextRuleItem.getRuleContent());
- assertFalse(iterator.hasNext());
- }
- catch(Exception e) {
- fail("Caught unexpected exception: " + e);
- }
- }
-
- public void testGetPredecessorVersionsIterator() {
- try {
- AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addRule("testGetPredecessorVersionsIterator", "test description");
- ruleItem1.checkin( "version0" );
-
- Iterator iterator = ruleItem1.getPredecessorVersionsIterator();
- assertNotNull(iterator);
- assertFalse(iterator.hasNext());
-
- ruleItem1.updateRuleContent( "test content" );
- ruleItem1.checkin( "lalalalala" );
-
- iterator = ruleItem1.getPredecessorVersionsIterator();
- assertNotNull(iterator);
- assertTrue(iterator.hasNext());
-
- ruleItem1.updateRuleContent("new content");
- ruleItem1.checkin( "boo" );
-
- iterator = ruleItem1.getPredecessorVersionsIterator();
- assertNotNull(iterator);
- assertTrue(iterator.hasNext());
- AssetItem nextRuleItem = (AssetItem) iterator.next();
-
- assertEquals("test content", nextRuleItem.getRuleContent());
-
- ruleItem1.updateRuleContent("newer content");
- ruleItem1.checkin( "wee" );
-
-
- iterator = ruleItem1.getPredecessorVersionsIterator();
- assertNotNull(iterator);
- assertTrue(iterator.hasNext());
- nextRuleItem = (AssetItem) iterator.next();
- assertTrue(iterator.hasNext());
- assertEquals("new content", nextRuleItem.getRuleContent());
- nextRuleItem = (AssetItem) iterator.next();
-
- assertEquals("test content", nextRuleItem.getRuleContent());
-
- assertEquals(null, ((AssetItem) iterator.next()).getRuleContent());
-
- }
- catch(Exception e) {
- fail("Caught unexpected exception: " + e);
- }
- }
-
- public void testGetTitle() {
- AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addRule("testGetTitle", "test content");
-
- assertEquals("testGetTitle", ruleItem1.getTitle());
- }
-
- public void testDublinCoreProperties() {
- PackageItem pkg = getRepo().createRulePackage( "testDublinCore", "wa" );
-
- AssetItem ruleItem = pkg.addRule( "testDublinCoreProperties", "yeah yeah yeah" );
- ruleItem.updateCoverage( "b" );
- assertEquals("b",ruleItem.getCoverage());
-
- ruleItem.updateLastContributor( "me" );
- ruleItem.checkin( "woo" );
-
- pkg = getRepo().loadRulePackage( "testDublinCore" );
- ruleItem = (AssetItem) pkg.getRules().next();
-
- assertEquals("b", ruleItem.getCoverage());
- assertEquals("me", ruleItem.getLastContributor());
-
- assertEquals("", ruleItem.getExternalRelation());
- assertEquals("", ruleItem.getExternalSource());
-
- }
-
- public void testGetFormat() {
- AssetItem ruleItem1 = getRepo().loadDefaultRulePackage().addRule("testGetFormat", "test content");
-
- assertEquals("DRL", ruleItem1.getFormat());
-
- ruleItem1.updateFormat( "blah" );
- assertEquals("blah", ruleItem1.getFormat());
- }
-}
Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulePackageItemTestCase.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulePackageItemTestCase.java 2006-12-12 15:47:08 UTC (rev 8256)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulePackageItemTestCase.java 2006-12-12 15:58:29 UTC (rev 8257)
@@ -71,8 +71,8 @@
PackageItem pack = repo.createRulePackage( "testBaselinePackage", "for testing baselines" );
- AssetItem rule1 = pack.addRule( "rule 1", "yeah" );
- AssetItem rule2 = pack.addRule( "rule 2", "foobar" );
+ AssetItem rule1 = pack.addAsset( "rule 1", "yeah" );
+ AssetItem rule2 = pack.addAsset( "rule 2", "foobar" );
StateItem state = repo.getState( "deployed" );
@@ -104,8 +104,8 @@
String packName = StackUtil.getCurrentMethodName();
PackageItem pack = getRepo().createRulePackage( packName, "yeah" );
- AssetItem rule = pack.addRule( "foobar", "waah" );
- rule.updateRuleContent( "this is something" );
+ AssetItem rule = pack.addAsset( "foobar", "waah" );
+ rule.updateContent( "this is something" );
rule.checkin( "something" );
StateItem state = getRepo().getState( "something" );
@@ -115,18 +115,18 @@
pack = getRepo().loadRulePackage( packName );
rule = (AssetItem) pack.getRules().next();
- rule.updateRuleContent( "blah" );
+ rule.updateContent( "blah" );
rule.checkin( "woot" );
pack.createBaseline( "yeah", state );
pack = getRepo().loadRulePackage( packName );
rule = (AssetItem) pack.getRules().next();
- assertEquals("blah", rule.getRuleContent());
+ assertEquals("blah", rule.getContent());
PackageItem prev = (PackageItem) pack.getPrecedingVersion();
rule = (AssetItem) prev.getRules().next();
- assertEquals("this is something", rule.getRuleContent());
+ assertEquals("this is something", rule.getContent());
}
@@ -160,13 +160,13 @@
PackageItem pack = getRepo().createRulePackage( "package extractor", "foo" );
- AssetItem rule1 = pack.addRule( "rule number 1", "yeah man" );
+ AssetItem rule1 = pack.addAsset( "rule number 1", "yeah man" );
rule1.checkin( "version0" );
- AssetItem rule2 = pack.addRule( "rule number 2", "no way" );
+ AssetItem rule2 = pack.addAsset( "rule number 2", "no way" );
rule2.checkin( "version0" );
- AssetItem rule3 = pack.addRule( "rule number 3", "yes way" );
+ AssetItem rule3 = pack.addAsset( "rule number 3", "yes way" );
rule3.checkin( "version0" );
getRepo().save();
@@ -196,14 +196,14 @@
assertEquals(3, rules.size());
//now do an update, and pull it out via state
- rule1.updateRuleContent( "new content" );
+ rule1.updateContent( "new content" );
rule1.updateState( "draft" );
rule1.checkin( "latest" );
rules = iteratorToList( pack.getRules(getRepo().getState( "draft" )) );
assertEquals(1, rules.size());
AssetItem rule = (AssetItem) rules.get( 0 );
- assertEquals("new content", rule.getRuleContent());
+ assertEquals("new content", rule.getContent());
//get the previous one via state
@@ -211,7 +211,7 @@
assertEquals(1, rules.size());
AssetItem prior = (AssetItem) rules.get( 0 );
- assertFalse("new content".equals( prior.getRuleContent() ));
+ assertFalse("new content".equals( prior.getContent() ));
}
@@ -254,8 +254,8 @@
PackageItem rulePackageItem1 = getRepo().createRulePackage("testAddRuleRuleItem","desc");
- AssetItem ruleItem1 = rulePackageItem1.addRule("testAddRuleRuleItem", "test description");
- ruleItem1.updateRuleContent( "test content" );
+ AssetItem ruleItem1 = rulePackageItem1.addAsset("testAddRuleRuleItem", "test description");
+ ruleItem1.updateContent( "test content" );
ruleItem1.checkin( "updated the rule content" );
Iterator rulesIt = rulePackageItem1.getRules();
@@ -265,7 +265,7 @@
assertEquals("testAddRuleRuleItem", first.getName());
//test that it is following the head revision
- ruleItem1.updateRuleContent("new lhs");
+ ruleItem1.updateContent("new lhs");
ruleItem1.checkin( "updated again" );
rulesIt = rulePackageItem1.getRules();
assertNotNull(rulesIt);
@@ -273,9 +273,9 @@
List rules = iteratorToList( rulesIt );
assertEquals(1, rules.size());
assertEquals("testAddRuleRuleItem", ((AssetItem)rules.get(0)).getName());
- assertEquals("new lhs", ((AssetItem)rules.get(0)).getRuleContent());
+ assertEquals("new lhs", ((AssetItem)rules.get(0)).getContent());
- AssetItem ruleItem2 = rulePackageItem1.addRule("testAddRuleRuleItem2", "test content");
+ AssetItem ruleItem2 = rulePackageItem1.addAsset("testAddRuleRuleItem2", "test content");
rules = iteratorToList(rulePackageItem1.getRules());
assertNotNull(rules);
@@ -375,8 +375,8 @@
public void testGetRules() {
PackageItem rulePackageItem1 = getRepo().createRulePackage("testGetRules", "desc");
- AssetItem ruleItem1 = rulePackageItem1.addRule("testGetRules", "desc" );
- ruleItem1.updateRuleContent( "test lhs content" );
+ AssetItem ruleItem1 = rulePackageItem1.addAsset("testGetRules", "desc" );
+ ruleItem1.updateContent( "test lhs content" );
List rules = iteratorToList(rulePackageItem1.getRules());
@@ -384,8 +384,8 @@
assertEquals(1, rules.size());
assertEquals("testGetRules", ((AssetItem)rules.get(0)).getName());
- AssetItem ruleItem2 = rulePackageItem1.addRule("testGetRules2", "desc" );
- ruleItem2.updateRuleContent( "test lhs content" );
+ AssetItem ruleItem2 = rulePackageItem1.addAsset("testGetRules2", "desc" );
+ ruleItem2.updateContent( "test lhs content" );
rules = iteratorToList(rulePackageItem1.getRules());
assertNotNull(rules);
@@ -403,8 +403,8 @@
public void testToString() {
PackageItem rulePackageItem1 = getRepo().createRulePackage("testToStringPackage", "desc");
- AssetItem ruleItem1 = rulePackageItem1.addRule("testToStringPackage", "test lhs content" );
- ruleItem1.updateRuleContent( "test lhs content" );
+ AssetItem ruleItem1 = rulePackageItem1.addAsset("testToStringPackage", "test lhs content" );
+ ruleItem1.updateContent( "test lhs content" );
assertNotNull(rulePackageItem1.toString());
@@ -413,8 +413,8 @@
public void testRemoveRule() {
PackageItem rulePackageItem1 = getRepo().createRulePackage("testRemoveRule", "desc");
- AssetItem ruleItem1 = rulePackageItem1.addRule("testRemoveRule", "test lhs content" );
- ruleItem1.updateRuleContent( "test lhs content" );
+ AssetItem ruleItem1 = rulePackageItem1.addAsset("testRemoveRule", "test lhs content" );
+ ruleItem1.updateContent( "test lhs content" );
@@ -426,14 +426,14 @@
- ruleItem1.updateRuleContent("new lhs");
+ ruleItem1.updateContent("new lhs");
List rules = iteratorToList(rulePackageItem1.getRules());
assertNotNull(rules);
assertEquals(1, rules.size());
assertEquals("testRemoveRule", ((AssetItem)rules.get(0)).getName());
- assertEquals("new lhs", ((AssetItem)rules.get(0)).getRuleContent());
+ assertEquals("new lhs", ((AssetItem)rules.get(0)).getContent());
- AssetItem ruleItem2 = rulePackageItem1.addRule("testRemoveRule2", "test lhs content");
+ AssetItem ruleItem2 = rulePackageItem1.addAsset("testRemoveRule2", "test lhs content");
//remove the rule, make sure the other rule in the pacakge stays around
rulePackageItem1.removeRule(ruleItem1.getName());
Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTestCase.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTestCase.java 2006-12-12 15:47:08 UTC (rev 8256)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTestCase.java 2006-12-12 15:58:29 UTC (rev 8257)
@@ -44,15 +44,15 @@
PackageItem pack = repo.createRulePackage( "testAddVersionARule", "description" );
repo.save();
- AssetItem rule = pack.addRule( "my rule", "foobar" );
+ AssetItem rule = pack.addAsset( "my rule", "foobar" );
assertEquals("my rule", rule.getName());
- rule.updateRuleContent( "foo foo" );
+ rule.updateContent( "foo foo" );
rule.checkin( "version0" );
- pack.addRule( "other rule", "description" );
+ pack.addAsset( "other rule", "description" );
- rule.updateRuleContent( "foo bar" );
+ rule.updateContent( "foo bar" );
rule.checkin( "version1" );
PackageItem pack2 = repo.loadRulePackage( "testAddVersionARule" );
@@ -66,8 +66,8 @@
AssetItem prev = (AssetItem) rule.getPrecedingVersion();
- assertEquals("foo bar", rule.getRuleContent());
- assertEquals("foo foo", prev.getRuleContent());
+ assertEquals("foo bar", rule.getContent());
+ assertEquals("foo foo", prev.getContent());
@@ -78,7 +78,7 @@
RulesRepository repo = RepositorySession.getRepository();
PackageItem rulePackageItem = repo.loadDefaultRulePackage();
- AssetItem rule = rulePackageItem.addRule( "testLoadRuleByUUID", "this is a description");
+ AssetItem rule = rulePackageItem.addAsset( "testLoadRuleByUUID", "this is a description");
repo.save();
@@ -91,7 +91,7 @@
String oldVersionNumber = loaded.getVersionNumber();
- loaded.updateRuleContent( "xxx" );
+ loaded.updateContent( "xxx" );
loaded.checkin( "woo" );
@@ -99,7 +99,7 @@
AssetItem reload = repo.loadRuleByUUID( uuid );
assertEquals("testLoadRuleByUUID", reload.getName());
- assertEquals("xxx", reload.getRuleContent());
+ assertEquals("xxx", reload.getContent());
System.out.println(reload.getVersionNumber());
System.out.println(loaded.getVersionNumber());
assertFalse(reload.getVersionNumber().equals( oldVersionNumber ));
@@ -122,7 +122,7 @@
Calendar effectiveDate = Calendar.getInstance();
Calendar expiredDate = Calendar.getInstance();
expiredDate.setTimeInMillis(effectiveDate.getTimeInMillis() + (1000 * 60 * 60 * 24));
- AssetItem ruleItem1 = rulesRepository.loadDefaultRulePackage().addRule("testAddRuleCalendarCalendar", "desc");
+ AssetItem ruleItem1 = rulesRepository.loadDefaultRulePackage().addAsset("testAddRuleCalendarCalendar", "desc");
ruleItem1.updateDateEffective( effectiveDate );
ruleItem1.updateDateExpired( expiredDate );
@@ -217,7 +217,7 @@
public void testMoveRulePackage() throws Exception {
RulesRepository repo = RepositorySession.getRepository();
PackageItem pkg = repo.createRulePackage( "testMove", "description" );
- AssetItem r = pkg.addRule( "testMove", "description" );
+ AssetItem r = pkg.addAsset( "testMove", "description" );
r.checkin( "version0" );
assertEquals("testMove", r.getPackageName());
Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/ScalabilityTest.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/ScalabilityTest.java 2006-12-12 15:47:08 UTC (rev 8256)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/ScalabilityTest.java 2006-12-12 15:58:29 UTC (rev 8257)
@@ -48,14 +48,14 @@
start = System.currentTimeMillis();
AssetItem item = (AssetItem) list.get( 0 );
- item.updateRuleContent( "this is a description" );
+ item.updateContent( "this is a description" );
item.checkin( "newer" );
System.out.println("time to update and version: " + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
item = (AssetItem) list.get( 42 );
- item.updateRuleContent( "this is a description" );
- item.updateRuleContent( "wooooooooooooooooooooooooooooooooooot" );
+ item.updateContent( "this is a description" );
+ item.updateContent( "wooooooooooooooooooooooooooooooooooot" );
item.checkin( "latest" );
System.out.println("time to update and version: " + (System.currentTimeMillis() - start));
@@ -128,7 +128,7 @@
System.out.println("ADDING rule: " + ruleName);
- AssetItem item = repo.loadDefaultRulePackage().addRule( ruleName, "Foo(bar == " + i + ")panic(" + i + ");" );
+ AssetItem item = repo.loadDefaultRulePackage().addAsset( ruleName, "Foo(bar == " + i + ")panic(" + i + ");" );
item.addCategory( cat );
list.add( item );
More information about the jboss-svn-commits
mailing list