[jboss-svn-commits] JBL Code SVN: r6894 - 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
Wed Oct 18 13:08:36 EDT 2006
Author: michael.neale at jboss.com
Date: 2006-10-18 13:08:30 -0400 (Wed, 18 Oct 2006)
New Revision: 6894
Modified:
labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RuleItem.java
labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulePackageItem.java
labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RuleItemTestCase.java
Log:
some improvements/refactoring/test coverage
Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RuleItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RuleItem.java 2006-10-18 16:05:52 UTC (rev 6893)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RuleItem.java 2006-10-18 17:08:30 UTC (rev 6894)
@@ -88,6 +88,19 @@
}
/**
+ * This will return the current state item as a displayable thing.
+ * If there is no state, it will be an empty string.
+ */
+ public String getStateDescription() {
+ StateItem state = this.getState();
+ if (state == null) {
+ return "";
+ } else {
+ return state.getName();
+ }
+ }
+
+ /**
* returns the contents of the rule node
*/
public String getRuleContent() throws RulesRepositoryException {
Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulePackageItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulePackageItem.java 2006-10-18 16:05:52 UTC (rev 6893)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulePackageItem.java 2006-10-18 17:08:30 UTC (rev 6894)
@@ -13,7 +13,6 @@
import javax.jcr.UnsupportedRepositoryOperationException;
import javax.jcr.Value;
import javax.jcr.ValueFactory;
-import javax.jcr.lock.LockException;
import org.apache.log4j.Logger;
@@ -84,12 +83,22 @@
}
+ /**
+ * Adds a rule to the current package with no category (not recommended !).
+ * Without categories, its going to be hard to find rules later on
+ * (unless packages are enough for you).
+ */
+ public RuleItem addRule(String ruleName, String description) {
+ return addRule(ruleName, description, null);
+ }
+
/**
* This adds a rule to the current physical package (you can move it later).
+ * With the given category
*/
public RuleItem addRule(String ruleName,
- String description) {
+ String description, String initialCategory) {
Node ruleNode;
try {
@@ -117,6 +126,9 @@
RuleItem rule = new RuleItem( this.rulesRepository,
ruleNode );
+ if (initialCategory != null) {
+ rule.addCategory( initialCategory );
+ }
//rule.setState( "Draft" );
this.rulesRepository.save();
Modified: 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-10-18 16:05:52 UTC (rev 6893)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RuleItemTestCase.java 2006-10-18 17:08:30 UTC (rev 6894)
@@ -125,6 +125,24 @@
assertNotNull(prev);
}
+
+ public void testFindRulesByCategory() throws Exception {
+
+ getRepo().loadCategory( "/" ).addCategory( "testFindRulesByCat", "yeah" );
+ getDefaultPackage().addRule( "testFindRulesByCategory1", "ya", "testFindRulesByCat" );
+ getDefaultPackage().addRule( "testFindRulesByCategory2", "ya", "testFindRulesByCat" );
+
+
+ List rules = getRepo().findRulesByCategory( "testFindRulesByCat" );
+ assertEquals(2, rules.size());
+
+ for ( Iterator iter = rules.iterator(); iter.hasNext(); ) {
+ RuleItem element = (RuleItem) iter.next();
+ assertTrue(element.getName().startsWith( "testFindRulesByCategory" ));
+ }
+
+ }
+
public void testRemoveTag() {
RuleItem ruleItem1 = getDefaultPackage().addRule("testRemoveTag", "test content");
@@ -201,7 +219,11 @@
ruleItem1.updateState("TestState1");
assertNotNull(ruleItem1.getState());
- assertEquals("TestState1", ruleItem1.getState().getName());
+ assertEquals("TestState1", ruleItem1.getState().getName());
+
+ ruleItem1 = getDefaultPackage().addRule( "testGetState2", "wa" );
+ assertEquals("", ruleItem1.getStateDescription());
+ assertNull(ruleItem1.getState());
}
More information about the jboss-svn-commits
mailing list