@SuppressWarnings("unchecked") @Override public T apply(final BsonDocument result, final ServerAddress serverAddress) { if (hasWriteConcernError(result)) { throw new MongoWriteConcernException( createWriteConcernError(result.getDocument("writeConcernError")), createWriteConcernResult(result.getDocument("lastErrorObject", new BsonDocument())), serverAddress); } if (!result.isDocument("value")) { return null; } return BsonDocumentWrapperHelper.toDocument(result.getDocument("value", null)); } };
private boolean hasFilterOnPassword(BsonDocument filters) { if (filters == null || filters.isEmpty()) { return false; } else { if (filters.isDocument()) { return filters.keySet().contains(propNamePassword) || filters .keySet().stream() .filter(key -> filters.get(key).isDocument()) .map(key -> filters.get(key).asDocument()) .anyMatch(doc -> hasFilterOnPassword(doc)); } else { return true; } } }
@SuppressWarnings("unchecked") @Override public T apply(final BsonDocument result, final ServerAddress serverAddress) { if (hasWriteConcernError(result)) { throw new MongoWriteConcernException( createWriteConcernError(result.getDocument("writeConcernError")), createWriteConcernResult(result.getDocument("lastErrorObject", new BsonDocument())), serverAddress); } if (!result.isDocument("value")) { return null; } return BsonDocumentWrapperHelper.toDocument(result.getDocument("value", null)); } };