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:52:25 UTC

svn commit: r999849 - in /synapse/trunk/java/modules: core/src/main/java/org/apache/synapse/config/ 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/medi...

Author: ruwan
Date: Wed Sep 22 09:52:25 2010
New Revision: 999849

URL: http://svn.apache.org/viewvc?rev=999849&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 - Final commit

Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/XMLToObjectMapper.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValidateMediatorFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XMLConfigurationBuilder.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XSLTMediatorFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/XMLToEndpointMapper.java
    synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/builtin/ValidateMediatorTest.java
    synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediatorFactory.java

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/XMLToObjectMapper.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/XMLToObjectMapper.java?rev=999849&r1=999848&r2=999849&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/XMLToObjectMapper.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/XMLToObjectMapper.java Wed Sep 22 09:52:25 2010
@@ -21,6 +21,8 @@ package org.apache.synapse.config;
 
 import org.apache.axiom.om.OMNode;
 
+import java.util.Properties;
+
 /**
  * Defines the interface which should be implemented by a mapper that could
  * convert a XML resource into a known Object such as WSDL, XSD, etc..
@@ -30,7 +32,8 @@ public interface XMLToObjectMapper {
     /**
      * Create an application object from the given OMNode
      * @param om the XML
+     * @param properties bag of properties to pass in any information to the factory
      * @return a suitable application object
      */
-    public Object getObjectFromOMNode(OMNode om);
+    public Object getObjectFromOMNode(OMNode om, Properties properties);
 }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValidateMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValidateMediatorFactory.java?rev=999849&r1=999848&r2=999849&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValidateMediatorFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ValidateMediatorFactory.java Wed Sep 22 09:52:25 2010
@@ -27,10 +27,7 @@ import org.jaxen.JaxenException;
 import org.xml.sax.SAXException;
 
 import javax.xml.namespace.QName;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * Factory for {@link ValidateMediator} instances.
@@ -52,7 +49,7 @@ public class ValidateMediatorFactory ext
     private static final QName ON_FAIL_Q  = new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "on-fail");
     private static final QName SCHEMA_Q   = new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "schema");
 
