1 package org.onap.sdc.dcae.rule.editor.translators;
3 import org.onap.sdc.dcae.composition.restmodels.ruleeditor.Condition;
4 import org.onap.sdc.dcae.rule.editor.enums.OperatorTypeEnum;
8 public class FieldConditionTranslator implements IRuleElementTranslator<Condition> {
10 private static FieldConditionTranslator fieldConditionTranslator = new FieldConditionTranslator();
12 public static FieldConditionTranslator getInstance() {
13 return fieldConditionTranslator;
16 private FieldConditionTranslator(){}
18 private class FieldFilterTranslation extends ProcessorTranslation {
22 private FieldFilterTranslation(Condition condition) {
23 clazz = OperatorTypeEnum.getTypeByName(condition.getOperator()).getType();
24 field = condition.getLeft();
25 value = condition.getRight().get(0);
29 private class MultiFieldFilterTranslation extends ProcessorTranslation {
31 private List<String> values;
33 private MultiFieldFilterTranslation(Condition condition) {
34 field = condition.getLeft();
35 values = condition.getRight();
36 clazz = OperatorTypeEnum.getTypeByName(condition.getOperator()).getModifiedType();
40 public Translation translateToHpJson(Condition condition) {
41 return 1 == condition.getRight().size() ? new FieldFilterTranslation(condition) : new MultiFieldFilterTranslation(condition);