This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git

commit 6c61eac941d98be140a05f3bfd4bea4bacd19da2
Author: Andy Seaborne <[email protected]>
AuthorDate: Sun Mar 2 10:12:21 2025 +0000

    Reformat; fix comments
---
 .../algebra/optimize/TransformScopeRename.java     | 104 +++++++--------
 .../java/org/apache/jena/sparql/engine/Rename.java |   1 -
 .../java/org/apache/jena/sparql/expr/ExprLib.java  | 134 ++++++++++---------
 .../java/org/apache/jena/sparql/expr/ExprVar.java  | 142 ++++++++++-----------
 .../org/apache/jena/sparql/expr/NodeValue.java     |  46 +++----
 .../apache/jena/sparql/graph/NodeTransform.java    |   6 +-
 .../jena/sparql/graph/NodeTransformExpr.java       |   8 +-
 .../apache/jena/sparql/graph/NodeTransformOp.java  |   6 +-
 .../QuerySyntaxSubstituteScope.java                |   2 +-
 .../syntaxtransform/TestQuerySyntaxSubstitute.java |  46 +++----
 10 files changed, 229 insertions(+), 266 deletions(-)

diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformScopeRename.java
 
b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformScopeRename.java
index 18845c10a8..7b66675dee 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformScopeRename.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformScopeRename.java
@@ -18,101 +18,85 @@
 
 package org.apache.jena.sparql.algebra.optimize;
 
-import org.apache.jena.sparql.algebra.Op ;
-import org.apache.jena.sparql.algebra.OpVisitorByTypeBase ;
-import org.apache.jena.sparql.algebra.TransformCopy ;
-import org.apache.jena.sparql.algebra.Transformer ;
-import org.apache.jena.sparql.algebra.op.OpModifier ;
-import org.apache.jena.sparql.algebra.op.OpProject ;
-import org.apache.jena.sparql.engine.Rename ;
+import org.apache.jena.sparql.algebra.Op;
+import org.apache.jena.sparql.algebra.OpVisitorByTypeBase;
+import org.apache.jena.sparql.algebra.TransformCopy;
+import org.apache.jena.sparql.algebra.Transformer;
+import org.apache.jena.sparql.algebra.op.OpModifier;
+import org.apache.jena.sparql.algebra.op.OpProject;
+import org.apache.jena.sparql.engine.Rename;
 
-/** Rename variables so that names can be treated globally.
- *  (project) and (group) can hide variables, but we only
- *  need to account for OpProject because group is never
- *  executed linearly. 
+/**
+ * Rename variables so that names can be treated globally. (project) and 
(group) can
+ * hide variables, but we only need to account for OpProject because group is 
never
+ * executed linearly.
  */
 
