[jboss-svn-commits] JBL Code SVN: r5847 - in labs/jbossrules/trunk/repository: . src/java/org/drools/repository src/java/org/drools/repository/test
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Aug 13 20:33:22 EDT 2006
Author: bentruitt
Date: 2006-08-13 20:33:10 -0400 (Sun, 13 Aug 2006)
New Revision: 5847
Modified:
labs/jbossrules/trunk/repository/build.xml
labs/jbossrules/trunk/repository/src/java/org/drools/repository/RulePackageItem.java
labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/DslItemTestCase.java
labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/RuleItemTestCase.java
labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/RulePackageItemTestCase.java
labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/RulesRepositoryTestCase.java
labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/TagItemTestCase.java
Log:
Unit test passing. RemoveRule() implemented on RulePackageItem.
Modified: labs/jbossrules/trunk/repository/build.xml
===================================================================
--- labs/jbossrules/trunk/repository/build.xml 2006-08-13 22:03:56 UTC (rev 5846)
+++ labs/jbossrules/trunk/repository/build.xml 2006-08-14 00:33:10 UTC (rev 5847)
@@ -95,7 +95,7 @@
<delete dir="${classes.dir}/com"/>
<delete>
<fileset dir="${reports.dir}" includes="**/*"/>
- </delete>
+ </delete>
</target>
<target name="deploy" description="ship the jars, wars, whatever to the execution system (this system)">
Modified: labs/jbossrules/trunk/repository/src/java/org/drools/repository/RulePackageItem.java
===================================================================
--- labs/jbossrules/trunk/repository/src/java/org/drools/repository/RulePackageItem.java 2006-08-13 22:03:56 UTC (rev 5846)
+++ labs/jbossrules/trunk/repository/src/java/org/drools/repository/RulePackageItem.java 2006-08-14 00:33:10 UTC (rev 5847)
@@ -144,6 +144,53 @@
}
/**
+ * Removes the specified rule from the rule package node this object represents.
+ *
+ * @param ruleItem the ruleItem corresponding to the node to remove from the rule package
+ * this object represents
+ * @throws RulesRepositoryException
+ */
+ public void removeRule(RuleItem ruleItem) throws RulesRepositoryException {
+ try {
+ Value[] oldValueArray = this.node.getProperty(RULE_REFERENCE_PROPERTY_NAME).getValues();
+ Value[] newValueArray = new Value[oldValueArray.length - 1];
+
+ boolean wasThere = false;
+
+ int j=0;
+ for(int i=0; i<oldValueArray.length; i++) {
+ Node ruleNode = this.node.getSession().getNodeByUUID(oldValueArray[i].getString());
+ RuleItem currentRuleItem = new RuleItem(this.rulesRepository, ruleNode);
+ if(currentRuleItem.equals(ruleItem)) {
+ wasThere = true;
+ }
+ else {
+ newValueArray[j] = oldValueArray[i];
+ j++;
+ }
+ }
+
+ if(!wasThere) {
+ return;
+ }
+ else {
+ this.node.checkout();
+ this.node.setProperty(RULE_REFERENCE_PROPERTY_NAME, newValueArray);
+ this.node.getSession().save();
+ this.node.checkin();
+ }
+ }
+ catch(PathNotFoundException e) {
+ //the property has not been created yet.
+ return;
+ }
+ catch(Exception e) {
+ log.error("Caught exception", e);
+ throw new RulesRepositoryException(e);
+ }
+ }
+
+ /**
* Gets a list of RuleItem objects for each rule node in this rule package
*
* @return the List object holding the RuleItem objects in this rule package
Modified: labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/DslItemTestCase.java
===================================================================
--- labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/DslItemTestCase.java 2006-08-13 22:03:56 UTC (rev 5846)
+++ labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/DslItemTestCase.java 2006-08-14 00:33:10 UTC (rev 5847)
@@ -15,7 +15,7 @@
protected void setUp() throws Exception {
super.setUp();
- rulesRepository = new RulesRepository();
+ rulesRepository = new RulesRepository(true);
}
protected void tearDown() throws Exception {
Modified: labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/RuleItemTestCase.java
===================================================================
--- labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/RuleItemTestCase.java 2006-08-13 22:03:56 UTC (rev 5846)
+++ labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/RuleItemTestCase.java 2006-08-14 00:33:10 UTC (rev 5847)
@@ -12,7 +12,7 @@
protected void setUp() throws Exception {
super.setUp();
- this.rulesRepository = new RulesRepository();
+ this.rulesRepository = new RulesRepository(true);
}
protected void tearDown() throws Exception {
Modified: labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/RulePackageItemTestCase.java
===================================================================
--- labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/RulePackageItemTestCase.java 2006-08-13 22:03:56 UTC (rev 5846)
+++ labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/RulePackageItemTestCase.java 2006-08-14 00:33:10 UTC (rev 5847)
@@ -12,7 +12,7 @@
protected void setUp() throws Exception {
super.setUp();
- this.rulesRepository = new RulesRepository();
+ this.rulesRepository = new RulesRepository(true);
}
protected void tearDown() throws Exception {
@@ -67,7 +67,7 @@
ruleItem1.updateContentFromFile(drlFile2);
rules = rulePackageItem1.getRules();
assertNotNull(rules);
- assertEquals(rules.size(), 1);
+ assertEquals(1, rules.size());
assertEquals("drl1.drl", ((RuleItem)rules.get(0)).getName());
assertEquals("package org.drools.examples", ((RuleItem)rules.get(0)).getContent());
@@ -182,4 +182,75 @@
fail("Caught unexpected exception: " + e);
}
}
+
+ public void testRemoveRule() {
+ try {
+ RulePackageItem rulePackageItem1 = this.rulesRepository.createRulePackage("testRulePackage");
+
+ File drlFile1 = new File("./src/java/org/drools/repository/test/test_data/drl1.drl");
+ RuleItem ruleItem1 = this.rulesRepository.addRuleFromFile(drlFile1);
+
+ rulePackageItem1.addRule(ruleItem1);
+
+ List rules = rulePackageItem1.getRules();
+ assertNotNull(rules);
+ assertEquals(1, rules.size());
+ assertEquals("drl1.drl", ((RuleItem)rules.get(0)).getName());
+
+ File drlFile2 = new File("./src/java/org/drools/repository/test/test_data/drl3.drl");
+ ruleItem1.updateContentFromFile(drlFile2);
+ rules = rulePackageItem1.getRules();
+ assertNotNull(rules);
+ assertEquals(1, rules.size());
+ assertEquals("drl1.drl", ((RuleItem)rules.get(0)).getName());
+ assertEquals("package org.drools.examples", ((RuleItem)rules.get(0)).getContent());
+
+ File drlFile3 = new File("./src/java/org/drools/repository/test/test_data/drl2.drl");
+ RuleItem ruleItem2 = this.rulesRepository.addRuleFromFile(drlFile3);
+ rulePackageItem1.addRule(ruleItem2);
+
+ //remove the rule, make sure the other rule int the pacakge stays around
+ rulePackageItem1.removeRule(ruleItem1);
+ rules = rulePackageItem1.getRules();
+ assertEquals(1, rules.size());
+ assertEquals("drl2.drl", ((RuleItem)rules.get(0)).getName());
+
+ //remove the rule that is following the head revision, make sure the pacakge is now empty
+ rulePackageItem1.removeRule(ruleItem2);
+ rules = rulePackageItem1.getRules();
+ assertNotNull(rules);
+ assertEquals(0, rules.size());
+
+ }
+ catch(Exception e) {
+ e.printStackTrace();
+ fail("Caught unexpected exception: " + e);
+ }
+ }
+
+ public void testRemoveAllRules() {
+ try {
+ RulePackageItem rulePackageItem1 = this.rulesRepository.createRulePackage("testRulePackage");
+
+ File drlFile1 = new File("./src/java/org/drools/repository/test/test_data/drl1.drl");
+ RuleItem ruleItem1 = this.rulesRepository.addRuleFromFile(drlFile1);
+
+ rulePackageItem1.addRule(ruleItem1);
+
+ List rules = rulePackageItem1.getRules();
+ assertNotNull(rules);
+ assertEquals(1, rules.size());
+ assertEquals("drl1.drl", ((RuleItem)rules.get(0)).getName());
+
+ rulePackageItem1.removeAllRules();
+
+ rules = rulePackageItem1.getRules();
+ assertNotNull(rules);
+ assertEquals(0, rules.size());
+ }
+ catch(Exception e) {
+ e.printStackTrace();
+ fail("Caught unexpected exception: " + e);
+ }
+ }
}
Modified: labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/RulesRepositoryTestCase.java
===================================================================
--- labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/RulesRepositoryTestCase.java 2006-08-13 22:03:56 UTC (rev 5846)
+++ labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/RulesRepositoryTestCase.java 2006-08-14 00:33:10 UTC (rev 5847)
@@ -19,7 +19,7 @@
public void testRulesRepository() {
RulesRepository rulesRepository = null;
try {
- rulesRepository = new RulesRepository();
+ rulesRepository = new RulesRepository(true);
}
catch(Exception e) {
fail("Caught unexpected Exception: " + e);
@@ -51,7 +51,7 @@
public void testAddRuleFromFileFileDslItem() {
RulesRepository rulesRepository = null;
try {
- rulesRepository = new RulesRepository();
+ rulesRepository = new RulesRepository(true);
File dslFile1 = new File("./src/java/org/drools/repository/test/test_data/dsl1.dsl");
DslItem dslItem1 = rulesRepository.addDslFromFile(dslFile1);
@@ -90,7 +90,7 @@
public void testAddRuleFromFileFileDslItemBoolean() {
RulesRepository rulesRepository = null;
try {
- rulesRepository = new RulesRepository();
+ rulesRepository = new RulesRepository(true);
File dslFile1 = new File("./src/java/org/drools/repository/test/test_data/dsl1.dsl");
DslItem dslItem1 = rulesRepository.addDslFromFile(dslFile1);
@@ -113,7 +113,7 @@
//now test not following the head revision
rulesRepository.logout();
- rulesRepository = new RulesRepository();
+ rulesRepository = new RulesRepository(true);
dslItem1 = rulesRepository.addDslFromFile(dslFile1);
assertNotNull(dslItem1);
@@ -153,7 +153,7 @@
public void testGetState() {
RulesRepository rulesRepository = null;
try {
- rulesRepository = new RulesRepository();
+ rulesRepository = new RulesRepository(true);
StateItem stateItem1 = rulesRepository.getState("TestState");
assertNotNull(stateItem1);
@@ -182,7 +182,7 @@
public void testGetTag() {
RulesRepository rulesRepository = null;
try {
- rulesRepository = new RulesRepository();
+ rulesRepository = new RulesRepository(true);
TagItem tagItem1 = rulesRepository.getTag("TestTag");
assertNotNull(tagItem1);
Modified: labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/TagItemTestCase.java
===================================================================
--- labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/TagItemTestCase.java 2006-08-13 22:03:56 UTC (rev 5846)
+++ labs/jbossrules/trunk/repository/src/java/org/drools/repository/test/TagItemTestCase.java 2006-08-14 00:33:10 UTC (rev 5847)
@@ -12,7 +12,7 @@
protected void setUp() throws Exception {
super.setUp();
- rulesRepository = new RulesRepository();
+ rulesRepository = new RulesRepository(true);
}
protected void tearDown() throws Exception {
More information about the jboss-svn-commits
mailing list