You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by su...@apache.org on 2010/09/10 19:56:41 UTC

svn commit: r995906 - /synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/MessageContextCreatorForAxis2.java

Author: supun
Date: Fri Sep 10 17:56:41 2010
New Revision: 995906

URL: http://svn.apache.org/viewvc?rev=995906&view=rev
Log:
getting the configuraiotn and environment from the axis2 configuration

Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/MessageContextCreatorForAxis2.java

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/MessageContextCreatorForAxis2.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/MessageContextCreatorForAxis2.java?rev=995906&r1=995905&r2=995906&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/MessageContextCreatorForAxis2.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/MessageContextCreatorForAxis2.java Fri Sep 10 17:56:41 2010
@@ -20,10 +20,12 @@
 package org.apache.synapse.core.axis2;
 
 import org.apache.axis2.AxisFault;
+import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.synapse.MessageContext;
 import org.apache.synapse.SynapseException;
+import org.apache.synapse.SynapseConstants;
 import org.apache.synapse.config.SynapseConfiguration;
 import org.apache.synapse.core.SynapseEnvironment;
 
@@ -47,7 +49,15 @@ public class MessageContextCreatorForAxi
             throw new SynapseException(msg);
         }
 
-        return new Axis2MessageContext(axisMsgCtx, synCfg, synEnv);
+        // we should try to get the synapse configuration and environment from
+        // the axis2 configuration.
+        SynapseEnvironment synapseEnvironment = getSynapseEnvironment(axisMsgCtx);
+        SynapseConfiguration synapseConfiguration = getSynapseConfiguration(axisMsgCtx);
+        if (synapseConfiguration != null && synapseEnvironment != null) {
+            return new Axis2MessageContext(axisMsgCtx, synapseConfiguration, synapseEnvironment);
+        } else {
+            return new Axis2MessageContext(axisMsgCtx, synCfg, synEnv);
+        }
     }
 
     public static void setSynConfig(SynapseConfiguration synCfg) {
@@ -57,4 +67,18 @@ public class MessageContextCreatorForAxi
     public static void setSynEnv(SynapseEnvironment synEnv) {
         MessageContextCreatorForAxis2.synEnv = synEnv;
     }
+
+    private static SynapseConfiguration getSynapseConfiguration(
+            org.apache.axis2.context.MessageContext axisMsgCtx) {
+        AxisConfiguration axisCfg = axisMsgCtx.getConfigurationContext().getAxisConfiguration();
+        return (SynapseConfiguration) axisCfg.getParameter(
+                SynapseConstants.SYNAPSE_CONFIG).getValue();
+    }
+
+    private static SynapseEnvironment getSynapseEnvironment(
+            org.apache.axis2.context.MessageContext axisMsgCtx) {
+        AxisConfiguration axisCfg = axisMsgCtx.getConfigurationContext().getAxisConfiguration();
+        return (SynapseEnvironment) axisCfg.getParameter(
+                SynapseConstants.SYNAPSE_ENV).getValue();
+    }
 }