summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/c2kernel/entity/agent/Job.java14
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/Activity.java2
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java2
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java34
4 files changed, 31 insertions, 21 deletions
diff --git a/src/main/java/com/c2kernel/entity/agent/Job.java b/src/main/java/com/c2kernel/entity/agent/Job.java
index 5f9e6dc..eecbe19 100644
--- a/src/main/java/com/c2kernel/entity/agent/Job.java
+++ b/src/main/java/com/c2kernel/entity/agent/Job.java
@@ -189,7 +189,7 @@ public class Job implements C2KLocalObject
}
public String getSchemaName() throws InvalidDataException, ObjectNotFoundException {
- if (transition.hasOutcome()) {
+ if (transition.hasOutcome(actProps)) {
Schema schema = transition.getSchema(actProps);
return schema.docType;
}
@@ -197,7 +197,7 @@ public class Job implements C2KLocalObject
}
public int getSchemaVersion() throws InvalidDataException, ObjectNotFoundException {
- if (transition.hasOutcome()) {
+ if (transition.hasOutcome(actProps)) {
Schema schema = transition.getSchema(actProps);
return schema.docVersion;
}
@@ -206,18 +206,18 @@ public class Job implements C2KLocalObject
public boolean isOutcomeRequired()
{
- return transition.hasOutcome() && transition.getOutcome().isRequired();
+ return transition.hasOutcome(actProps) && transition.getOutcome().isRequired();
}
public String getScriptName() {
- if (transition.hasScript()) {
+ if (transition.hasScript(actProps)) {
return transition.getScript().getScriptName();
}
return null;
}
public int getScriptVersion() throws InvalidDataException {
- if (transition.hasScript()) {
+ if (transition.hasScript(actProps)) {
return transition.getScriptVersion(actProps);
}
return -1;
@@ -312,11 +312,11 @@ public class Job implements C2KLocalObject
}
public boolean hasOutcome() {
- return transition.hasOutcome();
+ return transition.hasOutcome(actProps);
}
public boolean hasScript() {
- return transition.hasScript();
+ return transition.hasScript(actProps);
}
public boolean isOutcomeSet() {
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
index 42ffe79..889006c 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
@@ -143,7 +143,7 @@ public class Activity extends WfVertex
Schema schema = null;
String viewName = null;
boolean storeOutcome = false;
- if (transition.hasOutcome()) {
+ if (transition.hasOutcome(getProperties())) {
schema = transition.getSchema(getProperties());
viewName = (String)getProperties().get("Viewpoint");
if (requestData != null && requestData.length()>0)
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java b/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java
index de5f56f..a6e39ae 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java
@@ -152,6 +152,7 @@ public abstract class WfVertex extends GraphableVertex
}
}
+ //TODO: is this right?
if (requiredInput.containsKey("item")) {
script.setInputParamValue("item", Gateway.getProxyManager().getProxy(new EntityPath(itemSysKey)));
}
@@ -178,7 +179,6 @@ public abstract class WfVertex extends GraphableVertex
throw new ScriptingEngineException("Script name is empty");
Script script;
if (version!=null) {
- Logger.debug(version.toString());
script = new Script(name, version);
}
else { // empty version: try expression
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java
index 9922c7c..704f2bf 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/stateMachine/Transition.java
@@ -241,7 +241,7 @@ public class Transition implements Serializable {
while (propMatcher.find()) {
String propName = propMatcher.group(1);
Object propValue = props.get(propName);
- Logger.debug("Replacing Property "+propName+" as "+propValue);
+ Logger.msg(8, "Replacing Property "+propName+" as "+propValue);
String propValString = propValue==null?"":propValue.toString();
result = result.replace("${"+propName+"}", propValString);
}
@@ -254,19 +254,24 @@ public class Transition implements Serializable {
return (Boolean)props.get(enabledProp);
}
- public boolean hasOutcome() {
- return outcome!=null
- && outcome.schemaName!=null && outcome.schemaName.length()>0
- && outcome.schemaVersion!=null && outcome.schemaVersion.length()>0;
+ public boolean hasOutcome(CastorHashMap actProps) {
+ if (outcome == null || actProps == null) return false;
+ String outcomeName = resolveValue(outcome.schemaName, actProps);
+ if (outcomeName == null || outcomeName.length() == 0)
+ return false;
+ String outcomeVersion = resolveValue(outcome.schemaVersion, actProps);
+ if (outcomeVersion == null || outcomeVersion.length() == 0)
+ return false;
+ return true;
}
public Schema getSchema(CastorHashMap actProps) throws InvalidDataException, ObjectNotFoundException {
- if (hasOutcome())
+ if (hasOutcome(actProps))
try {
return LocalObjectLoader.getSchema(resolveValue(outcome.schemaName, actProps),
Integer.parseInt(resolveValue(outcome.schemaVersion, actProps)));
} catch (NumberFormatException ex) {
- throw new InvalidDataException("Bad schema version number: "+outcome.schemaVersion+" ("+resolveValue(outcome.schemaVersion, actProps), "");
+ throw new InvalidDataException("Bad schema version number: "+outcome.schemaVersion+" ("+resolveValue(outcome.schemaVersion, actProps)+")", "");
}
else
return null;
@@ -280,13 +285,18 @@ public class Transition implements Serializable {
try {
return Integer.parseInt(resolveValue(script.scriptVersion, actProps));
} catch (NumberFormatException ex) {
- throw new InvalidDataException("Bad Script version number: "+script.scriptVersion+" ("+resolveValue(script.scriptVersion, actProps));
+ throw new InvalidDataException("Bad Script version number: "+script.scriptVersion+" ("+resolveValue(script.scriptVersion, actProps)+")", "");
}
}
- public boolean hasScript() {
- return script!=null
- && script.scriptName!=null && script.scriptName.length()>0
- && script.scriptVersion!=null && script.scriptVersion.length()>0;
+ public boolean hasScript(CastorHashMap actProps) {
+ if (script == null || actProps == null) return false;
+ String scriptName = getScriptName(actProps);
+ if (scriptName == null || scriptName.length() == 0)
+ return false;
+ String scriptVersion = resolveValue(script.scriptVersion, actProps);
+ if (scriptVersion == null || scriptVersion.length() == 0)
+ return false;
+ return true;
}
}