Author: ruwan
Date: Wed Sep 22 09:35:01 2010
New Revision: 999831
URL: http://svn.apache.org/viewvc?rev=999831&view=rev
Log:
Fixing the Configuration building API to pass in properties with additional
information
This helps to get rid of the static references to the resolve root and so forth
via the ServerManager
Committing in parts as my commit as a bunch failed
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AggregateMediatorFactory.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AnnotatedCommandMediatorFactory.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AnonymousListMediatorFactory.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CacheMediatorFactory.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CalloutMediatorFactory.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ClassMediatorFactory.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointFactory.java
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/AnnotatedCommandMediatorTest.java
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/ClassMediatorTest.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java?rev=999831&r1=999830&r2=999831&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java
Wed Sep 22 09:35:01 2010
@@ -417,22 +417,25 @@ public class Axis2SynapseController impl
public SynapseConfiguration createSynapseConfiguration() {
String synapseXMLLocation =
serverConfigurationInformation.getSynapseXMLLocation();
+ Properties properties =
SynapsePropertiesLoader.loadSynapseProperties();
+ if (serverConfigurationInformation.getResolveRoot() != null) {
+ properties.put(SynapseConstants.RESOLVE_ROOT,
+ serverConfigurationInformation.getResolveRoot());
+ }
if (synapseXMLLocation != null) {
- synapseConfiguration =
SynapseConfigurationBuilder.getConfiguration(synapseXMLLocation);
+ synapseConfiguration =
SynapseConfigurationBuilder.getConfiguration(
+ synapseXMLLocation, properties);
} else {
log.warn("System property or init-parameter '" +
SynapseConstants.SYNAPSE_XML +
"' is not specified. Using default configuration..");
synapseConfiguration =
SynapseConfigurationBuilder.getDefaultConfiguration();
}
- Properties properties =
SynapsePropertiesLoader.loadSynapseProperties();
- if (properties != null) {
- Enumeration keys = properties.keys();
- while (keys.hasMoreElements()) {
- String key = (String) keys.nextElement();
- synapseConfiguration.setProperty(key,
properties.getProperty(key));
- }
+ Enumeration keys = properties.keys();
+ while (keys.hasMoreElements()) {
+ String key = (String) keys.nextElement();
+ synapseConfiguration.setProperty(key, properties.getProperty(key));
}
// Set the Axis2 ConfigurationContext to the SynapseConfiguration
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AggregateMediatorFactory.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AggregateMediatorFactory.java?rev=999831&r1=999830&r2=999831&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AggregateMediatorFactory.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AggregateMediatorFactory.java
Wed Sep 22 09:35:01 2010
@@ -28,6 +28,7 @@ import org.apache.synapse.mediators.eip.
import org.jaxen.JaxenException;
import javax.xml.namespace.QName;
+import java.util.Properties;
/**
* Factory for {...@link AggregateMediator} instances from the config;
@@ -70,7 +71,7 @@ public class AggregateMediatorFactory ex
private static final QName SEQUENCE_Q
= new QName(XMLConfigConstants.NULL_NAMESPACE, "sequence");
- public Mediator createSpecificMediator(OMElement elem) {
+ public Mediator createSpecificMediator(OMElement elem, Properties
properties) {
AggregateMediator mediator = new AggregateMediator();
processAuditStatus(mediator, elem);
@@ -127,8 +128,8 @@ public class AggregateMediatorFactory ex
if (onCompleteSequence != null) {
mediator.setOnCompleteSequenceRef(onCompleteSequence.getAttributeValue());
} else if (onComplete.getFirstElement() != null) {
- mediator.setOnCompleteSequence(
- (new
SequenceMediatorFactory()).createAnonymousSequence(onComplete));
+ mediator.setOnCompleteSequence((new SequenceMediatorFactory())
+ .createAnonymousSequence(onComplete, properties));
} else {
SequenceMediator sequence = new SequenceMediator();
sequence.addChild(new DropMediator());
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AnnotatedCommandMediatorFactory.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AnnotatedCommandMediatorFactory.java?rev=999831&r1=999830&r2=999831&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AnnotatedCommandMediatorFactory.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AnnotatedCommandMediatorFactory.java
Wed Sep 22 09:35:01 2010
@@ -29,6 +29,7 @@ import org.jaxen.JaxenException;
import javax.xml.namespace.QName;
import java.util.Iterator;
+import java.util.Properties;
/**
* Creates an instance of a AnnotatedCommand mediator using XML configuration
specified
@@ -47,7 +48,7 @@ public class AnnotatedCommandMediatorFac
private static final QName ANNOTATED_COMMAND_Q =
new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "annotatedCommand");
- public Mediator createSpecificMediator(OMElement elem) {
+ public Mediator createSpecificMediator(OMElement elem, Properties
properties) {
AnnotatedCommandMediator pojoMediator = new AnnotatedCommandMediator();
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AnonymousListMediatorFactory.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AnonymousListMediatorFactory.java?rev=999831&r1=999830&r2=999831&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AnonymousListMediatorFactory.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/AnonymousListMediatorFactory.java
Wed Sep 22 09:35:01 2010
@@ -26,6 +26,7 @@ import org.apache.commons.logging.LogFac
import java.util.Iterator;
+import java.util.Properties;
/**
* This is factory for creating an anonymous list mediator(an unnamed list of
mediators )
@@ -37,12 +38,14 @@ public abstract class AnonymousListMedia
/**
* To create an anonymous list mediator form OMElement
* @param el
+ * @param properties bag of properties with additional information
* @return List mediator
*/
- public static AnonymousListMediator createAnonymousListMediator(OMElement
el) {
+ public static AnonymousListMediator createAnonymousListMediator(
+ OMElement el, Properties properties) {
AnonymousListMediator mediator = new AnonymousListMediator();
{
- addChildren(el, mediator);
+ addChildren(el, mediator, properties);
}
return mediator;
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CacheMediatorFactory.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CacheMediatorFactory.java?rev=999831&r1=999830&r2=999831&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CacheMediatorFactory.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CacheMediatorFactory.java
Wed Sep 22 09:35:01 2010
@@ -28,6 +28,7 @@ import org.wso2.caching.digest.DigestGen
import javax.xml.namespace.QName;
import java.util.Iterator;
+import java.util.Properties;
/**
* Creates an instance of a Cache mediator using XML configuration specified
@@ -61,7 +62,7 @@ public class CacheMediatorFactory extend
private static final long DEFAULT_TIMEOUT = 5000L;
private static final int DEFAULT_DISK_CACHE_SIZE = 200;
- public Mediator createSpecificMediator(OMElement elem) {
+ public Mediator createSpecificMediator(OMElement elem, Properties
properties) {
if (!CACHE_Q.equals(elem.getQName())) {
handleException("Unable to create the cache mediator. " +
@@ -131,8 +132,8 @@ public class CacheMediatorFactory extend
if (sequenceAttr != null && sequenceAttr.getAttributeValue()
!= null) {
cache.setOnCacheHitRef(sequenceAttr.getAttributeValue());
} else if (onCacheHitElem.getFirstElement() != null) {
- cache.setOnCacheHitSequence(
- new
SequenceMediatorFactory().createAnonymousSequence(onCacheHitElem));
+ cache.setOnCacheHitSequence(new SequenceMediatorFactory()
+ .createAnonymousSequence(onCacheHitElem,
properties));
}
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CalloutMediatorFactory.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CalloutMediatorFactory.java?rev=999831&r1=999830&r2=999831&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CalloutMediatorFactory.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CalloutMediatorFactory.java
Wed Sep 22 09:35:01 2010
@@ -26,6 +26,7 @@ import org.apache.synapse.mediators.buil
import org.jaxen.JaxenException;
import javax.xml.namespace.QName;
+import java.util.Properties;
/**
* Factory for {...@link CalloutMediator} instances.
@@ -53,7 +54,7 @@ public class CalloutMediatorFactory exte
private static final QName Q_TARGET
= new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "target");
- public Mediator createSpecificMediator(OMElement elem) {
+ public Mediator createSpecificMediator(OMElement elem, Properties
properties) {
CalloutMediator callout = new CalloutMediator();
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ClassMediatorFactory.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ClassMediatorFactory.java?rev=999831&r1=999830&r2=999831&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ClassMediatorFactory.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ClassMediatorFactory.java
Wed Sep 22 09:35:01 2010
@@ -29,6 +29,7 @@ import org.apache.synapse.mediators.ext.
import javax.xml.namespace.QName;
import java.util.Iterator;
+import java.util.Properties;
/**
* Creates an instance of a Class mediator using XML configuration specified
@@ -45,7 +46,7 @@ public class ClassMediatorFactory extend
private static final QName CLASS_Q = new
QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "class");
- public Mediator createSpecificMediator(OMElement elem) {
+ public Mediator createSpecificMediator(OMElement elem, Properties
properties) {
ClassMediator classMediator = new ClassMediator();
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointFactory.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointFactory.java?rev=999831&r1=999830&r2=999831&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointFactory.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointFactory.java
Wed Sep 22 09:35:01 2010
@@ -28,6 +28,7 @@ import org.apache.synapse.endpoints.Endp
import org.apache.synapse.endpoints.EndpointDefinition;
import javax.xml.namespace.QName;
+import java.util.Properties;
/**
* Creates {...@link AddressEndpoint} using a XML configuration.
@@ -69,7 +70,8 @@ public class AddressEndpointFactory exte
}
@Override
- protected Endpoint createEndpoint(OMElement epConfig, boolean
anonymousEndpoint) {
+ protected Endpoint createEndpoint(OMElement epConfig, boolean
anonymousEndpoint,
+ Properties properties) {
AddressEndpoint addressEndpoint = new AddressEndpoint();
OMAttribute name = epConfig.getAttribute(
Modified:
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/AnnotatedCommandMediatorTest.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/AnnotatedCommandMediatorTest.java?rev=999831&r1=999830&r2=999831&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/AnnotatedCommandMediatorTest.java
(original)
+++
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/AnnotatedCommandMediatorTest.java
Wed Sep 22 09:35:01 2010
@@ -26,6 +26,8 @@ import org.apache.synapse.mediators.Abst
import org.apache.synapse.mediators.TestUtils;
import org.apache.synapse.util.xpath.SynapseXPath;
+import java.util.Properties;
+
/**
*/
public class AnnotatedCommandMediatorTest extends AbstractMediatorTestCase {
@@ -72,7 +74,7 @@ public class AnnotatedCommandMediatorTes
m.setCommand(AnnotatedCommand.class);
Mediator pcm =
MediatorFactoryFinder.getInstance().getMediator(createOMElement(
- "<annotatedCommand
name='org.apache.synapse.mediators.ext.AnnotatedCommand2'
xmlns='http://synapse.apache.org/ns/2010/04/configuration'/>"));
+ "<annotatedCommand
name='org.apache.synapse.mediators.ext.AnnotatedCommand2'
xmlns='http://synapse.apache.org/ns/2010/04/configuration'/>"), new
Properties());
MessageContext mc = TestUtils.getTestContext("<m:getQuote
xmlns:m=\"http://services.samples/xsd\"><m:request><m:symbol>IBM</m:symbol></m:request></m:getQuote>");
pcm.mediate(mc);
Modified:
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/ClassMediatorTest.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/ClassMediatorTest.java?rev=999831&r1=999830&r2=999831&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/ClassMediatorTest.java
(original)
+++
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/ClassMediatorTest.java
Wed Sep 22 09:35:01 2010
@@ -27,6 +27,8 @@ import org.apache.synapse.config.xml.Med
import org.apache.synapse.core.axis2.Axis2SynapseEnvironment;
import org.apache.synapse.mediators.AbstractMediatorTestCase;
+import java.util.Properties;
+
/**
* Tests the class mediator instantiation and setting of literal and
* XPath parameters at runtime.
@@ -36,7 +38,7 @@ public class ClassMediatorTest extends A
public void testMediationWithoutProperties() throws Exception {
Mediator cm =
MediatorFactoryFinder.getInstance().getMediator(createOMElement(
"<class
name='org.apache.synapse.mediators.ext.ClassMediatorTestMediator' " +
-
"xmlns='http://synapse.apache.org/ns/2010/04/configuration'/>"));
+
"xmlns='http://synapse.apache.org/ns/2010/04/configuration'/>"), new
Properties());
cm.mediate(new TestMessageContext());
assertTrue(ClassMediatorTestMediator.invoked);
}
@@ -44,7 +46,7 @@ public class ClassMediatorTest extends A
public void testMediationWithLiteralProperties() throws Exception {
Mediator cm =
MediatorFactoryFinder.getInstance().getMediator(createOMElement(
"<class
name='org.apache.synapse.mediators.ext.ClassMediatorTestMediator' " +
-
"xmlns='http://synapse.apache.org/ns/2010/04/configuration'><property
name='testProp' value='testValue'/></class>"));
+
"xmlns='http://synapse.apache.org/ns/2010/04/configuration'><property
name='testProp' value='testValue'/></class>"), new Properties());
cm.mediate(new TestMessageContext());
assertTrue(ClassMediatorTestMediator.invoked);
assertTrue(ClassMediatorTestMediator.testProp.equals("testValue"));
@@ -53,7 +55,7 @@ public class ClassMediatorTest extends A
public void testInitializationAndMedition() throws Exception {
Mediator cm =
MediatorFactoryFinder.getInstance().getMediator(createOMElement(
"<class
name='org.apache.synapse.mediators.ext.ClassMediatorTestMediator' " +
-
"xmlns='http://synapse.apache.org/ns/2010/04/configuration'/>"));
+
"xmlns='http://synapse.apache.org/ns/2010/04/configuration'/>"), new
Properties());
((ManagedLifecycle) cm).init(new Axis2SynapseEnvironment(new
SynapseConfiguration()));
assertTrue(ClassMediatorTestMediator.initialized);
cm.mediate(new TestMessageContext());
@@ -63,7 +65,7 @@ public class ClassMediatorTest extends A
public void testDestroy() throws Exception {
Mediator cm =
MediatorFactoryFinder.getInstance().getMediator(createOMElement(
"<class
name='org.apache.synapse.mediators.ext.ClassMediatorTestMediator' " +
-
"xmlns='http://synapse.apache.org/ns/2010/04/configuration'/>"));
+
"xmlns='http://synapse.apache.org/ns/2010/04/configuration'/>"), new
Properties());
cm.mediate(new TestMessageContext());
assertTrue(ClassMediatorTestMediator.invoked);
((ManagedLifecycle) cm).destroy();