Author: mriou
Date: Fri Sep 29 09:35:09 2006
New Revision: 451344
URL: http://svn.apache.org/viewvc?view=rev&rev=451344
Log:
Throwing an exception if someone tries to deploy twice the same process in
different deployment units
Modified:
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
Modified:
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
URL:
http://svn.apache.org/viewvc/incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java?view=diff&rev=451344&r1=451343&r2=451344
==============================================================================
---
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
(original)
+++
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
Fri Sep 29 09:35:09 2006
@@ -111,6 +111,8 @@
// it to hold on for a while.
_poller.hold();
File dest = new File(_deployPath, namePart.getText());
+ _service.undeploy(dest);
+
dest.mkdir();
unzip(dest, (DataHandler) binaryNode.getDataHandler());
Modified:
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
URL:
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java?view=diff&rev=451344&r1=451343&r2=451344
==============================================================================
---
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
(original)
+++
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
Fri Sep 29 09:35:09 2006
@@ -167,13 +167,7 @@
if
(deploymentUnit.getDeployDir().getName().equals(file.getName()))
du = deploymentUnit;
}
- if (du == null) {
- if (file.exists())
- __log.warn("Couldn't undeploy " + file.getName() + ",
package was not found.");
- else if (__log.isDebugEnabled())
- __log.debug("Couldn't undeploy " + file.getName() + ",
package was not found.");
- return false;
- }
+ if (du == null) return false;
boolean success = true;
for (QName pName : du.getProcessNames()) {
@@ -626,14 +620,21 @@
* Deploys a process.
*/
public Collection<QName> deploy(File deploymentUnitDirectory) {
- // Undeploy everything
- undeploy(deploymentUnitDirectory);
-
__log.info(__msgs.msgDeployStarting(deploymentUnitDirectory));
_mngmtLock.writeLock().lock();
try {
DeploymentUnitImpl du =
_deploymentManager.createDeploymentUnit(deploymentUnitDirectory);
+
+ // Checking first that the same process isn't deployed elsewhere
+ for (TDeployment.Process processDD :
du.getDeploymentDescriptor().getDeploy().getProcessList()) {
+ if (_deploymentUnits.get(processDD.getName()) != null) {
+ String duName =
_deploymentUnits.get(processDD.getName()).getDeployDir().getName();
+ if (!duName.equals(deploymentUnitDirectory.getName()))
+ throw new BpelEngineException("Process " +
processDD.getName() + " is already deployed in " +
+ duName + "");
+ }
+ }
ArrayList<QName> deployed = new ArrayList<QName>();
BpelEngineException failed = null;