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();


Reply via email to