<div dir="ltr">Hi list,<br><br>try to make my first experiences with Drools 6. For that purpose I've modified slightly the 'KieFileSystemExample' <br>(<a href="https://github.com/droolsjbpm/drools/blob/6.0.0.CR3/drools-examples-api/kiefilesystem-example/src/main/java/org/drools/example/api/kiefilesystem/KieFileSystemExample.java">https://github.com/droolsjbpm/drools/blob/6.0.0.CR3/drools-examples-api/kiefilesystem-example/src/main/java/org/drools/example/api/kiefilesystem/KieFileSystemExample.java</a>)<br>
as the code below shows. I try to use the newReaderResource(Reader reader) but when I run maven test I get<br>the following error:<br><br>Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.33 sec <<< FAILURE! - in org.drools.example.api.kiefilesystem.KieFileSystemExampleTest<br>
testGo(org.drools.example.api.kiefilesystem.KieFileSystemExampleTest) Time elapsed: 0.263 sec <<< ERROR!<br>java.lang.RuntimeException: Unable to fetch module from resource :[ReaderResource resource=java.io.StringReader@6a5714de encoding='null']<br>
at java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:106)<br> at org.drools.compiler.kie.builder.impl.KieRepositoryImpl.getKieModule(KieRepositoryImpl.java:192)<br> at org.drools.compiler.kie.builder.impl.KieRepositoryImpl.addKieModule(KieRepositoryImpl.java:157)<br>
at org.drools.example.api.kiefilesystem.KieFileSystemExample.go(KieFileSystemExample.java:39)<br> at org.drools.example.api.kiefilesystem.KieFileSystemExampleTest.testGo(KieFileSystemExampleTest.java:16)<br><br>public class KieFileSystemExample {<br>
<br> public String getRule() {<br> String s = "" +<br> "package org.drools.example.api.kiefilesystem \n\n" +<br> "import org.drools.example.api.kiefilesystem.Message \n\n" +<br>
"global java.io.PrintStream out \n\n" +<br> "rule \"rule 1\" when \n" +<br> " m : Message( ) \n" +<br> "then \n" +<br>
" out.println( m.getName() + \": \" + m.getText() ); \n" +<br> "end \n" +<br> "rule \"rule 2\" when \n" +<br> " Message( text == \"Hello, HAL. Do you read me, HAL?\" ) \n" +<br>
"then \n" +<br> " insert( new Message(\"HAL\", \"Dave. I read you.\" ) ); \n" +<br> "end";<br> return s;<br> }<br>
<br> public void go(PrintStream out) {<br> <br> KieServices ks = KieServices.Factory.get();<br> KieRepository kr = ks.getRepository();<br><br> KieModule kModule = kr.addKieModule(ks.getResources().newReaderResource( (Reader) new StringReader(getRule()) ));<br>
<br> KieContainer kContainer = ks.newKieContainer(kModule.getReleaseId());<br> KieSession kSession = kContainer.newKieSession();<br> kSession.setGlobal("out", out);<br><br> kSession.insert(new Message("Dave", "Hello, HAL. Do you read me, HAL?"));<br>
kSession.fireAllRules();<br> }<br><br> public static void main(String[] args) {<br> new KieFileSystemExample().go(System.out);<br> }<br>}<br><br>Any Idea?<br><br>Thanks in advance.<br><br>Regards,<br>
<br>-markus<br></div>