Enhancement on Dashboard
[policy/engine.git] / ONAP-REST / src / main / java / org / onap / policy / rest / jpa / PolicyEntity.java
index 57daf7e..40ddb43 100644 (file)
@@ -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.
  */
 
 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;
+    }
 
 
 }