Add constraints structure to ToscaProperty 17/108317/2
authorandre.schmid <andre.schmid@est.tech>
Mon, 25 May 2020 13:54:30 +0000 (14:54 +0100)
committerOfir Sonsino <ofir.sonsino@intl.att.com>
Tue, 2 Jun 2020 08:36:40 +0000 (08:36 +0000)
Add constraints structure to ToscaProperty and implements
the valid_values property.

Change-Id: Id69581582839a8937f0c76c24d6a6bfcc7f0a957
Issue-ID: SDC-3084
Signed-off-by: andre.schmid <andre.schmid@est.tech>
catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaProperty.java
catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaPropertyConstraint.java [new file with mode: 0644]
catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaPropertyConstraintValidValues.java [new file with mode: 0644]

index 812cb4c..fd3696e 100644 (file)
 
 package org.openecomp.sdc.be.tosca.model;
 
-public class ToscaProperty {
+import java.util.List;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
 
+@NoArgsConstructor
+public class ToscaProperty {
 
     private Object _defaultp_;
+    @Getter
+    @Setter
     private String type;
+    @Getter
+    @Setter
     private String description;
+    @Getter
+    @Setter
     private Boolean required;
+    @Getter
+    @Setter
     private EntrySchema entry_schema;
+    @Getter
+    @Setter
+    private List<ToscaPropertyConstraint> constraints;
+    @Getter
+    @Setter
+    private String status;
 
-    public ToscaProperty(ToscaProperty toscaProperty) {
+    public ToscaProperty(final ToscaProperty toscaProperty) {
         this.type = toscaProperty.type;
         this._defaultp_ = toscaProperty._defaultp_;
         this.description = toscaProperty.description;
         this.required = toscaProperty.required;
         this.entry_schema = toscaProperty.entry_schema;
         this.status = toscaProperty.status;
-    }
-
-    private String status;
-
-    public EntrySchema getEntry_schema() {
-        return entry_schema;
-    }
-
-    public void setEntry_schema(EntrySchema entry_schema) {
-        this.entry_schema = entry_schema;
-    }
-
-    public ToscaProperty() {
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
+        this.constraints = toscaProperty.constraints;
     }
 
     public Object getDefaultp() {
@@ -67,28 +66,4 @@ public class ToscaProperty {
         this._defaultp_ = defaultp;
     }
 
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    public Boolean getRequired() {
-        return required;
-    }
-
-    public void setRequired(Boolean required) {
-        this.required = required;
-    }
-
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-
 }
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaPropertyConstraint.java b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaPropertyConstraint.java
new file mode 100644 (file)
index 0000000..2faceb3
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2020 Nordix Foundation
+ *  ================================================================================
+ *  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.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ *  SPDX-License-Identifier: Apache-2.0
+ *  ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdc.be.tosca.model;
+
+import org.openecomp.sdc.be.model.tosca.constraints.ConstraintType;
+
+/**
+ * Represents a Tosca Property Constraint
+ */
+public interface ToscaPropertyConstraint {
+
+    ConstraintType getConstraintType();
+
+}
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaPropertyConstraintValidValues.java b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaPropertyConstraintValidValues.java
new file mode 100644 (file)
index 0000000..a07f681
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2020 Nordix Foundation
+ *  ================================================================================
+ *  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.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ *  SPDX-License-Identifier: Apache-2.0
+ *  ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdc.be.tosca.model;
+
+import java.util.List;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.Setter;
+import org.openecomp.sdc.be.model.tosca.constraints.ConstraintType;
+
+/**
+ * Represents a tosca valid_values constraint
+ */
+@Getter
+@Setter
+@AllArgsConstructor
+public class ToscaPropertyConstraintValidValues implements ToscaPropertyConstraint {
+
+    private List<String> validValues;
+
+    /**
+     * Get the TOSCA entry name of an attribute in this class.
+     *
+     * @param attributeName the class attribute name
+     * @return the TOSCA entry represented by the attribute
+     */
+    public static String getEntryToscaName(final String attributeName) {
+        if ("validValues".equals(attributeName)) {
+            return "valid_values";
+        }
+
+        return attributeName;
+    }
+
+    @Override
+    public ConstraintType getConstraintType() {
+        return ConstraintType.VALID_VALUES;
+    }
+}