mondrian.rolap
Class RolapDependencyTestingEvaluator

java.lang.Object
  extended by mondrian.rolap.RolapEvaluator
      extended by mondrian.rolap.RolapDependencyTestingEvaluator
All Implemented Interfaces:
Evaluator

public class RolapDependencyTestingEvaluator
extends RolapEvaluator

Evaluator which checks dependencies of expressions.

For each expression evaluation, this valuator evaluates each expression more times, and makes sure that the results of the expression are independent of dimensions which the expression claims to be independent of.

Since it evaluates each expression twice, it also exposes function implementations which change the context of the evaluator.

Since:
September, 2005
Author:
jhyde
 

Nested Class Summary
(package private) static class RolapDependencyTestingEvaluator.DteCompiler
          Expression compiler which introduces dependency testing.
(package private) static class RolapDependencyTestingEvaluator.DteRoot
          Holds context for a tree of RolapDependencyTestingEvaluator.
 
Nested classes/interfaces inherited from class mondrian.rolap.RolapEvaluator
RolapEvaluator.RolapEvaluatorRoot
 
Field Summary
 
Fields inherited from class mondrian.rolap.RolapEvaluator
aggregationLists, cellReader, root
 
Constructor Summary
RolapDependencyTestingEvaluator(RolapResult result, int expDeps)
          Creates an dependency-testing evaluator.
 
Method Summary
 RolapEvaluator _push()
          Creates a clone of the current validator.
 Object evaluate(Calc calc, Dimension[] independentDimensions, String mdxString)
           
 
Methods inherited from class mondrian.rolap.RolapEvaluator
addCalcMember, clearExpResultCache, create, equals, evaluateCurrent, evaluateNamedSet, format, format, getAggregationLists, getCachedResult, getConnectionLocale, getContext, getCube, getDepth, getDialect, getExpanding, getFormatString, getIterationLength, getLogger, getMeasureCube, getMembers, getMissCount, getParameterValue, getParent, getProperty, getQuery, getQueryStartTime, getSchemaReader, getSlicerMembers, hashCode, isEvalAxes, isNonEmpty, needToReturnNullForUnrelatedDimension, newEvalException, pop, push, push, push, pushAggregation, setCellReader, setContext, setContext, setContext, setEvalAxes, setIterationLength, setNonEmpty, setSlicerContext, shouldIgnoreUnrelatedDimensions
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RolapDependencyTestingEvaluator

RolapDependencyTestingEvaluator(RolapResult result,
                                int expDeps)
Creates an dependency-testing evaluator.

Parameters:
result - Result we are building
expDeps - Number of dependencies to check
Method Detail

evaluate

public Object evaluate(Calc calc,
                       Dimension[] independentDimensions,
                       String mdxString)

_push

public RolapEvaluator _push()
Description copied from class: RolapEvaluator
Creates a clone of the current validator.

Overrides:
_push in class RolapEvaluator

SourceForge.net_Logo