You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by ant elder <an...@gmail.com> on 2006/01/16 17:23:56 UTC
Re: svn commit: r365848 - in /incubator/synapse/trunk/java: ./ repository/modules/ src/org/apache/synapse/ src/org/apache/synapse/axis2/ src/org/apache/synapse/processors/builtin/axis2/ synapse-test-resources/axis2/ test/org/apache/synapse/spi/proces
Why was SynapseEnvironment changed from an interface to an abstract class
with the parent SynapseEnvironment stuff? The parent isn't actually used
anywhere is it?
...ant
On 1/4/06, saminda@apache.org <sa...@apache.org> wrote:
>
> Author: saminda
> Date: Tue Jan 3 23:26:14 2006
> New Revision: 365848
>
> URL: http://svn.apache.org/viewcvs?rev=365848&view=rev
> Log:
> Major change in AddressinInProcessor, SynapseEnvironment and
> SendProcessor.
>
> 1.By default Synapse will engage addressing module :). Using the Axis2'
> property setting on message context
> (msgContext.setProperty(
> Constants.Configuration.DISABLE_ADDRESSING_FOR_OUT_MESSAGES, Boolean.TRUE)
> at runtime Axis2
> can false through AddressingOutHandler even though addressing is engaged.
> If a rule say <engage-addressing-in/> and
> Synapse will hit AddressingInProcessor. There Processor set the property
> se.setProperty(Constants.ADDRESSING_PROCESSED,Boolean.TRUE); . This
> property will late use to false through
> AddressingOutHandler.
> 2.SynapseEnviroment has changed to a abstract class. This call hold the
> property bag.
>
> Modified:
> incubator/synapse/trunk/java/maven.xml
> incubator/synapse/trunk/java/repository/modules/addressing.mar
> incubator/synapse/trunk/java/src/org/apache/synapse/Constants.java
>
> incubator/synapse/trunk/java/src/org/apache/synapse/SynapseEnvironment.java
>
> incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2FlexibleMEPClient.java
>
> incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2Sender.java
>
> incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2SynapseEnvironment.java
>
> incubator/synapse/trunk/java/src/org/apache/synapse/processors/builtin/axis2/AddressingInProcessor.java
> incubator/synapse/trunk/java/synapse-test-resources/axis2/axis2.xml
>
> incubator/synapse/trunk/java/test/org/apache/synapse/spi/processors/AddressingProcessorTest.java
>
> Modified: incubator/synapse/trunk/java/maven.xml
> URL:
> http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/maven.xml?rev=365848&r1=365847&r2=365848&view=diff
>
> ==============================================================================
> --- incubator/synapse/trunk/java/maven.xml (original)
> +++ incubator/synapse/trunk/java/maven.xml Tue Jan 3 23:26:14 2006
> @@ -52,13 +52,13 @@
> <include name="**"/>
> </jar>
> <echo message="----------------Creating Empty Mediator
> aar----------------"/>
> - <!--<mkdir dir="target/services/emptymediator/META-INF"/>-->
> - <!--<copy
> file="synapse-test-resources/axis2/services/emptymediator/META-INF/services.xml"-->
>
> - <!--tofile="target/services/emptymediator/META-INF/services.xml"/>-->
> - <!--<jar jarfile="target/emptymediator.aar"-->
> - <!--basedir="target/services/emptymediator">-->
> - <!--<include name="**"/>-->
> - <!--</jar>-->
> + <mkdir dir="target/services/emptymediator/META-INF"/>
> + <copy
> file="synapse-test-resources/axis2/services/emptymediator/META-INF/services.xml"
>
> + tofile="target/services/emptymediator/META-INF/services.xml"/>
> + <jar jarfile="target/emptymediator.aar"
> + basedir="target/services/emptymediator">
> + <include name="**"/>
> + </jar>
> <j:if test="${context.getVariable('maven.test.skip') != 'true'}">
>
> <echo message="----------------Creating NPE
> aar----------------"/>
> @@ -102,8 +102,8 @@
>
> tofile="target/synapse-repository-sendon/services/synapse.aar"/>
> <copy file="target/npe.aar"
>
> tofile="target/synapse-repository-sendon/services/npe.aar"/>
> - <!--<copy file="target/emptymediator.aar"-->
>
> - <!--tofile="target/synapse-repository-sendon/services/emptymediator.aar"/>-->
> + <copy file="target/emptymediator.aar"
>
> + tofile="target/synapse-repository-sendon/services/emptymediator.aar"/>
> <mkdir dir="target/synapse-repository-sendon/modules"/>
> <copy
> file="synapse-test-resources/axis2/modules/addressing.mar"
>
> tofile="target/synapse-repository-sendon/modules/addressing.mar"/>
> @@ -119,8 +119,8 @@
>
> tofile="target/synapse-repository-sendonAxis2/services/npe.aar"/>
> <copy file="target/test-mediator.aar"
>
> tofile="target/synapse-repository-sendonAxis2/services/test-mediator.aar
> "/>
> -
> -
> + <copy file="target/emptymediator.aar"
>
> + tofile="target/synapse-repository-sendonAxis2/services/emptymediator.aar"/>
> <copy
> file="synapse-test-resources/axis2/modules/addressing.mar"
>
> tofile="target/synapse-repository-sendonAxis2/modules/addressing.mar"/>
> <copy file="repository/axis2.xml"
> @@ -131,6 +131,8 @@
>
> <copy file="target/environmentaware-mediator.aar"
>
> tofile="target/synapse-repository-environmentaware/services/environmentaware-
> mediator.aar"/>
> + <copy file="target/emptymediator.aar"
>
> + tofile="target/synapse-repository-sendon/services/emptymediator.aar"/>
> <copy file="target/synapse.aar"
>
> tofile="target/synapse-repository-environmentaware/services/synapse.aar"/>
> <copy
> file="synapse-test-resources/axis2/modules/addressing.mar"
> @@ -153,8 +155,8 @@
> <mkdir dir="target/synapse-repository"/>
> <copy file="target/synapse.aar"
> tofile="target/synapse-repository/services/synapse.aar"/>
> - <!--<copy file="target/emptymediator.aar"-->
>
> - <!--tofile="target/synapse-repository/services/emptymediator.aar"/>-->
> + <copy file="target/emptymediator.aar"
>
> + tofile="target/synapse-repository/services/emptymediator.aar"/>
> <mkdir dir="target/synapse-repository/modules"/>
> <copy file="synapse-test-resources/axis2/modules/addressing.mar"
> tofile="target/synapse-repository/modules/addressing.mar"/>
> @@ -167,8 +169,8 @@
> <mkdir dir="target/synapse-repository-fault"/>
> <copy file="target/synapse.aar"
>
> tofile="target/synapse-repository-fault/services/synapse.aar"/>
> - <!--<copy file="target/emptymediator.aar"-->
>
> - <!--tofile="target/synapse-repository-fault/services/emptymediator.aar"/>-->
> + <copy file="target/emptymediator.aar"
>
> + tofile="target/synapse-repository-fault/services/emptymediator.aar"/>
> <mkdir dir="target/synapse-repository-fault/modules"/>
> <copy file="synapse-test-resources/axis2/modules/addressing.mar"
>
> tofile="target/synapse-repository-fault/modules/addressing.mar"/>
> @@ -181,8 +183,8 @@
> <mkdir dir="target/synapse-repository-send"/>
> <copy file="target/synapse.aar"
>
> tofile="target/synapse-repository-send/services/synapse.aar"/>
> - <!--<copy file="target/emptymediator.aar"-->
>
> - <!--tofile="target/synapse-repository-send/services/emptymediator.aar"/>-->
> + <copy file="target/emptymediator.aar"
>
> + tofile="target/synapse-repository-send/services/emptymediator.aar"/>
> <mkdir dir="target/synapse-repository-send/modules"/>
> <copy file="synapse-test-resources/axis2/modules/addressing.mar"
>
> tofile="target/synapse-repository-send/modules/addressing.mar"/>
> @@ -219,7 +221,7 @@
>
> <ant:delete dir="target/modules"/>
> <ant:delete dir="target/services"/>
> - <!--<ant:delete file="target/emptymediator.aar"/>-->
> + <ant:delete file="target/emptymediator.aar"/>
> <ant:delete file="target/synapse.aar"/>
> <ant:delete dir="target/sample-deprecation"/>
> <ant:delete file="target/DeprecationMediator.aar"/>
>
> Modified: incubator/synapse/trunk/java/repository/modules/addressing.mar
> URL:
> http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/repository/modules/addressing.mar?rev=365848&r1=365847&r2=365848&view=diff
>
> ==============================================================================
> Binary files - no diff available.
>
> Modified:
> incubator/synapse/trunk/java/src/org/apache/synapse/Constants.java
> URL:
> http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/src/org/apache/synapse/Constants.java?rev=365848&r1=365847&r2=365848&view=diff
>
> ==============================================================================
> --- incubator/synapse/trunk/java/src/org/apache/synapse/Constants.java
> (original)
> +++ incubator/synapse/trunk/java/src/org/apache/synapse/Constants.java Tue
> Jan 3 23:26:14 2006
> @@ -51,8 +51,7 @@
> String SECURITY_QOS = "synapse_security";
> String ADDRESSING_PROCESSED_CONFIGURATION_CONTEXT =
> "addressing_processed_configurationContext";
>
> - // Synapse's client side repository settng
> + // addressing properites handling
>
> - String DIRECTORY_HOME_SYNAPSE_AS_CLIENT = ".synapse_as_client";
> - String HOME_USER = "user.home";
> + String ADDRESSING_PROCESSED = "__ADDRESSING_PROCESSED";
> }
>
> Modified:
> incubator/synapse/trunk/java/src/org/apache/synapse/SynapseEnvironment.java
> URL:
> http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/src/org/apache/synapse/SynapseEnvironment.java?rev=365848&r1=365847&r2=365848&view=diff
>
> ==============================================================================
> ---
> incubator/synapse/trunk/java/src/org/apache/synapse/SynapseEnvironment.java
> (original)
> +++
> incubator/synapse/trunk/java/src/org/apache/synapse/SynapseEnvironment.java
> Tue Jan 3 23:26:14 2006
> @@ -15,6 +15,9 @@
> */
> package org.apache.synapse;
>
> +import java.util.Map;
> +import java.util.HashMap;
> +
>
> /**
> *
> @@ -24,57 +27,101 @@
> *
> *
> */
> -public interface SynapseEnvironment {
> -
> - /*
> - * This method injects a new message into the Synapse engine
> - * It is used in a couple of ways. Firstly, this is how, for
> example,
> - * Axis2 kicks messages into Synapse to start with.
> - * <p>
> - * Also mediators can use this to send messages that they want to
> be mediated by Synapse
> - * <p>For example if you want to send a copy of a message
> somewhere, you can clone it and then
> - * injectMessage()
> - */
> - public void injectMessage(SynapseMessage smc);
> -
> - /*
> - * Processors or Mediators that wish to load classes should use
> the ClassLoader given here
> - */
> - public ClassLoader getClassLoader();
> -
> -
> - /**
> - * This method allows you send messages on. As opposed to
> injectMessage send message does not
> - * process these through Synapse.
> - * <p>
> - * This will send request messages on, and send response messages
> back to the client
> - */
> - public void send(SynapseMessage smc, SynapseEnvironment se);
> -
> -
> - /**
> - * This is used by the references to find a processor with a given
> name
> - *
> - */
> - public Processor lookupProcessor(String name);
> -
> -
> - /**
> - * This is how you add a processor to the list of processors. The
> name which it can be
> - * retrieved by is the processor.getName()
> - */
> - public void addProcessor(Processor p);
> -
> -
> - /**
> - * This returns the "Master Processor" which is the root processor
> for this instance of
> - * Synapse. Usually this would be the processor derived from
> <synapse>.
> - */
> - public Processor getMasterProcessor();
> -
> -
> - /**
> - * This sets the root processor for the engine.
> - */
> - public void setMasterProcessor(Processor p);
> +public abstract class SynapseEnvironment {
> +
> + protected SynapseEnvironment parent;
> + protected Map properties;
> +
> + protected SynapseEnvironment(SynapseEnvironment parent) {
> + this.properties = new HashMap();
> + this.parent = parent;
> + }
> +
> + public SynapseEnvironment getParent() {
> + return this.parent;
> + }
> +
> + public void setParent(SynapseEnvironment parent) {
> + this.parent = parent;
> + }
> +
> + /**
> + * Retrieves an object given a key.
> + *
> + * @param key - if not found, will return null
> + * @return Returns the property.
> + */
> + public Object getProperty(String key) {
> + Object obj = null;
> +
> + obj = properties.get(key);
> +
> + if ((obj == null) && (parent != null)) {
> + obj = parent.getProperty(key);
> + }
> +
> + return obj;
> + }
> +
> + /**
> + * Store a property for message context
> + *
> + * @param key
> + * @param value
> + */
> + public void setProperty(String key, Object value) {
> + properties.put(key, value);
> + }
> +
> + /*
> + * This method injects a new message into the Synapse engine
> + * It is used in a couple of ways. Firstly, this is how, for
> example,
> + * Axis2 kicks messages into Synapse to start with.
> + * <p>
> + * Also mediators can use this to send messages that they want to be
> mediated by Synapse
> + * <p>For example if you want to send a copy of a message somewhere,
> you can clone it and then
> + * injectMessage()
> + */
> + abstract public void injectMessage(SynapseMessage smc);
> +
> + /*
> + * Processors or Mediators that wish to load classes should use the
> ClassLoader given here
> + */
> + abstract public ClassLoader getClassLoader();
> +
> +
> + /**
> + * This method allows you send messages on. As opposed to
> injectMessage send message does not
> + * process these through Synapse.
> + * <p>
> + * This will send request messages on, and send response messages
> back to the client
> + */
> + abstract public void send(SynapseMessage smc, SynapseEnvironment se);
> +
> +
> + /**
> + * This is used by the references to find a processor with a given
> name
> + *
> + */
> + abstract public Processor lookupProcessor(String name);
> +
> +
> + /**
> + * This is how you add a processor to the list of processors. The
> name which it can be
> + * retrieved by is the processor.getName()
> + */
> + abstract public void addProcessor(Processor p);
> +
> +
> + /**
> + * This returns the "Master Processor" which is the root processor
> for this instance of
> + * Synapse. Usually this would be the processor derived from
> <synapse>.
> + */
> + abstract public Processor getMasterProcessor();
> +
> +
> + /**
> + * This sets the root processor for the engine.
> + */
> + abstract public void setMasterProcessor(Processor p);
> }
>
> Modified:
> incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2FlexibleMEPClient.java
> URL:
> http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2FlexibleMEPClient.java?rev=365848&r1=365847&r2=365848&view=diff
>
> ==============================================================================
> ---
> incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2FlexibleMEPClient.java
> (original)
> +++
> incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2FlexibleMEPClient.java
> Tue Jan 3 23:26:14 2006
> @@ -25,6 +25,8 @@
> import org.apache.axis2.engine.AxisConfiguration;
>
> import org.apache.axis2.soap.SOAPEnvelope;
> +import org.apache.axis2.soap.SOAPHeader;
> +import org.apache.axis2.soap.SOAPHeaderBlock;
> import org.apache.axis2.util.UUIDGenerator;
> import org.apache.axis2.deployment.util.PhasesInfo;
> import org.apache.axis2.AxisFault;
> @@ -36,6 +38,7 @@
>
>
> import javax.xml.namespace.QName;
> +import java.util.Iterator;
>
>
> /**
> @@ -45,10 +48,18 @@
>
> private static SOAPEnvelope outEnvelopeConfiguration(MessageContext
> smc) {
> SOAPEnvelope env = smc.getEnvelope();
> - env.getHeader().detach();
> + SOAPHeader soapHeader = env.getHeader();
> + if (soapHeader != null) {
> + Iterator iterator = soapHeader.getChildren();
> + while (iterator.hasNext()) {
> + SOAPHeaderBlock headerBlock = (SOAPHeaderBlock)
> iterator.next();
> + headerBlock.detach();
> + }
> + }
> return env;
> }
> - // Following code is based on Axis2 Client code.
> +
> + // Following code is based on Axis2 Client code.
> public static MessageContext send(MessageContext smc) throws
> AxisFault {
> // In this logic Synapse Work as a Client to a Server
> // So here this logic should expect 200 ok, 202 ok and 500
> internal server error
> @@ -121,7 +132,7 @@
> // variable
> response.setDoingREST(smc.isDoingREST());
> response.setProperty(Constants.ISRESPONSE_PROPERTY, new Boolean(
> - true));
> + true));
> return response;
> }
>
>
> Modified:
> incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2Sender.java
> URL:
> http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2Sender.java?rev=365848&r1=365847&r2=365848&view=diff
>
> ==============================================================================
> ---
> incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2Sender.java
> (original)
> +++
> incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2Sender.java
> Tue Jan 3 23:26:14 2006
> @@ -49,6 +49,16 @@
>
> MessageContext messageContext = ((Axis2SynapseMessage) smc)
> .getMessageContext();
> + // runtime switch between AddressingOutProcessor.
> + // By default addressing is engaged. At runtime we check
> + // SynapseEnvironemnt, whether Addressing engaged. If not
> using the following code
> + // ar runtime Synapse will desable Axis2's
> AddressingOutHandler
> + if (se.getProperty(Constants.ADDRESSING_PROCESSED) == null) {
> + messageContext
> + .setProperty(
> +
> org.apache.axis2.Constants.Configuration.DISABLE_ADDRESSING_FOR_OUT_MESSAGES
> ,
> + Boolean.TRUE);
> + }
>
> MessageContext outMsgContext = Axis2FlexibleMEPClient
> .send(messageContext);
>
> Modified:
> incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2SynapseEnvironment.java
> URL:
> http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2SynapseEnvironment.java?rev=365848&r1=365847&r2=365848&view=diff
>
> ==============================================================================
> ---
> incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2SynapseEnvironment.java
> (original)
> +++
> incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2SynapseEnvironment.java
> Tue Jan 3 23:26:14 2006
> @@ -36,19 +36,18 @@
> * <p> This is the Axis2 implementation of the SynapseEnvironment
> *
> */
> -public class Axis2SynapseEnvironment implements SynapseEnvironment {
> +public class Axis2SynapseEnvironment extends SynapseEnvironment {
> private Processor mainprocessor = null;
>
> private ClassLoader cl = null;
>
> private Map processors = new HashMap();
> - private HashMap environmentProperties = new HashMap();
>
> private Log log = LogFactory.getLog(getClass());
>
> public Axis2SynapseEnvironment(OMElement synapseConfiguration,
> ClassLoader cl) {
> - super();
> + super(null);
> this.cl = cl;
> if (synapseConfiguration!=null)
> mainprocessor =
> ProcessorConfiguratorFinder.getProcessor(this, synapseConfiguration);
> @@ -92,11 +91,4 @@
> public void setMasterProcessor(Processor p) {
> mainprocessor = p;
> }
> - // Need to have a parent and set it
> - public void setProperty(String key, Object value) {
> - environmentProperties.put(key,value);
> - }
> - public Object getProperty(String key) {
> - return environmentProperties.get(key);
> - }
> }
>
> Modified:
> incubator/synapse/trunk/java/src/org/apache/synapse/processors/builtin/axis2/AddressingInProcessor.java
> URL:
> http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/src/org/apache/synapse/processors/builtin/axis2/AddressingInProcessor.java?rev=365848&r1=365847&r2=365848&view=diff
>
> ==============================================================================
> ---
> incubator/synapse/trunk/java/src/org/apache/synapse/processors/builtin/axis2/AddressingInProcessor.java
> (original)
> +++
> incubator/synapse/trunk/java/src/org/apache/synapse/processors/builtin/axis2/AddressingInProcessor.java
> Tue Jan 3 23:26:14 2006
> @@ -17,7 +17,6 @@
> package org.apache.synapse.processors.builtin.axis2;
>
>
> -
> import org.apache.axis2.AxisFault;
> import org.apache.axis2.context.*;
> import org.apache.axis2.description.AxisOperation;
> @@ -49,106 +48,140 @@
> public class AddressingInProcessor extends AbstractProcessor {
> private Log log = LogFactory.getLog(getClass());
>
> +// public boolean process(SynapseEnvironment se, SynapseMessage smc) {
> +// log.debug("process");
> +// try {
> +// MessageContext mc = ((Axis2SynapseMessage) smc)
> +// .getMessageContext();
>
> +// ///////////////////////////////////////////////////////////////////
> +// // Default Configurations. We are not going to alter these
> configurtions
> +// ConfigurationContext cc = mc.getConfigurationContext();
> +// AxisConfiguration ac = cc.getAxisConfiguration();
>
> +// //////////////////////////////////////////////////////////////////
> +//// AxisService as = ac.getService(Constants.EMPTYMEDIATOR);
> +//// if (as == null)
> +//// throw new SynapseException("cannot locate service "
> +//// + Constants.EMPTYMEDIATOR);
> +//
>
> +// ///////////////////////////////////////////////////////////////////
>
> +// //////////////////////////////////////////////////////////////////
> +// // making addressing on/off behavior possible
> +// // default addressing is on. Allow MessageContext to pass
> through the chain
> +// // and fill the addressingHeaderInformation. Once the chain
> is excuted old ConfigurationContext
> +// // set to the MessageContext.
> +// // inorder to make this possible, we create a new
> ConfigurationContext
> +// // from scratch. Then add the service, operation and
> MessageReceiver
> +// // programatically. After the invocation, old
> ConfigurationContext and
> +// // AxisConfiguration is set to the MessageContext
> +//
> +// ConfigurationContextFactory configCtxFac =
> +// new ConfigurationContextFactory();
> +// ConfigurationContext configCtx =
> +// configCtxFac.buildConfigurationContext(null);
> +// AxisConfiguration axisConfig =
> configCtx.getAxisConfiguration();
> +//
> +// AxisService service = new AxisService(
> Constants.EMPTYMEDIATOR);
> +// service.setClassLoader(ac.getServiceClassLoader());
> +// AxisOperation axisOp =
> +// new InOutAxisOperation(
> Constants.MEDIATE_OPERATION_NAME);
> +// axisOp.setMessageReceiver(new EmptyMessageReceiver());
> +// service.addOperation(axisOp);
> +// axisConfig.addService(service);
> +//
> +// mc.setConfigurationContext(configCtx);
> +//
> +// //setging the addressing enable ConfigurationContext to
> SynapeMessage
> +//
> +// smc.setProperty(
> +//
> Constants.ADDRESSING_PROCESSED_CONFIGURATION_CONTEXT,
> +// configCtx);
>
> +// //////////////////////////////////////////////////////////////////
>
> +// //////////////////////////////////////////////////////////////////
> +// //AxisEngine ae = new AxisEngine(cc);
> +// AxisEngine ae = new AxisEngine(configCtx);
> +//
> +// // see if addressing already engage
> +//// boolean addressingModuleEngage = false;
> +//// for (Iterator iterator = ac.getEngagedModules
> ().iterator();
> +//// iterator.hasNext();) {
> +//// QName qname = (QName) iterator.next();
> +//// if (qname.getLocalPart()
> +//// .equals(
> org.apache.axis2.Constants.MODULE_ADDRESSING)) {
> +//// addressingModuleEngage = true;
> +//// break;
> +//// }
> +//// }
> +//// if (!addressingModuleEngage) {
> +//// ac.engageModule(new QName(
> +//// org.apache.axis2.Constants.MODULE_ADDRESSING
> ));
> +//// }
> +//// AxisOperation ao = as
> +//// .getOperation(Constants.MEDIATE_OPERATION_NAME);
> +//// OperationContext oc = OperationContextFactory
> +//// .createOperationContext(
> ao.getAxisSpecifMEPConstant(), ao);
> +// OperationContext oc = OperationContextFactory
> +// .createOperationContext(
> axisOp.getAxisSpecifMEPConstant(),
> +// axisOp);
> +// //ao.registerOperationContext(mc, oc);
> +// axisOp.registerOperationContext(mc, oc);
> +//
> +// //ServiceContext sc = Utils.fillContextInformation(ao, as,
> cc);
> +// ServiceContext sc =
> +// Utils.fillContextInformation(axisOp, service,
> configCtx);
> +// oc.setParent(sc);
> +//
> +// mc.setOperationContext(oc);
> +// mc.setServiceContext(sc);
> +//
> +//// mc.setAxisOperation(ao);
> +//// mc.setAxisService(as);
> +// mc.setAxisOperation(axisOp);
> +// mc.setAxisService(service);
> +//
> +// ae.receive(mc);
>
> +// //////////////////////////////////////////////////////////////////////
> +// // Now the MessageContext is filled with SOAP properties.
> We don't need to send
> +// // this message anymore time through AddressingInHandler.
> But we need to send it through
> +// // AddressingOutHandler
> +// // Thus, setting the Default ConfigurationContext
> +// mc.setConfigurationContext(cc);
>
> +// /////////////////////////////////////////////////////////////////////
> +//
> +// } catch (AxisFault e) {
> +// throw new SynapseException(e);
> +// }
> +// return true;
> +// }
> +
> public boolean process(SynapseEnvironment se, SynapseMessage smc) {
> - log.debug("process");
> + log.debug("Processing __AddressingInHandler__");
> try {
> - MessageContext mc = ((Axis2SynapseMessage) smc)
> - .getMessageContext();
>
> - ///////////////////////////////////////////////////////////////////
> - // Default Configurations. We are not going to alter these
> configurtions
> + MessageContext mc =
> ((Axis2SynapseMessage)smc).getMessageContext();
> + se.setProperty(Constants.ADDRESSING_PROCESSED,Boolean.TRUE);
> + // default configuration_contex and axis_configuration
> ConfigurationContext cc = mc.getConfigurationContext();
> AxisConfiguration ac = cc.getAxisConfiguration();
>
> - //////////////////////////////////////////////////////////////////
> -// AxisService as = ac.getService(Constants.EMPTYMEDIATOR);
> -// if (as == null)
> -// throw new SynapseException("cannot locate service "
> -// + Constants.EMPTYMEDIATOR);
> -
>
> - ///////////////////////////////////////////////////////////////////
>
> - //////////////////////////////////////////////////////////////////
> - // making addressing on/off behavior possible
> - // default addressing is on. Allow MessageContext to pass
> through the chain
> - // and fill the addressingHeaderInformation. Once the chain
> is excuted old ConfigurationContext
> - // set to the MessageContext.
> - // inorder to make this possible, we create a new
> ConfigurationContext
> - // from scratch. Then add the service, operation and
> MessageReceiver
> - // programatically. After the invocation, old
> ConfigurationContext and
> - // AxisConfiguration is set to the MessageContext
> -
> - ConfigurationContextFactory configCtxFac =
> - new ConfigurationContextFactory();
> - ConfigurationContext configCtx =
> - configCtxFac.buildConfigurationContext(null);
> - AxisConfiguration axisConfig = configCtx.getAxisConfiguration
> ();
> -
> - AxisService service = new AxisService(Constants.EMPTYMEDIATOR
> );
> - service.setClassLoader(ac.getServiceClassLoader());
> - AxisOperation axisOp =
> - new InOutAxisOperation(
> Constants.MEDIATE_OPERATION_NAME);
> - axisOp.setMessageReceiver(new EmptyMessageReceiver());
> - service.addOperation(axisOp);
> - axisConfig.addService(service);
> -
> - mc.setConfigurationContext(configCtx);
> -
> - //setging the addressing enable ConfigurationContext to
> SynapeMessage
> -
> - smc.setProperty(
> Constants.ADDRESSING_PROCESSED_CONFIGURATION_CONTEXT,
> - configCtx);
>
> - //////////////////////////////////////////////////////////////////
>
> - //////////////////////////////////////////////////////////////////
> - //AxisEngine ae = new AxisEngine(cc);
> - AxisEngine ae = new AxisEngine(configCtx);
> -
> - // see if addressing already engage
> -// boolean addressingModuleEngage = false;
> -// for (Iterator iterator = ac.getEngagedModules().iterator();
> -// iterator.hasNext();) {
> -// QName qname = (QName) iterator.next();
> -// if (qname.getLocalPart()
> -// .equals(
> org.apache.axis2.Constants.MODULE_ADDRESSING)) {
> -// addressingModuleEngage = true;
> -// break;
> -// }
> -// }
> -// if (!addressingModuleEngage) {
> -// ac.engageModule(new QName(
> -// org.apache.axis2.Constants.MODULE_ADDRESSING));
> -// }
> -// AxisOperation ao = as
> -// .getOperation(Constants.MEDIATE_OPERATION_NAME);
> -// OperationContext oc = OperationContextFactory
> -// .createOperationContext(ao.getAxisSpecifMEPConstant(),
> ao);
> + AxisService as = ac.getService(Constants.EMPTYMEDIATOR);
> + if (as == null)
> + throw new SynapseException("cannot locate service "
> + + Constants.EMPTYMEDIATOR);
> +
> + AxisEngine ae = new AxisEngine(cc);
> + AxisOperation ao = as
> + .getOperation(Constants.MEDIATE_OPERATION_NAME);
> OperationContext oc = OperationContextFactory
> - .createOperationContext(
> axisOp.getAxisSpecifMEPConstant(),
> - axisOp);
> - //ao.registerOperationContext(mc, oc);
> - axisOp.registerOperationContext(mc, oc);
> -
> - //ServiceContext sc = Utils.fillContextInformation(ao, as,
> cc);
> - ServiceContext sc =
> - Utils.fillContextInformation(axisOp, service,
> configCtx);
> + .createOperationContext(ao.getAxisSpecifMEPConstant(),
> ao);
> + ao.registerOperationContext(mc,oc);
> + ServiceContext sc = Utils.fillContextInformation(ao, as, cc);
> oc.setParent(sc);
> -
> - mc.setOperationContext(oc);
> - mc.setServiceContext(sc);
> -
> -// mc.setAxisOperation(ao);
> -// mc.setAxisService(as);
> - mc.setAxisOperation(axisOp);
> - mc.setAxisService(service);
> -
> + mc.setAxisOperation(ao);
> + mc.setAxisService(as);
> ae.receive(mc);
>
> - //////////////////////////////////////////////////////////////////////
> - // Now the MessageContext is filled with SOAP properties. We
> don't need to send
> - // this message anymore time through AddressingInHandler. But
> we need to send it through
> - // AddressingOutHandler
> - // Thus, setting the Default ConfigurationContext
> - mc.setConfigurationContext(cc);
>
> - /////////////////////////////////////////////////////////////////////
>
> - } catch (AxisFault e) {
> - throw new SynapseException(e);
> + } catch (AxisFault axisFault) {
> + throw new SynapseException(
> + "__AddresingInHandler__ caught an Exception" +
> + axisFault.getMessage());
> }
> return true;
> }
>
> Modified:
> incubator/synapse/trunk/java/synapse-test-resources/axis2/axis2.xml
> URL:
> http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/synapse-test-resources/axis2/axis2.xml?rev=365848&r1=365847&r2=365848&view=diff
>
> ==============================================================================
> --- incubator/synapse/trunk/java/synapse-test-resources/axis2/axis2.xml
> (original)
> +++ incubator/synapse/trunk/java/synapse-test-resources/axis2/axis2.xml
> Tue Jan 3 23:26:14 2006
> @@ -60,15 +60,15 @@
> <parameter name="port" locked="false">6060</parameter>
> </transportReceiver>
>
> - <!--<transportReceiver name="jms"-->
> - <!--class="
> org.apache.axis2.transport.jms.SimpleJMSListener">-->
> - <!--<parameter name="transport.jms.Destination"
> locked="false">-->
> - <!--dynamicQueues/FOO</parameter>-->
> - <!--<parameter name="java.naming.factory.initial"
> locked="false">-->
> - <!--org.activemq.jndi.ActiveMQInitialContextFactory
> </parameter>-->
> - <!--<parameter name="java.naming.provider.url" locked="false">-->
> - <!--tcp://localhost:61616</parameter>-->
> - <!--</transportReceiver>-->
> + <transportReceiver name="jms"
> + class="
> org.apache.axis2.transport.jms.SimpleJMSListener">
> + <parameter name="transport.jms.Destination" locked="false">
> + dynamicQueues/FOO</parameter>
> + <parameter name="java.naming.factory.initial" locked="false">
> + org.activemq.jndi.ActiveMQInitialContextFactory</parameter>
> + <parameter name="java.naming.provider.url" locked="false">
> + tcp://localhost:61616</parameter>
> + </transportReceiver>
>
> <!-- ================================================= -->
> <!-- Transport Outs -->
> @@ -78,8 +78,8 @@
> class="
> org.apache.axis2.transport.tcp.TCPTransportSender"/>
> <transportSender name="local"
> class="
> org.apache.axis2.transport.local.LocalTransportSender"/>
> - <!--<transportSender name="jms"-->
> - <!--class="org.apache.axis2.transport.jms.JMSSender
> "/>-->
> + <transportSender name="jms"
> + class="org.apache.axis2.transport.jms.JMSSender"/>
> <transportSender name="http"
> class="
> org.apache.axis2.transport.http.CommonsHTTPTransportSender">
> <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
> @@ -102,7 +102,7 @@
> <!-- Global Modules -->
> <!-- ================================================= -->
> <!-- Comment this to disable Addressing -->
> - <!--<module ref="addressing"/>-->
> + <module ref="addressing"/>
>
>
> <!--Configuring module , providing parameters for modules whether
> they refer or not-->
>
> Modified:
> incubator/synapse/trunk/java/test/org/apache/synapse/spi/processors/AddressingProcessorTest.java
> URL:
> http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/test/org/apache/synapse/spi/processors/AddressingProcessorTest.java?rev=365848&r1=365847&r2=365848&view=diff
>
> ==============================================================================
> ---
> incubator/synapse/trunk/java/test/org/apache/synapse/spi/processors/AddressingProcessorTest.java
> (original)
> +++
> incubator/synapse/trunk/java/test/org/apache/synapse/spi/processors/AddressingProcessorTest.java
> Tue Jan 3 23:26:14 2006
> @@ -4,8 +4,10 @@
> import org.apache.synapse.SynapseMessage;
> import org.apache.synapse.Constants;
> import org.apache.synapse.Processor;
> +import org.apache.synapse.SynapseEnvironment;
> import org.apache.synapse.processors.builtin.axis2.AddressingInProcessor;
> import org.apache.synapse.axis2.Axis2SynapseMessage;
> +import org.apache.synapse.axis2.Axis2SynapseEnvironment;
> import junit.framework.TestCase;
> /*
> * Copyright 2004,2005 The Apache Software Foundation.
> @@ -30,7 +32,8 @@
> SynapseMessage sm = new Axis2SynapseMessage(
> Axis2EvnSetup.axis2Deployment
> ("target/synapse-repository"));
> Processor addressingProcessor = new AddressingInProcessor();
> - boolean result = addressingProcessor.process(null,sm);
> + SynapseEnvironment env = new Axis2SynapseEnvironment(null,null);
> + boolean result = addressingProcessor.process(env,sm);
> assertTrue(((Boolean) sm.getProperty(
> Constants.MEDIATOR_RESPONSE_PROPERTY)).booleanValue());
> assertTrue(result);
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: synapse-dev-help@ws.apache.org
>
>
Re: svn commit: r365848 - in /incubator/synapse/trunk/java: ./ repository/modules/ src/org/apache/synapse/ src/org/apache/synapse/axis2/ src/org/apache/synapse/processors/builtin/axis2/ synapse-test-resources/axis2/ test/org/apache/synapse/spi/proces
Posted by Paul Fremantle <pz...@gmail.com>.
Ant
I agree. It seems unnecessary!
Paul
On 1/16/06, ant elder <an...@gmail.com> wrote:
>
> Why was SynapseEnvironment changed from an interface to an abstract class
> with the parent SynapseEnvironment stuff? The parent isn't actually used
> anywhere is it?
>
> ...ant
>
> On 1/4/06, saminda@apache.org <sa...@apache.org> wrote:
> >
> > Author: saminda
> > Date: Tue Jan 3 23:26:14 2006
> > New Revision: 365848
> >
> > URL: http://svn.apache.org/viewcvs?rev=365848&view=rev
> > Log:
> > Major change in AddressinInProcessor, SynapseEnvironment and
> > SendProcessor.
> >
> > 1.By default Synapse will engage addressing module :). Using the Axis2'
> > property setting on message context
> > (msgContext.setProperty(
> > Constants.Configuration.DISABLE_ADDRESSING_FOR_OUT_MESSAGES,
> > Boolean.TRUE) at runtime Axis2
> > can false through AddressingOutHandler even though addressing is
> > engaged. If a rule say <engage-addressing-in/> and
> > Synapse will hit AddressingInProcessor. There Processor set the property
> > se.setProperty(Constants.ADDRESSING_PROCESSED ,Boolean.TRUE); . This
> > property will late use to false through
> > AddressingOutHandler.
> > 2.SynapseEnviroment has changed to a abstract class. This call hold the
> > property bag.
> >
> > Modified:
> > incubator/synapse/trunk/java/maven.xml
> > incubator/synapse/trunk/java/repository/modules/addressing.mar
> > incubator/synapse/trunk/java/src/org/apache/synapse/Constants.java
> > incubator/synapse/trunk/java/src/org/apache/synapse/SynapseEnvironment.java
> >
> >
> > incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2FlexibleMEPClient.java
> >
> > incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2Sender.java
> > incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2SynapseEnvironment.java
> >
> >
> > incubator/synapse/trunk/java/src/org/apache/synapse/processors/builtin/axis2/AddressingInProcessor.java
> > incubator/synapse/trunk/java/synapse-test-resources/axis2/axis2.xml
> > incubator/synapse/trunk/java/test/org/apache/synapse/spi/processors/AddressingProcessorTest.java
> >
> >
> > Modified: incubator/synapse/trunk/java/maven.xml
> > URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/maven.xml?rev=365848&r1=365847&r2=365848&view=diff
> >
> >
> > ==============================================================================
> > --- incubator/synapse/trunk/java/maven.xml (original)
> > +++ incubator/synapse/trunk/java/maven.xml Tue Jan 3 23:26:14 2006
> > @@ -52,13 +52,13 @@
> > <include name="**"/>
> > </jar>
> > <echo message="----------------Creating Empty Mediator
> > aar----------------"/>
> > - <!--<mkdir dir="target/services/emptymediator/META-INF"/>-->
> > - <!--<copy
> > file="synapse-test-resources/axis2/services/emptymediator/META-INF/services.xml"-->
> > - <!--tofile="target/services/emptymediator/META-INF/services.xml"/>-->
> >
> > - <!--<jar jarfile="target/emptymediator.aar"-->
> > - <!--basedir="target/services/emptymediator">-->
> > - <!--<include name="**"/>-->
> > - <!--</jar>-->
> > + <mkdir dir="target/services/emptymediator/META-INF"/>
> > + <copy
> > file="synapse-test-resources/axis2/services/emptymediator/META-INF/services.xml"
> >
> >
> > + tofile="target/services/emptymediator/META-INF/services.xml"/>
> > + <jar jarfile="target/emptymediator.aar"
> > + basedir="target/services/emptymediator">
> > + <include name="**"/>
> > + </jar>
> > <j:if test="${context.getVariable('maven.test.skip') !=
> > 'true'}">
> >
> > <echo message="----------------Creating NPE
> > aar----------------"/>
> > @@ -102,8 +102,8 @@
> >
> > tofile="target/synapse-repository-sendon/services/synapse.aar"/>
> > <copy file="target/npe.aar"
> >
> > tofile="target/synapse-repository-sendon/services/npe.aar"/>
> > - <!--<copy file="target/emptymediator.aar"-->
> >
> > - <!--tofile="target/synapse-repository-sendon/services/emptymediator.aar"/>-->
> > + <copy file="target/emptymediator.aar"
> >
> > + tofile="target/synapse-repository-sendon/services/emptymediator.aar"/>
> > <mkdir dir="target/synapse-repository-sendon/modules"/>
> > <copy
> > file="synapse-test-resources/axis2/modules/addressing.mar"
> >
> > tofile="target/synapse-repository-sendon/modules/addressing.mar"/>
> > @@ -119,8 +119,8 @@
> >
> > tofile="target/synapse-repository-sendonAxis2/services/npe.aar"/>
> > <copy file="target/test-mediator.aar"
> >
> > tofile="target/synapse-repository-sendonAxis2/services/test-mediator.aar
> > "/>
> > -
> > -
> > + <copy file="target/emptymediator.aar"
> >
> > + tofile="target/synapse-repository-sendonAxis2/services/emptymediator.aar"/>
> > <copy
> > file="synapse-test-resources/axis2/modules/addressing.mar"
> >
> > tofile="target/synapse-repository-sendonAxis2/modules/addressing.mar"/>
> > <copy file="repository/axis2.xml"
> > @@ -131,6 +131,8 @@
> >
> > <copy file="target/environmentaware-mediator.aar"
> >
> > tofile="target/synapse-repository-environmentaware/services/environmentaware-
> > mediator.aar"/>
> > + <copy file="target/emptymediator.aar"
> >
> > + tofile="target/synapse-repository-sendon/services/emptymediator.aar"/>
> > <copy file="target/synapse.aar"
> >
> > tofile="target/synapse-repository-environmentaware/services/synapse.aar"/>
> > <copy
> > file="synapse-test-resources/axis2/modules/addressing.mar"
> > @@ -153,8 +155,8 @@
> > <mkdir dir="target/synapse-repository"/>
> > <copy file="target/synapse.aar"
> > tofile="target/synapse-repository/services/synapse.aar"/>
> > - <!--<copy file="target/emptymediator.aar"-->
> >
> > - <!--tofile="target/synapse-repository/services/emptymediator.aar"/>-->
> > + <copy file="target/emptymediator.aar"
> > + tofile="target/synapse-repository/services/emptymediator.aar"/>
> >
> > <mkdir dir="target/synapse-repository/modules"/>
> > <copy
> > file="synapse-test-resources/axis2/modules/addressing.mar"
> >
> > tofile="target/synapse-repository/modules/addressing.mar"/>
> > @@ -167,8 +169,8 @@
> > <mkdir dir="target/synapse-repository-fault"/>
> > <copy file="target/synapse.aar"
> >
> > tofile="target/synapse-repository-fault/services/synapse.aar"/>
> > - <!--<copy file="target/emptymediator.aar"-->
> >
> > - <!--tofile="target/synapse-repository-fault/services/emptymediator.aar"/>-->
> > + <copy file="target/emptymediator.aar"
> >
> > + tofile="target/synapse-repository-fault/services/emptymediator.aar"/>
> > <mkdir dir="target/synapse-repository-fault/modules"/>
> > <copy
> > file="synapse-test-resources/axis2/modules/addressing.mar"
> >
> > tofile="target/synapse-repository-fault/modules/addressing.mar"/>
> > @@ -181,8 +183,8 @@
> > <mkdir dir="target/synapse-repository-send"/>
> > <copy file="target/synapse.aar"
> >
> > tofile="target/synapse-repository-send/services/synapse.aar"/>
> > - <!--<copy file="target/emptymediator.aar"-->
> > - <!--tofile="target/synapse-repository-send/services/emptymediator.aar"/>-->
> >
> > + <copy file="target/emptymediator.aar"
> >
> > + tofile="target/synapse-repository-send/services/emptymediator.aar"/>
> > <mkdir dir="target/synapse-repository-send/modules"/>
> > <copy
> > file="synapse-test-resources/axis2/modules/addressing.mar"
> >
> > tofile="target/synapse-repository-send/modules/addressing.mar"/>
> > @@ -219,7 +221,7 @@
> >
> > <ant:delete dir="target/modules"/>
> > <ant:delete dir="target/services"/>
> > - <!--<ant:delete file="target/emptymediator.aar"/>-->
> > + <ant:delete file="target/emptymediator.aar"/>
> > <ant:delete file="target/synapse.aar"/>
> > <ant:delete dir="target/sample-deprecation"/>
> > <ant:delete file="target/DeprecationMediator.aar"/>
> >
> > Modified: incubator/synapse/trunk/java/repository/modules/addressing.mar
> > URL:
> > http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/repository/modules/addressing.mar?rev=365848&r1=365847&r2=365848&view=diff
> > ==============================================================================
> >
> > Binary files - no diff available.
> >
> > Modified:
> > incubator/synapse/trunk/java/src/org/apache/synapse/Constants.java
> > URL:
> > http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/src/org/apache/synapse/Constants.java?rev=365848&r1=365847&r2=365848&view=diff
> > ==============================================================================
> >
> > --- incubator/synapse/trunk/java/src/org/apache/synapse/Constants.java
> > (original)
> > +++ incubator/synapse/trunk/java/src/org/apache/synapse/Constants.java
> > Tue Jan 3 23:26:14 2006
> > @@ -51,8 +51,7 @@
> > String SECURITY_QOS = "synapse_security";
> > String ADDRESSING_PROCESSED_CONFIGURATION_CONTEXT =
> > "addressing_processed_configurationContext";
> >
> > - // Synapse's client side repository settng
> > + // addressing properites handling
> >
> > - String DIRECTORY_HOME_SYNAPSE_AS_CLIENT = ".synapse_as_client";
> > - String HOME_USER = "user.home";
> > + String ADDRESSING_PROCESSED = "__ADDRESSING_PROCESSED";
> > }
> >
> > Modified:
> > incubator/synapse/trunk/java/src/org/apache/synapse/SynapseEnvironment.java
> > URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/src/org/apache/synapse/SynapseEnvironment.java?rev=365848&r1=365847&r2=365848&view=diff
> >
> >
> > ==============================================================================
> > ---
> > incubator/synapse/trunk/java/src/org/apache/synapse/SynapseEnvironment.java
> > (original)
> > +++
> > incubator/synapse/trunk/java/src/org/apache/synapse/SynapseEnvironment.java
> > Tue Jan 3 23:26:14 2006
> > @@ -15,6 +15,9 @@
> > */
> > package org.apache.synapse;
> >
> > +import java.util.Map;
> > +import java.util.HashMap;
> > +
> >
> > /**
> > *
> > @@ -24,57 +27,101 @@
> > *
> > *
> > */
> > -public interface SynapseEnvironment {
> > -
> > - /*
> > - * This method injects a new message into the Synapse engine
> > - * It is used in a couple of ways. Firstly, this is how, for
> > example,
> > - * Axis2 kicks messages into Synapse to start with.
> > - * <p>
> > - * Also mediators can use this to send messages that they want
> > to be mediated by Synapse
> > - * <p>For example if you want to send a copy of a message
> > somewhere, you can clone it and then
> > - * injectMessage()
> > - */
> > - public void injectMessage(SynapseMessage smc);
> > -
> > - /*
> > - * Processors or Mediators that wish to load classes should use
> > the ClassLoader given here
> > - */
> > - public ClassLoader getClassLoader();
> > -
> > -
> > - /**
> > - * This method allows you send messages on. As opposed to
> > injectMessage send message does not
> > - * process these through Synapse.
> > - * <p>
> > - * This will send request messages on, and send response
> > messages back to the client
> > - */
> > - public void send(SynapseMessage smc, SynapseEnvironment se);
> > -
> > -
> > - /**
> > - * This is used by the references to find a processor with a
> > given name
> > - *
> > - */
> > - public Processor lookupProcessor(String name);
> > -
> > -
> > - /**
> > - * This is how you add a processor to the list of processors.
> > The name which it can be
> > - * retrieved by is the processor.getName()
> > - */
> > - public void addProcessor(Processor p);
> > -
> > -
> > - /**
> > - * This returns the "Master Processor" which is the root
> > processor for this instance of
> > - * Synapse. Usually this would be the processor derived from
> > <synapse>.
> > - */
> > - public Processor getMasterProcessor();
> > -
> > -
> > - /**
> > - * This sets the root processor for the engine.
> > - */
> > - public void setMasterProcessor(Processor p);
> > +public abstract class SynapseEnvironment {
> > +
> > + protected SynapseEnvironment parent;
> > + protected Map properties;
> > +
> > + protected SynapseEnvironment(SynapseEnvironment parent) {
> > + this.properties = new HashMap();
> > + this.parent = parent;
> > + }
> > +
> > + public SynapseEnvironment getParent() {
> > + return this.parent;
> > + }
> > +
> > + public void setParent(SynapseEnvironment parent) {
> > + this.parent = parent;
> > + }
> > +
> > + /**
> > + * Retrieves an object given a key.
> > + *
> > + * @param key - if not found, will return null
> > + * @return Returns the property.
> > + */
> > + public Object getProperty(String key) {
> > + Object obj = null;
> > +
> > + obj = properties.get(key);
> > +
> > + if ((obj == null) && (parent != null)) {
> > + obj = parent.getProperty (key);
> > + }
> > +
> > + return obj;
> > + }
> > +
> > + /**
> > + * Store a property for message context
> > + *
> > + * @param key
> > + * @param value
> > + */
> > + public void setProperty(String key, Object value) {
> > + properties.put(key, value);
> > + }
> > +
> > + /*
> > + * This method injects a new message into the Synapse engine
> > + * It is used in a couple of ways. Firstly, this is how, for
> > example,
> > + * Axis2 kicks messages into Synapse to start with.
> > + * <p>
> > + * Also mediators can use this to send messages that they want to
> > be mediated by Synapse
> > + * <p>For example if you want to send a copy of a message
> > somewhere, you can clone it and then
> > + * injectMessage()
> > + */
> > + abstract public void injectMessage(SynapseMessage smc);
> > +
> > + /*
> > + * Processors or Mediators that wish to load classes should use
> > the ClassLoader given here
> > + */
> > + abstract public ClassLoader getClassLoader();
> > +
> > +
> > + /**
> > + * This method allows you send messages on. As opposed to
> > injectMessage send message does not
> > + * process these through Synapse.
> > + * <p>
> > + * This will send request messages on, and send response messages
> > back to the client
> > + */
> > + abstract public void send(SynapseMessage smc, SynapseEnvironment
> > se);
> > +
> > +
> > + /**
> > + * This is used by the references to find a processor with a given
> > name
> > + *
> > + */
> > + abstract public Processor lookupProcessor(String name);
> > +
> > +
> > + /**
> > + * This is how you add a processor to the list of processors. The
> > name which it can be
> > + * retrieved by is the processor.getName()
> > + */
> > + abstract public void addProcessor(Processor p);
> > +
> > +
> > + /**
> > + * This returns the "Master Processor" which is the root processor
> > for this instance of
> > + * Synapse. Usually this would be the processor derived from
> > <synapse>.
> > + */
> > + abstract public Processor getMasterProcessor();
> > +
> > +
> > + /**
> > + * This sets the root processor for the engine.
> > + */
> > + abstract public void setMasterProcessor(Processor p);
> > }
> >
> > Modified:
> > incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2FlexibleMEPClient.java
> > URL:
> > http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2FlexibleMEPClient.java?rev=365848&r1=365847&r2=365848&view=diff
> > ==============================================================================
> >
> > ---
> > incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2FlexibleMEPClient.java
> > (original)
> > +++
> > incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2FlexibleMEPClient.java
> > Tue Jan 3 23:26:14 2006
> > @@ -25,6 +25,8 @@
> > import org.apache.axis2.engine.AxisConfiguration;
> >
> > import org.apache.axis2.soap.SOAPEnvelope;
> > +import org.apache.axis2.soap.SOAPHeader;
> > +import org.apache.axis2.soap.SOAPHeaderBlock;
> > import org.apache.axis2.util.UUIDGenerator;
> > import org.apache.axis2.deployment.util.PhasesInfo;
> > import org.apache.axis2.AxisFault;
> > @@ -36,6 +38,7 @@
> >
> >
> > import javax.xml.namespace.QName;
> > +import java.util.Iterator;
> >
> >
> > /**
> > @@ -45,10 +48,18 @@
> >
> > private static SOAPEnvelope outEnvelopeConfiguration(MessageContext
> > smc) {
> > SOAPEnvelope env = smc.getEnvelope();
> > - env.getHeader ().detach();
> > + SOAPHeader soapHeader = env.getHeader();
> > + if (soapHeader != null) {
> > + Iterator iterator = soapHeader.getChildren();
> > + while (iterator.hasNext()) {
> > + SOAPHeaderBlock headerBlock = (SOAPHeaderBlock)
> > iterator.next();
> > + headerBlock.detach();
> > + }
> > + }
> > return env;
> > }
> > - // Following code is based on Axis2 Client code.
> > +
> > + // Following code is based on Axis2 Client code.
> > public static MessageContext send(MessageContext smc) throws
> > AxisFault {
> > // In this logic Synapse Work as a Client to a Server
> > // So here this logic should expect 200 ok, 202 ok and 500
> > internal server error
> > @@ -121,7 +132,7 @@
> > // variable
> > response.setDoingREST(smc.isDoingREST());
> > response.setProperty(Constants.ISRESPONSE_PROPERTY, new
> > Boolean(
> > - true));
> > + true));
> > return response;
> > }
> >
> >
> > Modified:
> > incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2Sender.java
> > URL:
> > http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2Sender.java?rev=365848&r1=365847&r2=365848&view=diff
> > ==============================================================================
> >
> > ---
> > incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2Sender.java
> > (original)
> > +++
> > incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2Sender.java
> > Tue Jan 3 23:26:14 2006
> > @@ -49,6 +49,16 @@
> >
> > MessageContext messageContext = ((Axis2SynapseMessage) smc)
> > .getMessageContext();
> > + // runtime switch between AddressingOutProcessor.
> > + // By default addressing is engaged. At runtime we check
> > + // SynapseEnvironemnt, whether Addressing engaged. If not
> > using the following code
> > + // ar runtime Synapse will desable Axis2's
> > AddressingOutHandler
> > + if (se.getProperty(Constants.ADDRESSING_PROCESSED ) ==
> > null) {
> > + messageContext
> > + .setProperty(
> > +
> > org.apache.axis2.Constants.Configuration.DISABLE_ADDRESSING_FOR_OUT_MESSAGES
> > ,
> > + Boolean.TRUE);
> > + }
> >
> > MessageContext outMsgContext = Axis2FlexibleMEPClient
> > .send(messageContext);
> >
> > Modified:
> > incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2SynapseEnvironment.java
> >
> > URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2SynapseEnvironment.java?rev=365848&r1=365847&r2=365848&view=diff
> >
> >
> > ==============================================================================
> > ---
> > incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2SynapseEnvironment.java
> > (original)
> > +++
> > incubator/synapse/trunk/java/src/org/apache/synapse/axis2/Axis2SynapseEnvironment.java
> > Tue Jan 3 23:26:14 2006
> > @@ -36,19 +36,18 @@
> > * <p> This is the Axis2 implementation of the SynapseEnvironment
> > *
> > */
> > -public class Axis2SynapseEnvironment implements SynapseEnvironment {
> > +public class Axis2SynapseEnvironment extends SynapseEnvironment {
> > private Processor mainprocessor = null;
> >
> > private ClassLoader cl = null;
> >
> > private Map processors = new HashMap();
> > - private HashMap environmentProperties = new HashMap();
> >
> > private Log log = LogFactory.getLog(getClass());
> >
> > public Axis2SynapseEnvironment(OMElement synapseConfiguration,
> > ClassLoader cl) {
> > - super();
> > + super(null);
> > this.cl = cl;
> > if (synapseConfiguration!=null)
> > mainprocessor =
> > ProcessorConfiguratorFinder.getProcessor(this, synapseConfiguration);
> > @@ -92,11 +91,4 @@
> > public void setMasterProcessor(Processor p) {
> > mainprocessor = p;
> > }
> > - // Need to have a parent and set it
> > - public void setProperty(String key, Object value) {
> > - environmentProperties.put(key,value);
> > - }
> > - public Object getProperty(String key) {
> > - return environmentProperties.get(key);
> > - }
> > }
> >
> > Modified:
> > incubator/synapse/trunk/java/src/org/apache/synapse/processors/builtin/axis2/AddressingInProcessor.java
> >
> > URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/src/org/apache/synapse/processors/builtin/axis2/AddressingInProcessor.java?rev=365848&r1=365847&r2=365848&view=diff
> >
> >
> > ==============================================================================
> > ---
> > incubator/synapse/trunk/java/src/org/apache/synapse/processors/builtin/axis2/AddressingInProcessor.java
> > (original)
> > +++
> > incubator/synapse/trunk/java/src/org/apache/synapse/processors/builtin/axis2/AddressingInProcessor.java
> > Tue Jan 3 23:26:14 2006
> > @@ -17,7 +17,6 @@
> > package org.apache.synapse.processors.builtin.axis2;
> >
> >
> > -
> > import org.apache.axis2.AxisFault;
> > import org.apache.axis2.context.*;
> > import org.apache.axis2.description.AxisOperation ;
> > @@ -49,106 +48,140 @@
> > public class AddressingInProcessor extends AbstractProcessor {
> > private Log log = LogFactory.getLog(getClass());
> >
> > +// public boolean process(SynapseEnvironment se, SynapseMessage smc)
> > {
> > +// log.debug("process");
> > +// try {
> > +// MessageContext mc = ((Axis2SynapseMessage) smc)
> > +// .getMessageContext();
> > +// ///////////////////////////////////////////////////////////////////
> >
> > +// // Default Configurations. We are not going to alter
> > these configurtions
> > +// ConfigurationContext cc = mc.getConfigurationContext();
> > +// AxisConfiguration ac = cc.getAxisConfiguration ();
> >
> > +// //////////////////////////////////////////////////////////////////
> > +//// AxisService as = ac.getService(Constants.EMPTYMEDIATOR
> > );
> > +//// if (as == null)
> > +//// throw new SynapseException("cannot locate service "
> >
> > +//// + Constants.EMPTYMEDIATOR);
> > +//
> >
> > +// ///////////////////////////////////////////////////////////////////
> > +// //////////////////////////////////////////////////////////////////
> >
> > +// // making addressing on/off behavior possible
> > +// // default addressing is on. Allow MessageContext to pass
> > through the chain
> > +// // and fill the addressingHeaderInformation. Once the
> > chain is excuted old ConfigurationContext
> > +// // set to the MessageContext.
> > +// // inorder to make this possible, we create a new
> > ConfigurationContext
> > +// // from scratch. Then add the service, operation and
> > MessageReceiver
> > +// // programatically. After the invocation, old
> > ConfigurationContext and
> > +// // AxisConfiguration is set to the MessageContext
> > +//
> > +// ConfigurationContextFactory configCtxFac =
> > +// new ConfigurationContextFactory();
> > +// ConfigurationContext configCtx =
> > +// configCtxFac.buildConfigurationContext(null);
> > +// AxisConfiguration axisConfig =
> > configCtx.getAxisConfiguration();
> > +//
> > +// AxisService service = new AxisService(
> > Constants.EMPTYMEDIATOR);
> > +// service.setClassLoader(ac.getServiceClassLoader());
> > +// AxisOperation axisOp =
> > +// new InOutAxisOperation(
> > Constants.MEDIATE_OPERATION_NAME);
> > +// axisOp.setMessageReceiver(new EmptyMessageReceiver());
> > +// service.addOperation(axisOp);
> > +// axisConfig.addService(service);
> > +//
> > +// mc.setConfigurationContext(configCtx);
> > +//
> > +// //setging the addressing enable ConfigurationContext to
> > SynapeMessage
> > +//
> > +// smc.setProperty (
> > +//
> > Constants.ADDRESSING_PROCESSED_CONFIGURATION_CONTEXT,
> > +// configCtx);
> >
> > +// //////////////////////////////////////////////////////////////////
> > +// //////////////////////////////////////////////////////////////////
> >
> > +// //AxisEngine ae = new AxisEngine(cc);
> > +// AxisEngine ae = new AxisEngine(configCtx);
> > +//
> > +// // see if addressing already engage
> > +//// boolean addressingModuleEngage = false;
> > +//// for (Iterator iterator = ac.getEngagedModules
> > ().iterator();
> > +//// iterator.hasNext();) {
> > +//// QName qname = (QName) iterator.next();
> > +//// if (qname.getLocalPart ()
> > +//// .equals(
> > org.apache.axis2.Constants.MODULE_ADDRESSING)) {
> > +//// addressingModuleEngage = true;
> > +//// break;
> > +//// }
> > +//// }
> > +//// if (!addressingModuleEngage) {
> > +//// ac.engageModule(new QName(
> > +////
> > org.apache.axis2.Constants.MODULE_ADDRESSING));
> > +//// }
> > +//// AxisOperation ao = as
> > +//// .getOperation(Constants.MEDIATE_OPERATION_NAME
> > );
> > +//// OperationContext oc = OperationContextFactory
> > +//// .createOperationContext(
> > ao.getAxisSpecifMEPConstant (), ao);
> > +// OperationContext oc = OperationContextFactory
> > +// .createOperationContext(
> > axisOp.getAxisSpecifMEPConstant(),
> > +// axisOp);
> > +// //ao.registerOperationContext(mc, oc);
> > +// axisOp.registerOperationContext(mc, oc);
> > +//
> > +// //ServiceContext sc = Utils.fillContextInformation(ao,
> > as, cc);
> > +// ServiceContext sc =
> > +// Utils.fillContextInformation (axisOp, service,
> > configCtx);
> > +// oc.setParent(sc);
> > +//
> > +// mc.setOperationContext(oc);
> > +// mc.setServiceContext(sc);
> > +//
> > +//// mc.setAxisOperation(ao);
> > +//// mc.setAxisService(as);
> > +// mc.setAxisOperation(axisOp);
> > +// mc.setAxisService(service);
> > +//
> > +// ae.receive(mc);
> > +// //////////////////////////////////////////////////////////////////////
> >
> > +// // Now the MessageContext is filled with SOAP properties.
> > We don't need to send
> > +// // this message anymore time through AddressingInHandler.
> > But we need to send it through
> > +// // AddressingOutHandler
> > +// // Thus, setting the Default ConfigurationContext
> > +// mc.setConfigurationContext(cc);
> >
> > +// /////////////////////////////////////////////////////////////////////
> > +//
> > +// } catch (AxisFault e) {
> > +// throw new SynapseException(e);
> > +// }
> > +// return true;
> > +// }
> > +
> > public boolean process(SynapseEnvironment se, SynapseMessage smc) {
> > - log.debug("process");
> > + log.debug("Processing __AddressingInHandler__");
> > try {
> > - MessageContext mc = ((Axis2SynapseMessage) smc)
> > - .getMessageContext();
> > - ///////////////////////////////////////////////////////////////////
> >
> > - // Default Configurations. We are not going to alter these
> > configurtions
> > + MessageContext mc =
> > ((Axis2SynapseMessage)smc).getMessageContext();
> > + se.setProperty(Constants.ADDRESSING_PROCESSED ,Boolean.TRUE
> > );
> > + // default configuration_contex and axis_configuration
> > ConfigurationContext cc = mc.getConfigurationContext();
> > AxisConfiguration ac = cc.getAxisConfiguration ();
> >
> > - //////////////////////////////////////////////////////////////////
> > -// AxisService as = ac.getService(Constants.EMPTYMEDIATOR);
> > -// if (as == null)
> > -// throw new SynapseException("cannot locate service "
> > -// + Constants.EMPTYMEDIATOR);
> > -
> >
> > - ///////////////////////////////////////////////////////////////////
> > - //////////////////////////////////////////////////////////////////
> >
> > - // making addressing on/off behavior possible
> > - // default addressing is on. Allow MessageContext to pass
> > through the chain
> > - // and fill the addressingHeaderInformation. Once the chain
> > is excuted old ConfigurationContext
> > - // set to the MessageContext.
> > - // inorder to make this possible, we create a new
> > ConfigurationContext
> > - // from scratch. Then add the service, operation and
> > MessageReceiver
> > - // programatically. After the invocation, old
> > ConfigurationContext and
> > - // AxisConfiguration is set to the MessageContext
> > -
> > - ConfigurationContextFactory configCtxFac =
> > - new ConfigurationContextFactory();
> > - ConfigurationContext configCtx =
> > - configCtxFac.buildConfigurationContext(null);
> > - AxisConfiguration axisConfig =
> > configCtx.getAxisConfiguration();
> > -
> > - AxisService service = new AxisService(
> > Constants.EMPTYMEDIATOR);
> > - service.setClassLoader(ac.getServiceClassLoader());
> > - AxisOperation axisOp =
> > - new InOutAxisOperation(
> > Constants.MEDIATE_OPERATION_NAME);
> > - axisOp.setMessageReceiver(new EmptyMessageReceiver());
> > - service.addOperation(axisOp);
> > - axisConfig.addService(service);
> > -
> > - mc.setConfigurationContext(configCtx);
> > -
> > - //setging the addressing enable ConfigurationContext to
> > SynapeMessage
> > -
> > - smc.setProperty(
> > Constants.ADDRESSING_PROCESSED_CONFIGURATION_CONTEXT,
> > - configCtx);
> >
> > - //////////////////////////////////////////////////////////////////
> > - //////////////////////////////////////////////////////////////////
> >
> > - //AxisEngine ae = new AxisEngine(cc);
> > - AxisEngine ae = new AxisEngine(configCtx);
> > -
> > - // see if addressing already engage
> > -// boolean addressingModuleEngage = false;
> > -// for (Iterator iterator = ac.getEngagedModules
> > ().iterator();
> > -// iterator.hasNext();) {
> > -// QName qname = (QName) iterator.next();
> > -// if (qname.getLocalPart ()
> > -// .equals(
> > org.apache.axis2.Constants.MODULE_ADDRESSING)) {
> > -// addressingModuleEngage = true;
> > -// break;
> > -// }
> > -// }
> > -// if (!addressingModuleEngage) {
> > -// ac.engageModule(new QName(
> > -// org.apache.axis2.Constants.MODULE_ADDRESSING
> > ));
> > -// }
> > -// AxisOperation ao = as
> > -// .getOperation(Constants.MEDIATE_OPERATION_NAME);
> > -// OperationContext oc = OperationContextFactory
> > -// .createOperationContext(
> > ao.getAxisSpecifMEPConstant(), ao);
> > + AxisService as = ac.getService(Constants.EMPTYMEDIATOR);
> > + if (as == null)
> > + throw new SynapseException("cannot locate service "
> > + + Constants.EMPTYMEDIATOR );
> > +
> > + AxisEngine ae = new AxisEngine(cc);
> > + AxisOperation ao = as
> > + .getOperation(Constants.MEDIATE_OPERATION_NAME);
> > OperationContext oc = OperationContextFactory
> > - .createOperationContext(
> > axisOp.getAxisSpecifMEPConstant(),
> > - axisOp);
> > - //ao.registerOperationContext(mc, oc);
> > - axisOp.registerOperationContext (mc, oc);
> > -
> > - //ServiceContext sc = Utils.fillContextInformation(ao, as,
> > cc);
> > - ServiceContext sc =
> > - Utils.fillContextInformation(axisOp, service,
> > configCtx);
> > + .createOperationContext(
> > ao.getAxisSpecifMEPConstant(), ao);
> > + ao.registerOperationContext(mc,oc);
> > + ServiceContext sc = Utils.fillContextInformation(ao, as,
> > cc);
> > oc.setParent(sc);
> > -
> > - mc.setOperationContext(oc);
> > - mc.setServiceContext(sc);
> > -
> > -// mc.setAxisOperation(ao);
> > -// mc.setAxisService(as);
> > - mc.setAxisOperation(axisOp);
> > - mc.setAxisService (service);
> > -
> > + mc.setAxisOperation(ao);
> > + mc.setAxisService(as);
> > ae.receive(mc);
> >
> > - //////////////////////////////////////////////////////////////////////
> > - // Now the MessageContext is filled with SOAP properties.
> > We don't need to send
> > - // this message anymore time through AddressingInHandler.
> > But we need to send it through
> > - // AddressingOutHandler
> > - // Thus, setting the Default ConfigurationContext
> > - mc.setConfigurationContext(cc);
> >
> > - /////////////////////////////////////////////////////////////////////
> >
> > - } catch (AxisFault e) {
> > - throw new SynapseException(e);
> > + } catch (AxisFault axisFault) {
> > + throw new SynapseException(
> > + "__AddresingInHandler__ caught an Exception" +
> > + axisFault.getMessage());
> > }
> > return true;
> > }
> >
> > Modified:
> > incubator/synapse/trunk/java/synapse-test-resources/axis2/axis2.xml
> > URL:
> > http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/synapse-test-resources/axis2/axis2.xml?rev=365848&r1=365847&r2=365848&view=diff
> > ==============================================================================
> >
> > --- incubator/synapse/trunk/java/synapse-test-resources/axis2/axis2.xml
> > (original)
> > +++ incubator/synapse/trunk/java/synapse-test-resources/axis2/axis2.xml
> > Tue Jan 3 23:26:14 2006
> > @@ -60,15 +60,15 @@
> > <parameter name="port" locked="false">6060</parameter>
> > </transportReceiver>
> >
> > - <!--<transportReceiver name="jms"-->
> > - <!--class="
> > org.apache.axis2.transport.jms.SimpleJMSListener">-->
> > - <!--<parameter name=" transport.jms.Destination"
> > locked="false">-->
> > - <!--dynamicQueues/FOO</parameter>-->
> > - <!--<parameter name="java.naming.factory.initial"
> > locked="false">-->
> > - <!--org.activemq.jndi.ActiveMQInitialContextFactory
> > </parameter>-->
> > - <!--<parameter name="java.naming.provider.url"
> > locked="false">-->
> > - <!-- tcp://localhost:61616</parameter>-->
> > - <!--</transportReceiver>-->
> > + <transportReceiver name="jms"
> > + class="
> > org.apache.axis2.transport.jms.SimpleJMSListener ">
> > + <parameter name="transport.jms.Destination" locked="false">
> > + dynamicQueues/FOO</parameter>
> > + <parameter name="java.naming.factory.initial " locked="false">
> > + org.activemq.jndi.ActiveMQInitialContextFactory</parameter>
> > + <parameter name="java.naming.provider.url" locked="false">
> > + tcp://localhost:61616</parameter>
> > + </transportReceiver>
> >
> > <!-- ================================================= -->
> > <!-- Transport Outs -->
> > @@ -78,8 +78,8 @@
> > class="
> > org.apache.axis2.transport.tcp.TCPTransportSender"/>
> > <transportSender name="local"
> > class="
> > org.apache.axis2.transport.local.LocalTransportSender "/>
> > - <!--<transportSender name="jms"-->
> > - <!--class="
> > org.apache.axis2.transport.jms.JMSSender"/>-->
> > + <transportSender name="jms"
> > + class="org.apache.axis2.transport.jms.JMSSender"/>
> > <transportSender name="http"
> > class="
> > org.apache.axis2.transport.http.CommonsHTTPTransportSender ">
> > <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
> > @@ -102,7 +102,7 @@
> > <!-- Global Modules -->
> > <!-- ================================================= -->
> > <!-- Comment this to disable Addressing -->
> > - <!--<module ref="addressing"/>-->
> > + <module ref="addressing"/>
> >
> >
> > <!--Configuring module , providing parameters for modules whether
> > they refer or not-->
> >
> > Modified:
> > incubator/synapse/trunk/java/test/org/apache/synapse/spi/processors/AddressingProcessorTest.java
> > URL:
> > http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/test/org/apache/synapse/spi/processors/AddressingProcessorTest.java?rev=365848&r1=365847&r2=365848&view=diff
> > ==============================================================================
> >
> > ---
> > incubator/synapse/trunk/java/test/org/apache/synapse/spi/processors/AddressingProcessorTest.java
> > (original)
> > +++
> > incubator/synapse/trunk/java/test/org/apache/synapse/spi/processors/AddressingProcessorTest.java
> > Tue Jan 3 23:26:14 2006
> > @@ -4,8 +4,10 @@
> > import org.apache.synapse.SynapseMessage;
> > import org.apache.synapse.Constants;
> > import org.apache.synapse.Processor;
> > +import org.apache.synapse.SynapseEnvironment;
> > import org.apache.synapse.processors.builtin.axis2.AddressingInProcessor;
> > import org.apache.synapse.axis2.Axis2SynapseMessage;
> > +import org.apache.synapse.axis2.Axis2SynapseEnvironment;
> > import junit.framework.TestCase;
> > /*
> > * Copyright 2004,2005 The Apache Software Foundation.
> > @@ -30,7 +32,8 @@
> > SynapseMessage sm = new Axis2SynapseMessage(
> > Axis2EvnSetup.axis2Deployment
> > ("target/synapse-repository"));
> > Processor addressingProcessor = new AddressingInProcessor();
> > - boolean result = addressingProcessor.process(null,sm);
> > + SynapseEnvironment env = new
> > Axis2SynapseEnvironment(null,null);
> > + boolean result = addressingProcessor.process(env,sm);
> > assertTrue(((Boolean) sm.getProperty(
> > Constants.MEDIATOR_RESPONSE_PROPERTY)).booleanValue());
> > assertTrue(result);
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: synapse-dev-help@ws.apache.org
> >
> >
>
--
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
http://bloglines.com/blog/paulfremantle
paul@wso2.com
"Oxygenating the Web Service Platform", www.wso2.com