mondrian.rolap.aggmatcher
Class DefaultRules

java.lang.Object
  extended by mondrian.rolap.aggmatcher.DefaultRules

public class DefaultRules
extends Object

Container for the default aggregate recognition rules. It is generated by parsing the default rule xml information found in the MondrianProperties.AggregateRules value which normally is a resource in the jar file (but can be a url).

It is a singleton since it is used to recognize tables independent of database connection (each RolapSchema uses the same instance).

Author:
Richard M. Emberson
 

Method Summary
 boolean columnsOK(RolapStar star, JdbcSchema.Table dbFactTable, JdbcSchema.Table aggTable, MessageRecorder msgRecorder)
          Uses the DefaultRecognizer Recognizer to determine if the given aggTable's columns all match upto the dbFactTable's columns (where present) making the column usages as a result.
 DefaultDef.AggRule getAggRule()
          Returns the DefaultDef.AggRule whose tag equals this rule's tag.
 DefaultDef.AggRule getAggRule(String tag)
          Returns the DefaultDef.AggRule whose tag equals the parameter tag, or null if not found.
 Recognizer.Matcher getFactCountMatcher()
          Gets the Recognizer.Matcher for columns that should be ignored.
 Recognizer.Matcher getForeignKeyMatcher(String foreignKeyName)
          Gets the Recognizer.Matcher for this foreign key column name.
 Recognizer.Matcher getIgnoreMatcher()
          Gets the Recognizer.Matcher for the fact count column.
static DefaultRules getInstance()
          There is a single instance of the DefaultRecognizer and the DefaultRules class is a container of that instance.
 Recognizer.Matcher getLevelMatcher(String usagePrefix, String hierarchyName, String levelName, String levelColumnName)
          Gets a Recognizer.Matcher for a given level's hierarchy's name, level name and column name.
 Recognizer.Matcher getMeasureMatcher(String measureName, String measureColumnName, String aggregateName)
          Creates a Recognizer.Matcher for the given measure name (symbolic name), column name and aggregate name (sum, count, etc.).
 Recognizer.Matcher getTableMatcher(String tableName)
          Gets the Recognizer.Matcher for this tableName.
 String getTag()
          Gets the tag of this rule (this is the value of the MondrianProperties.AggregateRuleTag property).
protected static DefaultDef.AggRules makeAggRules(File file)
           
protected static DefaultDef.AggRules makeAggRules(InputStream inStream)
           
protected static DefaultDef.AggRules makeAggRules(String text, String name)
           
protected static DefaultDef.AggRules makeAggRules(URL url)
           
protected static DOMWrapper makeDOMWrapper(File file)
           
protected static DOMWrapper makeDOMWrapper(InputStream inStream)
           
protected static DOMWrapper makeDOMWrapper(String text, String name)
           
protected static DOMWrapper makeDOMWrapper(URL url)
           
 boolean matchesTableName(String factTableName, String name)
          Returns true if this candidate aggregate table name "matches" the factTableName.
 void validate(MessageRecorder msgRecorder)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static DefaultRules getInstance()
There is a single instance of the DefaultRecognizer and the DefaultRules class is a container of that instance.


makeAggRules

protected static DefaultDef.AggRules makeAggRules(File file)

makeAggRules

protected static DefaultDef.AggRules makeAggRules(URL url)

makeAggRules

protected static DefaultDef.AggRules makeAggRules(InputStream inStream)

makeAggRules

protected static DefaultDef.AggRules makeAggRules(String text,
                                                  String name)

makeDOMWrapper

protected static DOMWrapper makeDOMWrapper(File file)

makeDOMWrapper

protected static DOMWrapper makeDOMWrapper(URL url)

makeDOMWrapper

protected static DOMWrapper makeDOMWrapper(InputStream inStream)

makeDOMWrapper

protected static DOMWrapper makeDOMWrapper(String text,
                                           String name)

validate

public void validate(MessageRecorder msgRecorder)

getTag

public String getTag()
Gets the tag of this rule (this is the value of the MondrianProperties.AggregateRuleTag property).


getAggRule

public DefaultDef.AggRule getAggRule()
Returns the DefaultDef.AggRule whose tag equals this rule's tag.


getAggRule

public DefaultDef.AggRule getAggRule(String tag)
Returns the DefaultDef.AggRule whose tag equals the parameter tag, or null if not found.

Parameters:
tag -
Returns:
the AggRule with tag value equal to tag parameter, or null.

getTableMatcher

public Recognizer.Matcher getTableMatcher(String tableName)
Gets the Recognizer.Matcher for this tableName.

Parameters:
tableName -

getIgnoreMatcher

public Recognizer.Matcher getIgnoreMatcher()
Gets the Recognizer.Matcher for the fact count column.


getFactCountMatcher

public Recognizer.Matcher getFactCountMatcher()
Gets the Recognizer.Matcher for columns that should be ignored.

Returns:
the Recognizer.Matcher for columns that should be ignored.

getForeignKeyMatcher

public Recognizer.Matcher getForeignKeyMatcher(String foreignKeyName)
Gets the Recognizer.Matcher for this foreign key column name.

Parameters:
foreignKeyName - Name of a foreign key column

matchesTableName

public boolean matchesTableName(String factTableName,
                                String name)
Returns true if this candidate aggregate table name "matches" the factTableName.

Parameters:
factTableName - Name of the fact table
name - candidate aggregate table name

getMeasureMatcher

public Recognizer.Matcher getMeasureMatcher(String measureName,
                                            String measureColumnName,
                                            String aggregateName)
Creates a Recognizer.Matcher for the given measure name (symbolic name), column name and aggregate name (sum, count, etc.).


getLevelMatcher

public Recognizer.Matcher getLevelMatcher(String usagePrefix,
                                          String hierarchyName,
                                          String levelName,
                                          String levelColumnName)
Gets a Recognizer.Matcher for a given level's hierarchy's name, level name and column name.


columnsOK

public boolean columnsOK(RolapStar star,
                         JdbcSchema.Table dbFactTable,
                         JdbcSchema.Table aggTable,
                         MessageRecorder msgRecorder)
Uses the DefaultRecognizer Recognizer to determine if the given aggTable's columns all match upto the dbFactTable's columns (where present) making the column usages as a result.


SourceForge.net_Logo