From b086f57f56bf0eb9dab9cf321a0f69aaaae84347 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Wed, 30 May 2012 08:37:45 +0200 Subject: Initial Maven Conversion --- .../lifecycle/instance/predefined/Erase.java | 85 ++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/Erase.java (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 new file mode 100644 index 0000000..ffdb07c --- /dev/null +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/Erase.java @@ -0,0 +1,85 @@ +/************************************************************************** + * RemoveC2KObject + * + * $Workfile$ + * $Revision: 1.10 $ + * $Date: 2005/11/15 15:56:38 $ + * + * Copyright (C) 2001 CERN - European Organization for Nuclear Research + * All rights reserved. + **************************************************************************/ + +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; +import com.c2kernel.lookup.Path; +import com.c2kernel.persistency.ClusterStorage; +import com.c2kernel.process.Gateway; +import com.c2kernel.property.Property; +import com.c2kernel.utils.Logger; + + +/************************************************************************** + * + * @author $Author: abranson $ $Date: 2005/11/15 15:56:38 $ + * @version $Revision: 1.10 $ + **************************************************************************/ +public class Erase extends PredefinedStep +{ + public Erase() + { + super(); + } + + //requestdata is xmlstring + @Override + public void request(AgentPath agent, int transitionID, String requestData) + throws AccessRightsException, + InvalidTransitionException, + InvalidDataException + { + Logger.msg(1, "Erase::request() - Starting."); + + checkAccessRights(agent); + try + { + EntityPath entityPath = getItemEntityPath(); + + // find entity name + Property name = (Property)Gateway.getStorage().get(entityPath.getSysKey(), 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()) + Gateway.getLDAPLookup().delete(path); + } + + //clear out all storages + Gateway.getStorage().removeCluster(entityPath.getSysKey(), "", null); + + //remove domain path + Gateway.getLDAPLookup().delete(entityPath); + } + catch( Exception ex ) + { + + Logger.error(ex); + throw new InvalidDataException(ex.toString(), ""); + } + + Logger.msg(1, "Erase::request() - DONE."); + } + +} -- cgit v1.2.3