@Override protected QueryExpression itrNaryValueRelationalExpression(NaryValueRelationalExpression q, Path context) { fieldInfo.add(resolveField(q.getField(), context, q, true)); return q; }
@Override protected QueryExpression itrNaryValueRelationalExpression(NaryValueRelationalExpression q, Path context) { fieldInfo.add(resolveField(q.getField(), context, q, true)); return q; }
@Override protected LookupSpec processInExpression(NaryValueRelationalExpression q) { return new MultiValueLookupSpec(simpleKeySpec(findFieldInfo(q.getField(),q)), q.getValues().stream().map(Value::getValue).collect(Collectors.toList())); }
@Override protected LookupSpec processInExpression(NaryValueRelationalExpression q) { return new MultiValueLookupSpec(simpleKeySpec(findFieldInfo(q.getField(),q)), q.getValues().stream().map(Value::getValue).collect(Collectors.toList())); }
@Override protected KeySpec processInExpression(NaryValueRelationalExpression q) { return simpleKeySpec(findFieldInfo(q.getField(),q)); }
@Override protected KeySpec processInExpression(NaryValueRelationalExpression q) { return simpleKeySpec(findFieldInfo(q.getField(),q)); }
public NaryValueRelationalExpressionEvaluator(NaryValueRelationalExpression expr, FieldTreeNode context) { field = expr.getField(); fieldMd = context.resolve(field); if (fieldMd == null) { throw new EvaluationError(expr, CrudConstants.ERR_FIELD_NOT_THERE + field); } operator = expr.getOp(); values = new HashSet<>(); for (Value x : expr.getValues()) { values.add(fieldMd.getType().cast(x.getValue())); } LOGGER.debug("ctor {} {} {}", expr.getField(), operator, values); }
public NaryValueRelationalExpressionEvaluator(NaryValueRelationalExpression expr, FieldTreeNode context) { field = expr.getField(); fieldMd = context.resolve(field); if (fieldMd == null) { throw new EvaluationError(expr, CrudConstants.ERR_FIELD_NOT_THERE + field); } operator = expr.getOp(); values = new HashSet<>(); for (Value x : expr.getValues()) { values.add(fieldMd.getType().cast(x.getValue())); } LOGGER.debug("ctor {} {} {}", expr.getField(), operator, values); }
private DBObject translateNaryValueRelationalExpression(FieldTreeNode context, NaryValueRelationalExpression expr) { Type t = resolve(context, expr.getField()).getType(); if (t.supportsEq()) { List<Object> values = translateValueList(t, expr.getValues()); return new BasicDBObject(translatePath(expr.getField()), new BasicDBObject(NARY_RELATIONAL_OPERATOR_MAP.get(expr.getOp()), values)); } else { throw Error.get(ERR_INVALID_FIELD, expr.toString()); } }
/** * Returns a json representation of this query */ @Override public JsonNode toJson() { ArrayNode arr = getFactory().arrayNode(); for (Value x : values) { arr.add(x.toJson()); } return getFactory().objectNode().put("field", getField().toString()). put("op", getOp().toString()). set("values", arr); }
/** * Returns a json representation of this query */ @Override public JsonNode toJson() { ArrayNode arr = getFactory().arrayNode(); for (Value x : values) { arr.add(x.toJson()); } return getFactory().objectNode().put("field", getField().toString()). put("op", getOp().toString()). set("values", arr); }
@Override protected QueryExpression itrNaryValueRelationalExpression(NaryValueRelationalExpression q, Path context) { Path p = map(applyContext(context, q.getField())); if (p != null) { return new NaryValueRelationalExpression(removeContext(context, p, q.getField()), q.getOp(), q.getValues()); } else { return q; } }
@Override protected QueryExpression itrNaryValueRelationalExpression(NaryValueRelationalExpression q, Path context) { Path p = map(applyContext(context, q.getField())); if (p != null) { return new NaryValueRelationalExpression(removeContext(context, p, q.getField()), q.getOp(), q.getValues()); } else { return q; } }
@Override protected QueryExpression itrNaryValueRelationalExpression(NaryValueRelationalExpression q, Path context) { return new NaryValueRelationalExpression(toRelative(q.getField(), context), q.getOp(), q.getValues()); }
private DBObject translateNaryValueRelationalExpression(FieldTreeNode context, EntityMetadata md, NaryValueRelationalExpression expr,MutablePath fullPath) { FieldInfo finfo=resolveFieldForQuery(context,fullPath.immutableCopy(),expr.getField()); Type t = finfo.fieldMd.getType(); if (t.supportsEq()) { List<Object> values = translateValueList(t, expr.getValues(),finfo.field.equals(ID_PATH)); return new BasicDBObject(translatePath(finfo.field), new BasicDBObject(NARY_RELATIONAL_OPERATOR_MAP.get(expr.getOp()), values)); } else { throw Error.get(ERR_INVALID_FIELD, expr.toString()); } }
@Override protected QueryExpression itrNaryValueRelationalExpression(NaryValueRelationalExpression q, Path context) { return new NaryValueRelationalExpression(toRelative(q.getField(), context), q.getOp(), q.getValues()); }
protected QueryExpression itrNaryValueRelationalExpression(NaryValueRelationalExpression q, Path context) { Binder binding = getBoundValue(q.getValues()); if (binding != null) { return new NaryValueRelationalExpression(q.getField(), q.getOp(), (List<Value>) binding.getValue()); } else { return q; } }
protected QueryExpression itrNaryValueRelationalExpression(NaryValueRelationalExpression q, Path context) { Binder binding = getBoundValue(q.getValues()); if (binding != null) { return new NaryValueRelationalExpression(q.getField(), q.getOp(), (List<Value>) binding.getValue()); } else { return q; } }
@Override protected QueryExpression itrNaryValueRelationalExpression(NaryValueRelationalExpression q, Path context) { QueryFieldInfo qfi = findFieldInfo(q.getField(), q); if (qfi.getFieldEntity() != currentEntity) { return new TruePH(); } else if (qfi.getFieldNameInClause().equals(qfi.getEntityRelativeFieldName()) && nestedFieldPrefix.isEmpty()) { return q; } else { return new NaryValueRelationalExpression(addPrefix(qfi.getEntityRelativeFieldName()), q.getOp(), q.getValues()); } }
@Override protected QueryExpression itrNaryValueRelationalExpression(NaryValueRelationalExpression q, Path context) { QueryFieldInfo qfi = findFieldInfo(q.getField(), q); if (qfi.getFieldEntity() != currentEntity) { return new TruePH(); } else if (qfi.getFieldNameInClause().equals(qfi.getEntityRelativeFieldName()) && nestedFieldPrefix.isEmpty()) { return q; } else { return new NaryValueRelationalExpression(addPrefix(qfi.getEntityRelativeFieldName()), q.getOp(), q.getValues()); } }