private void createEmployeeAndSearchExpression() { // Create the example employee employee = (org.eclipse.persistence.testing.models.employee.domain.Employee) new org.eclipse.persistence.testing.models.employee.domain.EmployeePopulator() .basicEmployeeExample1(); employee.setFirstName("Timugen"); employee.setLastName("Singaera"); employee.addResponsibility("Answer the phones."); // Create an expression to retreive the employee from the database ExpressionBuilder expressionBuilder = new ExpressionBuilder(); Expression exp1; Expression exp2; Expression expression; exp1 = expressionBuilder.get("firstName").equal(employee.getFirstName()); exp2 = expressionBuilder.get("lastName").equal(employee.getLastName()); searchExpression = exp1.or(exp2); }
protected Expression processPropertyNe( Attribute<?, ?> attr, Expression builder, List<Parameter> parameters) { ConditionQueryParameter p; // convenient expression, only used by simple case Expression exp = null; p = new ConditionQueryParameter(this, getQuery().getPrefix() + parameters.size()); parameters.add(p); boolean isString = JpaMetamodelHelper.isString(attr); if (attr.isCollection()) { if (isAllColllectionMode()) { ReportQuery subQuery = formReportQueryForDirectCollection(attr, builder); if (isString && isIgnoreCase()) { subQuery.setSelectionCriteria( builder.anyOf(getProp()).equalsIgnoreCase(builder.getParameter(p.getParamName()))); } else { subQuery.setSelectionCriteria( builder.anyOf(getProp()).equal(builder.getParameter(p.getParamName()))); } exp = builder.notExists(subQuery); } else if (isNoneColllectionMode()) { ReportQuery subQuery = formReportQueryForDirectCollection(attr, builder); if (isString && isIgnoreCase()) { subQuery.setSelectionCriteria( builder .anyOf(getProp()) .toUpperCase() .notEqual(builder.getParameter(p.getParamName()))); } else { subQuery.setSelectionCriteria( builder.anyOf(getProp()).notEqual(builder.getParameter(p.getParamName()))); } exp = builder.notExists(subQuery); } else { if (isString && isIgnoreCase()) { exp = builder .anyOf(getProp()) .toUpperCase() .notEqual(builder.getParameter(p.getParamName())); } else { exp = builder.anyOf(getProp()).notEqual(builder.getParameter(p.getParamName())); } } } else { if (JpaMetamodelHelper.isRelation(attr)) { if (JpaMetamodelHelper.isRelationOwner(attr)) { Expression exp1 = builder.get(getProp()).notEqual(builder.getParameter(p.getParamName())); // null is not considered as equal Expression exp2 = builder.get(getProp()).isNull(); exp = exp1.or(exp2); } else { exp = builder.get(getProp()).notEqual(builder.getParameter(p.getParamName())); } } else { if (isString && isIgnoreCase()) { exp = builder.get(getProp()).toUpperCase().notEqual(builder.getParameter(p.getParamName())); } else { exp = builder.get(getProp()).notEqual(builder.getParameter(p.getParamName())); } } } return exp; }