From a4af569e384baf0dcff0198016a309ed66b9910a Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Wed, 1 Oct 2014 21:21:43 +0200 Subject: Predefined steps normally only interact with the last version of a Collection. New steps will be added to create fixed versions as needed. --- .../com/c2kernel/lifecycle/instance/predefined/AddNewSlot.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/AddNewSlot.java') 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: *
  1. Collection name
  2. *
  3. Item Description key (optional)
  4. + *
  5. Item Description version (optional)
  6. *
*/ @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", ""); } -- cgit v1.2.3