@Test public void testHelloWorldWithSpace() throws Exception { // DROOLS-2338 final KieServices kieServices = KieServices.get(); final Path dir = Paths.get("/tmp/t tt"); Files.createDirectories(dir); final String text = "rule \"Hello world rule\"\n" + "when\n" + "then\n" + " System.out.println(\"Hello world\");" + "end\n"; final Path filePath = dir.resolve("one.drl"); Files.write(filePath, text.getBytes()); final KieFileSystem fs = kieServices.newKieFileSystem(); fs.write( ResourceFactory.newUrlResource("file:/tmp/t%20tt/one.drl")); KieBuilder kieBuilder = kieServices.newKieBuilder(fs); kieBuilder.buildAll(); KieModule kieModule = kieBuilder.getKieModule(); KieSession ksession = kieServices.newKieContainer(kieModule.getReleaseId()).newKieSession(); ksession.insert(new Object()); int count = ksession.fireAllRules(); assertEquals( 1, count ); }
.newUrlResource(url) .setSourcePath(path) .setResourceType(ResourceType.DRL);
case URL: UrlResource urlResource = (UrlResource) ResourceFactory .newUrlResource(resource.getPath());
case URL: UrlResource urlResource = (UrlResource) ResourceFactory .newUrlResource(resource.getPath());
case URL: UrlResource urlResource = (UrlResource) ResourceFactory .newUrlResource(resource.getPath());
private void initKieSession(String... resourceNames) { final KieServices kieServices = KieServices.Factory.get(); final KieModuleModel kieModuleModel = kieServices.newKieModuleModel(); final KieBaseModel kieBaseModel = kieModuleModel.newKieBaseModel("defaultKieBase") .setDefault(true) .setEqualsBehavior(EqualityBehaviorOption.EQUALITY) .setEventProcessingMode(EventProcessingOption.STREAM); kieBaseModel.newKieSessionModel("defaultKieSession") .setDefault(true) .setType(KieSessionModel.KieSessionType.STATEFUL) .setClockType(ClockTypeOption.get("pseudo")) .newWorkItemHandlerModel("Rest", "org.drools.workbench.screens.testscenario.backend.server.GithubContributorsWIH"); final KieFileSystem kfs = kieServices.newKieFileSystem(); kfs.writeKModuleXML(kieModuleModel.toXML()); for (String resource : resourceNames) { kfs.write(ResourceFactory.newUrlResource(this.getClass() .getResource(resource) .toString())); } kieServices.newKieBuilder(kfs).buildAll(); kieContainer = kieServices.newKieContainer(kieServices.getRepository().getDefaultReleaseId()); kieSession = kieContainer.newKieSession(); doReturn(kieSession).when(sessionService).newDefaultKieSessionWithPseudoClock(any(KieModule.class)); }
private void initKieSession(String... resourceNames) { final KieServices kieServices = KieServices.Factory.get(); final KieModuleModel kieModuleModel = kieServices.newKieModuleModel(); final KieBaseModel kieBaseModel = kieModuleModel.newKieBaseModel("defaultKieBase") .setDefault(true) .setEqualsBehavior(EqualityBehaviorOption.EQUALITY) .setEventProcessingMode(EventProcessingOption.STREAM); kieBaseModel.newKieSessionModel("defaultKieSession") .setDefault(true) .setType(KieSessionModel.KieSessionType.STATEFUL) .setClockType(ClockTypeOption.get("pseudo")) .newWorkItemHandlerModel("Rest", "org.drools.workbench.screens.testscenario.backend.server.GithubContributorsWIH"); final KieFileSystem kfs = kieServices.newKieFileSystem(); kfs.writeKModuleXML(kieModuleModel.toXML()); for (String resource : resourceNames) { kfs.write(ResourceFactory.newUrlResource(this.getClass() .getResource(resource) .toString())); } kieServices.newKieBuilder(kfs).buildAll(); kieContainer = kieServices.newKieContainer(kieServices.getRepository().getDefaultReleaseId()); kieSession = kieContainer.newKieSession(); doReturn(kieSession).when(sessionService).newDefaultKieSessionWithPseudoClock(any(KieModule.class)); }