From 2a2a2c42814a2b3d00c85f7ba48fcc0f9f04a111 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Wed, 31 Oct 2012 21:56:19 -0400 Subject: Rename ScDPCacheTable to ScDPFilteredCache. I always wanted to do this. The new name reflects what it really does better than the old one. Change-Id: I3c90cce06d482f1453936ff3916eef9663bb417b --- sc/inc/dpcachetable.hxx | 16 +++++------ sc/inc/dpgroup.hxx | 12 ++++---- sc/inc/dpsdbtab.hxx | 10 +++---- sc/inc/dpshttab.hxx | 8 +++--- sc/inc/dptabdat.hxx | 12 ++++---- sc/inc/dptabres.hxx | 2 +- sc/inc/dptabsrc.hxx | 2 +- sc/source/core/data/dpcachetable.cxx | 56 ++++++++++++++++++------------------ sc/source/core/data/dpgroup.cxx | 42 +++++++++++++-------------- sc/source/core/data/dpsdbtab.cxx | 6 ++-- sc/source/core/data/dpshttab.cxx | 6 ++-- sc/source/core/data/dptabdat.cxx | 6 ++-- sc/source/core/data/dptabres.cxx | 10 +++---- sc/source/core/data/dptabsrc.cxx | 35 +++++++++++----------- 14 files changed, 111 insertions(+), 112 deletions(-) (limited to 'sc') diff --git a/sc/inc/dpcachetable.hxx b/sc/inc/dpcachetable.hxx index 7fb6c649be6d..f72bbdfe7065 100644 --- a/sc/inc/dpcachetable.hxx +++ b/sc/inc/dpcachetable.hxx @@ -49,12 +49,10 @@ struct ScDPValueData; struct ScQueryParam; /** - * Despite the name, this class is only a wrapper to the actual cache, to - * provide filtering on the raw data based on the query filter and/or page - * field filters. I will rename this class to a more appropriate name in the - * future. + * This class is only a wrapper to the actual cache, to provide filtering on + * the raw data based on the query filter and/or page field filters. */ -class SC_DLLPUBLIC ScDPCacheTable +class SC_DLLPUBLIC ScDPFilteredCache { typedef mdds::flat_segment_tree RowFlagType; @@ -109,8 +107,8 @@ public: Criterion(); }; - ScDPCacheTable(const ScDPCache& rCache); - ~ScDPCacheTable(); + ScDPFilteredCache(const ScDPCache& rCache); + ~ScDPFilteredCache(); sal_Int32 getRowSize() const; sal_Int32 getColSize() const; @@ -159,8 +157,8 @@ public: #endif private: - ScDPCacheTable(); - ScDPCacheTable(const ScDPCacheTable&); + ScDPFilteredCache(); + ScDPFilteredCache(const ScDPFilteredCache&); /** * Check if a given row meets all specified criteria. diff --git a/sc/inc/dpgroup.hxx b/sc/inc/dpgroup.hxx index afa3933efe48..1fb4aec84611 100644 --- a/sc/inc/dpgroup.hxx +++ b/sc/inc/dpgroup.hxx @@ -57,7 +57,7 @@ public: bool HasElement( const ScDPItemData& rData ) const; bool HasCommonElement( const ScDPGroupItem& rOther ) const; - void FillGroupFilter( ScDPCacheTable::GroupFilter& rFilter ) const; + void FillGroupFilter( ScDPFilteredCache::GroupFilter& rFilter ) const; }; typedef ::std::vector ScDPGroupItemVec; @@ -84,7 +84,7 @@ public: long GetGroupDim() const { return nGroupDim; } const rtl::OUString& GetName() const { return aGroupName; } - const std::vector< SCROW >& GetColumnEntries( const ScDPCacheTable& rCacheTable ) const; + const std::vector< SCROW >& GetColumnEntries( const ScDPFilteredCache& rCacheTable ) const; const ScDPGroupItem* GetGroupForData( const ScDPItemData& rData ) const; // rData = entry in original dim. const ScDPGroupItem* GetGroupForName( const ScDPItemData& rName ) const; // rName = entry in group dim. const ScDPGroupItem* GetGroupByIndex( size_t nIndex ) const; @@ -145,7 +145,7 @@ class ScDPGroupTableData : public ScDPTableData bool IsNumGroupDimension( long nDimension ) const; void GetNumGroupInfo(long nDimension, ScDPNumGroupInfo& rInfo); - void ModifyFilterCriteria(::std::vector& rCriteria); + void ModifyFilterCriteria(::std::vector& rCriteria); public: // takes ownership of pSource @@ -176,12 +176,12 @@ public: virtual bool IsRepeatIfEmpty(); virtual void CreateCacheTable(); - virtual void FilterCacheTable(const ::std::vector& rCriteria, const ::boost::unordered_set& rDataDims); - virtual void GetDrillDownData(const ::std::vector& rCriteria, + virtual void FilterCacheTable(const ::std::vector& rCriteria, const ::boost::unordered_set& rDataDims); + virtual void GetDrillDownData(const ::std::vector& rCriteria, const ::boost::unordered_set& rCatDims, ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > >& rData); virtual void CalcResults(CalcInfo& rInfo, bool bAutoShow); - virtual const ScDPCacheTable& GetCacheTable() const; + virtual const ScDPFilteredCache& GetCacheTable() const; virtual void ReloadCacheTable(); virtual sal_Bool IsBaseForGroup(long nDim) const; diff --git a/sc/inc/dpsdbtab.hxx b/sc/inc/dpsdbtab.hxx index 87e6df61c3b3..c1a0fc9f53cb 100644 --- a/sc/inc/dpsdbtab.hxx +++ b/sc/inc/dpsdbtab.hxx @@ -36,7 +36,7 @@ #include #include -class ScDPCacheTable; +class ScDPFilteredCache; class ScDocument; class ScDPCache; class ScDPDimensionSaveData; @@ -68,7 +68,7 @@ struct ScImportSourceDesc class ScDatabaseDPData : public ScDPTableData { private: - ScDPCacheTable aCacheTable; + ScDPFilteredCache aCacheTable; public: ScDatabaseDPData(ScDocument* pDoc, const ScDPCache& rCache); virtual ~ScDatabaseDPData(); @@ -81,12 +81,12 @@ public: virtual void SetEmptyFlags( sal_Bool bIgnoreEmptyRows, sal_Bool bRepeatIfEmpty ); virtual void CreateCacheTable(); - virtual void FilterCacheTable(const ::std::vector& rCriteria, const ::boost::unordered_set& rDataDims); - virtual void GetDrillDownData(const ::std::vector& rCriteria, + virtual void FilterCacheTable(const ::std::vector& rCriteria, const ::boost::unordered_set& rDataDims); + virtual void GetDrillDownData(const ::std::vector& rCriteria, const ::boost::unordered_set& rCatDims, ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > >& rData); virtual void CalcResults(CalcInfo& rInfo, bool bAutoShow); - virtual const ScDPCacheTable& GetCacheTable() const; + virtual const ScDPFilteredCache& GetCacheTable() const; virtual void ReloadCacheTable(); }; diff --git a/sc/inc/dpshttab.hxx b/sc/inc/dpshttab.hxx index 633207ab5e97..9e1e0d49b8ec 100644 --- a/sc/inc/dpshttab.hxx +++ b/sc/inc/dpshttab.hxx @@ -104,7 +104,7 @@ private: bool bIgnoreEmptyRows; bool bRepeatIfEmpty; - ScDPCacheTable aCacheTable; + ScDPFilteredCache aCacheTable; public: ScSheetDPData(ScDocument* pD, const ScSheetSourceDesc& rDesc, const ScDPCache& rCache); @@ -121,12 +121,12 @@ public: virtual bool IsRepeatIfEmpty(); virtual void CreateCacheTable(); - virtual void FilterCacheTable(const ::std::vector& rCriteria, const ::boost::unordered_set& rCatDims); - virtual void GetDrillDownData(const ::std::vector& rCriteria, + virtual void FilterCacheTable(const ::std::vector& rCriteria, const ::boost::unordered_set& rCatDims); + virtual void GetDrillDownData(const ::std::vector& rCriteria, const ::boost::unordered_set& rCatDims, ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > >& rData); virtual void CalcResults(CalcInfo& rInfo, bool bAutoShow); - virtual const ScDPCacheTable& GetCacheTable() const; + virtual const ScDPFilteredCache& GetCacheTable() const; virtual void ReloadCacheTable(); }; diff --git a/sc/inc/dptabdat.hxx b/sc/inc/dptabdat.hxx index 16b8ef323dbf..26ada0e84ef0 100644 --- a/sc/inc/dptabdat.hxx +++ b/sc/inc/dptabdat.hxx @@ -148,12 +148,12 @@ public: virtual bool IsRepeatIfEmpty(); virtual void CreateCacheTable() = 0; - virtual void FilterCacheTable(const ::std::vector& rCriteria, const ::boost::unordered_set& rDataDims) = 0; - virtual void GetDrillDownData(const ::std::vector& rCriteria, + virtual void FilterCacheTable(const ::std::vector& rCriteria, const ::boost::unordered_set& rDataDims) = 0; + virtual void GetDrillDownData(const ::std::vector& rCriteria, const ::boost::unordered_set& rCatDims, ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > >& rData) = 0; virtual void CalcResults(CalcInfo& rInfo, bool bAutoShow) = 0; - virtual const ScDPCacheTable& GetCacheTable() const = 0; + virtual const ScDPFilteredCache& GetCacheTable() const = 0; virtual void ReloadCacheTable() = 0; // overloaded in ScDPGroupTableData: @@ -187,12 +187,12 @@ protected: ::std::vector aValues; }; - void FillRowDataFromCacheTable(sal_Int32 nRow, const ScDPCacheTable& rCacheTable, const CalcInfo& rInfo, CalcRowData& rData); + void FillRowDataFromCacheTable(sal_Int32 nRow, const ScDPFilteredCache& rCacheTable, const CalcInfo& rInfo, CalcRowData& rData); void ProcessRowData(CalcInfo& rInfo, CalcRowData& rData, bool bAutoShow); - void CalcResultsFromCacheTable(const ScDPCacheTable& rCacheTable, CalcInfo& rInfo, bool bAutoShow); + void CalcResultsFromCacheTable(const ScDPFilteredCache& rCacheTable, CalcInfo& rInfo, bool bAutoShow); private: - void GetItemData(const ScDPCacheTable& rCacheTable, sal_Int32 nRow, + void GetItemData(const ScDPFilteredCache& rCacheTable, sal_Int32 nRow, const ::std::vector& rDims, ::std::vector< SCROW >& rItemData); }; #endif diff --git a/sc/inc/dptabres.hxx b/sc/inc/dptabres.hxx index 48a62b7f62f0..e5a939a05e11 100644 --- a/sc/inc/dptabres.hxx +++ b/sc/inc/dptabres.hxx @@ -656,7 +656,7 @@ public: ~ScDPResultVisibilityData(); void addVisibleMember(const String& rDimName, const ScDPItemData& rMemberItem); - void fillFieldFilters(::std::vector& rFilters) const; + void fillFieldFilters(::std::vector& rFilters) const; private: struct MemberHash diff --git a/sc/inc/dptabsrc.hxx b/sc/inc/dptabsrc.hxx index 9fced306c11b..c3ec63ed072a 100644 --- a/sc/inc/dptabsrc.hxx +++ b/sc/inc/dptabsrc.hxx @@ -152,7 +152,7 @@ private: * Set visibilities of individual rows in the cache table based on the * page field data. */ - void FilterCacheTableByPageDimensions(); + void FilterCacheByPageDimensions(); void SetDupCount( long nNew ); diff --git a/sc/source/core/data/dpcachetable.cxx b/sc/source/core/data/dpcachetable.cxx index 6a648a9cd9b8..1da99f64a33d 100644 --- a/sc/source/core/data/dpcachetable.cxx +++ b/sc/source/core/data/dpcachetable.cxx @@ -64,24 +64,24 @@ using ::com::sun::star::uno::UNO_QUERY; using ::com::sun::star::uno::UNO_QUERY_THROW; using ::com::sun::star::sheet::DataPilotFieldFilter; -ScDPCacheTable::SingleFilter::SingleFilter(const ScDPItemData& rItem) : +ScDPFilteredCache::SingleFilter::SingleFilter(const ScDPItemData& rItem) : maItem(rItem) {} -bool ScDPCacheTable::SingleFilter::match(const ScDPItemData& rCellData) const +bool ScDPFilteredCache::SingleFilter::match(const ScDPItemData& rCellData) const { return maItem == rCellData; } -const ScDPItemData& ScDPCacheTable::SingleFilter::getMatchValue() const +const ScDPItemData& ScDPFilteredCache::SingleFilter::getMatchValue() const { return maItem; } -ScDPCacheTable::GroupFilter::GroupFilter() +ScDPFilteredCache::GroupFilter::GroupFilter() { } -bool ScDPCacheTable::GroupFilter::match(const ScDPItemData& rCellData) const +bool ScDPFilteredCache::GroupFilter::match(const ScDPItemData& rCellData) const { vector::const_iterator it = maItems.begin(), itEnd = maItems.end(); for (; it != itEnd; ++it) @@ -93,19 +93,19 @@ bool ScDPCacheTable::GroupFilter::match(const ScDPItemData& rCellData) const return false; } -void ScDPCacheTable::GroupFilter::addMatchItem(const ScDPItemData& rItem) +void ScDPFilteredCache::GroupFilter::addMatchItem(const ScDPItemData& rItem) { maItems.push_back(rItem); } -size_t ScDPCacheTable::GroupFilter::getMatchItemCount() const +size_t ScDPFilteredCache::GroupFilter::getMatchItemCount() const { return maItems.size(); } // ---------------------------------------------------------------------------- -ScDPCacheTable::Criterion::Criterion() : +ScDPFilteredCache::Criterion::Criterion() : mnFieldIndex(-1), mpFilter(static_cast(NULL)) { @@ -113,26 +113,26 @@ ScDPCacheTable::Criterion::Criterion() : // ---------------------------------------------------------------------------- -ScDPCacheTable::ScDPCacheTable(const ScDPCache& rCache) : +ScDPFilteredCache::ScDPFilteredCache(const ScDPCache& rCache) : maShowByFilter(0, MAXROW+1, false), maShowByPage(0, MAXROW+1, true), mrCache(rCache) { } -ScDPCacheTable::~ScDPCacheTable() +ScDPFilteredCache::~ScDPFilteredCache() { } -sal_Int32 ScDPCacheTable::getRowSize() const +sal_Int32 ScDPFilteredCache::getRowSize() const { return mrCache.GetRowCount(); } -sal_Int32 ScDPCacheTable::getColSize() const +sal_Int32 ScDPFilteredCache::getColSize() const { return mrCache.GetColumnCount(); } -void ScDPCacheTable::fillTable( +void ScDPFilteredCache::fillTable( const ScQueryParam& rQuery, bool bIgnoreEmptyRows, bool bRepeatIfEmpty) { SCROW nRowCount = getRowSize(); @@ -208,7 +208,7 @@ void ScDPCacheTable::fillTable( } } -void ScDPCacheTable::fillTable() +void ScDPFilteredCache::fillTable() { SCROW nRowCount = getRowSize(); SCCOL nColCount = getColSize(); @@ -250,7 +250,7 @@ void ScDPCacheTable::fillTable() } } -bool ScDPCacheTable::isRowActive(sal_Int32 nRow, sal_Int32* pLastRow) const +bool ScDPFilteredCache::isRowActive(sal_Int32 nRow, sal_Int32* pLastRow) const { bool bFilter = false, bPage = true; SCROW nLastRowFilter = MAXROW, nLastRowPage = MAXROW; @@ -266,7 +266,7 @@ bool ScDPCacheTable::isRowActive(sal_Int32 nRow, sal_Int32* pLastRow) const return bFilter && bPage; } -void ScDPCacheTable::filterByPageDimension(const vector& rCriteria, const boost::unordered_set& rRepeatIfEmptyDims) +void ScDPFilteredCache::filterByPageDimension(const vector& rCriteria, const boost::unordered_set& rRepeatIfEmptyDims) { SCROW nRowSize = getRowSize(); @@ -280,13 +280,13 @@ void ScDPCacheTable::filterByPageDimension(const vector& rCriteria, c maShowByPage.build_tree(); } -const ScDPItemData* ScDPCacheTable::getCell(SCCOL nCol, SCROW nRow, bool bRepeatIfEmpty) const +const ScDPItemData* ScDPFilteredCache::getCell(SCCOL nCol, SCROW nRow, bool bRepeatIfEmpty) const { SCROW nId= mrCache.GetItemDataId(nCol, nRow, bRepeatIfEmpty); return mrCache.GetItemDataById( nCol, nId ); } -void ScDPCacheTable::getValue( ScDPValueData& rVal, SCCOL nCol, SCROW nRow, bool bRepeatIfEmpty) const +void ScDPFilteredCache::getValue( ScDPValueData& rVal, SCCOL nCol, SCROW nRow, bool bRepeatIfEmpty) const { const ScDPItemData* pData = getCell( nCol, nRow, bRepeatIfEmpty ); @@ -299,12 +299,12 @@ void ScDPCacheTable::getValue( ScDPValueData& rVal, SCCOL nCol, SCROW nRow, boo rVal.Set(0.0, SC_VALTYPE_EMPTY); } -rtl::OUString ScDPCacheTable::getFieldName(SCCOL nIndex) const +rtl::OUString ScDPFilteredCache::getFieldName(SCCOL nIndex) const { return mrCache.GetDimensionName(nIndex); } -const ::std::vector& ScDPCacheTable::getFieldEntries( sal_Int32 nColumn ) const +const ::std::vector& ScDPFilteredCache::getFieldEntries( sal_Int32 nColumn ) const { if (nColumn < 0 || static_cast(nColumn) >= maFieldEntries.size()) { @@ -315,7 +315,7 @@ const ::std::vector& ScDPCacheTable::getFieldEntries( sal_Int32 nColumn return maFieldEntries[nColumn]; } -void ScDPCacheTable::filterTable(const vector& rCriteria, Sequence< Sequence >& rTabData, +void ScDPFilteredCache::filterTable(const vector& rCriteria, Sequence< Sequence >& rTabData, const boost::unordered_set& rRepeatIfEmptyDims) { sal_Int32 nRowSize = getRowSize(); @@ -381,24 +381,24 @@ void ScDPCacheTable::filterTable(const vector& rCriteria, Sequence< S rTabData[i] = tableData[i]; } -SCROW ScDPCacheTable::getOrder(long nDim, SCROW nIndex) const +SCROW ScDPFilteredCache::getOrder(long nDim, SCROW nIndex) const { return mrCache.GetOrder(nDim, nIndex); } -void ScDPCacheTable::clear() +void ScDPFilteredCache::clear() { maFieldEntries.clear(); maShowByFilter.clear(); maShowByPage.clear(); } -bool ScDPCacheTable::empty() const +bool ScDPFilteredCache::empty() const { return maFieldEntries.empty(); } -bool ScDPCacheTable::isRowQualified(sal_Int32 nRow, const vector& rCriteria, +bool ScDPFilteredCache::isRowQualified(sal_Int32 nRow, const vector& rCriteria, const boost::unordered_set& rRepeatIfEmptyDims) const { sal_Int32 nColSize = getColSize(); @@ -419,7 +419,7 @@ bool ScDPCacheTable::isRowQualified(sal_Int32 nRow, const vector& rCr return true; } -const ScDPCache* ScDPCacheTable::getCache() const +const ScDPCache* ScDPFilteredCache::getCache() const { return &mrCache; } @@ -429,7 +429,7 @@ const ScDPCache* ScDPCacheTable::getCache() const using std::cout; using std::endl; -void ScDPCacheTable::dumpRowFlag(const RowFlagType& rFlag) const +void ScDPFilteredCache::dumpRowFlag(const RowFlagType& rFlag) const { RowFlagType::const_iterator it = rFlag.begin(), itEnd = rFlag.end(); bool bShow = it->second; @@ -443,7 +443,7 @@ void ScDPCacheTable::dumpRowFlag(const RowFlagType& rFlag) const } } -void ScDPCacheTable::dump() const +void ScDPFilteredCache::dump() const { cout << "--- pivot cache filter dump" << endl; diff --git a/sc/source/core/data/dpgroup.cxx b/sc/source/core/data/dpgroup.cxx index aba278556336..0eb4622c8b0c 100644 --- a/sc/source/core/data/dpgroup.cxx +++ b/sc/source/core/data/dpgroup.cxx @@ -63,7 +63,7 @@ using ::boost::shared_ptr; const sal_uInt16 SC_DP_LEAPYEAR = 1648; // arbitrary leap year for date calculations -class ScDPGroupNumFilter : public ScDPCacheTable::FilterBase +class ScDPGroupNumFilter : public ScDPFilteredCache::FilterBase { public: ScDPGroupNumFilter(const ScDPItemData& rValue, const ScDPNumGroupInfo& rInfo); @@ -103,7 +103,7 @@ bool ScDPGroupNumFilter::match(const ScDPItemData& rCellData) const return low <= rCellData.GetValue() && rCellData.GetValue() < high; } -class ScDPGroupDateFilter : public ScDPCacheTable::FilterBase +class ScDPGroupDateFilter : public ScDPFilteredCache::FilterBase { public: virtual ~ScDPGroupDateFilter() {} @@ -309,7 +309,7 @@ bool ScDPGroupItem::HasCommonElement( const ScDPGroupItem& rOther ) const return false; } -void ScDPGroupItem::FillGroupFilter( ScDPCacheTable::GroupFilter& rFilter ) const +void ScDPGroupItem::FillGroupFilter( ScDPFilteredCache::GroupFilter& rFilter ) const { ScDPItemDataVec::const_iterator itrEnd = aElements.end(); for (ScDPItemDataVec::const_iterator itr = aElements.begin(); itr != itrEnd; ++itr) @@ -361,7 +361,7 @@ void ScDPGroupDimension::SetGroupDim( long nDim ) } const std::vector& ScDPGroupDimension::GetColumnEntries( - const ScDPCacheTable& rCacheTable) const + const ScDPFilteredCache& rCacheTable) const { if (!maMemberEntries.empty()) return maMemberEntries; @@ -628,7 +628,7 @@ void ScDPGroupTableData::CreateCacheTable() pSourceData->CreateCacheTable(); } -void ScDPGroupTableData::ModifyFilterCriteria(vector& rCriteria) +void ScDPGroupTableData::ModifyFilterCriteria(vector& rCriteria) { typedef boost::unordered_map GroupFieldMapType; GroupFieldMapType aGroupFieldIds; @@ -638,17 +638,17 @@ void ScDPGroupTableData::ModifyFilterCriteria(vector& aGroupFieldIds.insert( boost::unordered_map::value_type(itr->GetGroupDim(), &(*itr)) ); } - vector aNewCriteria; + vector aNewCriteria; aNewCriteria.reserve(rCriteria.size() + aGroups.size()); // Go through all the filtered field names and process them appropriately. const ScDPCache* pCache = GetCacheTable().getCache(); - vector::const_iterator itrEnd = rCriteria.end(); + vector::const_iterator itrEnd = rCriteria.end(); GroupFieldMapType::const_iterator itrGrpEnd = aGroupFieldIds.end(); - for (vector::const_iterator itr = rCriteria.begin(); itr != itrEnd; ++itr) + for (vector::const_iterator itr = rCriteria.begin(); itr != itrEnd; ++itr) { - ScDPCacheTable::SingleFilter* pFilter = dynamic_cast(itr->mpFilter.get()); + ScDPFilteredCache::SingleFilter* pFilter = dynamic_cast(itr->mpFilter.get()); if (!pFilter) // We expect this to be a single filter. continue; @@ -659,7 +659,7 @@ void ScDPGroupTableData::ModifyFilterCriteria(vector& if (IsNumGroupDimension(itr->mnFieldIndex)) { // internal number group field - ScDPCacheTable::Criterion aCri; + ScDPFilteredCache::Criterion aCri; aCri.mnFieldIndex = itr->mnFieldIndex; const ScDPNumGroupDimension& rNumGrpDim = pNumGroups[itr->mnFieldIndex]; const ScDPNumGroupInfo* pNumInfo = pCache->GetNumGroupInfo(itr->mnFieldIndex); @@ -701,7 +701,7 @@ void ScDPGroupTableData::ModifyFilterCriteria(vector& if (pGrpDim->IsDateDimension() && pNumInfo) { // external number group - ScDPCacheTable::Criterion aCri; + ScDPFilteredCache::Criterion aCri; aCri.mnFieldIndex = nSrcDim; // use the source dimension, not the group dimension. aCri.mpFilter.reset( new ScDPGroupDateFilter( @@ -723,11 +723,11 @@ void ScDPGroupTableData::ModifyFilterCriteria(vector& if (!pGrpItem || !pGrpItem->GetName().IsCaseInsEqual(aName)) continue; - ScDPCacheTable::Criterion aCri; + ScDPFilteredCache::Criterion aCri; aCri.mnFieldIndex = nSrcDim; - aCri.mpFilter.reset(new ScDPCacheTable::GroupFilter()); - ScDPCacheTable::GroupFilter* pGrpFilter = - static_cast(aCri.mpFilter.get()); + aCri.mpFilter.reset(new ScDPFilteredCache::GroupFilter()); + ScDPFilteredCache::GroupFilter* pGrpFilter = + static_cast(aCri.mpFilter.get()); pGrpItem->FillGroupFilter(*pGrpFilter); aNewCriteria.push_back(aCri); @@ -738,16 +738,16 @@ void ScDPGroupTableData::ModifyFilterCriteria(vector& rCriteria.swap(aNewCriteria); } -void ScDPGroupTableData::FilterCacheTable(const vector& rCriteria, const boost::unordered_set& rCatDims) +void ScDPGroupTableData::FilterCacheTable(const vector& rCriteria, const boost::unordered_set& rCatDims) { - vector aNewCriteria(rCriteria); + vector aNewCriteria(rCriteria); ModifyFilterCriteria(aNewCriteria); pSourceData->FilterCacheTable(aNewCriteria, rCatDims); } -void ScDPGroupTableData::GetDrillDownData(const vector& rCriteria, const boost::unordered_set& rCatDims, Sequence< Sequence >& rData) +void ScDPGroupTableData::GetDrillDownData(const vector& rCriteria, const boost::unordered_set& rCatDims, Sequence< Sequence >& rData) { - vector aNewCriteria(rCriteria); + vector aNewCriteria(rCriteria); ModifyFilterCriteria(aNewCriteria); pSourceData->GetDrillDownData(aNewCriteria, rCatDims, rData); } @@ -758,7 +758,7 @@ void ScDPGroupTableData::CalcResults(CalcInfo& rInfo, bool bAutoShow) // getIsDataLayoutDimension and GetSourceDim are used, so it has to be called // with original rInfo, containing dimension indexes of the grouped data. - const ScDPCacheTable& rCacheTable = pSourceData->GetCacheTable(); + const ScDPFilteredCache& rCacheTable = pSourceData->GetCacheTable(); sal_Int32 nRowSize = rCacheTable.getRowSize(); for (sal_Int32 nRow = 0; nRow < nRowSize; ++nRow) { @@ -783,7 +783,7 @@ void ScDPGroupTableData::CalcResults(CalcInfo& rInfo, bool bAutoShow) } } -const ScDPCacheTable& ScDPGroupTableData::GetCacheTable() const +const ScDPFilteredCache& ScDPGroupTableData::GetCacheTable() const { return pSourceData->GetCacheTable(); } diff --git a/sc/source/core/data/dpsdbtab.cxx b/sc/source/core/data/dpsdbtab.cxx index 696f74d7b920..9b877eebc0d4 100644 --- a/sc/source/core/data/dpsdbtab.cxx +++ b/sc/source/core/data/dpsdbtab.cxx @@ -134,14 +134,14 @@ void ScDatabaseDPData::CreateCacheTable() aCacheTable.fillTable(); } -void ScDatabaseDPData::FilterCacheTable(const vector& rCriteria, const boost::unordered_set& rCatDims) +void ScDatabaseDPData::FilterCacheTable(const vector& rCriteria, const boost::unordered_set& rCatDims) { CreateCacheTable(); aCacheTable.filterByPageDimension( rCriteria, (IsRepeatIfEmpty() ? rCatDims : boost::unordered_set())); } -void ScDatabaseDPData::GetDrillDownData(const vector& rCriteria, const boost::unordered_set& rCatDims, Sequence< Sequence >& rData) +void ScDatabaseDPData::GetDrillDownData(const vector& rCriteria, const boost::unordered_set& rCatDims, Sequence< Sequence >& rData) { CreateCacheTable(); sal_Int32 nRowSize = aCacheTable.getRowSize(); @@ -158,7 +158,7 @@ void ScDatabaseDPData::CalcResults(CalcInfo& rInfo, bool bAutoShow) CalcResultsFromCacheTable( aCacheTable, rInfo, bAutoShow); } -const ScDPCacheTable& ScDatabaseDPData::GetCacheTable() const +const ScDPFilteredCache& ScDatabaseDPData::GetCacheTable() const { return aCacheTable; } diff --git a/sc/source/core/data/dpshttab.cxx b/sc/source/core/data/dpshttab.cxx index 15ea27c1af28..6b6569ca2370 100644 --- a/sc/source/core/data/dpshttab.cxx +++ b/sc/source/core/data/dpshttab.cxx @@ -185,14 +185,14 @@ void ScSheetDPData::CreateCacheTable() aCacheTable.fillTable(aQuery, bIgnoreEmptyRows, bRepeatIfEmpty); } -void ScSheetDPData::FilterCacheTable(const vector& rCriteria, const boost::unordered_set& rCatDims) +void ScSheetDPData::FilterCacheTable(const vector& rCriteria, const boost::unordered_set& rCatDims) { CreateCacheTable(); aCacheTable.filterByPageDimension( rCriteria, (IsRepeatIfEmpty() ? rCatDims : boost::unordered_set())); } -void ScSheetDPData::GetDrillDownData(const vector& rCriteria, const boost::unordered_set& rCatDims, Sequence< Sequence >& rData) +void ScSheetDPData::GetDrillDownData(const vector& rCriteria, const boost::unordered_set& rCatDims, Sequence< Sequence >& rData) { CreateCacheTable(); sal_Int32 nRowSize = aCacheTable.getRowSize(); @@ -209,7 +209,7 @@ void ScSheetDPData::CalcResults(CalcInfo& rInfo, bool bAutoShow) CalcResultsFromCacheTable(aCacheTable, rInfo, bAutoShow); } -const ScDPCacheTable& ScSheetDPData::GetCacheTable() const +const ScDPFilteredCache& ScSheetDPData::GetCacheTable() const { return aCacheTable; } diff --git a/sc/source/core/data/dptabdat.cxx b/sc/source/core/data/dptabdat.cxx index f150d8d3ef23..79030b83354a 100644 --- a/sc/source/core/data/dptabdat.cxx +++ b/sc/source/core/data/dptabdat.cxx @@ -157,7 +157,7 @@ sal_Bool ScDPTableData::HasCommonElement( const ScDPItemData&, long, OSL_FAIL("HasCommonElement shouldn't be called for non-group data"); return false; } -void ScDPTableData::FillRowDataFromCacheTable(sal_Int32 nRow, const ScDPCacheTable& rCacheTable, +void ScDPTableData::FillRowDataFromCacheTable(sal_Int32 nRow, const ScDPFilteredCache& rCacheTable, const CalcInfo& rInfo, CalcRowData& rData) { // column dimensions @@ -216,7 +216,7 @@ void ScDPTableData::ProcessRowData(CalcInfo& rInfo, CalcRowData& rData, bool bAu } } -void ScDPTableData::CalcResultsFromCacheTable(const ScDPCacheTable& rCacheTable, CalcInfo& rInfo, bool bAutoShow) +void ScDPTableData::CalcResultsFromCacheTable(const ScDPFilteredCache& rCacheTable, CalcInfo& rInfo, bool bAutoShow) { sal_Int32 nRowSize = rCacheTable.getRowSize(); for (sal_Int32 nRow = 0; nRow < nRowSize; ++nRow) @@ -234,7 +234,7 @@ void ScDPTableData::CalcResultsFromCacheTable(const ScDPCacheTable& rCacheTable, } } -void ScDPTableData::GetItemData(const ScDPCacheTable& rCacheTable, sal_Int32 nRow, +void ScDPTableData::GetItemData(const ScDPFilteredCache& rCacheTable, sal_Int32 nRow, const vector& rDims, vector& rItemData) { sal_Int32 nDimSize = rDims.size(); diff --git a/sc/source/core/data/dptabres.cxx b/sc/source/core/data/dptabres.cxx index 3b34126107a6..b4dfa963f183 100644 --- a/sc/source/core/data/dptabres.cxx +++ b/sc/source/core/data/dptabres.cxx @@ -3849,7 +3849,7 @@ void ScDPResultVisibilityData::addVisibleMember(const String& rDimName, const Sc rMem.insert(rMemberItem); } -void ScDPResultVisibilityData::fillFieldFilters(vector& rFilters) const +void ScDPResultVisibilityData::fillFieldFilters(vector& rFilters) const { typedef boost::unordered_map FieldNameMapType; FieldNameMapType aFieldNames; @@ -3866,7 +3866,7 @@ void ScDPResultVisibilityData::fillFieldFilters(vectorfirst; - ScDPCacheTable::Criterion aCri; + ScDPFilteredCache::Criterion aCri; FieldNameMapType::const_iterator itrField = aFieldNames.find(rDimName); if (itrField == aFieldNames.end()) // This should never happen! @@ -3874,10 +3874,10 @@ void ScDPResultVisibilityData::fillFieldFilters(vectorsecond; aCri.mnFieldIndex = static_cast(nDimIndex); - aCri.mpFilter.reset(new ScDPCacheTable::GroupFilter(/*mrSharedString*/)); + aCri.mpFilter.reset(new ScDPFilteredCache::GroupFilter(/*mrSharedString*/)); - ScDPCacheTable::GroupFilter* pGrpFilter = - static_cast(aCri.mpFilter.get()); + ScDPFilteredCache::GroupFilter* pGrpFilter = + static_cast(aCri.mpFilter.get()); const VisibleMemberType& rMem = itr->second; for (VisibleMemberType::const_iterator itrMem = rMem.begin(), itrMemEnd = rMem.end(); diff --git a/sc/source/core/data/dptabsrc.cxx b/sc/source/core/data/dptabsrc.cxx index c3c12149d19e..ba904cb24104 100644 --- a/sc/source/core/data/dptabsrc.cxx +++ b/sc/source/core/data/dptabsrc.cxx @@ -431,7 +431,7 @@ Sequence< Sequence > SAL_CALL ScDPSource::getDrillDownData(const SequenceGetColumnCount(); - vector aFilterCriteria; + vector aFilterCriteria; sal_Int32 nFilterCount = aFilters.getLength(); for (sal_Int32 i = 0; i < nFilterCount; ++i) { @@ -449,10 +449,10 @@ Sequence< Sequence > SAL_CALL ScDPSource::getDrillDownData(const SequencegetByIndex(nIndex)->FillItemData( aItem ); - aFilterCriteria.push_back( ScDPCacheTable::Criterion() ); + aFilterCriteria.push_back( ScDPFilteredCache::Criterion() ); aFilterCriteria.back().mnFieldIndex = nCol; aFilterCriteria.back().mpFilter.reset( - new ScDPCacheTable::SingleFilter(aItem)); + new ScDPFilteredCache::SingleFilter(aItem)); } } } @@ -678,12 +678,13 @@ void ScDPSource::GetCategoryDimensionIndices(boost::unordered_set& rC rCatDims.swap(aCatDims); } -void ScDPSource::FilterCacheTableByPageDimensions() +void ScDPSource::FilterCacheByPageDimensions() { - // #i117661# Repeated calls to ScDPCacheTable::filterByPageDimension are invalid because - // rows are only hidden, never shown again. If FilterCacheTableByPageDimensions is called - // again, the cache table must be re-initialized. Currently, CreateRes_Impl always uses - // a fresh cache because ScDBDocFunc::DataPilotUpdate calls InvalidateData. + // #i117661# Repeated calls to ScDPFilteredCache::filterByPageDimension + // are invalid because rows are only hidden, never shown again. If + // FilterCacheByPageDimensions is called again, the cache table must + // be re-initialized. Currently, CreateRes_Impl always uses a fresh cache + // because ScDBDocFunc::DataPilotUpdate calls InvalidateData. if (bPageFiltered) { @@ -695,7 +696,7 @@ void ScDPSource::FilterCacheTableByPageDimensions() } // filter table by page dimensions. - vector aCriteria; + vector aCriteria; for (long i = 0; i < nPageDimCount; ++i) { ScDPDimension* pDim = GetDimensionsObject()->getByIndex(nPageDims[i]); @@ -705,11 +706,11 @@ void ScDPSource::FilterCacheTableByPageDimensions() GetLevelsObject()->getByIndex(0)->GetMembersObject(); long nMemCount = pMems->getCount(); - ScDPCacheTable::Criterion aFilter; + ScDPFilteredCache::Criterion aFilter; aFilter.mnFieldIndex = static_cast(nField); - aFilter.mpFilter.reset(new ScDPCacheTable::GroupFilter(/*rSharedString*/)); - ScDPCacheTable::GroupFilter* pGrpFilter = - static_cast(aFilter.mpFilter.get()); + aFilter.mpFilter.reset(new ScDPFilteredCache::GroupFilter(/*rSharedString*/)); + ScDPFilteredCache::GroupFilter* pGrpFilter = + static_cast(aFilter.mpFilter.get()); for (long j = 0; j < nMemCount; ++j) { ScDPMember* pMem = pMems->getByIndex(j); @@ -728,10 +729,10 @@ void ScDPSource::FilterCacheTableByPageDimensions() continue; const ScDPItemData& rData = pDim->GetSelectedData(); - aCriteria.push_back(ScDPCacheTable::Criterion()); - ScDPCacheTable::Criterion& r = aCriteria.back(); + aCriteria.push_back(ScDPFilteredCache::Criterion()); + ScDPFilteredCache::Criterion& r = aCriteria.back(); r.mnFieldIndex = static_cast(nField); - r.mpFilter.reset(new ScDPCacheTable::SingleFilter(rData)); + r.mpFilter.reset(new ScDPFilteredCache::SingleFilter(rData)); } if (!aCriteria.empty()) { @@ -913,7 +914,7 @@ void ScDPSource::CreateRes_Impl() return; } - FilterCacheTableByPageDimensions(); + FilterCacheByPageDimensions(); aInfo.aPageDims.reserve(nPageDimCount); for (i = 0; i < nPageDimCount; ++i) -- cgit