List of usage examples for org.hibernate.criterion DetachedCriteria setProjection
public DetachedCriteria setProjection(Projection projection)
From source file:com.cimmyt.model.dao.impl.LabStudyDAOImpl.java
License:Apache License
@Override public Integer getTotalRowsCustomQuery(final List<DsSearchParam> params) { final List<DsSearchParam> paramsTmp = new ArrayList<DsSearchParam>(params); //avoid changing original List final List<Integer> studyIdList = getListWithSampleFilters(paramsTmp); Integer resultList = 0;/*w w w. j a v a 2 s. com*/ resultList = this.getHibernateTemplate().execute(new HibernateCallback<Integer>() { @Override public Integer doInHibernate(Session session) throws HibernateException, SQLException { DetachedCriteria criteria = DetachedCriteria.forClass(LabStudy.class, VALUE_STUDY); addCriteria(criteria, paramsTmp, false); addCurrentSampleFilters(criteria, studyIdList); criteria.setProjection(Projections.rowCount()); return (Integer) getHibernateTemplate().findByCriteria(criteria).get(0); } }); return resultList; }
From source file:com.cimmyt.model.dao.impl.LabStudyDAOImpl.java
License:Apache License
private List<Integer> getListWithSampleFilters(final List<DsSearchParam> params) { final List<Integer> studyIdList = this.getHibernateTemplate() .execute(new HibernateCallback<List<Integer>>() { @SuppressWarnings("unchecked") public List<Integer> doInHibernate(Session session) throws HibernateException, SQLException { List<DsSearchParam> sampleParams = new ArrayList<DsSearchParam>(); for (DsSearchParam p : params) { if (p.getElement().equals(VALUE_SAMPLE)) { sampleParams.add(p); }// ww w . ja va 2 s .com } params.removeAll(sampleParams); DetachedCriteria criteria = DetachedCriteria.forClass(LabStudy.class, VALUE_STUDY); addCriteria(criteria, sampleParams, true); criteria.setProjection(Projections.distinct(Projections.property("labstudyid"))); return (List<Integer>) (sampleParams.size() > 0 ? getHibernateTemplate().findByCriteria(criteria) : null); } }); return studyIdList; }
From source file:com.cimmyt.model.dao.impl.SampleDetailDAOImpl.java
License:Apache License
public Integer getSamplesByStudyUsedInStorageLocationTotal(Integer labStudyId, List<Integer> excludedSamples) { Integer numberSamples = null; DetachedCriteria criteria = DetachedCriteria.forClass(SampleDetail.class); criteria.add(Restrictions.eq("labstudyid.labstudyid", labStudyId)); criteria.add(Restrictions.eq("selforsend", ShipmentStatus.NO_SELECTED.getId())); if (excludedSamples.size() > 0) { criteria.add(Restrictions.not(Restrictions.in("studysampleid", excludedSamples))); }//from ww w. j a va2 s . c o m criteria.setProjection(Projections.rowCount()); numberSamples = (Integer) getHibernateTemplate().findByCriteria(criteria).get(0); return numberSamples; }
From source file:com.cimmyt.model.dao.impl.SampleDetailDAOImpl.java
License:Apache License
@Override public Integer getTotalRowsCustomQuery(final List<DsSearchParam> params) { final List<DsSearchParam> paramsTmp = new ArrayList<DsSearchParam>(params); //avoid changing original List Integer resultList = 0;// w w w . j a v a 2 s . c o m resultList = (Integer) this.getHibernateTemplate().execute(new HibernateCallback<Integer>() { @Override public Integer doInHibernate(Session session) throws HibernateException, SQLException { DetachedCriteria criteria = DetachedCriteria.forClass(SampleDetail.class, VALUE_SAMPLE); addCriteria(criteria, paramsTmp); criteria.setProjection(Projections.rowCount()); return (Integer) getHibernateTemplate().findByCriteria(criteria).get(0); } }); return resultList; }
From source file:com.ephesoft.dcma.core.dao.hibernate.HibernateDao.java
License:Open Source License
/** * To count no. of rows satisfying criteria. * @param criteria DetachedCriteria// w w w.j a v a2 s . c om */ public int count(DetachedCriteria criteria) { criteria.setProjection(Projections.rowCount()); return (Integer) find(criteria).get(0); }
From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassDaoImpl.java
License:Open Source License
/** * This API will fetch all the unc folder paths. * //from w ww .j a v a 2 s . co m * @return List<String> */ @Override public List<String> getAllUNCFolderPaths() { DetachedCriteria criteria = criteria(); criteria.setProjection(Projections.property(UNC_FOLDER)); return find(criteria); }
From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassDaoImpl.java
License:Open Source License
/** * API to get the list of Batch Classes specifying startindex, no of results and sorting if any. * /*from www.ja v a 2 s . c om*/ * @param firstResult int * @param maxResults int * @param order List<Order> * @param userRoles Set<String> * @return List of batch class. */ @Override public List<BatchClass> getBatchClassList(final int firstResult, final int maxResults, final List<Order> order, final Set<String> userRoles) { EphesoftCriteria criteria = criteria(); List<BatchClass> batchClassList = null; if (userRoles == null) { batchClassList = new ArrayList<BatchClass>(0); } else { List<String> roleList = new ArrayList<String>(); for (String userRole : userRoles) { if (null == userRole || userRole.isEmpty()) { continue; } roleList.add(userRole); } DetachedCriteria detachedCriteria = criteria(); detachedCriteria.createAlias(ASSIGNED_GROUPS, ASSIGNED_GROUPS); detachedCriteria.add(Restrictions.in(ASSIGNED_GROUPS_NAME, roleList)); detachedCriteria.setProjection(Projections.distinct(Projections.property(BATCH_ID))); criteria.add(Subqueries.propertyIn(BATCH_ID, detachedCriteria)); criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false))); batchClassList = find(criteria, firstResult, maxResults, order.toArray(new Order[order.size()])); } return batchClassList; }
From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassDaoImpl.java
License:Open Source License
/** * API to fetch the UNC folders for a batch class by name. * /* w ww.ja v a2s . c o m*/ * @param batchClassName {@link String} * @return List<String> */ @Override public List<String> getAllAssociatedUNCFolders(String batchClassName) { DetachedCriteria criteria = criteria(); criteria.setProjection(Projections.property(UNC_FOLDER)); criteria.add(Restrictions.eq(NAME, batchClassName)); criteria.addOrder(org.hibernate.criterion.Order.asc(IDENTIFIER)); criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false))); return this.find(criteria); }
From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassDaoImpl.java
License:Open Source License
/** * API to get batch class identifier by UNC folder. * /*from ww w . j a v a 2 s . c o m*/ * @param uncFolder {@link String} * @return {@link String} */ @Override public String getBatchClassIdentifierByUNCfolder(String uncFolder) { DetachedCriteria criteria = criteria(); criteria.setProjection(Projections.property(IDENTIFIER)); criteria.add(Restrictions.eq(UNC_FOLDER, uncFolder)); criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false))); return this.findSingle(criteria); }
From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassDaoImpl.java
License:Open Source License
/** * This API returns list of all batch class identifiers. * // w w w . j a va2s . com * @return List<String> */ @Override public List<String> getAllBatchClassIdentifiers() { DetachedCriteria criteria = criteria(); criteria.setProjection(Projections.property(IDENTIFIER)); criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false))); return this.find(criteria); }