@Override int weigh(MergedEntry<?> value) { int weight = 0; final List<MergeSource> mergeSources = query.mergeSources(); weight += mergeSources.size(); for (MergeSource mergeSource : mergeSources) { weight += mergeSource.path().length(); } final List<String> expressions = query.expressions(); weight += expressions.size(); for (String expression : expressions) { weight += expression.length(); } if (value != null) { weight += value.contentAsText().length(); } return weight; }
@Override int weigh(MergedEntry<?> value) { int weight = 0; final List<MergeSource> mergeSources = query.mergeSources(); weight += mergeSources.size(); for (MergeSource mergeSource : mergeSources) { weight += mergeSource.path().length(); } final List<String> expressions = query.expressions(); weight += expressions.size(); for (String expression : expressions) { weight += expression.length(); } if (value != null) { weight += value.contentAsText().length(); } return weight; }
@Override protected MergeQuery doForward(com.linecorp.centraldogma.common.MergeQuery<?> mergeQuery) { switch (mergeQuery.type()) { case IDENTITY: return new MergeQuery(QueryType.IDENTITY, convertMergeSources(mergeQuery), ImmutableList.of()); case JSON_PATH: return new MergeQuery(QueryType.JSON_PATH, convertMergeSources(mergeQuery), mergeQuery.expressions()); } throw new Error(); }
final List<String> expressions = query.expressions(); if (!Iterables.isEmpty(expressions)) { result = Jackson.extractTree(result, expressions);
final List<String> expressions = query.expressions(); if (!Iterables.isEmpty(expressions)) { result = Jackson.extractTree(result, expressions);