[
https://issues.apache.org/jira/browse/JENA-2326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17536998#comment-17536998
]
ASF subversion and git services commented on JENA-2326:
-------------------------------------------------------
Commit 52dd6c4419f1508f67528e415e870a64880865b4 in jena's branch
refs/heads/main from Andy Seaborne
[ https://gitbox.apache.org/repos/asf?p=jena.git;h=52dd6c4419 ]
Merge pull request #1304 from TopQuadrant/JENA-2326
JENA-2326: fix and test UpdateEngineWork validation
> 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]