Author: ruwan
Date: Tue Aug 31 05:42:08 2010
New Revision: 991083
URL: http://svn.apache.org/viewvc?rev=991083&view=rev
Log:
loading descriptions from the single xml configuration files and serializing it
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigurationBuilder.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationSerializer.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XMLConfigConstants.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigurationBuilder.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigurationBuilder.java?rev=991083&r1=991082&r2=991083&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigurationBuilder.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigurationBuilder.java
Tue Aug 31 05:42:08 2010
@@ -50,17 +50,19 @@ public class SynapseConfigurationBuilder
public static SynapseConfiguration getDefaultConfiguration() {
// programatically create an empty configuration which just log and
drop the messages
SynapseConfiguration config = SynapseConfigUtils.newConfiguration();
- SequenceMediator mainmediator = new SequenceMediator();
- mainmediator.addChild(new LogMediator());
- mainmediator.addChild(new DropMediator());
- mainmediator.setName(SynapseConstants.MAIN_SEQUENCE_KEY);
- config.addSequence(SynapseConstants.MAIN_SEQUENCE_KEY, mainmediator);
- SequenceMediator faultmediator = new SequenceMediator();
+ SequenceMediator mainMediator = new SequenceMediator();
+ mainMediator.addChild(new LogMediator());
+ mainMediator.addChild(new DropMediator());
+ mainMediator.setName(SynapseConstants.MAIN_SEQUENCE_KEY);
+ config.addSequence(SynapseConstants.MAIN_SEQUENCE_KEY, mainMediator);
+ SequenceMediator faultMediator = new SequenceMediator();
LogMediator fault = new LogMediator();
fault.setLogLevel(LogMediator.FULL);
- faultmediator.addChild(fault);
- faultmediator.setName(SynapseConstants.FAULT_SEQUENCE_KEY);
- config.addSequence(SynapseConstants.FAULT_SEQUENCE_KEY, faultmediator);
+ faultMediator.addChild(fault);
+ faultMediator.setName(SynapseConstants.FAULT_SEQUENCE_KEY);
+ config.addSequence(SynapseConstants.FAULT_SEQUENCE_KEY, faultMediator);
+ config.setDescription("The default configuration of the ESB, that is
created " +
+ "programatically at the startup");
return config;
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java?rev=991083&r1=991082&r2=991083&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java
Tue Aug 31 05:42:08 2010
@@ -57,9 +57,9 @@ public class SynapseXMLConfigurationFact
SynapseConfiguration config = SynapseConfigUtils.newConfiguration();
config.setDefaultQName(definitions.getQName());
- Iterator iter = definitions.getChildren();
- while (iter.hasNext()) {
- Object o = iter.next();
+ Iterator itr = definitions.getChildren();
+ while (itr.hasNext()) {
+ Object o = itr.next();
if (o instanceof OMElement) {
OMElement elt = (OMElement) o;
if (XMLConfigConstants.SEQUENCE_ELT.equals(elt.getQName())) {
@@ -85,6 +85,8 @@ public class SynapseXMLConfigurationFact
defineExecutor(config, elt);
} else if
(StartupFinder.getInstance().isStartup(elt.getQName())) {
defineStartup(config, elt);
+ } else if
(XMLConfigConstants.DESCRIPTION_ELT.equals(elt.getQName())) {
+ config.setDescription(elt.getText());
} else {
handleException("Invalid configuration element at the top
level, one of \'sequence\', " +
"\'endpoint\', \'proxy\', \'eventSource\',
\'localEntry\', \'priorityExecutor\' " +
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationSerializer.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationSerializer.java?rev=991083&r1=991082&r2=991083&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationSerializer.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationSerializer.java
Tue Aug 31 05:42:08 2010
@@ -1,12 +1,23 @@
-package org.apache.synapse.config.xml;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Collection;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
+package org.apache.synapse.config.xml;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
@@ -14,19 +25,25 @@ import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
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.commons.executors.PriorityExecutor;
+import org.apache.synapse.commons.executors.config.PriorityExecutorSerializer;
import org.apache.synapse.config.Entry;
import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.config.xml.endpoints.EndpointSerializer;
import org.apache.synapse.config.xml.eventing.EventSourceSerializer;
-import org.apache.synapse.commons.executors.config.PriorityExecutorSerializer;
import org.apache.synapse.core.axis2.ProxyService;
import org.apache.synapse.endpoints.Endpoint;
-import org.apache.synapse.Startup;
-import org.apache.synapse.SynapseConstants;
-import org.apache.synapse.commons.executors.PriorityExecutor;
import org.apache.synapse.eventing.SynapseEventSource;
+import org.apache.synapse.mediators.base.SequenceMediator;
+
+import javax.xml.namespace.QName;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
public class SynapseXMLConfigurationSerializer implements
ConfigurationSerializer {
@@ -40,24 +57,31 @@ public class SynapseXMLConfigurationSeri
/**
* Order of entries is irrelevant, however its nice to have some order.
*
- * @param synCfg
- * @throws XMLStreamException
+ * @param synCfg configuration to be serialized
+ * @return serialized element of the configuration
*/
public OMElement serializeConfiguration(SynapseConfiguration synCfg) {
OMElement definitions = fac.createOMElement("definitions", synNS);
- // first process a remote registry if present
+ // first add the description
+ if (synCfg.getDescription() != null) {
+ OMElement descElem = fac.createOMElement("description", synNS);
+ descElem.setText(synCfg.getDescription());
+ definitions.addChild(descElem);
+ }
+
+ // then process a remote registry if present
if (synCfg.getRegistry() != null) {
RegistrySerializer.serializeRegistry(definitions, synCfg
.getRegistry());
}
// add proxy services
- Iterator iter = synCfg.getProxyServices().iterator();
- while (iter.hasNext()) {
- ProxyService service = (ProxyService) iter.next();
+ Iterator itr = synCfg.getProxyServices().iterator();
+ while (itr.hasNext()) {
+ ProxyService service = (ProxyService) itr.next();
ProxyServiceSerializer.serializeProxy(definitions, service);
}
@@ -66,23 +90,23 @@ public class SynapseXMLConfigurationSeri
EventSourceSerializer.serializeEventSource(definitions,
eventSource);
}
- Map entries = new HashMap();
+ Map<String, Entry> entries = new HashMap<String, Entry>();
Map<String, Endpoint> endpoints = new HashMap<String, Endpoint>();
- Map sequences = new HashMap();
+ Map<String, SequenceMediator> sequences = new HashMap<String,
SequenceMediator>();
- iter = synCfg.getLocalRegistry().keySet().iterator();
- while (iter.hasNext()) {
- Object key = iter.next();
+ itr = synCfg.getLocalRegistry().keySet().iterator();
+ while (itr.hasNext()) {
+ Object key = itr.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);
+ if (o instanceof SequenceMediator) {
+ sequences.put(key.toString(), (SequenceMediator) o);
} else if (o instanceof Endpoint) {
endpoints.put(key.toString(), (Endpoint) o);
} else if (o instanceof Entry) {
- entries.put(key, o);
+ entries.put(key.toString(), (Entry) o);
} else {
handleException("Unknown object : " + o.getClass()
+ " for serialization into Synapse configuration");
@@ -106,13 +130,9 @@ public class SynapseXMLConfigurationSeri
return definitions;
}
- private static void serializeEntries(OMElement definitions, Map entries) {
- for (Object o : entries.keySet()) {
- if (o instanceof String) {
- String key = (String) o;
- EntrySerializer.serializeEntry((Entry) entries.get(key),
- definitions);
- }
+ private static void serializeEntries(OMElement definitions, Map<String,
Entry> entries) {
+ for (Entry entry : entries.values()) {
+ EntrySerializer.serializeEntry(entry, definitions);
}
}
@@ -131,14 +151,12 @@ public class SynapseXMLConfigurationSeri
}
}
- private static void serializeSequences(OMElement definitions, Map
sequences) {
- for (Object o : sequences.keySet()) {
- if (o instanceof String) {
- String key = (String) o;
- Mediator mediator = (Mediator) sequences.get(key);
- MediatorSerializerFinder.getInstance().getSerializer(mediator)
- .serializeMediator(definitions, mediator);
- }
+ private static void serializeSequences(OMElement definitions,
+ Map<String, SequenceMediator>
sequences) {
+ for (SequenceMediator seq : sequences.values()) {
+ MediatorSerializerFinder.getInstance().getSerializer(seq)
+ .serializeMediator(definitions, seq);
+
}
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XMLConfigConstants.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XMLConfigConstants.java?rev=991083&r1=991082&r2=991083&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XMLConfigConstants.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XMLConfigConstants.java
Tue Aug 31 05:42:08 2010
@@ -56,6 +56,7 @@ public class XMLConfigConstants {
//- configuration language constants -
public static final QName DEFINITIONS_ELT = new QName(SYNAPSE_NAMESPACE,
"definitions");
+ public static final QName DESCRIPTION_ELT = new QName(SYNAPSE_NAMESPACE,
"description");
public static final QName SEQUENCE_ELT = new QName(SYNAPSE_NAMESPACE,
"sequence");
public static final QName ENDPOINT_ELT = new QName(SYNAPSE_NAMESPACE,
"endpoint");
public static final QName ENTRY_ELT = new QName(SYNAPSE_NAMESPACE,
"localEntry");