Author: asankha
Date: Sun Jul 30 21:37:53 2006
New Revision: 427013
URL: http://svn.apache.org/viewvc?rev=427013&view=rev
Log:
Clean up code and minor fixes
Removed:
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseAxis2Interceptor.java
Modified:
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/Axis2MessageContextFinder.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/ProxyService.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseModule.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/base/SequenceMediator.java
incubator/synapse/trunk/java/modules/samples/src/samples/userguide/ProxyStockQuoteClient.java
incubator/synapse/trunk/java/project.properties
incubator/synapse/trunk/java/project.xml
Modified:
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/Axis2MessageContextFinder.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/Axis2MessageContextFinder.java?rev=427013&r1=427012&r2=427013&view=diff
==============================================================================
---
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/Axis2MessageContextFinder.java
(original)
+++
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/Axis2MessageContextFinder.java
Sun Jul 30 21:37:53 2006
@@ -28,8 +28,6 @@
import org.apache.synapse.config.SynapseConfigurationBuilder;
import org.apache.synapse.config.SynapseConfiguration;
-import java.util.Iterator;
-
/**
* <p/>
* The MessageContext needs to be set up and then is used by the
SynapseMessageReceiver to inject messages.
@@ -46,122 +44,19 @@
// we get the configuration on each message from the Axis2
configuration since the Synapse configuration
// may be updated externally and thus should not be cached.
- SynapseConfiguration synCfg = getSynapseConfig(axisMsgCtx);
+ SynapseConfiguration synCfg =
getSynapseConfigFromAxisConfig(axisMsgCtx);
SynapseEnvironment synEnv = getSynapseEnvironment(axisMsgCtx);
if (synCfg == null || synEnv == null) {
- initializeSynapse(axisMsgCtx);
- synCfg = getSynapseConfig(axisMsgCtx);
- synEnv = getSynapseEnvironment(axisMsgCtx);
+ String msg = "Synapse environment has not initialized properly..";
+ log.fatal(msg);
+ throw new SynapseException(msg);
}
return new Axis2MessageContext(axisMsgCtx, synCfg, synEnv);
}
- public static SynapseConfiguration initializeSynapseConfigurationBuilder(
- AxisConfiguration axisConfiguration) {
- /*
- First Check, if synapse.xml is provided as an system property, use it..
- else
- check if the synapse.xml is available via Axis2.xml
SynapseConfiguration
- else
- default config [which is only the passthrow case]
-
- Priorty will be given to the System property.
- */
- SynapseConfiguration synapseConfiguration;
- Parameter configParam =
- axisConfiguration.getParameter(SYNAPSE_CONFIGURATION);
-
- String config = System.getProperty(Constants.SYNAPSE_XML);
-
- if (config != null) {
- log.info("System property '" + Constants.SYNAPSE_XML +
- "' specifies synapse configuration as " + config);
- synapseConfiguration =
- SynapseConfigurationBuilder.getConfiguration(config);
- } else if (configParam != null) {
- log.info(
- "Synapse.xml is available via SynapseConfiguration in
Axis2.xml");
- synapseConfiguration = SynapseConfigurationBuilder
-
.getConfiguration(configParam.getValue().toString().trim());
- } else {
- log.warn("System property '" + Constants.SYNAPSE_XML +
- "' is not specified or SynapseConfiguration Parameter " +
- "is not available via Axis2.xml. Thus, Using default
configuration");
- synapseConfiguration =
- SynapseConfigurationBuilder.getDefaultConfiguration();
- }
-
- // set the Synapse configuration and environment into the Axis2
configuration
- Parameter synapseCtxParam = new Parameter(SYNAPSE_CONFIG, null);
- synapseCtxParam.setValue(synapseConfiguration);
-
- Parameter synapseEnvParam = new Parameter(SYNAPSE_ENV, null);
- synapseEnvParam
- .setValue(new Axis2SynapseEnvironment(axisConfiguration));
-
- try {
- axisConfiguration.addParameter(synapseCtxParam);
- axisConfiguration.addParameter(synapseEnvParam);
-
- } catch (AxisFault e) {
- handleException(
- "Could not set parameters '" + SYNAPSE_CONFIG +
- "' and/or '" + SYNAPSE_ENV +
- "'to the Axis2 configuration : " + e.getMessage(), e);
- }
- return synapseConfiguration;
-
- }
-
- /**
- * Create the SynapseConfiguration and SynapseEnvironment objects and set
them into the Axis2 configuration
- * for reuse
- *
- * @param mc the current Axis2 message context
- */
- private static synchronized void initializeSynapse(
- org.apache.axis2.context.MessageContext mc) throws AxisFault {
-
- if (getSynapseConfig(mc) != null && getSynapseEnvironment(mc) != null)
{
- // is this a second thread which came in just after initialization?
- return;
- }
-
- log.info("Initializing Synapse...");
- AxisConfiguration axisCfg =
- mc.getConfigurationContext().getAxisConfiguration();
-
- SynapseConfiguration synCfg =
- initializeSynapseConfigurationBuilder(axisCfg);
-
- log.info("Initializing Proxy services...");
- if (synCfg == null) {
- handleException("SynapseConfiguration wouldn't initialize");
- } else {
- Iterator iter = synCfg.getProxyServices().iterator();
- while (iter.hasNext()) {
- ProxyService proxy = (ProxyService) iter.next();
- axisCfg.addService(proxy.buildAxisService(axisCfg));
- }
- }
-
-
- log.info("Synapse initialized...");
- }
-
- private static void handleException(String msg, Exception e) {
- log.error(msg, e);
- throw new SynapseException(msg, e);
- }
-
- private static void handleException(String msg) {
- log.error(msg);
- throw new SynapseException(msg);
- }
-
- private static SynapseConfiguration getSynapseConfig(
+ private static SynapseConfiguration getSynapseConfigFromAxisConfig(
org.apache.axis2.context.MessageContext mc) {
AxisConfiguration ac =
mc.getConfigurationContext().getAxisConfiguration();
Modified:
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/ProxyService.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/ProxyService.java?rev=427013&r1=427012&r2=427013&view=diff
==============================================================================
---
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/ProxyService.java
(original)
+++
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/ProxyService.java
Sun Jul 30 21:37:53 2006
@@ -17,6 +17,7 @@
import org.apache.axis2.description.*;
import org.apache.axis2.AxisFault;
+import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.axis2.engine.AxisConfiguration;
import org.apache.axis2.transport.njms.JMSConstants;
import org.apache.synapse.SynapseException;
@@ -26,7 +27,11 @@
import org.apache.ws.policy.util.PolicyReader;
import org.apache.ws.policy.util.PolicyFactory;
import org.apache.ws.policy.Policy;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
import java.net.URL;
import java.io.IOException;
import java.util.*;
@@ -80,17 +85,46 @@
AxisService proxyService = null;
if (wsdl != null) {
try {
- WSDL11ToAxisServiceBuilder wsdl2AxisServiceBuilder =
- new WSDL11ToAxisServiceBuilder(wsdl.openStream(), null,
null);
- proxyService = wsdl2AxisServiceBuilder.populateService();
- proxyService.setWsdlfound(true);
+ // detect version of the WSDL 1.1 or 2.0
+ OMNamespace documentElementNS = new
StAXOMBuilder(wsdl.openStream()).
+ getDocumentElement().getNamespace();
+
+ if (documentElementNS != null) {
+ WSDLToAxisServiceBuilder wsdlToAxisServiceBuilder = null;
+ if
(WSDLConstants.WSDL20_2006Constants.DEFAULT_NAMESPACE_URI.
+ equals(documentElementNS.getName())) {
+ wsdlToAxisServiceBuilder =
+ new WSDL20ToAxisServiceBuilder(wsdl.openStream(),
null, null);
+
+ } else if
(org.apache.axis2.namespace.Constants.NS_URI_WSDL11.
+ equals(documentElementNS.getName())) {
+ wsdlToAxisServiceBuilder =
+ new WSDL11ToAxisServiceBuilder(wsdl.openStream(),
null, null);
+ } else {
+ handleException("Unknown WSDL format.. not WSDL 1.1 or
WSDL 2.0");
+ }
+
+ proxyService = wsdlToAxisServiceBuilder.populateService();
+ proxyService.setWsdlfound(true);
+
+ } else {
+ handleException("Unknown WSDL format.. not WSDL 1.1 or
WSDL 2.0");
+ }
+
+ } catch (XMLStreamException e) {
+ handleException("Error reading WSDL at URL : " + wsdl, e);
} catch (AxisFault af) {
handleException("Error building service from WSDL at : " +
wsdl, af);
} catch (IOException ioe) {
handleException("Error reading WSDL from URL : " + wsdl, ioe);
}
} else {
+ // this is for POX... create a dummy service and an operation for
which
+ // our SynapseDispatcher will properly dispatch to
proxyService = new AxisService();
+ AxisOperation mediateOperation =
+ new InOutAxisOperation(new QName("mediate"));
+ proxyService.addOperation(mediateOperation);
}
// Set the name and description. Currently Axis2 uses the name as the
Modified:
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseModule.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseModule.java?rev=427013&r1=427012&r2=427013&view=diff
==============================================================================
---
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseModule.java
(original)
+++
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseModule.java
Sun Jul 30 21:37:53 2006
@@ -39,7 +39,9 @@
public void init(ConfigurationContext configurationContext,
AxisModule axisModule) throws AxisFault {
- log.info("Initializing Synapse Service from SynapseModule ..");
+
+ log.info("Initializing Synapse ..");
+
// Dynamically initialize the Empty Synapse Service
AxisConfiguration axisCfg =
configurationContext.getAxisConfiguration();
AxisService synapseService = new AxisService(SYNAPSE_SERVICE_NAME);
@@ -50,11 +52,10 @@
axisCfg.addService(synapseService);
// Initializing the SynapseEnvironment For Synapse to work
-
log.info("Initializing Synapse Environment ...");
- SynapseConfiguration synCfg = Axis2MessageContextFinder
- .initializeSynapseConfigurationBuilder(axisCfg);
+ SynapseConfiguration synCfg =
+ initializeSynapseConfigurationBuilder(axisCfg);
log.info("Initializing Proxy services...");
if (synCfg == null) {
@@ -67,7 +68,62 @@
}
}
- log.info("Synapse Environment initialized...");
+ log.info("Synapse initialized...!");
+ }
+
+ private static SynapseConfiguration initializeSynapseConfigurationBuilder(
+ AxisConfiguration axisConfiguration) {
+ /*
+ First check, if synapse.xml URL is provided as a system property, if
so use it..
+ else check if synapse.xml location is available from the axis2.xml
+ SynapseConfiguration else use the default config
+ */
+ SynapseConfiguration synapseConfiguration;
+ Parameter configParam =
+ axisConfiguration.getParameter(SYNAPSE_CONFIGURATION);
+
+ String config = System.getProperty(Constants.SYNAPSE_XML);
+
+ if (config != null) {
+ log.info("System property '" + Constants.SYNAPSE_XML +
+ "' specifies synapse configuration as " + config);
+ synapseConfiguration =
+ SynapseConfigurationBuilder.getConfiguration(config);
+ } else if (configParam != null) {
+ log.info(
+ "Synapse.xml is available via SynapseConfiguration in
Axis2.xml");
+ synapseConfiguration = SynapseConfigurationBuilder
+
.getConfiguration(configParam.getValue().toString().trim());
+ } else {
+ log.warn("System property '" + Constants.SYNAPSE_XML +
+ "' is not specified or SynapseConfiguration Parameter " +
+ "is not available via Axis2.xml. Thus, Using default
configuration");
+ synapseConfiguration =
+ SynapseConfigurationBuilder.getDefaultConfiguration();
+ }
+
+ // set the Synapse configuration and environment into the Axis2
configuration
+ Parameter synapseCtxParam = new Parameter(SYNAPSE_CONFIG, null);
+ synapseCtxParam.setValue(synapseConfiguration);
+
+ Parameter synapseEnvParam = new Parameter(SYNAPSE_ENV, null);
+ synapseEnvParam
+ .setValue(new Axis2SynapseEnvironment(axisConfiguration));
+
+ try {
+ axisConfiguration.addParameter(synapseCtxParam);
+ axisConfiguration.addParameter(synapseEnvParam);
+
+ } catch (AxisFault e) {
+ String msg =
+ "Could not set parameters '" + SYNAPSE_CONFIG +
+ "' and/or '" + SYNAPSE_ENV +
+ "'to the Axis2 configuration : " + e.getMessage();
+ log.fatal(msg, e);
+ throw new SynapseException(msg, e);
+ }
+ return synapseConfiguration;
+
}
public void engageNotify(AxisDescription axisDescription) throws AxisFault
{
Modified:
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/base/SequenceMediator.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/base/SequenceMediator.java?rev=427013&r1=427012&r2=427013&view=diff
==============================================================================
---
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/base/SequenceMediator.java
(original)
+++
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/base/SequenceMediator.java
Sun Jul 30 21:37:53 2006
@@ -55,16 +55,23 @@
if (ref == null) {
try {
return super.mediate(synCtx);
+
} catch (SynapseException e) {
- // set exception information to message context
- Util.setErrorInformation(synCtx, e);
- Mediator errHandler =
synCtx.getConfiguration().getNamedMediator(errorHandler);
- if (errHandler == null) {
- handleException("Error handler sequence mediator instance
named " +
- errorHandler + " cannot be found");
+ if (errorHandler != null) {
+ // set exception information to message context
+ Util.setErrorInformation(synCtx, e);
+
+ Mediator errHandler =
synCtx.getConfiguration().getNamedMediator(errorHandler);
+ if (errHandler == null) {
+ handleException("Error handler sequence mediator
instance named " +
+ errorHandler + " cannot be found");
+ } else {
+ return errHandler.mediate(synCtx);
+ }
+
} else {
- return errHandler.mediate(synCtx);
+ throw e;
}
}
Modified:
incubator/synapse/trunk/java/modules/samples/src/samples/userguide/ProxyStockQuoteClient.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/samples/src/samples/userguide/ProxyStockQuoteClient.java?rev=427013&r1=427012&r2=427013&view=diff
==============================================================================
---
incubator/synapse/trunk/java/modules/samples/src/samples/userguide/ProxyStockQuoteClient.java
(original)
+++
incubator/synapse/trunk/java/modules/samples/src/samples/userguide/ProxyStockQuoteClient.java
Sun Jul 30 21:37:53 2006
@@ -53,7 +53,7 @@
HttpTransportProperties httpProps = new HttpTransportProperties();
HttpTransportProperties.ProxyProperties proxyProperties =
- new HttpTransportProperties.ProxyProperties();
+ httpProps.new ProxyProperties();
URL url = new URL(purl);
proxyProperties.setProxyName(url.getHost());
proxyProperties.setProxyPort(url.getPort());
Modified: incubator/synapse/trunk/java/project.properties
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/project.properties?rev=427013&r1=427012&r2=427013&view=diff
==============================================================================
--- incubator/synapse/trunk/java/project.properties (original)
+++ incubator/synapse/trunk/java/project.properties Sun Jul 30 21:37:53 2006
@@ -46,6 +46,7 @@
xmlsec.version=1.3.0
wsdl4j.version=1.5.2
axis2.version=SNAPSHOT
+woden.version=SNAPSHOT
axiom.version=SNAPSHOT
neethi.version=SNAPSHOT
Modified: incubator/synapse/trunk/java/project.xml
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/project.xml?rev=427013&r1=427012&r2=427013&view=diff
==============================================================================
--- incubator/synapse/trunk/java/project.xml (original)
+++ incubator/synapse/trunk/java/project.xml Sun Jul 30 21:37:53 2006
@@ -114,6 +114,14 @@
<module>false</module>
</properties>
</dependency>
+ <dependency>
+ <groupId>incubator-woden</groupId>
+ <artifactId>woden</artifactId>
+ <version>${woden.version}</version>
+ <properties>
+ <module>true</module>
+ </properties>
+ </dependency>
<!-- external MARs -->
<dependency>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]