.addContent(drl2, ResourceType.DRL) .build(); RuleUnitExecutor executor = RuleUnitExecutor.create().bind( kbase );
executor.dispose(); executor = RuleUnitExecutor.create().bind(kbase); requestData = executor.newDataSource("request"); resultData = executor.newDataSource("results");
protected RuleUnitExecutor createExecutor(String sourceName) { KieServices ks = KieServices.Factory.get(); KieRepository kr = ks.getRepository(); ReleaseId releaseId = new ReleaseIdImpl("org.kie:pmmlTest:1.0-SNAPSHOT"); ((KieRepositoryImpl) kr).setDefaultGAV(releaseId); Resource res = ResourceFactory.newClassPathResource(sourceName); kbase = new KieHelper().addResource(res, ResourceType.PMML).build(); assertNotNull(kbase); RuleUnitExecutor executor = RuleUnitExecutor.create().bind(kbase); KieContainer kc = ((KnowledgeBaseImpl) ((InternalRuleUnitExecutor) executor).getKieSession().getKieBase()).getKieContainer(); InternalKieModule ikm = (InternalKieModule) kr.getKieModule(releaseId); try (FileOutputStream fos = new FileOutputStream("/tmp/outputModule.jar")) { fos.write(ikm.getBytes()); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } kc.getKieBaseNames().forEach(n -> { System.out.println(n); }); data = executor.newDataSource("request"); resultData = executor.newDataSource("results"); pmmlData = executor.newDataSource("pmmlData"); return executor; }
private PMML4Result run(PMMLRequestData requestData, Optional<PMML4Data> data) { KieRuntimeLogger logger = null; RuleUnitExecutor ruleUnitExecutor = RuleUnitExecutor.create().bind(kieBase); if (runWithLogging) { if (loggingFileName != null) { logger = ((InternalRuleUnitExecutor)ruleUnitExecutor).addFileLogger(loggingFileName); } else { logger = ((InternalRuleUnitExecutor)ruleUnitExecutor).addConsoleLogger(); } } DataSource<PMMLRequestData> requestDataSource = ruleUnitExecutor.newDataSource("request");; DataSource<PMML4Result> resultDataSource = ruleUnitExecutor.newDataSource("results"); DataSource<PMML4Data> pmmlDataSource = ruleUnitExecutor.newDataSource("pmmlData"); requestDataSource.insert(requestData); PMML4Result resultHandler = new PMML4Result(); resultDataSource.insert(resultHandler); if (data.isPresent()) { pmmlDataSource.insert(data.get()); } try { ruleUnitExecutor.run(startingRuleUnit("RuleUnitIndicator", requestData.getModelName(), "org.drools.scorecards.example")); } finally { if (logger != null) { logger.close(); } } return resultHandler; }
KieBase kbase = new KieHelper().addResource(res, ResourceType.PMML).build(); RuleUnitExecutor executor = RuleUnitExecutor.create().bind(kbase); KieRuntimeLogger console = ((InternalRuleUnitExecutor)executor).addConsoleLogger();
KieBase kbase = container.newKieBase(null); assertNotNull(kbase); RuleUnitExecutor executor = RuleUnitExecutor.create().bind(kbase);
KieBase kbase = container.newKieBase(null); assertNotNull(kbase); RuleUnitExecutor executor = RuleUnitExecutor.create().bind(kbase);