Example usage for org.hibernate.criterion DetachedCriteria addOrder

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

Introduction

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

Prototype

public DetachedCriteria addOrder(Order order) 

Source Link

Document

Adds an ordering

Usage

From source file:org.infoscoop.dao.StaticTabDAO.java

License:Open Source License

/**
 * Get all static tabs without commandBar and portalHeader. 
 * @return//from w w w.j a  v a 2 s  .c o m
 */
public List getStaticTabList() {
    DetachedCriteria c = DetachedCriteria.forClass(StaticTab.class);
    c.add(Expression.eq(StaticTab.PROP_DELETEFLAG, StaticTab.DELETEFLAG_FALSE));
    c.add(Expression.ne(StaticTab.PROP_ID, StaticTab.COMMANDBAR_TAB_ID));
    c.add(Expression.ne(StaticTab.PROP_ID, StaticTab.PORTALHEADER_TAB_ID));

    c.createAlias(TabAdmin.REF, "ta", CriteriaSpecification.LEFT_JOIN);
    c.addOrder(Order.asc(StaticTab.PROP_TABNUMBER));

    return super.getHibernateTemplate().findByCriteria(c);
}

From source file:org.infoscoop.dao.StaticTabDAO.java

License:Open Source License

/**
 * Get all static tabs with commandBar and portalHeader. 
 * @return/*from  w  w  w  .  ja  v a2s .  c  om*/
 */
public List getAllStaicLayoutList() {
    DetachedCriteria c = DetachedCriteria.forClass(StaticTab.class);
    c.add(Expression.eq(StaticTab.PROP_DELETEFLAG, StaticTab.DELETEFLAG_FALSE));

    c.createAlias(TabAdmin.REF, "ta", CriteriaSpecification.LEFT_JOIN);
    c.addOrder(Order.asc(StaticTab.PROP_TABNUMBER));

    return super.getHibernateTemplate().findByCriteria(c);
}

From source file:org.infoscoop.dao.StaticTabDAO.java

License:Open Source License

/**
 * get tabId list without commandbar and portalHeader.
 * /*from ww  w  .ja  v  a 2  s.  com*/
 * @return
 */
public List getTabIdList() {
    DetachedCriteria c = DetachedCriteria.forClass(StaticTab.class);
    c.add(Expression.ne(StaticTab.PROP_ID, StaticTab.COMMANDBAR_TAB_ID));
    c.add(Expression.ne(StaticTab.PROP_ID, StaticTab.PORTALHEADER_TAB_ID));
    c.add(Expression.eq(StaticTab.PROP_DELETEFLAG, StaticTab.DELETEFLAG_FALSE));
    c.setProjection(Projections.property("Tabid"));
    c.addOrder(Order.asc(StaticTab.PROP_TABNUMBER));

    return super.getHibernateTemplate().findByCriteria(c);
}

From source file:org.jspresso.framework.model.persistence.hibernate.criterion.DefaultCriteriaFactory.java

License:Open Source License

/**
 * {@inheritDoc}//from w  w w  . ja  v  a 2 s .c om
 */
@SuppressWarnings("ConstantConditions")
@Override
public void completeCriteriaWithOrdering(EnhancedDetachedCriteria criteria, IQueryComponent queryComponent,
        Map<String, Object> context) {
    criteria.setProjection(null);
    criteria.setResultTransformer(CriteriaSpecification.ROOT_ENTITY);
    // complete sorting properties
    if (queryComponent.getOrderingProperties() != null) {
        for (Map.Entry<String, ESort> orderingProperty : queryComponent.getOrderingProperties().entrySet()) {
            String propertyName = orderingProperty.getKey();
            String[] propElts = propertyName.split("\\.");
            DetachedCriteria orderingCriteria = criteria;
            boolean sortable = true;
            if (propElts.length > 1) {
                IComponentDescriptor<?> currentCompDesc = queryComponent.getQueryDescriptor();
                int i = 0;
                List<String> path = new ArrayList<>();
                for (; sortable && i < propElts.length - 1; i++) {
                    IReferencePropertyDescriptor<?> refPropDescriptor = ((IReferencePropertyDescriptor<?>) currentCompDesc
                            .getPropertyDescriptor(propElts[i]));
                    if (refPropDescriptor != null) {
                        sortable = sortable && isSortable(refPropDescriptor);
                        if (EntityHelper.isInlineComponentReference(refPropDescriptor)) {
                            break;
                        }
                        currentCompDesc = refPropDescriptor.getReferencedDescriptor();
                        path.add(propElts[i]);
                    } else {
                        LOG.error("Ordering property {} not found on {}", propElts[i],
                                currentCompDesc.getComponentContract().getName());
                        sortable = false;
                    }
                }
                if (sortable) {
                    StringBuilder name = new StringBuilder();
                    for (int j = i; sortable && j < propElts.length; j++) {
                        IPropertyDescriptor propDescriptor = currentCompDesc.getPropertyDescriptor(propElts[j]);
                        sortable = sortable && isSortable(propDescriptor);
                        if (j < propElts.length - 1) {
                            currentCompDesc = ((IReferencePropertyDescriptor<?>) propDescriptor)
                                    .getReferencedDescriptor();
                        }
                        if (j > i) {
                            name.append(".");
                        }
                        name.append(propElts[j]);
                    }
                    if (sortable) {
                        for (String pathElt : path) {
                            if (isUseAliasesForJoins()) {
                                orderingCriteria = criteria.getSubCriteriaFor(orderingCriteria, pathElt,
                                        pathElt, JoinType.LEFT_OUTER_JOIN);
                            } else {
                                orderingCriteria = criteria.getSubCriteriaFor(orderingCriteria, pathElt,
                                        JoinType.LEFT_OUTER_JOIN);
                            }
                        }
                        propertyName = name.toString();
                    }
                }
            } else {
                IPropertyDescriptor propertyDescriptor = queryComponent.getQueryDescriptor()
                        .getPropertyDescriptor(propertyName);
                if (propertyDescriptor != null) {
                    sortable = isSortable(propertyDescriptor);
                } else {
                    LOG.error("Ordering property {} not found on {}", propertyName,
                            queryComponent.getQueryDescriptor().getComponentContract().getName());
                    sortable = false;
                }
            }
            if (sortable) {
                Order order;
                switch (orderingProperty.getValue()) {
                case DESCENDING:
                    order = Order.desc(PropertyHelper.toJavaBeanPropertyName(propertyName));
                    break;
                case ASCENDING:
                default:
                    order = Order.asc(PropertyHelper.toJavaBeanPropertyName(propertyName));
                }
                orderingCriteria.addOrder(order);
            }
        }
    }
    // Query should always be ordered to preserve pagination.
    criteria.addOrder(Order.desc(IEntity.ID));
}

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

