diff --git a/couchbase-sdk/pom.xml b/couchbase-sdk/pom.xml index d78ceb8933..819c53b038 100644 --- a/couchbase-sdk/pom.xml +++ b/couchbase-sdk/pom.xml @@ -28,12 +28,6 @@ jackson-databind ${jackson-version} - - io.vavr - vavr - ${vavr-version} - - @@ -82,7 +76,6 @@ 2.5.0 4.3.5.RELEASE 3.5 - 0.9.0 2.9.1 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..9e9f204263 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 @@ -3,18 +3,26 @@ package com.baeldung.couchbase.n1ql; import com.couchbase.client.java.query.N1qlQueryResult; 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..8112d7d222 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 @@ -1,9 +1,7 @@ package com.baeldung.couchbase.n1ql; -import com.baeldung.couchbase.n1ql.IntegrationTestConfig; import com.couchbase.client.java.Bucket; import com.couchbase.client.java.Cluster; -import com.couchbase.client.java.CouchbaseCluster; import com.couchbase.client.java.document.JsonDocument; import com.couchbase.client.java.document.json.JsonArray; import com.couchbase.client.java.document.json.JsonObject; @@ -12,30 +10,24 @@ 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 org.junit.AfterClass; -import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.TestExecutionListeners; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.support.DependencyInjectionTestExecutionListener; import rx.Observable; -import java.util.ArrayList; import java.util.List; import java.util.UUID; +import java.util.stream.Collectors; +import java.util.stream.IntStream; +import java.util.stream.Stream; import static com.baeldung.couchbase.n1ql.CodeSnippets.extractJsonResult; import static com.couchbase.client.java.query.Select.select; -import static com.couchbase.client.java.query.dsl.Expression.i; -import static com.couchbase.client.java.query.dsl.Expression.s; -import static com.couchbase.client.java.query.dsl.Expression.x; -import static org.junit.Assert.*; +import static com.couchbase.client.java.query.dsl.Expression.*; +import static org.junit.Assert.assertNotNull; + @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = { IntegrationTestConfig.class }) @@ -190,23 +182,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 = IntStream.rangeClosed(0,10) + .mapToObj( 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); }