Brian Vosburgh created JENA-2326:
------------------------------------
Summary: recent change to UpdateEngineWorker validation is
probably wrong
Key: JENA-2326
URL: https://issues.apache.org/jira/browse/JENA-2326
Project: Apache Jena
Issue Type: Bug
Components: ARQ
Affects Versions: Jena 4.5.0
Reporter: Brian Vosburgh
A validation method in {{UpdateEngineWorker}} was recently changed. (I think
the change is related to JENA-2293.)
The previous method looked like this:
{code:java}
private boolean validBinaryGraphOp(UpdateBinaryOp update) {
if ( update.getSrc().isDefault() )
return true;
if ( update.getSrc().isOneNamedGraph() ) {
Node gn = update.getSrc().getGraph();
if ( !datasetGraph.containsGraph(gn) ) {
if ( !update.getSilent() )
error("No such graph: " + gn);
return false;
}
return true;
}
error("Invalid source target for oepration; " + update.getSrc());
return false;
}
{code}
The current method looks like this:
{code:java}
private void validateBinaryGraphOp(UpdateBinaryOp update) {
if ( update.getSrc().isDefault() )
return;
if ( update.getSrc().isOneNamedGraph() ) {
Node gn = update.getSrc().getGraph();
if ( !datasetGraph.containsGraph(gn) )
throw errorEx("No such graph: " + gn);
}
throw errorEx("Invalid source target for operation; " +
update.getSrc());
}
{code}
Assuming the validation logic has not changed, the current method is
inconsistent with the previous version. To remain consistent, it should look
like this:
{code:java}
private void validateBinaryGraphOp(UpdateBinaryOp update) {
if ( update.getSrc().isDefault() )
return;
if ( update.getSrc().isOneNamedGraph() ) {
Node gn = update.getSrc().getGraph();
if ( !datasetGraph.containsGraph(gn) )
throw errorEx("No such graph: " + gn);
return;
}
throw errorEx("Invalid source target for operation; " +
update.getSrc());
}
{code}
Note the second {{return}} statement.
This is causing unexpected test failures in our product test suite.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]