diff options
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle')
4 files changed, 16 insertions, 7 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/ActivityDef.java b/src/main/java/com/c2kernel/lifecycle/ActivityDef.java index 40d1f8a..efe532d 100644 --- a/src/main/java/com/c2kernel/lifecycle/ActivityDef.java +++ b/src/main/java/com/c2kernel/lifecycle/ActivityDef.java @@ -15,7 +15,7 @@ public class ActivityDef extends WfVertexDef implements C2KLocalObject {
private int mId = -1;
private String mName = "";
- private String mVersion = "";
+ private Integer mVersion = null;
public boolean changed = false;
/**
* @see java.lang.Object#Object()
@@ -61,14 +61,14 @@ public class ActivityDef extends WfVertexDef implements C2KLocalObject return mName;
}
- public void setVersion(String v)
+ public void setVersion(Integer v)
{
mVersion = v;
}
/**
* @see com.c2kernel.graph.model.Vertex#getName()
*/
- public String getVersion()
+ public Integer getVersion()
{
return mVersion;
}
diff --git a/src/main/java/com/c2kernel/lifecycle/ActivitySlotDef.java b/src/main/java/com/c2kernel/lifecycle/ActivitySlotDef.java index 74d8305..885f613 100644 --- a/src/main/java/com/c2kernel/lifecycle/ActivitySlotDef.java +++ b/src/main/java/com/c2kernel/lifecycle/ActivitySlotDef.java @@ -44,7 +44,13 @@ public class ActivitySlotDef extends WfVertexDef public ActivityDef getTheActivityDef() throws ObjectNotFoundException, InvalidDataException
{
- ActivityDef actDef = LocalObjectLoader.getActDef(getActivityDef(), getActVersion());
+ int actVersion;
+ try {
+ actVersion = Integer.parseInt(getActVersion());
+ } catch (NumberFormatException ex) {
+ throw new InvalidDataException("Non-integer activitiy version set for slot "+getActName(), "");
+ }
+ ActivityDef actDef = LocalObjectLoader.getActDef(getActivityDef(), actVersion);
if (actDef instanceof CompositeActivityDef)
mIsComposite = true;
return actDef;
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java index 77a3aa5..b80b3cd 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java @@ -63,6 +63,7 @@ public class CreateItemFromDescription extends PredefinedStep CompositeActivityDef wfDef;
String wfDefName = null;
String wfDefVer = null;
+
if (input.length > 2) // override wf
wfDefName = input[2];
@@ -108,11 +109,13 @@ public class CreateItemFromDescription extends PredefinedStep throw new InvalidDataException("No workflow def version given","");
try {
- wfDef = (CompositeActivityDef)LocalObjectLoader.getActDef(wfDefName, wfDefVer);
+ wfDef = (CompositeActivityDef)LocalObjectLoader.getActDef(wfDefName, Integer.valueOf(wfDefVer));
} catch (ObjectNotFoundException ex) {
- throw new InvalidDataException("Workflow def '"+wfDefName+"' v"+wfDefVer+" item not found", "");
+ throw new InvalidDataException("Workflow def '"+wfDefName+"' v"+wfDefVer+" not found", "");
} catch (ClassCastException ex) {
throw new InvalidDataException("Activity def '"+wfDefName+"' v"+wfDefVer+" was not Composite", "");
+ } catch (NumberFormatException ex) {
+ throw new InvalidDataException("Workflow def version '"+wfDefVer+"' given for def '"+wfDefName+"' was not an integer", "");
}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java index 0856580..6c3abf1 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java @@ -87,7 +87,7 @@ public class NewItem extends ModuleImport { try {
// find workflow def
- CompositeActivityDef compact = (CompositeActivityDef)LocalObjectLoader.getActDef(workflow, "0");
+ CompositeActivityDef compact = (CompositeActivityDef)LocalObjectLoader.getActDef(workflow, 0);
newItem.initialise(
agentId,
Gateway.getMarshaller().marshall(new PropertyArrayList(properties)),
|
