/*- * ============LICENSE_START======================================================= * SDC * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. 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; import com.datastax.driver.mapping.annotations.ClusteringColumn; import com.datastax.driver.mapping.annotations.Column; import com.datastax.driver.mapping.annotations.Enumerated; import com.datastax.driver.mapping.annotations.Frozen; import com.datastax.driver.mapping.annotations.PartitionKey; import com.datastax.driver.mapping.annotations.Table; import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdc.versioning.dao.types.VersionableEntity; import java.nio.ByteBuffer; @Table(keyspace = "dox", name = "vsp_process") public class ProcessEntity implements VersionableEntity { public static final String ENTITY_TYPE = "Vendor Software Product Process"; @PartitionKey @Column(name = "vsp_id") private String vspId; @PartitionKey(value = 1) @Frozen private Version version; @ClusteringColumn @Column(name = "component_id") private String componentId; @ClusteringColumn(value = 1) @Column(name = "process_id") private String id; private String name; private String description; @Column(name = "type") @Enumerated private ProcessType type; @Column(name = "artifact_name") private String artifactName; private ByteBuffer artifact; public ProcessEntity() { } /** * Instantiates a new Process entity. * * @param vspId the vsp id * @param version the version * @param componentId the component id * @param id the id */ public ProcessEntity(String vspId, Version version, String componentId, String id) { this.vspId = vspId; this.version = version; this.componentId = componentId; this.id = id; } public String getVspId() { return vspId; } public void setVspId(String vspId) { this.vspId = vspId; } public String getComponentId() { return componentId; } public void setComponentId(String componentId) { this.componentId = componentId; } @Override public String getEntityType() { return ENTITY_TYPE; } @Override public String getFirstClassCitizenId() { return getVspId(); } public String getId() { return id; } public void setId(String id) { this.id = id; } public Version getVersion() { return version; } public void setVersion(Version version) { this.version = version; } public String getName() { return name == null ? "" : name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public ProcessType getType() { return type; } public void setType(ProcessType type) { this.type = type; } public String getArtifactName() { return artifactName; } public void setArtifactName(String artifactName) { this.artifactName = artifactName; } public ByteBuffer getArtifact() { return artifact; } public void setArtifact(ByteBuffer artifact) { this.artifact = artifact; } @Override public boolean equals(Object other) { if (this == other) { return true; } if (other == null || getClass() != other.getClass()) { return false; } ProcessEntity that = (ProcessEntity) other; if (vspId != null ? !vspId.equals(that.vspId) : that.vspId != null) { return false; } if (version != null ? !version.equals(that.version) : that.version != null) { return false; } if (componentId != null ? !componentId.equals(that.componentId) : that.componentId != null) { return false; } if (id != null ? !id.equals(that.id) : that.id != null) { return false; } if (name != null ? !name.equals(that.name) : that.name != null) { return false; } if (description != null ? !description.equals(that.description) : that.description != null) { return false; } if (artifactName != null ? !artifactName.equals(that.artifactName) : that.artifactName != null) { return false; } if (artifact != null ? !artifact.equals(that.artifact) : that.artifact != null) { return false; } if (type != null ? !type.equals(that.type) : that.type != null) { return false; } return true; } @Override public int hashCode() { int result = vspId != null ? vspId.hashCode() : 0; result = 31 * result + (version != null ? version.hashCode() : 0); result = 31 * result + (componentId != null ? componentId.hashCode() : 0); result = 31 * result + (id != null ? id.hashCode() : 0); result = 31 * result + (name != null ? name.hashCode() : 0); result = 31 * result + (description != null ? description.hashCode() : 0); result = 31 * result + (type != null ? type.hashCode() : 0); result = 31 * result + (artifactName != null ? artifactName.hashCode() : 0); result = 31 * result + (artifact != null ? artifact.hashCode() : 0); return result; } @Override public String toString() { return "ProcessEntity{" + "vspId='" + vspId + '\'' + ", version=" + version + ", componentId='" + componentId + '\'' + ", id='" + id + '\'' + ", name='" + name + '\'' + ", description='" + description + '\'' + ", type=" + type + ", artifactName='" + artifactName + '\'' + '}'; } }