summaryrefslogtreecommitdiffstats
path: root/dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/translators/CopyActionTranslator.java
diff options
context:
space:
mode:
Diffstat (limited to 'dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/translators/CopyActionTranslator.java')
-rw-r--r--dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/translators/CopyActionTranslator.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/translators/CopyActionTranslator.java b/dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/translators/CopyActionTranslator.java
new file mode 100644
index 0000000..9d02c8e
--- /dev/null
+++ b/dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/translators/CopyActionTranslator.java
@@ -0,0 +1,47 @@
+package org.onap.sdc.dcae.rule.editor.translators;
+
+import org.onap.sdc.common.onaplog.Enums.LogLevel;
+import org.onap.sdc.dcae.composition.restmodels.ruleeditor.BaseAction;
+
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.onap.sdc.dcae.composition.restmodels.ruleeditor.BaseAction;
+
+public class CopyActionTranslator<A extends BaseAction> implements IRuleElementTranslator<A>{
+
+ private static CopyActionTranslator copyActionTranslator = new CopyActionTranslator();
+
+ public static CopyActionTranslator getInstance() {
+ return copyActionTranslator;
+ }
+
+ CopyActionTranslator(){}
+
+ public Translation translateToHpJson(A action) {
+ return new CopyActionSetTranslation(action.getTarget(), action.getFromValue());
+ }
+
+ void addToHpJsonProcessors(A action, List<Translation> processors) {
+ processors.add(translateToHpJson(action));
+ }
+
+ public boolean addToHpJsonProcessors(A action, List<Translation> processors, boolean asNewProcessor) {
+ debugLogger.log(LogLevel.DEBUG, this.getClass().getName(), "Translating {} action. New Processor: {}", action.getActionType(), asNewProcessor);
+ if(asNewProcessor)
+ addToHpJsonProcessors(action, processors);
+ else
+ ((CopyActionSetTranslation) processors.get(processors.size()-1)).updates.put(action.getTarget(), action.getFromValue());
+ return false;
+ }
+
+ class CopyActionSetTranslation extends ProcessorTranslation {
+ Map<String, String> updates = new LinkedHashMap<>();
+ CopyActionSetTranslation(String target, String from) {
+ clazz = "Set";
+ updates.put(target, from);
+ }
+ }
+
+}