X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ONAP-REST%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Frest%2Fjpa%2FPolicyEntity.java;h=40ddb430809c791047e0ef6900831c0c3ff2151b;hb=44bae6729336dfc47f1aaaa2c4e88f4e32e207ce;hp=57daf7ed8d0138107df903437cbb12520da007d0;hpb=59e3ddb0f0698965962a7d5879a6e39a80744648;p=policy%2Fengine.git diff --git a/ONAP-REST/src/main/java/org/onap/policy/rest/jpa/PolicyEntity.java b/ONAP-REST/src/main/java/org/onap/policy/rest/jpa/PolicyEntity.java index 57daf7ed8..40ddb4308 100644 --- a/ONAP-REST/src/main/java/org/onap/policy/rest/jpa/PolicyEntity.java +++ b/ONAP-REST/src/main/java/org/onap/policy/rest/jpa/PolicyEntity.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP-REST * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 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. @@ -19,12 +19,14 @@ */ package org.onap.policy.rest.jpa; + /* */ +import com.fasterxml.jackson.annotation.JsonBackReference; +import com.fasterxml.jackson.annotation.JsonManagedReference; import java.io.Serializable; import java.util.Date; import java.util.Objects; - import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; @@ -42,291 +44,346 @@ import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Version; -import com.fasterxml.jackson.annotation.JsonBackReference; -import com.fasterxml.jackson.annotation.JsonManagedReference; /* * The Entity class to persist a policy object and its configuration data */ -/** - * - */ @Entity -//Add a non-unique index and a constraint that says the combo of policyName and scopeId must be unique -@Table(name="PolicyEntity") - +// Add a non-unique index and a constraint that says the combo of policyName and scopeId must be unique +@Table(name = "PolicyEntity") @NamedQueries({ - @NamedQuery(name="PolicyEntity.findAll", query="SELECT e FROM PolicyEntity e "), - @NamedQuery(name="PolicyEntity.findAllByDeletedFlag", query="SELECT e FROM PolicyEntity e WHERE e.deleted = :deleted"), - @NamedQuery(name="PolicyEntity.FindById", query="SELECT e FROM PolicyEntity e WHERE e.policyId = :id"), - @NamedQuery(name="PolicyEntity.deleteAll", query="DELETE FROM PolicyEntity WHERE 1=1"), - @NamedQuery(name="PolicyEntity.findByNameAndScope", query="SELECT e FROM PolicyEntity e WHERE e.policyName = :name AND e.scope = :scope") + @NamedQuery(name = "PolicyEntity.findAll", query = "SELECT e FROM PolicyEntity e "), + @NamedQuery(name = "PolicyEntity.findAllByDeletedFlag", + query = "SELECT e FROM PolicyEntity e WHERE e.deleted = :deleted"), + @NamedQuery(name = "PolicyEntity.FindById", query = "SELECT e FROM PolicyEntity e WHERE e.policyId = :id"), + @NamedQuery(name = "PolicyEntity.deleteAll", query = "DELETE FROM PolicyEntity WHERE 1=1"), + @NamedQuery(name = "PolicyEntity.findByNameAndScope", + query = "SELECT e FROM PolicyEntity e WHERE e.policyName = :name AND e.scope = :scope") }) - public class PolicyEntity implements Serializable { - private static final long serialVersionUID = 1L; - - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column (name="policyId") - @JsonBackReference - private long policyId; - - @Column(name="policyName", nullable=false, unique=false, length=255) - private String policyName; - - //The scope is the directory structure in dot notation. For example: org.onap.myproject - @Column(name="scope", nullable=false, unique=false, length=255) - private String scope; - - @Version - @Column(name="version") - private int version; - - //not going to be used - @Column(name="policyVersion") - private int policyVersion = 0; - - @Lob - @Column(name="policyData", nullable=false, columnDefinition="TEXT") - private String policyData = "NoData"; - - @OneToOne(optional=true, orphanRemoval=true) - @JoinColumn(name="configurationDataId") - @JsonManagedReference - private ConfigurationDataEntity configurationDataEntity; - - @OneToOne(optional=true, orphanRemoval=true) - @JoinColumn(name="actionBodyId") - @JsonManagedReference - private ActionBodyEntity actionBodyEntity; - - @Column(name="created_by", nullable=false, length=255) - private String createdBy = "guest"; - - @Temporal(TemporalType.TIMESTAMP) - @Column(name="created_date", updatable=false) - private Date createdDate; - - @Column(name="description", nullable=false, length=2048) - private String description = "NoDescription"; - - @Column(name="modified_by", nullable=false, length=255) - private String modifiedBy = "guest"; - - @Temporal(TemporalType.TIMESTAMP) - @Column(name="modified_date", nullable=false) - private Date modifiedDate; - - @Column(name="deleted", nullable=false) - private boolean deleted = false; - - public PolicyEntity() { - super(); - } - - @PrePersist - public void prePersist() { - Date date = new Date(); - this.createdDate = date; - this.modifiedDate = date; - } - - @PreUpdate - public void preUpdate() { - this.modifiedDate = new Date(); - } - - /** - * @return the policyId - */ - public long getPolicyId() { - return policyId; - } - - /** - * @param policyId cannot be set - */ - - public String getPolicyName() { - return policyName; - } - - public void setPolicyName(String policyName) { - this.policyName = policyName; - } - - /** - * @return the policyData - */ - public String getPolicyData() { - return policyData; - } - - /** - * @param policyData the policyData to set - */ - public void setPolicyData(String policyData) { - this.policyData = policyData; - } - - /** - * @return the configurationDataEntity - */ - public ConfigurationDataEntity getConfigurationData() { - return configurationDataEntity; - } - - /** - * @param configurationDataEntity the configurationDataEntity to set - */ - public void setConfigurationData(ConfigurationDataEntity configurationDataEntity) { - this.configurationDataEntity = configurationDataEntity; - } - - /** - * @return the actionBodyEntity - */ - public ActionBodyEntity getActionBodyEntity() { - return actionBodyEntity; - } - - /** - * @param actionBodyEntity the actionBodyEntity to set - */ - public void setActionBodyEntity(ActionBodyEntity actionBodyEntity) { - this.actionBodyEntity = actionBodyEntity; - } - - /** - * @return the scope - */ - public String getScope() { - return scope; - } - - /** - * @param scope the scope to set - */ - public void setScope(String scope) { - this.scope = scope; - } - - /** - * @return the createdBy - */ - public String getCreatedBy() { - return createdBy; - } - - /** - * @param createdBy the createdBy to set - */ - public void setCreatedBy(String createdBy) { - this.createdBy = createdBy; - } - - /** - * @return the description - */ - public String getDescription() { - return description; - } - - /** - * @param description the description to set - */ - public void setDescription(String description) { - this.description = description; - } - - /** - * @return the modifiedBy - */ - public String getModifiedBy() { - return modifiedBy; - } - - /** - * @param modifiedBy the modifiedBy to set - */ - public void setModifiedBy(String modifiedBy) { - this.modifiedBy = modifiedBy; - } - - /** - * @return the version - */ - public int getVersion() { - return version; - } - - /** - * @return the createdDate - */ - public Date getCreatedDate() { - return createdDate; - } - - /** - * @return the modifiedDate - */ - public Date getModifiedDate() { - return modifiedDate; - } - - /** - * @return the deleted - */ - public boolean isDeleted() { - return deleted; - } - - /** - * @param deleted the deleted to set - */ - public void setDeleted(boolean deleted) { - this.deleted = deleted; - } - - @Override - public int hashCode() { - return Objects.hash(policyId, policyName, scope, version, policyVersion, policyData, configurationDataEntity, - actionBodyEntity, createdBy, createdDate, description, modifiedBy, modifiedDate, deleted); - } - - @Override - public boolean equals(Object obj) { - if(obj == null){ - return false; - } - if(obj == this){ - return true; - } - if(!(obj instanceof PolicyEntity)){ - return false; - } - - PolicyEntity p = (PolicyEntity) obj; - - return ( - policyId == p.policyId && - policyName.equals(p.policyName) && - scope.equals(p.scope) && - version == p.version && - policyVersion == p.policyVersion && - policyData.equals(p.policyData) && - ((configurationDataEntity == null && p.configurationDataEntity == null) || configurationDataEntity.equals(p.configurationDataEntity)) && - ((actionBodyEntity == null && p.actionBodyEntity == null) || actionBodyEntity.equals(p.actionBodyEntity)) && - createdBy.equals(p.createdBy) && - createdDate.equals(p.createdDate) && - description.equals(p.description) && - modifiedBy.equals(p.modifiedBy) && - modifiedDate.equals(p.modifiedDate) && - deleted == p.deleted - ); - } + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + @Column(name = "policyId") + @JsonBackReference + private long policyId; + + @Column(name = "policyName", nullable = false, unique = false, length = 255) + private String policyName; + + // The scope is the directory structure in dot notation. For example: org.onap.myproject + @Column(name = "scope", nullable = false, unique = false, length = 255) + private String scope; + + @Version + @Column(name = "version") + private int version; + + // not going to be used + @Column(name = "policyVersion") + private int policyVersion = 0; + + @Lob + @Column(name = "policyData", nullable = false, columnDefinition = "TEXT") + private String policyData = "NoData"; + + @OneToOne(optional = true, orphanRemoval = true) + @JoinColumn(name = "configurationDataId") + @JsonManagedReference + private ConfigurationDataEntity configurationDataEntity; + + @OneToOne(optional = true, orphanRemoval = true) + @JoinColumn(name = "actionBodyId") + @JsonManagedReference + private ActionBodyEntity actionBodyEntity; + + @Column(name = "created_by", nullable = false, length = 255) + private String createdBy = "guest"; + + @Temporal(TemporalType.TIMESTAMP) + @Column(name = "created_date", updatable = false) + private Date createdDate; + + @Column(name = "description", nullable = false, length = 2048) + private String description = "NoDescription"; + + @Column(name = "modified_by", nullable = false, length = 255) + private String modifiedBy = "guest"; + + @Temporal(TemporalType.TIMESTAMP) + @Column(name = "modified_date", nullable = false) + private Date modifiedDate; + + @Column(name = "deleted", nullable = false) + private boolean deleted = false; + + @Column(name = "delete_reason_code", nullable = true, length = 100) + private String deleteReasonCode; + + @Column(name = "deleted_by", nullable = true, length = 45) + private String deletedBy; + + public PolicyEntity() { + super(); + } + + /** + * Set default values. + */ + @PrePersist + public void prePersist() { + Date date = new Date(); + this.createdDate = date; + this.modifiedDate = date; + } + + @PreUpdate + public void preUpdate() { + this.modifiedDate = new Date(); + } + + /** + * Returns Policy Id. + * @return the policyId + */ + public long getPolicyId() { + return policyId; + } + + /** + * Returns policy name. + * @return the policy name + */ + public String getPolicyName() { + return policyName; + } + + public void setPolicyName(String policyName) { + this.policyName = policyName; + } + + /** + * Returns policy data. + * @return the policyData + */ + public String getPolicyData() { + return policyData; + } + + /** + * Set policy data. + * @param policyData the policyData to set + */ + public void setPolicyData(String policyData) { + this.policyData = policyData; + } + + /** + * Returns configurationDataEntity. + * @return the configurationDataEntity + */ + public ConfigurationDataEntity getConfigurationData() { + return configurationDataEntity; + } + + /** + * Set configurationDataEntity. + * @param configurationDataEntity the configurationDataEntity to set + */ + public void setConfigurationData(ConfigurationDataEntity configurationDataEntity) { + this.configurationDataEntity = configurationDataEntity; + } + + /** + * Returns actionBodyEntity. + * @return the actionBodyEntity + */ + public ActionBodyEntity getActionBodyEntity() { + return actionBodyEntity; + } + + /** + * Set actionBodyEntity. + * @param actionBodyEntity the actionBodyEntity to set + */ + public void setActionBodyEntity(ActionBodyEntity actionBodyEntity) { + this.actionBodyEntity = actionBodyEntity; + } + + /** + * Returns scope. + * @return the scope + */ + public String getScope() { + return scope; + } + + /** + * Set scope. + * @param scope the scope to set + */ + public void setScope(String scope) { + this.scope = scope; + } + + /** + * Returns createdBy. + * @return the createdBy + */ + public String getCreatedBy() { + return createdBy; + } + + /** + * Set createdBy. + * @param createdBy the createdBy to set + */ + public void setCreatedBy(String createdBy) { + this.createdBy = createdBy; + } + + /** + * Returns description. + * @return the description + */ + public String getDescription() { + return description; + } + + /** + * Set description. + * @param description the description to set + */ + public void setDescription(String description) { + this.description = description; + } + + /** + * Returns modifiedBy. + * @return the modifiedBy + */ + public String getModifiedBy() { + return modifiedBy; + } + + /** + * Set modifiedBy. + * @param modifiedBy the modifiedBy to set + */ + public void setModifiedBy(String modifiedBy) { + this.modifiedBy = modifiedBy; + } + + /** + * Returns version. + * @return version + */ + public int getVersion() { + return version; + } + + /** + * Returns createdDate. + * @return the createdDate + */ + public Date getCreatedDate() { + return createdDate; + } + + /** + * Returns modifiedDate. + * @return the modifiedDate + */ + public Date getModifiedDate() { + return modifiedDate; + } + + /** + * Return deleted. + * @return the deleted + */ + public boolean isDeleted() { + return deleted; + } + + /** + * Set deleted. + * @param deleted the deleted to set + */ + public void setDeleted(boolean deleted) { + this.deleted = deleted; + } + + /** + * Return the reason code. + * @return deleted reason code + */ + public String getDeleteReasonCode() { + return deleteReasonCode; + } + + /** + * Set the reason of deletion. + * @param deleteReasonCode String object + */ + public void setDeleteReasonCode(String deleteReasonCode) { + this.deleteReasonCode = deleteReasonCode; + } + + /** + * Return deleted By. + * @return deletedBy + */ + public String getDeletedBy() { + return deletedBy; + } + + /** + * Set deleted By. + * @param deletedBy String object + */ + public void setDeletedBy(String deletedBy) { + this.deletedBy = deletedBy; + } + + @Override + public int hashCode() { + return Objects.hash(policyId, policyName, scope, version, policyVersion, policyData, configurationDataEntity, + actionBodyEntity, createdBy, createdDate, description, modifiedBy, modifiedDate, deleted); + } + + @Override + public boolean equals(Object obj) { + if (obj == null) { + return false; + } + if (obj == this) { + return true; + } + if (!(obj instanceof PolicyEntity)) { + return false; + } + + PolicyEntity p = (PolicyEntity) obj; + + return policyId == p.policyId + && policyName.equals(p.policyName) + && scope.equals(p.scope) + && version == p.version + && policyVersion == p.policyVersion + && policyData.equals(p.policyData) + && ((configurationDataEntity == null && p.configurationDataEntity == null) + || (configurationDataEntity != null + && configurationDataEntity + .equals(p.configurationDataEntity))) + && ((actionBodyEntity == null && p.actionBodyEntity == null) || (actionBodyEntity != null + && actionBodyEntity + .equals(p.actionBodyEntity))) && createdBy.equals(p.createdBy) + && createdDate.equals(p.createdDate) && description.equals(p.description) + && modifiedBy.equals(p.modifiedBy) && modifiedDate.equals(p.modifiedDate) && deleted == p.deleted; + } }