/*
* 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;
}
}