public void removeQuery( final String packageName, final String ruleName ) { removeRule( packageName, ruleName ); }
public void removeRule( final String packageName, final String ruleName ) { lock(); try { final Package pkg = this.pkgs.get( packageName ); 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 + "'." ); } this.removalsSinceLock++; removeRule( pkg, rule ); pkg.removeRule( rule ); addReloadDialectDatas( pkg ); } finally { unlock(); } }
/** * Notify listeners and sub-classes about imminent removal of a rule from a package. * * @param pkg * @param rule */ // FIXME: removeRule(String, String) and removeRule(Package, Rule) do totally different things! public void removeRule( final Package pkg, final Rule rule ) { lock(); try { this.eventSupport.fireBeforeRuleRemoved( pkg, rule ); removeRule( rule ); this.eventSupport.fireAfterRuleRemoved( pkg, rule ); } finally { unlock(); } }
removeRule( pkg, pkg.getRule(newRule.getName()) );