Caleb Meier created RYA-214:
-------------------------------
Summary: Query Metadata Input Validation for CreatePcj
Key: RYA-214
URL: https://issues.apache.org/jira/browse/RYA-214
Project: Rya
Issue Type: Bug
Components: clients
Affects Versions: 3.2.10
Reporter: Caleb Meier
Fix For: 3.2.10
When the method CreatePcj#withRyaIntegration is called, it creates the query
metadata for Fluo and then populates Fluo with historical results form Rya.
Before the metadata gets inserted, it's necessary to verify that the parsed
query only consists of StatementPatterns, Joins, Leftjoins, Filters, and a
Projection -- these are the only nodes that currently have observers
implemented. Right now there is a visitor which attempts to verify this -- it
has a meet method for each of the allowed node types -- but it has no meet
method for other node types that are not allowed so it just skips these nodes.
So in effect, for a given query, this visitor goes through and creates metadata
only for nodes that are allowed in Fluo, and ignores invalid nodes. The bug
here is that if the user attempts to insert a query with an invalid query node
into Fluo, this method will insert a different query into Fluo (the query
obtained from the original by removing the invalid nodes). The input validation
visitor should traverse the query, creating metadata, and either insert all of
the metadata if the visitor traverses the entire query without encountering an
invalid node, or throw an exception if an invalid node is an encountered.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)