org.apache.tinkerpop.gremlin.driver.Result Java Examples
The following examples show how to use
org.apache.tinkerpop.gremlin.driver.Result.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 6 votes |
@Test public void shouldIterate() throws Exception { final Cluster cluster = TestClientFactory.open(); final Client client = cluster.connect(); final ResultSet results = client.submit("[1,2,3,4,5,6,7,8,9]"); final Iterator<Result> itty = results.iterator(); final AtomicInteger counter = new AtomicInteger(0); while (itty.hasNext()) { counter.incrementAndGet(); assertEquals(counter.get(), itty.next().getInt()); } assertEquals(9, counter.get()); assertThat(results.allItemsAvailable(), is(true)); // can't stream it again assertThat(results.iterator().hasNext(), is(false)); cluster.close(); }
Example #2
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 6 votes |
@Test public void shouldSerializeToStringWhenRequestedGryoV1() throws Exception { final Map<String, Object> m = new HashMap<>(); m.put("serializeResultToString", true); final GryoMessageSerializerV1d0 serializer = new GryoMessageSerializerV1d0(); serializer.configure(m, null); final Cluster cluster = TestClientFactory.build().serializer(serializer).create(); final Client client = cluster.connect(); final ResultSet resultSet = client.submit("TinkerFactory.createClassic()"); final List<Result> results = resultSet.all().join(); assertEquals(1, results.size()); assertEquals("tinkergraph[vertices:6 edges:6]", results.get(0).getString()); cluster.close(); }
Example #3
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 6 votes |
@Test public void shouldProcessRequestsOutOfOrder() throws Exception { final Cluster cluster = TestClientFactory.open(); final Client client = cluster.connect(); final ResultSet rsFive = client.submit("Thread.sleep(5000);'five'"); final ResultSet rsZero = client.submit("'zero'"); final CompletableFuture<List<Result>> futureFive = rsFive.all(); final CompletableFuture<List<Result>> futureZero = rsZero.all(); final long start = System.nanoTime(); assertFalse(futureFive.isDone()); assertEquals("zero", futureZero.get().get(0).getString()); logger.info("Eval of 'zero' complete: " + TimeUtil.millisSince(start)); assertFalse(futureFive.isDone()); assertEquals("five", futureFive.get(10, TimeUnit.SECONDS).get(0).getString()); logger.info("Eval of 'five' complete: " + TimeUtil.millisSince(start)); }
Example #4
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 6 votes |
@Test public void shouldSerializeToStringWhenRequestedGryoV3() throws Exception { final Map<String, Object> m = new HashMap<>(); m.put("serializeResultToString", true); final GryoMessageSerializerV3d0 serializer = new GryoMessageSerializerV3d0(); serializer.configure(m, null); final Cluster cluster = TestClientFactory.build().serializer(serializer).create(); final Client client = cluster.connect(); final ResultSet resultSet = client.submit("TinkerFactory.createClassic()"); final List<Result> results = resultSet.all().join(); assertEquals(1, results.size()); assertEquals("tinkergraph[vertices:6 edges:6]", results.get(0).getString()); cluster.close(); }
Example #5
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 6 votes |
@Test public void shouldWorkWithGraphSONV3Serialization() throws Exception { final Cluster cluster = TestClientFactory.build().serializer(Serializers.GRAPHSON_V3D0).create(); final Client client = cluster.connect(); final List<Result> r = client.submit("TinkerFactory.createModern().traversal().V(1)").all().join(); assertEquals(1, r.size()); final Vertex v = r.get(0).get(DetachedVertex.class); assertEquals(1, v.id()); assertEquals("person", v.label()); assertEquals(2, IteratorUtils.count(v.properties())); assertEquals("marko", v.value("name")); assertEquals(29, Integer.parseInt(v.value("age").toString())); cluster.close(); }
Example #6
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 6 votes |
@Test public void shouldWorkWithGraphSONV2Serialization() throws Exception { final Cluster cluster = TestClientFactory.build().serializer(Serializers.GRAPHSON_V2D0).create(); final Client client = cluster.connect(); final List<Result> r = client.submit("TinkerFactory.createModern().traversal().V(1)").all().join(); assertEquals(1, r.size()); final Vertex v = r.get(0).get(DetachedVertex.class); assertEquals(1, v.id()); assertEquals("person", v.label()); assertEquals(2, IteratorUtils.count(v.properties())); assertEquals("marko", v.value("name")); assertEquals(29, Integer.parseInt(v.value("age").toString())); cluster.close(); }
Example #7
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldSerializeToStringWhenRequestedGraphBinaryV1() throws Exception { final Map<String, Object> m = new HashMap<>(); m.put("serializeResultToString", true); final GraphBinaryMessageSerializerV1 serializer = new GraphBinaryMessageSerializerV1(); serializer.configure(m, null); final Cluster cluster = TestClientFactory.build().serializer(serializer).create(); final Client client = cluster.connect(); final ResultSet resultSet = client.submit("TinkerFactory.createClassic()"); final List<Result> results = resultSet.all().join(); assertEquals(1, results.size()); assertEquals("tinkergraph[vertices:6 edges:6]", results.get(0).getString()); cluster.close(); }
Example #8
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldGetOneThenSomeThenSomeMore() throws Exception { final Cluster cluster = TestClientFactory.open(); final Client client = cluster.connect(); final ResultSet results = client.submit("[1,2,3,4,5,6,7,8,9]"); final Result one = results.one(); final CompletableFuture<List<Result>> batch1 = results.some(4); final CompletableFuture<List<Result>> batch2 = results.some(5); final CompletableFuture<List<Result>> batchNothingLeft = results.some(5); assertEquals(1, one.getInt()); assertEquals(4, batch1.get().size()); assertEquals(2, batch1.get().get(0).getInt()); assertEquals(3, batch1.get().get(1).getInt()); assertEquals(4, batch1.get().get(2).getInt()); assertEquals(5, batch1.get().get(3).getInt()); assertEquals(4, batch2.get().size()); assertEquals(6, batch2.get().get(0).getInt()); assertEquals(7, batch2.get().get(1).getInt()); assertEquals(8, batch2.get().get(2).getInt()); assertEquals(9, batch2.get().get(3).getInt()); assertEquals(0, batchNothingLeft.get().size()); cluster.close(); }
Example #9
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldDeserializeWithCustomClassesV1() throws Exception { final Map<String, Object> m = new HashMap<>(); m.put("custom", Collections.singletonList(String.format("%s;%s", JsonBuilder.class.getCanonicalName(), JsonBuilderGryoSerializer.class.getCanonicalName()))); final GryoMessageSerializerV1d0 serializer = new GryoMessageSerializerV1d0(); serializer.configure(m, null); final Cluster cluster = TestClientFactory.build().serializer(serializer).create(); final Client client = cluster.connect(); final List<Result> json = client.submit("b = new groovy.json.JsonBuilder();b.people{person {fname 'stephen'\nlname 'mallette'}};b").all().join(); assertEquals("{\"people\":{\"person\":{\"fname\":\"stephen\",\"lname\":\"mallette\"}}}", json.get(0).getString()); cluster.close(); }
Example #10
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldDeserializeWithCustomClassesV3() throws Exception { final Map<String, Object> m = new HashMap<>(); m.put("custom", Collections.singletonList(String.format("%s;%s", JsonBuilder.class.getCanonicalName(), JsonBuilderGryoSerializer.class.getCanonicalName()))); final GryoMessageSerializerV3d0 serializer = new GryoMessageSerializerV3d0(); serializer.configure(m, null); final Cluster cluster = TestClientFactory.build().serializer(serializer).create(); final Client client = cluster.connect(); final List<Result> json = client.submit("b = new groovy.json.JsonBuilder();b.people{person {fname 'stephen'\nlname 'mallette'}};b").all().join(); assertEquals("{\"people\":{\"person\":{\"fname\":\"stephen\",\"lname\":\"mallette\"}}}", json.get(0).getString()); cluster.close(); }
Example #11
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldWorkWithGraphSONV1Serialization() throws Exception { final Cluster cluster = TestClientFactory.build().serializer(Serializers.GRAPHSON_V1D0).create(); final Client client = cluster.connect(); final List<Result> r = client.submit("TinkerFactory.createModern().traversal().V(1)").all().join(); assertEquals(1, r.size()); final Map<String,Object> m = r.get(0).get(Map.class); assertEquals(4, m.size()); assertEquals(1, m.get("id")); assertEquals("person", m.get("label")); assertEquals("vertex", m.get("type")); final Map<String,Object> properties = (Map<String,Object>) m.get("properties"); assertEquals(2, properties.size()); final List<Object> names = (List<Object>) properties.get("name"); assertEquals(1, names.size()); final Map<String,Object> nameProperties = (Map<String,Object>) names.get(0); assertEquals(2, nameProperties.size()); assertEquals(0l, nameProperties.get("id")); assertEquals("marko", nameProperties.get("value")); final List<Object> ages = (List<Object>) properties.get("age"); assertEquals(1, ages.size()); final Map<String,Object> ageProperties = (Map<String,Object>) ages.get(0); assertEquals(2, ageProperties.size()); assertEquals(1l, ageProperties.get("id")); assertEquals(29, ageProperties.get("value")); cluster.close(); }
Example #12
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldWorkWithGraphSONExtendedV2Serialization() throws Exception { final Cluster cluster = TestClientFactory.build().serializer(Serializers.GRAPHSON_V2D0).create(); final Client client = cluster.connect(); final Instant now = Instant.now(); final List<Result> r = client.submit("java.time.Instant.ofEpochMilli(" + now.toEpochMilli() + ")").all().join(); assertEquals(1, r.size()); final Instant then = r.get(0).get(Instant.class); assertEquals(now, then); cluster.close(); }
Example #13
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldWorkWithGraphSONExtendedV3Serialization() throws Exception { final Cluster cluster = TestClientFactory.build().serializer(Serializers.GRAPHSON_V3D0).create(); final Client client = cluster.connect(); final Instant now = Instant.now(); final List<Result> r = client.submit("java.time.Instant.ofEpochMilli(" + now.toEpochMilli() + ")").all().join(); assertEquals(1, r.size()); final Instant then = r.get(0).get(Instant.class); assertEquals(now, then); cluster.close(); }
Example #14
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldWorkWithGraphBinaryV1Serialization() throws Exception { final Cluster cluster = TestClientFactory.build().serializer(Serializers.GRAPHBINARY_V1D0).create(); final Client client = cluster.connect(); final List<Result> r = client.submit("TinkerFactory.createModern().traversal().V(1)").all().join(); assertEquals(1, r.size()); final Vertex v = r.get(0).get(ReferenceVertex.class); assertEquals(1, v.id()); assertEquals("person", v.label()); cluster.close(); }
Example #15
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
private void assertFutureTimeout(final CompletableFuture<List<Result>> futureFirst) { try { futureFirst.get(); fail("Should have timed out"); } catch (Exception ex) { final Throwable root = ExceptionUtils.getRootCause(ex); assertThat(root, instanceOf(ResponseException.class)); assertThat(root.getMessage(), startsWith("Evaluation exceeded the configured 'evaluationTimeout' threshold of 250 ms")); } }
Example #16
Source File: GremlinResultSetIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldHandleVertexResultFromTraversalBulked() throws Exception { final Graph graph = TinkerGraph.open(); final GraphTraversalSource g = graph.traversal(); final Client aliased = client.alias("gmodern"); final ResultSet resultSetUnrolled = aliased.submit(g.V().both().barrier().both().barrier()); final List<Result> results = resultSetUnrolled.all().get(); assertThat(results.get(0).getObject(), CoreMatchers.instanceOf(Traverser.class)); assertEquals(6, results.size()); }
Example #17
Source File: GremlinResultSetIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldHandleMapIteratedResult() throws Exception { final ResultSet results = client.submit("gmodern.V().groupCount().by(bothE().count())"); final List<Result> resultList = results.all().get(); final Map m = resultList.get(0).get(HashMap.class); assertEquals(2, m.size()); assertEquals(3L, m.get(1L)); assertEquals(3L, m.get(3L)); }
Example #18
Source File: GremlinClientService.java From nifi with Apache License 2.0 | 5 votes |
public Map<String, String> doQuery(String query, Map<String, Object> parameters, GraphQueryResultCallback handler) { try { Iterator<Result> iterator = client.submit(query, parameters).iterator(); long count = 0; while (iterator.hasNext()) { Result result = iterator.next(); Object obj = result.getObject(); if (obj instanceof Map) { handler.process((Map)obj, iterator.hasNext()); } else { handler.process(new HashMap<String, Object>(){{ put("result", obj); }}, iterator.hasNext()); } count++; } Map<String, String> resultAttributes = new HashMap<>(); resultAttributes.put(NODES_CREATED, NOT_SUPPORTED); resultAttributes.put(RELATIONS_CREATED, NOT_SUPPORTED); resultAttributes.put(LABELS_ADDED, NOT_SUPPORTED); resultAttributes.put(NODES_DELETED, NOT_SUPPORTED); resultAttributes.put(RELATIONS_DELETED, NOT_SUPPORTED); resultAttributes.put(PROPERTIES_SET, NOT_SUPPORTED); resultAttributes.put(ROWS_RETURNED, String.valueOf(count)); return resultAttributes; } catch (Exception ex) { throw new ProcessException(ex); } }
Example #19
Source File: DriverRemoteAcceptorIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldConnectAndReturnVerticesWithAnAlias() throws Exception { assertThat(acceptor.connect(Collections.singletonList(Storage.toPath(TestHelper.generateTempFileFromResource(this.getClass(), "remote.yaml", ".tmp")))).toString(), startsWith("Configured ")); acceptor.configure(Arrays.asList("alias", "x", "g")); assertThat(IteratorUtils.list(((Iterator<String>) acceptor.submit(Collections.singletonList("x.addVertex('name','stephen');x.addVertex('name','marko');x.traversal().V()")))), hasSize(2)); assertThat(((List<Result>) groovysh.getInterp().getContext().getProperty(DriverRemoteAcceptor.RESULT)).stream().map(Result::getString).collect(Collectors.toList()), hasSize(2)); }
Example #20
Source File: DriverRemoteAcceptor.java From tinkerpop with Apache License 2.0 | 5 votes |
@Override public Object submit(final List<String> args) throws RemoteException { final String line = getScript(String.join(" ", args), this.shellEnvironment); try { final List<Result> resultSet = send(line); this.shellEnvironment.setVariable(RESULT, resultSet); return resultSet.stream().map(result -> result.getObject()).iterator(); } catch (SaslException sasl) { throw new RemoteException("Security error - check username/password and related settings", sasl); } catch (Exception ex) { final Optional<ResponseException> inner = findResponseException(ex); if (inner.isPresent()) { final ResponseException responseException = inner.get(); if (responseException.getResponseStatusCode() == ResponseStatusCode.SERVER_ERROR_TIMEOUT) { throw new RemoteException(String.format("%s - try increasing the timeout with the :remote command", responseException.getMessage())); } else if (responseException.getResponseStatusCode() == ResponseStatusCode.SERVER_ERROR_SERIALIZATION) throw new RemoteException(String.format( "Server could not serialize the result requested. Server error - %s. Note that the class must be serializable by the client and server for proper operation.", responseException.getMessage()), responseException.getRemoteStackTrace().orElse(null)); else throw new RemoteException(responseException.getMessage(), responseException.getRemoteStackTrace().orElse(null)); } else if (ex.getCause() != null) { final Throwable rootCause = ExceptionUtils.getRootCause(ex); if (rootCause instanceof TimeoutException) throw new RemoteException("Host did not respond in a timely fashion - check the server status and submit again."); else throw new RemoteException(rootCause.getMessage()); } else { throw new RemoteException(ex.getMessage()); } } }
Example #21
Source File: DriverRemoteAcceptor.java From tinkerpop with Apache License 2.0 | 5 votes |
private List<Result> send(final String gremlin) throws SaslException { try { final RequestOptions.Builder options = RequestOptions.build(); aliases.forEach(options::addAlias); if (timeout > NO_TIMEOUT) options.timeout(timeout); options.userAgent(USER_AGENT); final ResultSet rs = this.currentClient.submit(gremlin, options.create()); final List<Result> results = rs.all().get(); final Map<String, Object> statusAttributes = rs.statusAttributes().getNow(null); // Check for and print warnings if (null != statusAttributes && statusAttributes.containsKey(Tokens.STATUS_ATTRIBUTE_WARNINGS)) { final Object warningAttributeObject = statusAttributes.get(Tokens.STATUS_ATTRIBUTE_WARNINGS); if (warningAttributeObject instanceof List) { for (Object warningListItem : (List<?>)warningAttributeObject) shellEnvironment.errPrintln(String.valueOf(warningListItem)); } else { shellEnvironment.errPrintln(String.valueOf(warningAttributeObject)); } } return results; } catch (Exception e) { // handle security error as-is and unwrapped final Optional<Throwable> throwable = Stream.of(ExceptionUtils.getThrowables(e)).filter(t -> t instanceof SaslException).findFirst(); if (throwable.isPresent()) throw (SaslException) throwable.get(); throw new IllegalStateException(e.getMessage(), e); } }
Example #22
Source File: DriverRemoteAcceptorIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldConnectAndSubmitSession() throws Exception { assertThat(acceptor.connect(Arrays.asList(Storage.toPath(TestHelper.generateTempFileFromResource(this.getClass(), "remote.yaml", ".tmp")), "session")).toString(), startsWith("Configured ")); assertEquals("1", ((Iterator) acceptor.submit(Collections.singletonList("x = 1"))).next()); assertEquals("0", ((Iterator) acceptor.submit(Collections.singletonList("x - 1"))).next()); assertEquals("0", ((List<Result>) groovysh.getInterp().getContext().getProperty(DriverRemoteAcceptor.RESULT)).iterator().next().getString()); }
Example #23
Source File: DriverRemoteAcceptorIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldConnectAndSubmitManagedSession() throws Exception { assertThat(acceptor.connect(Arrays.asList(Storage.toPath(TestHelper.generateTempFileFromResource(this.getClass(), "remote.yaml", ".tmp")), "session-managed")).toString(), startsWith("Configured ")); assertEquals("1", ((Iterator) acceptor.submit(Collections.singletonList("x = 1"))).next()); assertEquals("0", ((Iterator) acceptor.submit(Collections.singletonList("x - 1"))).next()); assertEquals("0", ((List<Result>) groovysh.getInterp().getContext().getProperty(DriverRemoteAcceptor.RESULT)).iterator().next().getString()); }
Example #24
Source File: OpenCypherGremlinDatabase.java From jetbrains-plugin-graph-database-support with Apache License 2.0 | 5 votes |
@Override @SuppressWarnings("unchecked") public GraphMetadata metadata() { Client gremlinClient = cluster.connect(); try { List<Result> labels = gremlinClient.submit("g.V().label().groupCount()").all().get(); Map<String, Number> labelResult = labels.stream() .map(r -> r.get(Map.class)) .map(r -> (Map<String, Number>) r) .flatMap(m -> m.entrySet().stream()) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); List<Result> rels = gremlinClient.submit("g.E().label().groupCount()").all().get(); Map<String, Number> relResult = rels.stream() .map(r -> r.get(Map.class)) .map(r -> (Map<String, Number>) r) .flatMap(m -> m.entrySet().stream()) .collect((Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue))); List<Result> vertexProp = gremlinClient.submit("g.V().properties().key().dedup()").all().get(); List<String> vertexPropResult = vertexProp.stream() .map(Result::getString) .collect(toList()); List<Result> edgeProp = gremlinClient.submit("g.E().properties().key().dedup()").all().get(); List<String> edgePropResult = edgeProp.stream() .map(Result::getString) .collect(toList()); return new OpenCypherGremlinGraphMetadata(labelResult, relResult, vertexPropResult, edgePropResult); } catch (InterruptedException | ExecutionException e) { String exceptionMessage = wrapExceptionInMeaningMessage(e); throw new OpenCypherGremlinException(exceptionMessage, e); } finally { gremlinClient.close(); } }
Example #25
Source File: DriverRemoteAcceptorIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldConnectAndSubmitInSession() throws Exception { assertThat(acceptor.connect(Arrays.asList(Storage.toPath(TestHelper.generateTempFileFromResource(this.getClass(), "remote.yaml", ".tmp")), "session")).toString(), startsWith("Configured ")); assertEquals("2", ((Iterator) acceptor.submit(Collections.singletonList("x=1+1"))).next()); assertEquals("2", ((List<Result>) groovysh.getInterp().getContext().getProperty(DriverRemoteAcceptor.RESULT)).iterator().next().getString()); assertEquals("4", ((Iterator) acceptor.submit(Collections.singletonList("x+2"))).next()); assertEquals("4", ((List<Result>) groovysh.getInterp().getContext().getProperty(DriverRemoteAcceptor.RESULT)).iterator().next().getString()); }
Example #26
Source File: DriverRemoteAcceptorIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldConnectAndSubmitInNamedSession() throws Exception { assertThat(acceptor.connect(Arrays.asList(Storage.toPath(TestHelper.generateTempFileFromResource(this.getClass(), "remote.yaml", ".tmp")), "session", "AAA")).toString(), startsWith("Configured ")); assertEquals("2", ((Iterator) acceptor.submit(Collections.singletonList("x=1+1"))).next()); assertEquals("2", ((List<Result>) groovysh.getInterp().getContext().getProperty(DriverRemoteAcceptor.RESULT)).iterator().next().getString()); assertEquals("4", ((Iterator) acceptor.submit(Collections.singletonList("x+2"))).next()); assertEquals("4", ((List<Result>) groovysh.getInterp().getContext().getProperty(DriverRemoteAcceptor.RESULT)).iterator().next().getString()); }
Example #27
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldProcessSessionRequestsInOrder() throws Exception { final Cluster cluster = TestClientFactory.open(); final Client client = cluster.connect(name.getMethodName()); final ResultSet rsFive = client.submit("Thread.sleep(5000);'five'"); final ResultSet rsZero = client.submit("'zero'"); final CompletableFuture<List<Result>> futureFive = rsFive.all(); final CompletableFuture<List<Result>> futureZero = rsZero.all(); final CountDownLatch latch = new CountDownLatch(2); final List<String> order = new ArrayList<>(); final ExecutorService executor = Executors.newSingleThreadExecutor(); futureFive.thenAcceptAsync(r -> { order.add(r.get(0).getString()); latch.countDown(); }, executor); futureZero.thenAcceptAsync(r -> { order.add(r.get(0).getString()); latch.countDown(); }, executor); // wait for both results latch.await(30000, TimeUnit.MILLISECONDS); // should be two results assertEquals(2, order.size()); // ensure that "five" is first then "zero" assertThat(order, contains("five", "zero")); }
Example #28
Source File: GremlinDriverIntegrateTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void shouldGetSomeThenSomeMore() throws Exception { final Cluster cluster = TestClientFactory.open(); final Client client = cluster.connect(); final ResultSet results = client.submit("[1,2,3,4,5,6,7,8,9]"); final CompletableFuture<List<Result>> batch1 = results.some(5); final CompletableFuture<List<Result>> batch2 = results.some(5); final CompletableFuture<List<Result>> batchNothingLeft = results.some(5); assertEquals(5, batch1.get().size()); assertEquals(1, batch1.get().get(0).getInt()); assertEquals(2, batch1.get().get(1).getInt()); assertEquals(3, batch1.get().get(2).getInt()); assertEquals(4, batch1.get().get(3).getInt()); assertEquals(5, batch1.get().get(4).getInt()); assertEquals(4, batch2.get().size()); assertEquals(6, batch2.get().get(0).getInt()); assertEquals(7, batch2.get().get(1).getInt()); assertEquals(8, batch2.get().get(2).getInt()); assertEquals(9, batch2.get().get(3).getInt()); assertEquals(0, batchNothingLeft.get().size()); cluster.close(); }
Example #29
Source File: DriverRemoteAcceptorIntegrateTest.java From tinkerpop with Apache License 2.0 | 4 votes |
@Test public void shouldConnectAndSubmitForNull() throws Exception { assertThat(acceptor.connect(Collections.singletonList(Storage.toPath(TestHelper.generateTempFileFromResource(this.getClass(), "remote.yaml", ".tmp")))).toString(), startsWith("Configured ")); assertThat(IteratorUtils.list(((Iterator<String>) acceptor.submit(Collections.singletonList("g.traversal().V().drop().iterate();null")))), contains("null")); assertThat(((List<Result>) groovysh.getInterp().getContext().getProperty(DriverRemoteAcceptor.RESULT)).stream().map(Result::getObject).collect(Collectors.toList()), contains("null")); }
Example #30
Source File: DriverRemoteTraversal.java From tinkerpop with Apache License 2.0 | 4 votes |
public TraverserIterator(final Iterator<Result> resultIterator) { inner = resultIterator; }