Example usage for org.hibernate.criterion Restrictions conjunction

List of usage examples for org.hibernate.criterion Restrictions conjunction

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions conjunction.

Prototype

public static Conjunction conjunction() 

Source Link

Document

Group expressions together in a single conjunction (A and B and C...).

Usage

From source file:org.candlepin.auth.permissions.JobStatusPermission.java

License:Open Source License

@Override
@SuppressWarnings("checkstyle:indentation")
public Criterion getCriteriaRestrictions(Class entityClass) {
    if (!entityClass.equals(JobStatus.class)) {
        return null;
    }/*from   www .  ja  v a  2 s .c om*/

    Conjunction conjunction = Restrictions.conjunction();
    // Org has to match.
    conjunction.add(Restrictions.in("ownerId", allowedOrgIds));

    conjunction.add(Restrictions.or(Restrictions.ne("targetType", JobStatus.TargetType.OWNER),
            Restrictions.and(Restrictions.eq("targetType", JobStatus.TargetType.OWNER),
                    Restrictions.eqProperty("ownerId", "targetId"))));

    // If the principal is not a user, make sure to enforce a principalName match.
    if (!"user".equalsIgnoreCase(principalType)) {
        conjunction.add(Restrictions.eq("principalName", principalName));
    }
    return conjunction;
}

From source file:org.candlepin.model.CertificateSerialCurator.java

License:Open Source License

@SuppressWarnings("rawtypes")
private Criterion getRevokedCriteria() {
    Conjunction crit = Restrictions.conjunction();
    for (Class clazz : CERTCLASSES) {
        DetachedCriteria certSerialQuery = DetachedCriteria.forClass(clazz).createCriteria("serial")
                .setProjection(Projections.property("id"));
        crit.add(Subqueries.propertyNotIn("id", certSerialQuery));
    }// ww  w . j av  a2 s. co m
    return crit;
}

From source file:org.candlepin.model.FilterBuilder.java

License:Open Source License

private Criterion buildAttributeCriteria() {
    Conjunction all = Restrictions.conjunction();
    for (Entry<String, List<String>> entry : attributeFilters.entrySet()) {
        all.add(buildCriteriaForKey(entry.getKey(), entry.getValue()));
    }/*  w  ww .  ja  va2 s .  c om*/

    // Currently all attributes of different names are ANDed.
    return all;
}

From source file:org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateCriterionAdapter.java

License:Apache License

protected void addAssociationQueryCriterionAdapters() {
    criterionAdaptors.put(DetachedAssociationCriteria.class, new CriterionAdaptor() {
        @Override/*  ww  w .  j  a v a 2s  .  c  o m*/
        public Criterion toHibernateCriterion(AbstractHibernateQuery hibernateQuery, Query.Criterion criterion,
                String alias) {
            DetachedAssociationCriteria<?> existing = (DetachedAssociationCriteria<?>) criterion;
            if (alias == null)
                alias = existing.getAlias();
            if (alias == null) {
                alias = hibernateQuery.handleAssociationQuery(existing.getAssociation(), existing.getCriteria(),
                        alias);
            } else {
                hibernateQuery.handleAssociationQuery(existing.getAssociation(), existing.getCriteria(), alias);
            }
            Junction conjunction = Restrictions.conjunction();
            applySubCriteriaToJunction(existing.getAssociation().getAssociatedEntity(), hibernateQuery,
                    existing.getCriteria(), conjunction, alias);
            return conjunction;
        }
    });
    criterionAdaptors.put(AssociationQuery.class, new CriterionAdaptor() {
        @Override
        public Criterion toHibernateCriterion(AbstractHibernateQuery hibernateQuery, Query.Criterion criterion,
                String alias) {
            AssociationQuery existing = (AssociationQuery) criterion;
            Junction conjunction = Restrictions.conjunction();
            String newAlias = hibernateQuery.handleAssociationQuery(existing.getAssociation(),
                    existing.getCriteria().getCriteria());
            if (alias == null) {
                alias = newAlias;
            } else {
                alias += '.' + newAlias;
            }
            applySubCriteriaToJunction(existing.getAssociation().getAssociatedEntity(), hibernateQuery,
                    existing.getCriteria().getCriteria(), conjunction, alias);
            return conjunction;
        }
    });
}

