[
https://issues.apache.org/jira/browse/JENA-2326?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andy Seaborne resolved JENA-2326.
---------------------------------
Fix Version/s: Jena 4.6.0
Assignee: Andy Seaborne
Resolution: Fixed
> 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
> Assignee: Andy Seaborne
> Priority: Major
> Fix For: Jena 4.6.0
>
>
> 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]