Author: mic...@jb... Date: 2006-01-20 19:46:01 -0500 (Fri, 20 Jan 2006) New Revision: 2158 Modified: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleSetDef.java trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/RulePersistenceTest.java trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/RuleSetPersistenceTest.java Log: added owning ruleset name Modified: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java 2006-01-21 00:39:22 UTC (rev 2157) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java 2006-01-21 00:46:01 UTC (rev 2158) @@ -29,8 +29,21 @@ private Long historicalId; private boolean historicalRecord = false; private int lockingVersion = 0; + private String owningRuleSetName; + /** + * If a rule belongs to a ruleset, this will have its name. + * Rulenames should be unique, but at a minimum unique in a ruleset. + * */ + public String getOwningRuleSetName() { + return owningRuleSetName; + } + + void setOwningRuleSetName(String owningRuleSetName) { + this.owningRuleSetName = owningRuleSetName; + } + /** * Use tagging to aid with searching and sorting of large numbers of rules. */ Modified: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleSetDef.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleSetDef.java 2006-01-21 00:39:22 UTC (rev 2157) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleSetDef.java 2006-01-21 00:46:01 UTC (rev 2158) @@ -96,12 +96,13 @@ public RuleDef addRule(RuleDef rule) { RuleDef returnVal = rule; if (rule.getId() == null) { + rule.setOwningRuleSetName(this.name); addAssetToSet( rule, this.rules ); } else { //we have to make a copy RuleDef newRule = (RuleDef) rule.copy(); - newRule.setName(this.getName() + ":" + rule.getName()); + newRule.setOwningRuleSetName(this.name); addAssetToSet( newRule, this.rules ); returnVal = newRule; Modified: trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml 2006-01-21 00:39:22 UTC (rev 2157) +++ trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml 2006-01-21 00:46:01 UTC (rev 2158) @@ -26,6 +26,7 @@ <property name="expiryDate" column="EXPIRY_DATE"/> <property name="historicalId" column="HISTORICAL_ID"/> <property name="historicalRecord" column="HISTORICAL_RECORD_FLAG"/> + <property name="owningRuleSetName" column="OWNING_RULESET_NAME" /> <set name="tags" table="RULE_TAGS" lazy="false" cascade="all" optimistic-lock="false"> <key column="RULE_ID"/> Modified: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/RulePersistenceTest.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/RulePersistenceTest.java 2006-01-21 00:39:22 UTC (rev 2157) +++ trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/RulePersistenceTest.java 2006-01-21 00:46:01 UTC (rev 2158) @@ -34,6 +34,7 @@ def.removeTag("tag1"); repo.save(def); def = repo.loadRule("myRule3", 1); + assertEquals(null, def.getOwningRuleSetName()); assertEquals(2, def.getTags().size()); } Modified: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/RuleSetPersistenceTest.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/RuleSetPersistenceTest.java 2006-01-21 00:39:22 UTC (rev 2157) +++ trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/RuleSetPersistenceTest.java 2006-01-21 00:46:01 UTC (rev 2158) @@ -49,7 +49,7 @@ repo.save(def2); def2 = repo.loadRuleSet("my ruleset", 1); - newRule = def2.findRuleByName("my ruleset:pre-existing"); + newRule = def2.findRuleByName("pre-existing"); assertEquals("ABC", newRule.getContent()); assertEquals(1, newRule.getTags().size()); } @@ -347,8 +347,11 @@ repo.save(ruleset); RuleDef copied = newruleset.addRule(preExist); - RuleDef other = newruleset.findRuleByName("yao" + ":" + preExist.getName()); + RuleDef other = newruleset.findRuleByName(preExist.getName()); assertEquals(null, other.getId()); //so we know it is a copy + assertEquals(newruleset.getName(), other.getOwningRuleSetName()); + assertEquals(null, preExist.getOwningRuleSetName()); + repo.save(newruleset); assertFalse(other == preExist); @@ -357,7 +360,7 @@ newruleset = repo.loadRuleSet("yao", 1); assertEquals(1, newruleset.getRules().size()); other = (RuleDef) newruleset.getRules().iterator().next(); - assertTrue(other.getName().startsWith("yao")); + assertEquals(newruleset.getName(), other.getOwningRuleSetName()); newruleset.removeRule(other); repo.save(newruleset); |