summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/lifecycle/instance/predefined/Erase.java
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2013-11-18 09:48:03 +0100
committerAndrew Branson <andrew.branson@cern.ch>2013-11-18 17:25:00 +0100
commitd43164830403245353080f5d6f838ed9f56d9a35 (patch)
treed880c9103fb61f5ef39f1723c4dbd634d5d83b67 /src/main/java/com/c2kernel/lifecycle/instance/predefined/Erase.java
parent37a3c3867cb4c7705065ed1d079bdac4f3f52f50 (diff)
3.0-SNAPSHOT (Will be first open source version)
New StateMachine desc IssueID #28
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/Erase.java')
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/Erase.java23
1 files changed, 9 insertions, 14 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/Erase.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/Erase.java
index 84b1b78..20c9fb7 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/Erase.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/Erase.java
@@ -15,9 +15,7 @@ package com.c2kernel.lifecycle.instance.predefined;
import java.util.Enumeration;
-import com.c2kernel.common.AccessRightsException;
import com.c2kernel.common.InvalidDataException;
-import com.c2kernel.common.InvalidTransitionException;
import com.c2kernel.lookup.AgentPath;
import com.c2kernel.lookup.DomainPath;
import com.c2kernel.lookup.EntityPath;
@@ -42,35 +40,31 @@ public class Erase extends PredefinedStep
//requestdata is xmlstring
@Override
- public void request(AgentPath agent, int transitionID, String requestData)
- throws AccessRightsException,
- InvalidTransitionException,
- InvalidDataException
- {
+ protected String runActivityLogic(AgentPath agent, int itemSysKey,
+ int transitionID, String requestData) throws InvalidDataException {
+
Logger.msg(1, "Erase::request() - Starting.");
- checkAccessRights(agent);
try
{
- EntityPath entityPath = getItemEntityPath();
// FIXME: This should search for the entity key. Name shouldn't be unique.
// find entity name
- Property name = (Property)Gateway.getStorage().get(entityPath.getSysKey(), ClusterStorage.PROPERTY+"/Name", null);
+ Property name = (Property)Gateway.getStorage().get(itemSysKey, ClusterStorage.PROPERTY+"/Name", null);
// get all domain paths
Enumeration<Path> domPaths = Gateway.getLDAPLookup().search(new DomainPath(), name.getValue());
while (domPaths.hasMoreElements()) {
DomainPath path = (DomainPath)domPaths.nextElement();
// delete them
- if (path.getSysKey() == entityPath.getSysKey())
+ if (path.getSysKey() == itemSysKey)
Gateway.getLDAPLookup().delete(path);
}
//clear out all storages
- Gateway.getStorage().removeCluster(entityPath.getSysKey(), "", null);
+ Gateway.getStorage().removeCluster(itemSysKey, "", null);
- //remove domain path
- Gateway.getLDAPLookup().delete(entityPath);
+ //remove entity path
+ Gateway.getLDAPLookup().delete(new EntityPath(itemSysKey));
}
catch( Exception ex )
{
@@ -80,6 +74,7 @@ public class Erase extends PredefinedStep
}
Logger.msg(1, "Erase::request() - DONE.");
+ return requestData;
}
}