Support TOSCA functions in Node Filters
[sdc.git] / catalog-model / src / main / java / org / openecomp / sdc / be / model / tosca / ToscaPropertyType.java
index a0ff4bc..364dfd3 100644 (file)
@@ -7,9 +7,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.be.model.tosca;
 
-import org.openecomp.sdc.be.model.tosca.converters.*;
-import org.openecomp.sdc.be.model.tosca.validators.*;
+import org.openecomp.sdc.be.model.tosca.converters.BooleanConverter;
+import org.openecomp.sdc.be.model.tosca.converters.DefaultConverter;
+import org.openecomp.sdc.be.model.tosca.converters.FloatConverter;
+import org.openecomp.sdc.be.model.tosca.converters.IntegerConverter;
+import org.openecomp.sdc.be.model.tosca.converters.JsonConverter;
+import org.openecomp.sdc.be.model.tosca.converters.ListConverter;
+import org.openecomp.sdc.be.model.tosca.converters.MapConverter;
+import org.openecomp.sdc.be.model.tosca.converters.PropertyValueConverter;
+import org.openecomp.sdc.be.model.tosca.converters.StringConvertor;
+import org.openecomp.sdc.be.model.tosca.converters.ToscaBooleanConverter;
+import org.openecomp.sdc.be.model.tosca.converters.ToscaFloatConverter;
+import org.openecomp.sdc.be.model.tosca.converters.ToscaJsonValueConverter;
+import org.openecomp.sdc.be.model.tosca.converters.ToscaListValueConverter;
+import org.openecomp.sdc.be.model.tosca.converters.ToscaMapValueConverter;
+import org.openecomp.sdc.be.model.tosca.converters.ToscaStringConvertor;
+import org.openecomp.sdc.be.model.tosca.converters.ToscaValueConverter;
+import org.openecomp.sdc.be.model.tosca.converters.ToscaValueDefaultConverter;
+import org.openecomp.sdc.be.model.tosca.validators.BooleanValidator;
+import org.openecomp.sdc.be.model.tosca.validators.FloatValidator;
+import org.openecomp.sdc.be.model.tosca.validators.IntegerValidator;
+import org.openecomp.sdc.be.model.tosca.validators.JsonValidator;
+import org.openecomp.sdc.be.model.tosca.validators.KeyValidator;
+import org.openecomp.sdc.be.model.tosca.validators.ListValidator;
+import org.openecomp.sdc.be.model.tosca.validators.MapValidator;
+import org.openecomp.sdc.be.model.tosca.validators.PropertyTypeValidator;
+import org.openecomp.sdc.be.model.tosca.validators.StringValidator;
 
 /**
  * The primitive type that TOSCA YAML supports.
- * 
+ *
  * @author esofer
  */
 public enum ToscaPropertyType {
-
-    Root("tosca.datatypes.Root", null, null, null, true),
-
+    // @formatter:off
+    ROOT("tosca.datatypes.Root", null, null, null, true),
     STRING("string", StringValidator.getInstance(), StringConvertor.getInstance(), ToscaStringConvertor.getInstance()),
-
     BOOLEAN("boolean", BooleanValidator.getInstance(), ToscaBooleanConverter.getInstance(), BooleanConverter.getInstance()),
-
     FLOAT("float", FloatValidator.getInstance(), ToscaFloatConverter.getInstance(), FloatConverter.getInstance()),
-
     INTEGER("integer", IntegerValidator.getInstance(), DefaultConverter.getInstance(), IntegerConverter.getInstance()),
-
     SCALAR_UNIT("scalar-unit", StringValidator.getInstance(), DefaultConverter.getInstance(), ToscaValueDefaultConverter.getInstance()),
-
     SCALAR_UNIT_SIZE("scalar-unit.size", StringValidator.getInstance(), DefaultConverter.getInstance(), ToscaValueDefaultConverter.getInstance()),
-
     SCALAR_UNIT_TIME("scalar-unit.time", StringValidator.getInstance(), DefaultConverter.getInstance(), ToscaValueDefaultConverter.getInstance()),
-
     SCALAR_UNIT_FREQUENCY("scalar-unit.frequency", StringValidator.getInstance(), DefaultConverter.getInstance(), ToscaValueDefaultConverter.getInstance()),
-
     RANGE("range", StringValidator.getInstance(), DefaultConverter.getInstance(), ToscaValueDefaultConverter.getInstance()),
-
     TIMESTAMP("timestamp", StringValidator.getInstance(), DefaultConverter.getInstance(), ToscaValueDefaultConverter.getInstance()),
-
     MAP("map", MapValidator.getInstance(), MapConverter.getInstance(), ToscaMapValueConverter.getInstance()),
-
     LIST("list", ListValidator.getInstance(), ListConverter.getInstance(), ToscaListValueConverter.getInstance()),
-
     VERSION("version", StringValidator.getInstance(), DefaultConverter.getInstance(), ToscaValueDefaultConverter.getInstance()),
-
     KEY("key", KeyValidator.getInstance(), StringConvertor.getInstance(), ToscaValueDefaultConverter.getInstance()),
-
     JSON("json", JsonValidator.getInstance(), JsonConverter.getInstance(), ToscaJsonValueConverter.getInstance());
+    // @formatter:on
 
-    private String type;
-    private PropertyTypeValidator validator;
-    private PropertyValueConverter converter;
-    private ToscaValueConverter valueConverter;
+    private final String type;
+    private final PropertyTypeValidator validator;
+    private final PropertyValueConverter converter;
+    private final ToscaValueConverter valueConverter;
     private boolean isAbstract = false;
 
     ToscaPropertyType(String type, PropertyTypeValidator validator, PropertyValueConverter converter, ToscaValueConverter valueConverter) {
@@ -75,56 +84,16 @@ public enum ToscaPropertyType {
         this.valueConverter = valueConverter;
     }
 
-    ToscaPropertyType(String type, PropertyTypeValidator validator, PropertyValueConverter converter, ToscaValueConverter valueConverter, boolean isAbstract) {
+    ToscaPropertyType(String type, PropertyTypeValidator validator, PropertyValueConverter converter, ToscaValueConverter valueConverter,
+                      boolean isAbstract) {
         this(type, validator, converter, valueConverter);
         this.isAbstract = isAbstract;
     }
 
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public PropertyTypeValidator getValidator() {
-        return validator;
-    }
-
-    public void setValidator(PropertyTypeValidator validator) {
-        this.validator = validator;
-    }
-
-    public PropertyValueConverter getConverter() {
-        return converter;
-    }
-
-    public void setConverter(PropertyValueConverter converter) {
-        this.converter = converter;
-    }
-
-    public boolean isAbstract() {
-        return isAbstract;
-    }
-
-    public void setAbstract(boolean isAbstract) {
-        this.isAbstract = isAbstract;
-    }
-
-    public ToscaValueConverter getValueConverter() {
-        return valueConverter;
-    }
-
-    public void setValueConverter(ToscaValueConverter valueConverter) {
-        this.valueConverter = valueConverter;
-    }
-
     public static ToscaPropertyType isValidType(String typeName) {
         if (typeName == null) {
             return null;
         }
-
         for (ToscaPropertyType type : ToscaPropertyType.values()) {
             if (type.getType().equals(typeName)) {
                 return type;
@@ -134,34 +103,44 @@ public enum ToscaPropertyType {
     }
 
     public static boolean isScalarType(String dataTypeName) {
-
         ToscaPropertyType isPrimitiveToscaType = ToscaPropertyType.isValidType(dataTypeName);
-
         return isPrimitiveToscaType != null && !isPrimitiveToscaType.isAbstract();
-
     }
 
     public static boolean isPrimitiveType(String dataTypeName) {
-
-        if (ToscaPropertyType.MAP.getType().equals(dataTypeName) || ToscaPropertyType.LIST.getType().equals(dataTypeName)){
+        if (ToscaPropertyType.MAP.getType().equals(dataTypeName) || ToscaPropertyType.LIST.getType().equals(dataTypeName)) {
             return false;
         }
-        if(isScalarType(dataTypeName)){
-            return true;
-        }
-        return false;
+        return isScalarType(dataTypeName);
     }
 
     public static ToscaPropertyType getTypeIfScalar(String dataTypeName) {
-
         ToscaPropertyType isPrimitiveToscaType = ToscaPropertyType.isValidType(dataTypeName);
-
         if (isPrimitiveToscaType != null && !isPrimitiveToscaType.isAbstract()) {
             return isPrimitiveToscaType;
         } else {
             return null;
         }
+    }
+
+    public String getType() {
+        return type;
+    }
 
+    public PropertyTypeValidator getValidator() {
+        return validator;
+    }
+
+    public PropertyValueConverter getConverter() {
+        return converter;
+    }
+
+    public boolean isAbstract() {
+        return isAbstract;
+    }
+
+    public ToscaValueConverter getValueConverter() {
+        return valueConverter;
     }
 
     @Override