use of ai.grakn.rpc.generated.GrpcGrakn.TxResponse in project grakn by graknlabs.
the class TxObserver method getConcept.
private void getConcept(GrpcConcept.ConceptId conceptId) {
Optional<Concept> concept = Optional.ofNullable(tx().getConcept(GrpcUtil.convert(conceptId)));
TxResponse response = TxResponse.newBuilder().setOptionalConcept(GrpcUtil.convertOptionalConcept(concept)).build();
responseObserver.onNext(response);
}
use of ai.grakn.rpc.generated.GrpcGrakn.TxResponse in project grakn by graknlabs.
the class TxObserver method getSchemaConcept.
private void getSchemaConcept(GrpcConcept.Label label) {
Optional<Concept> concept = Optional.ofNullable(tx().getSchemaConcept(GrpcUtil.convert(label)));
TxResponse response = TxResponse.newBuilder().setOptionalConcept(GrpcUtil.convertOptionalConcept(concept)).build();
responseObserver.onNext(response);
}
use of ai.grakn.rpc.generated.GrpcGrakn.TxResponse in project grakn by graknlabs.
the class TxObserver method next.
private void next(Next next) {
IteratorId iteratorId = next.getIteratorId();
TxResponse response = grpcIterators.next(iteratorId).orElseThrow(() -> GrpcGraknService.error(Status.FAILED_PRECONDITION));
responseObserver.onNext(response);
}
use of ai.grakn.rpc.generated.GrpcGrakn.TxResponse in project grakn by graknlabs.
the class RemoteGraknTxTest method whenExecutingAQueryWithASingleAnswer_GetAnAnswerBack.
@Test
public void whenExecutingAQueryWithASingleAnswer_GetAnAnswerBack() {
Query<?> query = define(label("person").sub("entity"));
String queryString = query.toString();
GrpcConcept.Concept v123 = GrpcConcept.Concept.newBuilder().setId(V123).build();
GrpcGrakn.Answer grpcAnswer = GrpcGrakn.Answer.newBuilder().putAnswer("x", v123).build();
QueryResult queryResult = QueryResult.newBuilder().setAnswer(grpcAnswer).build();
TxResponse response = TxResponse.newBuilder().setQueryResult(queryResult).build();
server.setResponseSequence(GrpcUtil.execQueryRequest(query), response);
Answer answer;
try (GraknTx tx = RemoteGraknTx.create(session, GrpcUtil.openRequest(KEYSPACE, GraknTxType.WRITE))) {
// The open request
verify(server.requests()).onNext(any());
answer = tx.graql().<DefineQuery>parse(queryString).execute();
}
assertEquals(answer.vars(), ImmutableSet.of(var("x")));
assertEquals(ConceptId.of("V123"), answer.get(var("x")).getId());
}
use of ai.grakn.rpc.generated.GrpcGrakn.TxResponse in project grakn by graknlabs.
the class RemoteGraknTxTest method whenStreamingAQueryWithInfiniteAnswers_Terminate.
@Test(timeout = 5_000)
public void whenStreamingAQueryWithInfiniteAnswers_Terminate() {
Query<?> query = match(var("x").sub("thing")).get();
String queryString = query.toString();
GrpcConcept.Concept v123 = GrpcConcept.Concept.newBuilder().setId(V123).build();
GrpcGrakn.Answer grpcAnswer = GrpcGrakn.Answer.newBuilder().putAnswer("x", v123).build();
QueryResult queryResult = QueryResult.newBuilder().setAnswer(grpcAnswer).build();
TxResponse response = TxResponse.newBuilder().setQueryResult(queryResult).build();
server.setResponse(GrpcUtil.execQueryRequest(query), GrpcUtil.iteratorResponse(ITERATOR));
server.setResponse(GrpcUtil.nextRequest(ITERATOR), response);
List<Answer> answers;
int numAnswers = 10;
try (GraknTx tx = RemoteGraknTx.create(session, GrpcUtil.openRequest(KEYSPACE, GraknTxType.WRITE))) {
// The open request
verify(server.requests()).onNext(any());
answers = tx.graql().<GetQuery>parse(queryString).stream().limit(numAnswers).collect(toList());
}
assertEquals(10, answers.size());
for (Answer answer : answers) {
assertEquals(answer.vars(), ImmutableSet.of(var("x")));
assertEquals(ConceptId.of("V123"), answer.get(var("x")).getId());
}
}
Aggregations