You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ru...@apache.org on 2008/07/14 12:44:10 UTC

svn commit: r676547 - in /synapse/trunk/java/modules/core/src/main/java/org/apache/synapse: ServerManager.java SynapseConstants.java core/axis2/SynapseInitializationModule.java

Author: ruwan
Date: Mon Jul 14 03:44:06 2008
New Revision: 676547

URL: http://svn.apache.org/viewvc?rev=676547&view=rev
Log:
Adding the ability to specify synapse initialization parameters through the axis2.xml (this will enable the synapse OSGi bundles to be installed on an axis2 OSGi environemnt very easily)

Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseInitializationModule.java

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java?rev=676547&r1=676546&r2=676547&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java Mon Jul 14 03:44:06 2008
@@ -312,7 +312,11 @@
     }
 
     public String getSynapseHome() {
-        return synapseHome;
+        if (synapseHome != null) {
+            return synapseHome;
+        } else {
+            return getParamValue(SynapseConstants.Axis2Param.SYNAPSE_HOME);
+        }
     }
 
     public void setSynapseHome(String synapseHome) {
@@ -320,7 +324,11 @@
     }
 
     public String getResolveRoot() {
-        return resolveRoot;
+        if (resolveRoot != null) {
+            return resolveRoot;
+        } else {
+            return getParamValue(SynapseConstants.Axis2Param.SYNAPSE_RESOLVE_ROOT);
+        }
     }
 
     public void setResolveRoot(String resolveRoot) {
@@ -332,15 +340,27 @@
     }
 
     public String getServerName() {
-        return serverName;
+        if (serverName != null) {
+            return serverName;
+        } else {
+            return getParamValue(SynapseConstants.Axis2Param.SYNAPSE_SERVER_NAME);
+        }
     }
 
     public void setServerName(String serverName) {
         this.serverName = serverName;
     }
 
+    public void setConfigurationContext(ConfigurationContext configctx) {
+        this.configctx = configctx;
+    }
+
     public String getSynapseXMLPath() {
-        return synapseXMLPath;
+        if (synapseXMLPath != null) {
+            return synapseXMLPath;
+        } else {
+            return getParamValue(SynapseConstants.Axis2Param.SYNAPSE_CONFIG_LOCATION);
+        }
     }
 
     public void setSynapseXMLPath(String synapseXMLPath) {
@@ -386,4 +406,13 @@
                 SynapseConstants.GLOBAL_TIMEOUT_INTERVAL, SynapseConstants.DEFAULT_GLOBAL_TIMEOUT);
         }
     }
+
+    private String getParamValue(String paramKey) {
+        Parameter synCfgParam = configctx.getAxisConfiguration().getParameter(paramKey);
+        if (synCfgParam != null && synCfgParam.getValue() != null
+                && synCfgParam.getValue() instanceof String) {
+            return synCfgParam.getValue().toString();
+        }
+        return null;
+    }
 }
\ No newline at end of file

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java?rev=676547&r1=676546&r2=676547&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java Mon Jul 14 03:44:06 2008
@@ -93,6 +93,18 @@
     /** The Axis2 client options property name for the Sandesha policy */
 	public static final String SANDESHA_POLICY = "sandeshaPolicy";
 
+    /** Parameter names in the axis2.xml that can be used to configure the synapse */
+    public static final class Axis2Param {
+        /** Synapse Configuration file location */
+        public static final String SYNAPSE_CONFIG_LOCATION = "SynapseConfig.ConfigurationFile";
+        /** Synapse Home directory */
+        public static final String SYNAPSE_HOME = "SynapseConfig.HomeDirectory";
+        /** Synapse resolve root */
+        public static final String SYNAPSE_RESOLVE_ROOT = "SynapseConfig.ResolveRoot";
+        /** Synapse server name */
+        public static final String SYNAPSE_SERVER_NAME = "SynapseConfig.ServerName";
+    }
+    
     /** The name of the Parameter set on the Axis2Configuration to hold the Synapse Configuration */
     public static final String SYNAPSE_CONFIG = "synapse.config";
     /** The name of the Parameter set on the Axis2Configuration to hold the Synapse Environment */

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseInitializationModule.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseInitializationModule.java?rev=676547&r1=676546&r2=676547&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseInitializationModule.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseInitializationModule.java Mon Jul 14 03:44:06 2008
@@ -75,6 +75,11 @@
             log.warn("Unable to determine hostname or IP address of the server for logging", e);
         }
 
+        // incase of an existing running axis2 instance is used to deploy synapse
+        if (ServerManager.getInstance().getConfigurationContext() == null) {
+            ServerManager.getInstance().setConfigurationContext(configurationContext);
+        }
+
         // this will deploy the mediators in the mediator extensions folder
         log.info("Loading mediator extensions...");
         configurationContext.getAxisConfiguration().getConfigurator().loadServices();