synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Fremantle <pzf...@gmail.com>
Subject 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
Date Wed, 18 Jan 2006 03:31:19 GMT
Ant

I agree. It seems unnecessary!

Paul

On 1/16/06, ant elder <ant.elder@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 <saminda@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
> > &ltsynapse>.
> > -        */
> > -       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
> > &ltsynapse>.
> > +     */
> > +    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

Mime
View raw message