ProcessNode refactoring
This commit is contained in:
parent
7d327998be
commit
cb56e9c823
|
@ -26,7 +26,7 @@ import eu.dnetlib.wfs.utils.XpathFilterFactory;
|
|||
import jakarta.transaction.Transactional;
|
||||
|
||||
@WfNode("md_clean")
|
||||
public class MdCleanerJobNode extends AbstractJobNode {
|
||||
public class MdCleanerJobNode extends ProcessNode {
|
||||
|
||||
@WfInputParam
|
||||
private Datasource ds;
|
||||
|
|
|
@ -27,7 +27,7 @@ import eu.dnetlib.wfs.utils.XpathFilterFactory;
|
|||
import jakarta.transaction.Transactional;
|
||||
|
||||
@WfNode("md_collect_incremental")
|
||||
public class MdCollectIncrementalJobNode extends AbstractJobNode {
|
||||
public class MdCollectIncrementalJobNode extends ProcessNode {
|
||||
|
||||
@WfInputParam
|
||||
private Datasource ds;
|
||||
|
|
|
@ -25,7 +25,7 @@ import eu.dnetlib.wfs.utils.XpathFilterFactory;
|
|||
import jakarta.transaction.Transactional;
|
||||
|
||||
@WfNode("md_collect_refresh")
|
||||
public class MdCollectRefreshJobNode extends AbstractJobNode {
|
||||
public class MdCollectRefreshJobNode extends ProcessNode {
|
||||
|
||||
@WfInputParam
|
||||
private Datasource ds;
|
||||
|
|
|
@ -24,7 +24,7 @@ import eu.dnetlib.wfs.output.oai.OaiBackend;
|
|||
import jakarta.transaction.Transactional;
|
||||
|
||||
@WfNode("md_oai_export")
|
||||
public class MdExportOaiJobNode extends AbstractJobNode {
|
||||
public class MdExportOaiJobNode extends ProcessNode {
|
||||
|
||||
@WfInputParam
|
||||
private Datasource ds;
|
||||
|
|
|
@ -16,7 +16,7 @@ import eu.dnetlib.wfs.annotations.WfInputParam;
|
|||
import eu.dnetlib.wfs.annotations.WfNode;
|
||||
|
||||
@WfNode("md_index")
|
||||
public class MdIndexJobNode extends AbstractJobNode {
|
||||
public class MdIndexJobNode extends ProcessNode {
|
||||
|
||||
@WfInputParam
|
||||
private Datasource ds;
|
||||
|
|
|
@ -28,7 +28,7 @@ import eu.dnetlib.wfs.utils.XpathFilterFactory;
|
|||
import jakarta.transaction.Transactional;
|
||||
|
||||
@WfNode("md_transform_xslt")
|
||||
public class MdTransformJobNode extends AbstractJobNode {
|
||||
public class MdTransformJobNode extends ProcessNode {
|
||||
|
||||
@WfInputParam
|
||||
private Datasource ds;
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
package eu.dnetlib.wfs.nodes;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import eu.dnetlib.wfs.procs.Token;
|
||||
import eu.dnetlib.wfs.utils.NodeCallback;
|
||||
|
||||
public abstract class AbstractJobNode extends ProcessNode {
|
||||
|
||||
private static final Log log = LogFactory.getLog(AbstractJobNode.class);
|
||||
|
||||
@Override
|
||||
public final void execute(final Token token, final NodeCallback callback) {
|
||||
try {
|
||||
log.debug("START NODE: " + getBeanName());
|
||||
token.setProgressMessage(getNodeName());
|
||||
execute();
|
||||
callback.onSuccess(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());
|
||||
callback.onFail(token, e);
|
||||
}
|
||||
}
|
||||
|
||||
protected abstract void execute() throws Exception;
|
||||
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
package eu.dnetlib.wfs.nodes;
|
||||
|
||||
public final class DefaultJobNode extends AbstractJobNode {
|
||||
public final class DefaultJobNode extends ProcessNode {
|
||||
|
||||
public DefaultJobNode(final String name) {
|
||||
setNodeName(name);
|
||||
|
|
|
@ -73,7 +73,21 @@ public abstract class ProcessNode implements BeanNameAware {
|
|||
}
|
||||
}
|
||||
|
||||
protected abstract void execute(final Token token, NodeCallback callback);
|
||||
private final void execute(final Token token, final NodeCallback callback) {
|
||||
try {
|
||||
log.debug("START NODE: " + getBeanName());
|
||||
token.setProgressMessage(getNodeName());
|
||||
execute();
|
||||
callback.onSuccess(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());
|
||||
callback.onFail(token, e);
|
||||
}
|
||||
}
|
||||
|
||||
protected abstract void execute() throws Exception;
|
||||
|
||||
public final boolean isAsync() {
|
||||
// return this.getClass().getAnnotation(WfNode.class).async;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package eu.dnetlib.wfs.nodes;
|
||||
|
||||
public class SuccessNode extends AbstractJobNode {
|
||||
public class SuccessNode extends ProcessNode {
|
||||
|
||||
public SuccessNode() {
|
||||
setNodeName("success");
|
||||
|
|
|
@ -5,11 +5,11 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
|
||||
import eu.dnetlib.errors.WorkflowManagerException;
|
||||
import eu.dnetlib.wfs.annotations.WfNode;
|
||||
import eu.dnetlib.wfs.nodes.AbstractJobNode;
|
||||
import eu.dnetlib.wfs.nodes.ProcessNode;
|
||||
import eu.dnetlib.wfs.repository.WfConfigurationRepository;
|
||||
|
||||
@WfNode("deleteWfConfiguration")
|
||||
public class DeleteWfConfigurationNode extends AbstractJobNode {
|
||||
public class DeleteWfConfigurationNode extends ProcessNode {
|
||||
|
||||
@Autowired
|
||||
private WfConfigurationRepository wfConfigurationRepository;
|
||||
|
|
|
@ -21,12 +21,12 @@ import eu.dnetlib.domain.wfs.templates.WfTemplate;
|
|||
import eu.dnetlib.wfs.annotations.WfInputParam;
|
||||
import eu.dnetlib.wfs.annotations.WfNode;
|
||||
import eu.dnetlib.wfs.annotations.WfOutputParam;
|
||||
import eu.dnetlib.wfs.nodes.AbstractJobNode;
|
||||
import eu.dnetlib.wfs.nodes.ProcessNode;
|
||||
import eu.dnetlib.wfs.repository.WfConfigurationRepository;
|
||||
import eu.dnetlib.wfs.utils.WfConfigurationUtils;
|
||||
|
||||
@WfNode("registerWfConfiguration")
|
||||
public class RegisterWfConfigurationNode extends AbstractJobNode {
|
||||
public class RegisterWfConfigurationNode extends ProcessNode {
|
||||
|
||||
private static final int DEFAULT_AGGR_PRIORITY = 75;
|
||||
|
||||
|
|
|
@ -7,10 +7,10 @@ import eu.dnetlib.common.clients.DsmClient;
|
|||
import eu.dnetlib.domain.dsm.Api;
|
||||
import eu.dnetlib.wfs.annotations.WfInputParam;
|
||||
import eu.dnetlib.wfs.annotations.WfNode;
|
||||
import eu.dnetlib.wfs.nodes.AbstractJobNode;
|
||||
import eu.dnetlib.wfs.nodes.ProcessNode;
|
||||
|
||||
@WfNode("clearApiExtraFields")
|
||||
public class ClearApiExtraFieldsNode extends AbstractJobNode {
|
||||
public class ClearApiExtraFieldsNode extends ProcessNode {
|
||||
|
||||
@WfInputParam
|
||||
private String infoType; // COLLECT, TRANSFORM, DOWNLOAD
|
||||
|
|
|
@ -8,10 +8,10 @@ import eu.dnetlib.domain.dsm.Api;
|
|||
import eu.dnetlib.domain.dsm.Datasource;
|
||||
import eu.dnetlib.wfs.annotations.WfNode;
|
||||
import eu.dnetlib.wfs.annotations.WfOutputParam;
|
||||
import eu.dnetlib.wfs.nodes.AbstractJobNode;
|
||||
import eu.dnetlib.wfs.nodes.ProcessNode;
|
||||
|
||||
@WfNode("loadDatasourceInfo")
|
||||
public class LoadDatasourceInfoNode extends AbstractJobNode {
|
||||
public class LoadDatasourceInfoNode extends ProcessNode {
|
||||
|
||||
@WfOutputParam
|
||||
private Datasource ds;
|
||||
|
|
|
@ -8,10 +8,10 @@ import eu.dnetlib.domain.dsm.Api;
|
|||
import eu.dnetlib.domain.dsm.Datasource;
|
||||
import eu.dnetlib.wfs.annotations.WfInputParam;
|
||||
import eu.dnetlib.wfs.annotations.WfNode;
|
||||
import eu.dnetlib.wfs.nodes.AbstractJobNode;
|
||||
import eu.dnetlib.wfs.nodes.ProcessNode;
|
||||
|
||||
@WfNode("updateApiStatus")
|
||||
public class UpdateApiStatusNode extends AbstractJobNode {
|
||||
public class UpdateApiStatusNode extends ProcessNode {
|
||||
|
||||
@WfInputParam
|
||||
private Datasource ds;
|
||||
|
|
|
@ -9,10 +9,10 @@ import eu.dnetlib.domain.dsm.Api;
|
|||
import eu.dnetlib.domain.dsm.Datasource;
|
||||
import eu.dnetlib.wfs.annotations.WfInputParam;
|
||||
import eu.dnetlib.wfs.annotations.WfNode;
|
||||
import eu.dnetlib.wfs.nodes.AbstractJobNode;
|
||||
import eu.dnetlib.wfs.nodes.ProcessNode;
|
||||
|
||||
@WfNode("verifyDatasource")
|
||||
public class VerifyDatasourceNode extends AbstractJobNode {
|
||||
public class VerifyDatasourceNode extends ProcessNode {
|
||||
|
||||
@WfInputParam
|
||||
private String expectedEoscDsTypes;
|
||||
|
|
|
@ -6,10 +6,10 @@ import eu.dnetlib.common.index.solr.SolrService;
|
|||
import eu.dnetlib.domain.dsm.Api;
|
||||
import eu.dnetlib.wfs.annotations.WfInputParam;
|
||||
import eu.dnetlib.wfs.annotations.WfNode;
|
||||
import eu.dnetlib.wfs.nodes.AbstractJobNode;
|
||||
import eu.dnetlib.wfs.nodes.ProcessNode;
|
||||
|
||||
@WfNode("deleteIndexRecords")
|
||||
public class DeleteIndexRecordsNode extends AbstractJobNode {
|
||||
public class DeleteIndexRecordsNode extends ProcessNode {
|
||||
|
||||
@WfInputParam
|
||||
private String indexConfigurationId;
|
||||
|
|
|
@ -11,10 +11,10 @@ import eu.dnetlib.domain.mdstore.MDStoreWithInfo;
|
|||
import eu.dnetlib.wfs.annotations.WfInputParam;
|
||||
import eu.dnetlib.wfs.annotations.WfNode;
|
||||
import eu.dnetlib.wfs.annotations.WfOutputParam;
|
||||
import eu.dnetlib.wfs.nodes.AbstractJobNode;
|
||||
import eu.dnetlib.wfs.nodes.ProcessNode;
|
||||
|
||||
@WfNode("createMdStore")
|
||||
public class CreateMdStoreNode extends AbstractJobNode {
|
||||
public class CreateMdStoreNode extends ProcessNode {
|
||||
|
||||
@WfInputParam
|
||||
private String format;
|
||||
|
|
|
@ -6,10 +6,10 @@ import eu.dnetlib.common.clients.MDStoreManagerClient;
|
|||
import eu.dnetlib.common.clients.DnetServiceClientFactory;
|
||||
import eu.dnetlib.wfs.annotations.WfInputParam;
|
||||
import eu.dnetlib.wfs.annotations.WfNode;
|
||||
import eu.dnetlib.wfs.nodes.AbstractJobNode;
|
||||
import eu.dnetlib.wfs.nodes.ProcessNode;
|
||||
|
||||
@WfNode("deleteMdStore")
|
||||
public class DeleteMdStoreNode extends AbstractJobNode {
|
||||
public class DeleteMdStoreNode extends ProcessNode {
|
||||
|
||||
@WfInputParam
|
||||
private String mdId;
|
||||
|
|
|
@ -3,10 +3,10 @@ package eu.dnetlib.wfs.nodes.test;
|
|||
import eu.dnetlib.wfs.annotations.WfInputParam;
|
||||
import eu.dnetlib.wfs.annotations.WfNode;
|
||||
import eu.dnetlib.wfs.annotations.WfOutputParam;
|
||||
import eu.dnetlib.wfs.nodes.AbstractJobNode;
|
||||
import eu.dnetlib.wfs.nodes.ProcessNode;
|
||||
|
||||
@WfNode("test01")
|
||||
public class Test01Node extends AbstractJobNode {
|
||||
public class Test01Node extends ProcessNode {
|
||||
|
||||
@WfInputParam
|
||||
private String message;
|
||||
|
|
Loading…
Reference in New Issue