From 3517cbde4db5774467b73e2fb8170f1d4aef2e8b Mon Sep 17 00:00:00 2001 From: "michele.artini" Date: Thu, 27 Apr 2023 08:39:36 +0200 Subject: [PATCH] WfAsync annotation --- .../eu/dnetlib/manager/wf/annotations/WfAsync.java | 14 ++++++++++++++ .../dnetlib/manager/wf/nodes/AbstractJobNode.java | 9 ++------- .../dnetlib/manager/wf/nodes/DefaultJobNode.java | 1 - .../eu/dnetlib/manager/wf/nodes/SuccessNode.java | 1 - .../FindDateRangeForIncrementalHarvestingNode.java | 4 ---- .../wf/nodes/stream/StreamConsumerNode.java | 4 ---- .../manager/wf/nodes/stream/StreamFilterNode.java | 4 ---- .../manager/wf/nodes/stream/StreamMapperNode.java | 4 ---- .../wf/nodes/stream/StreamSupplierNode.java | 4 ---- .../dnetlib/manager/wf/nodes/test/Test01Node.java | 4 ---- 10 files changed, 16 insertions(+), 33 deletions(-) create mode 100644 libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/annotations/WfAsync.java diff --git a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/annotations/WfAsync.java b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/annotations/WfAsync.java new file mode 100644 index 00000000..81979be7 --- /dev/null +++ b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/annotations/WfAsync.java @@ -0,0 +1,14 @@ +package eu.dnetlib.manager.wf.annotations; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface WfAsync { + +} diff --git a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/AbstractJobNode.java b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/AbstractJobNode.java index fbfb374c..c56a1535 100644 --- a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/AbstractJobNode.java +++ b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/AbstractJobNode.java @@ -5,6 +5,7 @@ import java.util.concurrent.Executors; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import eu.dnetlib.manager.wf.annotations.WfAsync; import eu.dnetlib.manager.wf.workflows.procs.Token; import eu.dnetlib.manager.wf.workflows.util.NodeCallback; @@ -12,12 +13,6 @@ public abstract class AbstractJobNode extends ProcessNode { private static final Log log = LogFactory.getLog(AbstractJobNode.class); - private final boolean async; - - public AbstractJobNode(final boolean async) { - this.async = async; - } - @Override public final void execute(final Token token, final NodeCallback callback) { try { @@ -47,7 +42,7 @@ public abstract class AbstractJobNode extends ProcessNode { protected abstract void execute(); public final boolean isAsync() { - return async; + return this.getClass().isAnnotationPresent(WfAsync.class); } } diff --git a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/DefaultJobNode.java b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/DefaultJobNode.java index 96afc760..85ffc23b 100644 --- a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/DefaultJobNode.java +++ b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/DefaultJobNode.java @@ -3,7 +3,6 @@ package eu.dnetlib.manager.wf.nodes; public final class DefaultJobNode extends AbstractJobNode { public DefaultJobNode(final String name) { - super(false); setNodeName(name); } diff --git a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/SuccessNode.java b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/SuccessNode.java index 4b884587..a1699684 100644 --- a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/SuccessNode.java +++ b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/SuccessNode.java @@ -3,7 +3,6 @@ package eu.dnetlib.manager.wf.nodes; public class SuccessNode extends AbstractJobNode { public SuccessNode() { - super(false); setNodeName("success"); } diff --git a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/aggregation/FindDateRangeForIncrementalHarvestingNode.java b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/aggregation/FindDateRangeForIncrementalHarvestingNode.java index bdad2ba1..4f9cd9fe 100644 --- a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/aggregation/FindDateRangeForIncrementalHarvestingNode.java +++ b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/aggregation/FindDateRangeForIncrementalHarvestingNode.java @@ -10,10 +10,6 @@ import eu.dnetlib.manager.wf.nodes.AbstractJobNode; @WfNode("findDateRangeForIncrementalHarvesting") public class FindDateRangeForIncrementalHarvestingNode extends AbstractJobNode { - public FindDateRangeForIncrementalHarvestingNode() { - super(false); - } - @WfInputParam private LocalDateTime overrideFromDate; @WfInputParam diff --git a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamConsumerNode.java b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamConsumerNode.java index 05216a8f..301e9aa9 100644 --- a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamConsumerNode.java +++ b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamConsumerNode.java @@ -10,10 +10,6 @@ public abstract class StreamConsumerNode extends AbstractJobNode { @WfInputParam private Stream inputStream; - public StreamConsumerNode() { - super(false); - } - abstract protected Stream consumeStream(Stream stream); @Override diff --git a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamFilterNode.java b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamFilterNode.java index 8d7f174a..e6013fd8 100644 --- a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamFilterNode.java +++ b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamFilterNode.java @@ -14,10 +14,6 @@ public abstract class StreamFilterNode extends AbstractJobNode { @WfOutputParam private Stream outputStream; - public StreamFilterNode() { - super(false); - } - abstract protected Stream filterStream(Stream input); @Override diff --git a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamMapperNode.java b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamMapperNode.java index c452595c..83931dc1 100644 --- a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamMapperNode.java +++ b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamMapperNode.java @@ -14,10 +14,6 @@ public abstract class StreamMapperNode extends AbstractJobNode { @WfOutputParam private Stream outputStream; - public StreamMapperNode() { - super(false); - } - abstract protected Stream mapStream(Stream input); @Override diff --git a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamSupplierNode.java b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamSupplierNode.java index a9492128..4fc0523c 100644 --- a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamSupplierNode.java +++ b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/stream/StreamSupplierNode.java @@ -10,10 +10,6 @@ public abstract class StreamSupplierNode extends AbstractJobNode { @WfOutputParam private Stream outputStream; - public StreamSupplierNode() { - super(false); - } - abstract protected Stream prepareStream(); @Override diff --git a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/test/Test01Node.java b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/test/Test01Node.java index a2dea432..c902f820 100644 --- a/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/test/Test01Node.java +++ b/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/nodes/test/Test01Node.java @@ -17,10 +17,6 @@ public class Test01Node extends AbstractJobNode { @WfOutputParam private String response; - public Test01Node() { - super(false); - } - @Override protected void execute() { System.out.println("************************");