Skip to content

Commit 78e0776

Browse files
author
Mark
committed
added bulk import API
1 parent 8dc7d9c commit 78e0776

File tree

4 files changed

+479
-2
lines changed

4 files changed

+479
-2
lines changed

ChangeLog

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
v4.1.3 (2016-11-22)
2+
---------------------------
3+
* fixed error while serializing long values with VPackBuilder
4+
* added bulk import API
5+
16
v4.1.2 (2016-11-10)
27
---------------------------
38
* fixed GraphEntity for ArangoDatabase.getGraphs() (field name is null)

src/main/java/com/arangodb/ArangoCollectionAsync.java

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import com.arangodb.entity.CollectionRevisionEntity;
3030
import com.arangodb.entity.DocumentCreateEntity;
3131
import com.arangodb.entity.DocumentDeleteEntity;
32+
import com.arangodb.entity.DocumentImportEntity;
3233
import com.arangodb.entity.DocumentUpdateEntity;
3334
import com.arangodb.entity.IndexEntity;
3435
import com.arangodb.entity.MultiDocumentEntity;
@@ -39,6 +40,7 @@
3940
import com.arangodb.model.DocumentCreateOptions;
4041
import com.arangodb.model.DocumentDeleteOptions;
4142
import com.arangodb.model.DocumentExistsOptions;
43+
import com.arangodb.model.DocumentImportOptions;
4244
import com.arangodb.model.DocumentReadOptions;
4345
import com.arangodb.model.DocumentReplaceOptions;
4446
import com.arangodb.model.DocumentUpdateOptions;
@@ -137,6 +139,63 @@ public <T> CompletableFuture<MultiDocumentEntity<DocumentCreateEntity<T>>> inser
137139
insertDocumentsResponseDeserializer(values, params));
138140
}
139141

142+
/**
143+
* Imports documents
144+
*
145+
* @param values
146+
* a list of Objects that will be stored as documents
147+
* @return information about the import
148+
* @throws ArangoDBException
149+
*/
150+
public CompletableFuture<DocumentImportEntity> importDocuments(final Collection<?> values) {
151+
return importDocuments(values, new DocumentImportOptions());
152+
}
153+
154+
/**
155+
* Imports documents
156+
*
157+
* @param values
158+
* a list of Objects that will be stored as documents
159+
* @param options
160+
* Additional options, can be null
161+
* @return information about the import
162+
* @throws ArangoDBException
163+
*/
164+
public CompletableFuture<DocumentImportEntity> importDocuments(
165+
final Collection<?> values,
166+
final DocumentImportOptions options) {
167+
return executor.execute(importDocumentsRequest(values, options), DocumentImportEntity.class);
168+
}
169+
170+
/**
171+
* Imports documents
172+
*
173+
* @param values
174+
* JSON-encoded array of objects that will be stored as documents
175+
* @return information about the import
176+
* @throws ArangoDBException
177+
*/
178+
public CompletableFuture<DocumentImportEntity> importDocuments(final String values) {
179+
return executor.execute(importDocumentsRequest(values, new DocumentImportOptions()),
180+
DocumentImportEntity.class);
181+
}
182+
183+
/**
184+
* Imports documents
185+
*
186+
* @param values
187+
* JSON-encoded array of objects that will be stored as documents
188+
* @param options
189+
* Additional options, can be null
190+
* @return information about the import
191+
* @throws ArangoDBException
192+
*/
193+
public CompletableFuture<DocumentImportEntity> importDocuments(
194+
final String values,
195+
final DocumentImportOptions options) {
196+
return executor.execute(importDocumentsRequest(values, options), DocumentImportEntity.class);
197+
}
198+
140199
/**
141200
* Reads a single document
142201
*

0 commit comments

Comments
 (0)