From d43164830403245353080f5d6f838ed9f56d9a35 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Mon, 18 Nov 2013 09:48:03 +0100 Subject: 3.0-SNAPSHOT (Will be first open source version) New StateMachine desc IssueID #28 --- .../lifecycle/instance/predefined/Erase.java | 23 +++++++++------------- 1 file changed, 9 insertions(+), 14 deletions(-) (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/Erase.java') 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 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; } } -- cgit v1.2.3