/** * returns index metadata as an ODocuemnt (as expected by Index API) * * @param ctx * * @return */ private ODocument calculateMetadata(OCommandContext ctx) { if (metadata == null) { return null; } return metadata.toDocument(null, ctx); }
private void handleMerge(ODocument record, OCommandContext ctx) { record.merge(json.toDocument(record, ctx), true, false); }
/** * choosing return type is based on existence of @class and @type field in JSON * @param source * @param ctx * @return */ public Object toObjectDetermineType(OResult source, OCommandContext ctx){ String className = getClassNameForDocument(ctx); String type = getTypeForDocument(ctx); if (className != null || (type != null && "d".equalsIgnoreCase(type))) { return toDocument(source, ctx, className); } else{ return toMap(source, ctx); } }
public ODocument toDocument(OIdentifiable source, OCommandContext ctx) { String className = getClassNameForDocument(ctx); ODocument doc; if (className != null) { doc = new ODocument(className); } else { doc = new ODocument(); } for (OJsonItem item : items) { String name = item.getLeftValue(); if (name == null) { continue; } Object value; if (item.right.value instanceof OJson) { value = ((OJson) item.right.value).toDocument(source, ctx); } else { value = item.right.execute(source, ctx); } doc.field(name, value); } return doc; }
doc.merge(json.toDocument(record, ctx), false, false); } else if (inputParameter != null) { Object val = inputParameter.getValue(ctx.getInputParameters());