List of usage examples for org.hibernate.criterion Restrictions conjunction
public static Conjunction conjunction()
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()); }