Example usage for org.hibernate.criterion DetachedCriteria setProjection

List of usage examples for org.hibernate.criterion DetachedCriteria setProjection

Introduction

In this page you can find the example usage for org.hibernate.criterion DetachedCriteria setProjection.

Prototype

public DetachedCriteria setProjection(Projection projection) 

Source Link

Document

Set the projection to use.

Usage

From source file:org.linagora.linshare.core.repository.hibernate.GenericStatisticRepositoryImpl.java

License:Open Source License

@Override
public List<Account> findAccountBetweenTwoDates(Date beginDate, Date endDate) {
    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentClass());
    if (beginDate != null) {
        criteria.add(Restrictions.ge("statisticDate", beginDate));
    }//from  ww  w.  ja  v  a  2s.c o m
    if (endDate != null) {
        criteria.add(Restrictions.le("statisticDate", endDate));
    }
    criteria.setProjection(Projections.property("account"));
    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    @SuppressWarnings("unchecked")
    List<Account> listAccounts = (List<Account>) getHibernateTemplate().findByCriteria(criteria);
    return listAccounts;
}

From source file:org.linagora.linshare.core.repository.hibernate.GenericStatisticRepositoryImpl.java

License:Open Source License

@Override
public List<String> findUuidAccountBetweenTwoDates(Date beginDate, Date endDate) {
    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentClass());
    if (beginDate != null) {
        criteria.add(Restrictions.ge("statisticDate", beginDate));
    }/*from w w w. jav  a2s  .  c o  m*/
    if (endDate != null) {
        criteria.add(Restrictions.le("statisticDate", endDate));
    }
    criteria.setProjection(Projections.property("account"));
    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    @SuppressWarnings("unchecked")
    List<Account> listAccount = (List<Account>) getHibernateTemplate().findByCriteria(criteria);

    List<String> listUuid = new ArrayList<>();
    for (Account acccount : listAccount) {
        listUuid.add(acccount.getLsUuid());
    }
    return listUuid;
}

From source file:org.linagora.linshare.core.repository.hibernate.GenericStatisticRepositoryImpl.java

License:Open Source License

@Override
public List<String> findIdentifierDomainBetweenTwoDates(Date beginDate, Date endDate) {
    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentClass());
    if (beginDate != null) {
        criteria.add(Restrictions.ge("statisticDate", beginDate));
    }//w w w. j av a2 s.  c om
    if (endDate != null) {
        criteria.add(Restrictions.le("statisticDate", endDate));
    }
    criteria.setProjection(Projections.property("domain"));
    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    @SuppressWarnings("unchecked")
    List<AbstractDomain> listDomain = (List<AbstractDomain>) getHibernateTemplate().findByCriteria(criteria);

    List<String> identifiers = new ArrayList<>();
    for (AbstractDomain domain : listDomain) {
        identifiers.add(domain.getUuid());
    }
    return identifiers;
}

From source file:org.linagora.linshare.core.repository.hibernate.MailingListContactRepositoryImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override//from  w  w  w.  j ava 2s. c  o m
public List<String> getAllContactMails(MailingList list) {
    DetachedCriteria det = DetachedCriteria.forClass(MailingListContact.class);

    det.add(Restrictions.eq("mailingList", list));
    det.setProjection(Projections.property("mail"));
    return (List<String>) listByCriteria(det);
}

From source file:org.linagora.linshare.core.repository.hibernate.OperationHistoryRepositoryImpl.java

License:Open Source License

@Override
public Long sumOperationValue(Account account, AbstractDomain domain, Date creationDate,
        OperationHistoryTypeEnum operationType, ContainerQuotaType containerQuotaType) {
    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentClass());
    if (account != null) {
        criteria.add(Restrictions.eq("account", account));
    }//  ww w.  ja v  a  2  s. c om
    if (domain != null) {
        criteria.add(Restrictions.eq("domain", domain));
    }
    if (operationType != null) {
        criteria.add(Restrictions.eq("operationType", operationType));
    }
    if (creationDate != null) {
        criteria.add(Restrictions.le("creationDate", creationDate));
    }
    if (containerQuotaType != null) {
        criteria.add(Restrictions.eq("containerQuotaType", containerQuotaType));
    }
    criteria.setProjection(Projections.sum("operationValue"));
    List<OperationHistory> list = findByCriteria(criteria);
    if (list.size() > 0 && list.get(0) != null) {
        return DataAccessUtils.longResult(findByCriteria(criteria));
    }
    return (long) 0;
}

