diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2014-10-03 17:30:41 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2014-10-03 17:30:41 +0200 |
| commit | 275d0bbf555c8917be82ce4cc21eb4cabb00f4c5 (patch) | |
| tree | ddcc6b14077d90d1b970b67829f07120547dbb62 /src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveC2KObject.java | |
| parent | a139f95bfeca603333b8c0310ae09c6805e58584 (diff) | |
Huge exception overhaul: Merged ClusterStorageException with
PersistencyException. Replaced MembershipException with
InvalidCollectionModification CORBA Exception. Made all predef steps
throw more accurate exceptions when they go wrong, and let more
exceptions bubble through from underneath.
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveC2KObject.java')
| -rw-r--r-- | src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveC2KObject.java | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveC2KObject.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveC2KObject.java index 1b9b6f7..a88e000 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveC2KObject.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveC2KObject.java @@ -24,7 +24,8 @@ package com.c2kernel.lifecycle.instance.predefined; import java.util.Arrays;
-import com.c2kernel.common.InvalidDataException;
+import com.c2kernel.common.InvalidData;
+import com.c2kernel.common.PersistencyException;
import com.c2kernel.lookup.AgentPath;
import com.c2kernel.lookup.ItemPath;
import com.c2kernel.process.Gateway;
@@ -47,19 +48,21 @@ public class RemoveC2KObject extends PredefinedStep //requestdata is xmlstring
@Override
protected String runActivityLogic(AgentPath agent, ItemPath item,
- int transitionID, String requestData) throws InvalidDataException {
+ int transitionID, String requestData) throws InvalidData, PersistencyException {
String[] params = getDataList(requestData);
if (Logger.doLog(3)) Logger.msg(3, "RemoveC2KObject: called by "+agent+" on "+item+" with parameters "+Arrays.toString(params));
-
+ if (params.length != 1)
+ throw new InvalidData("RemoveC2KObject: Invalid parameters "+Arrays.toString(params));
+ String path = params[0];
+
try
{
- String path = params[0];
Gateway.getStorage().remove( item, path, null );
}
- catch( Exception ex )
+ catch( PersistencyException ex )
{
- throw unknownException(ex);
+ throw new PersistencyException("RemoveC2KObject: Error removing object '"+path+"': "+ex.getMessage());
}
return requestData;
}
|