From source file:org.codehaus.groovy.grails.orm.hibernate.query.AbstractHibernateCriterionAdapter.java

License:Apache License

protected void addJunctionCriterionAdapters() {
    criterionAdaptors.put(Query.Conjunction.class, new CriterionAdaptor<Query.Conjunction>() {
        @Override/*w  ww .ja  v  a  2 s.  c o  m*/
        public Criterion toHibernateCriterion(AbstractHibernateQuery hibernateQuery,
                Query.Conjunction criterion, String alias) {
            Conjunction conjunction = Restrictions.conjunction();
            applySubCriteriaToJunction(hibernateQuery.getEntity(), hibernateQuery, criterion.getCriteria(),
                    conjunction, alias);
            return conjunction;
        }
    });
    criterionAdaptors.put(Query.Disjunction.class, new CriterionAdaptor<Query.Disjunction>() {
        @Override
        public Criterion toHibernateCriterion(AbstractHibernateQuery hibernateQuery,
                Query.Disjunction criterion, String alias) {
            Disjunction disjunction = Restrictions.disjunction();
            applySubCriteriaToJunction(hibernateQuery.getEntity(), hibernateQuery, criterion.getCriteria(),
                    disjunction, alias);
            return disjunction;
        }
    });
    criterionAdaptors.put(Query.Negation.class, new CriterionAdaptor<Query.Negation>() {
        @Override
        public Criterion toHibernateCriterion(AbstractHibernateQuery hibernateQuery, Query.Negation criterion,
                String alias) {
            CriterionAdaptor<Query.Disjunction> adapter = (CriterionAdaptor<Query.Disjunction>) criterionAdaptors
                    .get(Query.Disjunction.class);
            return Restrictions.not(adapter.toHibernateCriterion(hibernateQuery,
                    new Query.Disjunction(criterion.getCriteria()), alias));
        }
    });
}

From source file:org.dcm4chee.arr.cdi.ejb.AuditRecordQueryBean.java

License:LGPL

/**
 * Adds the criteria for active participant.
 * /*from   w w w .  j  a  va 2s  .  com*/
 * @param criteria
 *            the criteria
 * @param rq
 *            the rq
 */
private static void addCriteriaForActiveParticipant(Criteria criteria, HttpServletRequest rq) {

    String userID = rq.getParameter("userID");
    String altUserID = rq.getParameter("alternativeUserID");
    String userName = rq.getParameter("userName");
    Boolean userIsRequestor = getBoolean(rq, "userIsRequestor");
    String[][] roleIDs = getCodes(rq, "roleIDCode");
    String napID = rq.getParameter("networkAccessPointID");
    String[] napTypes = rq.getParameterValues("networkAccessPointTypeCode");

    if (userID != null || altUserID != null || userName != null || userIsRequestor != null || roleIDs != null
            || napID != null || napTypes != null) {
        criteria.createAlias("activeParticipants", "ap1");
        Conjunction criterion = Restrictions.conjunction();

        if (userID != null)
            criterion.add(Restrictions.like("ap1.userID", toLikeString(userID)));

        if (altUserID != null)
            criterion.add(Restrictions.like("ap1.alternativeUserID", altUserID.toUpperCase()));

        if (userName != null)
            criterion.add(Restrictions.like("ap1.userName", toLikeString(userName)));

        if (userIsRequestor != null)
            criterion.add(Restrictions.eq("ap1.userIsRequestor", userIsRequestor));

        if (roleIDs != null) {
            criteria.createAlias("ap1.roleID", "rid1");
            criterion.add(getCodeStringCriteria("rid1", roleIDs));
        }

        if (napID != null)
            criterion.add(Restrictions.like("ap1.networkAccessPointID", toLikeString(napID)));

        if (napTypes != null)
            criterion.add(Restrictions.in("ap1.networkAccessPointType", napTypes));

        criteria.add(criterion);
    }
}

From source file:org.dcm4chee.arr.cdi.ejb.AuditRecordQueryBean.java

License:LGPL

