diff --git a/couchbase-sdk/pom.xml b/couchbase-sdk/pom.xml
index d78ceb8933..f361b333b4 100644
--- a/couchbase-sdk/pom.xml
+++ b/couchbase-sdk/pom.xml
@@ -29,9 +29,9 @@
${jackson-version}
- io.vavr
- vavr
- ${vavr-version}
+ io.vavr
+ vavr
+ ${vavr-version}
diff --git a/couchbase-sdk/src/main/java/com/baeldung/couchbase/n1ql/CodeSnippets.java b/couchbase-sdk/src/main/java/com/baeldung/couchbase/n1ql/CodeSnippets.java
index 999dcd897f..72d48e78c3 100644
--- a/couchbase-sdk/src/main/java/com/baeldung/couchbase/n1ql/CodeSnippets.java
+++ b/couchbase-sdk/src/main/java/com/baeldung/couchbase/n1ql/CodeSnippets.java
@@ -5,16 +5,26 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.vavr.control.Try;
+import java.io.IOException;
import java.util.List;
+import java.util.Objects;
import java.util.stream.Collectors;
public class CodeSnippets {
+ private static ObjectMapper objectMapper = new ObjectMapper();
+
public static List extractJsonResult(N1qlQueryResult result) {
- ObjectMapper objectMapper = new ObjectMapper();
return result.allRows().stream()
- .map(row -> Try.of(() -> objectMapper.readTree(row.value().toString()))
- .getOrNull())
+ .map(row -> {
+ try {
+ return objectMapper.readTree(row.value().toString());
+ }catch (IOException e) {
+ e.printStackTrace();
+ return null;
+ }
+ })
+ .filter(Objects::nonNull)
.collect(Collectors.toList());
}
diff --git a/couchbase-sdk/src/test/java/com/baeldung/couchbase/n1ql/N1QLIntegrationTest.java b/couchbase-sdk/src/test/java/com/baeldung/couchbase/n1ql/N1QLIntegrationTest.java
index d05b107098..ab85f14c84 100644
--- a/couchbase-sdk/src/test/java/com/baeldung/couchbase/n1ql/N1QLIntegrationTest.java
+++ b/couchbase-sdk/src/test/java/com/baeldung/couchbase/n1ql/N1QLIntegrationTest.java
@@ -12,6 +12,7 @@ import com.couchbase.client.java.query.N1qlQueryResult;
import com.couchbase.client.java.query.N1qlQueryRow;
import com.couchbase.client.java.query.Statement;
import com.fasterxml.jackson.databind.JsonNode;
+import io.vavr.collection.Stream;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -29,6 +30,7 @@ import rx.Observable;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
+import java.util.stream.Collectors;
import static com.baeldung.couchbase.n1ql.CodeSnippets.extractJsonResult;
import static com.couchbase.client.java.query.Select.select;
@@ -190,23 +192,24 @@ public class N1QLIntegrationTest {
@Test
public void givenDocuments_whenBatchInsert_thenResult() {
Bucket bucket = bucketFactory.getTravelSampleBucket();
- int docsToCreate = 10;
- List documents = new ArrayList<>();
- for (int i = 5; i < docsToCreate; i++) {
+
+ List documents = Stream.rangeClosed(0,10)
+ .map( i -> {
JsonObject content = JsonObject.create()
- .put("id", i)
- .put("type", "airline")
- .put("name", "Sample Airline " + i);
- documents.add(JsonDocument.create("cust_" + i, content));
- }
+ .put("id", i)
+ .put("type", "airline")
+ .put("name", "Sample Airline " + i);
+ return JsonDocument.create("cust_" + i, content);
+ })
+ .collect(Collectors.toList());
List r5 = Observable
- .from(documents)
- .flatMap(doc -> bucket.async().insert(doc))
- .toList()
- .last()
- .toBlocking()
- .single();
+ .from(documents)
+ .flatMap(doc -> bucket.async().insert(doc))
+ .toList()
+ .last()
+ .toBlocking()
+ .single();
r5.forEach(System.out::println);
}