Author: indika Date: Sat Jan 10 02:41:36 2009 New Revision: 28643 URL: http://wso2.org/svn/browse/wso2?view=rev&revision=28643
Log: fix for carbon CARBON-2402 +CARBON-2259 Modified: branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationSerializer.java Modified: branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java URL: http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java?rev=28643&r1=28642&r2=28643&view=diff ============================================================================== --- branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java (original) +++ branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java Sat Jan 10 02:41:36 2009 @@ -56,11 +56,15 @@ private static final Log log = LogFactory.getLog(SynapseConfiguration.class); - /** + private static final String ENTRY = "entry"; + private static final String ENDPOINT = "endpoint"; + private static final String SEQUENCE = "sequence"; + + /** * The remote registry made available to the Synapse configuration. Only one * is supported */ - Registry registry = null; + private Registry registry = null; /** * This holds the default QName of the configuration. @@ -126,7 +130,8 @@ * a Sequence mediator */ public void addSequence(String key, Mediator mediator) { - localRegistry.put(key, mediator); + assertAlreadyExists(key,SEQUENCE); + localRegistry.put(key, mediator); } /** @@ -140,7 +145,8 @@ * resource */ public void addSequence(String key, Entry entry) { - localRegistry.put(key, entry); + assertAlreadyExists(key,ENTRY); + localRegistry.put(key, entry); } /** @@ -264,7 +270,9 @@ */ public void addEntry(String key, Entry entry) { - if (entry.getType() == Entry.URL_SRC && entry.getValue() == null) { + assertAlreadyExists(key, ENTRY); + + if (entry.getType() == Entry.URL_SRC && entry.getValue() == null) { try { entry.setValue(SynapseConfigUtils.getOMElementFromURL(entry.getSrc() .toString())); @@ -426,7 +434,8 @@ * the endpoint definition */ public void addEndpoint(String key, Endpoint endpoint) { - localRegistry.put(key, endpoint); + assertAlreadyExists(key, ENDPOINT); + localRegistry.put(key, endpoint); } /** @@ -438,7 +447,8 @@ * the actual endpoint definition to be added */ public void addEndpoint(String key, Entry entry) { - localRegistry.put(key, entry); + assertAlreadyExists(key, ENTRY); + localRegistry.put(key, entry); } /** @@ -963,4 +973,15 @@ public void setEventSources(Map<String, SynapseEventSource> eventSources) { this.eventSources = eventSources; } + + private void assertAlreadyExists(String key, String type) { + + if (key == null || "".equals(key)) { + handleException("Given entry key is empty or null."); + } + + if (localRegistry.containsKey(key.trim())) { + handleException("Duplicate " + type + " definition for key : " + key); + } + } } Modified: branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationSerializer.java URL: http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationSerializer.java?rev=28643&r1=28642&r2=28643&view=diff ============================================================================== --- branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationSerializer.java (original) +++ branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationSerializer.java Sat Jan 10 02:41:36 2009 @@ -1,13 +1,5 @@ package org.apache.synapse.config.xml; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.Collection; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; - import org.apache.axiom.om.OMAbstractFactory; import org.apache.axiom.om.OMElement; import org.apache.axiom.om.OMFactory; @@ -15,6 +7,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.synapse.Mediator; +import org.apache.synapse.Startup; +import org.apache.synapse.SynapseConstants; import org.apache.synapse.SynapseException; import org.apache.synapse.config.Entry; import org.apache.synapse.config.SynapseConfiguration; @@ -22,9 +16,15 @@ import org.apache.synapse.config.xml.eventing.EventSourceSerializer; import org.apache.synapse.core.axis2.ProxyService; import org.apache.synapse.endpoints.Endpoint; -import org.apache.synapse.Startup; import org.apache.synapse.eventing.SynapseEventSource; +import javax.xml.namespace.QName; +import javax.xml.stream.XMLStreamException; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + public class SynapseXMLConfigurationSerializer implements ConfigurationSerializer { private static final Log log = LogFactory @@ -73,6 +73,9 @@ iter = synCfg.getLocalRegistry().keySet().iterator(); while (iter.hasNext()) { Object key = iter.next(); + if (SynapseConstants.SERVER_IP.equals(key) || SynapseConstants.SERVER_HOST.equals(key)) { + continue; + } Object o = synCfg.getLocalRegistry().get(key); if (o instanceof Mediator) { sequences.put(key, o); _______________________________________________ Esb-java-dev mailing list [email protected] https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev
