[jboss-svn-commits] JBL Code SVN: r34353 - labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jul 29 19:06:22 EDT 2010


Author: tirelli
Date: 2010-07-29 19:06:21 -0400 (Thu, 29 Jul 2010)
New Revision: 34353

Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java
Log:
JBRULES-2331: adding test case

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java	2010-07-29 23:01:27 UTC (rev 34352)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java	2010-07-29 23:06:21 UTC (rev 34353)
@@ -1585,9 +1585,9 @@
 
         // now remove a cheese, should be no change
         ksession.retract( ksession.getFactHandle( stilton ) );
-//        ksession = getSerialisedStatefulKnowledgeSession( ksession,
-//                                                          MarshallerFactory.newIdentityMarshallingStrategy(),
-//                                                          true );
+        //        ksession = getSerialisedStatefulKnowledgeSession( ksession,
+        //                                                          MarshallerFactory.newIdentityMarshallingStrategy(),
+        //                                                          true );
         ksession.fireAllRules();
         assertEquals( 4,
                       list.size() );
@@ -2250,10 +2250,10 @@
             knowledgeBuilder.add( ResourceFactory.newClassPathResource( "org/drools/integrationtests/test_SerializableAccumulate.drl" ),
                                   ResourceType.DRL );
 
-            if( knowledgeBuilder.hasErrors() ) {
+            if ( knowledgeBuilder.hasErrors() ) {
                 fail( knowledgeBuilder.getErrors().toString() );
             }
-            
+
             KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
             knowledgeBase.addKnowledgePackages( knowledgeBuilder.getKnowledgePackages() );
             StatefulKnowledgeSession ksession = knowledgeBase.newStatefulKnowledgeSession();
@@ -2273,7 +2273,7 @@
             ksession.insert( t2 );
             ksession.insert( t3 );
             ksession.insert( t4 );
-            
+
             //ksession.fireAllRules();
             Marshaller marshaller = createSerializableMarshaller( knowledgeBase );
             ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -2292,9 +2292,10 @@
 
             // setting the global again, since it is not serialized with the session
             List<List> results = (List<List>) new ArrayList<List>();
-            ksession.setGlobal( "results", results );
+            ksession.setGlobal( "results",
+                                results );
             assertNotNull( results );
-            
+
             ksession.fireAllRules();
             ksession.dispose();
 
@@ -2305,115 +2306,145 @@
 
         } catch ( Exception e ) {
             e.printStackTrace();
-            fail(e.getMessage());
+            fail( e.getMessage() );
         }
     }
