@Override public Predicate buildPredicate(CriteriaBuilder builder, FieldPathBuilder fieldPathBuilder, From root, String ceilingEntity, String fullPropertyName, Path explicitPath, List directValues) { return builder.notEqual(root, directValues.get(0)); } })
@Override public Long countOfferCodeUses(Order order, Long offerCodeId) { CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery<Long> criteria = builder.createQuery(Long.class); Root<OfferAuditImpl> root = criteria.from(OfferAuditImpl.class); criteria.select(builder.count(root)); List<Predicate> restrictions = new ArrayList<>(); restrictions.add( builder.and( builder.or( builder.notEqual(root.get("orderId"), getOrderId(order)), builder.isNull(root.get("orderId")) ), builder.equal(root.get("offerCodeId"), offerCodeId) ) ); criteria.where(restrictions.toArray(new Predicate[restrictions.size()])); try { return em.createQuery(criteria).getSingleResult(); } catch (Exception e) { LOG.error("Error counting offer code uses.", e); return null; } }
@Override public Long countUsesByCustomer(Order order, Long customerId, Long offerId) { CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery<Long> criteria = builder.createQuery(Long.class); Root<OfferAuditImpl> root = criteria.from(OfferAuditImpl.class); criteria.select(builder.count(root)); List<Predicate> restrictions = new ArrayList<>(); restrictions.add( builder.and( builder.or( builder.notEqual(root.get("orderId"), getOrderId(order)), builder.isNull(root.get("orderId")) ), builder.equal(root.get("customerId"), customerId), builder.equal(root.get("offerId"), offerId) ) ); criteria.where(restrictions.toArray(new Predicate[restrictions.size()])); try { return em.createQuery(criteria).getSingleResult(); } catch (Exception e) { LOG.error("Error counting offer uses by customer.", e); return null; } }
public SandBox retrieveSandBoxManagementById(Long sandBoxId) { CriteriaBuilder builder = sandBoxEntityManager.getCriteriaBuilder(); CriteriaQuery<SandBox> criteria = builder.createQuery(SandBox.class); Root<SandBoxManagementImpl> sandbox = criteria.from(SandBoxManagementImpl.class); criteria.select(sandbox.get("sandBox").as(SandBox.class)); criteria.where( builder.and(builder.equal(sandbox.get("sandBox").get("id"), sandBoxId), builder.or(builder.isNull(sandbox.get("sandBox").get("archiveStatus").get("archived").as(String.class)), builder.notEqual(sandbox.get("sandBox").get("archiveStatus").get("archived").as(Character.class), 'Y'))) ); TypedQuery<SandBox> query = sandBoxEntityManager.createQuery(criteria); List<SandBox> results = query.getResultList(); if (results == null || results.size() == 0) { return null; } return results.get(0); }
@Override public SandBox retrieveNamedSandBox(SandBoxType sandBoxType, String sandboxName, Long authorId) { CriteriaBuilder builder = sandBoxEntityManager.getCriteriaBuilder(); CriteriaQuery<SandBox> criteria = builder.createQuery(SandBox.class); Root<SandBoxManagementImpl> sandbox = criteria.from(SandBoxManagementImpl.class); criteria.select(sandbox.get("sandBox").as(SandBox.class)); List<Predicate> restrictions = new ArrayList<Predicate>(); restrictions.add(builder.equal(sandbox.get("sandBox").get("sandboxType"), sandBoxType.getType())); restrictions.add(builder.equal(sandbox.get("sandBox").get("name"), sandboxName)); if (authorId != null) { restrictions.add(builder.equal(sandbox.get("sandBox").get("author"), authorId)); } restrictions.add( builder.or( builder.isNull(sandbox.get("sandBox").get("archiveStatus").get("archived").as(String.class)), builder.notEqual(sandbox.get("sandBox").get("archiveStatus").get("archived").as(Character.class), 'Y')) ); criteria.where(restrictions.toArray(new Predicate[restrictions.size()])); TypedQuery<SandBox> query = sandBoxEntityManager.createQuery(criteria); if (query.getResultList() != null && query.getResultList().size() == 1) { return query.getSingleResult(); } else { return null; } }
restrictions.add(builder.notEqual(idField, identifier));
@Override public List<Site> readAllActiveSites() { CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery<Site> criteria = builder.createQuery(Site.class); Root<SiteImpl> site = criteria.from(SiteImpl.class); criteria.select(site); criteria.where( builder.and( builder.or(builder.isNull(site.get("archiveStatus").get("archived").as(String.class)), builder.notEqual(site.get("archiveStatus").get("archived").as(Character.class), 'Y')), builder.or(builder.isNull(site.get("deactivated").as(Boolean.class)), builder.notEqual(site.get("deactivated").as(Boolean.class), true)) ) ); TypedQuery<Site> query = em.createQuery(criteria); query.setHint(QueryHints.HINT_CACHEABLE, true); query.setHint(QueryHints.HINT_CACHE_REGION, "blSiteElementsQuery"); return query.getResultList(); }
@Override public List<SandBox> retrieveSandBoxesForAuthor(Long authorId, SandBoxType sandBoxType) { CriteriaBuilder builder = sandBoxEntityManager.getCriteriaBuilder(); CriteriaQuery<SandBox> criteria = builder.createQuery(SandBox.class); Root<SandBoxManagementImpl> sandbox = criteria.from(SandBoxManagementImpl.class); criteria.select(sandbox.get("sandBox").as(SandBox.class)); List<Predicate> restrictions = new ArrayList<Predicate>(); restrictions.add(builder.equal(sandbox.get("sandBox").get("author"), authorId)); restrictions.add( builder.or( builder.isNotNull(sandbox.get("sandBox").get("name")), builder.notEqual(sandbox.get("sandBox").get("name").as(String.class), "")) ); if (sandBoxType != null) { restrictions.add(builder.equal(sandbox.get("sandBox").get("sandboxType"), sandBoxType.getType())); } restrictions.add( builder.or(builder.isNull(sandbox.get("sandBox").get("archiveStatus").get("archived").as(String.class)), builder.notEqual(sandbox.get("sandBox").get("archiveStatus").get("archived").as(Character.class), 'Y')) ); criteria.where(restrictions.toArray(new Predicate[restrictions.size()])); TypedQuery<SandBox> query = sandBoxEntityManager.createQuery(criteria); return query.getResultList(); }
@Override public List<SandBox> retrieveChildSandBoxesByParentId(Long parentSandBoxId) { CriteriaBuilder builder = sandBoxEntityManager.getCriteriaBuilder(); CriteriaQuery<SandBox> criteria = builder.createQuery(SandBox.class); Root<SandBoxManagementImpl> sandbox = criteria.from(SandBoxManagementImpl.class); criteria.select(sandbox.get("sandBox").as(SandBox.class)); criteria.where( builder.and(sandbox.get("sandBox").get("parentSandBox").in(parentSandBoxId), builder.or(builder.isNotNull(sandbox.get("sandBox").get("name")), builder.notEqual(sandbox.get("sandBox").get("name").as(String.class), "")), builder.or(builder.isNull(sandbox.get("sandBox").get("archiveStatus").get("archived").as(String.class)), builder.notEqual(sandbox.get("sandBox").get("archiveStatus").get("archived").as(Character.class), 'Y'))) ); TypedQuery<SandBox> query = sandBoxEntityManager.createQuery(criteria); return query.getResultList(); }
@Override public List<SandBox> retrieveAllSandBoxes() { CriteriaBuilder builder = sandBoxEntityManager.getCriteriaBuilder(); CriteriaQuery<SandBox> criteria = builder.createQuery(SandBox.class); Root<SandBoxManagementImpl> sandbox = criteria.from(SandBoxManagementImpl.class); criteria.select(sandbox.get("sandBox").as(SandBox.class)); criteria.where( builder.and(builder.or( builder.isNotNull(sandbox.get("sandBox").get("name")), builder.notEqual(sandbox.get("sandBox").get("name").as(String.class), "")), builder.or( builder.isNull(sandbox.get("sandBox").get("archiveStatus").get("archived").as(String.class)), builder.notEqual(sandbox.get("sandBox").get("archiveStatus").get("archived").as(Character.class), 'Y'))) ); TypedQuery<SandBox> query = sandBoxEntityManager.createQuery(criteria); return query.getResultList(); }
@Override public List<SandBox> retrieveSandBoxesByType(SandBoxType sandboxType) { CriteriaBuilder builder = sandBoxEntityManager.getCriteriaBuilder(); CriteriaQuery<SandBox> criteria = builder.createQuery(SandBox.class); Root<SandBoxManagementImpl> sandbox = criteria.from(SandBoxManagementImpl.class); criteria.select(sandbox.get("sandBox").as(SandBox.class)); criteria.where( builder.and(builder.equal(sandbox.get("sandBox").get("sandboxType"), sandboxType.getType()), builder.or( builder.isNotNull(sandbox.get("sandBox").get("name")), builder.notEqual(sandbox.get("sandBox").get("name").as(String.class), "")), builder.or( builder.isNull(sandbox.get("sandBox").get("archiveStatus").get("archived").as(String.class)), builder.notEqual(sandbox.get("sandBox").get("archiveStatus").get("archived").as(Character.class), 'Y'))) ); TypedQuery<SandBox> query = sandBoxEntityManager.createQuery(criteria); return query.getResultList(); }
@Override public List<SearchFacetRange> readSearchFacetRangesForSearchFacet(SearchFacet searchFacet) { CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery<SearchFacetRange> criteria = builder.createQuery(SearchFacetRange.class); Root<SearchFacetRangeImpl> ranges = criteria.from(SearchFacetRangeImpl.class); criteria.select(ranges); Predicate facetRestriction = builder.equal(ranges.get("searchFacet"), searchFacet); if (isSearchFacetRangeArchivable()) { criteria.where( builder.and( facetRestriction, builder.or(builder.isNull(ranges.get("archiveStatus").get("archived").as(String.class)), builder.notEqual(ranges.get("archiveStatus").get("archived").as(Character.class), 'Y')) ) ); } else { criteria.where(facetRestriction); } TypedQuery<SearchFacetRange> query = em.createQuery(criteria); query.setHint(QueryHints.HINT_CACHEABLE, true); query.setHint(QueryHints.HINT_CACHE_REGION, "query.Search"); try { return query.getResultList(); } catch (NoResultException e) { return new ArrayList<>(); } }
public List<Site> retrieveSitesByPotentialIdentifiers(String... potentialIdentifiers) { CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery<Site> criteria = builder.createQuery(Site.class); Root<SiteImpl> site = criteria.from(SiteImpl.class); criteria.select(site); criteria.where(builder.and(site.get("siteIdentifierValue").as(String.class).in(potentialIdentifiers), builder.and( builder.or(builder.isNull(site.get("archiveStatus").get("archived").as(String.class)), builder.notEqual(site.get("archiveStatus").get("archived").as(Character.class), 'Y')), builder.or(builder.isNull(site.get("deactivated").as(Boolean.class)), builder.notEqual(site.get("deactivated").as(Boolean.class), true)) ) ) ); TypedQuery<Site> query = em.createQuery(criteria); query.setHint(QueryHints.HINT_CACHEABLE, true); query.setHint(QueryHints.HINT_CACHE_REGION, "blSiteElementsQuery"); return query.getResultList(); }
builder.or( builder.isNotNull(sandbox.get("sandBox").get("name")), builder.notEqual(sandbox.get("sandBox").get("name").as(String.class), "")) ); restrictions.add( builder.or( builder.isNull(sandbox.get("sandBox").get("archiveStatus").get("archived").as(String.class)), builder.notEqual(sandbox.get("sandBox").get("archiveStatus").get("archived").as(Character.class), 'Y')) ); criteria.where(restrictions.toArray(new Predicate[restrictions.size()]));
@Override public Map<Long, String> retrieveSandboxNamesForSandBoxes(Set<Long> sandBoxIds) { CriteriaBuilder builder = sandBoxEntityManager.getCriteriaBuilder(); CriteriaQuery<SandBox> criteria = builder.createQuery(SandBox.class); Root<SandBoxManagementImpl> sandbox = criteria.from(SandBoxManagementImpl.class); criteria.select(sandbox.get("sandBox").as(SandBox.class)); criteria.where( builder.and(builder.in(sandbox.get("sandBox").get("id")).value(sandBoxIds), builder.or(builder.isNull(sandbox.get("sandBox").get("archiveStatus").get("archived").as(String.class)), builder.notEqual(sandbox.get("sandBox").get("archiveStatus").get("archived").as(Character.class), 'Y'))) ); TypedQuery<SandBox> query = sandBoxEntityManager.createQuery(criteria); List<SandBox> results = query.getResultList(); Map<Long, String> map = new HashMap<Long, String>(); for (SandBox result : results) { map.put(result.getId(), result.getName()); } return map; }
@Override public List<SearchFacet> readAllSearchFacets(FieldEntity entityType) { CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery<SearchFacet> criteria = builder.createQuery(SearchFacet.class); Root<SearchFacetImpl> facet = criteria.from(SearchFacetImpl.class); criteria.select(facet); Path<Character> archived = facet.get("archiveStatus").get("archived"); criteria.where( builder.equal(facet.get("showOnSearch").as(Boolean.class), true), builder.or(builder.isNull(archived.as(String.class)), builder.notEqual(archived.as(Character.class), 'Y')), facet.join("fieldType") .join("indexField") .join("field") .get("entityType") .as(String.class) .in(entityType.getAllLookupTypes()) ); TypedQuery<SearchFacet> query = em.createQuery(criteria); query.setHint(QueryHints.HINT_CACHEABLE, true); query.setHint(QueryHints.HINT_CACHE_REGION, "query.Search"); return query.getResultList(); }
} else if (op == Op.NOT_EQ) { assert vals.length == 1 : String.format("Op.NOT_EQ needs one value, but %s given", vals.length); preds.add(_builder.notEqual(p, vals[0])); } else if (op == Op.NOT_NULL) { preds.add(_builder.isNotNull(p));
: builder.equal(upperIfIgnoreCase(path), upperIfIgnoreCase(expression.getExpression())); case NEGATING_SIMPLE_PROPERTY: return builder.notEqual(upperIfIgnoreCase(getTypedPath(root, part)), upperIfIgnoreCase(provider.next(part).getExpression())); case IS_EMPTY:
singleCodePredicates.add(theBuilder.notEqual(theFrom.get("mySystem"), system)); } else { singleCodePredicates.add(theBuilder.equal(theFrom.get("mySystem"), system)); singleCodePredicates.add(theBuilder.notEqual(theFrom.get("myValue"), code)); } else { singleCodePredicates.add(theBuilder.equal(theFrom.get("myValue"), code));
@Override public List<Predicate> build(CriteriaBuilder builder, Path<E> path) { return Arrays.asList(builder.notEqual(builder.upper(path.<String>get(getAtt())), getValue().toUpperCase())); }