/** * Adds specified parent entity qualifier to the existing parent entity qualifier * joining it using "AND". */ public void andParentQualifier(Expression e) { parentQualifier = (parentQualifier != null) ? parentQualifier.andExp(e) : e; }
/** * Adds specified HAVING qualifier to the existing HAVING qualifier joining it using "AND". * @since 4.0 */ public void andHavingQualifier(Expression e) { havingQualifier = (havingQualifier != null) ? havingQualifier.andExp(e) : e; }
/** * Adds specified qualifier to the existing qualifier joining it using * "AND". */ public void andQualifier(Expression e) { qualifier = (qualifier != null) ? qualifier.andExp(e) : e; }
/** * Adds specified qualifier to the existing qualifier joining it using "AND". */ public void andQualifier(Expression e) { qualifier = (qualifier != null) ? qualifier.andExp(e) : e; }
void andQualifier(Expression qualifier) { if (this.qualifier == null) { this.qualifier = qualifier; } else { this.qualifier = this.qualifier.andExp(qualifier); } }
public void andQualifier(Expression qualifier) { if (this.qualifier == null) { this.qualifier = qualifier; } else { this.qualifier = this.qualifier.andExp(qualifier); } }
private void createDisjointByIdPrefetchQualifier(String pathPrefix, PrefetchSelectQuery currentQuery, List<DbJoin> joins, Set<List<Object>> values) { Expression allJoinsQualifier; if(currentQuery != null) { for(List<Object> joinValues : values) { allJoinsQualifier = null; for(int i=0; i<joins.size(); i++) { Expression joinQualifier = ExpressionFactory.matchDbExp(pathPrefix + joins.get(i).getTargetName(), joinValues.get(i)); if (allJoinsQualifier == null) { allJoinsQualifier = joinQualifier; } else { allJoinsQualifier = allJoinsQualifier.andExp(joinQualifier); } } currentQuery.orQualifier(allJoinsQualifier); } } }
? qualifier.andExp(attributeQualifier) : attributeQualifier;
/** * Retrieves fresh snapshot for the failed row. Null row indicates that it was * deleted. * * @since 3.0 */ public Map<?, ?> getFreshSnapshot(ObjectContext context) { Expression qualifier = null; for (DbAttribute attribute : rootEntity.getPrimaryKeys()) { Expression attributeQualifier = ExpressionFactory.matchDbExp( attribute.getName(), qualifierSnapshot.get(attribute.getName())); qualifier = (qualifier != null) ? qualifier.andExp(attributeQualifier) : attributeQualifier; } SelectQuery<DataRow> query = new SelectQuery<DataRow>(rootEntity, qualifier); query.setFetchingDataRows(true); return (Map<?, ?>) Cayenne.objectForQuery(context, query); }
@Test public void testDelete_MultiId() { insert("e21", "age, name", "18, 'John'"); insert("e21", "age, name", "27, 'Brian'"); Response response = target("/multi-id") .queryParam("age", 18) .queryParam("name", "John") .request() .delete(); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); assertEquals("{\"success\":true}", response.readEntity(String.class)); Assert.assertEquals(1L, countRows(E21.class, E21.AGE.eq(27).andExp(E21.NAME.eq("Brian")))); }
protected Expression extractQualifier() { // if additional qualifier is set, use it if(this.qualifier != null) { return this.qualifier; } Query q = queryAssembler.getQuery(); Expression qualifier = ((SelectQuery<?>) q).getQualifier(); // append Entity qualifiers, taking inheritance into account ObjEntity entity = getObjEntity(); if (entity != null) { ClassDescriptor descriptor = queryAssembler.getEntityResolver().getClassDescriptor(entity.getName()); Expression entityQualifier = descriptor.getEntityInheritanceTree().qualifierForEntityAndSubclasses(); if (entityQualifier != null) { qualifier = (qualifier != null) ? qualifier.andExp(entityQualifier) : entityQualifier; } } // Attaching root Db entity's qualifier if (getDbEntity() != null) { Expression dbQualifier = getDbEntity().getQualifier(); if (dbQualifier != null) { dbQualifier = dbQualifier.transform(new DbEntityQualifierTransformer()); qualifier = qualifier == null ? dbQualifier : qualifier.andExp(dbQualifier); } } return qualifier; }
expression = newExpression; } else { expression = expression.andExp(newExpression);
protected Expression extractQualifier() { Query q = queryAssembler.getQuery(); Expression qualifier = (isTranslateParentQual()) ? ((SelectQuery) q).getParentQualifier() : ((QualifiedQuery) q).getQualifier(); // append Entity qualifiers, taking inheritance into account ObjEntity entity = getObjEntity(); if (entity != null) { EntityInheritanceTree tree = queryAssembler.getEntityResolver().lookupInheritanceTree( entity); Expression entityQualifier = (tree != null) ? tree.qualifierForEntityAndSubclasses() : entity.getDeclaredQualifier(); if (entityQualifier != null) { qualifier = (qualifier != null) ? qualifier.andExp(entityQualifier) : entityQualifier; } } return qualifier; }
.andExp(entityQualifier) : entityQualifier;
.andExp(entityQualifier) : entityQualifier;
.andExp(entityQualifier) : entityQualifier;
combined = combined != null ? combined.andExp(qualifier) : qualifier;
@Test public void testBuildQuery_Qualifier() { Expression extraQualifier = E1.NAME.eq("X"); ResourceEntity<E1> resourceEntity = getResourceEntity(E1.class); resourceEntity.andQualifier(extraQualifier); SelectContext<E1> c1 = new SelectContext<>(E1.class); c1.setEntity(resourceEntity); SelectQuery<E1> query = makeQueryStage.buildQuery(c1); assertEquals(extraQualifier, query.getQualifier()); SelectQuery<E1> query2 = new SelectQuery<E1>(E1.class); query2.setQualifier(E1.NAME.in("a", "b")); SelectContext<E1> c2 = new SelectContext<>(E1.class); c2.setSelect(query2); c2.setEntity(resourceEntity); SelectQuery<E1> query2Amended = makeQueryStage.buildQuery(c2); assertEquals(E1.NAME.in("a", "b").andExp(E1.NAME.eq("X")), query2Amended.getQualifier()); }