+ " already registered.");
executionContext.set(context);
}
+
+ /**
+ * Unregisters the ExecutionContext for the current Thread
+ * @throws a SlcException if no ExecutionContext was registered for the Thread
+ * @return the unregistered ExecutionContext
+ */
+ public static ExecutionContext unregisterExecutionContext() {
+ ExecutionContext current = executionContext.get();
+ if(current == null) {
+ throw new SlcException("No Context registered.");
+ }
+ executionContext.remove();
+ return current;
+ }
public static void enterFlow(ExecutionFlow executionFlow) {
Stack<ExecutionFlowRuntime> stack = executionContext.get().stack;
Map<String, ExecutionSpecAttribute> specAttrs = executionFlow
.getExecutionSpec().getAttributes();
for (String key : specAttrs.keySet()) {
- ExecutionSpecAttribute esa = specAttrs.get(key);
- if (esa.getIsParameter()) {
+ //ExecutionSpecAttribute esa = specAttrs.get(key);
+ if (executionFlow.isSetAsParameter(key)) {
runtime.getLocalVariables().put(key,
executionFlow.getParameter(key));
if (log.isTraceEnabled())