-    
+
     public void testJBRULES_1946() {
         KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
-        
+
         KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
         kbuilder.add( ResourceFactory.newInputStreamResource( getClass().getResourceAsStream( "Sample.drl" ) ),
                       ResourceType.DRL );
-        
-        assertFalse( kbuilder.getErrors().toString(), kbuilder.hasErrors() );
-        kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
-        
+
+        assertFalse( kbuilder.getErrors().toString(),
+                     kbuilder.hasErrors() );
+        kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
         try {
             ByteArrayOutputStream baos = new ByteArrayOutputStream();
-            ObjectOutputStream oos = new ObjectOutputStream(baos);
-            
-            oos.writeObject(kbase);
+            ObjectOutputStream oos = new ObjectOutputStream( baos );
+
+            oos.writeObject( kbase );
             oos.flush();
             oos.close();
             baos.flush();
             baos.close();
-            
+
             byte[] serializedKb = baos.toByteArray();
-            
-            ByteArrayInputStream bais = new ByteArrayInputStream(serializedKb);
-            ObjectInputStream ois = new ObjectInputStream(bais);
-            
+
+            ByteArrayInputStream bais = new ByteArrayInputStream( serializedKb );
+            ObjectInputStream ois = new ObjectInputStream( bais );
+
             KnowledgeBase kb2 = (KnowledgeBase) ois.readObject();
-        } catch (OptionalDataException ode) {
+        } catch ( OptionalDataException ode ) {
             ode.printStackTrace();
-            fail("EOF? "+ode.eof);
-        } catch (Exception e) {
+            fail( "EOF? " + ode.eof );
+        } catch ( Exception e ) {
             e.printStackTrace();
-            fail("Unexpected exception: "+e.getMessage());
+            fail( "Unexpected exception: " + e.getMessage() );
         }
     }
 
     public void testJBRULES_1946_2() {
         KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
-        
+
         KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
         kbuilder.add( ResourceFactory.newInputStreamResource( getClass().getResourceAsStream( "Sample.drl" ) ),
                       ResourceType.DRL );
-        
-        assertFalse( kbuilder.getErrors().toString(), kbuilder.hasErrors() );
-        kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
-        
+
+        assertFalse( kbuilder.getErrors().toString(),
+                     kbuilder.hasErrors() );
+        kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
         try {
             ByteArrayOutputStream baos = new ByteArrayOutputStream();
-            DroolsObjectOutputStream oos = new DroolsObjectOutputStream(baos);
-            
-            oos.writeObject(kbase);
+            DroolsObjectOutputStream oos = new DroolsObjectOutputStream( baos );
+
+            oos.writeObject( kbase );
             oos.flush();
             oos.close();
             baos.flush();
             baos.close();
-            
+
             byte[] serializedKb = baos.toByteArray();
-            
-            ByteArrayInputStream bais = new ByteArrayInputStream(serializedKb);
-            DroolsObjectInputStream ois = new DroolsObjectInputStream(bais);
-            
+
+            ByteArrayInputStream bais = new ByteArrayInputStream( serializedKb );
+            DroolsObjectInputStream ois = new DroolsObjectInputStream( bais );
+
             KnowledgeBase kb2 = (KnowledgeBase) ois.readObject();
-        } catch (OptionalDataException ode) {
+        } catch ( OptionalDataException ode ) {
             ode.printStackTrace();
-            fail("EOF? "+ode.eof);
-        } catch (Exception e) {
+            fail( "EOF? " + ode.eof );
+        } catch ( Exception e ) {
             e.printStackTrace();
-            fail("Unexpected exception: "+e.getMessage());
+            fail( "Unexpected exception: " + e.getMessage() );
         }
     }
 
     public void testJBRULES_1946_3() {
         KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
-        
+
         KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
         kbuilder.add( ResourceFactory.newInputStreamResource( getClass().getResourceAsStream( "Sample.drl" ) ),
                       ResourceType.DRL );
-        
-        assertFalse( kbuilder.getErrors().toString(), kbuilder.hasErrors() );
-        kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
-        
+
+        assertFalse( kbuilder.getErrors().toString(),
+                     kbuilder.hasErrors() );
+        kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
         try {
             ByteArrayOutputStream baos = new ByteArrayOutputStream();
-            DroolsObjectOutputStream oos = new DroolsObjectOutputStream(baos);
-            
-            oos.writeObject(kbase);
+            DroolsObjectOutputStream oos = new DroolsObjectOutputStream( baos );
+
+            oos.writeObject( kbase );
             oos.flush();
             oos.close();
             baos.flush();
             baos.close();
-            
+
             byte[] serializedKb = baos.toByteArray();
-            
-            ByteArrayInputStream bais = new ByteArrayInputStream(serializedKb);
-            ObjectInputStream ois = new ObjectInputStream(bais);
-            
+
+            ByteArrayInputStream bais = new ByteArrayInputStream( serializedKb );
+            ObjectInputStream ois = new ObjectInputStream( bais );
+
             KnowledgeBase kb2 = (KnowledgeBase) ois.readObject();
-            fail("Should have raised an IllegalArgumentException since the kbase was serialized with a Drools Stream but deserialized with a regular stream");
-        } catch (IllegalArgumentException ode) {
+            fail( "Should have raised an IllegalArgumentException since the kbase was serialized with a Drools Stream but deserialized with a regular stream" );
+        } catch ( IllegalArgumentException ode ) {
             // success
-        } catch (Exception e) {
+        } catch ( Exception e ) {
             e.printStackTrace();
-            fail("Unexpected exception: "+e.getMessage());
+            fail( "Unexpected exception: " + e.getMessage() );
         }
     }
 
+    public void testJBRULES_2331() throws Exception {
+        String source = "package test.drl\n";
+        source += "rule dummy_rule\n";
+        source += "when\n";
+        source += "eval( false )\n";
+        source += "then\n";
+        source += "end\n";
+        Reader reader = new StringReader( source );
+
+        KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+        kbuilder.add( ResourceFactory.newReaderResource( reader ),
+                      ResourceType.DRL );
+        assertFalse( kbuilder.getErrors().toString(),
+                     kbuilder.hasErrors() );
+
+        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+        kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+        ksession = SerializationHelper.getSerialisedStatefulKnowledgeSession( ksession,
+                                                                              true );
+        
+        assertNotNull( ksession );
+        ksession.dispose();
+    }
+
     private Marshaller createSerializableMarshaller(KnowledgeBase knowledgeBase) {
         ObjectMarshallingStrategyAcceptor acceptor = MarshallerFactory.newClassFilterAcceptor( new String[]{"*.*"} );
         ObjectMarshallingStrategy strategy = MarshallerFactory.newSerializeMarshallingStrategy( acceptor );



More information about the jboss-svn-commits mailing list