protected void addEntryPoint( final Package pkg, final String id ) throws InvalidPatternException { lock(); try { addEntryPoint( id ); } finally { unlock(); } }
public void addWindowDeclaration( final Package pkg, final WindowDeclaration window ) throws InvalidPatternException { lock(); try { addWindowDeclaration( window ); } finally { unlock(); } }
public void removeProcess( final String id ) { Process process = this.processes.get( id ); if (process == null) { throw new IllegalArgumentException( "Process '" + id + "' does not exist for this Rule Base." ); } this.eventSupport.fireBeforeProcessRemoved( process ); lock(); try { this.processes.remove( id ); this.pkgs.get(process.getPackageName()).removeRuleFlow(id); } finally { unlock(); } this.eventSupport.fireAfterProcessRemoved( process ); }
public void addProcess( final Process process ) { // XXX: could use a synchronized(processes) here. this.eventSupport.fireBeforeProcessAdded( process ); lock(); try { this.processes.put( process.getId(), process ); } finally { unlock(); } this.eventSupport.fireAfterProcessAdded( process ); }
public void removeFunction( final String packageName, final String functionName ) { 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." ); } if (!pkg.getFunctions().containsKey( functionName )) { throw new IllegalArgumentException( "function name '" + packageName + "' does not exist in the Package '" + packageName + "'." ); } removeFunction( pkg, functionName ); pkg.removeFunction( functionName ); addReloadDialectDatas( pkg ); } finally { unlock(); } }
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(); } }
public void addRule( final Package pkg, final Rule rule ) throws InvalidPatternException { lock(); try { this.eventSupport.fireBeforeRuleAdded( pkg, rule ); // if ( !rule.isValid() ) { // throw new IllegalArgumentException( "The rule called " + rule.getName() + " is not valid. Check for compile errors reported." ); // } addRule( rule ); this.eventSupport.fireAfterRuleAdded( pkg, rule ); } finally { unlock(); } }
public void removePackage( final String packageName ) { lock(); try { final Package pkg = this.pkgs.get( packageName );
/** * 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(); } }