[jboss-svn-commits] JBL Code SVN: r24672 - in labs/jbossrules/trunk: drools-pipeline/drools-messenger-jms/src/main/java/org/drools/runtime/pipeline/impl and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jan 13 05:20:38 EST 2009


Author: mark.proctor at jboss.com
Date: 2009-01-13 05:20:37 -0500 (Tue, 13 Jan 2009)
New Revision: 24672

Modified:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JmsMessengerProvider.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineFactory.java
   labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/main/java/org/drools/runtime/pipeline/impl/JmsMessengerProviderImpl.java
   labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/main/java/org/drools/runtime/pipeline/impl/JmsUnwrapMessageObject.java
   labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/test/java/org/drools/runtime/pipeline/impl/JaxbSimpleJmsMessengerTest.java
   labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/test/java/org/drools/runtime/pipeline/impl/SimpleJmsMessengerTest.java
Log:
JBRULES-1903 Pipeline support for DataLoaders and Feeders 
-Added JmsMessenger

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JmsMessengerProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JmsMessengerProvider.java	2009-01-13 10:13:09 UTC (rev 24671)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JmsMessengerProvider.java	2009-01-13 10:20:37 UTC (rev 24672)
@@ -7,4 +7,6 @@
                             Properties properties,
                             String destinationName,
                             ResultHandlerFactory resultHandlerFactory);
+    
+    Action newJmsUnwrapMessageObject();
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineFactory.java	2009-01-13 10:13:09 UTC (rev 24671)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineFactory.java	2009-01-13 10:20:37 UTC (rev 24672)
@@ -114,6 +114,10 @@
                                                           destinationName,
                                                           resultHandlerFactory );
     }
+    
+    public static Action newJmsUnwrapMessageObject() {
+        return getJmsMessengerProvider().newJmsUnwrapMessageObject();
+    }
 
     public static Transformer newSmooksFromSourceTransformer(Smooks smooks,
                                                              String rootId) {

Modified: labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/main/java/org/drools/runtime/pipeline/impl/JmsMessengerProviderImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/main/java/org/drools/runtime/pipeline/impl/JmsMessengerProviderImpl.java	2009-01-13 10:13:09 UTC (rev 24671)
+++ labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/main/java/org/drools/runtime/pipeline/impl/JmsMessengerProviderImpl.java	2009-01-13 10:20:37 UTC (rev 24672)
@@ -5,6 +5,7 @@
 
 import java.util.Properties;
 
+import org.drools.runtime.pipeline.Action;
 import org.drools.runtime.pipeline.JmsMessengerProvider;
 import org.drools.runtime.pipeline.Pipeline;
 import org.drools.runtime.pipeline.ResultHandlerFactory;
@@ -22,5 +23,9 @@
                                  destinationName,
                                  resultHandlerFactory );
     }
+    
+    public Action newJmsUnwrapMessageObject() {
+        return new JmsUnwrapMessageObject();
+    }
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/main/java/org/drools/runtime/pipeline/impl/JmsUnwrapMessageObject.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/main/java/org/drools/runtime/pipeline/impl/JmsUnwrapMessageObject.java	2009-01-13 10:13:09 UTC (rev 24671)
+++ labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/main/java/org/drools/runtime/pipeline/impl/JmsUnwrapMessageObject.java	2009-01-13 10:20:37 UTC (rev 24672)
@@ -2,14 +2,12 @@
 
 import javax.jms.JMSException;
 import javax.jms.ObjectMessage;
-import javax.jms.TextMessage;
 
-import org.drools.runtime.pipeline.Emitter;
+import org.drools.runtime.pipeline.Action;
 import org.drools.runtime.pipeline.PipelineContext;
 import org.drools.runtime.pipeline.Receiver;
-import org.drools.runtime.pipeline.impl.BaseEmitter;
 