From source file:org.linagora.linshare.core.repository.hibernate.OperationHistoryRepositoryImpl.java

License:Open Source License

@Override
public Long countOperationValue(Account account, AbstractDomain domain, Date creationDate,
        OperationHistoryTypeEnum operationType, ContainerQuotaType containerQuotaType) {
    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentClass());
    if (account != null) {
        criteria.add(Restrictions.eq("account", account));
    }//w ww  . j a v  a  2s.  c  o  m
    if (domain != null) {
        criteria.add(Restrictions.eq("domain", domain));
    }
    if (creationDate != null) {
        criteria.add(Restrictions.le("creationDate", creationDate));
    }
    if (operationType != null) {
        criteria.add(Restrictions.eq("operationType", operationType));
    }
    if (containerQuotaType != null) {
        criteria.add(Restrictions.eq("containerQuotaType", containerQuotaType));
    }
    criteria.setProjection(Projections.rowCount());
    return DataAccessUtils.longResult(findByCriteria(criteria));
}

From source file:org.linagora.linshare.core.repository.hibernate.OperationHistoryRepositoryImpl.java

License:Open Source License

@Override
public List<AbstractDomain> findDomainBeforeDate(Date creationDate) {
    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentClass());
    criteria.add(Restrictions.lt("creationDate", creationDate));
    criteria.setProjection(Projections.distinct(Projections.property("domain")));
    @SuppressWarnings("unchecked")
    List<AbstractDomain> result = (List<AbstractDomain>) getHibernateTemplate().findByCriteria(criteria);
    return result;
}

From source file:org.linagora.linshare.core.repository.hibernate.OperationHistoryRepositoryImpl.java

License:Open Source License

@Override
public List<String> findUuidAccountBeforeDate(Date date, ContainerQuotaType containerQuotaType) {
    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentClass());
    criteria.add(Restrictions.eq("containerQuotaType", containerQuotaType));
    criteria.add(Restrictions.le("creationDate", date));
    criteria.createAlias("account", "ac");
    criteria.setProjection(Projections.distinct(Projections.property("ac.lsUuid")));
    @SuppressWarnings("unchecked")
    List<String> listlsUuid = (List<String>) getHibernateTemplate().findByCriteria(criteria);
    return listlsUuid;
}

From source file:org.linagora.linshare.core.repository.hibernate.ShareEntryGroupRepositoryImpl.java

License:Open Source License

@Override
public List<String> findAllAnonymousShareEntriesAboutToBeNotified(Date dt) {
    DetachedCriteria det = DetachedCriteria.forClass(getPersistentClass());
    det.add(Restrictions.eq("notified", false));
    det.add(Restrictions.lt("notificationDate", dt));
    // only identifier instead of entity
    det.setProjection(Projections.property("uuid"));
    det.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    // join//w ww.  j a  v  a  2s .c  o  m
    det.createAlias("anonymousShareEntries", "ase");
    // restrict
    det.add(Restrictions.eq("ase.downloaded", new Long(0)));
    @SuppressWarnings("unchecked")
    List<String> list = listByCriteria(det);
    return list;
}

From source file:org.linagora.linshare.core.repository.hibernate.ShareEntryGroupRepositoryImpl.java

License:Open Source License

@Override
public List<String> findAllShareEntriesAboutToBeNotified(Date dt) {
    DetachedCriteria det = DetachedCriteria.forClass(getPersistentClass());
    det.add(Restrictions.eq("notified", false));
    det.add(Restrictions.lt("notificationDate", dt));
    // only identifier instead of entity
    det.setProjection(Projections.property("uuid"));
    det.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    // join// w  w w  . ja v a2  s .  co m
    det.createAlias("shareEntries", "se");
    // restrict
    det.add(Restrictions.eq("se.downloaded", new Long(0)));
    @SuppressWarnings("unchecked")
    List<String> list = listByCriteria(det);
    return list;
}