/* * ChangeLogDaoJpaImpl.java */ package org.opentides.dao.impl; import java.util.ArrayList; import java.util.List; import javax.persistence.Query; import org.opentides.bean.ChangeLog; import org.opentides.bean.SqlStatement; import org.opentides.dao.ChangeLogDao; import org.springframework.stereotype.Repository; /** * This is the dao implementation for ChangeLog. Scaffold generated by * opentides3 on Oct 06, 2014 11:59:58. * * @author opentides */ @Repository("changeLogDao") public class ChangeLogDaoJpaImpl extends BaseEntityDaoJpaImpl<ChangeLog, Long> implements ChangeLogDao { @Override public ChangeLog findLatestChangeByBranch(Long branchId) { String jpql = getJpqlQuery("jpql.mobilesync.findLastestChangeByBranch"); Query query = getEntityManager().createQuery(jpql); query.setParameter("branchId", branchId); query.setMaxResults(1); List<ChangeLog> logs = (ArrayList<ChangeLog>) query.getResultList(); if(!logs.isEmpty()){ return (ChangeLog) logs.get(0); } return null; } public Long findTargetVersion(){ String jpql = getJpqlQuery("jpql.mobilesync.findLastestChangeAll"); Query query = getEntityManager().createQuery(jpql); query.setMaxResults(1); List<Long> logs = (ArrayList<Long>) query.getResultList(); if(!logs.isEmpty()){ return (Long) logs.get(0); } return null; } @Override public Long findTargetVersion(Long branchId) { String jpql = getJpqlQuery("jpql.mobilesync.findLastestChangeByBranchId"); Query query = getEntityManager().createQuery(jpql); query.setParameter("branchId", branchId); query.setMaxResults(1); List<Long> logs = (ArrayList<Long>) query.getResultList(); if(!logs.isEmpty()){ return (Long) logs.get(0); } return null; } @Override public Long findTargetVersion(Long branchId, String clientCode) { String jpql = getJpqlQuery("jpql.mobilesync.findLastestChangeforClientCode"); Query query = getEntityManager().createQuery(jpql); query.setParameter("clientCode", clientCode); query.setParameter("branchId", branchId); query.setMaxResults(1); Long maxV = 0l; try { maxV = (Long) query.getSingleResult(); } catch (Exception e) { // ignore the error. } return maxV; } @SuppressWarnings("unchecked") @Override public List<SqlStatement> findUpdates(Long version, Long branchId, String clientCode) { String jpql = getJpqlQuery("jpql.mobilesync.findUpdates"); Query query = getEntityManager().createQuery(jpql); query.setParameter(1, version); query.setParameter(2, branchId); query.setParameter(3, clientCode); query.setMaxResults(250); return (List<SqlStatement>) query.getResultList(); } @Override public Long getLatestVersion(String clientCode) { String jpql = getJpqlQuery("jpql.mobilesync.getLatestVersion"); Query query = getEntityManager().createQuery(jpql); query.setParameter(1, clientCode); List r = query.getResultList(); if (r.size() > 0) { return (Long) r.get(0); } else return 0l; } }