[
https://issues.apache.org/jira/browse/JENA-2326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17537010#comment-17537010
]
Andy Seaborne commented on JENA-2326:
-------------------------------------
[~kqian] - thanks, very helpful.
Colleagues of OP had said that JENA-2293 worked and were also testing 4.5.0
pre-release (there is another change in 4.5.0 that might uniquely affect their
product). They have a non-Jena-project implementation of dataset and other
unique aspects.
> 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]