35
35
import java .lang .reflect .Type ;
36
36
import java .util .*;
37
37
38
+ import static com .arangodb .serde .SerdeUtils .constructListType ;
39
+ import static com .arangodb .serde .SerdeUtils .constructParametricType ;
40
+
38
41
/**
39
42
* @author Mark Vollmary
40
43
* @author Michele Rastelli
@@ -93,14 +96,6 @@ protected <T> Request insertDocumentRequest(final T value, final DocumentCreateO
93
96
return request ;
94
97
}
95
98
96
- protected <T > ResponseDeserializer <DocumentCreateEntity <T >> insertDocumentResponseDeserializer (
97
- final T value , final DocumentCreateOptions options ) {
98
- return response -> {
99
- Type type = SerdeUtils .INSTANCE .constructParametricType (DocumentCreateEntity .class , value .getClass ());
100
- return getSerde ().deserialize (response .getBody (), type );
101
- };
102
- }
103
-
104
99
protected <T > Request insertDocumentsRequest (final Collection <T > values , final DocumentCreateOptions params ) {
105
100
final Request request = request (db .dbName (), RequestType .POST , PATH_API_DOCUMENT , name );
106
101
request .putQueryParam (ArangoRequestParam .WAIT_FOR_SYNC , params .getWaitForSync ());
@@ -130,7 +125,7 @@ protected <T> ResponseDeserializer<MultiDocumentEntity<DocumentCreateEntity<T>>>
130
125
errors .add (error );
131
126
documentsAndErrors .add (error );
132
127
} else {
133
- Type type = SerdeUtils . INSTANCE . constructParametricType (DocumentCreateEntity .class , userDataClass );
128
+ Type type = constructParametricType (DocumentCreateEntity .class , userDataClass );
134
129
final DocumentCreateEntity <T > doc = getSerde ().deserialize (next , type );
135
130
docs .add (doc );
136
131
documentsAndErrors .add (doc );
@@ -234,14 +229,6 @@ protected <T> Request replaceDocumentRequest(
234
229
return request ;
235
230
}
236
231
237
- protected <T > ResponseDeserializer <DocumentUpdateEntity <T >> replaceDocumentResponseDeserializer (
238
- final T value , final DocumentReplaceOptions options ) {
239
- return response -> {
240
- Type type = SerdeUtils .INSTANCE .constructParametricType (DocumentUpdateEntity .class , value .getClass ());
241
- return getSerde ().deserialize (response .getBody (), type );
242
- };
243
- }
244
-
245
232
protected <T > Request replaceDocumentsRequest (final Collection <T > values , final DocumentReplaceOptions params ) {
246
233
final Request request = request (db .dbName (), RequestType .PUT , PATH_API_DOCUMENT , name );
247
234
request .putHeaderParam (ArangoRequestParam .IF_MATCH , params .getIfMatch ());
@@ -256,7 +243,7 @@ protected <T> Request replaceDocumentsRequest(final Collection<T> values, final
256
243
}
257
244
258
245
protected <T > ResponseDeserializer <MultiDocumentEntity <DocumentUpdateEntity <T >>> replaceDocumentsResponseDeserializer (
259
- final Collection <T > values , final DocumentReplaceOptions params ) {
246
+ final Collection <T > values ) {
260
247
return response -> {
261
248
Class <?> userDataClass = getCollectionContentClass (values );
262
249
final MultiDocumentEntity <DocumentUpdateEntity <T >> multiDocument = new MultiDocumentEntity <>();
@@ -271,7 +258,7 @@ protected <T> ResponseDeserializer<MultiDocumentEntity<DocumentUpdateEntity<T>>>
271
258
errors .add (error );
272
259
documentsAndErrors .add (error );
273
260
} else {
274
- Type type = SerdeUtils . INSTANCE . constructParametricType (DocumentUpdateEntity .class , userDataClass );
261
+ Type type = constructParametricType (DocumentUpdateEntity .class , userDataClass );
275
262
final DocumentUpdateEntity <T > doc = getSerde ().deserialize (next , type );
276
263
docs .add (doc );
277
264
documentsAndErrors .add (doc );
@@ -301,14 +288,6 @@ protected <T> Request updateDocumentRequest(final String key, final T value, fin
301
288
return request ;
302
289
}
303
290
304
- protected <T , U > ResponseDeserializer <DocumentUpdateEntity <U >> updateDocumentResponseDeserializer (
305
- final T value , final DocumentUpdateOptions options , final Class <U > returnType ) {
306
- return response -> {
307
- Type type = SerdeUtils .INSTANCE .constructParametricType (DocumentUpdateEntity .class , returnType );
308
- return getSerde ().deserialize (response .getBody (), type );
309
- };
310
- }
311
-
312
291
protected <T > Request updateDocumentsRequest (final Collection <T > values , final DocumentUpdateOptions params ) {
313
292
final Request request = request (db .dbName (), RequestType .PATCH , PATH_API_DOCUMENT , name );
314
293
final Boolean keepNull = params .getKeepNull ();
@@ -340,7 +319,7 @@ protected <T> ResponseDeserializer<MultiDocumentEntity<DocumentUpdateEntity<T>>>
340
319
errors .add (error );
341
320
documentsAndErrors .add (error );
342
321
} else {
343
- Type type = SerdeUtils . INSTANCE . constructParametricType (DocumentUpdateEntity .class , returnType );
322
+ Type type = constructParametricType (DocumentUpdateEntity .class , returnType );
344
323
final DocumentUpdateEntity <T > doc = getSerde ().deserialize (next , type );
345
324
docs .add (doc );
346
325
documentsAndErrors .add (doc );
@@ -365,14 +344,6 @@ protected Request deleteDocumentRequest(final String key, final DocumentDeleteOp
365
344
return request ;
366
345
}
367
346
368
- protected <T > ResponseDeserializer <DocumentDeleteEntity <T >> deleteDocumentResponseDeserializer (
369
- final Class <T > userDataClass ) {
370
- return response -> {
371
- Type type = SerdeUtils .INSTANCE .constructParametricType (DocumentDeleteEntity .class , userDataClass );
372
- return getSerde ().deserialize (response .getBody (), type );
373
- };
374
- }
375
-
376
347
protected <T > Request deleteDocumentsRequest (final Collection <T > keys , final DocumentDeleteOptions options ) {
377
348
final Request request = request (db .dbName (), RequestType .DELETE , PATH_API_DOCUMENT , name );
378
349
final DocumentDeleteOptions params = (options != null ? options : new DocumentDeleteOptions ());
@@ -399,7 +370,7 @@ protected <T> ResponseDeserializer<MultiDocumentEntity<DocumentDeleteEntity<T>>>
399
370
errors .add (error );
400
371
documentsAndErrors .add (error );
401
372
} else {
402
- Type type = SerdeUtils . INSTANCE . constructParametricType (DocumentDeleteEntity .class , userDataClass );
373
+ Type type = constructParametricType (DocumentDeleteEntity .class , userDataClass );
403
374
final DocumentDeleteEntity <T > doc = getSerde ().deserialize (next , type );
404
375
docs .add (doc );
405
376
documentsAndErrors .add (doc );
@@ -514,7 +485,7 @@ protected Request getIndexesRequest() {
514
485
515
486
protected ResponseDeserializer <Collection <IndexEntity >> getIndexesResponseDeserializer () {
516
487
return response -> getSerde ().deserialize (response .getBody (), "/indexes" ,
517
- SerdeUtils . INSTANCE . constructListType (IndexEntity .class ));
488
+ constructListType (IndexEntity .class ));
518
489
}
519
490
520
491
protected Request truncateRequest (final CollectionTruncateOptions options ) {
@@ -584,7 +555,7 @@ protected ResponseDeserializer<Permissions> getPermissionsResponseDeserialzer()
584
555
return response -> getSerde ().deserialize (response .getBody (), ArangoResponseField .RESULT_JSON_POINTER , Permissions .class );
585
556
}
586
557
587
- private Class <?> getCollectionContentClass (Collection <?> c ) {
558
+ protected Class <?> getCollectionContentClass (Collection <?> c ) {
588
559
if (c == null || c .isEmpty ()) {
589
560
return null ;
590
561
}
0 commit comments