[jboss-svn-commits] JBL Code SVN: r14593 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools: rule and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Aug 26 09:27:58 EDT 2007
Author: mark.proctor at jboss.com
Date: 2007-08-26 09:27:58 -0400 (Sun, 26 Aug 2007)
New Revision: 14593
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java
Log:
-improved runtime error feedback for removing package, rule and functions. Where the item doesn't exist.
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java 2007-08-26 12:55:36 UTC (rev 14592)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java 2007-08-26 13:27:58 UTC (rev 14593)
@@ -437,6 +437,9 @@
public synchronized void removePackage(final String packageName) {
synchronized ( this.pkgs ) {
final Package pkg = (Package) this.pkgs.get( packageName );
+ if ( pkg == null) {
+ throw new IllegalArgumentException("Package name '" + packageName + "' does not exist for this Rule Base.");
+ }
// INVARIANT: lastAquiredLock always contains the index of the last aquired lock +1
// in the working memory array
@@ -500,7 +503,14 @@
final String ruleName) {
synchronized ( this.pkgs ) {
final Package pkg = (Package) this.pkgs.get( packageName );
- final Rule rule = pkg.getRule( ruleName );
+ if ( pkg == null) {
+ throw new IllegalArgumentException("Package name '" + packageName + "' does not exist for this Rule Base.");
+ }
+
+ final Rule rule = pkg.getRule( ruleName );
+ if ( rule == null) {
+ throw new IllegalArgumentException("Rule name '"+ ruleName + "' does not exist in the Package '" + packageName + "'.");
+ }
// INVARIANT: lastAquiredLock always contains the index of the last aquired lock +1
// in the working memory array
@@ -541,7 +551,14 @@
public void removeFunction(String packageName, String functionName) {
synchronized ( this.pkgs ) {
final Package pkg = (Package) this.pkgs.get( packageName );
+ if ( pkg == null) {
+ throw new IllegalArgumentException("Package name '" + packageName + "' does not exist for this Rule Base.");
+ }
+
PackageCompilationData compilationData = pkg.removeFunction( functionName );
+ if ( compilationData == null ) {
+ throw new IllegalArgumentException("function name '" + packageName + "' does not exist in the Package '" + packageName + "'.");
+ }
if ( this.reloadPackageCompilationData == null ) {
this.reloadPackageCompilationData = new ReloadPackageCompilationData();
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java 2007-08-26 12:55:36 UTC (rev 14592)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java 2007-08-26 13:27:58 UTC (rev 14593)
@@ -256,7 +256,9 @@
}
public PackageCompilationData removeFunction(final String functionName) {
- this.functions.remove( functionName );
+ if ( !this.functions.remove( functionName )) {
+ return null;
+ }
this.packageCompilationData.remove( this.name + "." + StringUtils.ucFirst( functionName ) );
return this.packageCompilationData;
}
More information about the jboss-svn-commits
mailing list