Author: ruwan
Date: Fri Nov 23 11:23:54 2007
New Revision: 597728

URL: http://svn.apache.org/viewvc?rev=597728&view=rev
Log:
Fixing a serialization issue in the Aggregate Mediator

Modified:
    
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AggregateMediatorFactory.java
    
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AggregateMediatorSerializer.java

Modified: 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AggregateMediatorFactory.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AggregateMediatorFactory.java?rev=597728&r1=597727&r2=597728&view=diff
==============================================================================
--- 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AggregateMediatorFactory.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AggregateMediatorFactory.java
 Fri Nov 23 11:23:54 2007
@@ -65,7 +65,6 @@
     private static final QName TIMEOUT_Q = new 
QName(XMLConfigConstants.NULL_NAMESPACE, "timeout");
     private static final QName MIN_Q = new 
QName(XMLConfigConstants.NULL_NAMESPACE, "min");
     private static final QName MAX_Q = new 
QName(XMLConfigConstants.NULL_NAMESPACE, "max");
-    private static final QName TYPE_Q = new 
QName(XMLConfigConstants.NULL_NAMESPACE, "type");
     private static final QName SEQUENCE_Q = new 
QName(XMLConfigConstants.NULL_NAMESPACE, "sequence");
 
     public Mediator createMediator(OMElement elem) {

Modified: 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AggregateMediatorSerializer.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AggregateMediatorSerializer.java?rev=597728&r1=597727&r2=597728&view=diff
==============================================================================
--- 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AggregateMediatorSerializer.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AggregateMediatorSerializer.java
 Fri Nov 23 11:23:54 2007
@@ -64,21 +64,44 @@
 
         OMElement completeCond = fac.createOMElement("completeCondition", 
synNS);
         if (mediator.getCompleteTimeout() != 0) {
-            completeCond.addAttribute("timeout", "" + 
mediator.getCompleteTimeout(), nullNS);
+            completeCond.addAttribute("timeout", 
Long.toString(mediator.getCompleteTimeout()), nullNS);
         }
         OMElement messageCount = fac.createOMElement("messageCount", synNS);
         if (mediator.getMinMessagesToComplete() != 0) {
-            messageCount.addAttribute("min", "" + 
mediator.getMinMessagesToComplete(), nullNS);
+            messageCount.addAttribute("min", 
Integer.toString(mediator.getMinMessagesToComplete()), nullNS);
         }
         if (mediator.getMaxMessagesToComplete() != 0) {
-            messageCount.addAttribute("max", "" + 
mediator.getMaxMessagesToComplete(), nullNS);
+            messageCount.addAttribute("max", 
Integer.toString(mediator.getMaxMessagesToComplete()), nullNS);
         }
         completeCond.addChild(messageCount);
         aggregator.addChild(completeCond);
 
-        OMElement aggregatorElem = fac.createOMElement("aggregator", synNS);
-//        aggregatorElem.addAttribute("type", 
mediator.getAggregator().getClass().getName(), nullNS);
-//        aggregatorElem.addAttribute("expression", mediator.get)
+        OMElement onCompleteElem = fac.createOMElement("onComplete", synNS);
+        if (mediator.getAggregationExpression() != null) {
+            onCompleteElem.addAttribute("expression", 
mediator.getAggregationExpression().toString(), nullNS);
+            super.serializeNamespaces(onCompleteElem, 
mediator.getAggregationExpression());
+        }
+        if (mediator.getOnCompleteSequenceRef() != null) {
+            onCompleteElem.addAttribute("sequence", 
mediator.getOnCompleteSequenceRef(), nullNS);
+        } else if (mediator.getOnCompleteSequence() != null) {
+            new SequenceMediatorSerializer().serializeChildren(
+                    onCompleteElem, 
mediator.getOnCompleteSequence().getList());
+        }
+        aggregator.addChild(onCompleteElem);
+
+        OMElement invalidateElem = fac.createOMElement("invalidate", synNS);
+        invalidateElem.addAttribute("timeout", 
Long.toString(mediator.getInvlidateToDestroyTime()), nullNS);
+        if (mediator.getInvalidMsgSequenceRef() != null) {
+            invalidateElem.addAttribute("sequence", 
mediator.getInvalidMsgSequenceRef(), nullNS);
+        } else if (mediator.getInvalidMsgSequence() != null) {
+            new SequenceMediatorSerializer().serializeChildren(
+                    invalidateElem, 
mediator.getInvalidMsgSequence().getList());
+        }
+        aggregator.addChild(invalidateElem);
+
+        if (parent != null) {
+            parent.addChild(aggregator);
+        }
 
         return aggregator;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to