This is an automated email from the ASF dual-hosted git repository.

bertty pushed a commit to branch debugger
in repository https://gitbox.apache.org/repos/asf/incubator-wayang.git

commit 09dc2c9708465cfa7135f35e59660c0b6faa255a
Author: Bertty Contreras-Rojas <[email protected]>
AuthorDate: Mon Apr 5 23:52:19 2021 -0400

    [WAYANG-28] Add Basic tags
---
 .../wayang/plugin/hackit/core/tags/CrashTag.java   | 43 +++++++++++++++++++++
 .../wayang/plugin/hackit/core/tags/DebugTag.java   | 43 +++++++++++++++++++++
 .../wayang/plugin/hackit/core/tags/DisplayTag.java | 42 +++++++++++++++++++++
 .../wayang/plugin/hackit/core/tags/HackitTag.java  | 44 ++++++++++++++++++++++
 .../plugin/hackit/core/tags/HackitTagBuilder.java  |  5 +++
 .../wayang/plugin/hackit/core/tags/LogTag.java     | 42 +++++++++++++++++++++
 .../wayang/plugin/hackit/core/tags/PauseTag.java   | 42 +++++++++++++++++++++
 .../wayang/plugin/hackit/core/tags/SkipTag.java    | 42 +++++++++++++++++++++
 .../wayang/plugin/hackit/core/tags/TraceTag.java   | 42 +++++++++++++++++++++
 9 files changed, 345 insertions(+)

diff --git 
a/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/CrashTag.java
 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/CrashTag.java
new file mode 100644
index 0000000..af0545c
--- /dev/null
+++ 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/CrashTag.java
@@ -0,0 +1,43 @@
+package org.apache.wayang.plugin.hackit.core.tags;
+
+public class CrashTag extends HackitTag {
+
+    private static CrashTag seed = null;
+
+    private CrashTag(){
+        super();
+    }
+
+    @Override
+    public boolean isSendOut() {
+        return false;
+    }
+
+    @Override
+    public boolean isSkip() {
+        return false;
+    }
+
+    @Override
+    public boolean isHaltJob() {
+        return false;
+    }
+
+    @Override
+    public boolean hasCallback() {
+        return false;
+    }
+
+    @Override
+    public HackitTag getInstance() {
+        if(seed == null){
+            seed = new CrashTag();
+        }
+        return seed;
+    }
+
+    @Override
+    public int hashCode() {
+        return 1;
+    }
+}
diff --git 
a/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/DebugTag.java
 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/DebugTag.java
new file mode 100644
index 0000000..2595ef3
--- /dev/null
+++ 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/DebugTag.java
@@ -0,0 +1,43 @@
+package org.apache.wayang.plugin.hackit.core.tags;
+
+public class DebugTag extends HackitTag  {
+
+    private static DebugTag seed = null;
+
+    private DebugTag(){
+        super();
+    }
+
+    @Override
+    public boolean isSendOut() {
+        return false;
+    }
+
+    @Override
+    public boolean isSkip() {
+        return false;
+    }
+
+    @Override
+    public boolean isHaltJob() {
+        return false;
+    }
+
+    @Override
+    public boolean hasCallback() {
+        return false;
+    }
+
+    @Override
+    public HackitTag getInstance() {
+        if(seed == null){
+            seed = new DebugTag();
+        }
+        return seed;
+    }
+
+    @Override
+    public int hashCode() {
+        return 2;
+    }
+}
diff --git 
a/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/DisplayTag.java
 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/DisplayTag.java
new file mode 100644
index 0000000..da85754
--- /dev/null
+++ 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/DisplayTag.java
@@ -0,0 +1,42 @@
+package org.apache.wayang.plugin.hackit.core.tags;
+
+public class DisplayTag extends HackitTag  {
+    private static DisplayTag seed = null;
+
+    private DisplayTag(){
+        super();
+    }
+
+    @Override
+    public boolean isSendOut() {
+        return false;
+    }
+
+    @Override
+    public boolean isSkip() {
+        return false;
+    }
+
+    @Override
+    public boolean isHaltJob() {
+        return false;
+    }
+
+    @Override
+    public boolean hasCallback() {
+        return false;
+    }
+
+    @Override
+    public HackitTag getInstance() {
+        if(seed == null){
+            seed = new DisplayTag();
+        }
+        return seed;
+    }
+
+    @Override
+    public int hashCode() {
+        return 3;
+    }
+}
diff --git 
a/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/HackitTag.java
 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/HackitTag.java