/**
 * Gets the code string criteria./*  w  w  w . jav  a2 s . com*/
 * 
 * @param alias
 *            the alias
 * @param codeStrings
 *            the code strings
 * @return the code string criteria
 */
private static Disjunction getCodeStringCriteria(String alias, String[][] codeStrings) {
    Disjunction disjuncation = Restrictions.disjunction();
    for (String codeString[] : codeStrings) {
        disjuncation.add(Restrictions.conjunction().add(Restrictions.eq(alias + ".value", codeString[0]))
                .add(Restrictions.eq(alias + ".designator", codeString[1])));
    }
    return disjuncation;
}

From source file:org.egov.api.controller.EmployeeController.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<StateAware> getWorkflowItemsByUserAndWFType(final Long userId, final List<Long> owners,
        final String workFlowType, final int resultsFrom, final int resultsTo, String priority)
        throws ClassNotFoundException {

    if (!owners.isEmpty()) {
        Criterion criterion = Restrictions
                .not(Restrictions.conjunction().add(Restrictions.eq("state.status", StateStatus.STARTED))
                        .add(Restrictions.eq("createdBy.id", userId)));

        criterion = addPriorityCondition(criterion, priority);

        return entityQueryService.getSession()
                .createCriteria(Class
                        .forName(workflowTypeService.getEnabledWorkflowTypeByType(workFlowType).getTypeFQN()))
                .setFirstResult(resultsFrom).setMaxResults(resultsTo).setFetchMode("state", FetchMode.JOIN)
                .createAlias("state", "state").setFlushMode(FlushMode.MANUAL).setReadOnly(true)
                .setCacheable(true).add(Restrictions.eq("state.type", workFlowType))
                .add(Restrictions.in("state.ownerPosition.id", owners))
                .add(Restrictions.ne("state.status", StateStatus.ENDED)).add(criterion)
                .addOrder(Order.desc("state.createdDate")).list();
    }// w ww  .  j  a  va2s .co  m

    return Collections.emptyList();

}

From source file:org.egov.api.controller.EmployeeController.java

License:Open Source License

@SuppressWarnings("unchecked")
public Number getWorkflowItemsCountByWFType(final Long userId, final List<Long> owners,
        final String workFlowType, final String priority) throws ClassNotFoundException {

    if (!owners.isEmpty()) {
        Criterion criterion = Restrictions
                .not(Restrictions.conjunction().add(Restrictions.eq("state.status", StateStatus.STARTED))
                        .add(Restrictions.eq("createdBy.id", userId)));
        criterion = addPriorityCondition(criterion, priority);

        return (Number) entityQueryService.getSession()
                .createCriteria(Class
                        .forName(workflowTypeService.getEnabledWorkflowTypeByType(workFlowType).getTypeFQN()))
                .setFetchMode("state", FetchMode.JOIN).createAlias("state", "state")
                .setFlushMode(FlushMode.MANUAL).setReadOnly(true).setCacheable(true)
                .setProjection(Projections.rowCount()).add(Restrictions.eq("state.type", workFlowType))
                .add(Restrictions.in("state.ownerPosition.id", owners))
                .add(Restrictions.ne("state.status", StateStatus.ENDED)).add(criterion).uniqueResult();
    }/*w  ww.j  av a2  s . c om*/
    return 0;
}

From source file:org.egov.egf.web.actions.masters.JQueryGridActionSupport.java

License:Open Source License

/**
 * This will get invoked only if user uses search on jqgrid. This is capable applying jqgrid single and group filtering
 * searches.//www  .j av a 2 s.c  o  m
 **/
private void applySearchCriteriaIfAny(final Criteria criteria) {
    if (_search)
        if (StringUtils.isBlank(filters))
            criteria.add(applyRestriction());
        else {
            final MultipleSearchFilter multipleSearchFilter = getMultiSearchFilter();
            if ("AND".equals(multipleSearchFilter.getGroupOp()))
                applyJunctionCriterion(Restrictions.conjunction(), criteria, multipleSearchFilter);
            else if ("OR".equals(multipleSearchFilter.getGroupOp()))
                applyJunctionCriterion(Restrictions.disjunction(), criteria, multipleSearchFilter);
        }
    criteria.addOrder(applyOrderBy());
}