summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/sdc/dcae/composition/restmodels/ruleeditor/Condition.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/sdc/dcae/composition/restmodels/ruleeditor/Condition.java')
-rw-r--r--src/main/java/org/onap/sdc/dcae/composition/restmodels/ruleeditor/Condition.java54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/main/java/org/onap/sdc/dcae/composition/restmodels/ruleeditor/Condition.java b/src/main/java/org/onap/sdc/dcae/composition/restmodels/ruleeditor/Condition.java
new file mode 100644
index 0000000..5f037a6
--- /dev/null
+++ b/src/main/java/org/onap/sdc/dcae/composition/restmodels/ruleeditor/Condition.java
@@ -0,0 +1,54 @@
+package org.onap.sdc.dcae.composition.restmodels.ruleeditor;
+
+import java.util.List;
+import java.util.stream.Stream;
+
+public class Condition extends BaseCondition {
+
+ protected String left;
+ protected String operator;
+ protected List<String> right;
+
+ public String getLeft() {
+ return left;
+ }
+
+ public void setLeft(String left) {
+ this.left = left;
+ }
+
+ public String getOperator() {
+ return operator;
+ }
+
+ public void setOperator(String operator) {
+ this.operator = operator;
+ }
+
+ public List<String> getRight() {
+ return right;
+ }
+
+ public void setRight(List<String> right) {
+ this.right = right;
+ }
+
+
+ @Override
+ public boolean referencesTarget(String target) {
+ return Stream.concat(Stream.of(left), right.stream())
+ .filter(this::isReference)
+ .map(this::strippedReference)
+ .anyMatch(target::equals);
+ }
+
+ private String strippedReference(String value) {
+ return value.substring(2, value.length()-1);
+ }
+
+ private boolean isReference(String value) {
+ return value.startsWith("${") && value.endsWith("}");
+ }
+
+}
+