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,