Class PlatformXmlaExtra

  • All Implemented Interfaces:
    mondrian.xmla.XmlaHandler.XmlaExtra

    public class PlatformXmlaExtra
    extends Object
    implements mondrian.xmla.XmlaHandler.XmlaExtra
    Access to XmlaExtra inside OSGI where M4 is running is tricky. This class will delegate to the correct classes using the reflection api. Note that only the methods used inside extensions or Analyzer are implemented. More can be implemented as necessary.
    • Method Detail

      • unwrapXmlaExtra

        public static mondrian.xmla.XmlaHandler.XmlaExtra unwrapXmlaExtra​(org.olap4j.OlapConnection olap4jConn)
                                                                   throws SQLException
        Throws:
        SQLException
      • executeDrillthrough

        public ResultSet executeDrillthrough​(org.olap4j.OlapStatement olapStatement,
                                             String s,
                                             boolean b,
                                             String s2,
                                             int[] ints)
                                      throws SQLException
        Specified by:
        executeDrillthrough in interface mondrian.xmla.XmlaHandler.XmlaExtra
        Throws:
        SQLException
      • setPreferList

        public void setPreferList​(org.olap4j.OlapConnection olapConnection)
        Specified by:
        setPreferList in interface mondrian.xmla.XmlaHandler.XmlaExtra
      • getSchemaLoadDate

        public Date getSchemaLoadDate​(org.olap4j.metadata.Schema schema)
        Specified by:
        getSchemaLoadDate in interface mondrian.xmla.XmlaHandler.XmlaExtra
      • getLevelCardinality

        public int getLevelCardinality​(org.olap4j.metadata.Level level)
                                throws org.olap4j.OlapException
        Specified by:
        getLevelCardinality in interface mondrian.xmla.XmlaHandler.XmlaExtra
        Throws:
        org.olap4j.OlapException
      • getSchemaFunctionList

        public void getSchemaFunctionList​(List<mondrian.xmla.XmlaHandler.XmlaExtra.FunctionDefinition> functionDefinitions,
                                          org.olap4j.metadata.Schema schema,
                                          mondrian.olap.Util.Functor1<Boolean,​String> booleanStringFunctor1)
        Specified by:
        getSchemaFunctionList in interface mondrian.xmla.XmlaHandler.XmlaExtra
      • getHierarchyCardinality

        public int getHierarchyCardinality​(org.olap4j.metadata.Hierarchy hierarchy)
                                    throws org.olap4j.OlapException
        Specified by:
        getHierarchyCardinality in interface mondrian.xmla.XmlaHandler.XmlaExtra
        Throws:
        org.olap4j.OlapException
      • getHierarchyStructure

        public int getHierarchyStructure​(org.olap4j.metadata.Hierarchy hierarchy)
        Specified by:
        getHierarchyStructure in interface mondrian.xmla.XmlaHandler.XmlaExtra
      • isHierarchyParentChild

        public boolean isHierarchyParentChild​(org.olap4j.metadata.Hierarchy hierarchy)
        Specified by:
        isHierarchyParentChild in interface mondrian.xmla.XmlaHandler.XmlaExtra
      • getMeasureAggregator

        public int getMeasureAggregator​(org.olap4j.metadata.Member member)
        Specified by:
        getMeasureAggregator in interface mondrian.xmla.XmlaHandler.XmlaExtra
      • checkMemberOrdinal

        public void checkMemberOrdinal​(org.olap4j.metadata.Member member)
                                throws org.olap4j.OlapException
        Specified by:
        checkMemberOrdinal in interface mondrian.xmla.XmlaHandler.XmlaExtra
        Throws:
        org.olap4j.OlapException
      • shouldReturnCellProperty

        public boolean shouldReturnCellProperty​(org.olap4j.CellSet cellSet,
                                                org.olap4j.metadata.Property property,
                                                boolean b)
        Specified by:
        shouldReturnCellProperty in interface mondrian.xmla.XmlaHandler.XmlaExtra
      • getSchemaRoleNames

        public List<String> getSchemaRoleNames​(org.olap4j.metadata.Schema schema)
        Specified by:
        getSchemaRoleNames in interface mondrian.xmla.XmlaHandler.XmlaExtra
      • getSchemaId

        public String getSchemaId​(org.olap4j.metadata.Schema schema)
        Specified by:
        getSchemaId in interface mondrian.xmla.XmlaHandler.XmlaExtra
      • getCubeType

        public String getCubeType​(org.olap4j.metadata.Cube cube)
        Specified by:
        getCubeType in interface mondrian.xmla.XmlaHandler.XmlaExtra
      • isLevelUnique

        public boolean isLevelUnique​(org.olap4j.metadata.Level level)
        Specified by:
        isLevelUnique in interface mondrian.xmla.XmlaHandler.XmlaExtra
      • getLevelProperties

        public List<org.olap4j.metadata.Property> getLevelProperties​(org.olap4j.metadata.Level level)
        Specified by:
        getLevelProperties in interface mondrian.xmla.XmlaHandler.XmlaExtra
      • isPropertyInternal

        public boolean isPropertyInternal​(org.olap4j.metadata.Property property)
        Specified by:
        isPropertyInternal in interface mondrian.xmla.XmlaHandler.XmlaExtra
      • getDataSources

        public List<Map<String,​Object>> getDataSources​(org.olap4j.OlapConnection olapConnection)
                                                      throws org.olap4j.OlapException
        Specified by:
        getDataSources in interface mondrian.xmla.XmlaHandler.XmlaExtra
        Throws:
        org.olap4j.OlapException
      • getAnnotationMap

        public Map<String,​Object> getAnnotationMap​(org.olap4j.metadata.MetadataElement metadataElement)
                                                  throws SQLException
        Specified by:
        getAnnotationMap in interface mondrian.xmla.XmlaHandler.XmlaExtra
        Throws:
        SQLException
      • canDrillThrough

        public boolean canDrillThrough​(org.olap4j.Cell cell)
        Specified by:
        canDrillThrough in interface mondrian.xmla.XmlaHandler.XmlaExtra
      • getDrillThroughCount

        public int getDrillThroughCount​(org.olap4j.Cell cell)
        Specified by:
        getDrillThroughCount in interface mondrian.xmla.XmlaHandler.XmlaExtra
      • flushSchemaCache

        public void flushSchemaCache​(org.olap4j.OlapConnection olapConnection)
                              throws org.olap4j.OlapException
        Specified by:
        flushSchemaCache in interface mondrian.xmla.XmlaHandler.XmlaExtra
        Throws:
        org.olap4j.OlapException
      • getMemberKey

        public Object getMemberKey​(org.olap4j.metadata.Member member)
                            throws org.olap4j.OlapException
        Specified by:
        getMemberKey in interface mondrian.xmla.XmlaHandler.XmlaExtra
        Throws:
        org.olap4j.OlapException
      • getOrderKey

        public Object getOrderKey​(org.olap4j.metadata.Member member)
                           throws org.olap4j.OlapException
        Specified by:
        getOrderKey in interface mondrian.xmla.XmlaHandler.XmlaExtra
        Throws:
        org.olap4j.OlapException