[ 
https://issues.apache.org/jira/browse/JENA-2326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17536863#comment-17536863
 ] 

Brian Vosburgh commented on JENA-2326:
--------------------------------------

https://github.com/apache/jena/pull/1304

> 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
>            Priority: Major
>
> 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]

Reply via email to