static JsonArray mapBsonArrayToJsonArray(final BsonArray bsonArray, final Function<String, String> jsonKeyNameReviser) { return bsonArray.stream() .map(obj -> AbstractBasicDBMapper.mapBsonValueToJsonValue(obj, jsonKeyNameReviser)) .collect(JsonCollectors.valuesToArray()); }
documents.stream().filter(_document -> _document.isDocument()) .forEach(new Consumer<BsonValue>() { @Override
private static List<ServerAddress> hostsFrom(ServerHeartbeatSucceededEvent event) { return event.getReply().getArray("hosts", new BsonArray()).stream() .map(bsonValue -> new ServerAddress(bsonValue.asString().getValue())) .collect(Collectors.toList()); }
private static List<ServerAddress> hostsFrom(ServerHeartbeatSucceededEvent event) { return event.getReply().getArray("hosts", new BsonArray()).stream() .map(bsonValue -> new ServerAddress(bsonValue.asString().getValue())) .collect(Collectors.toList()); }
/** * @param vars RequestContext.getAggregationVars() * @return the stages, with unescaped operators and bound variables * @throws org.restheart.handlers.metadata.InvalidMetadataException * @throws org.restheart.handlers.aggregation.QueryVariableNotBoundException */ public List<BsonDocument> getResolvedStagesAsList(BsonDocument vars) throws InvalidMetadataException, QueryVariableNotBoundException { BsonArray replacedStages = bindAggregationVariables( JsonUtils.unescapeKeys(stages), vars) .asArray(); List<BsonDocument> ret = new ArrayList<>(); replacedStages.stream().filter((stage) -> (stage.isDocument())) .forEach((stage) -> { ret.add(stage.asDocument()); }); return ret; }
array.stream().forEach((item) -> { if (item.isDocument()) { sb.append("{obj}");
public static boolean doesRequestUsesDotNotation(BsonValue content) { if (content.isDocument()) { BsonDocument obj = content.asDocument(); return obj.keySet().stream().anyMatch(key -> { return key.contains("."); }); } else if (content.isArray()) { BsonArray objs = content.asArray(); return objs.stream().anyMatch(obj -> { if (obj.isDocument()) { return doesRequestUsesDotNotation(obj); } else { return true; } }); } else { return true; } }
.stream() .filter(d -> d != null && d.isDocument()) .forEachOrdered(document -> {
return document.getArray("samples").stream() .map(BsonValue::asDocument) .flatMap(sampleDocument -> {
public static boolean doesRequestUsesUpdateOperators(BsonValue content) { if (content.isDocument()) { return JsonUtils.containsUpdateOperators(content.asDocument()); } else if (content.isArray()) { BsonArray objs = content.asArray(); return objs.stream().allMatch(obj -> { if (obj.isDocument()) { return doesRequestUsesUpdateOperators(obj); } else { return true; } }); } else { return true; } }
/** * @see https://docs.mongodb.com/manual/reference/operator/update/ * * @param ignoreCurrentDate true to ignore $currentDate * @param json * @return true if json contains update operators */ public static boolean containsUpdateOperators(BsonValue json, boolean ignoreCurrentDate) { if (json == null) { return false; } else if (json.isDocument()) { return _containsUpdateOperators(json.asDocument(), ignoreCurrentDate); } else if (json.isArray()) { return json.asArray() .stream() .filter(el -> el.isDocument()) .anyMatch(element -> _containsUpdateOperators(element.asDocument(), ignoreCurrentDate)); } else { return false; } }
return arrayContent.stream().allMatch(obj -> { if (obj.isDocument()) { return checker.check(
BsonArray newList = new BsonArray(); value.asArray().stream().forEach(v -> { newList.add(unescapeKeys(v)); }); BsonArray ret = new BsonArray(); json.asArray().stream().forEach(value -> { if (value.isDocument()) { ret.add(unescapeKeys(value)); BsonArray newList = new BsonArray(); value.asArray().stream().forEach(v -> { newList.add(unescapeKeys(v)); });
BsonArray newList = new BsonArray(); value.asArray().stream().forEach(v -> { newList.add(escapeKeys(v, escapeDots)); }); BsonArray ret = new BsonArray(); json.asArray().stream().forEach(value -> { if (value.isDocument()) { ret.add(escapeKeys(value, escapeDots)); BsonArray newList = new BsonArray(); value.asArray().stream().forEach(v -> { newList.add(escapeKeys(v, escapeDots)); });
} else if (context.isPost() && requestContent.isArray()) { requestContent.asArray().stream().forEachOrdered( (doc) -> { t.transform(
if (_stages.asArray().stream() .anyMatch(s -> !s.isDocument())) { throw new InvalidMetadataException("query /" + getUri()
protected boolean applyConditions(BsonArray conditions, BsonDocument json, final RequestContext context) { return conditions.stream().allMatch(_condition -> { if (_condition.isDocument()) { BsonDocument condition = _condition.asDocument();
.asArray(); colls.stream() .filter(coll -> { return coll.isDocument();
docs.asArray().stream() .filter(BsonValue::isDocument) .forEach((doc) -> {