You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2011/09/23 15:01:32 UTC
svn commit: r1174723 - in
/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql:
engine/iterator/ expr/aggregate/
Author: andy
Date: Fri Sep 23 13:01:31 2011
New Revision: 1174723
URL: http://svn.apache.org/viewvc?rev=1174723&view=rev
Log:
Clear-up Aggregator interface (post JENA-120)
Modified:
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggAvg.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggAvgDistinct.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCount.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCountDistinct.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCountVar.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCountVarDistinct.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcat.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcatDistinct.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggMaxBase.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggMinBase.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggNull.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSample.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSampleDistinct.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSum.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSumDistinct.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/Aggregator.java
incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggregatorBase.java
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java Fri Sep 23 13:01:31 2011
@@ -88,7 +88,7 @@ public class QueryIterGroup extends Quer
{
for ( ExprAggregator agg : aggregators )
{
- Accumulator x = agg.getAggregator().createAcc() ;
+ Accumulator x = agg.getAggregator().createAccumulator() ;
Var v = agg.getVar() ;
accumulators.put(key, Pair.create(v, x)) ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggAvg.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggAvg.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggAvg.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggAvg.java Fri Sep 23 13:01:31 2011
@@ -36,7 +36,7 @@ public class AggAvg extends AggregatorBa
public String toPrefixString() { return "(avg "+WriterExpr.asString(expr)+")" ; }
@Override
- protected Accumulator createAccumulator()
+ public Accumulator createAccumulator()
{
return new AccAvg(expr) ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggAvgDistinct.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggAvgDistinct.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggAvgDistinct.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggAvgDistinct.java Fri Sep 23 13:01:31 2011
@@ -34,7 +34,7 @@ public class AggAvgDistinct extends Aggr
public String toPrefixString() { return "(avg distinct "+WriterExpr.asString(expr)+")" ; }
@Override
- protected Accumulator createAccumulator()
+ public Accumulator createAccumulator()
{
return new AccAvgDistinct(expr) ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCount.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCount.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCount.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCount.java Fri Sep 23 13:01:31 2011
@@ -31,7 +31,7 @@ public class AggCount extends Aggregator
public Expr getExpr() { return null ; }
@Override
- protected Accumulator createAccumulator()
+ public Accumulator createAccumulator()
{
return new AggCount.AccCount();
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCountDistinct.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCountDistinct.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCountDistinct.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCountDistinct.java Fri Sep 23 13:01:31 2011
@@ -36,7 +36,7 @@ public class AggCountDistinct extends Ag
public Expr getExpr() { return null ; }
@Override
- protected Accumulator createAccumulator()
+ public Accumulator createAccumulator()
{
return new AccCountDistinct() ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCountVar.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCountVar.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCountVar.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCountVar.java Fri Sep 23 13:01:31 2011
@@ -29,7 +29,7 @@ public class AggCountVar extends Aggrega
public String toPrefixString() { return "(count "+expr+")" ; }
@Override
- protected Accumulator createAccumulator()
+ public Accumulator createAccumulator()
{
return new AccCountVar(expr) ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCountVarDistinct.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCountVarDistinct.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCountVarDistinct.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggCountVarDistinct.java Fri Sep 23 13:01:31 2011
@@ -29,7 +29,7 @@ public class AggCountVarDistinct extends
public String toPrefixString() { return "(count distinct "+expr+")" ; }
@Override
- protected Accumulator createAccumulator()
+ public Accumulator createAccumulator()
{
return new AccCountVarDistinct() ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcat.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcat.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcat.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcat.java Fri Sep 23 13:01:31 2011
@@ -73,7 +73,7 @@ public class AggGroupConcat extends Aggr
}
@Override
- protected Accumulator createAccumulator()
+ public Accumulator createAccumulator()
{
return new AccGroupConcat(expr, separator) ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcatDistinct.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcatDistinct.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcatDistinct.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcatDistinct.java Fri Sep 23 13:01:31 2011
@@ -71,7 +71,7 @@ public class AggGroupConcatDistinct exte
}
@Override
- protected Accumulator createAccumulator()
+ public Accumulator createAccumulator()
{
return new AccGroupConcatDistinct(expr, separator) ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggMaxBase.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggMaxBase.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggMaxBase.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggMaxBase.java Fri Sep 23 13:01:31 2011
@@ -22,7 +22,8 @@ abstract class AggMaxBase extends Aggreg
public AggMaxBase(Expr expr) { this.expr = expr ; }
@Override
- protected final Accumulator createAccumulator()
+ public
+ final Accumulator createAccumulator()
{
return new AccMax(expr) ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggMinBase.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggMinBase.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggMinBase.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggMinBase.java Fri Sep 23 13:01:31 2011
@@ -22,7 +22,8 @@ abstract class AggMinBase extends Aggreg
public AggMinBase(Expr expr) { this.expr = expr ; }
@Override
- protected final Accumulator createAccumulator()
+ public
+ final Accumulator createAccumulator()
{
return new AccMin(expr) ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggNull.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggNull.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggNull.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggNull.java Fri Sep 23 13:01:31 2011
@@ -26,7 +26,7 @@ public class AggNull extends AggregatorB
public String toPrefixString() { return "(aggnull)" ; }
@Override
- protected Accumulator createAccumulator()
+ public Accumulator createAccumulator()
{
return createAccNull() ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSample.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSample.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSample.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSample.java Fri Sep 23 13:01:31 2011
@@ -29,7 +29,7 @@ public class AggSample extends Aggregato
public String toPrefixString() { return "(sample "+WriterExpr.asString(expr)+")" ; }
@Override
- protected Accumulator createAccumulator()
+ public Accumulator createAccumulator()
{
return new AccSample(expr) ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSampleDistinct.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSampleDistinct.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSampleDistinct.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSampleDistinct.java Fri Sep 23 13:01:31 2011
@@ -29,7 +29,7 @@ public class AggSampleDistinct extends A
public String toPrefixString() { return "(sample distinct"+WriterExpr.asString(expr)+")" ; }
@Override
- protected Accumulator createAccumulator()
+ public Accumulator createAccumulator()
{
return new AccSampleDistict(expr) ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSum.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSum.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSum.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSum.java Fri Sep 23 13:01:31 2011
@@ -33,7 +33,7 @@ public class AggSum extends AggregatorB
public String toPrefixString() { return "(sum "+WriterExpr.asString(expr)+")" ; }
@Override
- protected Accumulator createAccumulator()
+ public Accumulator createAccumulator()
{
return new AccSum(expr) ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSumDistinct.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSumDistinct.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSumDistinct.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggSumDistinct.java Fri Sep 23 13:01:31 2011
@@ -34,7 +34,7 @@ public class AggSumDistinct extends Agg
public String toPrefixString() { return "(sum distinct "+WriterExpr.asString(expr)+")" ; }
@Override
- protected Accumulator createAccumulator()
+ public Accumulator createAccumulator()
{
return new AccSumDistinct(expr) ;
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/Aggregator.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/Aggregator.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/Aggregator.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/Aggregator.java Fri Sep 23 13:01:31 2011
@@ -9,9 +9,7 @@
package com.hp.hpl.jena.sparql.expr.aggregate;
import com.hp.hpl.jena.graph.Node ;
-import com.hp.hpl.jena.sparql.engine.binding.Binding ;
import com.hp.hpl.jena.sparql.expr.Expr ;
-import com.hp.hpl.jena.sparql.function.FunctionEnv ;
import com.hp.hpl.jena.sparql.graph.NodeTransform ;
/** An Aggregator is the processor for the whole result stream.
@@ -19,25 +17,15 @@ import com.hp.hpl.jena.sparql.graph.Node
public interface Aggregator
{
- // Rename as createAccumulator
- public Accumulator createAcc() ;
-
-
//-- Aggregator - per query (strictly, one per SELECT level), unique even if mentioned several times.
//-- Accumulator - per group per key section processors (from AggregatorBase)
- // Remove
- public void accumulate(Binding key, Binding b, FunctionEnv functionEnv) ;
-
- // Push to Accumulator
+ /** Create an accumulator for this aggregator */
+ public Accumulator createAccumulator() ;
- public Node getValue(Binding key) ;
/** Value if there are no elements in any group : return null for no result */
public Node getValueEmpty() ;
-
-
-
public String toPrefixString() ;
// Key to identify an aggregator as syntax for duplicate use in a query.
public String key() ;
Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggregatorBase.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggregatorBase.java?rev=1174723&r1=1174722&r2=1174723&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggregatorBase.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/expr/aggregate/AggregatorBase.java Fri Sep 23 13:01:31 2011
@@ -15,7 +15,6 @@ import com.hp.hpl.jena.sparql.ARQInterna
import com.hp.hpl.jena.sparql.engine.binding.Binding ;
import com.hp.hpl.jena.sparql.expr.Expr ;
import com.hp.hpl.jena.sparql.expr.NodeValue ;
-import com.hp.hpl.jena.sparql.function.FunctionEnv ;
import com.hp.hpl.jena.sparql.graph.NodeTransform ;
/** Aggregate that does everything except the per-group aggregation that is needed for each operation */
@@ -37,21 +36,7 @@ public abstract class AggregatorBase imp
private Map<Binding, Accumulator> buckets = new HashMap<Binding, Accumulator>() ; // Bindingkey => Accumulator
- final
- public void accumulate(Binding key, Binding binding, FunctionEnv functionEnv)
- {
- Accumulator acc = buckets.get(key) ;
- if ( acc == null )
- {
- acc = createAccumulator() ;
- buckets.put(key, acc) ;
- }
- acc.accumulate(binding, functionEnv) ;
- }
-
- // Temporary for development.
- public Accumulator createAcc() { return createAccumulator() ; }
- protected abstract Accumulator createAccumulator() ;
+ public abstract Accumulator createAccumulator() ;
public abstract Node getValueEmpty() ;