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]