589b7fa66817b7e62e167ae17ea93412d2538a59
[sdc.git] / openecomp-be / lib / openecomp-sdc-vendor-license-lib / openecomp-sdc-vendor-license-core / src / main / java / org / openecomp / sdc / vendorlicense / licenseartifacts / impl / types / VendorLicenseArtifact.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.vendorlicense.licenseartifacts.impl.types;
22
23 import com.fasterxml.jackson.annotation.JsonProperty;
24 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
25 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
26 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
27 import org.openecomp.sdc.vendorlicense.dao.types.EntitlementPoolEntity;
28 import org.openecomp.sdc.vendorlicense.dao.types.LicenseKeyGroupEntity;
29 import org.openecomp.sdc.vendorlicense.licenseartifacts.impl.types.mixins.MixinEntitlementPoolEntityForVendorLicenseArtifact;
30 import org.openecomp.sdc.vendorlicense.licenseartifacts.impl.types.mixins.MixinLicenseKeyGroupEntityForVendorLicenseArtifact;
31
32 import java.util.Collection;
33
34 @JacksonXmlRootElement(localName = "vendor-license-model",
35     namespace = "http://xmlns.openecomp.org/asdc/license-model/1.0")
36 public class VendorLicenseArtifact extends XmlArtifact {
37   @JsonProperty(value = "vendor-name")
38   String vendorName;
39
40   Collection<EntitlementPoolEntity> entitlementPoolEntities;
41   Collection<LicenseKeyGroupEntity> licenseKeyGroupEntities;
42
43   public String getVendorName() {
44     return vendorName;
45   }
46
47   public void setVendorName(String vendorName) {
48     this.vendorName = vendorName;
49   }
50
51   @JacksonXmlProperty(isAttribute = false, localName = "entitlement-pool")
52   @JacksonXmlElementWrapper(localName = "entitlement-pool-list")
53   public Collection<EntitlementPoolEntity> getEntitlementPoolEntities() {
54     return entitlementPoolEntities;
55   }
56
57   public void setEntitlementPoolEntities(
58       Collection<EntitlementPoolEntity> entitlementPoolEntities) {
59     this.entitlementPoolEntities = entitlementPoolEntities;
60   }
61
62   @JacksonXmlProperty(isAttribute = false, localName = "license-key-group")
63   @JacksonXmlElementWrapper(localName = "license-key-group-list")
64   public Collection<LicenseKeyGroupEntity> getLicenseKeyGroupEntities() {
65     return licenseKeyGroupEntities;
66   }
67
68   public void setLicenseKeyGroupEntities(
69       Collection<LicenseKeyGroupEntity> licenseKeyGroupEntities) {
70     this.licenseKeyGroupEntities = licenseKeyGroupEntities;
71   }
72
73   @Override
74   void initMapper() {
75     xmlMapper.addMixIn(EntitlementPoolEntity.class,
76         MixinEntitlementPoolEntityForVendorLicenseArtifact.class);
77     xmlMapper.addMixIn(LicenseKeyGroupEntity.class,
78         MixinLicenseKeyGroupEntityForVendorLicenseArtifact.class);
79   }
80 }