23
23
import org .bson .types .ObjectId ;
24
24
25
25
import java .util .ArrayList ;
26
+ import java .util .Arrays ;
26
27
import java .util .Collections ;
27
28
import java .util .HashMap ;
28
29
import java .util .Iterator ;
@@ -196,28 +197,28 @@ public void drop(){
196
197
super .drop ();
197
198
}
198
199
199
- public WriteResult insert (DBObject [] arr , com .mongodb .WriteConcern concern , DBEncoder encoder ){
200
+ public WriteResult insert (List < DBObject > list , com .mongodb .WriteConcern concern , DBEncoder encoder ){
200
201
201
202
if (concern == null ) {
202
203
throw new IllegalArgumentException ("Write concern can not be null" );
203
204
}
204
205
205
- return insert ( arr , true , concern , encoder );
206
+ return insert (list , true , concern , encoder );
206
207
}
207
208
208
- protected WriteResult insert (DBObject [] arr , boolean shouldApply , com .mongodb .WriteConcern concern , DBEncoder encoder ){
209
+ protected WriteResult insert (List < DBObject > list , boolean shouldApply , com .mongodb .WriteConcern concern , DBEncoder encoder ){
209
210
210
211
if (encoder == null )
211
212
encoder = DefaultDBEncoder .FACTORY .create ();
212
213
213
214
if ( willTrace () ) {
214
- for (DBObject o : arr ) {
215
+ for (DBObject o : list ) {
215
216
trace ( "save: " + _fullNameSpace + " " + JSON .serialize ( o ) );
216
217
}
217
218
}
218
219
219
220
if ( shouldApply ){
220
- for (DBObject o : arr ) {
221
+ for (DBObject o : list ) {
221
222
apply (o );
222
223
_checkObject (o , false , false );
223
224
Object id = o .get ("_id" );
@@ -231,12 +232,12 @@ protected WriteResult insert(DBObject[] arr, boolean shouldApply , com.mongodb.W
231
232
232
233
int cur = 0 ;
233
234
int maxsize = _mongo .getMaxBsonObjectSize ();
234
- while ( cur < arr . length ) {
235
+ while ( cur < list . size () ) {
235
236
236
237
OutMessage om = OutMessage .insert ( this , encoder , concern );
237
238
238
- for ( ; cur < arr . length ; cur ++ ){
239
- DBObject o = arr [ cur ] ;
239
+ for ( ; cur < list . size () ; cur ++ ){
240
+ DBObject o = list . get ( cur ) ;
240
241
om .putObject ( o );
241
242
242
243
// limit for batch insert is 4 x maxbson on server, use 2 x to be safe
@@ -341,7 +342,7 @@ public void createIndex( final DBObject keys, final DBObject options, DBEncoder
341
342
MyCollection idxs = DBApiLayer .this .doGetCollection ( "system.indexes" );
342
343
//query first, maybe we should do an update w/upsert? -- need to test performance and lock behavior
343
344
if ( idxs .findOne ( full ) == null )
344
- idxs .insert ( new DBObject [] { full }, false , WriteConcern .SAFE , encoder );
345
+ idxs .insert (Arrays . asList ( full ), false , WriteConcern .SAFE , encoder );
345
346
}
346
347
347
348
final String _fullNameSpace ;
0 commit comments