[jboss-svn-commits] JBL Code SVN: r16827 - in labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator: src/org/jboss/soa/esb/samples/quickstart/aggregator and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Nov 26 08:02:02 EST 2007


Author: tfennelly
Date: 2007-11-26 08:02:02 -0500 (Mon, 26 Nov 2007)
New Revision: 16827

Added:
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/samples/quickstart/aggregator/AggregatedMessageAssembler.java
Modified:
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml
Log:
http://jira.jboss.com/jira/browse/JBESB-1361

Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml	2007-11-26 11:45:13 UTC (rev 16826)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml	2007-11-26 13:02:02 UTC (rev 16827)
@@ -24,11 +24,14 @@
                   <action class="org.jboss.soa.esb.actions.Aggregator" name="Aggregator">
                       <property name="timeoutInMillies" value="60000"/>
                   </action>
+
+                  <!-- add transformation action to aggregate the attachments into 1 message -->
+                  <action name="assemble" class="org.jboss.soa.esb.samples.quickstart.aggregator.AggregatedMessageAssembler" />
+
                   <action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
-                      <property name="message" value="An aggregated message was created" />
+                      <property name="message" value="An aggregated message was created (see attachments)" />
                   </action>
-                  <!-- add transformation action to aggregate the attachments into 1 message -->
-              </actions> 
+              </actions>
           </service>	         
 	    </services>
 </jbossesb>

Added: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/samples/quickstart/aggregator/AggregatedMessageAssembler.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/samples/quickstart/aggregator/AggregatedMessageAssembler.java	                        (rev 0)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/samples/quickstart/aggregator/AggregatedMessageAssembler.java	2007-11-26 13:02:02 UTC (rev 16827)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.aggregator;
+
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Attachment;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.util.Util;
+
+import java.io.Serializable;
+
+/**
+ * Assemble an aggregated message.
+ * <p/>
+ * This is just an example.  Of course a real worl example would do something more
+ * useful than just append the messages together in a StringBuffer!
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class AggregatedMessageAssembler extends AbstractActionPipelineProcessor {
+
+    public AggregatedMessageAssembler(ConfigTree config) {
+    }
+
+    public Message process(Message message) throws ActionProcessingException {
+        Attachment attachments = message.getAttachment();
+        int attachmentCount = attachments.getUnnamedCount();
+        StringBuffer assemblyBuffer = new StringBuffer();
+
+        for (int i = 0; i < attachmentCount; i++) {
+            try {
+                Message aggrMessage = Util.deserialize((Serializable) attachments.itemAt(i));
+                String payload = aggrMessage.getBody().get().toString();
+                
+                assemblyBuffer.append("**** Payload from Message Attachment " + i + ":\n");
+                assemblyBuffer.append(payload + "\n");
+            } catch (Exception e) {
+                // Not an aggregated message attachment... continue...
+            }
+        }
+
+        message.getBody().add(assemblyBuffer.toString());
+
+        return message;
+    }
+}


Property changes on: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/samples/quickstart/aggregator/AggregatedMessageAssembler.java
___________________________________________________________________
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list