Skip to content

Commit deb102b

Browse files
author
Mark
committed
fixed update/replaceDocumets with Json (#98)
1 parent f13ff1c commit deb102b

File tree

3 files changed

+35
-2
lines changed

3 files changed

+35
-2
lines changed

Diff for: ChangeLog

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ v4.1.8 (2017-02-xx)
88
* improved ArangoDBException with responseCode, errorNum, errorMessage
99
* changed ArangoCollection.deleteDocuments() to work with keys and documents
1010
* fixed URL encoding bug (#97)
11+
* fixed update/replaceDocumets with Json (#98)
1112

1213
v4.1.7 (2017-01-26)
1314
---------------------------

Diff for: src/main/java/com/arangodb/internal/InternalArangoCollection.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ protected <T> Request replaceDocumentsRequest(final Collection<T> values, final
240240
request.putQueryParam(ArangoDBConstants.RETURN_NEW, params.getReturnNew());
241241
request.putQueryParam(ArangoDBConstants.RETURN_OLD, params.getReturnOld());
242242
request.putHeaderParam(ArangoDBConstants.IF_MATCH, params.getIfMatch());
243-
request.setBody(executor.serialize(values));
243+
request.setBody(util().serialize(values, false, true));
244244
return request;
245245
}
246246

@@ -334,7 +334,7 @@ protected <T> Request updateDocumentsRequest(final Collection<T> values, final D
334334
request.putQueryParam(ArangoDBConstants.RETURN_NEW, params.getReturnNew());
335335
request.putQueryParam(ArangoDBConstants.RETURN_OLD, params.getReturnOld());
336336
request.putHeaderParam(ArangoDBConstants.IF_MATCH, params.getIfMatch());
337-
request.setBody(executor.serialize(values, true));
337+
request.setBody(util().serialize(values, true, true));
338338
return request;
339339
}
340340

Diff for: src/test/java/com/arangodb/ArangoCollectionTest.java

+32
Original file line numberDiff line numberDiff line change
@@ -1530,6 +1530,22 @@ public void updateDocumentsWithoutKey() {
15301530
assertThat(updateResult.getErrors().size(), is(1));
15311531
}
15321532

1533+
@Test
1534+
public void updateDocumentsJson() {
1535+
final Collection<String> values = new ArrayList<String>();
1536+
values.add("{\"_key\":\"1\"}");
1537+
values.add("{\"_key\":\"2\"}");
1538+
db.collection(COLLECTION_NAME).insertDocuments(values);
1539+
1540+
final Collection<String> updatedValues = new ArrayList<String>();
1541+
updatedValues.add("{\"_key\":\"1\", \"foo\":\"bar\"}");
1542+
updatedValues.add("{\"_key\":\"2\", \"foo\":\"bar\"}");
1543+
final MultiDocumentEntity<DocumentUpdateEntity<String>> updateResult = db.collection(COLLECTION_NAME)
1544+
.updateDocuments(updatedValues);
1545+
assertThat(updateResult.getDocuments().size(), is(2));
1546+
assertThat(updateResult.getErrors().size(), is(0));
1547+
}
1548+
15331549
@Test
15341550
public void replaceDocuments() {
15351551
final Collection<BaseDocument> values = new ArrayList<BaseDocument>();
@@ -1596,6 +1612,22 @@ public void replaceDocumentsWithoutKey() {
15961612
assertThat(updateResult.getErrors().size(), is(1));
15971613
}
15981614

1615+
@Test
1616+
public void replaceDocumentsJson() {
1617+
final Collection<String> values = new ArrayList<String>();
1618+
values.add("{\"_key\":\"1\"}");
1619+
values.add("{\"_key\":\"2\"}");
1620+
db.collection(COLLECTION_NAME).insertDocuments(values);
1621+
1622+
final Collection<String> updatedValues = new ArrayList<String>();
1623+
updatedValues.add("{\"_key\":\"1\", \"foo\":\"bar\"}");
1624+
updatedValues.add("{\"_key\":\"2\", \"foo\":\"bar\"}");
1625+
final MultiDocumentEntity<DocumentUpdateEntity<String>> updateResult = db.collection(COLLECTION_NAME)
1626+
.replaceDocuments(updatedValues);
1627+
assertThat(updateResult.getDocuments().size(), is(2));
1628+
assertThat(updateResult.getErrors().size(), is(0));
1629+
}
1630+
15991631
@Test
16001632
public void load() {
16011633
final CollectionEntity result = db.collection(COLLECTION_NAME).load();

0 commit comments

Comments
 (0)