Martin Peřina has posted comments on this change.

Change subject: core: Move Job, Step to JPA
......................................................................


Patch Set 49:

(7 comments)

Btw, shouldn't we use only primary keys inside hashCode() and equals() for JPA 
based entities?

https://gerrit.ovirt.org/#/c/34553/49/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/job/Job.java
File 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/job/Job.java:

Line 51:                 query = "delete from Job j where j.autoCleared = true 
and ((j.endTime < :failedEndTime and j.status in (:failStatus)) or (j.endTime < 
:successEndTime and j.status = :successStatus))"),
Line 52:         @NamedQuery(
Line 53:                 name = "Job.deleteJobOlderThanDateWithStatus",
Line 54:                 query = "delete from Job j where j.autoCleared = true 
and j.endTime < :sinceDate and j.status in (:statuses)")
Line 55: })
It would be nice to have some naming convention for NamedQueries, so I would 
prefer the query name to start with lower case:

 Job.byCorrelationId
 Job.getJobsInStatus
 Job.getJobsNotInStatus
 Job.deleteCompletedJobs
 Job.deleteJobOlderThanDateWithStatus
Line 56: public class Job extends IVdcQueryable implements BusinessEntity<Guid> 
{
Line 57: 
Line 58:     /**
Line 59:      * Automatic generated serial version ID


https://gerrit.ovirt.org/#/c/34553/49/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/job/JobSubjectEntity.java
File 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/job/JobSubjectEntity.java:

Line 94:         jobId = id.getJobId();
Line 95:     }
Line 96: 
Line 97:     @Override
Line 98:     public int hashCode() {
Why not use Objects.hash()?

 return Objects.hash(entityId, entityType, jobId);
Line 99:         final int prime = 31;
Line 100:         int result = 1;
Line 101:         result = prime * result + ((entityId == null) ? 0 : 
entityId.hashCode());
Line 102:         result = prime * result + ((entityType == null) ? 0 : 
entityType.hashCode());


Line 115:         if (getClass() != obj.getClass()) {
        :             return false;
        :         }
I would prefer to use smallest possible equals() as proposed in Effective Java:

 @Override
 public boolean equals(Object obj) {
     if (this == obj) {
         return true;
     }
     if (!(obj instanceof JobSubjectEntity)) {
         return false;
     }
     JobSubjectEntity other = (JobSubjectEntity) obj;
     ...
 }


Line 132:             }
Line 133:         } else if (!jobId.equals(other.jobId)) {
Line 134:             return false;
Line 135:         }
Line 136:         return true;
Why not use Objects.equals()?

  return Objects.equals(entityId, other.entityId)
          && Objects.equals(jobId, other.jobId);
Line 137:     }


https://gerrit.ovirt.org/#/c/34553/49/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/job/JobSubjectEntityId.java
File 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/job/JobSubjectEntityId.java:

Line 25:         this.jobId = jobId;
Line 26:     }
Line 27: 
Line 28:     @Override
Line 29:     public int hashCode() {
return Objects.hash(entityId, jobId);
Line 30:         final int prime = 31;
Line 31:         int result = 1;
Line 32:         result = prime * result + ((entityId == null) ? 0 : 
entityId.hashCode());
Line 33:         result = prime * result + ((jobId == null) ? 0 : 
jobId.hashCode());


Line 34:         return result;
Line 35:     }
Line 36: 
Line 37:     @Override
Line 38:     public boolean equals(Object obj) {
@Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (!(obj instanceof JobSubjectEntityId)) {
            return false;
        }
        JobSubjectEntityId other = (JobSubjectEntityId) obj;
        return Objects.equals(entityId, other.entityId)
                && Objects.equals(jobId, other.jobId);
    }
Line 39:         if (this == obj)
Line 40:             return true;
Line 41:         if (obj == null)
Line 42:             return false;


https://gerrit.ovirt.org/#/c/34553/49/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JobDaoDbFacadeImpl.java
File 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/JobDaoDbFacadeImpl.java:

Line 91:     @Override
Line 92:     public boolean checkIfJobHasTasks(Guid jobId) {
Line 93:         List<Step> steps = 
step.getStepsByJobIdForVdsmAndGluster(jobId);
Line 94: 
Line 95:         return steps.size() > 0;
Please use:

  return !steps.isEmpty();
Line 96:     }


-- 
To view, visit https://gerrit.ovirt.org/34553
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ifcfda7b055d37c92c1346b100101c27d594d21fb
Gerrit-PatchSet: 49
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Liran Zelkha <lzel...@redhat.com>
Gerrit-Reviewer: Eli Mesika <emes...@redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Liran Zelkha <lzel...@redhat.com>
Gerrit-Reviewer: Martin Mucha <mmu...@redhat.com>
Gerrit-Reviewer: Martin Peřina <mper...@redhat.com>
Gerrit-Reviewer: Moti Asayag <masa...@redhat.com>
Gerrit-Reviewer: Oved Ourfali <oourf...@redhat.com>
Gerrit-Reviewer: Roy Golan <rgo...@redhat.com>
Gerrit-Reviewer: Yevgeny Zaspitsky <yzasp...@redhat.com>
Gerrit-Reviewer: automat...@ovirt.org
Gerrit-HasComments: Yes
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to