2  * ============LICENSE_START=======================================================
 
   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
 
  11  *      http://www.apache.org/licenses/LICENSE-2.0
 
  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=========================================================
 
  21 package org.openecomp.sdc.vendorlicense.dao.types;
 
  23 import com.datastax.driver.mapping.annotations.Column;
 
  24 import com.datastax.driver.mapping.annotations.Computed;
 
  25 import com.datastax.driver.mapping.annotations.Frozen;
 
  26 import com.datastax.driver.mapping.annotations.PartitionKey;
 
  27 import com.datastax.driver.mapping.annotations.Table;
 
  28 import org.openecomp.sdc.versioning.dao.types.Version;
 
  29 import org.openecomp.sdc.versioning.dao.types.VersionableEntity;
 
  31 import java.util.Objects;
 
  33 @Table(keyspace = "dox", name = "vendor_license_model")
 
  34 public class VendorLicenseModelEntity implements VersionableEntity {
 
  35   public static final String ENTITY_TYPE = "Vendor License Model";
 
  38   @Column(name = "vlm_id")
 
  41   @PartitionKey(value = 1)
 
  43   private Version version;
 
  45   @Column(name = "vendor_name")
 
  46   private String vendorName;
 
  47   private String description;
 
  48   private String oldVersion;
 
  49   @Column(name = "icon")
 
  50   private String iconRef;
 
  52   @Computed("writetime(vendor_name)")
 
  53   private Long writetimeMicroSeconds;
 
  55   public VendorLicenseModelEntity() {
 
  58   public VendorLicenseModelEntity(String id, Version version) {
 
  60     this.version = version;
 
  64   public String getEntityType() {
 
  69   public String getFirstClassCitizenId() {
 
  73   public String getId() {
 
  77   public void setId(String id) {
 
  82   public Version getVersion() {
 
  87   public void setVersion(Version version) {
 
  88     this.version = version;
 
  91   public String getVendorName() {
 
  95   public void setVendorName(String vendorName) {
 
  96     this.vendorName = vendorName;
 
  99   public String getDescription() {
 
 103   public void setDescription(String description) {
 
 104     this.description = description;
 
 107   public String getIconRef() {
 
 111   public void setIconRef(String iconRef) {
 
 112     this.iconRef = iconRef;
 
 115   public void setOldVersion(String oldVersion) {
 
 116     this.oldVersion = oldVersion;
 
 119   public String getOldVersion() {
 
 125   public int hashCode() {
 
 126     return Objects.hash(id, version, vendorName, description, iconRef);
 
 130   public boolean equals(Object obj) {
 
 134     if (obj == null || getClass() != obj.getClass()) {
 
 137     VendorLicenseModelEntity that = (VendorLicenseModelEntity) obj;
 
 138     return Objects.equals(id, that.id)
 
 139         && Objects.equals(version, that.version)
 
 140         && Objects.equals(vendorName, that.vendorName)
 
 141         && Objects.equals(description, that.description)
 
 142         && Objects.equals(iconRef, that.iconRef);
 
 145   public Long getWritetimeMicroSeconds() {
 
 146     return writetimeMicroSeconds;
 
 149   public void setWritetimeMicroSeconds(Long writetimeMicroSeconds) {
 
 150     this.writetimeMicroSeconds = writetimeMicroSeconds;