public static List<String> list(String val) { return list(val, ","); }
@Override public List<String> putDocumentAndGetDocumentFields(CallingContext context, String docURI, String content, List<String> fields) { Map<String, Map<String, Object>> docCache = new HashMap<String, Map<String, Object>>(); docCache.put(docURI, (Map<String, Object>) JacksonUtil.getMapFromJson(content)); List<String> ret = new ArrayList<String>(); for (String field : fields) { List<String> fieldParts = StringUtil.list(field, "\\."); ret.addAll(getValue(context, docURI, fieldParts, docCache)); } return ret; }
@Override public List<String> getDocumentFields(CallingContext context, String docUri, List<String> fields) { docUri = addSchemeIfNeeded(docUri, Scheme.DOCUMENT); Map<String, Map<String, Object>> docCache = new HashMap<String, Map<String, Object>>(); List<String> ret = new ArrayList<String>(); for (String field : fields) { List<String> fieldParts = StringUtil.list(field, "\\."); ret.addAll(getValue(context, docUri, fieldParts, docCache)); } return ret; }
private List<String> getFieldValue(Map<String, Object> map, String type, RaptureField f) { // displayname_return display = // DisplayNameParser.parseDisplayName(displayName); List<String> ret = new ArrayList<String>(); // TODO: Here we also need to worry about composite fields for (RaptureFieldPath fp : f.getFieldPaths()) { if (fp.getTypeName().equals(type)) { // This will be something like x.y.z List<String> pathParts = StringUtil.list(fp.getPath(), "\\."); ret.add(getFromMap(map, pathParts)); } } return ret; }