Search in sources :

Example 21 with Marshaller

use of org.kie.api.marshalling.Marshaller in project drools by kiegroup.

the class MarshallingTest method testMarshallWithCollects.

@Test
public void testMarshallWithCollects() throws Exception {
    // BZ-1193600
    String str = "import java.util.Collection\n" + "rule R1 when\n" + "    Collection(empty==false) from collect( Integer() )\n" + "    Collection() from collect( String() )\n" + "then\n" + "end\n" + "rule R2 when then end\n";
    KieBase kbase = new KieHelper().addContent(str, ResourceType.DRL).build();
    KieSession ksession = kbase.newKieSession();
    try {
        Marshaller marshaller = MarshallerFactory.newMarshaller(kbase);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        marshaller.marshall(baos, ksession);
        marshaller = MarshallerFactory.newMarshaller(kbase);
        ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
        baos.close();
        ksession = marshaller.unmarshall(bais);
        bais.close();
    } catch (Exception e) {
        e.printStackTrace();
        fail("unexpected exception :" + e.getMessage());
    }
}
Also used : Marshaller(org.kie.api.marshalling.Marshaller) ByteArrayInputStream(java.io.ByteArrayInputStream) KieBase(org.kie.api.KieBase) KieHelper(org.kie.internal.utils.KieHelper) KieSession(org.kie.api.runtime.KieSession) ByteArrayOutputStream(java.io.ByteArrayOutputStream) IOException(java.io.IOException) Test(org.junit.Test)

Aggregations

Marshaller (org.kie.api.marshalling.Marshaller)21 ByteArrayOutputStream (java.io.ByteArrayOutputStream)12 ByteArrayInputStream (java.io.ByteArrayInputStream)10 IOException (java.io.IOException)9 Test (org.junit.Test)9 KieSession (org.kie.api.runtime.KieSession)9 KieBase (org.kie.api.KieBase)6 KieMarshallers (org.kie.api.marshalling.KieMarshallers)6 ObjectMarshallingStrategy (org.kie.api.marshalling.ObjectMarshallingStrategy)5 File (java.io.File)4 ArrayList (java.util.ArrayList)4 DroolsObjectInputStream (org.drools.core.common.DroolsObjectInputStream)3 DroolsObjectOutputStream (org.drools.core.common.DroolsObjectOutputStream)3 FileInputStream (java.io.FileInputStream)2 FileOutputStream (java.io.FileOutputStream)2 ObjectInputStream (java.io.ObjectInputStream)2 ObjectOutputStream (java.io.ObjectOutputStream)2 Ignore (org.junit.Ignore)2 KieSessionConfiguration (org.kie.api.runtime.KieSessionConfiguration)2 StatelessKieSession (org.kie.api.runtime.StatelessKieSession)2