com.tonbeller.jpivot.mondrian
Class MondrianQueryAdapter

java.lang.Object
  extended by com.tonbeller.jpivot.olap.query.QueryAdapter
      extended by com.tonbeller.jpivot.mondrian.MondrianQueryAdapter
All Implemented Interfaces:
QuaxChangeListener, java.util.EventListener

public class MondrianQueryAdapter
extends QueryAdapter
implements QuaxChangeListener

Adapt the Mondrian Query Object to the JPivot System.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.tonbeller.jpivot.olap.query.QueryAdapter
QueryAdapter.QueryAdapterHolder
 
Field Summary
 
Fields inherited from class com.tonbeller.jpivot.olap.query.QueryAdapter
axesSwapped, genMDXHierarchize, model, quaxes, sortMan, useQuax
 
Method Summary
 boolean canCollapse(Member member)
           
 boolean canCollapse(Member[] pathMembers)
           
 boolean canDrillDown(Member member)
          drill down is possible if member has children
 boolean canExpand(Member member)
          find out, whether a member can be expanded.
 boolean canExpand(Member[] pathMembers)
           
protected  java.lang.Object createMemberSet(java.util.List memList)
          create set expression for list of members
 void expand(Member member)
          expand a member in all positions this is done by applying ToggleDrillState to the Query
 void expand(Member[] pathMembers)
          expand a member in a specific position
protected  java.lang.String getCurrentMdx()
          return the corresponding mdx
 mondrian.olap.Query getMonQuery()
          Returns the monQuery.
 mondrian.olap.SchemaReader getSchemaReader()
           
protected  void onExecute()
          Update the Mondrian Query before Execute.
 void quaxChanged(Quax quax, java.lang.Object source, boolean changedByNavi)
          implement MondrianQuaxChangeListener
 void setMonQuery(mondrian.olap.Query q)
          set the monQuery, used for restore
 void setSwapAxes(boolean swap)
          swap axes toggle swap state if neccessary
 
Methods inherited from class com.tonbeller.jpivot.olap.query.QueryAdapter
afterExecute, canDrillUp, collapse, collapse, drillDown, drillUp, findQuax, getQuaxes, iASwap, isSwapAxes, isUseQuax, poString, setQuaxes, setUseQuax
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getSchemaReader

public mondrian.olap.SchemaReader getSchemaReader()

quaxChanged

public void quaxChanged(Quax quax,
                        java.lang.Object source,
                        boolean changedByNavi)
implement MondrianQuaxChangeListener

Specified by:
quaxChanged in interface QuaxChangeListener

getMonQuery

public mondrian.olap.Query getMonQuery()
Returns the monQuery.

Returns:
Query

setMonQuery

public void setMonQuery(mondrian.olap.Query q)
set the monQuery, used for restore


onExecute

protected void onExecute()
Update the Mondrian Query before Execute. The current query is build from - the original query - adding the drilldown groups - apply pending swap axes - apply pending sorts. Called from MondrianModel.getResult before the query is executed.


getCurrentMdx

protected java.lang.String getCurrentMdx()
return the corresponding mdx


createMemberSet

protected java.lang.Object createMemberSet(java.util.List memList)
create set expression for list of members

Specified by:
createMemberSet in class QueryAdapter
Parameters:
memList -
Returns:
set expression

canExpand

public boolean canExpand(Member member)
find out, whether a member can be expanded. this is true, if - the member is on an axis and - the member is not yet expanded and - the member has children

Specified by:
canExpand in class QueryAdapter
Parameters:
member - to be expanded
Returns:
true if the member can be expanded
See Also:
DrillExpandMember.canExpand(Member)

canExpand

public boolean canExpand(Member[] pathMembers)
Specified by:
canExpand in class QueryAdapter
Parameters:
position - position to be expanded
Member - to be expanded
Returns:
true if the member can be expanded
See Also:
DrillExpandMember.canExpand(Member)

canCollapse

public boolean canCollapse(Member member)
Specified by:
canCollapse in class QueryAdapter
Parameters:
member - Member to be collapsed
Returns:
true if the member can be collapsed
See Also:
DrillExpandMember.canCollapse(Member)

canCollapse

public boolean canCollapse(Member[] pathMembers)
Specified by:
canCollapse in class QueryAdapter
Parameters:
position - position to be expanded
Returns:
true if the position can be collapsed
See Also:
DrillExpandMember.canCollapse(Member)

expand

public void expand(Member member)
expand a member in all positions this is done by applying ToggleDrillState to the Query

Overrides:
expand in class QueryAdapter
Parameters:
Member - member to be expanded
See Also:
com.tonbeller.jpivot.olap.navi.DrillExpand#expand(Member)

expand

public void expand(Member[] pathMembers)
expand a member in a specific position

Overrides:
expand in class QueryAdapter
Parameters:
position - position to be expanded
Member - member to be expanded
See Also:
com.tonbeller.jpivot.olap.navi.DrillExpand#expand(Member)

canDrillDown

public boolean canDrillDown(Member member)
drill down is possible if member has children

Specified by:
canDrillDown in class QueryAdapter

setSwapAxes

public void setSwapAxes(boolean swap)
swap axes toggle swap state if neccessary