summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2014-08-25 13:53:33 +0200
committerAndrew Branson <andrew.branson@cern.ch>2014-08-25 13:53:33 +0200
commitf7df981d031e360b379b86d9aefdde15b918b21f (patch)
tree44f08a278514dee9be01ffba67da8db85547d907
parentbdb708127a7f0e1ef065a49377341843e12672cb (diff)
Require integers for all resource versions
-rw-r--r--src/main/java/com/c2kernel/lifecycle/ActivityDef.java6
-rw-r--r--src/main/java/com/c2kernel/lifecycle/ActivitySlotDef.java8
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java7
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java2
-rw-r--r--src/main/java/com/c2kernel/process/Bootstrap.java4
-rw-r--r--src/main/java/com/c2kernel/scripting/Script.java2
-rw-r--r--src/main/java/com/c2kernel/utils/ActDefCache.java2
-rw-r--r--src/main/java/com/c2kernel/utils/LocalObjectLoader.java4
8 files changed, 22 insertions, 13 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)),
diff --git a/src/main/java/com/c2kernel/process/Bootstrap.java b/src/main/java/com/c2kernel/process/Bootstrap.java
index 4f29b87..70bd2e8 100644
--- a/src/main/java/com/c2kernel/process/Bootstrap.java
+++ b/src/main/java/com/c2kernel/process/Bootstrap.java
@@ -250,7 +250,7 @@ public class Bootstrap
CompositeActivity ca;
if (ns!=null && "true".equals(Gateway.getProperty("Module.debug")))
- ca = (CompositeActivity) ((CompositeActivityDef)LocalObjectLoader.getActDef(impHandler.getWorkflowName(), "0")).instantiate();
+ ca = (CompositeActivity) ((CompositeActivityDef)LocalObjectLoader.getActDef(impHandler.getWorkflowName(), 0)).instantiate();
else
ca = new CompositeActivity();
@@ -349,7 +349,7 @@ public class Bootstrap
}
public static void initServerItemWf() throws Exception {
- CompositeActivityDef serverWfCa = (CompositeActivityDef)LocalObjectLoader.getActDef("ServerItemWorkflow", "last");
+ CompositeActivityDef serverWfCa = (CompositeActivityDef)LocalObjectLoader.getActDef("ServerItemWorkflow", 0);
Workflow wf = new Workflow((CompositeActivity)serverWfCa.instantiate());
PredefinedStepContainer predef = (PredefinedStepContainer)wf.search("workflow/predefined");
wf.getChildGraphModel().removeVertex(predef);
diff --git a/src/main/java/com/c2kernel/scripting/Script.java b/src/main/java/com/c2kernel/scripting/Script.java
index 80270d4..6f4aee9 100644
--- a/src/main/java/com/c2kernel/scripting/Script.java
+++ b/src/main/java/com/c2kernel/scripting/Script.java
@@ -193,7 +193,7 @@ public class Script
{
mName = scriptName;
mVersion = scriptVersion;
- parseScriptXML(LocalObjectLoader.getScript(scriptName, String.valueOf(scriptVersion)));
+ parseScriptXML(LocalObjectLoader.getScript(scriptName, scriptVersion));
}
catch (ObjectNotFoundException e)
{
diff --git a/src/main/java/com/c2kernel/utils/ActDefCache.java b/src/main/java/com/c2kernel/utils/ActDefCache.java
index 2ee5c7c..f5a7a78 100644
--- a/src/main/java/com/c2kernel/utils/ActDefCache.java
+++ b/src/main/java/com/c2kernel/utils/ActDefCache.java
@@ -18,7 +18,7 @@ public class ActDefCache {
SoftCache<String, ActCacheEntry> actCache = new SoftCache<String, ActCacheEntry>();
- public ActivityDef get(String actName, String actVersion) throws ObjectNotFoundException, InvalidDataException {
+ public ActivityDef get(String actName, int actVersion) throws ObjectNotFoundException, InvalidDataException {
ActivityDef thisActDef;
synchronized(actCache) {
ActCacheEntry thisActDefEntry = actCache.get(actName+"_"+actVersion);
diff --git a/src/main/java/com/c2kernel/utils/LocalObjectLoader.java b/src/main/java/com/c2kernel/utils/LocalObjectLoader.java
index 63bb3c2..3025f2d 100644
--- a/src/main/java/com/c2kernel/utils/LocalObjectLoader.java
+++ b/src/main/java/com/c2kernel/utils/LocalObjectLoader.java
@@ -22,7 +22,7 @@ public class LocalObjectLoader {
return (ItemProxy)Gateway.getProxyManager().getProxy(defPath);
}
- static public String getScript(String scriptName, String scriptVersion) throws ObjectNotFoundException {
+ static public String getScript(String scriptName, int scriptVersion) throws ObjectNotFoundException {
Logger.msg(5, "Loading script "+scriptName+" v"+scriptVersion);
try {
ItemProxy script = loadLocalObjectDef("/desc/Script/", scriptName);
@@ -65,7 +65,7 @@ public class LocalObjectLoader {
* @return ActivityDef
* @throws ObjectNotFoundException - When activity or version does not exist
*/
- static public ActivityDef getActDef(String actName, String actVersion) throws ObjectNotFoundException, InvalidDataException {
+ static public ActivityDef getActDef(String actName, int actVersion) throws ObjectNotFoundException, InvalidDataException {
Logger.msg(5, "Loading activity def "+actName+" v"+actVersion);
return actCache.get(actName, actVersion);
}