From 64ff2b9fa9eca541603a8e2f2bd08bf24de25338 Mon Sep 17 00:00:00 2001 From: "andre.schmid" Date: Mon, 25 May 2020 14:54:30 +0100 Subject: [PATCH] Add constraints structure to ToscaProperty Add constraints structure to ToscaProperty and implements the valid_values property. Change-Id: Id69581582839a8937f0c76c24d6a6bfcc7f0a957 Issue-ID: SDC-3084 Signed-off-by: andre.schmid --- .../sdc/be/tosca/model/ToscaProperty.java | 69 +++++++--------------- .../be/tosca/model/ToscaPropertyConstraint.java | 31 ++++++++++ .../model/ToscaPropertyConstraintValidValues.java | 56 ++++++++++++++++++ 3 files changed, 109 insertions(+), 47 deletions(-) create mode 100644 catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaPropertyConstraint.java create mode 100644 catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaPropertyConstraintValidValues.java diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaProperty.java b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaProperty.java index 812cb4cbe2..fd3696eb2a 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaProperty.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaProperty.java @@ -20,43 +20,42 @@ 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 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 index 0000000000..2faceb3bb1 --- /dev/null +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaPropertyConstraint.java @@ -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 index 0000000000..a07f681c7d --- /dev/null +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/ToscaPropertyConstraintValidValues.java @@ -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 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; + } +} -- 2.16.6