License:Open Source License

@Override
protected DetachedCriteria getNaturalKeyCriteria(AllowedMimeType entity) {
    DetachedCriteria det = DetachedCriteria.forClass(AllowedMimeType.class);
    det.add(Restrictions.eq("id", entity.getId()));
    det.addOrder(Order.asc("mimetype"));
    return det;/*from   w w  w .  ja  v  a2s  .  com*/
}

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

License:Open Source License

public List<LogEntry> findByCriteria(LogCriteriaBean logCriteria, String domainId) {

    DetachedCriteria criteria = DetachedCriteria.forClass(LogEntry.class);

    if (CollectionUtils.isNotEmpty(logCriteria.getActorMails())) {
        Disjunction or = Restrictions.disjunction();
        for (String mail : logCriteria.getActorMails()) {
            if (StringUtils.isNotBlank(mail))
                or.add(Restrictions.like("actorMail", mail, MatchMode.ANYWHERE));
        }/*from   w ww .  j  a v  a 2s .  c om*/
        criteria.add(or);
    }

    if (CollectionUtils.isNotEmpty(logCriteria.getTargetMails())) {
        Disjunction or = Restrictions.disjunction();
        for (String mail : logCriteria.getTargetMails()) {
            if (StringUtils.isNotBlank(mail))
                or.add(Restrictions.like("targetMail", mail, MatchMode.ANYWHERE));
        }
        criteria.add(or);
    }

    if (StringUtils.isNotBlank(logCriteria.getActorFirstname())) {
        criteria.add(Restrictions.like("actorFirstname", logCriteria.getActorFirstname(), MatchMode.ANYWHERE)
                .ignoreCase());
    }

    if (StringUtils.isNotBlank(logCriteria.getActorLastname())
            && (logCriteria.getActorLastname().length() > 0)) {
        criteria.add(Restrictions.like("actorLastname", logCriteria.getActorLastname(), MatchMode.ANYWHERE)
                .ignoreCase());
    }

    if (StringUtils.isNotBlank(domainId)) {
        criteria.add(Restrictions.like("actorDomain", domainId));
    } else if (StringUtils.isNotBlank(logCriteria.getActorDomain())) {
        criteria.add(Restrictions.like("actorDomain", logCriteria.getActorDomain()));
    }

    if (StringUtils.isNotBlank(logCriteria.getTargetFirstname())) {
        criteria.add(Restrictions.like("targetFirstname", logCriteria.getTargetFirstname(), MatchMode.ANYWHERE)
                .ignoreCase());
    }

    if (StringUtils.isNotBlank(logCriteria.getTargetLastname())) {
        criteria.add(Restrictions.like("targetLastname", logCriteria.getTargetLastname(), MatchMode.ANYWHERE)
                .ignoreCase());
    }

    if (StringUtils.isNotBlank(logCriteria.getTargetDomain())) {
        criteria.add(Restrictions.like("targetDomain", logCriteria.getTargetDomain()));
    }

    if (CollectionUtils.isNotEmpty(logCriteria.getLogActions())) {
        criteria.add(Restrictions.in("logAction", logCriteria.getLogActions()));
    }
    if (logCriteria.getBeforeDate() != null) {
        criteria.add(Restrictions.gt("actionDate", logCriteria.getBeforeDate()));
    }

    if (logCriteria.getAfterDate() != null) {
        criteria.add(Restrictions.lt("actionDate", logCriteria.getAfterDate()));
    }

    if (StringUtils.isNotBlank(logCriteria.getFileName())) {

        if (logCriteria.getFileNameMatchMode().equals(CriterionMatchMode.ANYWHERE)) {
            criteria.add(
                    Restrictions.like("fileName", logCriteria.getFileName(), MatchMode.ANYWHERE).ignoreCase());
        } else {
            criteria.add(
                    Restrictions.like("fileName", logCriteria.getFileName(), MatchMode.ANYWHERE).ignoreCase());
        }
    }

    if (StringUtils.isNotBlank(logCriteria.getFileExtension())) {
        criteria.add(Restrictions.like("fileName", logCriteria.getFileExtension(), MatchMode.END).ignoreCase());
    }

    criteria.addOrder(Order.desc("actionDate"));

    return findBy(criteria);
}

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

