Applied the feedback

This commit is contained in:
Raf Ponsaerts
2018-08-23 08:24:59 +02:00
parent 02fb1f4077
commit 928ae19d1d
4 changed files with 15 additions and 8 deletions

View File

@@ -14,13 +14,16 @@ import java.util.List;
import javax.persistence.Query; import javax.persistence.Query;
import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Join;
import javax.persistence.criteria.Order; import javax.persistence.criteria.Order;
import javax.persistence.criteria.Root; import javax.persistence.criteria.Root;
import javax.persistence.criteria.Subquery; import javax.persistence.criteria.Subquery;
import org.dspace.checker.ChecksumHistory; import org.dspace.checker.ChecksumHistory;
import org.dspace.checker.ChecksumHistory_; import org.dspace.checker.ChecksumHistory_;
import org.dspace.checker.ChecksumResult;
import org.dspace.checker.ChecksumResultCode; import org.dspace.checker.ChecksumResultCode;
import org.dspace.checker.ChecksumResult_;
import org.dspace.checker.MostRecentChecksum; import org.dspace.checker.MostRecentChecksum;
import org.dspace.checker.MostRecentChecksum_; import org.dspace.checker.MostRecentChecksum_;
import org.dspace.checker.dao.MostRecentChecksumDAO; import org.dspace.checker.dao.MostRecentChecksumDAO;
@@ -82,11 +85,15 @@ public class MostRecentChecksumDAOImpl extends AbstractHibernateDAO<MostRecentCh
CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context);
CriteriaQuery<MostRecentChecksum> criteriaQuery = getCriteriaQuery(criteriaBuilder, MostRecentChecksum.class); CriteriaQuery<MostRecentChecksum> criteriaQuery = getCriteriaQuery(criteriaBuilder, MostRecentChecksum.class);
Root<MostRecentChecksum> mostRecentChecksumRoot = criteriaQuery.from(MostRecentChecksum.class); Root<MostRecentChecksum> mostRecentChecksumRoot = criteriaQuery.from(MostRecentChecksum.class);
Join<MostRecentChecksum, ChecksumResult> mostRecentResult =
mostRecentChecksumRoot.join(MostRecentChecksum_.checksumResult);
criteriaQuery.select(mostRecentChecksumRoot); criteriaQuery.select(mostRecentChecksumRoot);
criteriaQuery.where(criteriaBuilder.and( criteriaQuery.where(criteriaBuilder.and(
criteriaBuilder.equal(mostRecentChecksumRoot.get("checksumResult.resultCode"), resultCode), criteriaBuilder.equal(mostRecentResult.get(ChecksumResult_.resultCode), resultCode),
criteriaBuilder.lessThanOrEqualTo(mostRecentChecksumRoot.get("processStartDate"), startDate), criteriaBuilder.lessThanOrEqualTo(
criteriaBuilder.greaterThan(mostRecentChecksumRoot.get("processStartDate"), endDate) mostRecentChecksumRoot.get(MostRecentChecksum_.processStartDate), startDate),
criteriaBuilder.greaterThan(mostRecentChecksumRoot.get(MostRecentChecksum_.processStartDate), endDate)
) )
); );
List<Order> orderList = new LinkedList<>(); List<Order> orderList = new LinkedList<>();
@@ -112,8 +119,8 @@ public class MostRecentChecksumDAOImpl extends AbstractHibernateDAO<MostRecentCh
criteriaQuery.select(mostRecentChecksumRoot); criteriaQuery.select(mostRecentChecksumRoot);
criteriaQuery.where(criteriaBuilder.equal(mostRecentChecksumRoot.get(MostRecentChecksum_.toBeProcessed), true)); criteriaQuery.where(criteriaBuilder.equal(mostRecentChecksumRoot.get(MostRecentChecksum_.toBeProcessed), true));
List<Order> orderList = new LinkedList<>(); List<Order> orderList = new LinkedList<>();
orderList.add(criteriaBuilder.asc(mostRecentChecksumRoot.get(MostRecentChecksum_.bitstream)));
orderList.add(criteriaBuilder.asc(mostRecentChecksumRoot.get(MostRecentChecksum_.processEndDate))); orderList.add(criteriaBuilder.asc(mostRecentChecksumRoot.get(MostRecentChecksum_.processEndDate)));
orderList.add(criteriaBuilder.asc(mostRecentChecksumRoot.get(MostRecentChecksum_.bitstream)));
criteriaQuery.orderBy(orderList); criteriaQuery.orderBy(orderList);
return singleResult(context, criteriaQuery); return singleResult(context, criteriaQuery);
} }

