Add collaboration feature
[sdc.git] / 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
1 package org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.convertor;
2
3 import com.amdocs.zusammen.adaptor.inbound.api.types.item.Element;
4 import com.amdocs.zusammen.adaptor.inbound.api.types.item.ElementInfo;
5 import com.amdocs.zusammen.datatypes.item.Info;
6 import com.amdocs.zusammen.datatypes.item.Item;
7 import org.openecomp.convertor.ElementConvertor;
8 import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.VendorSoftwareProductInfoDaoZusammenImpl;
9 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
10 import org.openecomp.sdc.versioning.dao.types.Version;
11
12
13 public class ElementToVSPGeneralConvertor extends ElementConvertor {
14   @Override
15   public VspDetails convert(Element element) {
16     if (element == null) {
17       return null;
18     }
19     return mapInfoToVspDetails(element.getInfo());
20
21   }
22
23   @Override
24   public VspDetails convert(Item item) {
25     if (item == null) {
26       return null;
27     }
28     VspDetails vspDetails = mapInfoToVspDetails(item.getInfo());
29     vspDetails.setId(item.getId().getValue());
30     return vspDetails;
31   }
32
33   @Override
34   public VspDetails convert(ElementInfo elementInfo) {
35     if (elementInfo == null) {
36       return null;
37     }
38     return mapInfoToVspDetails(elementInfo.getInfo());
39
40   }
41
42
43   private VspDetails mapInfoToVspDetails(Info info) {
44
45     VspDetails vspDetails = new VspDetails();
46
47     vspDetails.setName(info.getProperty(VendorSoftwareProductInfoDaoZusammenImpl
48         .InfoPropertyName.name.name()));
49     vspDetails.setDescription(info.getProperty(
50         VendorSoftwareProductInfoDaoZusammenImpl.InfoPropertyName.description.name()));
51     vspDetails.setIcon(info.getProperty(
52         VendorSoftwareProductInfoDaoZusammenImpl.InfoPropertyName.icon.name()));
53     vspDetails.setCategory(info.getProperty(
54         VendorSoftwareProductInfoDaoZusammenImpl.InfoPropertyName.category.name()));
55     vspDetails.setSubCategory(info.getProperty(
56         VendorSoftwareProductInfoDaoZusammenImpl.InfoPropertyName.subCategory.name()));
57     vspDetails.setVendorId(info.getProperty(
58         VendorSoftwareProductInfoDaoZusammenImpl.InfoPropertyName.vendorId.name()));
59     vspDetails.setVendorName(info.getProperty(
60         VendorSoftwareProductInfoDaoZusammenImpl.InfoPropertyName.vendorName.name()));
61     if (info.getProperty(
62         VendorSoftwareProductInfoDaoZusammenImpl.InfoPropertyName.vendorVersion.name()) != null) {
63       vspDetails.setVlmVersion(new Version(info.getProperty(
64           VendorSoftwareProductInfoDaoZusammenImpl.InfoPropertyName.vendorVersion.name())));
65     }
66
67     vspDetails.setLicenseAgreement(info.getProperty(
68         VendorSoftwareProductInfoDaoZusammenImpl.InfoPropertyName.licenseAgreement.name()));
69     vspDetails.setFeatureGroups(info.getProperty(
70         VendorSoftwareProductInfoDaoZusammenImpl.InfoPropertyName.featureGroups.name()));
71     vspDetails.setOnboardingMethod(info.getProperty(
72         VendorSoftwareProductInfoDaoZusammenImpl.InfoPropertyName.onboardingMethod.name()));
73
74     return vspDetails;
75   }
76
77
78 }