diff options
7 files changed, 11 insertions, 9 deletions
diff --git a/src/main/java/com/c2kernel/entity/proxy/ItemProxy.java b/src/main/java/com/c2kernel/entity/proxy/ItemProxy.java index 987873f..c59049e 100644 --- a/src/main/java/com/c2kernel/entity/proxy/ItemProxy.java +++ b/src/main/java/com/c2kernel/entity/proxy/ItemProxy.java @@ -202,7 +202,7 @@ public class ItemProxy }
public Collection<?> getCollection(String collName) throws ObjectNotFoundException {
- return (Collection<?>)getObject(ClusterStorage.COLLECTION+"/"+collName);
+ return (Collection<?>)getObject(ClusterStorage.COLLECTION+"/"+collName+"/last");
}
public Workflow getWorkflow() throws ObjectNotFoundException {
diff --git a/src/main/java/com/c2kernel/entity/transfer/TransferItem.java b/src/main/java/com/c2kernel/entity/transfer/TransferItem.java index d1379cf..d63ce23 100644 --- a/src/main/java/com/c2kernel/entity/transfer/TransferItem.java +++ b/src/main/java/com/c2kernel/entity/transfer/TransferItem.java @@ -132,10 +132,9 @@ public class TransferItem { newItem.initialise(importAgentId.getSystemKey(),
Gateway.getMarshaller().marshall(props),
Gateway.getMarshaller().marshall(wf.search("workflow/domain")),
- null);
+ Gateway.getMarshaller().marshall(colls));
// store objects
- importByType(ClusterStorage.COLLECTION, objects); //TODO: move this to initialise
importByType(ClusterStorage.HISTORY, objects);
importByType(ClusterStorage.OUTCOME, objects);
importByType(ClusterStorage.VIEWPOINT, objects);
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddMemberToCollection.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddMemberToCollection.java index f421b09..c171bad 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddMemberToCollection.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddMemberToCollection.java @@ -75,7 +75,7 @@ public class AddMemberToCollection extends PredefinedStep // load collection
C2KLocalObject collObj;
try {
- collObj = Gateway.getStorage().get(item, ClusterStorage.COLLECTION+"/"+collName, null);
+ collObj = Gateway.getStorage().get(item, ClusterStorage.COLLECTION+"/"+collName+"/last", null);
} catch (ObjectNotFoundException ex) {
throw new InvalidDataException("AddMemberToCollection: Collection '"+collName+"' not found in this Item", "");
} catch (ClusterStorageException ex) {
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddNewSlot.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddNewSlot.java index facf7e1..203cce3 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddNewSlot.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddNewSlot.java @@ -51,6 +51,7 @@ public class AddNewSlot extends PredefinedStep * Params:
* <ol><li>Collection name</li>
* <li>Item Description key (optional)</li>
+ * <li>Item Description version (optional)</li>
* </ol>
*/
@Override
@@ -59,6 +60,7 @@ public class AddNewSlot extends PredefinedStep String collName;
ItemPath descKey = null;
+ String descVer = "last";
Aggregation agg;
// extract parameters
@@ -69,6 +71,7 @@ public class AddNewSlot extends PredefinedStep try {
collName = params[0];
if (params.length > 1 && params[1].length() > 0) descKey = new ItemPath(params[1]);
+ if (params.length > 2 && params[2].length() > 0) descVer = params[2];
} catch (Exception e) {
throw new InvalidDataException("AddNewSlot: Invalid parameters "+Arrays.toString(params), "");
}
@@ -76,7 +79,7 @@ public class AddNewSlot extends PredefinedStep // load collection
C2KLocalObject collObj;
try {
- collObj = Gateway.getStorage().get(item, ClusterStorage.COLLECTION+"/"+collName, null);
+ collObj = Gateway.getStorage().get(item, ClusterStorage.COLLECTION+"/"+collName+"/last", null);
} catch (ObjectNotFoundException ex) {
throw new InvalidDataException("AddNewSlot: Collection '"+collName+"' not found in this Item", "");
} catch (ClusterStorageException ex) {
@@ -92,7 +95,7 @@ public class AddNewSlot extends PredefinedStep if (descKey != null) {
PropertyDescriptionList propList;
try {
- propList = PropertyUtility.getPropertyDescriptionOutcome(descKey, "last");
+ propList = PropertyUtility.getPropertyDescriptionOutcome(descKey, descVer);
} catch (ObjectNotFoundException e) {
throw new InvalidDataException("AddNewSlot: Item "+descKey+" does not contain a PropertyDescription outcome to define a slot", "");
}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AssignItemToSlot.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AssignItemToSlot.java index 71ab287..2686072 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AssignItemToSlot.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AssignItemToSlot.java @@ -73,7 +73,7 @@ public class AssignItemToSlot extends PredefinedStep // load collection
C2KLocalObject collObj;
try {
- collObj = Gateway.getStorage().get(item, ClusterStorage.COLLECTION+"/"+collName, null);
+ collObj = Gateway.getStorage().get(item, ClusterStorage.COLLECTION+"/"+collName+"/last", null);
} catch (ObjectNotFoundException ex) {
throw new InvalidDataException("AssignItemToSlot: Collection '"+collName+"' not found in this Item", "");
} catch (ClusterStorageException ex) {
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/ClearSlot.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/ClearSlot.java index c6bb654..d8d4c7d 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/ClearSlot.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/ClearSlot.java @@ -67,7 +67,7 @@ public class ClearSlot extends PredefinedStep // load collection
try {
- agg = (Aggregation)Gateway.getStorage().get(item, ClusterStorage.COLLECTION+"/"+collName, null);
+ agg = (Aggregation)Gateway.getStorage().get(item, ClusterStorage.COLLECTION+"/"+collName+"/last", null);
} catch (ObjectNotFoundException ex) {
throw new InvalidDataException("ClearSlot: Collection '"+collName+"' not found in this Item", "");
} catch (ClusterStorageException ex) {
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 6196025..c142d59 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveSlotFromCollection.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveSlotFromCollection.java @@ -74,7 +74,7 @@ public class RemoveSlotFromCollection extends PredefinedStep // load collection
try {
- coll = (Collection<? extends CollectionMember>)Gateway.getStorage().get(item, ClusterStorage.COLLECTION+"/"+collName, null);
+ coll = (Collection<? extends CollectionMember>)Gateway.getStorage().get(item, ClusterStorage.COLLECTION+"/"+collName+"/last", null);
} catch (ObjectNotFoundException ex) {
throw new InvalidDataException("RemoveSlotFromCollection: Collection '"+collName+"' not found in this Item", "");
} catch (ClusterStorageException ex) {
|
