Interface IDataCubeAdapter

  • All Known Implementing Classes:
    ADataCubeAdapter, DataCubeAdapter, IdentityDataCubeAdapter

    public interface IDataCubeAdapter
    Component that links the current data node to the topology it exposes to the distributed application. A IDataCubeAdapter can be linked to one or more query cube.

    For instance, a data cube can hide some of its hierarchies from the application, especially if these hierarchies have very high cardinality. This component, in such a case, will hold the topology exposed to the query cubes of the application.

    A data cube can also conceal a measure, especially if it is an intermediate measure for example, that have no use for the business analysis.

    Author:
    ActiveViam
    • Method Detail

      • getExposedDimensions

        List<String> getExposedDimensions()
        Gets the list of dimensions exposed to the distributed application.
        Returns:
        The list of the dimension names exposed to the application
      • getExposedMeasures

        List<AProxyMeasure> getExposedMeasures()
        Gets the list of measures exposed to the distributed application.
        Returns:
        The list of the measures exposed to the application
      • isMeasureExposed

        boolean isMeasureExposed​(String measureName)
        Checks whether the measure can be queried from the outside.
        Parameters:
        measureName - the name of the measure
        Returns:
        true of the measure can be queried
      • getExposedHierarchiesOfDimension

        List<String> getExposedHierarchiesOfDimension​(String dimensionName)
        Gets the list of hierarchies of the given dimension exposed to the distributed application.
        Parameters:
        dimensionName - the dimension's name
        Returns:
        The list of the hierarchy names exposed to the application
      • getDimensionInfo

        IDimensionInfo getDimensionInfo​(String dimensionName)
                                 throws ActiveViamRuntimeException
        Returns the dimension information of the exposed dimension. This information might have been altered to present a coherent list of dimensions to the distributed application. For instance, its ordinal can be shifted if a previous dimension is concealed, to prevent having a list of dimensions with holes.
        Parameters:
        dimensionName - the name of the dimension to retrieve<
        Returns:
        the exposed dimension information, or null if the specified element cannot be found or is not exposed.
        Throws:
        ActiveViamRuntimeException - when trying to retrieve a concealed dimension
      • getHierarchyInfo

        IHierarchyInfo getHierarchyInfo​(String dimensionName,
                                        String hierarchyName)
                                 throws ActiveViamRuntimeException
        Returns the hierarchy information of the exposed hierarchy. This information might have been altered to present a coherent list of hierarchies to the distributed application. For instance, its ordinal might have been shifted, if the previous hierarchy is concealed, to prevent having a list of hierarchies with holes. Returns null if the specified element cannot be found/is not exposed.
        Parameters:
        dimensionName - the name of the dimension the hierarchy belongs to
        hierarchyName - the name of the hierarchy to retrieve
        Returns:
        the exposed hierarchy information, or null if the specified element cannot be found or is not exposed.
        Throws:
        ActiveViamRuntimeException - when trying to retrieve a concealed hierarchy
      • getLevelInfo

        ILevelInfo getLevelInfo​(String dimensionName,
                                String hierarchyName,
                                String levelName)
                         throws ActiveViamRuntimeException
        Returns the level information of the exposed level. This information must be coherent with the IHierarchyInfo of the hierarchy it belongs to.
        Parameters:
        dimensionName - the name of the dimension the level belongs to
        hierarchyName - the name of the hierarchy the level belongs to
        levelName - the name of the level to retrieve
        Returns:
        the exposed level information
        Throws:
        ActiveViamRuntimeException - when trying to retrieve a level that is part of a concealed Hierarchy
      • broadenLocation

        Optional<ILocation> broadenLocation​(ILocation location,
                                            IActivePivotVersion pivotVersion)
        Reinserts concealed members in the given location.
        Parameters:
        location - the location to expand
        pivotVersion - the version of the pivot from which the default members are retrieved
        Returns:
        the location with the concealed hierarchies' default members.
      • narrowLocation

        ILocation narrowLocation​(ILocation location)
        Removes the concealed members from the given location. It is the developer's responsibility to ensure that the size of the given location matches the pivot's hierarchies count.
        Parameters:
        location - The location to reduce to the scope of the exposed topology
        Returns:
        the reduced location
      • getRestrictHierarchicalMapping

        Map<String,​Map<String,​Integer>> getRestrictHierarchicalMapping()
        Returns a mapping of the hierarchies names, with their depth, indexed by dimensionName ,that can be used to restrict a IHierarchicalMapping to match the topology exposed to the rest of the application.
        Returns:
        the mapping