Skip to content

Commit f41ed59

Browse files
committed
Use Integer for indexes in ClientBulkWriteResult.Verbose. Make ClientInsertOneResult.getInsertedId null-able.
JAVA-5527
1 parent a11e5f6 commit f41ed59

File tree

4 files changed

+25
-17
lines changed

4 files changed

+25
-17
lines changed

driver-core/src/main/com/mongodb/client/result/bulk/ClientBulkWriteResult.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ interface Verbose {
110110
* @return The indexed {@link ClientInsertOneResult}s.
111111
* @see ClientBulkWriteException#getWriteErrors()
112112
*/
113-
Map<Long, ClientInsertOneResult> getInsertResults();
113+
Map<Integer, ClientInsertOneResult> getInsertResults();
114114

115115
/**
116116
* The indexed {@link ClientUpdateResult}s.
@@ -122,7 +122,7 @@ interface Verbose {
122122
* @return The indexed {@link ClientUpdateResult}s.
123123
* @see ClientBulkWriteException#getWriteErrors()
124124
*/
125-
Map<Long, ClientUpdateResult> getUpdateResults();
125+
Map<Integer, ClientUpdateResult> getUpdateResults();
126126

127127
/**
128128
* The indexed {@link ClientDeleteResult}s.
@@ -134,6 +134,6 @@ interface Verbose {
134134
* @return The indexed {@link ClientDeleteResult}s.
135135
* @see ClientBulkWriteException#getWriteErrors()
136136
*/
137-
Map<Long, ClientDeleteResult> getDeleteResults();
137+
Map<Integer, ClientDeleteResult> getDeleteResults();
138138
}
139139
}

driver-core/src/main/com/mongodb/client/result/bulk/ClientInsertOneResult.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
import com.mongodb.annotations.Evolving;
1919
import com.mongodb.bulk.WriteConcernError;
2020
import com.mongodb.client.model.bulk.ClientWriteModel;
21+
import com.mongodb.lang.Nullable;
2122
import org.bson.BsonValue;
23+
import org.bson.RawBsonDocument;
2224

2325
/**
2426
* The result of a successful {@linkplain ClientWriteModel individual insert one operation}.
@@ -31,7 +33,10 @@ public interface ClientInsertOneResult {
3133
/**
3234
* The {@code "_id"} of the inserted document.
3335
*
34-
* @return The {@code "_id"} of the inserted document.
36+
* @return The {@code "_id"} of the inserted document, or {@code null} if one is not available,
37+
* which happens when a {@link RawBsonDocument} without {@code "_id"} is inserted,
38+
* because the driver does not generate missing {@code "_id"} fields for {@link RawBsonDocument}s.
3539
*/
40+
@Nullable
3641
BsonValue getInsertedId();
3742
}

driver-core/src/main/com/mongodb/internal/client/result/bulk/AcknowledgedVerboseClientBulkWriteResult.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ public final class AcknowledgedVerboseClientBulkWriteResult implements ClientBul
3535

3636
public AcknowledgedVerboseClientBulkWriteResult(
3737
final AcknowledgedSummaryClientBulkWriteResult summaryResults,
38-
final Map<Long, ClientInsertOneResult> insertResults,
39-
final Map<Long, ClientUpdateResult> updateResults,
40-
final Map<Long, ClientDeleteResult> deleteResults) {
38+
final Map<Integer, ClientInsertOneResult> insertResults,
39+
final Map<Integer, ClientUpdateResult> updateResults,
40+
final Map<Integer, ClientDeleteResult> deleteResults) {
4141
this.summaryResults = summaryResults;
4242
this.verbose = new Verbose(insertResults, updateResults, deleteResults);
4343
}
@@ -110,31 +110,31 @@ public String toString() {
110110
}
111111

112112
private static final class Verbose implements ClientBulkWriteResult.Verbose {
113-
private final Map<Long, ClientInsertOneResult> insertResults;
114-
private final Map<Long, ClientUpdateResult> updateResults;
115-
private final Map<Long, ClientDeleteResult> deleteResults;
113+
private final Map<Integer, ClientInsertOneResult> insertResults;
114+
private final Map<Integer, ClientUpdateResult> updateResults;
115+
private final Map<Integer, ClientDeleteResult> deleteResults;
116116

117117
Verbose(
118-
final Map<Long, ClientInsertOneResult> insertResults,
119-
final Map<Long, ClientUpdateResult> updateResults,
120-
final Map<Long, ClientDeleteResult> deleteResults) {
118+
final Map<Integer, ClientInsertOneResult> insertResults,
119+
final Map<Integer, ClientUpdateResult> updateResults,
120+
final Map<Integer, ClientDeleteResult> deleteResults) {
121121
this.insertResults = insertResults;
122122
this.updateResults = updateResults;
123123
this.deleteResults = deleteResults;
124124
}
125125

126126
@Override
127-
public Map<Long, ClientInsertOneResult> getInsertResults() {
127+
public Map<Integer, ClientInsertOneResult> getInsertResults() {
128128
return insertResults;
129129
}
130130

131131
@Override
132-
public Map<Long, ClientUpdateResult> getUpdateResults() {
132+
public Map<Integer, ClientUpdateResult> getUpdateResults() {
133133
return updateResults;
134134
}
135135

136136
@Override
137-
public Map<Long, ClientDeleteResult> getDeleteResults() {
137+
public Map<Integer, ClientDeleteResult> getDeleteResults() {
138138
return deleteResults;
139139
}
140140

driver-core/src/main/com/mongodb/internal/client/result/bulk/ConcreteClientInsertOneResult.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package com.mongodb.internal.client.result.bulk;
1717

1818
import com.mongodb.client.result.bulk.ClientInsertOneResult;
19+
import com.mongodb.lang.Nullable;
1920
import org.bson.BsonValue;
2021

2122
import java.util.Objects;
@@ -24,13 +25,15 @@
2425
* This class is not part of the public API and may be removed or changed at any time.
2526
*/
2627
public final class ConcreteClientInsertOneResult implements ClientInsertOneResult {
28+
@Nullable
2729
private final BsonValue insertedId;
2830

29-
public ConcreteClientInsertOneResult(final BsonValue insertedId) {
31+
public ConcreteClientInsertOneResult(@Nullable final BsonValue insertedId) {
3032
this.insertedId = insertedId;
3133
}
3234

3335
@Override
36+
@Nullable
3437
public BsonValue getInsertedId() {
3538
return insertedId;
3639
}

0 commit comments

Comments
 (0)