mondrian.spi.impl
Class DataSourceChangeListenerImpl4

java.lang.Object
  extended by mondrian.spi.impl.DataSourceChangeListenerImpl4
All Implemented Interfaces:
DataSourceChangeListener

public class DataSourceChangeListenerImpl4
extends Object
implements DataSourceChangeListener

Default implementation of a data source change listener that always returns that the datasource is changed. A change listener can be specified in the connection string. It is used to ask what is changed in the datasource (e.g. database). Everytime mondrian has to decide whether it will use data from cache, it will call the change listener. When the change listener tells mondrian the datasource has changed for a dimension, cube, ... then mondrian will flush the cache and read from database again. It is specified in the connection string, like this:

Jdbc=jdbc:odbc:MondrianFoodMart; JdbcUser=ziggy; JdbcPassword=stardust; DataSourceChangeListener=com.acme.MyChangeListener;
This class should be called in mondrian before any data is read, so even before cache is build. This way, the plugin is able to register the first timestamp mondrian tries to read the datasource.

Since:
Dec 12, 2006
Author:
Bart Pappyn
 

Field Summary
(package private)  Random random
           
 
Constructor Summary
DataSourceChangeListenerImpl4()
          Creates a new instance of DataSourceChangeListenerImpl2
DataSourceChangeListenerImpl4(int flushInverseFrequencyHierarchy, int flushInverseFrequencyAggregation)
           
 
Method Summary
 String getTableName(RolapHierarchy hierarchy)
           
 boolean isAggregationChanged(Aggregation aggregation)
          Checks if the given aggregation has changed since the previous time this function was called.
 boolean isHierarchyChanged(RolapHierarchy hierarchy)
          Checks if the given hierarchy has changed since the previous time this function was called.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

random

final Random random
Constructor Detail

DataSourceChangeListenerImpl4

public DataSourceChangeListenerImpl4()
Creates a new instance of DataSourceChangeListenerImpl2


DataSourceChangeListenerImpl4

public DataSourceChangeListenerImpl4(int flushInverseFrequencyHierarchy,
                                     int flushInverseFrequencyAggregation)
Method Detail

isHierarchyChanged

public boolean isHierarchyChanged(RolapHierarchy hierarchy)
Description copied from interface: DataSourceChangeListener
Checks if the given hierarchy has changed since the previous time this function was called. The first time, this function will be called when the cache is still empty. This is because the plugin is able to register the first timestamp the function was accessed. It is highly recommended to optimize the plugin and minimize the time needed to evaluate this function, because this plugin is called many times for each mondrian query.

Specified by:
isHierarchyChanged in interface DataSourceChangeListener

isAggregationChanged

public boolean isAggregationChanged(Aggregation aggregation)
Description copied from interface: DataSourceChangeListener
Checks if the given aggregation has changed since the previous time this function was called. The first time, this function will be called when the cache is still empty. This is because the plugin is able to register the first timestamp the function was accessed.

Specified by:
isAggregationChanged in interface DataSourceChangeListener

getTableName

public String getTableName(RolapHierarchy hierarchy)

SourceForge.net_Logo