46 lines
1.1 KiB
Java
46 lines
1.1 KiB
Java
package eu.dnetlib.manager.wf.nodes;
|
|
|
|
import org.apache.commons.logging.Log;
|
|
import org.apache.commons.logging.LogFactory;
|
|
|
|
import eu.dnetlib.manager.wf.workflows.procs.Env;
|
|
import eu.dnetlib.manager.wf.workflows.procs.Token;
|
|
|
|
public abstract class AbstractJobNode extends ProcessNode {
|
|
|
|
private static final Log log = LogFactory.getLog(SimpleJobNode.class);
|
|
|
|
protected void doExecute(final Token token) {
|
|
try {
|
|
log.debug("START NODE: " + getBeanName());
|
|
setProgressMessage(getNodeName());
|
|
|
|
beforeStart(token);
|
|
execute(token.getEnv());
|
|
beforeCompleted(token);
|
|
|
|
log.debug("END NODE (SUCCESS): " + getBeanName());
|
|
} catch (final Throwable e) {
|
|
log.error("got exception while executing workflow node", e);
|
|
log.debug("END NODE (FAILED): " + getBeanName());
|
|
beforeFailed(token);
|
|
token.releaseAsFailed(e);
|
|
}
|
|
}
|
|
|
|
abstract protected void execute(final Env env) throws Exception;
|
|
|
|
protected void beforeStart(final Token token) {
|
|
// For optional overwrites
|
|
}
|
|
|
|
protected void beforeCompleted(final Token token) {
|
|
// For optional overwrites
|
|
}
|
|
|
|
protected void beforeFailed(final Token token) {
|
|
// For optional overwrites
|
|
}
|
|
|
|
}
|