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);
+ }
}
}