[jboss-svn-commits] JBL Code SVN: r7268 - 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 Nov 1 07:01:22 EST 2006
Author: michael.neale at jboss.com
Date: 2006-11-01 07:01:16 -0500 (Wed, 01 Nov 2006)
New Revision: 7268
Modified:
labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTestCase.java
Log:
Added code for loading rules by UUID
Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java 2006-11-01 11:57:39 UTC (rev 7267)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java 2006-11-01 12:01:16 UTC (rev 7268)
@@ -543,13 +543,6 @@
}
-// /**
-// * This will add a rule to the default package.
-// * Normally you should load the specific package you want to store the rule in.
-// */
-// public RuleItem addRule(String name, String description) {
-// return loadDefaultRulePackage().addRule( name, description );
-// }
/**
* Similar to above. Loads a RulePackage for the specified uuid.
@@ -571,6 +564,24 @@
}
}
}
+
+
+ /**
+ * Loads a rule by its UUID (generally the fastest way to load something).
+ */
+ public RuleItem loadRuleByUUID(String uuid) {
+ try {
+ Node rulePackageNode = this.session.getNodeByUUID(uuid);
+ return new RuleItem(this, rulePackageNode);
+ }
+ catch (RepositoryException e) {
+ log.error("Unable to load a rule asset by UUID.", e);
+ throw new RulesRepositoryException(e);
+ }
+
+ }
+
+
/**
* Adds a rule package node in the repository. This node has a property called
@@ -747,4 +758,8 @@
+
+
+
+
}
\ No newline at end of file
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-11-01 11:57:39 UTC (rev 7267)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTestCase.java 2006-11-01 12:01:16 UTC (rev 7268)
@@ -68,6 +68,32 @@
}
+
+ public void testLoadRuleByUUID() throws Exception {
+ RulesRepository repo = RepositorySession.getRepository();
+
+ RulePackageItem rulePackageItem = repo.loadDefaultRulePackage();
+ RuleItem rule = rulePackageItem.addRule( "testLoadRuleByUUID", "this is a description");
+
+ repo.save();
+
+ String uuid = rule.getNode().getUUID();
+
+ RuleItem loaded = repo.loadRuleByUUID(uuid);
+ assertNotNull(loaded);
+ assertEquals("testLoadRuleByUUID", loaded.getName());
+ assertEquals( "this is a description", loaded.getDescription());
+
+ // try loading rule package that was not created
+ try {
+ repo.loadRuleByUUID("01010101-0101-0101-0101-010101010101");
+ fail("Exception not thrown loading rule package that was not created.");
+ } catch (RulesRepositoryException e) {
+ // that is OK!
+ assertNotNull(e.getMessage());
+ }
+ }
+
public void testAddRuleCalendarWithDates() {
RulesRepository rulesRepository = RepositorySession.getRepository();
More information about the jboss-svn-commits
mailing list