protected KieFileSystem createKieFileSystemWithKProject(KieServices ks) { KieModuleModel kproj = ks.newKieModuleModel(); KieBaseModel kieBaseModel1 = kproj.newKieBaseModel("KBase-test") .setDefault(true).addPackage("*") .setEqualsBehavior(EqualityBehaviorOption.EQUALITY) .setEventProcessingMode(EventProcessingOption.STREAM); kieBaseModel1.newKieSessionModel("ksession-test").setDefault(true) .setType(KieSessionModel.KieSessionType.STATEFUL) .setClockType(ClockTypeOption.get("realtime")); KieFileSystem kfs = ks.newKieFileSystem(); kfs.writeKModuleXML(kproj.toXML()); return kfs; } }
protected KieFileSystem createKieFileSystemWithKProject(KieServices ks) { KieModuleModel kproj = ks.newKieModuleModel(); KieBaseModel kieBaseModel1 = kproj.newKieBaseModel("defaultKieBase").setDefault(true).addPackage("*") .setEqualsBehavior( EqualityBehaviorOption.EQUALITY ) .setEventProcessingMode( EventProcessingOption.STREAM ); kieBaseModel1.newKieSessionModel("defaultKieSession").setDefault(true) .setType(KieSessionModel.KieSessionType.STATEFUL) .setClockType( ClockTypeOption.get("realtime") ) .newWorkItemHandlerModel("Log", "new org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler()"); KieFileSystem kfs = ks.newKieFileSystem(); kfs.writeKModuleXML(kproj.toXML()); return kfs; }
protected KieFileSystem createKieFileSystemWithKProject(KieServices ks) { KieModuleModel kproj = ks.newKieModuleModel(); KieBaseModel kieBaseModel1 = kproj.newKieBaseModel("defaultKieBase") .setDefault(true) .addPackage("*") .setEqualsBehavior( EqualityBehaviorOption.EQUALITY ) .setEventProcessingMode( EventProcessingOption.STREAM ); kieBaseModel1.newKieSessionModel("defaultKieSession") .setDefault(true) .setType(KieSessionModel.KieSessionType.STATEFUL) .setClockType( ClockTypeOption.get("realtime") ); KieFileSystem kfs = ks.newKieFileSystem(); kfs.writeKModuleXML(kproj.toXML()); return kfs; } }
private KieModuleModel createKieProjectWithPackagesAnd2KieBases(KieServices ks) { KieModuleModel kproj = ks.newKieModuleModel(); kproj.newKieBaseModel() .setEqualsBehavior( EqualityBehaviorOption.EQUALITY ) .setEventProcessingMode( EventProcessingOption.STREAM ) .addPackage("org.pkg1") .newKieSessionModel("KSession1"); kproj.newKieBaseModel() .setEqualsBehavior( EqualityBehaviorOption.EQUALITY ) .setEventProcessingMode( EventProcessingOption.STREAM ) .addPackage("org.pkg2") .newKieSessionModel("KSession2"); return kproj; }
private KieModuleModel createKieProjectWithPackagesAnd2KieBases(KieServices ks) { KieModuleModel kproj = ks.newKieModuleModel(); kproj.newKieBaseModel("KBase2") .setEqualsBehavior( EqualityBehaviorOption.EQUALITY ) .setEventProcessingMode( EventProcessingOption.STREAM ) .addPackage("org.pkg1") .newKieSessionModel("KSession1"); kproj.newKieBaseModel("KBase1") .setEqualsBehavior( EqualityBehaviorOption.EQUALITY ) .setEventProcessingMode( EventProcessingOption.STREAM ) .addPackage("org.pkg2") .newKieSessionModel("KSession2"); return kproj; } }
private KieModuleModel createKieProjectWithPackages(KieServices ks, ReleaseId releaseId) { KieModuleModel kproj = ks.newKieModuleModel(); KieBaseModel kieBaseModel1 = kproj.newKieBaseModel("KBase1") .setEqualsBehavior( EqualityBehaviorOption.EQUALITY ) .setEventProcessingMode( EventProcessingOption.STREAM ) .addPackage("org.pkg1"); KieSessionModel ksession1 = kieBaseModel1.newKieSessionModel("KSession1") .setType( KieSessionType.STATEFUL ) .setClockType( ClockTypeOption.get("realtime") ); return kproj; }
private KieModuleModel createKieProjectWithPackages(KieServices ks, String pkg) { KieModuleModel kproj = ks.newKieModuleModel(); KieBaseModel kieBaseModel1 = kproj.newKieBaseModel() .setEqualsBehavior( EqualityBehaviorOption.EQUALITY ) .setEventProcessingMode( EventProcessingOption.STREAM ) .addPackage(pkg); KieSessionModel ksession1 = kieBaseModel1.newKieSessionModel("KSession1") .setType( KieSessionType.STATEFUL ) .setClockType(ClockTypeOption.get("realtime")) .setDefault( true ); return kproj; }
baseModel.addPackage("*");
.addPackage( "rules" ) .newKieSessionModel( "ksession" ) .setDefault( true );
protected ReleaseId createKJar(String... pairs) throws IOException { KieServices ks = KieServices.Factory.get(); KieModuleModel kproj = ks.newKieModuleModel(); KieFileSystem kfs = ks.newKieFileSystem(); for ( int i = 0; i < pairs.length; i += 2 ) { String id = pairs[i]; String rule = pairs[i + 1]; kfs.write( "src/main/resources/" + id.replaceAll( "\\.", "/" ) + "/rule" + i + ".drl", rule ); KieBaseModel kBase1 = kproj.newKieBaseModel( id ) .setEqualsBehavior( EqualityBehaviorOption.EQUALITY ) .setEventProcessingMode( EventProcessingOption.STREAM ) .addPackage( id ); KieSessionModel ksession1 = kBase1.newKieSessionModel(id + ".KSession1") .setType(KieSessionModel.KieSessionType.STATEFUL) .setClockType(ClockTypeOption.get("pseudo")); } kfs.writeKModuleXML(kproj.toXML()); // buildAll() automatically adds the module to the kieRepository KieBuilder kieBuilder = ks.newKieBuilder(kfs).buildAll(); assertTrue(kieBuilder.getResults().getMessages().isEmpty()); KieModule kieModule = kieBuilder.getKieModule(); return kieModule.getReleaseId(); }
KieModuleModel km = ks.newKieModuleModel(); km.newKieBaseModel( "rules" ) .addPackage( "org.drools.compiler.test2" ) .addPackage( "org.drools.compiler.test1" ); kfs.writeKModuleXML( km.toXML() );
/** * Inserts a new KieModule containing single KieBase and two KieSession * instances into KieRepository. * * @return created module ReleaseId */ private ReleaseId prepareKieModule() { final KieServices ks = KieServices.Factory.get(); final ReleaseId releaseId = ks.newReleaseId("org.drools.compiler", "severalKieSessionsTest", "1.0.0"); KieModuleModel module = ks.newKieModuleModel(); KieBaseModel baseModel = module.newKieBaseModel("defaultKBase"); baseModel.setDefault(true); baseModel.addPackage("*"); baseModel.newKieSessionModel("defaultKSession").setDefault(true); KieFileSystem kfs = ks.newKieFileSystem(); kfs.writeKModuleXML(module.toXML()); kfs.generateAndWritePomXML(releaseId); kfs.write("src/main/resources/" + PACKAGE_PATH + "/" + DRL_FILE_NAME, ResourceFactory.newClassPathResource(DRL_FILE_NAME, this.getClass())); KieBuilder builder = ks.newKieBuilder(kfs).buildAll(); assertEquals(0, builder.getResults().getMessages().size()); ks.getRepository().addKieModule(builder.getKieModule()); return releaseId; }
@Test public void testNotExistingInclude() throws Exception { String drl = "package org.drools.compiler.integrationtests\n" + "declare CancelFact\n" + " cancel : boolean = true\n" + "end\n" + "rule R1 when\n" + " $m : CancelFact( cancel == true )\n" + "then\n" + "end\n"; KieServices ks = KieServices.Factory.get(); KieFileSystem kfs = ks.newKieFileSystem().write( "src/main/resources/r1.drl", drl ); KieModuleModel module = ks.newKieModuleModel(); final String defaultBaseName = "defaultKBase"; KieBaseModel defaultBase = module.newKieBaseModel(defaultBaseName) .addInclude( "notExistingKB1" ) .addInclude( "notExistingKB2" ); defaultBase.setDefault(true); defaultBase.addPackage( "*" ); defaultBase.newKieSessionModel("defaultKSession").setDefault( true ); kfs.writeKModuleXML( module.toXML() ); KieBuilder kb = ks.newKieBuilder( kfs ).buildAll(); assertEquals( 2, kb.getResults().getMessages().size() ); }
.addPackage("*") .setEventProcessingMode(EventProcessingOption.STREAM) .newKieSessionModel("defaultKieSession")
.addPackage( "*" ) .newKieSessionModel( KSESSION_NAME ) .setDefault( true );
.addPackage("*") .setEventProcessingMode(EventProcessingOption.STREAM) .newKieSessionModel("defaultKieSession")
@Test public void testGetKieBaseAfterKieSessionCreation() { final String KBASE_NAME = "kieBase"; final String KSESSION_NAME = "kieSession"; final String drl = "declare TestEvent\n" + " @role( event )\n" + " name : String\n" + "end\n" + "\n" + "declare window DeclaredTimeWindow\n" + " TestEvent ( name == \"timeDec\" ) over window:time( 50ms ) from entry-point EventStream\n" + "end"; final KieServices ks = KieServices.Factory.get(); final KieFileSystem kfs = ks.newKieFileSystem(); kfs.write( "src/main/resources/window.drl", drl ); final KieModuleModel kmoduleModel = ks.newKieModuleModel(); kmoduleModel.newKieBaseModel( KBASE_NAME ) .addPackage( "*" ) .newKieSessionModel( KSESSION_NAME ) .setDefault( true ) .setClockType( ClockTypeOption.get( "pseudo" ) ); kfs.writeKModuleXML( kmoduleModel.toXML() ); final KieBuilder builder = ks.newKieBuilder( kfs ).buildAll(); assertEquals( 0, builder.getResults().getMessages().size() ); ks.getRepository().addKieModule( builder.getKieModule() ); final KieSession kieSession = ks.newKieContainer( ks.getRepository().getDefaultReleaseId() ).newKieSession( KSESSION_NAME ); assertNotNull( kieSession ); final KieBase kieBase = ks.newKieContainer( ks.getRepository().getDefaultReleaseId() ).getKieBase( KBASE_NAME ); assertNotNull( kieBase ); }
KieBaseModel defaultBase = module.newKieBaseModel(defaultBaseName); defaultBase.setDefault(true); defaultBase.addPackage("*"); defaultBase.newKieSessionModel("defaultKSession").setDefault(true);
protected List<PMMLResource> buildResourcesFromModel(PMML pmml, Miningmodel miningModel, List<PMMLResource> resourcesList, ClassLoader classLoader, KieModuleModel module) { if (resourcesList == null) { resourcesList = new ArrayList<>(); } PMMLResource resource = new PMMLResource(miningModel.getModelPackageName());//new PMMLResource(PMML_DROOLS+".mining.model_"+miningModel.getModelId()); KieBaseModel rootKieBaseModel = module.newKieBaseModel(resource.getPackageName()); rootKieBaseModel.addPackage(resource.getPackageName()); rootKieBaseModel.setDefault(true); resource.setKieBaseModel(rootKieBaseModel); resource.addRules(miningModel.getModelId(), miningModel.generateRules()); resourcesList.add(resource); getChildResources(pmml, miningModel, resourcesList, classLoader, module); return resourcesList; }
protected KieFileSystem createKieFileSystemWithKProject(KieServices ks) { KieModuleModel kproj = ks.newKieModuleModel(); KieBaseModel kieBaseModel1 = kproj.newKieBaseModel("KBase-test").setDefault(true).addPackage("*").setEqualsBehavior(EqualityBehaviorOption.EQUALITY).setEventProcessingMode(EventProcessingOption.STREAM); KieSessionModel ksessionModel = kieBaseModel1.newKieSessionModel("ksession-test"); ksessionModel.setDefault(true).setType(KieSessionModel.KieSessionType.STATEFUL).setClockType(ClockTypeOption.get("realtime")); ksessionModel.newWorkItemHandlerModel("Log", "new org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler()"); ksessionModel.newWorkItemHandlerModel("Service Task", "new org.jbpm.bpmn2.handler.ServiceTaskHandler(\"name\")"); KieFileSystem kfs = ks.newKieFileSystem(); kfs.writeKModuleXML(kproj.toXML()); return kfs; }