use of org.bson.BsonInt32 in project mongo-java-driver by mongodb.
the class JsonPoweredCrudTestHelper method toResult.
BsonDocument toResult(final UpdateResult updateResult) {
BsonDocument resultDoc = new BsonDocument("matchedCount", new BsonInt32((int) updateResult.getMatchedCount()));
if (updateResult.isModifiedCountAvailable()) {
resultDoc.append("modifiedCount", new BsonInt32((int) updateResult.getModifiedCount()));
}
// in replaceOne-pre_2.6
if (updateResult.getUpsertedId() != null && !updateResult.getUpsertedId().isObjectId()) {
resultDoc.append("upsertedId", updateResult.getUpsertedId());
}
resultDoc.append("upsertedCount", updateResult.getUpsertedId() == null ? new BsonInt32(0) : new BsonInt32(1));
return toResult(resultDoc);
}
use of org.bson.BsonInt32 in project mongo-java-driver by mongodb.
the class CommandMonitoringTest method massageActualCommandSucceededEvent.
private CommandSucceededEvent massageActualCommandSucceededEvent(final CommandSucceededEvent actual) {
BsonDocument response = getWritableCloneOfCommand(actual.getResponse());
// massage numbers that are the wrong BSON type
response.put("ok", new BsonDouble(response.getNumber("ok").doubleValue()));
if (response.containsKey("n")) {
response.put("n", new BsonInt32(response.getNumber("n").intValue()));
}
if (actual.getCommandName().equals("find") || actual.getCommandName().equals("getMore")) {
if (response.containsKey("cursor")) {
if (response.getDocument("cursor").containsKey("id") && !response.getDocument("cursor").getInt64("id").equals(new BsonInt64(0))) {
response.getDocument("cursor").put("id", new BsonInt64(42));
}
}
} else if (actual.getCommandName().equals("killCursors")) {
response.getArray("cursorsUnknown").set(0, new BsonInt64(42));
} else if (isWriteCommand(actual.getCommandName())) {
if (response.containsKey("writeErrors")) {
for (Iterator<BsonValue> iter = response.getArray("writeErrors").iterator(); iter.hasNext(); ) {
BsonDocument cur = iter.next().asDocument();
cur.put("code", new BsonInt32(42));
cur.put("errmsg", new BsonString(""));
}
}
if (actual.getCommandName().equals("update")) {
response.remove("nModified");
}
}
return new CommandSucceededEvent(actual.getRequestId(), actual.getConnectionDescription(), actual.getCommandName(), response, actual.getElapsedTime(TimeUnit.NANOSECONDS));
}
use of org.bson.BsonInt32 in project mongo-java-driver by mongodb.
the class CrudTest method toResult.
private BsonDocument toResult(final MongoOperationUpdateResult operation) {
UpdateResult updateResult = operation.get();
BsonDocument resultDoc = new BsonDocument("matchedCount", new BsonInt32((int) updateResult.getMatchedCount()));
if (updateResult.isModifiedCountAvailable()) {
resultDoc.append("modifiedCount", new BsonInt32((int) updateResult.getModifiedCount()));
}
// in replaceOne-pre_2.6
if (updateResult.getUpsertedId() != null && !updateResult.getUpsertedId().isObjectId()) {
resultDoc.append("upsertedId", updateResult.getUpsertedId());
}
resultDoc.append("upsertedCount", updateResult.getUpsertedId() == null ? new BsonInt32(0) : new BsonInt32(1));
return toResult(resultDoc);
}
use of org.bson.BsonInt32 in project mongo-java-driver by mongodb.
the class CollectionAcceptanceTest method shouldBeAbleToUseBsonValueToDistinctDocumentsOfVaryingTypes.
@SuppressWarnings("unchecked")
@Test
public void shouldBeAbleToUseBsonValueToDistinctDocumentsOfVaryingTypes() {
List<Object> mixedList = new ArrayList<Object>();
mixedList.add(2);
mixedList.add("d");
mixedList.add(new Document("e", 3));
collection.drop();
collection.insertMany(asList(new Document("id", "a"), new Document("id", 1), new Document("id", new Document("b", "c")), new Document("id", new Document("list", mixedList))));
List<BsonValue> distinct = collection.distinct("id", BsonValue.class).into(new ArrayList<BsonValue>());
assertTrue(distinct.containsAll(asList(new BsonString("a"), new BsonInt32(1), new BsonDocument("b", new BsonString("c")), new BsonDocument("list", new BsonArray(asList(new BsonInt32(2), new BsonString("d"), new BsonDocument("e", new BsonInt32(3))))))));
distinct = collection.distinct("id", new Document("id", new Document("$ne", 1)), BsonValue.class).into(new ArrayList<BsonValue>());
assertTrue(distinct.containsAll(asList(new BsonString("a"), new BsonDocument("b", new BsonString("c")), new BsonDocument("list", new BsonArray(asList(new BsonInt32(2), new BsonString("d"), new BsonDocument("e", new BsonInt32(3))))))));
}
use of org.bson.BsonInt32 in project mongo-java-driver by mongodb.
the class DBObjectCodecTest method shouldNotGenerateIdIfPresent.
@Test
public void shouldNotGenerateIdIfPresent() {
DBObjectCodec dbObjectCodec = new DBObjectCodec(fromProviders(asList(new ValueCodecProvider(), new DBObjectCodecProvider(), new BsonValueCodecProvider())));
DBObject document = new BasicDBObject("_id", 1);
assertTrue(dbObjectCodec.documentHasId(document));
document = dbObjectCodec.generateIdIfAbsentFromDocument(document);
assertTrue(dbObjectCodec.documentHasId(document));
assertEquals(new BsonInt32(1), dbObjectCodec.getDocumentId(document));
}
Aggregations