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 e017ba1a93cb35d5a18cc69941df6e08394b61b2
Author: Andy Seaborne <[email protected]>
AuthorDate: Wed Jun 4 21:21:53 2025 +0100

    Clean code of functional form expressions
---
 .../java/org/apache/jena/sparql/expr/E_Bound.java  | 47 +++++------
 .../org/apache/jena/sparql/expr/E_Coalesce.java    | 48 +++++------
 .../java/org/apache/jena/sparql/expr/E_OneOf.java  | 37 ++++----
 .../org/apache/jena/sparql/expr/E_OneOfBase.java   | 98 ++++++++++------------
 .../java/org/apache/jena/sparql/expr/ExprList.java | 40 +++++----
 .../jena/fuseki/geosparql/DatasetOperations.java   |  1 -
 6 files changed, 132 insertions(+), 139 deletions(-)

diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Bound.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Bound.java
index 2f405e48b7..8a793b750f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Bound.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Bound.java
@@ -18,51 +18,50 @@
 
 package org.apache.jena.sparql.expr;
 
-import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.function.FunctionEnv ;
-import org.apache.jena.sparql.sse.Tags ;
+import org.apache.jena.sparql.engine.binding.Binding;
+import org.apache.jena.sparql.function.FunctionEnv;
+import org.apache.jena.sparql.sse.Tags;
 
 public class E_Bound extends ExprFunction1
 {
-    private static final String symbol = Tags.tagBound ;
-    boolean isBound = false ;
+    private static final String symbol = Tags.tagBound;
+    boolean isBound = false;
 
-    public E_Bound(Expr expr)
-    {
-        super(expr, symbol) ;
+    public E_Bound(Expr expr) {
+        super(expr, symbol);
     }
-    
+
     @Override
-    public NodeValue evalSpecial(Binding binding, FunctionEnv env) { 
+    public NodeValue evalSpecial(Binding binding, FunctionEnv env) {
         // See also ExprLib.evalOrNull.
-        // This code predates that; it handles exceptions 
+        // This code predates that; it handles exceptions
         // slightly differently (VariableNotBoundException not
         // a general ExprEvalException).
-        
+
         if ( expr.isConstant() )
             // The case of the variable having been substituted for a constant.
-            // Note: this has often been optimized away by constant folding 
+            // Note: this has often been optimized away by constant folding
             // (ExprTransformConstantFold) which called eval(NodeValue x) -> 
TRUE.
-            return NodeValue.TRUE ;
-        
+            return NodeValue.TRUE;
+
         if ( expr.isVariable() )
-            // The case of the expr being a single variable. 
-            return NodeValue.booleanReturn(binding.contains(expr.asVar())) ; 
-        
+            // The case of the expr being a single variable.
+            return NodeValue.booleanReturn(binding.contains(expr.asVar()));
+
         // General expression. This case can't be written in SPARQL
         // but we keep the code general in case some optimization rewrite
         // or algebra expression uses the generalized feature.
                try {
-                       expr.eval(binding, env) ;
-            return NodeValue.TRUE ;
+                       expr.eval(binding, env);
+            return NodeValue.TRUE;
                } catch (VariableNotBoundException ex) {
-                       return NodeValue.FALSE ;
+                       return NodeValue.FALSE;
                }
     }
 
     @Override
-    public NodeValue eval(NodeValue x) { return NodeValue.TRUE ; }
-    
+    public NodeValue eval(NodeValue x) { return NodeValue.TRUE; }
+
     @Override
-    public Expr copy(Expr expr) { return new E_Bound(expr) ; } 
+    public Expr copy(Expr expr) { return new E_Bound(expr); }
 }
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Coalesce.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Coalesce.java
index 975ef7478e..23d47304d2 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Coalesce.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Coalesce.java
@@ -18,44 +18,40 @@
 
 package org.apache.jena.sparql.expr;
 
-import java.util.List ;
+import java.util.List;
 
-import org.apache.jena.sparql.ARQInternalErrorException ;
-import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.function.FunctionEnv ;
-import org.apache.jena.sparql.sse.Tags ;
+import org.apache.jena.sparql.ARQInternalErrorException;
+import org.apache.jena.sparql.engine.binding.Binding;
+import org.apache.jena.sparql.function.FunctionEnv;
+import org.apache.jena.sparql.sse.Tags;
 
 /** SPARQL coalesce special form. */
 
-public class E_Coalesce extends ExprFunctionN
-{
-    private static final String name = Tags.tagCoalesce ;
-    
-    public E_Coalesce(ExprList args)
-    {
-        super(name, args) ;
+public class E_Coalesce extends ExprFunctionN {
+    private static final String name = Tags.tagCoalesce;
+
+    public E_Coalesce(ExprList args) {
+        super(name, args);
     }
 
     @Override
-    public NodeValue evalSpecial(Binding binding, FunctionEnv env)
-    {
-        for ( Expr expr : super.getArgs() )
-        {
-            try { 
-                NodeValue nv = expr.eval(binding, env) ;
-                return nv ;
+    public NodeValue evalSpecial(Binding binding, FunctionEnv env) {
+        for ( Expr expr : super.getArgs() ) {
+            try {
+                NodeValue nv = expr.eval(binding, env);
+                return nv;
             } catch (ExprEvalException ex) {}
         }
-        throw new ExprEvalException("COALESCE: no value") ;
+        throw new ExprEvalException("COALESCE: no value");
     }
-    
+
     @Override
-    public Expr copy(ExprList newArgs)
-    {
-        return new E_Coalesce(newArgs) ;
+    public Expr copy(ExprList newArgs) {
+        return new E_Coalesce(newArgs);
     }
 
     @Override
-    public NodeValue eval(List<NodeValue> args)
-    { throw new ARQInternalErrorException() ; }
+    public NodeValue eval(List<NodeValue> args) {
+        throw new ARQInternalErrorException();
+    }
 }
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_OneOf.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_OneOf.java
index 3ddaab5987..3785db1074 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_OneOf.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_OneOf.java
@@ -28,32 +28,29 @@ import org.apache.jena.sparql.sse.Tags ;
 public class E_OneOf extends E_OneOfBase
 {
 
-    private static final String functionName = Tags.tagIn ;
-    
-    public E_OneOf(Expr expr, ExprList args)
-    {
-        super(functionName, expr, args) ;
+    private static final String functionName = Tags.tagIn;
+
+    public E_OneOf(Expr expr, ExprList args) {
+        super(functionName, expr, args);
     }
-    
-    protected E_OneOf(ExprList args)
-    {
-        super(functionName, args) ;
+
+    protected E_OneOf(ExprList args) {
+        super(functionName, args);
     }
 
     @Override
-    public NodeValue evalSpecial(Binding binding, FunctionEnv env)
-    {
-        boolean b = super.evalOneOf(binding, env) ;
-        return NodeValue.booleanReturn(b) ;
+    public NodeValue evalSpecial(Binding binding, FunctionEnv env) {
+        boolean b = super.evalOneOf(binding, env);
+        return NodeValue.booleanReturn(b);
     }
-    
+
     @Override
-    public NodeValue eval(List<NodeValue> args)
-    { throw new ARQInternalErrorException() ; }
-    
+    public NodeValue eval(List<NodeValue> args) {
+        throw new ARQInternalErrorException();
+    }
+
     @Override
-    public Expr copy(ExprList newArgs)
-    {
-        return new E_OneOf(newArgs) ;
+    public Expr copy(ExprList newArgs) {
+        return new E_OneOf(newArgs);
     }
 }
diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_OneOfBase.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_OneOfBase.java
index 5e7f00a69d..10db20b0d0 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_OneOfBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_OneOfBase.java
@@ -18,75 +18,69 @@
 
 package org.apache.jena.sparql.expr;
 
-import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.engine.binding.Binding;
+import org.apache.jena.sparql.function.FunctionEnv;
+
+public abstract class E_OneOfBase extends ExprFunctionN {
+    /* This operation stores it's arguments as a single list. The first 
element of
+     * the array is the expression being tested, the rest are the items to be 
used to
+     * test against. There are cached copies of the LHS (car) and RHS (cdr). */
 
-public abstract class E_OneOfBase extends ExprFunctionN
-{   
-    /* This operation stores it's arguments as a single list.
-     * The first element of the array is the expression being tested,
-     * the rest are the items to be used to test against.
-     * There are cached copies of the LHS (car) and RHS (cdr).
-     */
-    
     // Cached values.
-    protected final Expr expr ;
-    protected final ExprList possibleValues ;
-    
-    protected E_OneOfBase(String name, Expr expr, ExprList args)
-    {
-        super(name, fixup(expr, args)) ;
-        this.expr = expr ;
-        this.possibleValues = args ;
+    protected final Expr expr;
+    protected final ExprList possibleValues;
+
+    protected E_OneOfBase(String name, Expr expr, ExprList args) {
+        super(name, fixup(expr, args));
+        this.expr = expr;
+        this.possibleValues = args;
     }
-    
+
     // All ArgList, first arg is the expression.
-    protected E_OneOfBase(String name, ExprList args)
-    {
-        super(name, args) ;
-        this.expr = args.get(0) ;
-        this.possibleValues = args.tail(1) ;
+    protected E_OneOfBase(String name, ExprList args) {
+        super(name, args);
+        this.expr = args.get(0);
+        this.possibleValues = args.tail(1);
+    }
+
+    private static ExprList fixup(Expr expr2, ExprList args) {
+        ExprList allArgs = new ExprList(expr2);
+        allArgs.addAll(args);
+        return allArgs;
     }
-    
-    private static ExprList fixup(Expr expr2, ExprList args)
-    {
-        ExprList allArgs = new ExprList(expr2) ;
-        allArgs.addAll(args) ;
-        return allArgs ;
+
+    public Expr getLHS() {
+        return expr;
     }
 
-    public Expr getLHS()        { return expr ; }
-    public ExprList getRHS()    { return possibleValues; }
+    public ExprList getRHS() {
+        return possibleValues;
+    }
 
-    
-//    public Expr getLHS() { return expr ; }
-//    public ExprList getRHS() { return possibleValues ; }
+// public Expr getLHS() { return expr ; }
+// public ExprList getRHS() { return possibleValues ; }
 
-    protected boolean evalOneOf(Binding binding, FunctionEnv env)
-    {
+    protected boolean evalOneOf(Binding binding, FunctionEnv env) {
         // Special form.
         // Like ( expr = expr1 ) || ( expr = expr2 ) || ...
 
-        NodeValue nv = expr.eval(binding, env) ;
-        ExprEvalException error = null ;
-        for ( Expr inExpr : possibleValues )
-        {
+        NodeValue nv = expr.eval(binding, env);
+        ExprEvalException error = null;
+        for ( Expr inExpr : possibleValues ) {
             try {
-                NodeValue maybe = inExpr.eval(binding, env) ;
+                NodeValue maybe = inExpr.eval(binding, env);
                 if ( NodeValue.sameValueAs(nv, maybe) )
-                    return true ;
-            } catch (ExprEvalException ex)
-            {
-                error = ex ;
+                    return true;
+            } catch (ExprEvalException ex) {
+                error = ex;
             }
         }
         if ( error != null )
-            throw error ;
-        return false ;
+            throw error;
+        return false;
     }
-    
-    protected boolean evalNotOneOf(Binding binding, FunctionEnv env)
-    {
-        return ! evalOneOf(binding, env) ;
+
+    protected boolean evalNotOneOf(Binding binding, FunctionEnv env) {
+        return !evalOneOf(binding, env);
     }
 }
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
index 2be17d8b8f..d5e1b9fad5 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
@@ -30,21 +30,29 @@ import org.apache.jena.sparql.util.Context ;
 public class ExprList implements Iterable<Expr>
 {
     private final List<Expr> expressions ;
-    /** Create a copy which does not share the list of expressions with the 
original */ 
+    /** Create a copy which does not share the list of expressions with the 
original */
     public static ExprList copy(ExprList other) { return new ExprList(other) ; 
}
-    
+
     /** Create an ExprList that contains the expressions */
     public static ExprList create(Collection<Expr> exprs) {
         ExprList exprList = new ExprList() ;
         exprs.forEach(exprList::add) ;
-        return exprList ; 
-    } 
-    
+        return exprList ;
+    }
+
+    /** Create an ExprList from a number of Expr or an array. */
+    public static ExprList create(Expr...exprs) {
+        ExprList exprList = new ExprList() ;
+        for (Expr expr : exprs)
+            exprList.add(expr);
+        return exprList ;
+    }
+
     /** Empty, immutable ExprList */
     public static final ExprList emptyList = new 
ExprList(Collections.emptyList()) ;
-    
+
     public ExprList() { expressions = new ArrayList<>() ; }
-    
+
     private ExprList(ExprList other) {
         this() ;
         expressions.addAll(other.expressions) ;
@@ -64,13 +72,13 @@ public class ExprList implements Iterable<Expr>
         }
         return true ;
     }
-    
+
     public Expr get(int idx)                            { return 
expressions.get(idx) ; }
     public int size()                                   { return 
expressions.size() ; }
     public boolean isEmpty()                            { return 
expressions.isEmpty() ; }
     public ExprList subList(int fromIdx, int toIdx)     { return new 
ExprList(expressions.subList(fromIdx, toIdx)) ; }
     public ExprList tail(int fromIdx)                   { return 
subList(fromIdx, expressions.size()) ; }
-    
+
     public Set<Var> getVarsMentioned() {
         return ExprVars.getVarsMentioned(this);
     }
@@ -82,7 +90,7 @@ public class ExprList implements Iterable<Expr>
         ExprList x = new ExprList() ;
         for ( Expr e : expressions)
             x.add(e.applyNodeTransform(transform));
-        return x ; 
+        return x ;
     }
 
     public ExprList copySubstitute(Binding binding) {
@@ -101,34 +109,34 @@ public class ExprList implements Iterable<Expr>
     public List<Expr> getListRaw()          { return expressions ; }
     @Override
     public Iterator<Expr> iterator()        { return expressions.iterator() ; }
-    
+
     public void prepareExprs(Context context) {
         ExprBuild build = new ExprBuild(context) ;
         // Give each expression the chance to set up (bind functions)
         for (Expr expr : expressions)
             Walker.walk(expr, build) ;
     }
-    
+
     @Override
     public String toString()
     { return expressions.toString() ; }
-    
+
     @Override
     public int hashCode() { return expressions.hashCode() ; }
 
     public boolean equals(ExprList other, boolean bySyntax) {
         if ( this == other ) return true ;
         if (expressions.size() != other.expressions.size()) return false;
-        
+
         for ( int i = 0 ; i < expressions.size() ; i++ ) {
             Expr e1 = expressions.get(i) ;
             Expr e2 = other.expressions.get(i) ;
-            if ( ! e1.equals(e2, bySyntax) ) 
+            if ( ! e1.equals(e2, bySyntax) )
                 return false ;
         }
         return true ;
     }
-    
+
     @Override
     public boolean equals(Object other) {
         if ( this == other ) return true ;
diff --git 
a/jena-fuseki2/jena-fuseki-geosparql/src/main/java/org/apache/jena/fuseki/geosparql/DatasetOperations.java
 
b/jena-fuseki2/jena-fuseki-geosparql/src/main/java/org/apache/jena/fuseki/geosparql/DatasetOperations.java
index 57a6d02302..f5c077a9e6 100644
--- 
a/jena-fuseki2/jena-fuseki-geosparql/src/main/java/org/apache/jena/fuseki/geosparql/DatasetOperations.java
+++ 
b/jena-fuseki2/jena-fuseki-geosparql/src/main/java/org/apache/jena/fuseki/geosparql/DatasetOperations.java
@@ -215,7 +215,6 @@ public class DatasetOperations {
                 dataset.end();
             }
         }
-
     }
 
     private static void prepareSpatialExtension(Dataset dataset, ArgsConfig 
argsConfig) throws SpatialIndexException {

Reply via email to