Skip to content

Commit 64ee518

Browse files
committed
rm automatic type inference in:
- ArangoCollection.insertDocuments(), - ArangoCollection.replaceDocuments(), - ArangoCollection.updateDocuments(), - ArangoCollection.deleteDocuments()
1 parent 911fae7 commit 64ee518

File tree

5 files changed

+33
-48
lines changed

5 files changed

+33
-48
lines changed

core/src/main/java/com/arangodb/ArangoCollection.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,8 @@ MultiDocumentEntity<DocumentCreateEntity<RawData>> insertDocuments(
134134
* @see <a href="https://www.arangodb.com/docs/stable/http/document-working-with-documents.html#create-document">API
135135
* Documentation</a>
136136
*/
137-
<T> MultiDocumentEntity<DocumentCreateEntity<T>> insertDocuments(
138-
Collection<T> values, DocumentCreateOptions options);
137+
MultiDocumentEntity<DocumentCreateEntity<Void>> insertDocuments(
138+
Collection<?> values, DocumentCreateOptions options);
139139

140140
/**
141141
* Creates new documents from the given documents, unless there is already a document with the _key given. If no
@@ -318,8 +318,8 @@ MultiDocumentEntity<DocumentUpdateEntity<RawData>> replaceDocuments(
318318
* <a href="https://www.arangodb.com/docs/stable/http/document-working-with-documents.html#replace-documents">API
319319
* Documentation</a>
320320
*/
321-
<T> MultiDocumentEntity<DocumentUpdateEntity<T>> replaceDocuments(
322-
Collection<T> values, DocumentReplaceOptions options);
321+
MultiDocumentEntity<DocumentUpdateEntity<Void>> replaceDocuments(
322+
Collection<?> values, DocumentReplaceOptions options);
323323

324324
/**
325325
* Replaces multiple documents in the specified collection with the ones in the values, the replaced documents are
@@ -436,8 +436,8 @@ MultiDocumentEntity<DocumentUpdateEntity<RawData>> updateDocuments(
436436
* <a href="https://www.arangodb.com/docs/stable/http/document-working-with-documents.html#update-documents">API
437437
* Documentation</a>
438438
*/
439-
<T> MultiDocumentEntity<DocumentUpdateEntity<T>> updateDocuments(
440-
Collection<T> values, DocumentUpdateOptions options);
439+
MultiDocumentEntity<DocumentUpdateEntity<Void>> updateDocuments(
440+
Collection<?> values, DocumentUpdateOptions options);
441441

442442
/**
443443
* Partially updates documents, the documents to update are specified by the _key attributes in the objects on
@@ -537,7 +537,7 @@ MultiDocumentEntity<DocumentDeleteEntity<RawData>> deleteDocuments(
537537
* "https://www.arangodb.com/docs/stable/http/document-working-with-documents.html#removes-multiple-documents">API
538538
* Documentation</a>
539539
*/
540-
<T> MultiDocumentEntity<DocumentDeleteEntity<T>> deleteDocuments(
540+
MultiDocumentEntity<DocumentDeleteEntity<Void>> deleteDocuments(
541541
Collection<?> values, DocumentDeleteOptions options);
542542

543543
/**

core/src/main/java/com/arangodb/internal/ArangoCollectionImpl.java

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -83,16 +83,15 @@ public MultiDocumentEntity<DocumentCreateEntity<RawData>> insertDocuments(RawDat
8383

8484
@Override
8585
public MultiDocumentEntity<DocumentCreateEntity<Void>> insertDocuments(final Collection<?> values) {
86-
return executor
87-
.execute(insertDocumentsRequest(values, new DocumentCreateOptions()),
88-
insertDocumentsResponseDeserializer(Void.class));
86+
return insertDocuments(values, new DocumentCreateOptions());
8987
}
9088

9189
@Override
92-
@SuppressWarnings("unchecked")
93-
public <T> MultiDocumentEntity<DocumentCreateEntity<T>> insertDocuments(
94-
final Collection<T> values, final DocumentCreateOptions options) {
95-
return insertDocuments(values, options, (Class<T>) getCollectionContentClass(values));
90+
public MultiDocumentEntity<DocumentCreateEntity<Void>> insertDocuments(
91+
final Collection<?> values, final DocumentCreateOptions options) {
92+
return executor
93+
.execute(insertDocumentsRequest(values, options),
94+
insertDocumentsResponseDeserializer(Void.class));
9695
}
9796

9897
@Override
@@ -198,15 +197,14 @@ public MultiDocumentEntity<DocumentUpdateEntity<RawData>> replaceDocuments(RawDa
198197

199198
@Override
200199
public MultiDocumentEntity<DocumentUpdateEntity<Void>> replaceDocuments(final Collection<?> values) {
201-
return executor.execute(replaceDocumentsRequest(values, new DocumentReplaceOptions()),
202-
replaceDocumentsResponseDeserializer(Void.class));
200+
return replaceDocuments(values, new DocumentReplaceOptions());
203201
}
204202

205203
@Override
206-
@SuppressWarnings("unchecked")
207-
public <T> MultiDocumentEntity<DocumentUpdateEntity<T>> replaceDocuments(
208-
final Collection<T> values, final DocumentReplaceOptions options) {
209-
return replaceDocuments(values, options, (Class<T>) getCollectionContentClass(values));
204+
public MultiDocumentEntity<DocumentUpdateEntity<Void>> replaceDocuments(
205+
final Collection<?> values, final DocumentReplaceOptions options) {
206+
return executor.execute(replaceDocumentsRequest(values, options),
207+
replaceDocumentsResponseDeserializer(Void.class));
210208
}
211209

212210
@Override
@@ -253,14 +251,13 @@ public MultiDocumentEntity<DocumentUpdateEntity<RawData>> updateDocuments(RawDat
253251

254252
@Override
255253
public MultiDocumentEntity<DocumentUpdateEntity<Void>> updateDocuments(final Collection<?> values) {
256-
return updateDocuments(values, new DocumentUpdateOptions(), Void.class);
254+
return updateDocuments(values, new DocumentUpdateOptions());
257255
}
258256

259257
@Override
260-
@SuppressWarnings("unchecked")
261-
public <T> MultiDocumentEntity<DocumentUpdateEntity<T>> updateDocuments(
262-
final Collection<T> values, final DocumentUpdateOptions options) {
263-
return updateDocuments(values, options, (Class<T>) getCollectionContentClass(values));
258+
public MultiDocumentEntity<DocumentUpdateEntity<Void>> updateDocuments(
259+
final Collection<?> values, final DocumentUpdateOptions options) {
260+
return updateDocuments(values, options, Void.class);
264261
}
265262

266263
@Override
@@ -303,14 +300,13 @@ public MultiDocumentEntity<DocumentDeleteEntity<RawData>> deleteDocuments(RawDat
303300

304301
@Override
305302
public MultiDocumentEntity<DocumentDeleteEntity<Void>> deleteDocuments(final Collection<?> values) {
306-
return deleteDocuments(values, new DocumentDeleteOptions(), Void.class);
303+
return deleteDocuments(values, new DocumentDeleteOptions());
307304
}
308305

309306
@Override
310-
@SuppressWarnings("unchecked")
311-
public <T> MultiDocumentEntity<DocumentDeleteEntity<T>> deleteDocuments(
307+
public MultiDocumentEntity<DocumentDeleteEntity<Void>> deleteDocuments(
312308
final Collection<?> values, final DocumentDeleteOptions options) {
313-
return deleteDocuments(values, options, (Class<T>) getCollectionContentClass(values));
309+
return deleteDocuments(values, options, Void.class);
314310
}
315311

316312
@Override

core/src/main/java/com/arangodb/internal/InternalArangoCollection.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -575,15 +575,4 @@ protected ResponseDeserializer<Permissions> getPermissionsResponseDeserialzer()
575575
Permissions.class);
576576
}
577577

578-
protected Class<?> getCollectionContentClass(Collection<?> c) {
579-
if (c == null || c.isEmpty()) {
580-
return null;
581-
}
582-
Object v = c.iterator().next();
583-
if (v == null) {
584-
return null;
585-
}
586-
return v.getClass();
587-
}
588-
589578
}

driver/src/test/java/com/arangodb/ArangoCollectionTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ void insertDocumentsSilent(ArangoCollection collection) {
389389
assumeTrue(isSingleServer());
390390
final MultiDocumentEntity<DocumentCreateEntity<BaseDocument>> info =
391391
collection.insertDocuments(Arrays.asList(new BaseDocument(), new BaseDocument()),
392-
new DocumentCreateOptions().silent(true));
392+
new DocumentCreateOptions().silent(true), BaseDocument.class);
393393
assertThat(info).isNotNull();
394394
assertThat(info.getDocuments()).isEmpty();
395395
assertThat(info.getDocumentsAndErrors()).isEmpty();
@@ -899,7 +899,7 @@ void updateDocumentsSilent(ArangoCollection collection) {
899899
final DocumentCreateEntity<?> createResult = collection.insertDocument(new BaseDocument());
900900
final MultiDocumentEntity<DocumentUpdateEntity<BaseDocument>> info =
901901
collection.updateDocuments(Collections.singletonList(new BaseDocument(createResult.getKey())),
902-
new DocumentUpdateOptions().silent(true));
902+
new DocumentUpdateOptions().silent(true), BaseDocument.class);
903903
assertThat(info).isNotNull();
904904
assertThat(info.getDocuments()).isEmpty();
905905
assertThat(info.getDocumentsAndErrors()).isEmpty();
@@ -1111,7 +1111,7 @@ void replaceDocumentsSilent(ArangoCollection collection) {
11111111
final DocumentCreateEntity<?> createResult = collection.insertDocument(new BaseDocument());
11121112
final MultiDocumentEntity<DocumentUpdateEntity<BaseDocument>> info =
11131113
collection.replaceDocuments(Collections.singletonList(new BaseDocument(createResult.getKey())),
1114-
new DocumentReplaceOptions().silent(true));
1114+
new DocumentReplaceOptions().silent(true), BaseDocument.class);
11151115
assertThat(info).isNotNull();
11161116
assertThat(info.getDocuments()).isEmpty();
11171117
assertThat(info.getDocumentsAndErrors()).isEmpty();
@@ -1827,7 +1827,7 @@ void insertDocumentsOverwriteModeUpdate(ArangoCollection collection) {
18271827

18281828
final MultiDocumentEntity<DocumentCreateEntity<BaseDocument>> repsert =
18291829
collection.insertDocuments(Arrays.asList(doc1, doc2),
1830-
new DocumentCreateOptions().overwriteMode(OverwriteMode.update).returnNew(true));
1830+
new DocumentCreateOptions().overwriteMode(OverwriteMode.update).returnNew(true), BaseDocument.class);
18311831
assertThat(repsert).isNotNull();
18321832
assertThat(repsert.getDocuments()).hasSize(2);
18331833
assertThat(repsert.getErrors()).isEmpty();
@@ -1924,7 +1924,7 @@ void insertDocumentsReturnNew(ArangoCollection collection) {
19241924
values.add(new BaseDocument());
19251925
final DocumentCreateOptions options = new DocumentCreateOptions().returnNew(true);
19261926
final MultiDocumentEntity<DocumentCreateEntity<BaseDocument>> docs = collection.insertDocuments(values,
1927-
options);
1927+
options, BaseDocument.class);
19281928
assertThat(docs).isNotNull();
19291929
assertThat(docs.getDocuments()).isNotNull();
19301930
assertThat(docs.getDocuments()).hasSize(3);

driver/src/test/java/com/arangodb/StreamTransactionTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ void insertDocuments(ArangoDatabase db) {
351351
// insert documents from within the tx
352352
MultiDocumentEntity<DocumentCreateEntity<BaseDocument>> txDocs = collection
353353
.insertDocuments(Arrays.asList(new BaseDocument(), new BaseDocument(), new BaseDocument()),
354-
new DocumentCreateOptions().streamTransactionId(tx.getId()));
354+
new DocumentCreateOptions().streamTransactionId(tx.getId()), BaseDocument.class);
355355

356356
List<String> keys = txDocs.getDocuments().stream().map(DocumentEntity::getKey).collect(Collectors.toList());
357357

@@ -418,7 +418,7 @@ void replaceDocuments(ArangoDatabase db) {
418418

419419
ArangoCollection collection = db.collection(COLLECTION_NAME);
420420
List<BaseDocument> createdDocs = collection
421-
.insertDocuments(docs, new DocumentCreateOptions().returnNew(true)).getDocuments().stream()
421+
.insertDocuments(docs, new DocumentCreateOptions().returnNew(true), BaseDocument.class).getDocuments().stream()
422422
.map(DocumentCreateEntity::getNew).collect(Collectors.toList());
423423

424424
List<String> keys = createdDocs.stream().map(BaseDocument::getKey).collect(Collectors.toList());
@@ -503,7 +503,7 @@ void updateDocuments(ArangoDatabase db) {
503503

504504
ArangoCollection collection = db.collection(COLLECTION_NAME);
505505
List<BaseDocument> createdDocs = collection
506-
.insertDocuments(docs, new DocumentCreateOptions().returnNew(true)).getDocuments().stream()
506+
.insertDocuments(docs, new DocumentCreateOptions().returnNew(true), BaseDocument.class).getDocuments().stream()
507507
.map(DocumentCreateEntity::getNew).collect(Collectors.toList());
508508

509509
List<String> keys = createdDocs.stream().map(BaseDocument::getKey).collect(Collectors.toList());

0 commit comments

Comments
 (0)