fix output params management

This commit is contained in:
Michele Artini 2023-12-18 14:02:26 +01:00
parent edec46df93
commit cc7052ade7
3 changed files with 13 additions and 5 deletions

View File

@ -260,7 +260,7 @@ public class WfTemplate implements Serializable {
public Map<String, String> outputToEnvMap() {
final Map<String, String> map = new HashMap<>();
for (final NodeOutputParam p : output) {
if (StringUtils.isBlank(p.getEnv())) {
if (StringUtils.isNotBlank(p.getEnv())) {
map.put(p.getName(), p.getEnv());
}
}

View File

@ -37,7 +37,7 @@ public abstract class ProcessNode implements BeanNameAware {
private ProcessEngine engine;
public void execute(final Token token, final Map<String, Object> params, final Map<String, String> outputToEnv) {
public void execute(final Token token, final Map<String, Object> params) {
try {
initInputParams(params);
@ -46,7 +46,7 @@ public abstract class ProcessNode implements BeanNameAware {
@Override
public void onSuccess(final Token t) {
try {
saveOutputParams(t, outputToEnv);
saveOutputParams(t);
engine.releaseToken(process, graphNode, t);
} catch (final WorkflowManagerException e) {
onFail(t, e);
@ -100,7 +100,15 @@ public abstract class ProcessNode implements BeanNameAware {
}
}
private void saveOutputParams(final Token token, final Map<String, String> outputToEnv) throws WorkflowManagerException {
private void saveOutputParams(final Token token) throws WorkflowManagerException {
final Map<String, String> outputToEnv = graphNode.getOutputEnvMap();
if (log.isDebugEnabled()) {
log.debug("MAP (OUTPUT->ENV):");
outputToEnv.forEach((k, v) -> log.debug("* " + k + "->" + v));
log.debug("END MAP");
}
for (final Field field : findFields(getClass(), WfOutputParam.class)) {
final String annName = field.getAnnotation(WfOutputParam.class).value();

View File

@ -259,7 +259,7 @@ public class ProcessEngine {
final ProcessNode pNode = newProcessNode(graphNode, process);
pNode.execute(token, params, graphNode.getOutputEnvMap());
pNode.execute(token, params);
}