You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by as...@apache.org on 2006/10/31 12:16:48 UTC

svn commit: r469446 - in /incubator/synapse/trunk/java/modules/core/src/org/apache/synapse: config/SynapseConfiguration.java core/axis2/ProxyService.java core/axis2/SynapseModule.java

Author: asankha
Date: Tue Oct 31 03:16:47 2006
New Revision: 469446

URL: http://svn.apache.org/viewvc?view=rev&rev=469446
Log:
Comitting for Ruwan

Modified:
    incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/SynapseConfiguration.java
    incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/ProxyService.java
    incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseModule.java

Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/SynapseConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/SynapseConfiguration.java?view=diff&rev=469446&r1=469445&r2=469446
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/SynapseConfiguration.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/SynapseConfiguration.java Tue Oct 31 03:16:47 2006
@@ -21,10 +21,18 @@
 import org.apache.synapse.Mediator;
 import org.apache.synapse.core.axis2.ProxyService;
 import org.apache.synapse.registry.Registry;
-
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.AxisFault;
+import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+ 
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
+import java.net.URLConnection;
+import java.io.IOException;
 
 /**
  * The SynapseConfiguration holds the global configuration for a Synapse
@@ -56,7 +64,10 @@
      * This is the "main" (or default) synapse mediator which mediates each and every message
      * It could/would hold a Mediator object or a Property (if loaded from a registry)
      */
-    private Object mainMediator = null;
+    private Object mainMediator = null;
+
+    /** Hold reference to the Axis2 ConfigurationContext */
+    private ConfigurationContext configContext = null;
 
     /**
      * Add a named mediator into this configuration
@@ -148,7 +159,18 @@
             if(globalProps.containsKey(name)) {
                 log.warn("Overiding the global property with name : " + name);
             } else {
-                globalProps.put(name, value);
+                if(value.getType() == Property.SRC_TYPE) {
+                    try {
+                        URLConnection urlc = value.getSrc().openConnection();
+                        XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(urlc.getInputStream());
+                        StAXOMBuilder builder = new StAXOMBuilder(parser);
+                        value.setValue(builder.getDocumentElement());
+                    } catch (IOException e) {
+                        handleException("Can not read from the source : " + value.getSrc());
+                    } catch (XMLStreamException e) {
+                        handleException("Can not load the source property : " + value.getName());
+                    }
+                }
             }
         } else {
             log.error("Name and the value of the property cannot be null");
@@ -303,7 +325,13 @@
         if(o == null) {
             handleException("Invalid proxyService for name : " + name + " from registry");
         } else {
-            proxyServices.remove(name);
+            try {
+                getConfigurationContext().getAxisConfiguration().getService(name).setActive(false);
+                getConfigurationContext().getAxisConfiguration().removeService(name);
+                proxyServices.remove(name);
+            } catch (AxisFault axisFault) {
+                handleException(axisFault.getMessage());
+            }
         }
     }
 
@@ -380,6 +408,22 @@
      */
     public Map getRegistries() {
         return registryMap;
+    }
+
+    /**
+     * Set the Axis2 ConfigurationContext to the SynapseConfiguration
+     * @param configContext
+     */
+    public void setConfigurationContext(ConfigurationContext configContext) {
+        this.configContext = configContext;
+    }
+
+    /**
+     * Get the Axis2 ConfigurationContext for the SynapseConfiguration
+     * @return ConfigurationContext of the Axis2
+     */
+    public ConfigurationContext getConfigurationContext() {
+        return configContext;
     }
 
     private void handleException(String msg) {

Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/ProxyService.java
URL: http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/ProxyService.java?view=diff&rev=469446&r1=469445&r2=469446
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/ProxyService.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/ProxyService.java Tue Oct 31 03:16:47 2006
@@ -235,6 +235,24 @@
         return proxyService;
     }
 
+    public void start(SynapseConfiguration synCfg) {
+        AxisConfiguration axisConfig = synCfg.getConfigurationContext().getAxisConfiguration();
+        try {
+            axisConfig.addService(this.buildAxisService(synCfg, axisConfig));
+        } catch (AxisFault axisFault) {
+            handleException(axisFault.getMessage());
+        }
+    }
+
+    public void stop(SynapseConfiguration synCfg) {
+        AxisConfiguration axisConfig = synCfg.getConfigurationContext().getAxisConfiguration();
+        try {
+            axisConfig.getService(this.getName()).setActive(false);
+        } catch (AxisFault axisFault) {
+            handleException(axisFault.getMessage());
+        }
+    }
+
     public String getName() {
         return name;
     }

Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseModule.java
URL: http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseModule.java?view=diff&rev=469446&r1=469445&r2=469446
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseModule.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseModule.java Tue Oct 31 03:16:47 2006
@@ -106,6 +106,9 @@
                     SynapseConfigurationBuilder.getDefaultConfiguration();
         }
 
+        // Set the Axis2 ConfigurationContext to the SynapseConfiguration
+        synapseConfiguration.setConfigurationContext(cfgCtx);
+
         // set the Synapse configuration and environment into the Axis2 configuration
         Parameter synapseCtxParam = new Parameter(Constants.SYNAPSE_CONFIG, null);
         synapseCtxParam.setValue(synapseConfiguration);



---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org