You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ru...@apache.org on 2010/09/22 11:36:27 UTC

svn commit: r999834 - in /synapse/trunk/java/modules: core/src/main/java/org/apache/synapse/config/xml/ core/src/main/java/org/apache/synapse/config/xml/endpoints/ core/src/test/java/org/apache/synapse/mediators/db/ core/src/test/java/org/apache/synaps...

Author: ruwan
Date: Wed Sep 22 09:36:26 2010
New Revision: 999834

URL: http://svn.apache.org/viewvc?rev=999834&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/config/xml/CloneMediatorFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ConditionalRouterMediatorFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ConfigurationFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ConfigurationFactoryAndSerializerFinder.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/DBLookupMediatorFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/DBReportMediatorFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DefaultEndpointFactory.java
    synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/db/DBLookupMediatorTest.java
    synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/db/DBReportMediatorTest.java
    synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/eip/CloneMediatorTest.java
    synapse/trunk/java/modules/experimental/src/main/java/org/apache/synapse/experimental/DetachMediatorFactory.java

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CloneMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CloneMediatorFactory.java?rev=999834&r1=999833&r2=999834&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CloneMediatorFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CloneMediatorFactory.java Wed Sep 22 09:36:26 2010
@@ -27,6 +27,7 @@ import org.apache.synapse.mediators.eip.
 
 import javax.xml.namespace.QName;
 import java.util.Iterator;
+import java.util.Properties;
 
 /**
  * The <clone> element is used to copy messages in Synapse to similar messages but with
@@ -62,21 +63,24 @@ public class CloneMediatorFactory extend
      * 
      * @param elem - OMElement describing the element which will be parsed
      *  to build the CloneMediator
+     * @param properties
      * @return Mediator of the type CloneMediator built from the config element
      */
