Specify a model while creating a VSP
[sdc.git] / 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
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2021 Nordix Foundation.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21 package org.openecomp.sdcrests.vsp.rest.mapping;
22
23 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.LicenseType;
24 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
25 import org.openecomp.sdc.vendorsoftwareproduct.types.LicensingData;
26 import org.openecomp.sdc.versioning.dao.types.Version;
27 import org.openecomp.sdcrests.mapping.MappingBase;
28 import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDescriptionDto;
29
30 public class MapVspDescriptionDtoToVspDetails extends MappingBase<VspDescriptionDto, VspDetails> {
31
32     @Override
33     public void doMapping(VspDescriptionDto source, VspDetails target) {
34         target.setName(source.getName());
35         target.setDescription(source.getDescription());
36         target.setCategory(source.getCategory());
37         target.setSubCategory(source.getSubCategory());
38         target.setIcon(source.getIcon());
39         target.setVendorName(source.getVendorName());
40         target.setVendorId(source.getVendorId());
41         if (source.getLicensingVersion() != null && source.getLicenseType() != LicenseType.EXTERNAL) {
42             target.setVlmVersion(new Version(source.getLicensingVersion()));
43         }
44         if (source.getLicenseType() != null) {
45             target.setLicenseType(source.getLicenseType().name());
46         }
47         LicensingData licensingData = source.getLicensingData();
48         if (licensingData != null && source.getLicenseType() != LicenseType.EXTERNAL) {
49             target.setLicenseAgreement(licensingData.getLicenseAgreement());
50             target.setFeatureGroups(licensingData.getFeatureGroups());
51         }
52         target.setModelIdList(source.getSelectedModelList());
53     }
54 }