Class EssDrillthroughImpl
- All Implemented Interfaces:
EssDrillthrough,EssObject
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classNested classes/interfaces inherited from interface com.appliedolap.essbase.EssDrillthrough
EssDrillthrough.DrillthroughTypeNested classes/interfaces inherited from interface com.appliedolap.essbase.EssObject
EssObject.Type -
Field Summary
Fields inherited from class com.appliedolap.essbase.AbstractEssObject
api -
Constructor Summary
ConstructorsConstructorDescriptionEssDrillthroughImpl(ApiContext api, EssCube cube, com.appliedolap.essbase.client.model.ReportBean reportBean) -
Method Summary
Modifier and TypeMethodDescriptionvoiddelete()Deletes this drill-through reportRuns this report for a drilled cell and returns the detail behind it.ThroughNativeHttprather than the generated method, because the specification gives this operation's 200 no schema at all - it describes the shape in prose and models none of it, so the generated call returnsvoidand discards the rows.Which source column is filtered by which cube dimension, keyed by column name.Gets a list of column names for this report.getCube()Returns the cube that owns this drill-through object.Gets the name of the data source for this report.Get the drillable regions.Parsed without regard to case because the server is not consistent about it: creating a report echoes back thedatasourceit was sent, while reading one answersDATASOURCE.getName()Gets the name of this drill-through report.getType()Gets the type of this object.getUrl()Gets the URL of this drill-through report (URL-style only!).booleanGets the useTempTables parameter for this report which is only valid using Oracle DB.voidsave()Saves updates to this reportvoidsetColumnMappings(Map<String, EssDrillthroughColumnMapping> columnMappings) Sets the column-to-dimension mappings.voidsetColumns(List<String> columns) Sets the list of column names for this report.voidsetDataSourceName(String dataSourceName) Sets the name of the data source for this report.voidsetDrillableRegions(List<String> drillableRegions) Sets the drillable regions for this reportvoidSets the drill (again, likely to change soon)voidsetUseTempTables(boolean useTempTables) Sets the useTempTables parameter for this report which is only valid using Oracle DB.
-
Constructor Details
-
EssDrillthroughImpl
public EssDrillthroughImpl(ApiContext api, EssCube cube, com.appliedolap.essbase.client.model.ReportBean reportBean)
-
-
Method Details
-
getCube
Description copied from interface:EssDrillthroughReturns the cube that owns this drill-through object.- Specified by:
getCubein interfaceEssDrillthrough- Returns:
- the parent cube for this drill-through definition
-
getName
Description copied from interface:EssDrillthroughGets the name of this drill-through report.- Specified by:
getNamein interfaceEssDrillthrough- Specified by:
getNamein interfaceEssObject- Returns:
- the drill-through name
-
getType
Description copied from interface:EssObjectGets the type of this object.- Specified by:
getTypein interfaceEssDrillthrough- Specified by:
getTypein interfaceEssObject- Returns:
- the object type
-
getUrl
Description copied from interface:EssDrillthroughGets the URL of this drill-through report (URL-style only!). This API will likely change soon as support for different drill-through types is built out.- Specified by:
getUrlin interfaceEssDrillthrough- Returns:
- the drill URL if there is one, null otherwise, such as on data source reports
-
getDrillthroughType
Parsed without regard to case because the server is not consistent about it: creating a report echoes back the
datasourceit was sent, while reading one answersDATASOURCE. Matching exactly would work on the path this class happens to take and fail on the other.- Specified by:
getDrillthroughTypein interfaceEssDrillthrough- Returns:
- the type
- See Also:
-
setUrl
Description copied from interface:EssDrillthroughSets the drill (again, likely to change soon)- Specified by:
setUrlin interfaceEssDrillthrough- Parameters:
url- the drill URL
-
getDrillableRegions
Description copied from interface:EssDrillthroughGet the drillable regions.- Specified by:
getDrillableRegionsin interfaceEssDrillthrough- Returns:
- the list of drillable regions
-
setDrillableRegions
Description copied from interface:EssDrillthroughSets the drillable regions for this report- Specified by:
setDrillableRegionsin interfaceEssDrillthrough- Parameters:
drillableRegions- the drillable regions
-
isUseTempTables
public boolean isUseTempTables()Description copied from interface:EssDrillthroughGets the useTempTables parameter for this report which is only valid using Oracle DB.- Specified by:
isUseTempTablesin interfaceEssDrillthrough- Returns:
- the use temp tables setting
-
setUseTempTables
public void setUseTempTables(boolean useTempTables) Description copied from interface:EssDrillthroughSets the useTempTables parameter for this report which is only valid using Oracle DB.- Specified by:
setUseTempTablesin interfaceEssDrillthrough- Parameters:
useTempTables- the use temp tables setting
-
getDataSourceName
Description copied from interface:EssDrillthroughGets the name of the data source for this report.- Specified by:
getDataSourceNamein interfaceEssDrillthrough- Returns:
- the name of the data source.
-
setDataSourceName
Description copied from interface:EssDrillthroughSets the name of the data source for this report.- Specified by:
setDataSourceNamein interfaceEssDrillthrough- Parameters:
dataSourceName- the name of the data source
-
getColumns
Gets a list of column names for this report.- Specified by:
getColumnsin interfaceEssDrillthrough- Returns:
- a list of column names for this report.
-
setColumns
Sets the list of column names for this report.- Specified by:
setColumnsin interfaceEssDrillthrough- Parameters:
columns- a list of column names for this report
-
getColumnMappings
Description copied from interface:EssDrillthroughWhich source column is filtered by which cube dimension, keyed by column name.This is what makes a datasource report a drill-through rather than a query: the drilled cell's members become the filter on these columns.
- Specified by:
getColumnMappingsin interfaceEssDrillthrough- Returns:
- the mappings, empty on a URL report
-
setColumnMappings
Description copied from interface:EssDrillthroughSets the column-to-dimension mappings.- Specified by:
setColumnMappingsin interfaceEssDrillthrough- Parameters:
columnMappings- the mappings, keyed by source column name
-
save
public void save()Description copied from interface:EssDrillthroughSaves updates to this report- Specified by:
savein interfaceEssDrillthrough
-
execute
Description copied from interface:EssDrillthroughRuns this report for a drilled cell and returns the detail behind it.Executed by the server rather than assembled here, which is the difference that matters: the drillable regions, the column mappings, the runtime parameters and the temporary-table setting are all honoured, because Essbase is running its own report rather than this code guessing at what that report means.
Each dimension carries a set of members rather than one, because a drill can come from a selected range of cells and not only a single intersection.
- Specified by:
executein interfaceEssDrillthrough- Parameters:
pov- the drilled cell, as dimension to the members selected in it- Returns:
- the detail rows
-
execute
Through
NativeHttprather than the generated method, because the specification gives this operation's 200 no schema at all - it describes the shape in prose and models none of it, so the generated call returnsvoidand discards the rows. The prose is accurate: the body is a JSON array whose first element is the column datatypes, whose second is the column names, and whose remainder is one array per record.The POV's member sets are sent as sets because that is what the endpoint wants - handing it a bare string earns
Cannot construct instance of java.util.HashSet from String value.- Specified by:
executein interfaceEssDrillthrough- Parameters:
pov- the drilled cell, as dimension to the members selected in italiasTable- the alias table the member names are expressed in, or null for none- Returns:
- the detail rows
-
delete
public void delete()Description copied from interface:EssDrillthroughDeletes this drill-through report- Specified by:
deletein interfaceEssDrillthrough
-