View File

@@ -138,7 +138,7 @@ public class CommunityDAOImpl extends AbstractHibernateDSODAO<Community> impleme
Predicate orPredicate = criteriaBuilder.or(orPredicates.toArray(new Predicate[] {})); Predicate orPredicate = criteriaBuilder.or(orPredicates.toArray(new Predicate[] {}));
criteriaQuery.select(communityRoot); criteriaQuery.select(communityRoot);
criteriaQuery.where( criteriaQuery.where(
criteriaBuilder.and(criteriaBuilder.equal(join.get(ResourcePolicy_.resourceTypeId), Constants.COLLECTION), criteriaBuilder.and(criteriaBuilder.equal(join.get(ResourcePolicy_.resourceTypeId), Constants.COMMUNITY),
criteriaBuilder.equal(join.get(ResourcePolicy_.eperson), ePerson), criteriaBuilder.equal(join.get(ResourcePolicy_.eperson), ePerson),
orPredicate orPredicate
) )

View File

@@ -46,7 +46,7 @@ public class MetadataValueDAOImpl extends AbstractHibernateDAO<MetadataValue> im
criteriaQuery.where(criteriaBuilder.equal(join.get(MetadataField_.id), metadataField.getID())); criteriaQuery.where(criteriaBuilder.equal(join.get(MetadataField_.id), metadataField.getID()));
return list(context, criteriaQuery, true, MetadataValue.class, -1, -1); return list(context, criteriaQuery, false, MetadataValue.class, -1, -1);
} }
@Override @Override

View File

@@ -39,7 +39,7 @@ public class RegistrationDataDAOImpl extends AbstractHibernateDAO<RegistrationDa
Root<RegistrationData> registrationDataRoot = criteriaQuery.from(RegistrationData.class); Root<RegistrationData> registrationDataRoot = criteriaQuery.from(RegistrationData.class);
criteriaQuery.select(registrationDataRoot); criteriaQuery.select(registrationDataRoot);
criteriaQuery.where(criteriaBuilder.equal(registrationDataRoot.get(RegistrationData_.email), email)); criteriaQuery.where(criteriaBuilder.equal(registrationDataRoot.get(RegistrationData_.email), email));
return uniqueResult(context, criteriaQuery, true, RegistrationData.class, -1, -1); return uniqueResult(context, criteriaQuery, false, RegistrationData.class, -1, -1);
} }
@Override @Override
@@ -49,7 +49,7 @@ public class RegistrationDataDAOImpl extends AbstractHibernateDAO<RegistrationDa
Root<RegistrationData> registrationDataRoot = criteriaQuery.from(RegistrationData.class); Root<RegistrationData> registrationDataRoot = criteriaQuery.from(RegistrationData.class);
criteriaQuery.select(registrationDataRoot); criteriaQuery.select(registrationDataRoot);
criteriaQuery.where(criteriaBuilder.equal(registrationDataRoot.get(RegistrationData_.token), token)); criteriaQuery.where(criteriaBuilder.equal(registrationDataRoot.get(RegistrationData_.token), token));
return uniqueResult(context, criteriaQuery, true, RegistrationData.class, -1, -1); return uniqueResult(context, criteriaQuery, false, RegistrationData.class, -1, -1);
} }
@Override @Override