
com.xlrit.gears.engine.execution.BasicExecution Maven / Gradle / Ivy
package com.xlrit.gears.engine.execution;
import java.util.HashMap;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.xlrit.gears.engine.meta.MetaManager;
/**
* Only meant to be used for start forms and testing purposes.
* Methods `getProcessInstanceId` and `getProcessDefinitionId` will throw an UnsupportedOperationException.
*/
public class BasicExecution extends AbstractExecution {
private static final Logger LOG = LoggerFactory.getLogger(BasicExecution.class);
private static final String KEY_SUBJECT = "__SUBJECT__";
private final MetaManager metaManager;
private final Map vars;
public BasicExecution(MetaManager metaManager) {
this.metaManager = metaManager;
this.vars = new HashMap<>();
}
@Override
protected MetaManager getMetaManager() {
return metaManager;
}
@Override
public void setSubject(String subject) {
vars.put(KEY_SUBJECT, subject);
}
@Override
public String getSubject() {
return (String) vars.get(KEY_SUBJECT);
}
@Override
protected Object getVariable(String name) {
return vars.get(name);
}
@Override
protected Object getVariableLocal(String name) {
return vars.get(name);
}
@Override
protected void setVariable(String name, Object value, int visibility) {
if (visibility < 1) return;
vars.put(name, value);
}
@Override
public Map getLocalVars() {
return vars;
}
@Override
public String getProcessInstanceId() {
throw new UnsupportedOperationException();
}
@Override
public String getProcessDefinitionId() {
throw new UnsupportedOperationException();
}
@Override
public Logger getLogger() {
return LOG;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy