Java Examples for javax.persistence.criteria.Expression
The following java examples will help you to understand the usage of javax.persistence.criteria.Expression. These source code samples are taken from different open source projects.
Example 1
| Project: azzyzt_jee_tools-master File: QueryBuilder.java View source code |
/**
* builds the typed query
* @return A JPA typed query
* @throws InvalidFieldException
* @throws AccessDeniedException
* @throws QuerySyntaxException
* @throws NotYetImplementedException
*/
public TypedQuery<T> build() throws InvalidFieldException, AccessDeniedException, QuerySyntaxException, NotYetImplementedException {
TypedQuery<T> q = null;
Expression expr = qs.getExpression();
if (expr != null) {
Predicate p = process(expr);
cq.where(p);
}
List<OrderByClause> orderByList = qs.getOrderByList();
if (orderByList != null && orderByList.size() > 0) {
List<Order> orderList = new ArrayList<Order>();
for (OrderByClause orderBy : orderByList) {
String fieldName = orderBy.getFieldName();
javax.persistence.criteria.Expression<?> nameExpr = toNameExpression(fieldName);
if (orderBy.isAscending()) {
orderList.add(cb.asc(nameExpr));
} else {
orderList.add(cb.desc(nameExpr));
}
}
cq.orderBy(orderList);
}
if (forceDistinct) {
cq.distinct(true);
}
q = em.createQuery(cq);
return q;
}Example 2
| Project: blaze-persistence-master File: BlazeCriteriaBuilderImpl.java View source code |
@Override
public Predicate isTrue(Expression<Boolean> expression) {
if (CompoundPredicate.class.isInstance(expression)) {
final CompoundPredicate predicate = (CompoundPredicate) expression;
if (predicate.getExpressions().size() == 0) {
return new BooleanLiteralPredicate(this, predicate.getOperator() == BooleanOperator.AND);
}
return predicate;
} else if (Predicate.class.isInstance(expression)) {
return (Predicate) expression;
}
return equal(expression, literal(Boolean.TRUE));
}Example 3
| Project: gazpachoquest-master File: JpaUtil.java View source code |
public static <E> Predicate stringPredicate(Expression<String> path, Object attrValue, final SearchParameters sp, final CriteriaBuilder builder) {
if (sp.isCaseInsensitive()) {
path = builder.lower(path);
attrValue = ((String) attrValue).toLowerCase(Locale.ENGLISH);
}
switch(sp.getSearchMode()) {
case EQUALS:
return builder.equal(path, attrValue);
case ENDING_LIKE:
return builder.like(path, "%" + attrValue);
case STARTING_LIKE:
return builder.like(path, attrValue + "%");
case ANYWHERE:
return builder.like(path, "%" + attrValue + "%");
case LIKE:
// assume user
return builder.like(path, (String) attrValue);
// cards
default:
throw new IllegalStateException("expecting a search mode!");
}
}Example 4
| Project: hibernate-orm-master File: CriteriaBuilderImpl.java View source code |
// predicates ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
public Predicate wrap(Expression<Boolean> expression) {
if (Predicate.class.isInstance(expression)) {
return ((Predicate) expression);
} else if (PathImplementor.class.isInstance(expression)) {
return new BooleanAssertionPredicate(this, expression, Boolean.TRUE);
} else {
return new BooleanExpressionPredicate(this, expression);
}
}Example 5
| Project: javaee-addon-master File: SimpleStringFilterTranslatorTest.java View source code |
@Test
@SuppressWarnings({ "unchecked", "rawtypes" })
public void testTranslate() {
SimpleStringFilter filter = new SimpleStringFilter("firstName", "Thomas", false, false);
Path path = mock(Path.class);
Expression<String> upper = mock(Expression.class);
CriteriaBuilder builder = mock(CriteriaBuilder.class);
when(builder.upper(path)).thenReturn(upper);
Root<PersistentEntity> root = mock(Root.class);
when(root.get("firstName")).thenReturn(path);
Predicate predicate = mock(Predicate.class);
when(builder.like(path, "%Thomas%")).thenReturn(predicate);
Predicate translate = translator.translate(filter, builder, root, null);
assertEquals(predicate, translate);
}Example 6
| Project: kylo-master File: TestFeedSecuringRepository.java View source code |
public List<JpaOpsManagerFeed> findByName(String name) {
LOG.debug("TestFeedSecuringRepository.findByName");
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<JpaOpsManagerFeed> query = builder.createQuery(JpaOpsManagerFeed.class);
Root<JpaOpsManagerFeed> root = query.from(JpaOpsManagerFeed.class);
Expression<Boolean> nameIsEqualToParam = builder.equal(root.get("name"), name);
Specification<JpaOpsManagerFeed> spec = null;
Specification<JpaOpsManagerFeed> secured = augmentor.augment(spec, JpaOpsManagerFeed.class, entityInformation);
query.where(builder.and(nameIsEqualToParam, secured.toPredicate(root, query, builder)));
return entityManager.createQuery(query).getResultList();
}Example 7
| Project: permutas-sep-master File: ResourceServiceImpl.java View source code |
@Override
@Transactional
public List<Sentence> search(String sentence) {
CriteriaQuery<Sentence> c = em.getCriteriaBuilder().createQuery(Sentence.class);
Root<Sentence> roleRoot = c.from(Sentence.class);
c.select(roleRoot);
Expression<String> exp = roleRoot.get("sentence");
Predicate r = em.getCriteriaBuilder().like(exp, "%" + sentence + "%");
c.where(r);
return em.createQuery(c).getResultList();
}Example 8
| Project: spring4-sandbox-master File: JpaSpecs.java View source code |
public static Specification<Conference> inProgressConferences() {
return new Specification<Conference>() {
@Override
public Predicate toPredicate(Root<Conference> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
Expression<Timestamp> currentTimestamp = cb.currentTimestamp();
return cb.and(cb.greaterThan(root.get("endedDate").as(Date.class), currentTimestamp), cb.lessThan(root.get("startedDate").as(Date.class), currentTimestamp));
}
};
}Example 9
| Project: eclipselink.runtime-master File: CriteriaBuilderImpl.java View source code |
/**
* Create an aggregate expression for finding the greatest of the values
* (strings, dates, etc).
*
* @param x
* expression representing input value to greatest operation
* @return greatest expression
*/
@Override
public <X extends Comparable<? super X>> Expression<X> greatest(Expression<X> x) {
if (((InternalSelection) x).getCurrentNode() == null) {
throw new IllegalArgumentException(ExceptionLocalization.buildMessage("OPERATOR_EXPRESSION_IS_CONJUNCTION"));
}
return new ExpressionImpl(this.metamodel, x.getJavaType(), ((InternalSelection) x).getCurrentNode().maximum());
}Example 10
| Project: arquillian-showcase-master File: GameRepository.java View source code |
private Integer oldestYear() {
CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
CriteriaQuery<Integer> query = criteriaBuilder.createQuery(Integer.class);
Root<Game> fromGames = query.from(Game.class);
Expression<Integer> oldestYear = criteriaBuilder.min(fromGames.get(Game_.year));
return em.createQuery(query.select(oldestYear)).getSingleResult();
}Example 11
| Project: emf.texo-master File: BaseDao.java View source code |
/**
* Return a list of T based on a property-value map, the prop-values are combined in the where clause using and.
*/
public List<T> findByProperties(Map<String, Object> filterBy) {
final CriteriaBuilder builder = getEntityManager().getCriteriaBuilder();
final CriteriaQuery<T> criteria = builder.createQuery(getEntityClass());
final Root<T> root = criteria.from(getEntityClass());
criteria.select(root);
Expression<Boolean> rootExpression = null;
for (String property : filterBy.keySet()) {
Object value = filterBy.get(property);
if (rootExpression == null) {
rootExpression = builder.equal(root.get(property), value);
} else {
rootExpression = builder.and(rootExpression, builder.equal(root.get(property), value));
}
}
criteria.where(rootExpression);
return getEntityManager().createQuery(criteria).getResultList();
}Example 12
| Project: groom-code-review-site-master File: RepositoryField.java View source code |
@Override
public final void attach() {
super.attach();
final EntityManager entityManager = ((AbstractSiteUI) getUI().getUI()).getSite().getSiteContext().getObject(EntityManager.class);
final Company company = ((AbstractSiteUI) getUI().getUI()).getSite().getSiteContext().getObject(Company.class);
final CriteriaBuilder queryBuilder = entityManager.getCriteriaBuilder();
final CriteriaQuery<Repository> criteriaQuery = queryBuilder.createQuery(Repository.class);
final Root<Repository> root = criteriaQuery.from(Repository.class);
final Expression<Comparable> owner = root.get("owner");
criteriaQuery.where(queryBuilder.equal(owner, company));
criteriaQuery.orderBy(queryBuilder.asc(root.get("path")));
final TypedQuery<Repository> typedQuery = entityManager.createQuery(criteriaQuery);
for (final Repository group : typedQuery.getResultList()) {
addItem(group);
}
}Example 13
| Project: hibernate-semantic-query-master File: CriteriaBuilderImpl.java View source code |
// other functions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@Override
@SuppressWarnings("unchecked")
public <T> Expression<T> function(String name, Class<T> returnType, Expression<?>... arguments) {
if (arguments == null || arguments.length == 0) {
return function(name, returnType);
}
final SqmExpressableTypeBasic returnSqmType = consumerContext().getDomainMetamodel().resolveBasicType(returnType);
return new GenericFunctionExpression(name, returnSqmType, returnType, this, (JpaExpression<?>[]) arguments);
}Example 14
| Project: ilves-master File: UserField.java View source code |
@Override
public final void attach() {
super.attach();
final EntityManager entityManager = ((AbstractSiteUI) getUI().getUI()).getSite().getSiteContext().getObject(EntityManager.class);
final Company company = ((AbstractSiteUI) getUI().getUI()).getSite().getSiteContext().getObject(Company.class);
final CriteriaBuilder queryBuilder = entityManager.getCriteriaBuilder();
final CriteriaQuery<User> criteriaQuery = queryBuilder.createQuery(User.class);
final Root<User> root = criteriaQuery.from(User.class);
final Expression<Comparable> owner = root.get("owner");
criteriaQuery.where(queryBuilder.equal(owner, company));
criteriaQuery.orderBy(queryBuilder.asc(root.get("owner")), queryBuilder.asc(root.get("lastName")), queryBuilder.asc(root.get("firstName")));
final TypedQuery<User> companyQuery = entityManager.createQuery(criteriaQuery);
for (final User user : companyQuery.getResultList()) {
addItem(user);
}
}Example 15
| Project: JMaNGOS-master File: SkillLineAbilitySpecs.java View source code |
public static Specification<SkillLineAbilityEntity> isRaceMatchToRaceMask(final Races race) {
return new Specification<SkillLineAbilityEntity>() {
@Override
public Predicate toPredicate(final Root<SkillLineAbilityEntity> root, final CriteriaQuery<?> query, final CriteriaBuilder cb) {
final Expression<Integer> racemask = cb.literal(race.getMask());
final Expression<Integer> raceFunction = cb.function("bitwise_and", Integer.class, root.<Integer>get("racemask"), racemask);
return cb.or(cb.greaterThan(raceFunction, 0), cb.equal(root.get("racemask"), 0));
}
};
}Example 16
| Project: jpa-query-by-example-master File: ByPatternUtil.java View source code |
/*
* Lookup entities having at least one String attribute matching the passed sp's pattern
*/
@SuppressWarnings("unchecked")
public <T> Predicate byPattern(Root<T> root, CriteriaBuilder builder, SearchParameters sp, Class<T> type) {
if (!sp.hasSearchPattern()) {
return null;
}
List<Predicate> predicates = newArrayList();
EntityType<T> entity = em.getMetamodel().entity(type);
String pattern = sp.getSearchPattern();
for (SingularAttribute<? super T, ?> attr : entity.getSingularAttributes()) {
if (attr.getPersistentAttributeType() == MANY_TO_ONE || attr.getPersistentAttributeType() == ONE_TO_ONE) {
continue;
}
if (attr.getJavaType() == String.class) {
predicates.add(jpaUtil.stringPredicate((Expression<String>) root.get(jpaUtil.attribute(entity, attr)), pattern, sp, builder));
}
}
return jpaUtil.orPredicate(builder, predicates);
}Example 17
| Project: taschengeldboerse-master File: JobRepositoryImpl.java View source code |
@Override
public List<Job> notassignedList() {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Job> cq = cb.createQuery(Job.class);
Root<Job> job = cq.from(Job.class);
Expression<Integer> schueler = job.get("schueler");
cq.select(job).where(cb.isNull(schueler)).orderBy(cb.desc(job.get("erstelldatum")));
Query query = entityManager.createQuery(cq);
List<Job> jobListe = query.getResultList();
return jobListe;
}Example 18
| Project: BatooJPA-master File: JpqlQuery.java View source code |
/**
* Constructs the order by fragment of the query.
*
* @param cb
* the criteria builder
* @param q
* the query
* @param selections
* the selections
* @param orderBy
* the order by definitions
*
* @since 2.0.0
*/
private void constructOrder(CriteriaBuilderImpl cb, CriteriaQueryImpl<?> q, List<Selection<?>> selections, Tree orderBy) {
final List<Order> orders = Lists.newArrayList();
for (int i = 0; i < orderBy.getChildCount(); i++) {
final Tree orderByItem = orderBy.getChild(i);
final Tree orderItem = orderByItem.getChild(0);
Order order = null;
if (orderItem.getType() == JpqlParser.ID) {
final String alias = orderItem.getText();
for (final Selection<?> selection : selections) {
if (alias.equals(selection.getAlias())) {
order = //
orderByItem.getChildCount() == 2 ? cb.desc((Expression<//
?>) selection) : cb.asc((Expression<?>) selection);
break;
}
}
if (order == null) {
throw new PersistenceException("Alias is not bound: " + alias);
}
} else {
order = //
orderByItem.getChildCount() == 2 ? cb.desc(this.getExpression(cb, q, orderItem//
, null)) : cb.asc(this.getExpression(cb, q, orderByItem.getChild(0), null));
}
orders.add(order);
}
q.orderBy(orders);
}Example 19
| Project: eGov-master File: AssetService.java View source code |
public List<Asset> search(Asset asset) {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Asset> createQuery = cb.createQuery(Asset.class);
Root<Asset> assets = createQuery.from(Asset.class);
createQuery.select(assets);
Metamodel model = entityManager.getMetamodel();
EntityType<Asset> Asset_ = model.entity(Asset.class);
List<Predicate> predicates = new ArrayList<Predicate>();
if (asset.getName() != null) {
String name = "%" + asset.getName().toLowerCase() + "%";
predicates.add(cb.isNotNull(assets.get("name")));
predicates.add(cb.like(cb.lower(assets.get(Asset_.getDeclaredSingularAttribute("name", String.class))), name));
}
if (asset.getCode() != null) {
String code = "%" + asset.getCode().toLowerCase() + "%";
predicates.add(cb.isNotNull(assets.get("code")));
predicates.add(cb.like(cb.lower(assets.get(Asset_.getDeclaredSingularAttribute("code", String.class))), code));
}
if (asset.getAssetCategory() != null) {
predicates.add(cb.equal(assets.get("assetCategory"), asset.getAssetCategory()));
}
if (asset.getDepartment() != null) {
predicates.add(cb.equal(assets.get("department"), asset.getDepartment()));
}
if (asset.getSearchStatus() != null) {
Expression<Long> status = assets.get("status");
predicates.add(status.in(asset.getSearchStatus()));
}
createQuery.where(predicates.toArray(new Predicate[] {}));
TypedQuery<Asset> query = entityManager.createQuery(createQuery);
List<Asset> resultList = query.getResultList();
return resultList;
}Example 20
| Project: HERD-master File: BusinessObjectDataDaoImpl.java View source code |
@Override
public Integer getBusinessObjectDataMaxVersion(BusinessObjectDataKey businessObjectDataKey) {
// Create the criteria builder and the criteria.
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Integer> criteria = builder.createQuery(Integer.class);
// The criteria root is the business object data.
Root<BusinessObjectDataEntity> businessObjectDataEntity = criteria.from(BusinessObjectDataEntity.class);
// Join to the other tables we can filter on.
Join<BusinessObjectDataEntity, BusinessObjectFormatEntity> businessObjectFormatEntity = businessObjectDataEntity.join(BusinessObjectDataEntity_.businessObjectFormat);
Join<BusinessObjectFormatEntity, FileTypeEntity> fileTypeEntity = businessObjectFormatEntity.join(BusinessObjectFormatEntity_.fileType);
Join<BusinessObjectFormatEntity, BusinessObjectDefinitionEntity> businessObjectDefinitionEntity = businessObjectFormatEntity.join(BusinessObjectFormatEntity_.businessObjectDefinition);
Join<BusinessObjectDefinitionEntity, NamespaceEntity> namespaceEntity = businessObjectDefinitionEntity.join(BusinessObjectDefinitionEntity_.namespace);
// Create the path.
Expression<Integer> maxBusinessObjectDataVersion = builder.max(businessObjectDataEntity.get(BusinessObjectDataEntity_.version));
// Create the standard restrictions (i.e. the standard where clauses).
Predicate queryRestriction = builder.equal(builder.upper(namespaceEntity.get(NamespaceEntity_.code)), businessObjectDataKey.getNamespace().toUpperCase());
queryRestriction = builder.and(queryRestriction, builder.equal(builder.upper(businessObjectDefinitionEntity.get(BusinessObjectDefinitionEntity_.name)), businessObjectDataKey.getBusinessObjectDefinitionName().toUpperCase()));
queryRestriction = builder.and(queryRestriction, builder.equal(builder.upper(businessObjectFormatEntity.get(BusinessObjectFormatEntity_.usage)), businessObjectDataKey.getBusinessObjectFormatUsage().toUpperCase()));
queryRestriction = builder.and(queryRestriction, builder.equal(builder.upper(fileTypeEntity.get(FileTypeEntity_.code)), businessObjectDataKey.getBusinessObjectFormatFileType().toUpperCase()));
queryRestriction = builder.and(queryRestriction, builder.equal(businessObjectFormatEntity.get(BusinessObjectFormatEntity_.businessObjectFormatVersion), businessObjectDataKey.getBusinessObjectFormatVersion()));
queryRestriction = builder.and(queryRestriction, builder.equal(businessObjectDataEntity.get(BusinessObjectDataEntity_.partitionValue), businessObjectDataKey.getPartitionValue()));
for (int i = 0; i < BusinessObjectDataEntity.MAX_SUBPARTITIONS; i++) {
queryRestriction = builder.and(queryRestriction, i < businessObjectDataKey.getSubPartitionValues().size() ? builder.equal(businessObjectDataEntity.get(BUSINESS_OBJECT_DATA_SUBPARTITIONS.get(i)), businessObjectDataKey.getSubPartitionValues().get(i)) : builder.isNull(businessObjectDataEntity.get(BUSINESS_OBJECT_DATA_SUBPARTITIONS.get(i))));
}
criteria.select(maxBusinessObjectDataVersion).where(queryRestriction);
return entityManager.createQuery(criteria).getSingleResult();
}Example 21
| Project: Netuno-master File: PortoServiceImpl.java View source code |
/**
* Faz uma consulta ao banco pelos portos com os atributos iguais aos setados no parâmetro porto.
* @param porto uma instância de {@link Porto} com os atributos da consulta.
*/
@Override
public List<Porto> filtrar(Porto porto) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Porto> consulta = cb.createQuery(Porto.class);
Root<Porto> portoRoot = consulta.from(Porto.class);
ArrayList<Predicate> predicados = new ArrayList<Predicate>();
if (porto != null) {
//Cada atributo setado em porto é um filtro e portanto é colocado numa lista de predicados
if (porto.getLocalizacao() != null && !porto.getLocalizacao().equals("")) {
Expression<String> localizacao = portoRoot.get("localizacao");
predicados.add(cb.like(cb.lower(localizacao), porto.getLocalizacao().toLowerCase() + "%"));
}
if (porto.getNome() != null && !porto.getNome().equals("")) {
Expression<String> nome = portoRoot.get("nome");
predicados.add(cb.like(cb.lower(nome), porto.getNome().toLowerCase() + "%"));
}
}
//Executa a consulta com Porto como entidade raiz e satisfazendo as condições dos predicados
consulta.select(portoRoot).where(predicados.toArray(new Predicate[] {}));
consulta.orderBy(cb.asc((portoRoot.get("localizacao"))));
return this.em.createQuery(consulta).getResultList();
}Example 22
| Project: ngrinder-master File: AgentManagerSpecification.java View source code |
/**
* Query specification to query the agent existing in the specified region.
*
* @param region region to query
* @return Specification of this query
*/
public static Specification<AgentInfo> startWithRegion(final String region) {
return new Specification<AgentInfo>() {
@Override
public Predicate toPredicate(Root<AgentInfo> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
Expression<String> regionField = root.get("region").as(String.class);
return cb.or(cb.like(regionField, region + "/_owned%", cb.literal('/')), cb.equal(regionField, region));
}
};
}Example 23
| Project: trade-manager-master File: TradingdayHome.java View source code |
/**
* Method findContractByUniqueKey.
*
* @param SECType
* String
* @param symbol
* String
* @param exchange
* String
* @param currency
* String
* @param expiryDate
* Date
* @return Contract
*/
private Contract findContractByUniqueKey(String SECType, String symbol, String exchange, String currency, ZonedDateTime expiryDate) {
try {
EntityManager entityManager = EntityManagerHelper.getEntityManager();
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Contract> query = builder.createQuery(Contract.class);
Root<Contract> from = query.from(Contract.class);
query.select(from);
List<Predicate> predicates = new ArrayList<Predicate>();
if (null != SECType) {
Predicate predicate = builder.equal(from.get("secType"), SECType);
predicates.add(predicate);
}
if (null != symbol) {
Predicate predicate = builder.equal(from.get("symbol"), symbol);
predicates.add(predicate);
}
if (null != exchange) {
Predicate predicate = builder.equal(from.get("exchange"), exchange);
predicates.add(predicate);
}
if (null != currency) {
Predicate predicate = builder.equal(from.get("currency"), currency);
predicates.add(predicate);
}
if (null != expiryDate) {
Integer yearExpiry = expiryDate.getYear();
Expression<Integer> year = builder.function("year", Integer.class, from.get("expiry"));
Predicate predicateYear = builder.equal(year, yearExpiry);
predicates.add(predicateYear);
Integer monthExpiry = expiryDate.getMonthValue();
Expression<Integer> month = builder.function("month", Integer.class, from.get("expiry"));
Predicate predicateMonth = builder.equal(month, new Integer(1 + monthExpiry.intValue()));
predicates.add(predicateMonth);
}
query.where(predicates.toArray(new Predicate[] {}));
TypedQuery<Contract> typedQuery = entityManager.createQuery(query);
List<Contract> items = typedQuery.getResultList();
if (items.size() > 0) {
return items.get(0);
}
return null;
} catch (Exception re) {
throw re;
}
}Example 24
| Project: clinic-softacad-master File: CriteriaBuilderImpl.java View source code |
// predicates ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
public Predicate wrap(Expression<Boolean> expression) {
if (Predicate.class.isInstance(expression)) {
return ((Predicate) expression);
} else if (PathImplementor.class.isInstance(expression)) {
return new BooleanAssertionPredicate(this, expression, Boolean.TRUE);
} else {
return new BooleanExpressionPredicate(this, expression);
}
}Example 25
| Project: hibernate-core-ogm-master File: CriteriaBuilderImpl.java View source code |
// predicates ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
public Predicate wrap(Expression<Boolean> expression) {
if (Predicate.class.isInstance(expression)) {
return ((Predicate) expression);
} else if (PathImplementor.class.isInstance(expression)) {
return new BooleanAssertionPredicate(this, expression, Boolean.TRUE);
} else {
return new BooleanExpressionPredicate(this, expression);
}
}Example 26
| Project: idnadrev-master File: CreateBookingController.java View source code |
protected List<String> supplyCategoryCompletion(AutoCompletionBinding.ISuggestionRequest request) {
if (request.getUserText() == null || request.getUserText().isEmpty()) {
return Collections.emptyList();
} else {
return PersistentWork.projection(Booking.class, true, MAX_AUTOCOMPLEITON_RESULTS, b -> b.getCategory(), ( root, query, builder) -> {
Path<String> categoryPath = root.get(BookingLoadingHint.KEY_CATEGORY);
Expression<String> categoryPathLower = builder.lower(categoryPath);
String pattern = request.getUserText().toLowerCase(Locale.ROOT).trim() + "%";
query.where(builder.like(categoryPathLower, pattern));
query.orderBy(builder.asc(categoryPath));
});
}
}Example 27
| Project: jpasearch-master File: JpaUtil.java View source code |
public <E> Predicate stringPredicate(Expression<String> path, Object attrValue, SearchMode searchMode, boolean caseSensitive, CriteriaBuilder builder) {
if (!caseSensitive) {
path = builder.lower(path);
attrValue = ((String) attrValue).toLowerCase(Locale.FRANCE);
}
switch(searchMode) {
case EQUALS:
return builder.equal(path, attrValue);
case ENDING_LIKE:
return builder.like(path, "%" + attrValue);
case STARTING_LIKE:
return builder.like(path, attrValue + "%");
case ANYWHERE:
return builder.like(path, "%" + attrValue + "%");
case LIKE:
// assume user provide the wild cards
return builder.like(path, (String) attrValue);
default:
throw new IllegalStateException("expecting a search mode!");
}
}Example 28
| Project: ODCleanStore-master File: VaadinFilterTranslator.java View source code |
@Override
public Predicate translate(Object filter, CriteriaBuilder cb, Root<?> root) {
if (filter instanceof Container.Filter) {
// ok continue
} else {
// not our job
return null;
}
if (filter instanceof And) {
final And and = (And) filter;
final List<Container.Filter> filters = new ArrayList<>(and.getFilters());
Predicate predicate = cb.and(translate(filters.remove(0), cb, root), translate(filters.remove(0), cb, root));
while (filters.size() > 0) {
predicate = cb.and(predicate, translate(filters.remove(0), cb, root));
}
return predicate;
}
if (filter instanceof Or) {
final Or or = (Or) filter;
final List<Container.Filter> filters = new ArrayList<>(or.getFilters());
Predicate predicate = cb.or(translate(filters.remove(0), cb, root), translate(filters.remove(0), cb, root));
while (filters.size() > 0) {
predicate = cb.or(predicate, translate(filters.remove(0), cb, root));
}
return predicate;
}
if (filter instanceof Not) {
final Not not = (Not) filter;
return cb.not(translate(not.getFilter(), cb, root));
}
if (filter instanceof Between) {
final Between between = (Between) filter;
final Expression property = (Expression) getPropertyPath(root, between.getPropertyId());
return cb.between(property, (Comparable) between.getStartValue(), (Comparable) between.getEndValue());
}
if (filter instanceof Compare) {
final Compare compare = (Compare) filter;
final Expression<Comparable> property = (Expression) getPropertyPath(root, compare.getPropertyId());
switch(compare.getOperation()) {
case EQUAL:
return cb.equal(property, compare.getValue());
case GREATER:
return cb.greaterThan(property, (Comparable) compare.getValue());
case GREATER_OR_EQUAL:
return cb.greaterThanOrEqualTo(property, (Comparable) compare.getValue());
case LESS:
return cb.lessThan(property, (Comparable) compare.getValue());
case LESS_OR_EQUAL:
return cb.lessThanOrEqualTo(property, (Comparable) compare.getValue());
default:
}
}
if (filter instanceof IsNull) {
final IsNull isNull = (IsNull) filter;
return cb.isNull((Expression) getPropertyPath(root, isNull.getPropertyId()));
}
if (filter instanceof Like) {
final Like like = (Like) filter;
if (like.isCaseSensitive()) {
return cb.like((Expression) getPropertyPath(root, like.getPropertyId()), like.getValue());
} else {
return cb.like(cb.lower((Expression) getPropertyPath(root, like.getPropertyId())), like.getValue().toLowerCase());
}
}
if (filter instanceof SimpleStringFilter) {
final SimpleStringFilter simpleStringFilter = (SimpleStringFilter) filter;
final Expression<String> property = (Expression) getPropertyPath(root, simpleStringFilter.getPropertyId());
return cb.like(property, String.format(SQL_LIKE_ARGUMENT, simpleStringFilter.getFilterString()));
}
return null;
}Example 29
| Project: openengsb-master File: DefaultJPADao.java View source code |
@Override
public Integer getVersionOfOid(String oid) throws EDBException {
synchronized (entityManager) {
LOGGER.debug("loading version of model under the oid {}", oid);
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<Long> query = criteriaBuilder.createQuery(Long.class);
Root<JPAObject> from = query.from(JPAObject.class);
Expression<Long> maxExpression = criteriaBuilder.count(from.get("oid"));
query.select(maxExpression);
query.where(criteriaBuilder.equal(from.get("oid"), oid));
TypedQuery<Long> typedQuery = entityManager.createQuery(query);
try {
return (int) typedQuery.getSingleResult().longValue();
} catch (NoResultException ex) {
LOGGER.debug("no model under the oid {}. Returning 0", oid);
return 0;
}
}
}Example 30
| Project: richfaces-master File: JPADataModel.java View source code |
private CriteriaQuery<Long> createCountCriteriaQuery() {
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<Long> criteriaQuery = criteriaBuilder.createQuery(Long.class);
Root<T> root = criteriaQuery.from(entityClass);
Expression<Boolean> filterCriteria = createFilterCriteria(criteriaBuilder, root);
if (filterCriteria != null) {
criteriaQuery.where(filterCriteria);
}
Expression<Long> count = criteriaBuilder.count(root);
criteriaQuery.select(count);
return criteriaQuery;
}Example 31
| Project: uaicriteria-master File: MultiSelectQueryPathCreator.java View source code |
public static void sum(final BaseCriteria baseCriteria, final String... attributeNameArray) {
for (final String attributeName : attributeNameArray) {
final Path path = PathHelper.extractPath(baseCriteria, attributeName);
final Expression sumPredicate = MultiSelectQueryPredicateCreator.sum(baseCriteria.getCriteriaBuilder(), path);
baseCriteria.addMultiSelectOperationExpression(sumPredicate);
}
}Example 32
| Project: BusinessManager-master File: GenericDaoImpl.java View source code |
@SuppressWarnings("unchecked")
private List<Predicate> createFilterList(Map<SingularAttribute<T, ?>, Object> filterAttributes, boolean enableLikeSearch, CriteriaBuilder queryBuilder, Root<T> rootQuery) {
List<Predicate> predicateList = new ArrayList<Predicate>();
if (filterAttributes != null) {
Iterator<SingularAttribute<T, ?>> iter = filterAttributes.keySet().iterator();
while (iter.hasNext()) {
SingularAttribute<T, ?> key = iter.next();
Object value = filterAttributes.get(key);
if (enableLikeSearch) {
String searchKey = value.toString();
if (!value.toString().contains("%")) {
searchKey = "%" + value.toString() + "%";
}
Expression<String> lowerKey = queryBuilder.lower((Expression<String>) rootQuery.get(key));
Predicate predicate = queryBuilder.like(lowerKey, searchKey.toLowerCase());
predicateList.add(predicate);
} else {
Predicate predicate = queryBuilder.equal(rootQuery.get(key), value);
predicateList.add(predicate);
}
}
}
return predicateList;
}Example 33
| Project: dev-examples-master File: JPADataModel.java View source code |
private CriteriaQuery<Long> createCountCriteriaQuery() {
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<Long> criteriaQuery = criteriaBuilder.createQuery(Long.class);
Root<T> root = criteriaQuery.from(entityClass);
Expression<Boolean> filterCriteria = createFilterCriteria(criteriaBuilder, root);
if (filterCriteria != null) {
criteriaQuery.where(filterCriteria);
}
Expression<Long> count = criteriaBuilder.count(root);
criteriaQuery.select(count);
return criteriaQuery;
}Example 34
| Project: jbpm-master File: QueryCriteriaUtil.java View source code |
// query logic ----------------------------------------------------------------------------------------------------------------
/**
* This is the main ("highest"? "most abstract"?) method that is used to create a {@link CriteriaQuery} from a {@link QueryWhere} instance.
*
* @param query The (empty) {@link CriteriaQuery} that will be filled using the {@link QueryCriteria} and other information in the {@link QueryWhere} instance
* @param queryWhere The {@link QueryWhere} instance, with abstract information that should be added to the {@link CriteriaQuery}
* @param builder The {@link CriteriaBuilder}, helpful when creating {@link Predicate}s to add to the {@link CriteriaQuery}
* @param queryType The {@link Class} indicating the main {@link Root} of the {@link CriteriaQuery}
*/
protected <R, T> void fillCriteriaQuery(CriteriaQuery<R> query, QueryWhere queryWhere, CriteriaBuilder builder, Class<T> queryType) {
Predicate queryPredicate = createPredicateFromCriteriaList(query, builder, queryType, queryWhere.getCriteria(), queryWhere);
if (queryPredicate != null) {
query.where(queryPredicate);
}
if (queryWhere.getAscOrDesc() != null) {
String orderByListId = queryWhere.getOrderByListId();
assert orderByListId != null : "Ascending boolean is set but no order by list Id has been specified!";
Expression orderByPath = getOrderByExpression(query, queryType, orderByListId);
Order order;
if (queryWhere.getAscOrDesc()) {
order = builder.asc(orderByPath);
} else {
order = builder.desc(orderByPath);
}
query.orderBy(order);
}
}Example 35
| Project: jfbdemo-master File: PredicateBuilder.java View source code |
/**
*
* @param root
* @param filter
* @return
*/
protected Predicate getStringPredicate(Path<?> root, FieldFilter filter) {
Expression<String> fieldValue;
String compareValue = (String) filter.getValue();
if (filter.getOptions().contains(FieldFilter.Option.CS_STRING)) {
fieldValue = (Path<String>) root;
} else {
fieldValue = cb.lower((Path<String>) root);
compareValue = compareValue.toLowerCase();
}
if (filter.getOptions().contains(FieldFilter.Option.PART_STRING)) {
compareValue = "%" + compareValue + "%";
} else if (filter.getOptions().contains(FieldFilter.Option.TAIL_STRING)) {
compareValue = "%" + compareValue;
} else if (filter.getOptions().contains(FieldFilter.Option.FULL_STRING)) {
// do not touch
} else // HEAD_STRING or empty (default)
{
compareValue = compareValue + "%";
}
return cb.like(fieldValue, compareValue);
}Example 36
| Project: olog-service-master File: JPAUtilTest.java View source code |
/**
* Create a row count CriteriaQuery from a CriteriaQuery
*
* @param em entity manager
* @param criteria source criteria
* @return row count CriteriaQuery
*/
public static <T> CriteriaQuery<Long> countCriteria(EntityManager em, CriteriaQuery<T> criteria) {
CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery<Long> countCriteria = builder.createQuery(Long.class);
copyCriteriaNoSelection(criteria, countCriteria, true);
Root<T> root = findRoot(countCriteria, criteria.getResultType());
Expression<Long> countExpression;
if (criteria.isDistinct()) {
countExpression = builder.countDistinct(root);
} else {
countExpression = builder.count(root);
}
countCriteria.select(countExpression);
return countCriteria;
}Example 37
| Project: opencast-master File: BundleInfoJpa.java View source code |
@Override
public List<BundleInfoJpa> apply(EntityManager em) {
final CriteriaBuilder cb = em.getCriteriaBuilder();
final CriteriaQuery<BundleInfoJpa> q = cb.createQuery(BundleInfoJpa.class);
final Root<BundleInfoJpa> r = q.from(BundleInfoJpa.class);
q.select(r);
final Expression<String> symbolicNamePath = r.get("bundleSymbolicName");
final Predicate[] likes = toArray(Predicate.class, mlist(prefixes).map(new Function<String, Predicate>() {
@Override
public Predicate apply(String prefix) {
return cb.like(symbolicNamePath, prefix + "%");
}
}).value());
q.where(cb.or(likes));
q.orderBy(cb.asc(r.get("host")), cb.asc(symbolicNamePath));
return em.createQuery(q).getResultList();
}Example 38
| Project: openjpa-master File: TestTypesafeCriteria.java View source code |
public void testExpressions() {
String jpql = "SELECT o.quantity, o.totalCost*1.08, " + "a.zipCode FROM Customer c JOIN c.orders o JOIN c.address a " + "WHERE a.state = 'CA' AND a.county = 'Santa Clara'";
CriteriaQuery<?> q = cb.createQuery();
Root<Customer> cust = q.from(Customer.class);
SetJoin<Customer, Order> order = cust.joinSet("orders");
Join<Customer, Address> address = cust.join("address");
q.where(cb.equal(address.get("state"), "CA"), cb.equal(address.get("county"), "Santa Clara"));
Expression<Double> taxedCost = cb.prod(order.get(Order_.totalCost), 1.08);
q.multiselect(order.get("quantity"), taxedCost, address.get("zipCode"));
assertEquivalence(q, jpql);
}Example 39
| Project: owsi-core-parent-master File: JpaDaoSupport.java View source code |
// TODO : Ã refaire : il n'est pas possible de construire un filter ou un order stateless
/**
* @deprecated Utiliser QueryDSL
*/
@Deprecated
protected <T> List<T> listEntity(Class<T> objectClass, Expression<Boolean> filter, Integer limit, Integer offset, Order... orders) {
CriteriaBuilder builder = getEntityManager().getCriteriaBuilder();
CriteriaQuery<T> criteria = builder.createQuery(objectClass);
rootCriteriaQuery(builder, criteria, objectClass);
if (filter != null) {
filterCriteriaQuery(criteria, filter);
}
if (orders != null && orders.length > 0) {
criteria.orderBy(orders);
}
TypedQuery<T> query = buildTypedQuery(criteria, limit, offset);
List<T> entities = query.getResultList();
if (orders == null || orders.length == 0) {
sort(entities);
}
return entities;
}Example 40
| Project: resource-server-master File: ResourceDao.java View source code |
public <T extends ResourceEntity> SearchResult<T> search(Class<T> clazz, ParseTree filterTree, int count, int startIndex, String sortBy, String sortOrder, FilterParser<T> filterParser) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<T> resourceQuery = cb.createQuery(clazz);
Root<T> resourceRoot = resourceQuery.from(clazz);
Subquery<Long> internalIdQuery = resourceQuery.subquery(Long.class);
Root<T> internalIdRoot = internalIdQuery.from(clazz);
internalIdQuery.select(internalIdRoot.get(ResourceEntity_.internalId));
if (filterTree != null && filterTree.getChildCount() > 0) {
Predicate predicate = filterParser.createPredicateAndJoin(filterTree, internalIdRoot);
internalIdQuery.where(predicate);
}
resourceQuery.select(resourceRoot).where(cb.in(resourceRoot.get(ResourceEntity_.internalId)).value(internalIdQuery));
// TODO: evaluate if a User-/GroupDao supplied default sortBy field is possible
Expression<?> sortByField = resourceRoot.get(ResourceEntity_.id);
if (sortBy != null && !sortBy.isEmpty()) {
sortByField = filterParser.createSortByField(sortBy, resourceRoot);
}
// default order is ascending
Order order = cb.asc(sortByField);
if (sortOrder.equalsIgnoreCase("descending")) {
order = cb.desc(sortByField);
}
resourceQuery.orderBy(order);
TypedQuery<T> query = em.createQuery(resourceQuery);
query.setFirstResult(startIndex);
query.setMaxResults(count);
List<T> results = query.getResultList();
long totalResult = getTotalResults(clazz, internalIdQuery);
return new SearchResult<>(results, totalResult);
}Example 41
| Project: searchisko-master File: TaskPersisterJpa.java View source code |
@Override
public List<TaskStatusInfo> listTasks(String taskTypeFilter, List<TaskStatus> taskStatusFilter, int from, int size) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<TaskStatusInfo> queryList = cb.createQuery(TaskStatusInfo.class);
Root<TaskStatusInfo> root = queryList.from(TaskStatusInfo.class);
queryList.select(root);
List<Predicate> filter = new ArrayList<>();
if (taskStatusFilter != null && !taskStatusFilter.isEmpty()) {
Expression<String> taskStatus = root.get("taskStatus");
filter.add(taskStatus.in(taskStatusFilter));
}
if (taskTypeFilter != null && !taskTypeFilter.trim().isEmpty()) {
filter.add(cb.equal(root.get("taskType"), taskTypeFilter));
}
if (filter.size() > 0) {
queryList.where(filter.toArray(new Predicate[filter.size()]));
}
queryList.orderBy(cb.desc(root.get("taskCreatedAt")));
TypedQuery<TaskStatusInfo> q = em.createQuery(queryList);
if (from >= 0)
q.setFirstResult(from);
if (size > 0)
q.setMaxResults(size);
return q.getResultList();
}Example 42
| Project: showcase-master File: JPADataModel.java View source code |
private CriteriaQuery<Long> createCountCriteriaQuery() {
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<Long> criteriaQuery = criteriaBuilder.createQuery(Long.class);
Root<T> root = criteriaQuery.from(entityClass);
Expression<Boolean> filterCriteria = createFilterCriteria(criteriaBuilder, root);
if (filterCriteria != null) {
criteriaQuery.where(filterCriteria);
}
Expression<Long> count = criteriaBuilder.count(root);
criteriaQuery.select(count);
return criteriaQuery;
}Example 43
| Project: sigmah-master File: ContactHibernateDAO.java View source code |
private Predicate similarity(CriteriaBuilder criteriaBuilder, Expression<String> nameExpression, String nameValue, Expression<String> firstNameExpression, String firstNameValue) { Expression<String> fullNameExpression; String fullnameValue; if (firstNameExpression != null && firstNameValue != null) { fullNameExpression = criteriaBuilder.concat(criteriaBuilder.concat(nameExpression, " "), firstNameExpression); fullnameValue = (nameValue + " " + firstNameValue).toLowerCase(); } else { fullNameExpression = nameExpression; fullnameValue = nameValue != null ? nameValue.toLowerCase() : ""; } return criteriaBuilder.greaterThanOrEqualTo(criteriaBuilder.function("similarity", Float.class, criteriaBuilder.lower(fullNameExpression), criteriaBuilder.literal(fullnameValue)), MIN_SIMILARITY_SCORE); }
Example 44
| Project: spring-data-jpa-datatables-master File: SpecificationFactory.java View source code |
@Override
public Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
Predicate predicate = cb.conjunction();
Expression<Boolean> booleanExpression;
Expression<String> stringExpression;
// check for each searchable column whether a filter value exists
for (Column column : input.getColumns()) {
String filterValue = column.getSearch().getValue();
boolean isColumnSearchable = column.getSearchable() && StringUtils.hasText(filterValue);
if (!isColumnSearchable) {
continue;
}
if (filterValue.contains(OR_SEPARATOR)) {
// the filter contains multiple values, add a 'WHERE .. IN' clause
boolean nullable = false;
List<String> values = new ArrayList<String>();
for (String value : filterValue.split(ESCAPED_OR_SEPARATOR)) {
if (NULL.equals(value)) {
nullable = true;
} else {
// to match a 'NULL' string
values.add(ESCAPED_NULL.equals(value) ? NULL : value);
}
}
if (values.size() > 0 && isBoolean(values.get(0))) {
Object[] booleanValues = new Boolean[values.size()];
for (int i = 0; i < values.size(); i++) {
booleanValues[i] = Boolean.valueOf(values.get(i));
}
booleanExpression = getExpression(root, column.getData(), Boolean.class);
Predicate in = booleanExpression.in(booleanValues);
if (nullable) {
predicate = cb.and(predicate, cb.or(in, booleanExpression.isNull()));
} else {
predicate = cb.and(predicate, in);
}
} else {
stringExpression = getExpression(root, column.getData(), String.class);
if (values.isEmpty()) {
if (nullable) {
predicate = cb.and(predicate, stringExpression.isNull());
}
continue;
}
Predicate in = stringExpression.in(values);
if (nullable) {
predicate = cb.and(predicate, cb.or(in, stringExpression.isNull()));
} else {
predicate = cb.and(predicate, in);
}
}
continue;
}
// the filter contains only one value, add a 'WHERE .. LIKE' clause
if (isBoolean(filterValue)) {
booleanExpression = getExpression(root, column.getData(), Boolean.class);
predicate = cb.and(predicate, cb.equal(booleanExpression, Boolean.valueOf(filterValue)));
continue;
}
stringExpression = getExpression(root, column.getData(), String.class);
if (NULL.equals(filterValue)) {
predicate = cb.and(predicate, stringExpression.isNull());
continue;
}
String likeFilterValue = getLikeFilterValue(ESCAPED_NULL.equals(filterValue) ? NULL : filterValue);
predicate = cb.and(predicate, cb.like(cb.lower(stringExpression), likeFilterValue, ESCAPE_CHAR));
}
// check whether a global filter value exists
String globalFilterValue = input.getSearch().getValue();
if (StringUtils.hasText(globalFilterValue)) {
Predicate matchOneColumnPredicate = cb.disjunction();
// add a 'WHERE .. LIKE' clause on each searchable column
for (Column column : input.getColumns()) {
if (column.getSearchable()) {
Expression<String> expression = getExpression(root, column.getData(), String.class);
matchOneColumnPredicate = cb.or(matchOneColumnPredicate, cb.like(cb.lower(expression), getLikeFilterValue(globalFilterValue), ESCAPE_CHAR));
}
}
predicate = cb.and(predicate, matchOneColumnPredicate);
}
// findAll method does a count query first, and then query for the actual data. Yet in the
// count query, adding a JOIN FETCH results in the following error 'query specified join
// fetching, but the owner of the fetched association was not present in the select list'
// see https://jira.spring.io/browse/DATAJPA-105
boolean isCountQuery = query.getResultType() == Long.class;
if (isCountQuery) {
return predicate;
}
// add JOIN FETCH when necessary
for (Column column : input.getColumns()) {
boolean isJoinable = column.getSearchable() && column.getData().contains(ATTRIBUTE_SEPARATOR);
if (!isJoinable) {
continue;
}
String[] values = column.getData().split(ESCAPED_ATTRIBUTE_SEPARATOR);
PersistentAttributeType type = root.getModel().getAttribute(values[0]).getPersistentAttributeType();
if (type != PersistentAttributeType.ONE_TO_ONE && type != PersistentAttributeType.MANY_TO_ONE) {
continue;
}
Fetch<?, ?> fetch = null;
for (int i = 0; i < values.length - 1; i++) {
fetch = (fetch == null ? root : fetch).fetch(values[i], JoinType.LEFT);
}
}
return predicate;
}Example 45
| Project: spring-data-jpa-master File: QueryUtils.java View source code |
/**
* Creates a criteria API {@link javax.persistence.criteria.Order} from the given {@link Order}.
*
* @param order the order to transform into a JPA {@link javax.persistence.criteria.Order}
* @param root the {@link Root} the {@link Order} expression is based on
* @param cb the {@link CriteriaBuilder} to build the {@link javax.persistence.criteria.Order} with
* @return
*/
@SuppressWarnings("unchecked")
private static javax.persistence.criteria.Order toJpaOrder(Order order, Root<?> root, CriteriaBuilder cb) {
PropertyPath property = PropertyPath.from(order.getProperty(), root.getJavaType());
Expression<?> expression = toExpressionRecursively(root, property);
if (order.isIgnoreCase() && String.class.equals(expression.getJavaType())) {
Expression<String> lower = cb.lower((Expression<String>) expression);
return order.isAscending() ? cb.asc(lower) : cb.desc(lower);
} else {
return order.isAscending() ? cb.asc(expression) : cb.desc(expression);
}
}Example 46
| Project: VaadinUtils-master File: JoinBuilder.java View source code |
@SuppressWarnings("unchecked")
private <V> Expression<?> castGet(final Attribute<K, V> attribute, Join<E, K> join) {
if (attribute instanceof SingularAttribute) {
return join.get((SingularAttribute<K, V>) attribute);
} else if (attribute instanceof ListAttribute) {
return join.get((ListAttribute<K, V>) attribute);
} else if (attribute instanceof SetAttribute) {
return join.get((SetAttribute<K, V>) attribute);
} else {
return null;
}
}Example 47
| Project: BikeMan-master File: MajorCustomerRepositoryImpl.java View source code |
/**
* This method returns the query to get information of customers for various lookup cases
*/
private CriteriaQuery<ViewMajorCustomerDTO> getMajorCustomerQuery(CriteriaBuilder builder, FindType findType, String login, Long majorCustomerId) {
CriteriaQuery<ViewMajorCustomerDTO> criteria = builder.createQuery(ViewMajorCustomerDTO.class);
Root<MajorCustomer> majorCustomer = criteria.from(MajorCustomer.class);
criteria.select(builder.construct(ViewMajorCustomerDTO.class, majorCustomer.get(MajorCustomer_.userId), majorCustomer.get(MajorCustomer_.login), majorCustomer.get(MajorCustomer_.name)));
switch(findType) {
case ALL:
break;
case BY_LOGIN:
Path<String> loginPath = majorCustomer.get(MajorCustomer_.login);
Expression<String> loginLower = builder.lower(loginPath);
criteria.where(builder.equal(loginLower, login.toLowerCase()));
break;
case BY_ID:
criteria.where(builder.equal(majorCustomer.get(MajorCustomer_.userId), majorCustomerId));
break;
}
return criteria;
}Example 48
| Project: Broadleaf-eCommerce-master File: CriteriaTranslatorImpl.java View source code |
protected void addSorting(CriteriaBuilder criteriaBuilder, List<Order> sorts, FilterMapping filterMapping, Path path) {
Expression exp = path;
if (filterMapping.getNullsLast() != null && filterMapping.getNullsLast()) {
Object largeValue = getAppropriateLargeSortingValue(path.getJavaType());
if (largeValue != null) {
exp = criteriaBuilder.coalesce(path, largeValue);
}
}
if (SortDirection.ASCENDING == filterMapping.getSortDirection()) {
sorts.add(criteriaBuilder.asc(exp));
} else {
sorts.add(criteriaBuilder.desc(exp));
}
}Example 49
| Project: BroadleafCommerce-master File: CriteriaTranslatorImpl.java View source code |
protected void addSorting(CriteriaBuilder criteriaBuilder, List<Order> sorts, FilterMapping filterMapping, Path path) {
Expression exp = path;
if (filterMapping.getNullsLast() != null && filterMapping.getNullsLast()) {
Object largeValue = getAppropriateLargeSortingValue(path.getJavaType());
if (largeValue != null) {
exp = criteriaBuilder.coalesce(path, largeValue);
}
}
if (SortDirection.ASCENDING == filterMapping.getSortDirection()) {
sorts.add(criteriaBuilder.asc(exp));
} else {
sorts.add(criteriaBuilder.desc(exp));
}
}Example 50
| Project: commerce-master File: CriteriaTranslatorImpl.java View source code |
protected void addSorting(CriteriaBuilder criteriaBuilder, List<Order> sorts, FilterMapping filterMapping, Path path) {
Expression exp = path;
if (filterMapping.getNullsLast() != null && filterMapping.getNullsLast()) {
Object largeValue = getAppropriateLargeSortingValue(path.getJavaType());
if (largeValue != null) {
exp = criteriaBuilder.coalesce(path, largeValue);
}
}
if (SortDirection.ASCENDING == filterMapping.getSortDirection()) {
sorts.add(criteriaBuilder.asc(exp));
} else {
sorts.add(criteriaBuilder.desc(exp));
}
}Example 51
| Project: cxf-master File: AbstractJPATypedQueryVisitor.java View source code |
@SuppressWarnings({ "unchecked", "rawtypes" })
private Predicate doBuildPredicate(ConditionType ct, Path<?> path, Class<?> valueClazz, Object value) {
Class<? extends Comparable> clazz = (Class<? extends Comparable>) valueClazz;
Expression<? extends Comparable> exp = path.as(clazz);
Predicate pred = null;
switch(ct) {
case GREATER_THAN:
pred = builder.greaterThan(exp, clazz.cast(value));
break;
case EQUALS:
if (clazz.equals(String.class)) {
final String originalValue = value.toString();
String theValue = SearchUtils.toSqlWildcardString(originalValue, isWildcardStringMatch());
if (SearchUtils.containsWildcard(originalValue)) {
if (SearchUtils.containsEscapedChar(theValue)) {
pred = builder.like((Expression<String>) exp, theValue, '\\');
} else {
pred = builder.like((Expression<String>) exp, theValue);
}
} else {
pred = builder.equal(exp, clazz.cast(value));
}
} else {
pred = builder.equal(exp, clazz.cast(value));
}
break;
case NOT_EQUALS:
if (clazz.equals(String.class)) {
final String originalValue = value.toString();
String theValue = SearchUtils.toSqlWildcardString(originalValue, isWildcardStringMatch());
if (SearchUtils.containsWildcard(originalValue)) {
if (SearchUtils.containsEscapedChar(theValue)) {
pred = builder.notLike((Expression<String>) exp, theValue, '\\');
} else {
pred = builder.notLike((Expression<String>) exp, theValue);
}
} else {
pred = builder.notEqual(exp, clazz.cast(value));
}
} else {
pred = builder.notEqual(exp, clazz.cast(value));
}
break;
case LESS_THAN:
pred = builder.lessThan(exp, clazz.cast(value));
break;
case LESS_OR_EQUALS:
pred = builder.lessThanOrEqualTo(exp, clazz.cast(value));
break;
case GREATER_OR_EQUALS:
pred = builder.greaterThanOrEqualTo(exp, clazz.cast(value));
break;
default:
break;
}
return pred;
}Example 52
| Project: demoiselle-contrib-master File: JPACrud.java View source code |
protected Predicate getPredicateForString(Expression<String> attr, String value) {
if (queryConfig.isFilterCaseInsensitive()) {
attr = this.cBuilder.lower(attr);
value = value.toLowerCase();
}
if (queryConfig.isFilterLogicNegation())
return this.cBuilder.notLike(attr, getComparison(value));
else
return this.cBuilder.like(attr, getComparison(value));
}Example 53
| Project: DSMAPICAT-master File: AbstractFacade.java View source code |
protected Predicate buildPredicateWithOperator(Path<T> tt, String name, String value) throws BadUsageException {
CriteriaBuilder criteriaBuilder = getEntityManager().getCriteriaBuilder();
Operator operator = Operator.fromString(name);
// perform operation, default operation is equal
if (operator == null) {
Path<T> attribute = tt.get(name);
Object valueObject = convertStringValueToObject(value, attribute.getJavaType());
System.out.println("### bp RETURN " + name + "=" + value);
return criteriaBuilder.equal(attribute, valueObject);
} else {
Class javaType = tt.getJavaType();
if (!classCompatibleWithOperator(javaType, operator)) {
throw new BadUsageException(ExceptionType.BAD_USAGE_OPERATOR, operator.getValue() + " operator incompatible with field");
}
Object valueObject = convertStringValueToObject(value, javaType);
switch(operator) {
case GT:
return criteriaBuilder.greaterThan((Expression) tt, (Comparable) valueObject);
case GTE:
return criteriaBuilder.greaterThanOrEqualTo((Expression) tt, (Comparable) valueObject);
case LT:
return criteriaBuilder.lessThan((Expression) tt, (Comparable) valueObject);
case LTE:
return criteriaBuilder.lessThanOrEqualTo((Expression) tt, (Comparable) valueObject);
case NE:
return criteriaBuilder.notEqual(tt, valueObject);
case EQ:
return criteriaBuilder.equal(tt, valueObject);
case EX:
return criteriaBuilder.like((Expression) tt, value.replace('*', '%'));
default:
{
Path<T> attribute = tt.get(name);
valueObject = convertStringValueToObject(value, attribute.getJavaType());
return criteriaBuilder.equal(attribute, valueObject);
}
}
}
}Example 54
| Project: hades-master File: GenericJpaDao.java View source code |
private List<Order> toOrders(Sort sort, Root<T> root, CriteriaBuilder cb) {
List<Order> orders = new ArrayList<Order>();
if (sort == null) {
return orders;
}
for (Property property : sort) {
Expression<?> expression = root.get(property.getName());
orders.add(property.isAscending() ? cb.asc(expression) : cb.desc(expression));
}
return orders;
}Example 55
| Project: jpacontainer-master File: FilterConverter.java View source code |
@SuppressWarnings({ "rawtypes", "unchecked" })
public <X, Y> Predicate toPredicate(Filter filter, CriteriaBuilder cb, From<X, Y> root) {
Compare compare = (Compare) filter;
Expression propertyExpr = AdvancedFilterableSupport.getPropertyPath(root, compare.getPropertyId());
if (Compare.Operation.EQUAL == compare.getOperation() && compare.getValue() == null) {
// Make an IS NULL instead if "= null" is passed
return convertFilter(new IsNull(compare.getPropertyId()), cb, root);
}
Expression valueExpr = cb.literal(compare.getValue());
switch(compare.getOperation()) {
case EQUAL:
return cb.equal(propertyExpr, valueExpr);
case GREATER:
return cb.greaterThan(propertyExpr, valueExpr);
case GREATER_OR_EQUAL:
return cb.greaterThanOrEqualTo(propertyExpr, valueExpr);
case LESS:
return cb.lessThan(propertyExpr, valueExpr);
case LESS_OR_EQUAL:
return cb.lessThanOrEqualTo(propertyExpr, valueExpr);
default:
// Shouldn't happen
return null;
}
}Example 56
| Project: lunifera-dsl-master File: FilterConverter.java View source code |
@SuppressWarnings({ "rawtypes", "unchecked" })
public <X, Y> Predicate toPredicate(ILFilter filter, CriteriaBuilder cb, From<X, Y> root) {
LCompare compare = (LCompare) filter;
Expression propertyExpr = LAdvancedFilterableSupport.getPropertyPath(root, compare.getPropertyId());
if (LCompare.Operation.EQUAL == compare.getOperation() && compare.getValue() == null) {
// Make an IS NULL instead if "= null" is passed
return convertFilter(new LIsNull(compare.getPropertyId()), cb, root);
}
Expression valueExpr = cb.literal(compare.getValue());
switch(compare.getOperation()) {
case EQUAL:
return cb.equal(propertyExpr, valueExpr);
case GREATER:
return cb.greaterThan(propertyExpr, valueExpr);
case GREATER_OR_EQUAL:
return cb.greaterThanOrEqualTo(propertyExpr, valueExpr);
case LESS:
return cb.lessThan(propertyExpr, valueExpr);
case LESS_OR_EQUAL:
return cb.lessThanOrEqualTo(propertyExpr, valueExpr);
// Shouldn't happen
default:
return null;
}
}Example 57
| Project: sculptor-master File: JpaCriteriaQueryAccessBase.java View source code |
/**
*
* @param path
* @param value
* @return
*/
@SuppressWarnings("unchecked")
private Predicate preparePredicate(Path<?> path, String value) {
// and 3.x has still problems
if (path.getJavaType() != String.class) {
throw new QueryConfigException("Path is not of type string.");
}
Expression<String> stringExpression = (getConfig().isIgnoreCase()) ? criteriaBuilder.upper((Path<String>) path) : (Path<String>) path;
String stringValue = (getConfig().isIgnoreCase()) ? value.toString().toUpperCase() : value.toString();
return (getConfig().isEnableLike()) ? criteriaBuilder.like(stringExpression, stringValue) : criteriaBuilder.equal(stringExpression, stringValue);
}Example 58
| Project: xtext-master File: JpaCriteriaQueryAccessBase.java View source code |
/**
*
* @param path
* @param value
* @return
*/
@SuppressWarnings("unchecked")
private Predicate preparePredicate(Path<?> path, String value) {
// and 3.x has still problems
if (path.getJavaType() != String.class) {
throw new QueryConfigException("Path is not of type string.");
}
Expression<String> stringExpression = (getConfig().isIgnoreCase()) ? criteriaBuilder.upper((Path<String>) path) : (Path<String>) path;
String stringValue = (getConfig().isIgnoreCase()) ? value.toString().toUpperCase() : value.toString();
return (getConfig().isEnableLike()) ? criteriaBuilder.like(stringExpression, stringValue) : criteriaBuilder.equal(stringExpression, stringValue);
}Example 59
| Project: giavacms-common-master File: AbstractRepository.java View source code |
/**
* criteri di default, comuni a tutti, ma specializzabili da ogni EJB tramite overriding
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
protected Query getRestrictions(Search<T> search, boolean justCount) {
if (search.getObj() != null) {
Map<String, Object> params = new HashMap<String, Object>();
String alias = "c";
StringBuffer sb = new StringBuffer(getBaseList(search.getObj().getClass(), alias, justCount));
String separator = " where ";
applyRestrictions(search, alias, separator, sb, params);
if (!justCount) {
sb.append(getOrderBy(alias, search.getOrder()));
}
Query q = getEm().createQuery(sb.toString());
for (String param : params.keySet()) {
q.setParameter(param, params.get(param));
}
return q;
} else {
Class entityType = search.getObj().getClass();
if (entityType == null) {
entityType = getEntityType();
}
CriteriaBuilder criteriaBuilder = getEm().getCriteriaBuilder();
CriteriaQuery<T> criteriaQuery = criteriaBuilder.createQuery(entityType);
Root<T> rec = criteriaQuery.from(entityType);
if (justCount) {
criteriaQuery.select((Expression) criteriaBuilder.count(rec));
} else {
// comanda quello della search, se non inizializzato usiamo
// quello
// di default del repository
String orderBy = search.getOrder();
if (orderBy == null) {
orderBy = getDefaultOrderBy();
}
Path path = rec.get(orderBy);
Order order = null;
if (path != null) {
if (search.isOrderAsc()) {
order = criteriaBuilder.asc((Expression) rec.get(orderBy));
} else {
order = criteriaBuilder.desc((Expression) rec.get(orderBy));
}
}
if (order != null) {
criteriaQuery.orderBy(order);
}
}
return getEm().createQuery(criteriaQuery);
}
}Example 60
| Project: giavacms-master File: AbstractRepository.java View source code |
/**
* criteri di default, comuni a tutti, ma specializzabili da ogni EJB tramite overriding
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
protected Query getRestrictions(Search<T> search, boolean justCount) {
if (search.getObj() != null) {
Map<String, Object> params = new HashMap<String, Object>();
String alias = "c";
StringBuffer sb = new StringBuffer(getBaseList(search.getObj().getClass(), alias, justCount));
String separator = " where ";
applyRestrictions(search, alias, separator, sb, params);
if (!justCount) {
sb.append(getOrderBy(alias, search.getOrder()));
}
Query q = getEm().createQuery(sb.toString());
for (String param : params.keySet()) {
q.setParameter(param, params.get(param));
}
return q;
} else {
Class entityType = search.getObj().getClass();
if (entityType == null) {
entityType = getEntityType();
}
CriteriaBuilder criteriaBuilder = getEm().getCriteriaBuilder();
CriteriaQuery<T> criteriaQuery = criteriaBuilder.createQuery(entityType);
Root<T> rec = criteriaQuery.from(entityType);
if (justCount) {
criteriaQuery.select((Expression) criteriaBuilder.count(rec));
} else {
// comanda quello della search, se non inizializzato usiamo
// quello
// di default del repository
String orderBy = search.getOrder();
if (orderBy == null) {
orderBy = getDefaultOrderBy();
}
Path path = rec.get(orderBy);
Order order = null;
if (path != null) {
if (search.isOrderAsc()) {
order = criteriaBuilder.asc((Expression) rec.get(orderBy));
} else {
order = criteriaBuilder.desc((Expression) rec.get(orderBy));
}
}
if (order != null) {
criteriaQuery.orderBy(order);
}
}
return getEm().createQuery(criteriaQuery);
}
}Example 61
| Project: jdal-master File: JpaUtils.java View source code |
/**
* Create a row count CriteriaQuery from a CriteriaQuery
* @param em entity manager
* @param criteria source criteria
* @return row count CriteriaQuery
*/
public static <T> CriteriaQuery<Long> countCriteria(EntityManager em, CriteriaQuery<T> criteria) {
CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery<Long> countCriteria = builder.createQuery(Long.class);
copyCriteriaWithoutSelectionAndOrder(criteria, countCriteria, false);
Expression<Long> countExpression;
if (criteria.isDistinct()) {
countExpression = builder.countDistinct(findRoot(countCriteria, criteria.getResultType()));
} else {
countExpression = builder.count(findRoot(countCriteria, criteria.getResultType()));
}
return countCriteria.select(countExpression);
}Example 62
| Project: tapestry-model-master File: JpaPersistenceServiceImpl.java View source code |
public int count(Class type) {
CriteriaBuilder qb = em.getCriteriaBuilder();
CriteriaQuery<Long> query = qb.createQuery(Long.class);
Root entity = query.from(type);
Expression<Long> count = qb.count(entity);
query.select(count);
Long size = em.createQuery(query).getSingleResult();
return size.intValue();
}Example 63
| Project: tomee-master File: QueryProxy.java View source code |
private <T> Query createFinderQuery(final EntityManager entityManager, final String methodName, final Class<T> entityType, final Object[] args) {
final List<String> conditions = parseMethodName(methodName);
final EntityType<T> et = entityManager.getMetamodel().entity(entityType);
final CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Object> query = cb.createQuery();
final Root<T> from = query.from(entityType);
query = query.select(from);
int i = 0;
Predicate where = null;
for (final String condition : conditions) {
final SingularAttribute<? super T, ?> attribute = et.getSingularAttribute(condition);
final Path<?> path = from.get(attribute);
final Class<?> javaType = attribute.getType().getJavaType();
final Predicate currentClause;
if (javaType.equals(String.class)) {
currentClause = cb.like((Expression<String>) path, (String) args[i++]);
} else if (Number.class.isAssignableFrom(javaType) || javaType.isPrimitive()) {
currentClause = cb.equal(path, args[i++]);
} else {
LOGGER.warning("field " + condition + " not found, ignoring");
continue;
}
if (where == null) {
where = currentClause;
} else {
where = cb.and(where, currentClause);
}
}
if (where != null) {
query = query.where(where);
}
// pagination
final TypedQuery<?> emQuery = entityManager.createQuery(query);
if (args != null && args.length == conditions.size() + 2 && isInt(args[args.length - 2].getClass()) && isInt(args[args.length - 1].getClass())) {
final int first = (Integer) args[args.length - 2];
final int max = (Integer) args[args.length - 1];
emQuery.setFirstResult(first);
emQuery.setMaxResults(max);
}
return emQuery;
}Example 64
| Project: genie-master File: JpaClusterSpecsUnitTests.java View source code |
/**
* Test to make sure no member of predicates are added.
*/
@Test
@SuppressWarnings("unchecked")
public void testFindByClusterAndCommandCriteriaNoCriteria() {
final Specification<ClusterEntity> spec = JpaClusterSpecs.findByClusterAndCommandCriteria(null, null);
spec.toPredicate(this.root, this.cq, this.cb);
Mockito.verify(this.cq, Mockito.times(1)).distinct(true);
Mockito.verify(this.commands, Mockito.times(1)).get(CommandEntity_.status);
Mockito.verify(this.cb, Mockito.times(1)).equal(this.commands.get(CommandEntity_.status), CommandStatus.ACTIVE);
Mockito.verify(this.root, Mockito.times(1)).get(ClusterEntity_.status);
Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(ClusterEntity_.status), ClusterStatus.UP);
Mockito.verify(this.cb, Mockito.never()).isMember(Mockito.any(String.class), Mockito.any(Expression.class));
}Example 65
| Project: ranger-master File: AbstractBaseResourceService.java View source code |
// -------------Criteria Usage--------------------
// -----------------------------------------------
public VXLong getSearchCountUsingCriteria(SearchCriteria searchCriteria, List<SearchField> searchFieldList) {
EntityManager em = getDao().getEntityManager();
CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
CriteriaQuery<Long> criteria = criteriaBuilder.createQuery(Long.class);
Root<T> from = criteria.from(tEntityClass);
Expression<Long> countExpression = criteriaBuilder.count(from.get("id"));
criteria.select(countExpression);
Predicate resourceConditions = buildResourceSpecificConditions(criteriaBuilder, from, searchCriteria);
Predicate userConditions = buildUserConditions(searchCriteria.getParamList(), searchFieldList, criteriaBuilder, from);
if (resourceConditions != null) {
criteria.where(criteriaBuilder.and(resourceConditions, userConditions));
} else {
criteria.where(criteriaBuilder.and(userConditions));
}
TypedQuery<Long> countQuery = em.createQuery(criteria);
long count = getDao().executeCountQueryInSecurityContext(tEntityClass, countQuery);
VXLong vXLong = new VXLong();
vXLong.setValue(count);
return vXLong;
}Example 66
| Project: sensormix-master File: SensormixServiceJpaImpl.java View source code |
/*
* (non-Javadoc)
*
* @see
* com.google.developers.gdgfirenze.service.SensormixService#getSensors(java
* .util.List, java.util.Date, java.util.Date)
*/
@Override
public List<Sensor> getSensors(List<String> sensorIds, Date from, Date to) {
List<Sensor> sensors = new ArrayList<Sensor>();
try {
EntityManager em = entityManagerFactory.createEntityManager();
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<JpaSensor> cq = cb.createQuery(JpaSensor.class);
Root<JpaSensor> js = cq.from(JpaSensor.class);
cq.select(js);
cq.orderBy(cb.desc(js.get("lastSeen")));
List<Predicate> criteria = new ArrayList<Predicate>();
if (sensorIds != null && sensorIds.size() > 0) {
Expression<String> p = js.get("id");
criteria.add(p.in(sensorIds));
}
if (from != null) {
ParameterExpression<Date> p = cb.parameter(Date.class, "fromDate");
Path<Date> datePath = js.get("lastSeen");
criteria.add(cb.greaterThanOrEqualTo(datePath, p));
}
if (to != null) {
ParameterExpression<Date> p = cb.parameter(Date.class, "toDate");
Path<Date> datePath = js.get("lastSeen");
criteria.add(cb.lessThanOrEqualTo(datePath, p));
}
if (criteria.size() == 1) {
cq.where(criteria.get(0));
} else {
cq.where(cb.and(criteria.toArray(new Predicate[0])));
}
TypedQuery<JpaSensor> q = em.createQuery(cq);
if (from != null) {
q.setParameter("fromDate", from);
}
if (to != null) {
q.setParameter("toDate", to);
}
List<JpaSensor> ss = q.getResultList();
for (Iterator<JpaSensor> i = ss.iterator(); i.hasNext(); ) {
JpaSensor u = i.next();
Sensor s = new Sensor();
s.setId(u.getId());
s.setName(u.getName());
s.setDescription(u.getDescription());
s.setLastSeen(u.getLastSeen());
s.setLat(u.getLat());
s.setLng(u.getLng());
s.setType(u.getType());
sensors.add(s);
}
em.close();
} catch (Exception e) {
logger.log(Level.SEVERE, "Error during sensors list retrieving", e);
}
return sensors;
}Example 67
| Project: rsql-jpa-master File: PredicateBuilder.java View source code |
/**
* Create a Predicate from the RSQL AST comparison node.
*
* @param comparison RSQL AST comparison node.
* @param startRoot From that predicate expression paths depends on.
* @param entity The main entity of the query.
* @param entityManager JPA EntityManager.
* @param misc Facade with all necessary tools for predicate creation.
* @return Predicate a predicate representation of the Node.
*/
public static <T> Predicate createPredicate(ComparisonNode comparison, From startRoot, Class<T> entity, EntityManager entityManager, BuilderTools misc) {
if (startRoot == null) {
String msg = "From root node was undefined.";
LOG.log(Level.SEVERE, msg);
throw new IllegalArgumentException(msg);
}
LOG.log(Level.INFO, "Creating Predicate for comparison node: {0}", comparison);
LOG.log(Level.INFO, "Property graph path : {0}", comparison.getSelector());
Expression propertyPath = findPropertyPath(comparison.getSelector(), startRoot, entityManager, misc);
LOG.log(Level.INFO, "Cast all arguments to type {0}.", propertyPath.getJavaType().getName());
List<Object> castedArguments = misc.getArgumentParser().parse(comparison.getArguments(), propertyPath.getJavaType());
try {
// try to create a predicate
return PredicateBuilder.createPredicate(propertyPath, comparison.getOperator(), castedArguments, entityManager);
} catch (IllegalArgumentException e) {
if (misc.getPredicateBuilder() != null) {
return misc.getPredicateBuilder().createPredicate(comparison, startRoot, entity, entityManager, misc);
}
throw e;
}
}Example 68
| Project: SlipStreamServer-master File: Run.java View source code |
private static Predicate viewListCommonQueryOptions(CriteriaBuilder builder, Root<Run> rootQuery, RunsQueryParameters queryParameters) {
User user = queryParameters.user;
String owner = (queryParameters.runOwner != null) ? queryParameters.runOwner : queryParameters.userFilter;
String moduleResourceUri = queryParameters.moduleResourceUri;
String cloud = queryParameters.cloud;
boolean activeOnly = queryParameters.activeOnly;
Predicate where = null;
if (!user.isSuper()) {
where = andPredicate(builder, where, builder.equal(rootQuery.get("user_"), user.getName()));
} else if (owner != null) {
where = andPredicate(builder, where, builder.equal(rootQuery.get("user_"), owner));
}
if (moduleResourceUri != null && !"".equals(moduleResourceUri)) {
where = andPredicate(builder, where, builder.equal(rootQuery.get("moduleResourceUri"), moduleResourceUri));
}
if (cloud != null && !"".equals(cloud)) {
// TODO: Replace the 'like' by an 'equals'
where = andPredicate(builder, where, builder.like(rootQuery.<String>get("cloudServiceNames"), "%" + cloud + "%"));
}
if (activeOnly) {
Expression<String> exp = rootQuery.<String>get("state");
Predicate predicate = exp.in(States.active());
where = andPredicate(builder, where, predicate);
}
return where;
}Example 69
| Project: hapi-fhir-master File: SearchBuilder.java View source code |
private void addPredicateNumber(String theResourceName, String theParamName, List<? extends IQueryParameterType> theList) {
Join<ResourceTable, ResourceIndexedSearchParamNumber> join = myResourceTableRoot.join("myParamsNumber", JoinType.LEFT);
if (theList.get(0).getMissing() != null) {
addPredicateParamMissing(theResourceName, theParamName, theList.get(0).getMissing(), join);
return;
}
List<Predicate> codePredicates = new ArrayList<Predicate>();
for (IQueryParameterType nextOr : theList) {
IQueryParameterType params = nextOr;
if (params instanceof NumberParam) {
NumberParam param = (NumberParam) params;
BigDecimal value = param.getValue();
if (value == null) {
continue;
}
final Expression<BigDecimal> fromObj = join.get("myValue");
ParamPrefixEnum prefix = ObjectUtils.defaultIfNull(param.getPrefix(), ParamPrefixEnum.EQUAL);
String invalidMessageName = "invalidNumberPrefix";
Predicate num = createPredicateNumeric(theResourceName, theParamName, join, myBuilder, params, prefix, value, fromObj, invalidMessageName);
codePredicates.add(num);
} else {
throw new IllegalArgumentException("Invalid token type: " + params.getClass());
}
}
myPredicates.add(myBuilder.or(toArray(codePredicates)));
}Example 70
| Project: jena-sparql-api-master File: PredicateBase.java View source code |
@Override
public List<Expression<Boolean>> getExpressions() {
// TODO Auto-generated method stub
return null;
}Example 71
| Project: DLect-master File: CommonDatabaseWhereOp.java View source code |
@Override
public Expression<Boolean> getWhere(CriteriaBuilder cb, Path<Object> path, Object val) {
return cb.equal(path, val);
}Example 72
| Project: hexa.tools-master File: PredicateImpl.java View source code |
@Override
public <X> Expression<X> as(Class<X> arg0) {
// TODO Auto-generated method stub
return null;
}Example 73
| Project: korok-master File: SearchQueryBuilder.java View source code |
private Predicate buildLikeQueryPart(Expression<String> expr, String word) {
return builder.like(builder.lower(expr), buildLikeString(word));
}Example 74
| Project: raidenjpa-master File: RaidenCriteriaQuery.java View source code |
public List<Expression<?>> getGroupList() {
// TODO Auto-generated method stub
return null;
}Example 75
| Project: keycloak-master File: JpaAdminEventQuery.java View source code |
@Override
public AdminEventQuery resourcePath(String resourcePath) {
Expression<String> rPath = root.get("resourcePath");
predicates.add(cb.like(rPath, resourcePath.replace('*', '%')));
return this;
}Example 76
| Project: activejpa-master File: Condition.java View source code |
@Override
protected Predicate createPredicate(CriteriaBuilder builder, Path path, Expression... parameter) {
return builder.equal(path, parameter[0]);
}Example 77
| Project: eucalyptus-master File: EntityRestriction.java View source code |
@Override
public Expression<Boolean> build(final CriteriaBuilder builder, final Path<E> root) {
final javax.persistence.criteria.Predicate conjunction = builder.conjunction();
for (final EntityRestriction<E> restriction : restrictions) {
conjunction.getExpressions().add(restriction.build(builder, root));
}
return conjunction;
}