use of org.apache.rya.indexing.pcj.fluo.api.ListFluoQueries.FluoQueryStringBuilder in project incubator-rya by apache.
the class ListFluoQueriesIT method queryMetadataTest.
@Test
public void queryMetadataTest() throws Exception {
final FluoQueryMetadataDAO dao = new FluoQueryMetadataDAO();
String sparql1 = "select ?x ?y ?z where {?x <uri:p1> ?y; <uri:p2> 'literal1'. ?y <uri:p3> ?z }";
String sparql2 = "select ?x ?y ?z where {{select ?x ?y ?z {?x <uri:p1> ?y; <uri:p2> ?z. ?y <uri:p3> ?z }}}";
// Create the object that will be serialized.
String queryId1 = NodeType.generateNewFluoIdForType(NodeType.QUERY);
final QueryMetadata.Builder builder = QueryMetadata.builder(queryId1);
builder.setQueryType(QueryType.PROJECTION);
builder.setVarOrder(new VariableOrder("y;s;d"));
builder.setSparql(sparql1);
builder.setChildNodeId("childNodeId");
builder.setExportStrategies(new HashSet<>(Arrays.asList(ExportStrategy.KAFKA)));
final QueryMetadata meta1 = builder.build();
String queryId2 = NodeType.generateNewFluoIdForType(NodeType.QUERY);
final QueryMetadata.Builder builder2 = QueryMetadata.builder(queryId2);
builder2.setQueryType(QueryType.PROJECTION);
builder2.setVarOrder(new VariableOrder("y;s;d"));
builder2.setSparql(sparql2);
builder2.setChildNodeId("childNodeId");
builder2.setExportStrategies(new HashSet<>(Arrays.asList(ExportStrategy.RYA)));
final QueryMetadata meta2 = builder2.build();
try (FluoClient fluoClient = FluoFactory.newClient(super.getFluoConfiguration())) {
// Write it to the Fluo table.
try (Transaction tx = fluoClient.newTransaction()) {
dao.write(tx, meta1);
dao.write(tx, meta2);
tx.commit();
}
ListFluoQueries listFluoQueries = new ListFluoQueries();
List<String> queries = listFluoQueries.listFluoQueries(fluoClient);
FluoQueryStringBuilder queryBuilder1 = new FluoQueryStringBuilder();
String expected1 = queryBuilder1.setQueryId(queryId1).setQueryType(QueryType.PROJECTION).setQuery(sparql1).setExportStrategies(Sets.newHashSet(ExportStrategy.KAFKA)).build();
FluoQueryStringBuilder queryBuilder2 = new FluoQueryStringBuilder();
String expected2 = queryBuilder2.setQueryId(queryId2).setQueryType(QueryType.PROJECTION).setQuery(sparql2).setExportStrategies(Sets.newHashSet(ExportStrategy.RYA)).build();
Set<String> expected = new HashSet<>();
expected.add(expected1);
expected.add(expected2);
Assert.assertEquals(expected, Sets.newHashSet(queries));
}
}
Aggregations