-public class TransformScopeRename
-{
+public class TransformScopeRename {
     // Is there an OpProject before any pattern algebra operators?
     // We don't need to rename through this one.
 
     // Track OpProject
 
-    public static Op transform(Op op)
-    {
-        return new TransformScopeRename$(op).work() ;
+    public static Op transform(Op op) {
+        return new TransformScopeRename$(op).work();
     }
 
-    private static class TransformScopeRename$
-    {
-        private boolean outerMostOpProject = false ;
-        private int projectRenameDepth = 0 ;
-        private int projectCount = 0 ;
-        
-        private Op op ;
+    private static class TransformScopeRename$ {
+        private boolean outerMostOpProject = false;
+        private int projectRenameDepth = 0;
+        private int projectCount = 0;
 
-        public TransformScopeRename$(Op op)
-        {
-            this.op = op ;
-            {
-                Op op2 = op ;
-                while( op2 instanceof OpModifier )
-                {
-                    // If already true ...
-                    if ( op2 instanceof OpProject )
-                    {
-                        outerMostOpProject = true ;
-                        break ;
-                    }
-                    op2 = ((OpModifier)op2).getSubOp() ;
+        private Op op;
+
+        public TransformScopeRename$(Op op) {
+            this.op = op;
+            Op op2 = op;
+            while (op2 instanceof OpModifier) {
+                // If already true ...
+                if ( op2 instanceof OpProject ) {
+                    outerMostOpProject = true;
+                    break;
                 }
+                op2 = ((OpModifier)op2).getSubOp();
             }
             // Set the project counter: renaming begins when this hits one.
             // Set 2 to there is a project in the top-most OpModifers.
             // This does not cause a rename so start renaming at depth .
             // otherwise rename from depth 1.
             if ( outerMostOpProject )
-                projectRenameDepth = 2 ;
+                projectRenameDepth = 2;
             else
                 projectRenameDepth = 1;
         }
-        
-        public Op work()
-        {
-            return Transformer.transform(new RenameByScope(), op, new 
BeforeWalk(), new AfterWalk()) ;   
-        }
 
+        public Op work() {
+            return Transformer.transform(new RenameByScope(), op, new 
BeforeWalk(), new AfterWalk());
+        }
 
-        private class BeforeWalk extends OpVisitorByTypeBase
-        {
+        private class BeforeWalk extends OpVisitorByTypeBase {
             @Override
-            public void visit(OpProject opProject)
-            {
-                projectCount++ ;
+            public void visit(OpProject opProject) {
+                projectCount++;
             }
         }
 
-        private class AfterWalk extends OpVisitorByTypeBase
-        {
+        private class AfterWalk extends OpVisitorByTypeBase {
             @Override
-            public void visit(OpProject opProject)
-            {
-                --projectCount ;
+            public void visit(OpProject opProject) {
+                --projectCount;
             }
         }
 
-        private class RenameByScope extends TransformCopy
-        {
+        private class RenameByScope extends TransformCopy {
             @Override
-            public Op transform(OpProject opProject, Op subOp)
-            { 
+            public Op transform(OpProject opProject, Op subOp) {
                 // Need to find the right project
-                // We already stripped outer modifier. 
+                // We already stripped outer modifier.
                 if ( projectCount >= projectRenameDepth )
                     // Inner ones already done.
-                    subOp = Rename.renameVars(subOp, opProject.getVars()) ;
-                return super.transform(opProject, subOp) ;
+                    subOp = Rename.renameVars(subOp, opProject.getVars());
+                return super.transform(opProject, subOp);
             }
         }
     }
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java
index daad7e44f6..3e688ead04 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java
@@ -139,7 +139,6 @@ public class Rename {
 
     }
 
-
     // ---- Transforms that do the renaming and unrenaming.
 
     static class RenameNode implements NodeTransform {
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprLib.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprLib.java
index 5e7b443212..139988ad29 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprLib.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprLib.java
@@ -93,111 +93,103 @@ public class ExprLib
 
     /** transform an expression that may involve aggregates into one that just 
uses the variable for the aggregate */
 
-    public static Expr replaceAggregateByVariable(Expr expr)
-    {
-        return ExprTransformer.transform(replaceAgg, expr) ;
+    public static Expr replaceAggregateByVariable(Expr expr) {
+        return ExprTransformer.transform(replaceAgg, expr);
     }
 
 //    /** transform expressions that may involve aggregates into one that just 
uses the variable for the aggregate */
 //    public static ExprList replaceAggregateByVariable(ExprList exprs)
 //    {
 //        return ExprTransformer.transform(replaceAgg, exprs) ;
-//    }
+//}
 
-    private static ExprTransform replaceAgg = new ExprTransformCopy()
-    {
+    private static ExprTransform replaceAgg = new ExprTransformCopy() {
         @Override
-        public Expr transform(ExprAggregator eAgg)
-        { return eAgg.getAggVar()  ; }
-    } ;
+        public Expr transform(ExprAggregator eAgg) {
+            return eAgg.getAggVar();
+        }
+    };
 
-    /** Decide whether an expression is safe for using a graph substitution.
-     * Need to be careful about value-like tests when the graph is not
-     * matched in a value fashion.
+    /**
+     * Decide whether an expression is safe for using a graph substitution. 
Need to
+     * be careful about value-like tests when the graph is not matched in a 
value
+     * fashion.
      */
 
-    public static boolean isAssignmentSafeEquality(Expr expr)
-    {
-        return isAssignmentSafeEquality(expr, false, false) ;
+    public static boolean isAssignmentSafeEquality(Expr expr) {
+        return isAssignmentSafeEquality(expr, false, false);
     }
 
     /**
-     * @param graphHasStringEquality    True if the graph triple matching 
equates xsd:string and plain literal
-     * @param graphHasNumercialValueEquality    True if the graph triple 
matching equates numeric values
+     * @param graphHasStringEquality True if the graph triple matching equates
+     *     xsd:string and plain literal
+     * @param graphHasNumercialValueEquality True if the graph triple matching
+     *     equates numeric values
      */
 
-    public static boolean isAssignmentSafeEquality(Expr expr, boolean 
graphHasStringEquality, boolean graphHasNumercialValueEquality)
-    {
+    public static boolean isAssignmentSafeEquality(Expr expr, boolean 
graphHasStringEquality, boolean graphHasNumercialValueEquality) {
         if ( !(expr instanceof E_Equals) && !(expr instanceof E_SameTerm) )
-            return false ;
+            return false;
 
         // Corner case: sameTerm is false for string/plain literal,
         // but true in the graph.
 
-        ExprFunction2 eq = (ExprFunction2)expr ;
-        Expr left = eq.getArg1() ;
-        Expr right = eq.getArg2() ;
-        Var var = null ;
-        NodeValue constant = null ;
-
-        if ( left.isVariable() && right.isConstant() )
-        {
-            var = left.asVar() ;
-            constant = right.getConstant() ;
-        }
-        else if ( right.isVariable() && left.isConstant() )
-        {
-            var = right.asVar() ;
-            constant = left.getConstant() ;
+        ExprFunction2 eq = (ExprFunction2)expr;
+        Expr left = eq.getArg1();
+        Expr right = eq.getArg2();
+        Var var = null;
+        NodeValue constant = null;
+
+        if ( left.isVariable() && right.isConstant() ) {
+            var = left.asVar();
+            constant = right.getConstant();
+        } else if ( right.isVariable() && left.isConstant() ) {
+            var = right.asVar();
+            constant = left.getConstant();
         }
 
         // Not between a variable and a constant
         if ( var == null || constant == null )
-            return false ;
+            return false;
 
-        if ( ! constant.isLiteral() )
-            // URIs, bNodes.  Any bNode will have come from a substitution - 
not legal syntax in filters
-            return true ;
+        if ( !constant.isLiteral() )
+            // URIs, bNodes. Any bNode will have come from a substitution - 
not legal
+            // syntax in filters
+            return true;
 
-        if (expr instanceof E_SameTerm)
-        {
+        if ( expr instanceof E_SameTerm ) {
             if ( graphHasStringEquality && constant.isString() )
                 // Graph is not same term
-                return false ;
+                return false;
             if ( graphHasNumercialValueEquality && constant.isNumber() )
-                return false ;
-            return true ;
+                return false;
+            return true;
         }
 
-        // Final check for "=" where a FILTER = can do value matching when the 
graph does not.
-        if ( expr instanceof E_Equals )
-        {
-            if ( ! graphHasStringEquality && constant.isString() )
-                return false ;
-            if ( ! graphHasNumercialValueEquality && constant.isNumber() )
-                return false ;
-            return true ;
+        // Final check for "=" where a FILTER = can do value matching when the 
graph
+        // does not.
+        if ( expr instanceof E_Equals ) {
+            if ( !graphHasStringEquality && constant.isString() )
+                return false;
+            if ( !graphHasNumercialValueEquality && constant.isNumber() )
+                return false;
+            return true;
         }
         // Unreachable.
-        throw new ARQInternalErrorException() ;
+        throw new ARQInternalErrorException();
     }
 
-    /** Some "functions" are non-deterministic (unstable) -
-     * calling them with the same arguments
-     * does not yields the same answer each time.
-     * Therefore how and when they are called
-     * matters.
-     *
-     * Functions: RAND, UUID, StrUUID, BNode
-     *
-     * NOW() is safe.
+    /**
+     * Some "functions" are non-deterministic (unstable) - calling them with 
the same
+     * arguments does not yields the same answer each time. Therefore how and 
when
+     * they are called matters. Functions: RAND, UUID, StrUUID, BNode NOW() is 
safe.
      */
     public static boolean isStable(Expr expr) {
         try {
-            Walker.walk(expr, exprVisitorCheckForNonFunctions) ;
-            return true ;
-        } catch ( ExprUnstable ex ) {
-            return false ;
+            Walker.walk(expr, exprVisitorCheckForNonFunctions);
+            return true;
+        } catch (ExprUnstable ex) {
+            return false;
         }
     }
 
@@ -212,22 +204,24 @@ public class ExprLib
             if ( exprFn instanceof Unstable )
                 throw new ExprUnstable();
         }
-    } ;
+    };
 
     private static class ExprUnstable extends ExprException {
         // Filling in the stack trace is the expensive part of
         // an exception but we don't need it.
         @Override
-        public Throwable fillInStackTrace() { return this ; }
+        public Throwable fillInStackTrace() {
+            return this;
+        }
     }
 
     /** Go from a node to an expression. */
     public static Expr nodeToExpr(Node n) {
         if ( n.isVariable() )
-            return new ExprVar(n) ;
+            return new ExprVar(n);
         if ( n.isNodeTriple() )
             return new ExprTripleTerm(n);
-        return NodeValue.makeNode(n) ;
+        return NodeValue.makeNode(n);
     }
 
     public static Expr rewriteTriple(Triple t) {
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java
index 0147fa18d2..79ee47a5d5 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java
@@ -18,118 +18,112 @@
 
 package org.apache.jena.sparql.expr;
 
-import org.apache.jena.atlas.io.IndentedWriter ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.query.Query ;
-import org.apache.jena.sparql.ARQInternalErrorException ;
-import org.apache.jena.sparql.core.Var ;
-import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.atlas.io.IndentedWriter;
+import org.apache.jena.graph.Node;
+import org.apache.jena.query.Query;
+import org.apache.jena.sparql.ARQInternalErrorException;
+import org.apache.jena.sparql.core.Var;
+import org.apache.jena.sparql.engine.binding.Binding;
+import org.apache.jena.sparql.function.FunctionEnv;
 import org.apache.jena.sparql.graph.NodeTransform;
 
 /** An expression that is a variable in an expression. */
- 
+
 public class ExprVar extends ExprNode
 {
     // AKA ExprFunction0
-    protected Var varNode = null ;
-    
-    public ExprVar(String name) { varNode = Var.alloc(name) ; }
-    public ExprVar(Node n)
-    { 
-        if ( ! n.isVariable() )
-            throw new ARQInternalErrorException("Attempt to create a NodeVar 
from a non variable Node: "+n) ;
-        varNode = Var.alloc(n) ;
+    protected Var varNode = null;
+
+    public ExprVar(String name) { varNode = Var.alloc(name); }
+
+    public ExprVar(Node n) {
+        if ( !n.isVariable() )
+            throw new ARQInternalErrorException("Attempt to create a NodeVar 
from a non-variable Node: " + n);
+        varNode = Var.alloc(n);
     }
-    
-    public ExprVar(Var v)
-    { 
-        varNode = v ;
+
+    public ExprVar(Var v) {
+        varNode = v;
     }
-    
+
     @Override
-    public NodeValue eval(Binding binding, FunctionEnv env)
-    {
-        return eval(varNode, binding, env) ;
+    public NodeValue eval(Binding binding, FunctionEnv env) {
+        return eval(varNode, binding, env);
     }
 
-    static NodeValue eval(Var v, Binding binding, FunctionEnv env)
-    {
+    static NodeValue eval(Var v, Binding binding, FunctionEnv env) {
         if ( binding == null )
-            throw new VariableNotBoundException("Not bound: (no binding): "+v) 
;
-        Node nv = binding.get(v) ;
+            throw new VariableNotBoundException("Not bound: (no binding): " + 
v);
+        Node nv = binding.get(v);
         if ( nv == null )
-            throw new VariableNotBoundException("Not bound: variable "+v) ;
+            throw new VariableNotBoundException("Not bound: variable " + v);
         // Wrap as a NodeValue.
-        return NodeValue.makeNode(nv) ;
+        return NodeValue.makeNode(nv);
     }
-    
+
     @Override
-    public Expr copySubstitute(Binding binding)
-    {
-        Var v = varNode ;  
+    public Expr copySubstitute(Binding binding) {
+        Var v = varNode;
         if ( binding == null || !binding.contains(v) )
-            return new ExprVar(v) ;
+            return new ExprVar(v);
         Node v2 = binding.get(v);
-        return v2.isVariable() ? new ExprVar(v2) : eval(binding, null) ;
+        return v2.isVariable() ? new ExprVar(v2) : eval(binding, null);
     }
-    
+
     @Override
-    public Expr applyNodeTransform(NodeTransform transform)
-    {
-        Node node = transform.apply(varNode) ;
-        if ( Var.isVar(node))
-            return new ExprVar(Var.alloc(node)) ;
-        return NodeValue.makeNode(node) ;
+    public Expr applyNodeTransform(NodeTransform transform) {
+        Node node = transform.apply(varNode);
+        if ( Var.isVar(node) )
+            return new ExprVar(Var.alloc(node));
+        return NodeValue.makeNode(node);
     }
-    
-    public Expr copy(Var v)  { return new ExprVar(v) ; }
-    
-    
+
+    public Expr copy(Var v)  { return new ExprVar(v); }
+
     @Override
-    public void visit(ExprVisitor visitor) { visitor.visit(this) ; }
-    
-    public Expr apply(ExprTransform transform)  { 
+    public void visit(ExprVisitor visitor) { visitor.visit(this); }
+
+    public Expr apply(ExprTransform transform)  {
         if ( transform == null )
-            throw new NullPointerException() ;
-        return transform.transform(this) ; }
-    
+            throw new NullPointerException();
+        return transform.transform(this); }
+
     public void format(Query query, IndentedWriter out)
     {
-        out.print('?') ;
-        out.print(varNode.getName()) ;
+        out.print('?');
+        out.print(varNode.getName());
     }
-    
+
     @Override
-    public int hashCode() { return varNode.hashCode() ; }
-    
+    public int hashCode() { return varNode.hashCode(); }
+
     @Override
     public boolean equals(Expr other, boolean bySyntax) {
-        if ( other == null ) return false ;
-        if ( this == other ) return true ;
+        if ( other == null ) return false;
+        if ( this == other ) return true;
         if ( ! ( other instanceof ExprVar ) )
-            return false ;
-        ExprVar nvar = (ExprVar)other ;
-        return getVarName().equals(nvar.getVarName()) ;
+            return false;
+        ExprVar nvar = (ExprVar)other;
+        return getVarName().equals(nvar.getVarName());
     }
-    
+
     @Override
-    public boolean isVariable() { return true ; }
+    public boolean isVariable() { return true; }
     /** @return Returns the name. */
     @Override
-    public String getVarName()  { return varNode.getName() ; }
+    public String getVarName()  { return varNode.getName(); }
     @Override
-    public ExprVar getExprVar() { return this ; }
+    public ExprVar getExprVar() { return this; }
     @Override
-    public Var asVar()          { return varNode ; }
-    public Node getAsNode()     { return varNode ; }
-    
-    
-    public String toPrefixString()  { return varNode.toString() ; }
+    public Var asVar()          { return varNode; }
+    public Node getAsNode()     { return varNode; }
+
+
+    public String toPrefixString()  { return varNode.toString(); }
     // As an expression (aggregators override this).
-    public String asSparqlExpr()    { return  varNode.toString() ; }
+    public String asSparqlExpr()    { return  varNode.toString(); }
 
     // ??? Just use format?
     @Override
-    public String toString()        { return varNode.toString() ; }
+    public String toString()        { return varNode.toString(); }
 }
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
index aaad999235..476eb64721 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
@@ -246,37 +246,33 @@ public abstract class NodeValue extends ExprNode
     // ----------------------------------------------------------------
     // ---- Construct NodeValue from graph nodes
 
-    public static NodeValue makeNode(Node n)
-    {
-        return nodeToNodeValue(n);
+    public static NodeValue makeNode(Node node) {
+        return nodeToNodeValue(node);
     }
 
-    public static NodeValue makeNode(String lexicalForm, RDFDatatype dtype)
-    {
+    public static NodeValue makeNode(String lexicalForm, RDFDatatype dtype) {
         Node n = NodeFactory.createLiteralDT(lexicalForm, dtype);
         return NodeValue.makeNode(n);
     }
 
     // Convenience - knows that lang tags aren't allowed with datatypes.
-    public static NodeValue makeNode(String lexicalForm, String langTag, Node 
datatype)
-    {
-        String uri = (datatype==null) ? null : datatype.getURI();
-        return makeNode(lexicalForm, langTag,  uri);
+    public static NodeValue makeNode(String lexicalForm, String langTag, Node 
datatype) {
+        String uri = (datatype == null) ? null : datatype.getURI();
+        return makeNode(lexicalForm, langTag, uri);
     }
 
-    public static NodeValue makeNode(String lexicalForm, String langTag, 
String datatype)
-    {
+    public static NodeValue makeNode(String lexicalForm, String langTag, 
String datatype) {
         if ( datatype != null && datatype.equals("") )
             datatype = null;
 
         if ( langTag != null && datatype != null )
             // raise??
-            Log.warn(NodeValue.class, "Both lang tag and datatype defined 
(lexcial form '"+lexicalForm+"')");
+            Log.warn(NodeValue.class, "Both lang tag and datatype defined 
(lexcial form '" + lexicalForm + "')");
 
         Node n = null;
         if ( langTag != null )
             n = NodeFactory.createLiteralLang(lexicalForm, langTag);
-        else if ( datatype != null) {
+        else if ( datatype != null ) {
             RDFDatatype dType = 
TypeMapper.getInstance().getSafeTypeByName(datatype);
             n = NodeFactory.createLiteralDT(lexicalForm, dType);
         } else
@@ -353,16 +349,16 @@ public abstract class NodeValue extends ExprNode
    // ----------------------------------------------------------------
    // ---- Expr interface
 
-    @Override
-    public NodeValue eval(Binding binding, FunctionEnv env)
-    { return this; }
+   @Override
+   public NodeValue eval(Binding binding, FunctionEnv env) {
+       return this;
+   }
 
-    // NodeValues are immutable so no need to duplicate.
-    @Override
-    public Expr copySubstitute(Binding binding)
-    {
-        return this;
-    }
+   // NodeValues are immutable so no need to duplicate.
+   @Override
+   public Expr copySubstitute(Binding binding) {
+       return this;
+   }
 
     @Override
     public Expr applyNodeTransform(NodeTransform transform)
@@ -524,16 +520,14 @@ public abstract class NodeValue extends ExprNode
     public boolean isTime()         { return false; }
     public boolean isDuration()     { return false; }
 
-    public boolean isYearMonthDuration()
-    {
+    public boolean isYearMonthDuration() {
         if ( ! isDuration() ) return false;
         Duration dur = getDuration();
         return ( dur.isSet(YEARS) || dur.isSet(MONTHS) ) &&
                ! dur.isSet(DAYS) && ! dur.isSet(HOURS) && ! dur.isSet(MINUTES) 
&& ! dur.isSet(SECONDS);
     }
 
-    public boolean isDayTimeDuration()
-    {
+    public boolean isDayTimeDuration() {
         if ( ! isDuration() ) return false;
         Duration dur = getDuration();
         return !dur.isSet(YEARS) && ! dur.isSet(MONTHS) &&
diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java
index 90de6fe353..b10f1571fe 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java
@@ -22,8 +22,6 @@ import java.util.function.Function;
 
 import org.apache.jena.graph.Node ;
 
-/** Convert nodes to nodes - Vars may need to be translated into Vars. */
+/** Convert nodes to nodes */
 @FunctionalInterface
-public interface NodeTransform extends Function<Node, Node>
-{
-}
+public interface NodeTransform extends Function<Node, Node> {}
diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformExpr.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformExpr.java
index 81a110289b..eda5da1da0 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformExpr.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformExpr.java
@@ -24,7 +24,8 @@ import 
org.apache.jena.sparql.algebra.walker.ApplyTransformVisitor;
 import org.apache.jena.sparql.core.Var;
 import org.apache.jena.sparql.expr.*;
 
-/** An {@link ExprTransform} that applies a {@link NodeTransform}
+/**
+ * An {@link ExprTransform} that applies a {@link NodeTransform}
  * to {@link NodeValue} and {@link ExprVar} inside expressions.
  * <p>
  * This does not transform triple patterns in {@link ExprFunctionOp}
@@ -34,9 +35,8 @@ import org.apache.jena.sparql.expr.*;
  */
 public class NodeTransformExpr extends ExprTransformCopy {
     private final NodeTransform transform ;
-    public NodeTransformExpr(NodeTransform transform)
-    {
-        this.transform = transform ;
+    public NodeTransformExpr(NodeTransform transform) {
+        this.transform = transform;
     }
 
     @Override
diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
index bb2380f187..fdb14e69d5 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
@@ -35,8 +35,8 @@ import org.apache.jena.sparql.core.Var ;
 import org.apache.jena.sparql.core.VarExprList ;
 import org.apache.jena.sparql.path.Path ;
 
-/** A {@link Transform} that applies a {@link NodeTransform}
- * to graph patterns.
+/**
+ *  A {@link Transform} that applies a {@link NodeTransform} to graph patterns.
  * <p>
  * This does not transform expressions. That is done by {@link 
NodeTransformExpr}.
  *
@@ -44,7 +44,7 @@ import org.apache.jena.sparql.path.Path ;
  */
 class NodeTransformOp extends TransformCopy {
 
-    // This finds everywhere that nodes can lurk in an algebra expression:
+    // This finds everywhere that nodes can occur in an algebra expression:
     //   BGPs, paths, triples, quads, service
     //   GRAPH, GRAPH{} (DatasetNames)
     //   OrderBy, GroupBy
diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/QuerySyntaxSubstituteScope.java
 
b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/QuerySyntaxSubstituteScope.java
index 923396daab..d700a8b7b1 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/QuerySyntaxSubstituteScope.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/syntaxtransform/QuerySyntaxSubstituteScope.java
@@ -61,7 +61,7 @@ public class QuerySyntaxSubstituteScope {
 
     private static void checkAssignment(String context, Collection<Var> vars, 
Var assignedVar) {
         if ( vars.contains(assignedVar) )
-            reject("BIND", assignedVar);
+            reject(context, assignedVar);
     }
 
     private static void reject(String elementName, Var badVar) {
diff --git 
a/jena-arq/src/test/java/org/apache/jena/sparql/syntax/syntaxtransform/TestQuerySyntaxSubstitute.java
 
b/jena-arq/src/test/java/org/apache/jena/sparql/syntax/syntaxtransform/TestQuerySyntaxSubstitute.java
index 03af530ff9..16f7c473d7 100644
--- 
a/jena-arq/src/test/java/org/apache/jena/sparql/syntax/syntaxtransform/TestQuerySyntaxSubstitute.java
+++ 
b/jena-arq/src/test/java/org/apache/jena/sparql/syntax/syntaxtransform/TestQuerySyntaxSubstitute.java
@@ -37,79 +37,79 @@ public class TestQuerySyntaxSubstitute {
     private static Map<Var, Node> substitutions2 = Map.of(Var.alloc("x"), 
NodeFactory.createURI("http://example/xxx";),
                                                           Var.alloc("y"), 
NodeFactory.createURI("http://example/yyy";));
 
-    @Test public void syntaxSubstitue_01() {
-        testSubstitue("SELECT * { ?x :p ?z }", substitutions1,
+    @Test public void syntaxSubstitute_01() {
+        testSubstitute("SELECT * { ?x :p ?z }", substitutions1,
                       "SELECT ?z (:xxx AS ?x) { :xxx :p ?z }"
                       );
     }
 
-    @Test public void syntaxSubstitue_02() {
-        testSubstitue("SELECT ?x { ?x :p ?z }", substitutions1,
+    @Test public void syntaxSubstitute_02() {
+        testSubstitute("SELECT ?x { ?x :p ?z }", substitutions1,
                       "SELECT (:xxx AS ?x) { :xxx :p ?z }"
                       );
     }
 
-    @Test public void syntaxSubstitue_03() {
-        testSubstitue("SELECT ?z { :a :p ?z }", substitutions1,
+    @Test public void syntaxSubstitute_03() {
+        testSubstitute("SELECT ?z { :a :p ?z }", substitutions1,
                       "SELECT ?z (:xxx AS ?x) { :a :p ?z }"
                       );
     }
 
-    @Test public void syntaxSubstitue_04() {
-        testSubstitue("SELECT ?x ?z { ?x :p ?z }", substitutions1,
+    @Test public void syntaxSubstitute_04() {
+        testSubstitute("SELECT ?x ?z { ?x :p ?z }", substitutions1,
                       "SELECT (:xxx AS ?x) ?z { :xxx :p ?z }"
                       );
     }
 
-    @Test public void syntaxSubstitue_10() {
-        testSubstitue("SELECT ?y ?x { ?x :p ?y }", substitutions2,
+    @Test public void syntaxSubstitute_10() {
+        testSubstitute("SELECT ?y ?x { ?x :p ?y }", substitutions2,
                       "SELECT (:yyy AS ?y) (:xxx AS ?x) { :xxx :p :yyy }"
                       );
     }
 
-    @Test public void syntaxSubstitue_11() {
-        testSubstitue("SELECT ?y ?p ?x { ?x ?p ?y }", substitutions2,
+    @Test public void syntaxSubstitute_11() {
+        testSubstitute("SELECT ?y ?p ?x { ?x ?p ?y }", substitutions2,
                       "SELECT (:yyy AS ?y) ?p (:xxx AS ?x) { :xxx ?p :yyy }"
                       );
     }
 
     // GH-2799: Sub-queries not yet ready.
 //    // Sub-query visible variable.
-//    @Test public void syntaxSubstitue_12() {
-//        testSubstitue("SELECT * { ?s ?p ?o { SELECT ?x { ?x :p ?y } } }", 
substitutions1,
+//    @Test public void syntaxSubstitute_12() {
+//        testSubstitute("SELECT * { ?s ?p ?o { SELECT ?x { ?x :p ?y } } }", 
substitutions1,
 //                      "SELECT (:yyy AS ?y) ?p (:xxx AS ?x) { ?s ?p ?o { 
SELECT * { :xxx :p ?y } }}"
 //                      );
 //    }
 //
 //    // Sub-query hidden variable.
-//    @Test public void syntaxSubstitue_13() {
-//        testSubstitue("SELECT * { ?s ?p ?o { SELECT ?y { ?x :p ?y } } }", 
substitutions1,
+//    @Test public void syntaxSubstitute_13() {
+//        testSubstitute("SELECT * { ?s ?p ?o { SELECT ?y { ?x :p ?y } } }", 
substitutions1,
 //                      "SELECT ?s ?p ?o (:xxx AS ?x) { ?s ?p ?o { SELECT * { 
:xxx :p ?y } }}"
 //                      );
 //    }
 //
 //    // Multi-level variable.
-//    @Test public void syntaxSubstitue_14() {
-//        testSubstitue("SELECT * { ?x ?p ?o { SELECT * { ?x :p ?y } } }", 
substitutions2,
+//    @Test public void syntaxSubstitute_14() {
+//        testSubstitute("SELECT * { ?x ?p ?o { SELECT * { ?x :p ?y } } }", 
substitutions2,
 //                      "" //"SELECT (:yyy AS ?y) ?p (:xxx AS ?x) { ?s ?p ?o { 
SELECT * { :xxx :p ?y } }}"
 //                      );
 //    }
 
-    @Test public void syntaxSubstitue_50() {
+    @Test public void syntaxSubstitute_50() {
         assertThrows(QueryScopeException.class, ()->
-            testSubstitue("SELECT (456 AS ?x) { ?y :p ?z }",  substitutions1,
+            testSubstitute("SELECT (456 AS ?x) { ?y :p ?z }",  substitutions1,
                           ""
                           ));
     }
 
-    @Test public void syntaxSubstitue_51() {
+    @Test public void syntaxSubstitute_51() {
         assertThrows(QueryScopeException.class, ()->
-            testSubstitue("SELECT * { ?y :p ?z BIND(789 AS ?x)}", 
substitutions1,
+            testSubstitute("SELECT * { ?y :p ?z BIND(789 AS ?x)}", 
substitutions1,
                           ""
                           ));
     }
 
-    private void testSubstitue(String qs, Map<Var, Node> substitutions, String 
outcome) {
+    private void testSubstitute(String qs, Map<Var, Node> substitutions, 
String outcome) {
         String prologue = "PREFIX : <http://example/> ";
         String queryString = prologue+qs;
         Query query = QueryFactory.create(queryString);


Reply via email to