[overlord-commits] Overlord SVN: r238 - sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools.

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Wed Aug 13 04:56:17 EDT 2008


Author: heiko.braun at jboss.com
Date: 2008-08-13 04:56:17 -0400 (Wed, 13 Aug 2008)
New Revision: 238

Modified:
   sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/StreamOutputAdapter.java
Log:
Add support for collection types in output adapter

Modified: sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/StreamOutputAdapter.java
===================================================================
--- sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/StreamOutputAdapter.java	2008-08-13 07:51:15 UTC (rev 237)
+++ sam/trunk/modules/core/src/main/java/org/jboss/sam/internal/drools/StreamOutputAdapter.java	2008-08-13 08:56:17 UTC (rev 238)
@@ -24,6 +24,8 @@
 import org.jboss.sam.StreamOutput;
 import org.jboss.sam.EventMessage;
 
+import java.util.Collection;
+
 /**
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
@@ -49,8 +51,24 @@
 
    private EventMessage[] adoptPayload(Object data)
    {
-      // TODO: deal with collection types
-      return new EventMessage[] { new ObjectMessageAdaptor(data) };
+      EventMessage[] events = null;
+
+      if(data instanceof Collection)
+      {
+         Collection c = (Collection)data;
+         Object[] cAr = c.toArray();
+         events = new EventMessage[c.size()];
+         for(int i=0; i<c.size(); i++)
+         {
+            events[i] = new ObjectMessageAdaptor(cAr[i]);
+         }
+      }
+      else
+      {
+         events = new EventMessage[] { new ObjectMessageAdaptor(data) };         
+      }
+
+      return events;
    }
 
 }




More information about the overlord-commits mailing list