diff options
author | JerzySzachniewicz <jerzy.szachniewicz@nokia.com> | 2021-02-12 13:53:13 +0100 |
---|---|---|
committer | Christophe Closset <christophe.closset@intl.att.com> | 2021-02-17 15:43:47 +0000 |
commit | f2c0a4118c3c0b6360b639622766543bd754b59c (patch) | |
tree | 19e8aa82bc11dd1be0d487dde833cbaa33d69cfd /openecomp-be | |
parent | 7f418398a37283d68c0fc934e0e4a91f529fe466 (diff) |
Creation of Vendor Licensing Model is an optional step in VSP onboarding
Issue-ID: SDC-3471
Signed-off-by: JerzySzachniewicz <jerzy.szachniewicz@nokia.com>
Change-Id: Icb98d0832c49939e200ece77f4ca26744cb82222
Diffstat (limited to 'openecomp-be')
9 files changed, 76 insertions, 6 deletions
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDescriptionDtoToVspDetails.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDescriptionDtoToVspDetails.java index 634bd90d20..3ab2667821 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDescriptionDtoToVspDetails.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDescriptionDtoToVspDetails.java @@ -20,6 +20,7 @@ package org.openecomp.sdcrests.vsp.rest.mapping; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.LicenseType; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; import org.openecomp.sdc.vendorsoftwareproduct.types.LicensingData; import org.openecomp.sdc.versioning.dao.types.Version; @@ -38,12 +39,15 @@ public class MapVspDescriptionDtoToVspDetails extends MappingBase<VspDescription target.setVendorName(source.getVendorName()); target.setVendorId(source.getVendorId()); - if (source.getLicensingVersion() != null) { + if (source.getLicensingVersion() != null && source.getLicenseType() != LicenseType.EXTERNAL) { target.setVlmVersion(new Version(source.getLicensingVersion())); } + if (source.getLicenseType() != null) { + target.setLicenseType(source.getLicenseType().name()); + } LicensingData licensingData = source.getLicensingData(); - if (licensingData != null) { + if (licensingData != null && source.getLicenseType() != LicenseType.EXTERNAL) { target.setLicenseAgreement(licensingData.getLicenseAgreement()); target.setFeatureGroups(licensingData.getFeatureGroups()); } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDetailsToDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDetailsToDto.java index 6e659cbb54..1ba5d1355c 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDetailsToDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDetailsToDto.java @@ -20,6 +20,8 @@ package org.openecomp.sdcrests.vsp.rest.mapping; +import org.apache.commons.lang3.StringUtils; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.LicenseType; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; import org.openecomp.sdc.vendorsoftwareproduct.types.LicensingData; import org.openecomp.sdcrests.mapping.MappingBase; @@ -40,7 +42,11 @@ public class MapVspDetailsToDto extends MappingBase<VspDetails, VspDetailsDto> { target.setVendorName(source.getVendorName()); target.setLicensingVersion( source.getVlmVersion() == null ? null : source.getVlmVersion().getId()); - + if (StringUtils.isNotBlank(source.getLicenseType())) { + target.setLicenseType(LicenseType.valueOf(source.getLicenseType())); + } else if (StringUtils.isNotBlank(target.getLicensingVersion())){ + target.setLicenseType(LicenseType.INTERNAL); + } if (source.getLicenseAgreement() != null || source.getFeatureGroups() != null) { LicensingData licensingData = new LicensingData(); licensingData.setLicenseAgreement(source.getLicenseAgreement()); diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/test/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDescriptionDtoToVspDetailsTest.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/test/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDescriptionDtoToVspDetailsTest.java index 9ec43e9226..20a544927e 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/test/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDescriptionDtoToVspDetailsTest.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/test/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDescriptionDtoToVspDetailsTest.java @@ -17,9 +17,13 @@ package org.openecomp.sdcrests.vsp.rest.mapping; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; -import org.junit.Test; +import java.util.Collections; +import org.junit.jupiter.api.Test; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.LicenseType; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; +import org.openecomp.sdc.vendorsoftwareproduct.types.LicensingData; import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDescriptionDto; /** @@ -65,4 +69,21 @@ public class MapVspDescriptionDtoToVspDetailsTest { assertEquals(vendorName, target.getVendorName()); assertEquals(vendorId, target.getVendorId()); } + + @Test + public void testLicenceTypeMapping() { + final VspDescriptionDto source = new VspDescriptionDto(); + LicensingData licensingData = new LicensingData(); + licensingData.setLicenseAgreement("testLicenseAgreement"); + licensingData.setFeatureGroups(Collections.emptyList()); + source.setLicenseType(LicenseType.EXTERNAL); + source.setLicensingData(licensingData); + + final VspDetails target = new VspDetails(); + final MapVspDescriptionDtoToVspDetails mapper = new MapVspDescriptionDtoToVspDetails(); + mapper.doMapping(source, target); + assertEquals(LicenseType.EXTERNAL.name(), target.getLicenseType()); + assertNull(target.getLicenseAgreement()); + assertNull(target.getFeatureGroups()); + } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/test/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDetailsToDtoTest.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/test/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDetailsToDtoTest.java index d5eb7be0d3..2386328378 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/test/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDetailsToDtoTest.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/test/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDetailsToDtoTest.java @@ -18,9 +18,9 @@ package org.openecomp.sdcrests.vsp.rest.mapping; import static org.junit.Assert.assertEquals; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.LicenseType; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; -import org.openecomp.sdc.vendorsoftwareproduct.types.LicensingData; import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDetailsDto; @@ -68,6 +68,9 @@ public class MapVspDetailsToDtoTest { final String onboardingMethod = "b46520ac-e62f-4a24-8f40-ee6e65889bfc"; source.setOnboardingMethod(onboardingMethod); + final String licenseType = LicenseType.EXTERNAL.name(); + source.setLicenseType(licenseType); + final VspDetailsDto target = new VspDetailsDto(); final MapVspDetailsToDto mapper = new MapVspDetailsToDto(); mapper.doMapping(source, target); @@ -83,5 +86,6 @@ public class MapVspDetailsToDtoTest { assertEquals(vendorName, target.getVendorName()); assertEquals(vlmVersionId, target.getLicensingVersion()); assertEquals(onboardingMethod, target.getOnboardingMethod()); + assertEquals(LicenseType.EXTERNAL, target.getLicenseType()); } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDescriptionDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDescriptionDto.java index 1b64ab7b2c..3cddb5d4e3 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDescriptionDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDescriptionDto.java @@ -17,6 +17,7 @@ package org.openecomp.sdcrests.vendorsoftwareproducts.types; import lombok.Data; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.LicenseType; import org.openecomp.sdc.vendorsoftwareproduct.types.LicensingData; import javax.validation.constraints.NotNull; @@ -37,5 +38,6 @@ public class VspDescriptionDto { @NotNull private String vendorId; // this will be populated with vlm id private String licensingVersion; // this will be populated with vlm version + private LicenseType licenseType; private LicensingData licensingData; } diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/LicenseType.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/LicenseType.java new file mode 100644 index 0000000000..35dfda4568 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/LicenseType.java @@ -0,0 +1,27 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2021 Nokia. All rights reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ + + +package org.openecomp.sdc.vendorsoftwareproduct.dao.type; + +public enum LicenseType { + EXTERNAL, + INTERNAL +} diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/VspDetails.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/VspDetails.java index 14e6bf52cf..8f4aed8c71 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/VspDetails.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/VspDetails.java @@ -44,6 +44,7 @@ public class VspDetails implements VersionableEntity { private String vendorName; private String vendorId; private Version vlmVersion; + private String licenseType; private String licenseAgreement; private List<String> featureGroups; private String onboardingMethod; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VendorSoftwareProductInfoDaoZusammenImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VendorSoftwareProductInfoDaoZusammenImpl.java index e1be8b9dec..de42344788 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VendorSoftwareProductInfoDaoZusammenImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VendorSoftwareProductInfoDaoZusammenImpl.java @@ -251,6 +251,8 @@ public class VendorSoftwareProductInfoDaoZusammenImpl implements VendorSoftwareP info.addProperty(InfoPropertyName.VENDOR_VERSION.getValue(), vspDetails.getVlmVersion().getId()); } + info.addProperty(InfoPropertyName.LICENSE_TYPE.getValue(), + vspDetails.getLicenseType()); info.addProperty(InfoPropertyName.LICENSE_AGREEMENT.getValue(), vspDetails.getLicenseAgreement()); info.addProperty(InfoPropertyName.FEATURE_GROUPS.getValue(), vspDetails.getFeatureGroups()); @@ -267,6 +269,7 @@ public class VendorSoftwareProductInfoDaoZusammenImpl implements VendorSoftwareP VENDOR_ID("vendorId"), VENDOR_NAME("vendorName"), VENDOR_VERSION("vendorVersion"), + LICENSE_TYPE("licenseType"), LICENSE_AGREEMENT("licenseAgreement"), FEATURE_GROUPS("featureGroups"), ON_BOARDING_METHOD("onboardingMethod"); diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/convertor/ElementToVSPGeneralConvertor.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/convertor/ElementToVSPGeneralConvertor.java index 8c631675da..d8bb1798ff 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/convertor/ElementToVSPGeneralConvertor.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/convertor/ElementToVSPGeneralConvertor.java @@ -84,6 +84,8 @@ public class ElementToVSPGeneralConvertor extends ElementConvertor { VendorSoftwareProductInfoDaoZusammenImpl.InfoPropertyName.VENDOR_VERSION.getValue()))); } + vspDetails.setLicenseType(info.getProperty( + VendorSoftwareProductInfoDaoZusammenImpl.InfoPropertyName.LICENSE_TYPE.getValue())); vspDetails.setLicenseAgreement(info.getProperty( VendorSoftwareProductInfoDaoZusammenImpl.InfoPropertyName.LICENSE_AGREEMENT.getValue())); vspDetails.setFeatureGroups(info.getProperty( |