-    public Mediator createSpecificMediator(OMElement elem) {
+    public Mediator createSpecificMediator(OMElement elem, Properties properties) {
 
         ValidateMediator validateMediator = new ValidateMediator();
 
@@ -100,7 +97,7 @@ public class ValidateMediatorFactory ext
         }
 
         if (onFail != null && onFail.getChildElements().hasNext()) {
-            addChildren(onFail, validateMediator);
+            addChildren(onFail, validateMediator, properties);
         } else {
             handleException("A non-empty <on-fail> child element is required for " +
                 "the <validate> mediator");

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XMLConfigurationBuilder.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XMLConfigurationBuilder.java?rev=999849&r1=999848&r2=999849&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XMLConfigurationBuilder.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XMLConfigurationBuilder.java Wed Sep 22 09:52:25 2010
@@ -20,6 +20,7 @@
 package org.apache.synapse.config.xml;
 
 import java.io.InputStream;
+import java.util.Properties;
 
 import org.apache.axiom.om.*;
 import org.apache.axiom.om.impl.builder.StAXOMBuilder;
@@ -36,14 +37,16 @@ public class XMLConfigurationBuilder {
 
     private static Log log = LogFactory.getLog(XMLConfigurationBuilder.class);
 
-    public static SynapseConfiguration getConfiguration(InputStream is) throws XMLStreamException {
+    public static SynapseConfiguration getConfiguration(InputStream is, Properties properties)
+            throws XMLStreamException {
 
         log.info("Generating the Synapse configuration model by parsing the XML configuration");
         
         OMElement definitions = new StAXOMBuilder(is).getDocumentElement();
         definitions.build();
 
-        return ConfigurationFactoryAndSerializerFinder.getInstance().getConfiguration(definitions);
+        return ConfigurationFactoryAndSerializerFinder.getInstance()
+                .getConfiguration(definitions, properties);
         
     }
 }
\ No newline at end of file

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XSLTMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XSLTMediatorFactory.java?rev=999849&r1=999848&r2=999849&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XSLTMediatorFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/XSLTMediatorFactory.java Wed Sep 22 09:52:25 2010
@@ -27,6 +27,7 @@ import org.jaxen.JaxenException;
 
 import javax.xml.namespace.QName;
 import java.util.Map;
+import java.util.Properties;
 
 /**
  * Factory for {@link XSLTMediator} instances.
@@ -52,7 +53,7 @@ public class XSLTMediatorFactory extends
         return TAG_NAME;
     }
 
-    public Mediator createSpecificMediator(OMElement elem) {
+    public Mediator createSpecificMediator(OMElement elem, Properties properties) {
 
         XSLTMediator transformMediator = new XSLTMediator();
 

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointFactory.java?rev=999849&r1=999848&r2=999849&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointFactory.java Wed Sep 22 09:52:25 2010
@@ -34,6 +34,7 @@ import org.apache.synapse.endpoints.Endp
 import javax.xml.namespace.QName;
 import java.io.File;
 import java.net.URL;
+import java.util.Properties;
 
 /**
  * Creates an {@link WSDLEndpoint} based endpoint from a XML configuration.
@@ -76,7 +77,8 @@ public class WSDLEndpointFactory extends
         return instance;
     }
 
-    protected Endpoint createEndpoint(OMElement epConfig, boolean anonymousEndpoint) {
+    protected Endpoint createEndpoint(OMElement epConfig, boolean anonymousEndpoint,
+                                      Properties properties) {
 
         WSDLEndpoint wsdlEndpoint = new WSDLEndpoint();
         OMAttribute name = epConfig.getAttribute(new QName(
@@ -137,12 +139,14 @@ public class WSDLEndpointFactory extends
                 }
             }
 
-            // check if the wsdl 1.1 document is suppled inline
+            // check if the wsdl 1.1 document is supplied inline
             OMElement definitionElement = wsdlElement.getFirstChildWithName
                     (new QName(org.apache.axis2.namespace.Constants.NS_URI_WSDL11, "definitions"));
             if (endpoint == null && definitionElement != null) {
                 wsdlEndpoint.setWsdlDoc(definitionElement);
-                String resolveRoot = SynapseConfigUtils.getResolveRoot();
+
+                String resolveRoot = properties.get(SynapseConstants.RESOLVE_ROOT).toString();
+//                String resolveRoot = SynapseConfigUtils.getResolveRoot();
                 String baseUri = "file:./";
                 if (resolveRoot != null) {
                     baseUri = resolveRoot.trim();

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/XMLToEndpointMapper.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/XMLToEndpointMapper.java?rev=999849&r1=999848&r2=999849&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/XMLToEndpointMapper.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/XMLToEndpointMapper.java Wed Sep 22 09:52:25 2010
@@ -24,6 +24,8 @@ import org.apache.synapse.SynapseExcepti
 import org.apache.axiom.om.OMNode;
 import org.apache.axiom.om.OMElement;
 
+import java.util.Properties;
+
 /**
  * This is a generic XMLToObjectMapper implementation for all endpoint types. Use this if the
  * endpoint type is not known at the time mapper is created. If the endpoint type is known use
@@ -44,13 +46,13 @@ public class XMLToEndpointMapper impleme
     /**
      * Constructs the Endpoint implementation for the given OMNode.
      *
-     * @param om OMNode containig endpoint configuration. This should be an OMElement.
-     * @return Endpoint implementaiotn for the given OMNode.
+     * @param om OMNode containing endpoint configuration. This should be an OMElement.
+     * @return Endpoint implementation for the given OMNode.
      */
-    public Object getObjectFromOMNode(OMNode om) {
+    public Object getObjectFromOMNode(OMNode om, Properties properties) {
         if (om instanceof OMElement) {
             OMElement epElement = (OMElement) om;
-            return EndpointFactory.getEndpointFromElement(epElement, false);
+            return EndpointFactory.getEndpointFromElement(epElement, false, properties);
         } else {
             throw new SynapseException("Configuration is not in proper format.");
         }

Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/builtin/ValidateMediatorTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/builtin/ValidateMediatorTest.java?rev=999849&r1=999848&r2=999849&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/builtin/ValidateMediatorTest.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/builtin/ValidateMediatorTest.java Wed Sep 22 09:52:25 2010
@@ -32,6 +32,7 @@ import org.jaxen.JaxenException;
 
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.Properties;
 
 public class ValidateMediatorTest extends TestCase {
 
@@ -249,7 +250,7 @@ public class ValidateMediatorTest extend
 
         ValidateMediatorFactory mf = new ValidateMediatorFactory();
         ValidateMediator validate = (ValidateMediator) mf.createMediator(
-                SynapseConfigUtils.stringToOM(DEFAULT_FEATURES_MEDIATOR_CONFIG));
+                SynapseConfigUtils.stringToOM(DEFAULT_FEATURES_MEDIATOR_CONFIG), new Properties());
 
         assertNull(validate.getFeature(SCHEMA_FULL_CHECKING_FEATURE_ID));
         assertNull(validate.getFeature(HONOUR_ALL_SCHEMA_LOCATIONS_FEATURE_ID));
@@ -260,7 +261,7 @@ public class ValidateMediatorTest extend
     public void testValidateMediatorCustomFeatures() throws Exception {
         ValidateMediatorFactory mf = new ValidateMediatorFactory();
         ValidateMediator validate = (ValidateMediator) mf.createMediator(
-                SynapseConfigUtils.stringToOM(CUSTOM_FEATURES_MEDIATOR_CONFIG));
+                SynapseConfigUtils.stringToOM(CUSTOM_FEATURES_MEDIATOR_CONFIG), new Properties());
 
         assertNotNull(validate.getFeature(SCHEMA_FULL_CHECKING_FEATURE_ID));
         assertFalse("true".equals(validate.getFeature(SCHEMA_FULL_CHECKING_FEATURE_ID)));

Modified: synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediatorFactory.java?rev=999849&r1=999848&r2=999849&view=diff
==============================================================================
--- synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediatorFactory.java (original)
+++ synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediatorFactory.java Wed Sep 22 09:52:25 2010
@@ -30,6 +30,7 @@ import org.jaxen.JaxenException;
 
 import javax.xml.namespace.QName;
 import java.util.Iterator;
+import java.util.Properties;
 
 /**
  * Creates a XQuery mediator from the given XML
@@ -55,7 +56,7 @@ public class XQueryMediatorFactory exten
     public static final QName ATT_TYPE_Q = new QName(XMLConfigConstants.NULL_NAMESPACE, "type");
 
 
-    public Mediator createSpecificMediator(OMElement elem) {
+    public Mediator createSpecificMediator(OMElement elem, Properties properties) {
 
         XQueryMediator xQueryMediator = new XQueryMediator();
         OMAttribute xqueryKey = elem.getAttribute(new QName(XMLConfigConstants.NULL_NAMESPACE,