Refine search
@Test public void testInvalidXsdTargetNamespace() { final String drl1 = "package org.drools.compiler\n" + "rule R1 when\n" + " $m : Message()\n" + "then\n" + "end\n"; final String kmodule = "<kmodule xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n" + " xmlns=\"http://www.drools.org/xsd/doesNotExist\">\n" + " <kbase name=\"kbase1\">\n" + " <ksession name=\"ksession1\" default=\"true\"/>\n" + " </kbase>\n" + "</kmodule>"; final KieServices ks = KieServices.Factory.get(); // Create an in-memory jar for version 1.0.0 final ReleaseId releaseId1 = ks.newReleaseId( "org.kie", "test-kie-builder", "1.0.0" ); final Resource r1 = ResourceFactory.newByteArrayResource( drl1.getBytes() ).setResourceType( ResourceType.DRL ).setSourcePath( "kbase1/drl1.drl" ); Assertions.assertThatThrownBy(() -> createAndDeployJar(ks, kmodule, releaseId1, r1)) .isInstanceOf(IllegalStateException.class) .hasMessageContaining("XSD validation failed"); }
"</kmodule>"; final KieServices ks = KieServices.Factory.get(); final Resource allowedJavaResource = ResourceFactory.newByteArrayResource( allowedJava.getBytes() ).setResourceType( ResourceType.JAVA ) .setSourcePath( "org/drools/compiler/JavaSourceMessage.java" ); final Resource filteredJavaResource = ResourceFactory.newByteArrayResource( filteredJava.getBytes() ).setResourceType( ResourceType.JAVA ) .setSourcePath( "org/drools/compiler/ClassCausingClassNotFoundException.java" ); final Resource drlResource = ResourceFactory.newByteArrayResource( drl.getBytes() ).setResourceType( ResourceType.DRL ) .setSourcePath( "kbase1/drl1.drl" );
"</kmodule>"; final KieServices ks = KieServices.Factory.get(); final Resource javaResource = ResourceFactory.newByteArrayResource( java.getBytes() ).setResourceType( ResourceType.JAVA ) .setSourcePath( "org/drools/compiler/JavaSourceMessage.java" ); final Resource drlResource = ResourceFactory.newByteArrayResource( drl.getBytes() ).setResourceType( ResourceType.DRL ) .setSourcePath( "kbase1/drl1.drl" ); final KieModule km = createAndDeployJar( ks,
@Test public void testMultipleKBaseWithDrlError() { // RHBRMS-2651 final String drl = "package org.drools.compiler;\n" + "rule \"test\"\n" + " when\n" + " Smurf\n" + " then\n" + "end"; final KieServices ks = KieServices.Factory.get(); final KieModuleModel kproj = ks.newKieModuleModel(); kproj.newKieBaseModel( "kbase1" ).newKieSessionModel( "ksession1" ).setDefault( true ); kproj.newKieBaseModel( "kbase2" ).newKieSessionModel( "ksession2" ); final ReleaseId releaseId = ks.newReleaseId( "org.kie", "test-kie-builder", "1.0.0" ); final KieFileSystem kfs = ks.newKieFileSystem().generateAndWritePomXML( releaseId ).writeKModuleXML( kproj.toXML() ); final Resource drlResource = ResourceFactory.newByteArrayResource( drl.getBytes() ).setResourceType( ResourceType.DRL ) .setSourcePath( "kbase1/drl1.drl" ); kfs.write( "src/main/resources/org/drools/compiler/drl1.drl", drlResource ); final KieBuilder kb = ks.newKieBuilder( kfs ).buildAll(); final List<org.kie.api.builder.Message> messages = kb.getResults().getMessages( org.kie.api.builder.Message.Level.ERROR ); assertEquals( 4, messages.size() ); assertTrue( messages.get(0).toString().contains( "kbase1" ) ); assertTrue( messages.get(1).toString().contains( "kbase1" ) ); assertTrue( messages.get(2).toString().contains( "kbase2" ) ); assertTrue( messages.get(3).toString().contains( "kbase2" ) ); }
private KieBuilder build(String drl) { KieServices kieServices = KieServices.Factory.get(); KieFileSystem kfs = kieServices.newKieFileSystem(); kfs.write( kieServices.getResources().newByteArrayResource( drl.getBytes() ) .setSourcePath( "test.drl" ) .setResourceType( ResourceType.DRL ) ); KieBuilder kieBuilder = kieServices.newKieBuilder( kfs ); kieBuilder.buildAll(); return kieBuilder; }
@Test public void testClassLoaderGetResources() throws IOException { KieServices kieServices = KieServices.Factory.get(); String drl1 = "package org.drools.testdrl;\n" + "rule R1 when\n" + Resource resource3 = kieServices.getResources().newReaderResource(new StringReader(java3), "UTF-8"); resource3.setTargetPath("org/drools/testjava/Message.java"); resource3.setResourceType(ResourceType.JAVA);
"</kmodule>"; final KieServices ks = KieServices.Factory.get(); final Resource r1 = ResourceFactory.newByteArrayResource( drl1.getBytes() ).setResourceType( ResourceType.DRL ).setSourcePath( "kbase1/drl1.drl" ); final KieModule km = createAndDeployJar( ks, kmodule,
@Test public void testOldXsdTargetNamespace() { final String drl1 = "package org.drools.compiler\n" + "rule R1 when\n" + " $m : Message()\n" + "then\n" + "end\n"; final String kmodule = "<kmodule xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n" + " xmlns=\"http://jboss.org/kie/6.0.0/kmodule\">\n" + " <kbase name=\"kbase1\">\n" + " <ksession name=\"ksession1\" default=\"true\"/>\n" + " </kbase>\n" + "</kmodule>"; final KieServices ks = KieServices.Factory.get(); // Create an in-memory jar for version 1.0.0 final ReleaseId releaseId1 = ks.newReleaseId( "org.kie", "test-kie-builder", "1.0.0" ); final Resource r1 = ResourceFactory.newByteArrayResource( drl1.getBytes() ).setResourceType( ResourceType.DRL ).setSourcePath( "kbase1/drl1.drl" ); final KieModule km = createAndDeployJar( ks, kmodule, releaseId1, r1); ks.newKieContainer( km.getReleaseId() ); }
"</kmodule>"; final KieServices ks = KieServices.Factory.get(); final Resource r1 = ResourceFactory.newByteArrayResource( drl1.getBytes() ).setResourceType( ResourceType.DRL ).setSourcePath( "kbase1/drl1.drl" ); final KieModule km = createAndDeployJar( ks, kmodule,
@Test public void testValidXsdTargetNamespace() { final String drl1 = "package org.drools.compiler\n" + "rule R1 when\n" + " $m : Message()\n" + "then\n" + "end\n"; final String kmodule = "<kmodule xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n" + " xmlns=\"http://www.drools.org/xsd/kmodule\">\n" + " <kbase name=\"kbase1\">\n" + " <ksession name=\"ksession1\" default=\"true\"/>\n" + " </kbase>\n" + "</kmodule>"; final KieServices ks = KieServices.Factory.get(); final ReleaseId releaseId1 = ks.newReleaseId( "org.kie", "test-kie-builder", "1.0.0" ); final Resource r1 = ResourceFactory.newByteArrayResource( drl1.getBytes() ).setResourceType( ResourceType.DRL ).setSourcePath( "kbase1/drl1.drl" ); final KieModule km = createAndDeployJar( ks, kmodule, releaseId1, r1); ks.newKieContainer( km.getReleaseId() ); }
@Test public void testKJarUpgradeWithJavaClass() throws Exception { KieServices ks = KieServices.Factory.get(); Resource javaResource = ResourceFactory.newByteArrayResource(javaSrc.getBytes()).setResourceType( ResourceType.JAVA ) .setSourcePath( "org/drools/compiler/test/PersonObject.java" ); Resource drlResource = ResourceFactory.newByteArrayResource( person_drl.getBytes() ).setResourceType( ResourceType.DRL ) .setSourcePath( "kbase1/person.drl" ); KieModule km = createAndDeployJar( ks, kmodule, releaseId1, javaResource, drlResource ); Resource javaResource2 = ResourceFactory.newByteArrayResource(javaSrc_2.getBytes()).setResourceType( ResourceType.JAVA ) .setSourcePath( "org/drools/compiler/test/PersonObject.java" ); Resource drlResource2 = ResourceFactory.newByteArrayResource( person_drl.getBytes() ).setResourceType( ResourceType.DRL ) .setSourcePath( "kbase1/person.drl" ); createAndDeployJar( ks, kmodule, releaseId2, javaResource2, drlResource2 );
@Test public void testDeclareExtendsWithFullyQualifiedName() { String drl = "package org.drools.extends.test; \n" + "" + "declare org.drools.extends.test.Foo end \n" + "declare org.drools.extends.test.Bar extends org.drools.extends.test.Foo end \n" + ""; KieServices kieServices = KieServices.Factory.get(); KieFileSystem kfs = kieServices.newKieFileSystem(); kfs.write( kieServices.getResources().newByteArrayResource( drl.getBytes() ) .setSourcePath( "test.drl" ) .setResourceType( ResourceType.DRL ) ); KieBuilder kieBuilder = kieServices.newKieBuilder( kfs ); kieBuilder.buildAll(); assertFalse( kieBuilder.getResults().hasMessages( Message.Level.ERROR ) ); }
"</kmodule>"; final KieServices ks = KieServices.Factory.get(); final Resource r1 = ResourceFactory.newByteArrayResource( drl1.getBytes() ).setResourceType( ResourceType.DRL ).setSourcePath( "kbase1/drl1.drl" ); final Resource r2 = ResourceFactory.newByteArrayResource( drl2.getBytes() ).setResourceType( ResourceType.GDRL ).setSourcePath( "kbase1/drl2.gdrl" ); final Resource r3 = ResourceFactory.newByteArrayResource( drl3.getBytes() ).setResourceType( ResourceType.RDRL ).setSourcePath( "kbase1/drl3.rdrl" ); final Resource r4 = ResourceFactory.newByteArrayResource( drl4.getBytes() ).setResourceType( ResourceType.TDRL ).setSourcePath( "kbase1/drl4.tdrl" ); final KieModule km = createAndDeployJar( ks, kmodule,
@Test public void testBindNonAbductiveQueryError() { String droolsSource = "package org.drools.abductive.test; \n" + "" + "" + "query foo() \n" + "end \n" + "rule R1 " + "when " + " $x : foo( ) " + "then " + "end \n" + ""; ///////////////////////////////////// KieServices ks = KieServices.Factory.get(); KieFileSystem kfs = ks.newKieFileSystem(); kfs.write( ks.getResources() .newByteArrayResource( droolsSource.getBytes() ) .setSourcePath( "drl1.drl" ) .setResourceType( ResourceType.DRL ) ); KieBuilder kieBuilder = ks.newKieBuilder( kfs ); kieBuilder.buildAll(); Results res = kieBuilder.getResults(); assertTrue( res.hasMessages( Message.Level.ERROR ) ); }
@Test public void testHelloWorldWithResource() throws Exception { // DROOLS-351 KieServices ks = KieServices.Factory.get(); KieFileSystem kfs = ks.newKieFileSystem().write( ks.getResources() .newReaderResource( new StringReader( createDrl( "R1" ) ) ) .setResourceType( ResourceType.DRL ) .setSourcePath( "src/main/resources/r1.txt" ) ); ks.newKieBuilder( kfs ).buildAll(); KieSession ksession = ks.newKieContainer(ks.getRepository().getDefaultReleaseId()).newKieSession(); ksession.insert(new Message("Hello World")); int count = ksession.fireAllRules(); assertEquals( 1, count ); }
KieServices ks = KieServices.Factory.get(); KieFileSystem kfs = ks.newKieFileSystem(); .setResourceType( ResourceType.DRL ) .setSourcePath( "org/drools/compiler/test1/p1.drl" ); Resource r2 = kr.newByteArrayResource( pkg2.getBytes() ) .setResourceType( ResourceType.DRL ) .setSourcePath( "org/drools/compiler/test2/p2.drl" );
private void addPMMLPojos(PMML4Compiler compiler, Resource resource) { KieFileSystem javaSource = KieServices.Factory.get().newKieFileSystem(); Map<String, String> javaSources = new HashMap<>(); Map<String, String> modelSources = null; if (javaCode != null && !javaCode.trim().isEmpty()) { Resource res = ResourceFactory.newByteArrayResource(javaCode.getBytes()) .setResourceType(ResourceType.JAVA); String sourcePath = key.replaceAll("\\.", "/") + ".java"; res.setSourcePath(sourcePath);
@Test public void testErrorDuringGeneration() { KieServices ks = KieServices.Factory.get(); KieFileSystem kfs = ks.newKieFileSystem(); kfs.write( ResourceFactory.newByteArrayResource( pmlm.getBytes() ) .setResourceType( ResourceType.PMML ) .setSourcePath( "pmlm.pmml" ) ); KieBuilder kb = ks.newKieBuilder( kfs ); kb.buildAll(); assertEquals( 1, kb.getResults().getMessages( Message.Level.ERROR ).size() ); }
@Test public void testErrorDuringGeneration() { KieServices ks = KieServices.Factory.get(); KieFileSystem kfs = ks.newKieFileSystem(); kfs.write( ResourceFactory.newByteArrayResource( pmlm.getBytes() ) .setResourceType( ResourceType.PMML ) .setSourcePath( "pmlm.pmml" ) ); KieBuilder kb = ks.newKieBuilder( kfs ); kb.buildAll(); assertEquals( 1, kb.getResults().getMessages( Message.Level.ERROR ).size() ); }
@Test public void testNoErrorDuringGeneration() { KieServices ks = KieServices.Factory.get(); KieFileSystem kfs = ks.newKieFileSystem(); kfs.write( ResourceFactory.newByteArrayResource( pmml.getBytes() ) .setResourceType( ResourceType.PMML ) .setSourcePath( "pmml.pmml" ) ); KieBuilder kb = ks.newKieBuilder( kfs ); kb.buildAll(); assertEquals( 0, kb.getResults().getMessages( Message.Level.ERROR ).size() ); }