License:Open Source License

@Override
public List<MailingList> searchMyListWithInput(User user, String input) {
    DetachedCriteria det = DetachedCriteria.forClass(getPersistentClass());
    det.add(Restrictions.and(Restrictions.eq("owner", user),
            Restrictions.like("identifier", "%" + input + "%").ignoreCase()));
    det.addOrder(Property.forName("identifier").desc());
    return findByCriteria(det);
}

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

License:Open Source License

@Override
public List<MailingList> searchListWithInput(User user, String input) {
    DetachedCriteria det = DetachedCriteria.forClass(getPersistentClass());

    if (user.isSuperAdmin()) {
        det.add(Restrictions.like("identifier", "%" + input + "%").ignoreCase());
    } else {/* w w w . j a v  a  2 s  . com*/
        // all public lists that belong to my domain.
        LogicalExpression allPublicLists = Restrictions.and(Restrictions.eq("isPublic", true),
                Restrictions.eq("domain", user.getDomain()));
        // we exclude my personal lists.
        LogicalExpression allMyDomainPublicLists = Restrictions.and(allPublicLists,
                Restrictions.ne("owner", user));
        // adding all private and public lists that belong to me, to the
        // public
        // lists.

        LogicalExpression allMyLists = Restrictions.or(Restrictions.eq("owner", user), allMyDomainPublicLists);
        det.add(Restrictions.and(allMyLists, Restrictions.like("identifier", "%" + input + "%").ignoreCase()));
    }
    det.addOrder(Property.forName("identifier").desc());

    return findByCriteria(det);
}

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

License:Open Source License

@Override
public List<MailingList> searchWithInputByVisibility(User user, boolean isPublic, String input) {
    DetachedCriteria det = DetachedCriteria.forClass(getPersistentClass());

    if (isPublic == false) {
        if (user.isSuperAdmin()) {
            det.add(Restrictions.and(Restrictions.like("identifier", "%" + input + "%").ignoreCase(),
                    Restrictions.eq("isPublic", false)));
        } else {/*from   www .  j ava  2 s.com*/
            LogicalExpression publicLists = Restrictions.and(Restrictions.eq("owner", user),
                    Restrictions.eq("isPublic", false));
            det.add(Restrictions.and(Restrictions.like("identifier", "%" + input + "%").ignoreCase(),
                    publicLists));
        }
    } else {
        if (user.isSuperAdmin()) {
            det.add(Restrictions.and(Restrictions.like("identifier", "%" + input + "%").ignoreCase(),
                    Restrictions.eq("isPublic", true)));
        } else {
            LogicalExpression privateLists = Restrictions.and(Restrictions.eq("isPublic", true),
                    Restrictions.eq("domain", user.getDomain()));
            det.add(Restrictions.and(Restrictions.like("identifier", "%" + input + "%").ignoreCase(),
                    privateLists));
        }
    }
    det.addOrder(Property.forName("identifier").desc());
    return findByCriteria(det);
}

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

License:Open Source License

@Override
public List<MailingList> searchListByVisibility(User user, boolean isPublic) {
    DetachedCriteria det = DetachedCriteria.forClass(getPersistentClass());

    if (isPublic == false) {
        if (user.isSuperAdmin()) {
            det.add(Restrictions.eq("isPublic", false));
        } else {// w w  w . j  a  v  a 2 s  .c om
            det.add(Restrictions.and(Restrictions.eq("owner", user), Restrictions.eq("isPublic", false)));
        }
    } else {
        if (user.isSuperAdmin()) {
            det.add(Restrictions.eq("isPublic", true));
        } else {
            det.add(Restrictions.and(Restrictions.eq("isPublic", true),
                    Restrictions.eq("domain", user.getDomain())));
        }
    }
    det.addOrder(Property.forName("identifier").desc());
    return findByCriteria(det);
}