new file mode 100644
index 0000000..87a7258
--- /dev/null
+++ 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/HackitTag.java
@@ -0,0 +1,44 @@
+package org.apache.wayang.plugin.hackit.core.tags;
+
+import org.apache.wayang.plugin.hackit.core.action.ActionGroup;
+import org.apache.wayang.plugin.hackit.core.tagger.TaggerFunction;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public abstract class HackitTag implements Serializable, ActionGroup {
+
+    private List<TaggerFunction<?>> callbacks;
+    private Map<String, Object> callback_results;
+
+    protected HackitTag(){
+        this.callbacks = new ArrayList<>();
+        this.callback_results = new HashMap<>();
+    }
+
+    public void callback(){
+        if(hasCallback()) {
+            this.callbacks.stream().forEach(
+                    fun -> this.addValue(fun.getName(), fun.execute())
+            );
+        }
+    }
+    public void addValue(String name, Object value){
+        this.callback_results.put(name, value);
+    }
+
+    public abstract HackitTag getInstance();
+
+    @Override
+    public boolean equals(Object obj) {
+        return this.getClass().equals(obj.getClass());
+    }
+
+    @Override
+    public int hashCode() {
+        return 0;
+    }
+}
diff --git 
a/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/HackitTagBuilder.java
 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/HackitTagBuilder.java
new file mode 100644
index 0000000..57bbd6b
--- /dev/null
+++ 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/HackitTagBuilder.java
@@ -0,0 +1,5 @@
+package org.apache.wayang.plugin.hackit.core.tags;
+
+public class HackitTagBuilder {
+    //TODO check how to implement wildfly
+}
diff --git 
a/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/LogTag.java
 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/LogTag.java
new file mode 100644
index 0000000..0c149ac
--- /dev/null
+++ 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/LogTag.java
@@ -0,0 +1,42 @@
+package org.apache.wayang.plugin.hackit.core.tags;
+
+public class LogTag extends HackitTag  {
+    private static LogTag seed = null;
+
+    public LogTag(){
+        super();
+    }
+
+    @Override
+    public boolean isSendOut() {
+        return false;
+    }
+
+    @Override
+    public boolean isSkip() {
+        return false;
+    }
+
+    @Override
+    public boolean isHaltJob() {
+        return false;
+    }
+
+    @Override
+    public boolean hasCallback() {
+        return false;
+    }
+
+    @Override
+    public HackitTag getInstance() {
+        if(seed == null){
+            seed = new LogTag();
+        }
+        return seed;
+    }
+
+    @Override
+    public int hashCode() {
+        return 4;
+    }
+}
diff --git 
a/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/PauseTag.java
 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/PauseTag.java
new file mode 100644
index 0000000..4048277
--- /dev/null
+++ 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/PauseTag.java
@@ -0,0 +1,42 @@
+package org.apache.wayang.plugin.hackit.core.tags;
+
+public class PauseTag extends HackitTag  {
+    private static PauseTag seed = null;
+
+    private PauseTag(){
+        super();
+    }
+
+    @Override
+    public boolean isSendOut() {
+        return false;
+    }
+
+    @Override
+    public boolean isSkip() {
+        return false;
+    }
+
+    @Override
+    public boolean isHaltJob() {
+        return false;
+    }
+
+    @Override
+    public boolean hasCallback() {
+        return false;
+    }
+
+    @Override
+    public HackitTag getInstance() {
+        if(seed == null){
+            seed = new PauseTag();
+        }
+        return seed;
+    }
+
+    @Override
+    public int hashCode() {
+        return 5;
+    }
+}
diff --git 
a/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/SkipTag.java
 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/SkipTag.java
new file mode 100644
index 0000000..41ddf06
--- /dev/null
+++ 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/SkipTag.java
@@ -0,0 +1,42 @@
+package org.apache.wayang.plugin.hackit.core.tags;
+
+public class SkipTag extends HackitTag  {
+    private static SkipTag seed = null;
+
+    private SkipTag(){
+        super();
+    }
+
+    @Override
+    public boolean isSendOut() {
+        return false;
+    }
+
+    @Override
+    public boolean isSkip() {
+        return false;
+    }
+
+    @Override
+    public boolean isHaltJob() {
+        return false;
+    }
+
+    @Override
+    public boolean hasCallback() {
+        return false;
+    }
+
+    @Override
+    public HackitTag getInstance() {
+        if(seed == null){
+            seed = new SkipTag();
+        }
+        return seed;
+    }
+
+    @Override
+    public int hashCode() {
+        return 6;
+    }
+}
diff --git 
a/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/TraceTag.java
 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/TraceTag.java
new file mode 100644
index 0000000..4b15a25
--- /dev/null
+++ 
b/wayang-plugins/wayang-hackit/wayang-hackit-core/src/main/java/org/apache/wayang/plugin/hackit/core/tags/TraceTag.java
@@ -0,0 +1,42 @@
+package org.apache.wayang.plugin.hackit.core.tags;
+
+public class TraceTag extends HackitTag  {
+    private static TraceTag seed = null;
+
+    private TraceTag(){
+        super();
+    }
+
+    @Override
+    public boolean isSendOut() {
+        return false;
+    }
+
+    @Override
+    public boolean isSkip() {
+        return false;
+    }
+
+    @Override
+    public boolean isHaltJob() {
+        return false;
+    }
+
+    @Override
+    public boolean hasCallback() {
+        return false;
+    }
+
+    @Override
+    public HackitTag getInstance() {
+        if(seed == null){
+            seed = new TraceTag();
+        }
+        return seed;
+    }
+
+    @Override
+    public int hashCode() {
+        return 7;
+    }
+}

Reply via email to