-public class JmsUnwrapMessageObject extends BaseEmitter implements Receiver, Emitter {
+public class JmsUnwrapMessageObject extends BaseEmitter implements Action, Receiver {
 
     public void receive(Object object,
                        PipelineContext context) {

Modified: labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/test/java/org/drools/runtime/pipeline/impl/JaxbSimpleJmsMessengerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/test/java/org/drools/runtime/pipeline/impl/JaxbSimpleJmsMessengerTest.java	2009-01-13 10:13:09 UTC (rev 24671)
+++ labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/test/java/org/drools/runtime/pipeline/impl/JaxbSimpleJmsMessengerTest.java	2009-01-13 10:20:37 UTC (rev 24672)
@@ -28,6 +28,7 @@
 import org.drools.runtime.pipeline.PipelineFactory;
 import org.drools.runtime.pipeline.ResultHandler;
 import org.drools.runtime.pipeline.ResultHandlerFactory;
+import org.drools.runtime.pipeline.Service;
 import org.drools.runtime.pipeline.Transformer;
 import org.drools.runtime.pipeline.impl.ExecuteResultHandler;
 import org.drools.runtime.pipeline.impl.JmsMessenger;
@@ -72,7 +73,7 @@
         }
     }
 
-    public void test1() throws Exception {
+    public void testJmsWithJaxb() throws Exception {
         Options xjcOpts = new Options();
         xjcOpts.setSchemaLanguage( Language.XMLSCHEMA );
         KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
@@ -88,55 +89,53 @@
         kbuilder.add( ResourceFactory.newClassPathResource( "test_Jaxb.drl",
                                                             getClass() ),
                       ResourceType.DRL );
-        
+
         KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
         kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
         StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
 
-        
-        ExecuteResultHandler resultHandlerStage = new ExecuteResultHandler();
-        
-        StatefulKnowledgeSessionInsertStage insertStage = new StatefulKnowledgeSessionInsertStage();
+        Action resultHandlerStage = PipelineFactory.newExecuteResultHandler();
+
+        KnowledgeRuntimeCommand insertStage = PipelineFactory.newStatefulKnowledgeSessionInsert();
         insertStage.setReceiver( resultHandlerStage );
-        
+
         JAXBContext jaxbCtx = KnowledgeBuilderHelper.newJAXBContext( classNames,
                                                                      kbase );
         Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
         Transformer transformer = PipelineFactory.newJaxbFromXmlTransformer( unmarshaller );
         transformer.setReceiver( insertStage );
-        
-        JmsUnwrapMessageObject unwrapObjectStage = new JmsUnwrapMessageObject();        
+
+        Action unwrapObjectStage = PipelineFactory.newJmsUnwrapMessageObject();
         unwrapObjectStage.setReceiver( transformer );
-        
+
         Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
         pipeline.setReceiver( unwrapObjectStage );
-        
 
         ResultHandleFactoryImpl factory = new ResultHandleFactoryImpl();
-        JmsMessenger feeder = new JmsMessenger( pipeline,
-                                            props,
-                                            this.destinationName,
-                                            factory );
-        feeder.start();                
-        
+        Service feeder = PipelineFactory.newJmsMessenger( pipeline,
+                                                          props,
+                                                          this.destinationName,
+                                                          factory );
+        feeder.start();
+
         String xml = StringUtils.readFileAsString( new InputStreamReader( getClass().getResourceAsStream( "order.xml" ) ) );
-        
+
         this.simpleProducer.sendObject( xml );
 
-        
         for ( int i = 0; i < 5; i++ ) {
             // iterate and sleep 5 times, to give these messages time to complete.
             if ( factory.list.size() == 1 ) {
                 break;
             }
             Thread.sleep( 500 );
-        }        
+        }
 
-        FactHandle factHandle = (FactHandle) ((Map)((ResultHandlerImpl)factory.list.get( 0 )).getObject()).keySet().iterator().next();
+        FactHandle factHandle = (FactHandle) ((Map) ((ResultHandlerImpl) factory.list.get( 0 )).getObject()).keySet().iterator().next();
         assertNotNull( factHandle );
-        
-        assertEquals( 1, factory.list.size() );
 
+        assertEquals( 1,
+                      factory.list.size() );
+
         Action executeResult = PipelineFactory.newExecuteResultHandler();
 
         Action assignAsResult = PipelineFactory.newAssignObjectAsResult();
@@ -158,11 +157,13 @@
                          resultHandler );
 
         assertEqualsIgnoreWhitespace( xml,
-                                      (String) resultHandler.getObject() );        
-        
+                                      (String) resultHandler.getObject() );
+
     }
-    
-    public static class ResultHandleFactoryImpl implements ResultHandlerFactory {
+
+    public static class ResultHandleFactoryImpl
+        implements
+        ResultHandlerFactory {
         List list = new ArrayList();
 
         public ResultHandler newResultHandler() {
@@ -170,19 +171,23 @@
             list.add( handler );
             return handler;
         }
-        
+
     }
-    
-    public static class ResultHandlerImpl implements ResultHandler {
+
+    public static class ResultHandlerImpl
+        implements
+        ResultHandler {
         Object object;
+
         public void handleResult(Object object) {
-           this.object = object;             
+            this.object = object;
         }
+
         public Object getObject() {
             return this.object;
-        }       
-    }    
-    
+        }
+    }
+
     private static void assertEqualsIgnoreWhitespace(final String expected,
                                                      final String actual) {
         final String cleanExpected = expected.replaceAll( "\\s+",

Modified: labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/test/java/org/drools/runtime/pipeline/impl/SimpleJmsMessengerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/test/java/org/drools/runtime/pipeline/impl/SimpleJmsMessengerTest.java	2009-01-13 10:13:09 UTC (rev 24671)
+++ labs/jbossrules/trunk/drools-pipeline/drools-messenger-jms/src/test/java/org/drools/runtime/pipeline/impl/SimpleJmsMessengerTest.java	2009-01-13 10:20:37 UTC (rev 24672)
@@ -53,7 +53,7 @@
         }
     }
 
-    public void test1() throws Exception {
+    public void testJms() throws Exception {
         KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
         StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
 




More information about the jboss-svn-commits mailing list