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 Details

    • 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