-    public Mediator createSpecificMediator(OMElement elem) {
+    public Mediator createSpecificMediator(OMElement elem, Properties properties) {
 
         CloneMediator mediator = new CloneMediator();
         processAuditStatus(mediator, elem);
         
         OMAttribute continueParent = elem.getAttribute(ATT_CONTINUE_PARENT);
         if (continueParent != null) {
-            mediator.setContinueParent(JavaUtils.isTrueExplicitly(continueParent.getAttributeValue()));
+            mediator.setContinueParent(JavaUtils.isTrueExplicitly(
+                    continueParent.getAttributeValue()));
         }
 
         Iterator targetElements = elem.getChildrenWithName(TARGET_Q);
         while (targetElements.hasNext()) {
-            mediator.addTarget(TargetFactory.createTarget((OMElement) targetElements.next()));
+            mediator.addTarget(TargetFactory.createTarget(
+                    (OMElement) targetElements.next(), properties));
         }
 
         return mediator;

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ConditionalRouterMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ConditionalRouterMediatorFactory.java?rev=999834&r1=999833&r2=999834&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ConditionalRouterMediatorFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ConditionalRouterMediatorFactory.java Wed Sep 22 09:36:26 2010
@@ -31,6 +31,7 @@ import org.apache.synapse.mediators.filt
 
 import javax.xml.namespace.QName;
 import java.util.Iterator;
+import java.util.Properties;
 
 /**
  * <pre>
@@ -60,7 +61,7 @@ public class ConditionalRouterMediatorFa
     private static final QName ASYNCHRONOUS_ATTR
             = new QName(XMLConfigConstants.NULL_NAMESPACE, "asynchronous");
     
-    public Mediator createSpecificMediator(OMElement elem) {
+    public Mediator createSpecificMediator(OMElement elem, Properties properties) {
 
         ConditionalRouterMediator conditionalRouterMediator = new ConditionalRouterMediator();
         processAuditStatus(conditionalRouterMediator, elem);
@@ -114,7 +115,7 @@ public class ConditionalRouterMediatorFa
             }
 
             OMElement targetElem = routeElem.getFirstChildWithName(TARGET_Q);
-            Target target = TargetFactory.createTarget(targetElem);
+            Target target = TargetFactory.createTarget(targetElem, properties);
             if (JavaUtils.isTrueExplicitly(routeElem.getAttributeValue(ASYNCHRONOUS_ATTR))) {
                 target.setAsynchronous(true);
             } else {

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ConfigurationFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ConfigurationFactory.java?rev=999834&r1=999833&r2=999834&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ConfigurationFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ConfigurationFactory.java Wed Sep 22 09:36:26 2010
@@ -24,6 +24,8 @@ import javax.xml.namespace.QName;
 import org.apache.axiom.om.OMElement;
 import org.apache.synapse.config.SynapseConfiguration;
 
+import java.util.Properties;
+
 /**
  * This interface defines the configuration factories of Synapse
  */
@@ -44,7 +46,7 @@ public interface ConfigurationFactory {
      * @param element OMElement describing the configuration to be build
      * @return SynapseConfiguration build using the relevant factory
      */
-    SynapseConfiguration getConfiguration(OMElement element);
+    SynapseConfiguration getConfiguration(OMElement element, Properties properties);
 
     /**
      * Get the class which serializes the specified element

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ConfigurationFactoryAndSerializerFinder.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ConfigurationFactoryAndSerializerFinder.java?rev=999834&r1=999833&r2=999834&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ConfigurationFactoryAndSerializerFinder.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ConfigurationFactoryAndSerializerFinder.java Wed Sep 22 09:36:26 2010
@@ -35,6 +35,7 @@ import java.io.OutputStream;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.Properties;
 
 /**
  * This class is based on J2SE Service Provider model
@@ -100,12 +101,12 @@ public class ConfigurationFactoryAndSeri
                 }
             }
         }
-        // now iterate through the available pluggable mediator factories
+        // now iterate through the available plugable mediator factories
         registerExtensions();
         initialized = true;
     }
     /**
-     * Register pluggable mediator factories from the classpath
+     * Register plugable mediator factories from the classpath
      * <p/>
      * This looks for JAR files containing a META-INF/services that adheres to the following
      * http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html#Service%20Provider
@@ -133,7 +134,7 @@ public class ConfigurationFactoryAndSeri
      * @param element
      * @return Processor
      */
-    public SynapseConfiguration getConfiguration(OMElement element) {
+    public SynapseConfiguration getConfiguration(OMElement element, Properties properties) {
 
         String localName = element.getLocalName();
         QName qName;
@@ -157,7 +158,7 @@ public class ConfigurationFactoryAndSeri
 
         try {
             ConfigurationFactory cf = (ConfigurationFactory) cls.newInstance();
-            return cf.getConfiguration(element);
+            return cf.getConfiguration(element, properties);
 
         } catch (InstantiationException e) {
             String msg = "Error initializing configuration factory : " + cls;
@@ -239,12 +240,13 @@ public class ConfigurationFactoryAndSeri
      * Allow the mediator factory finder to act as an XMLToObjectMapper for Mediators
      * (i.e. Sequence Mediator) loaded dynamically from a Registry
      *
-     * @param om
-     * @return
+     * @param om configuration from which the object is built
+     * @param properties bag of properties to pass in any information to the factory
+     * @return built object
      */
-    public Object getObjectFromOMNode(OMNode om) {
+    public Object getObjectFromOMNode(OMNode om, Properties properties) {
         if (om instanceof OMElement) {
-            return getConfiguration((OMElement) om);
+            return getConfiguration((OMElement) om, properties);
         } else {
             handleException("Invalid configuration XML : " + om);
         }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/DBLookupMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/DBLookupMediatorFactory.java?rev=999834&r1=999833&r2=999834&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/DBLookupMediatorFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/DBLookupMediatorFactory.java Wed Sep 22 09:36:26 2010
@@ -25,6 +25,7 @@ import org.apache.synapse.SynapseConstan
 import org.apache.synapse.mediators.db.DBLookupMediator;
 
 import javax.xml.namespace.QName;
+import java.util.Properties;
 
 /**
  * Factory for {@link DBLookupMediator} instances.
@@ -62,7 +63,7 @@ public class DBLookupMediatorFactory ext
     private static final QName DBLOOKUP_Q =
         new QName(SynapseConstants.SYNAPSE_NAMESPACE, "dblookup");
 
-    public Mediator createSpecificMediator(OMElement elem) {
+    public Mediator createSpecificMediator(OMElement elem, Properties properties) {
 
         DBLookupMediator mediator = new DBLookupMediator();
         buildDataSource(elem, mediator);

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/DBReportMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/DBReportMediatorFactory.java?rev=999834&r1=999833&r2=999834&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/DBReportMediatorFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/DBReportMediatorFactory.java Wed Sep 22 09:36:26 2010
@@ -26,6 +26,7 @@ import org.apache.synapse.SynapseConstan
 import org.apache.synapse.mediators.db.DBReportMediator;
 
 import javax.xml.namespace.QName;
+import java.util.Properties;
 
 /**
  * Factory for {@link DBReportMediator} instances.
@@ -61,7 +62,7 @@ public class DBReportMediatorFactory ext
             new QName(SynapseConstants.SYNAPSE_NAMESPACE, "dbreport");
     private static final QName DBREPORT_USE_TX = new QName("useTransaction");
 
-    public Mediator createSpecificMediator(OMElement elem) {
+    public Mediator createSpecificMediator(OMElement elem, Properties properties) {
         DBReportMediator mediator = new DBReportMediator();
 
         OMAttribute useTx = elem.getAttribute(DBREPORT_USE_TX);

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DefaultEndpointFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DefaultEndpointFactory.java?rev=999834&r1=999833&r2=999834&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DefaultEndpointFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DefaultEndpointFactory.java Wed Sep 22 09:36:26 2010
@@ -29,6 +29,7 @@ import org.apache.synapse.endpoints.Endp
 import org.apache.synapse.endpoints.EndpointDefinition;
 
 import javax.xml.namespace.QName;
+import java.util.Properties;
 
 /**
  * Creates {@link DefaultEndpoint} using a XML configuration.
@@ -68,7 +69,8 @@ public class DefaultEndpointFactory exte
         return instance;
     }
 
-    protected Endpoint createEndpoint(OMElement epConfig, boolean anonymousEndpoint) {
+    protected Endpoint createEndpoint(OMElement epConfig, boolean anonymousEndpoint,
+                                      Properties properties) {
 
         DefaultEndpoint defaultEndpoint = new DefaultEndpoint();
         OMAttribute name = epConfig.getAttribute(

Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/db/DBLookupMediatorTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/db/DBLookupMediatorTest.java?rev=999834&r1=999833&r2=999834&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/db/DBLookupMediatorTest.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/db/DBLookupMediatorTest.java Wed Sep 22 09:36:26 2010
@@ -30,6 +30,7 @@ import org.apache.synapse.mediators.Abst
 import org.apache.synapse.mediators.TestUtils;
 
 import java.sql.SQLException;
+import java.util.Properties;
 
 public class DBLookupMediatorTest extends AbstractMediatorTestCase {
 
@@ -81,7 +82,7 @@ public class DBLookupMediatorTest extend
                             "    <result name=\"categoryProp\" column=\"2\"/>\n" +
                             "  </statement>\n" +
                             "</dblookup>"
-                    ));
+                    ), new Properties());
 
                 lookup.init(new Axis2SynapseEnvironment(new SynapseConfiguration()));
 

Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/db/DBReportMediatorTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/db/DBReportMediatorTest.java?rev=999834&r1=999833&r2=999834&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/db/DBReportMediatorTest.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/db/DBReportMediatorTest.java Wed Sep 22 09:36:26 2010
@@ -32,6 +32,7 @@ import org.apache.synapse.mediators.Test
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.Properties;
 
 public class DBReportMediatorTest extends AbstractMediatorTestCase {
 
@@ -86,7 +87,7 @@ public class DBReportMediatorTest extend
                             "    <parameter value=\"GOLD\" type=\"VARCHAR\"/>\n" +
                             "  </statement>\n" +
                             "</dblookup>"
-                    ));
+                    ), new Properties());
                 
                 report.init(new Axis2SynapseEnvironment(new SynapseConfiguration()));
 

Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/eip/CloneMediatorTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/eip/CloneMediatorTest.java?rev=999834&r1=999833&r2=999834&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/eip/CloneMediatorTest.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/eip/CloneMediatorTest.java Wed Sep 22 09:36:26 2010
@@ -23,6 +23,8 @@ import org.apache.synapse.Mediator;
 import org.apache.synapse.MessageContext;
 import org.apache.synapse.config.xml.CloneMediatorFactory;
 
+import java.util.Properties;
+
 /**
  *
  */
@@ -42,7 +44,7 @@ public class CloneMediatorTest extends A
         Mediator clone = fac.createMediator(createOMElement("<clone " +
             "xmlns=\"http://synapse.apache.org/ns/2010/04/configuration\"><target soapAction=\"urn:clone\" " +
             "sequence=\"seqRef\"/><target to=\"http://test\"><sequence><sequence " +
-            "key=\"seqRef\"/></sequence></target></clone>"));
+            "key=\"seqRef\"/></sequence></target></clone>"), new Properties());
         clone.mediate(testCtx);
         while(helperMediator.getMediatedContext(1) == null) {
             Thread.sleep(100);
@@ -62,7 +64,7 @@ public class CloneMediatorTest extends A
         Mediator clone = fac.createMediator(createOMElement("<clone continueParent=\"true\" " +
             "xmlns=\"http://synapse.apache.org/ns/2010/04/configuration\"><target soapAction=\"urn:clone\" " +
             "sequence=\"seqRef\"/><target to=\"http://test\"><sequence><sequence " +
-            "key=\"seqRef\"/></sequence></target></clone>"));
+            "key=\"seqRef\"/></sequence></target></clone>"), new Properties());
         assertTrue(clone.mediate(testCtx));
         while(helperMediator.getMediatedContext(1) == null) {
             Thread.sleep(100);

Modified: synapse/trunk/java/modules/experimental/src/main/java/org/apache/synapse/experimental/DetachMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/experimental/src/main/java/org/apache/synapse/experimental/DetachMediatorFactory.java?rev=999834&r1=999833&r2=999834&view=diff
==============================================================================
--- synapse/trunk/java/modules/experimental/src/main/java/org/apache/synapse/experimental/DetachMediatorFactory.java (original)
+++ synapse/trunk/java/modules/experimental/src/main/java/org/apache/synapse/experimental/DetachMediatorFactory.java Wed Sep 22 09:36:26 2010
@@ -28,6 +28,8 @@ import org.apache.synapse.config.xml.XML
 import org.apache.synapse.util.xpath.SynapseXPath;
 import org.jaxen.JaxenException;
 
+import java.util.Properties;
+
 public class DetachMediatorFactory extends AbstractMediatorFactory {
 
     private static final QName TAG_NAME
@@ -38,7 +40,7 @@ public class DetachMediatorFactory exten
         return TAG_NAME;
     }
 
-    public DetachMediator createSpecificMediator(OMElement elem) {
+    public DetachMediator createSpecificMediator(OMElement elem, Properties properties) {
         DetachMediator mediator = new DetachMediator();
 
         OMAttribute attSource = elem.getAttribute(ATT_SOURCE);