From 745e350c8595f7e44846a3de1d2c946485a63ad0 Mon Sep 17 00:00:00 2001 From: JvD_Ericsson Date: Mon, 15 Aug 2022 13:40:19 +0100 Subject: Support import of updated node types Support addition of new properties Issue-ID: SDC-4131 Signed-off-by: JvD_Ericsson Change-Id: I9f12d0f4f9727c33f8444980b780758533e714cf --- .../sdc/be/model/DefaultUploadResourceInfo.java | 53 ++++++++++++++++++++++ .../openecomp/sdc/be/model/NodeTypeDefinition.java | 22 +++++++++ .../sdc/be/model/NullNodeTypeMetadata.java | 28 ++++++++++++ .../be/model/mapper/NodeTypeMetadataMapper.java | 5 ++ 4 files changed, 108 insertions(+) create mode 100644 catalog-model/src/main/java/org/openecomp/sdc/be/model/DefaultUploadResourceInfo.java create mode 100644 catalog-model/src/main/java/org/openecomp/sdc/be/model/NullNodeTypeMetadata.java (limited to 'catalog-model/src') diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/DefaultUploadResourceInfo.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/DefaultUploadResourceInfo.java new file mode 100644 index 0000000000..3b8a6cd9e8 --- /dev/null +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/DefaultUploadResourceInfo.java @@ -0,0 +1,53 @@ +/* + * - + * ============LICENSE_START======================================================= + * Copyright (C) 2022 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.model; + +import java.util.ArrayList; +import java.util.List; +import org.openecomp.sdc.be.model.category.CategoryDefinition; +import org.openecomp.sdc.be.model.category.SubCategoryDefinition; + +public class DefaultUploadResourceInfo extends UploadResourceInfo{ + + public DefaultUploadResourceInfo(String toscaName){ + SubCategoryDefinition subCategory = new SubCategoryDefinition(); + subCategory.setName("Network Elements"); + CategoryDefinition category = new CategoryDefinition(); + category.setName("Generic"); + category.setNormalizedName("generic"); + category.setIcons(List.of("defaulticon")); + category.setNormalizedName("generic"); + category.addSubCategory(subCategory); + List categories = new ArrayList<>(); + categories.add(category); + super.setCategories(categories); + super.setIcon("defaulticon"); + super.setVendorRelease("1"); + super.setNormative(false); + String[] nodeTemplateName = toscaName.split("\\."); + String name = nodeTemplateName[nodeTemplateName.length - 1]; + super.setName(name); + super.setDescription("A vfc of type " + toscaName); + List tags = new ArrayList<>(); + tags.add(name); + super.setTags(tags); + } +} diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/NodeTypeDefinition.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/NodeTypeDefinition.java index 99639f8d8e..9d37624896 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/NodeTypeDefinition.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/NodeTypeDefinition.java @@ -1,7 +1,28 @@ +/* + * - + * ============LICENSE_START======================================================= + * Copyright (C) 2022 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.model; import lombok.AllArgsConstructor; import lombok.Getter; +import lombok.Setter; import java.util.Map; @@ -9,6 +30,7 @@ import java.util.Map; @AllArgsConstructor public class NodeTypeDefinition { + @Setter private Map.Entry mappedNodeType; private NodeTypeMetadata nodeTypeMetadata; } diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/NullNodeTypeMetadata.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/NullNodeTypeMetadata.java new file mode 100644 index 0000000000..6042c9b806 --- /dev/null +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/NullNodeTypeMetadata.java @@ -0,0 +1,28 @@ +/* + * - + * ============LICENSE_START======================================================= + * Copyright (C) 2022 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.model; + +import lombok.NoArgsConstructor; + +@NoArgsConstructor +public class NullNodeTypeMetadata extends NodeTypeMetadata{ +} diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/mapper/NodeTypeMetadataMapper.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/mapper/NodeTypeMetadataMapper.java index 20730814a6..31d5253390 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/mapper/NodeTypeMetadataMapper.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/mapper/NodeTypeMetadataMapper.java @@ -23,7 +23,9 @@ package org.openecomp.sdc.be.model.mapper; import lombok.AccessLevel; import lombok.NoArgsConstructor; +import org.openecomp.sdc.be.model.DefaultUploadResourceInfo; import org.openecomp.sdc.be.model.NodeTypeMetadata; +import org.openecomp.sdc.be.model.NullNodeTypeMetadata; import org.openecomp.sdc.be.model.UploadResourceInfo; /** @@ -33,6 +35,9 @@ import org.openecomp.sdc.be.model.UploadResourceInfo; public class NodeTypeMetadataMapper { public static UploadResourceInfo mapTo(final NodeTypeMetadata nodeTypeMetadata) { + if (nodeTypeMetadata instanceof NullNodeTypeMetadata) { + return new DefaultUploadResourceInfo(nodeTypeMetadata.getToscaName()); + } var uploadResourceInfo = new UploadResourceInfo(); uploadResourceInfo.setName(nodeTypeMetadata.getName()); uploadResourceInfo.setDescription(nodeTypeMetadata.getDescription()); -- cgit 1.2.3-korg