private void clearRulebase() { for (KnowledgePackage p : base.getKnowledgePackages()) { base.removeKnowledgePackage(p.getName()); } }
private void clearRulebase() { for (KnowledgePackage p : base.getKnowledgePackages()) { base.removeKnowledgePackage(p.getName()); } }
private static void compileChangeSet(String changeSet, String outputDir) { Long start=System.currentTimeMillis(); KnowledgeAgent kAgent = KnowledgeAgentFactory.newKnowledgeAgent( "CompilerAgent" ); kAgent.applyChangeSet(ResourceFactory.newFileResource(changeSet)); Collection<KnowledgePackage> kPackages = kAgent.getKnowledgeBase().getKnowledgePackages(); for (KnowledgePackage kPackage : kPackages) { String packageName = kPackage.getName(); try { String fileName=outputDir+"/"+packageName+".pkg"; DroolsStreamUtils.streamOut(new FileOutputStream(fileName), kPackage); System.out.println("File '"+fileName+"' was created."); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } System.out.format("Compilation time: %,dms\n", System.currentTimeMillis() - start); } }
public static Process getProcessByName(String name) { KnowledgeBase kbase = getSession().getKnowledgeBase(); for (KnowledgePackage kpackage: kbase.getKnowledgePackages()) { for (Process process: kpackage.getProcesses()) { if (name.equals(process.getName())) { return process; } } } return null; }
public static List<Process> getProcesses() { List<Process> result = new ArrayList<Process>(); StatefulKnowledgeSessionUtil.getKnowledgeBaseManager().syncPackages(); KnowledgeBase kbase = getSession().getKnowledgeBase(); for (KnowledgePackage kpackage: kbase.getKnowledgePackages()) { result.addAll(kpackage.getProcesses()); } return result; }
public static Process getProcess(String processId) { KnowledgeBase kbase = getSession().getKnowledgeBase(); for (KnowledgePackage kpackage: kbase.getKnowledgePackages()) { for (Process process: kpackage.getProcesses()) { if (processId.equals(process.getId())) { return process; } } } return null; }
public KnowledgeBase getKnowledgeBase() { if (this.kbase != null) { return kbase; } knownPackages = new CopyOnWriteArraySet<String>(); Properties consoleProperties = PropertyLoader.getJbpmConsoleProperties(); GuvnorConnectionUtils guvnorUtils = new GuvnorConnectionUtils(); if(guvnorUtils.guvnorExists()) { kagent = buildKnowledgeAgent(guvnorUtils); if (kagent != null) { kbase = kagent.getKnowledgeBase(); } } else { logger.warn("Could not connect to Guvnor."); } // Create a kbase if we couldn't do that with Guvnor if (kbase == null) { kbase = KnowledgeBaseFactory.newKnowledgeBase(); } // load processes from local file system addProcessesFromConsoleDirectory(kbase, consoleProperties); // add known packages for (KnowledgePackage pkg : kbase.getKnowledgePackages()) { knownPackages.add(pkg.getName()); } return kbase; }
@Test public void testSimplePackageAttributesSingleDrl() throws Exception { String drl1 = "package test\nno-loop true\ndeclare Album\n genre: String \n end\nrule \"rule1\"\nwhen Album() \n then \nAlbum a = new Album(); \n end"; KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add( ResourceFactory.newReaderResource( new StringReader( drl1 ) ), ResourceType.DRL ); KnowledgeBase kbase = kbuilder.newKnowledgeBase(); assertEquals( 1, kbase.getKnowledgePackages().size() ); KnowledgePackage kp1 = kbase.getKnowledgePackages().iterator().next(); KnowledgePackageImp kpImpl1 = (KnowledgePackageImp) kp1; assertEquals( "test", kp1.getName() ); assertEquals( 1, kp1.getRules().size() ); Rule r1 = kp1.getRules().iterator().next(); String rName = r1.getName(); assertEquals( "rule1", rName ); org.drools.rule.Rule rr1 = (org.drools.rule.Rule) kpImpl1.getRule( rName ); assertEquals( true, rr1.isNoLoop() ); }
kbase.getKnowledgePackages().size() ); KnowledgePackage kp1 = kbase.getKnowledgePackages().iterator().next(); KnowledgePackageImp kpImpl1 = (KnowledgePackageImp) kp1;
kbase.getKnowledgePackages().size() ); KnowledgePackage kp1 = kbase.getKnowledgePackages().iterator().next(); KnowledgePackageImp kpImpl1 = (KnowledgePackageImp) kp1;