diff options
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveSlotFromCollection.java')
| -rw-r--r-- | src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveSlotFromCollection.java | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveSlotFromCollection.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveSlotFromCollection.java index 897183d..3cc9f7c 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveSlotFromCollection.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveSlotFromCollection.java @@ -15,12 +15,9 @@ package com.c2kernel.lifecycle.instance.predefined; import com.c2kernel.collection.Collection;
import com.c2kernel.collection.CollectionMember;
import com.c2kernel.collection.MembershipException;
-import com.c2kernel.common.AccessRightsException;
import com.c2kernel.common.InvalidDataException;
-import com.c2kernel.common.InvalidTransitionException;
import com.c2kernel.common.ObjectNotFoundException;
import com.c2kernel.lookup.AgentPath;
-import com.c2kernel.lookup.EntityPath;
import com.c2kernel.persistency.ClusterStorage;
import com.c2kernel.persistency.ClusterStorageException;
import com.c2kernel.process.Gateway;
@@ -49,12 +46,9 @@ public class RemoveSlotFromCollection extends PredefinedStep * 2 - target entity key
*/
@Override
- public void request(AgentPath agent, int transitionID, String requestData)
- throws AccessRightsException,
- InvalidTransitionException,
- InvalidDataException
- {
- EntityPath entityPath = getItemEntityPath();
+ protected String runActivityLogic(AgentPath agent, int itemSysKey,
+ int transitionID, String requestData) throws InvalidDataException {
+
String collName;
int slotNo;
int entityKey = -1;
@@ -62,11 +56,8 @@ public class RemoveSlotFromCollection extends PredefinedStep Logger.msg(1, "RemoveSlotFromCollection::request() - Starting.");
- checkAccessRights(agent);
-
// extract parameters
try {
- entityPath = getItemEntityPath();
String[] params = getDataList(requestData);
collName = params[0];
slotNo = params[1].length()>0?Integer.parseInt(params[1]):-1;
@@ -80,7 +71,7 @@ public class RemoveSlotFromCollection extends PredefinedStep // load collection
try {
- coll = (Collection<? extends CollectionMember>)Gateway.getStorage().get(entityPath.getSysKey(), ClusterStorage.COLLECTION+"/"+collName, null);
+ coll = (Collection<? extends CollectionMember>)Gateway.getStorage().get(itemSysKey, ClusterStorage.COLLECTION+"/"+collName, null);
} catch (ObjectNotFoundException ex) {
throw new InvalidDataException("Collection '"+collName+"' not found in this Item", "");
} catch (ClusterStorageException ex) {
@@ -109,13 +100,13 @@ public class RemoveSlotFromCollection extends PredefinedStep // Store the collection
try {
- Gateway.getStorage().put(entityPath.getSysKey(), coll, null);
+ Gateway.getStorage().put(itemSysKey, coll, null);
} catch (ClusterStorageException e) {
Logger.error(e);
throw new InvalidDataException("Error storing collection", "");
}
- sendEventStoreOutcome(transitionID, requestData, agent);
-
Logger.msg(1, "RemoveSlotFromCollection::request() - DONE.");
+ return requestData;
+
}
}
|
