Author: veithen
Date: Tue Jan 27 20:29:19 2009
New Revision: 738230

URL: http://svn.apache.org/viewvc?rev=738230&view=rev
Log:
Implemented the unDeploy method in the experimental ProxyDeployer.

Modified:
    
synapse/trunk/java/modules/experimental/src/main/java/org/apache/synapse/experimental/ProxyDeployer.java

Modified: 
synapse/trunk/java/modules/experimental/src/main/java/org/apache/synapse/experimental/ProxyDeployer.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/experimental/src/main/java/org/apache/synapse/experimental/ProxyDeployer.java?rev=738230&r1=738229&r2=738230&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/experimental/src/main/java/org/apache/synapse/experimental/ProxyDeployer.java
 (original)
+++ 
synapse/trunk/java/modules/experimental/src/main/java/org/apache/synapse/experimental/ProxyDeployer.java
 Tue Jan 27 20:29:19 2009
@@ -22,6 +22,8 @@
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Map;
 
 import javax.xml.stream.XMLStreamException;
 
@@ -45,12 +47,23 @@
 import org.apache.synapse.mediators.ListMediator;
 
 public class ProxyDeployer implements Deployer {
+    private final Map<String,String> filenameToProxyNameMap = new 
HashMap<String,String>();
     private ConfigurationContext cfgCtx = null;
 
     public void init(ConfigurationContext configurationContext) {
         this.cfgCtx = configurationContext;
     }
     
+    private SynapseConfiguration getSynapseConfiguration() throws 
DeploymentException {
+        Parameter synCfgParam =
+                
cfgCtx.getAxisConfiguration().getParameter(SynapseConstants.SYNAPSE_CONFIG);
+        if (synCfgParam == null) {
+            throw new DeploymentException("SynapseConfiguration not found. " +
+                       "Are you sure that you are running Synapse?");
+        }
+        return (SynapseConfiguration)synCfgParam.getValue();
+    }
+    
     public void deploy(DeploymentFileData deploymentFileData) throws 
DeploymentException {
         String filename = deploymentFileData.getAbsolutePath();
         ProxyService proxy;
@@ -70,11 +83,8 @@
             throw new DeploymentException("Error parsing " + filename + ": " + 
ex.getMessage(), ex);
         }
         AxisConfiguration axisCfg = cfgCtx.getAxisConfiguration();
-        Parameter synCfgParam = 
axisCfg.getParameter(SynapseConstants.SYNAPSE_CONFIG);
-        if (synCfgParam == null) {
-            throw new DeploymentException("SynapseConfiguration not found. Are 
you sure that you are running Synapse?");
-        }
-        SynapseConfiguration synCfg = 
(SynapseConfiguration)synCfgParam.getValue();
+        SynapseConfiguration synCfg = getSynapseConfiguration();
+        filenameToProxyNameMap.put(filename, proxy.getName());
         // Copy from SynapseXMLConfigurationFactory#defineProxy
         synCfg.addProxyService(proxy.getName(), proxy);
         // Copy from SynapseInitializationModule#init (TODO: imcomplete: 
doesn't take pinnedServers into account)
@@ -111,12 +121,19 @@
         e.init(cc);
     }
 
-    public void setDirectory(String arg0) {
+    public void setDirectory(String directory) {
     }
 
-    public void setExtension(String arg0) {
+    public void setExtension(String extension) {
     }
 
-    public void unDeploy(String arg0) throws DeploymentException {
+    public void unDeploy(String fileName) throws DeploymentException {
+        String proxyName = filenameToProxyNameMap.get(fileName);
+        if (proxyName == null) {
+            throw new DeploymentException("Nothing known about file '" + 
fileName + "'");
+        } else {
+            getSynapseConfiguration().removeProxyService(proxyName);
+            filenameToProxyNameMap.remove(fileName);
+        }
     }
 }


Reply via email to