Пример #1
0
  protected Expression processPropertyTracedownToManyNone(
      Attribute<?, ?> attr, Expression builder, List<Parameter> parameters) {
    ConditionQuery subQuery = getTraceDownQuery();
    // subQuery.setPrefix(getQuery().getPrefix()+parameters.size()+"_");
    Expression subBuilder = new ExpressionBuilder();
    List<Expression> childExps = new ArrayList<Expression>(3);
    for (PropertyCondition subPc : subQuery.getConditions()) {
      Expression subExp = subPc.processProperty(subBuilder, parameters);
      childExps.add(subExp);
    }
    if (childExps.isEmpty()) {
      throw new InvalidQueryException("No expression from subquery.");
    }
    Expression finalExp = childExps.get(0);

    for (int i = 1; i < childExps.size(); i++) {
      finalExp = finalExp.and(childExps.get(i));
    }

    return builder.noneOf(getProp(), finalExp);
  }