private void clearRulebase() { for (KnowledgePackage p : base.getKnowledgePackages()) { base.removeKnowledgePackage(p.getName()); } }
private void clearRulebase() { for (KnowledgePackage p : base.getKnowledgePackages()) { base.removeKnowledgePackage(p.getName()); } }
public synchronized void reloadPackage(String packageName) throws RuleBaseException { long start = System.currentTimeMillis(); packageStrings.clear(); StringBuffer packageString = initNewPackageString(packageName); for (RuleBaseElementId id : manager.list(RuleBaseElementType.Function, packageName)) { String code = manager.get(id); packageString.append(code); } for (RuleBaseElementId id : manager.list(RuleBaseElementType.Rule, packageName)) { String code = manager.get(id); String formattedRule = String.format(RULE_TEMPLATE, id.getName(), code); packageString.append(formattedRule); } Collection<String> flows = queryFlows(packageName); Collection<KnowledgePackage> compiledPackage = compileDrlString(packageString.toString(), flows); if (base.getKnowledgePackage(packageName) != null) { base.removeKnowledgePackage(packageName); } base.addKnowledgePackages(compiledPackage); LOGGER.info("Reloading only package {} took {}ms", packageName, System.currentTimeMillis() - start); }
public synchronized void reloadPackage(String packageName) throws RuleBaseException { long start = System.currentTimeMillis(); reloadDeclarations(); packageStrings.clear(); StringBuffer packageString = initNewPackageString(packageName); for (RuleBaseElementId id : manager.list(RuleBaseElementType.Function, packageName)) { String code = manager.get(id); packageString.append(code); } for (RuleBaseElementId id : manager.list(RuleBaseElementType.Rule, packageName)) { String code = manager.get(id); String formattedRule = String.format(RULE_TEMPLATE, id.getName(), code); packageString.append(formattedRule); } Collection<String> flows = queryFlows(packageName); Collection<KnowledgePackage> compiledPackage = compileDrlString(packageString.toString(), flows); lockRuleBase(); if (base.getKnowledgePackage(packageName) != null) { base.removeKnowledgePackage(packageName); } base.addKnowledgePackages(compiledPackage); unlockRuleBase(); LOGGER.info("Reloading only package {} took {}ms", packageName, System.currentTimeMillis() - start); }
for ( KnowledgePackage kp : createdDistinctPackages ) { this.listener.warning( "- Removing package " + kp.getName() ); this.kbase.removeKnowledgePackage( kp.getName() );
knowledgeBase.removeKnowledgePackage(name); debug("WorkingMemory[<name>] Removing Package[{0}] from the KnowledgeBase", name);