diff options
author | Cédric Bosdonnat <cedricbosdo@openoffice.org> | 2010-12-08 00:27:52 +0100 |
---|---|---|
committer | Cédric Bosdonnat <cedricbosdo@openoffice.org> | 2010-12-08 00:32:24 +0100 |
commit | 471689e4a4172f2d2babcdd5ce3ef2b8dfd17e2b (patch) | |
tree | 95536e4d18b7bcd850bcc29dcf5852293eaa104f | |
parent | eef95b17255a0765fd5f46a8fb7d6e08bb712d19 (diff) |
Using libxml2 instead of homemade stuffs for the debug output
This also seems to fix a memory leak that was present only with some
debug output enabled.
33 files changed, 505 insertions, 711 deletions
diff --git a/writerfilter/inc/resourcemodel/TagLogger.hxx b/writerfilter/inc/resourcemodel/TagLogger.hxx index 4101503b02e7..4af36ea8777c 100644 --- a/writerfilter/inc/resourcemodel/TagLogger.hxx +++ b/writerfilter/inc/resourcemodel/TagLogger.hxx @@ -36,124 +36,53 @@ #include <WriterFilterDllApi.hxx> #include <resourcemodel/WW8ResourceModel.hxx> #include <string> -#include <vector> -#include <stack> #include <hash_map> #include <boost/shared_ptr.hpp> -#include <iostream> +#include <libxml/xmlwriter.h> namespace writerfilter { - using namespace::std; - - struct XMLAttribute - { - string mName; - string mValue; - public: - XMLAttribute(string sName, string sValue) - : mName(sName), mValue(sValue) - { - } - }; - - class WRITERFILTER_DLLPUBLIC XMLTag + class IdToString { public: - enum eMode { START, END, COMPLETE }; - typedef boost::shared_ptr<XMLTag> Pointer_t; - static Pointer_t NIL; - - private: - string mTag; - string mChars; - - typedef vector<XMLAttribute> XMLAttributes_t; - XMLAttributes_t mAttrs; - typedef vector<XMLTag::Pointer_t> XMLTags_t; - XMLTags_t mTags; - eMode mMode; - - public: - XMLTag(string sTag, eMode mode = COMPLETE) : mTag(sTag), mMode(mode) {} - - void addAttr(string name, string value); - void addAttr(string name, const ::rtl::OUString & value); - void addAttr(string name, sal_uInt32 nValue); - void addAttr(string name, uno::Any rAny); - void addTag(Pointer_t pTag); - void chars(const string & rChars); - void chars(const ::rtl::OUString & rChars); - const string & getTag() const; - string toString() const; - - ostream & output(ostream & o) const; + typedef boost::shared_ptr<IdToString> Pointer_t; + virtual std::string toString(const Id & id) const = 0; }; class WRITERFILTER_DLLPUBLIC TagLogger { public: - typedef boost::shared_ptr<TagLogger> Pointer_t; + typedef TagLogger* Pointer_t; private: - stack<XMLTag::Pointer_t> mTags; - XMLTag::Pointer_t currentTag() const; - XMLTag::Pointer_t mpRoot; - string mFileName; + xmlTextWriterPtr pWriter; + const char* pName; - TagLogger(); + TagLogger(const char* name); public: ~TagLogger(); static Pointer_t getInstance(const char * name); - void setFileName(const string & rName); + void setFileName(const std::string & filename); void startDocument(); - void element(const string & name); - void startElement(const string & name); - void attribute(const string & name, const string & value); - void attribute(const string & name, const ::rtl::OUString & value); - void attribute(const string & name, sal_uInt32 value); - void attribute(const string & name, const uno::Any aAny); - void addTag(XMLTag::Pointer_t pTag); - void chars(const string & chars); + void element(const std::string & name); + void startElement(const std::string & name); + void attribute(const std::string & name, const std::string & value); + void attribute(const std::string & name, const ::rtl::OUString & value); + void attribute(const std::string & name, sal_uInt32 value); + void attribute(const std::string & name, const uno::Any aAny); + void chars(const std::string & chars); void chars(const ::rtl::OUString & chars); - void endElement(const string & name); + void endElement(); void endDocument(); - ostream & output(ostream & o) const; - static void dump(const char * name); + void unoPropertySet(uno::Reference<beans::XPropertySet> rPropSet); + void propertySet(writerfilter::Reference<Properties>::Pointer_t props, + IdToString::Pointer_t pIdToString); }; - - class IdToString - { - public: - typedef boost::shared_ptr<IdToString> Pointer_t; - virtual string toString(const Id & id) const = 0; - }; - - class WRITERFILTER_DLLPUBLIC PropertySetToTagHandler : public Properties - { - XMLTag::Pointer_t mpTag; - IdToString::Pointer_t mpIdToString; - - public: - PropertySetToTagHandler(IdToString::Pointer_t pIdToString) - : mpTag(new XMLTag("propertyset")), mpIdToString(pIdToString) {} - virtual ~PropertySetToTagHandler(); - - XMLTag::Pointer_t getTag() const { return mpTag; } - - void resolve(XMLTag & rTag, - writerfilter::Reference<Properties>::Pointer_t props); - - virtual void attribute(Id name, Value & val); - virtual void sprm(Sprm & sprm); - }; - -WRITERFILTER_DLLPUBLIC XMLTag::Pointer_t unoPropertySetToTag(uno::Reference<beans::XPropertySet> rPropSet); } #endif // DEBUG diff --git a/writerfilter/source/dmapper/BorderHandler.cxx b/writerfilter/source/dmapper/BorderHandler.cxx index a914185a816b..bb08439de3b1 100644 --- a/writerfilter/source/dmapper/BorderHandler.cxx +++ b/writerfilter/source/dmapper/BorderHandler.cxx @@ -70,7 +70,7 @@ void BorderHandler::attribute(Id rName, Value & rVal) #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("BorderHandler.attribute"); dmapper_logger->attribute("id", (*QNameToString::Instance())(rName)); - dmapper_logger->endElement("BorderHandler.attribute"); + dmapper_logger->endElement(); #endif sal_Int32 nIntValue = rVal.getInt(); @@ -147,7 +147,7 @@ void BorderHandler::sprm(Sprm & rSprm) } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("BorderHandler.sprm"); + dmapper_logger->endElement(); #endif } diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 9e33c43a8ee3..32d364917e83 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -200,7 +200,7 @@ void DomainMapper::attribute(Id nName, Value & val) dmapper_logger->startElement("attribute"); dmapper_logger->attribute("name", (*QNameToString::Instance())(nName)); dmapper_logger->attribute("value", val.toString()); - dmapper_logger->endElement("attribute"); + dmapper_logger->endElement(); #endif static ::rtl::OUString sLocalBookmarkName; sal_Int32 nIntValue = val.getInt(); @@ -2244,7 +2244,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("charWeight"); dmapper_logger->attribute("weight", nIntValue ? awt::FontWeight::BOLD : awt::FontWeight::NORMAL); - dmapper_logger->endElement("charWeight"); + dmapper_logger->endElement(); #endif rContext->Insert(ePropertyId, true, aBold ); @@ -3397,14 +3397,14 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp dmapper_logger->startElement("unhandled"); dmapper_logger->attribute("id", nSprmId); dmapper_logger->attribute("name", rSprm.getName()); - dmapper_logger->endElement("unhandled"); + dmapper_logger->endElement(); #endif } } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->addTag(rContext->toTag()); - dmapper_logger->endElement("DomainMapper.sprm"); + rContext->dumpXml(dmapper_logger); + dmapper_logger->endElement(); #endif } /*-- 09.06.2006 09:52:13--------------------------------------------------- @@ -3420,7 +3420,7 @@ void DomainMapper::entry(int /*pos*/, ref->resolve(*this); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("DomainMapper.entry"); + dmapper_logger->endElement(); #endif } /*-- 09.06.2006 09:52:13--------------------------------------------------- @@ -3453,7 +3453,7 @@ void DomainMapper::endSectionGroup() m_pImpl->PopProperties(CONTEXT_SECTION); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("section"); + dmapper_logger->endElement(); #endif } /*-- 09.06.2006 09:52:13--------------------------------------------------- @@ -3488,7 +3488,7 @@ void DomainMapper::endParagraphGroup() //frame conversion has to be executed after table conversion m_pImpl->ExecuteFrameConversion(); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("paragraph"); + dmapper_logger->endElement(); #endif } @@ -3513,7 +3513,7 @@ void DomainMapper::endShape( ) m_pImpl->PopShapeContext( ); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("shape"); + dmapper_logger->endElement(); #endif } @@ -3578,7 +3578,7 @@ void DomainMapper::endCharacterGroup() m_pImpl->PopProperties(CONTEXT_CHARACTER); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("charactergroup"); + dmapper_logger->endElement(); #endif } /*-- 09.06.2006 09:52:14--------------------------------------------------- @@ -3591,7 +3591,7 @@ void DomainMapper::text(const sal_uInt8 * data_, size_t len) #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("text"); dmapper_logger->chars(sText); - dmapper_logger->endElement("text"); + dmapper_logger->endElement(); #endif try @@ -3680,7 +3680,7 @@ void DomainMapper::utext(const sal_uInt8 * data_, size_t len) #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("utext"); dmapper_logger->chars(sText); - dmapper_logger->endElement("utext"); + dmapper_logger->endElement(); #endif try @@ -3759,7 +3759,7 @@ void DomainMapper::props(writerfilter::Reference<Properties>::Pointer_t ref) ref->resolve(*this); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("props"); + dmapper_logger->endElement(); #endif } /*-- 09.06.2006 09:52:15--------------------------------------------------- @@ -3819,7 +3819,7 @@ void DomainMapper::table(Id name, writerfilter::Reference<Table>::Pointer_t ref) m_pImpl->SetAnyTableImport(false); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("table"); + dmapper_logger->endElement(); #endif } /*-- 09.06.2006 09:52:16--------------------------------------------------- @@ -3897,7 +3897,7 @@ void DomainMapper::substream(Id rName, ::writerfilter::Reference<Stream>::Pointe m_pImpl->popTableManager( ); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("substream"); + dmapper_logger->endElement(); #endif } /*-- 09.06.2006 09:52:16--------------------------------------------------- diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx index 642a9723364c..088625af04b3 100644 --- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx @@ -75,17 +75,17 @@ static void lcl_printProperties( PropertyMapPtr pProps ) dmapper_logger->attribute("color", aLine.Color); dmapper_logger->attribute("inner", aLine.InnerLineWidth); dmapper_logger->attribute("outer", aLine.OuterLineWidth); - dmapper_logger->endElement("borderline"); + dmapper_logger->endElement(); } else if ( aMapIter->second >>= nColor ) { dmapper_logger->startElement("color"); dmapper_logger->attribute("number", nColor); - dmapper_logger->endElement("color"); + dmapper_logger->endElement(); } } - dmapper_logger->endElement("properties"); + dmapper_logger->endElement(); } } #endif @@ -115,7 +115,7 @@ void DomainMapperTableHandler::startTable(unsigned int nRows, dmapper_logger->attribute("rows", nRows); if (pProps.get() != NULL) - dmapper_logger->addTag(pProps->toTag()); + pProps->dumpXml( dmapper_logger ); #endif } @@ -126,7 +126,7 @@ PropertyMapPtr lcl_SearchParentStyleSheetAndMergeProperties(const StyleSheetEntr { #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("lcl_SearchParentStyleSheetAndMergeProperties"); - dmapper_logger->addTag(pStyleSheet->toTag()); + pStyleSheet->dumpXml( dmapper_logger ); #endif PropertyMapPtr pRet; @@ -143,7 +143,7 @@ PropertyMapPtr lcl_SearchParentStyleSheetAndMergeProperties(const StyleSheetEntr pRet->insert( pStyleSheet->pProperties, true ); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("lcl_SearchParentStyleSheetAndMergeProperties"); + dmapper_logger->endElement(); #endif return pRet; @@ -256,7 +256,7 @@ void lcl_debug_BorderLine(table::BorderLine & rLine) dmapper_logger->attribute("InnerLineWidth", rLine.InnerLineWidth); dmapper_logger->attribute("OuterLineWidth", rLine.OuterLineWidth); dmapper_logger->attribute("LineDistance", rLine.LineDistance); - dmapper_logger->endElement("BorderLine"); + dmapper_logger->endElement(); } void lcl_debug_TableBorder(table::TableBorder & rBorder) @@ -276,7 +276,7 @@ void lcl_debug_TableBorder(table::TableBorder & rBorder) dmapper_logger->attribute("IsHorizontalLineValid", rBorder.IsHorizontalLineValid); dmapper_logger->attribute("Distance", rBorder.Distance); dmapper_logger->attribute("IsDistanceValid", rBorder.IsDistanceValid); - dmapper_logger->endElement("TableBorder"); + dmapper_logger->endElement(); } #endif @@ -342,8 +342,8 @@ TableStyleSheetEntry * DomainMapperTableHandler::endTableGetTableStyle(TableInfo #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("mergedProps"); - dmapper_logger->addTag(pMergedProperties->toTag()); - dmapper_logger->endElement("mergedProps"); + pMergedProperties->dumpXml( dmapper_logger ); + dmapper_logger->endElement(); #endif m_aTableProperties->insert( pMergedProperties ); @@ -351,8 +351,8 @@ TableStyleSheetEntry * DomainMapperTableHandler::endTableGetTableStyle(TableInfo #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("TableProperties"); - dmapper_logger->addTag(m_aTableProperties->toTag()); - dmapper_logger->endElement("TableProperties"); + m_aTableProperties->dumpXml( dmapper_logger ); + dmapper_logger->endElement(); #endif } } @@ -362,8 +362,8 @@ TableStyleSheetEntry * DomainMapperTableHandler::endTableGetTableStyle(TableInfo #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("TableDefaults"); - dmapper_logger->addTag(rInfo.pTableDefaults->toTag()); - dmapper_logger->endElement("TableDefaults"); + rInfo.pTableDefaults->dumpXml( dmapper_logger ); + dmapper_logger->endElement(); #endif m_aTableProperties->getValue( TablePropertyMap::GAP_HALF, nGapHalf ); @@ -502,8 +502,8 @@ TableStyleSheetEntry * DomainMapperTableHandler::endTableGetTableStyle(TableInfo #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("debug.tableprops"); - dmapper_logger->addTag(m_aTableProperties->toTag()); - dmapper_logger->endElement("debug.tableprops"); + m_aTableProperties->dumpXml( dmapper_logger ); + dmapper_logger->endElement(); #endif } @@ -633,7 +633,7 @@ CellPropertyValuesSeq_t DomainMapperTableHandler::endTableGetCellProperties(Tabl pSingleCellProperties[nCell] = aCellIterator->get()->GetPropertyValues(); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("cell"); + dmapper_logger->endElement(); #endif } ++nCell; @@ -667,7 +667,7 @@ CellPropertyValuesSeq_t DomainMapperTableHandler::endTableGetCellProperties(Tabl } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("getCellProperties"); + dmapper_logger->endElement(); #endif return aCellProperties; @@ -696,19 +696,19 @@ RowPropertyValuesSeq_t DomainMapperTableHandler::endTableGetRowProperties() aRowProperties[nRow] = (*aRowIter)->GetPropertyValues(); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->addTag((*aRowIter)->toTag()); - dmapper_logger->addTag(lcl_PropertyValuesToTag(aRowProperties[nRow])); + ((*aRowIter)->dumpXml( dmapper_logger )); + lcl_DumpPropertyValues(dmapper_logger, aRowProperties[nRow]); #endif } ++nRow; ++aRowIter; #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("rowProps.row"); + dmapper_logger->endElement(); #endif } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("getRowProperties"); + dmapper_logger->endElement(); #endif return aRowProperties; @@ -729,7 +729,7 @@ void DomainMapperTableHandler::endTable() RowPropertyValuesSeq_t aRowProperties = endTableGetRowProperties(); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->addTag(lcl_PropertyValueSeqToTag(aRowProperties)); + lcl_DumpPropertyValueSeq(dmapper_logger, aRowProperties); #endif if (m_pTableSeq->getLength() > 0) @@ -754,7 +754,7 @@ void DomainMapperTableHandler::endTable() { dmapper_logger->startElement("exception"); dmapper_logger->chars(rtl::OUStringToOString( e.Message, RTL_TEXTENCODING_UTF8 ).getStr( )); - dmapper_logger->endElement("exeception"); + dmapper_logger->endElement(); } #endif } @@ -764,8 +764,8 @@ void DomainMapperTableHandler::endTable() m_aRowProperties.clear(); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("tablehandler.endTable"); - dmapper_logger->endElement("tablehandler.table"); + dmapper_logger->endElement(); + dmapper_logger->endElement(); #endif } @@ -779,7 +779,7 @@ void DomainMapperTableHandler::startRow(unsigned int nCells, dmapper_logger->startElement("table.row"); dmapper_logger->attribute("cells", nCells); if (pProps != NULL) - dmapper_logger->addTag(pProps->toTag()); + pProps->dumpXml(dmapper_logger); #endif m_pRowSeq = RowSequencePointer_t(new RowSequence_t(nCells)); @@ -792,7 +792,7 @@ void DomainMapperTableHandler::endRow() ++m_nRowIndex; m_nCellIndex = 0; #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("table.row"); + dmapper_logger->endElement(); #endif } @@ -814,7 +814,7 @@ void DomainMapperTableHandler::startCell(const Handle_t & start, dmapper_logger->startElement("table.cell"); dmapper_logger->startElement("table.cell.start"); dmapper_logger->chars(toString(start)); - dmapper_logger->endElement("table.cell.start"); + dmapper_logger->endElement(); lcl_printProperties( pProps ); #endif @@ -833,8 +833,8 @@ void DomainMapperTableHandler::endCell(const Handle_t & end) #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("table.cell.end"); dmapper_logger->chars(toString(end)); - dmapper_logger->endElement("table.cell.end"); - dmapper_logger->endElement("table.cell"); + dmapper_logger->endElement(); + dmapper_logger->endElement(); clog << "</table.cell>" << endl; #endif diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/writerfilter/source/dmapper/DomainMapperTableManager.cxx index d4f0d3367fa7..180012fae04b 100644 --- a/writerfilter/source/dmapper/DomainMapperTableManager.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableManager.cxx @@ -84,7 +84,7 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) dmapper_logger->startElement("tablemanager.sprm"); string sSprm = rSprm.toString(); dmapper_logger->chars(sSprm); - dmapper_logger->endElement("tablemanager.sprm"); + dmapper_logger->endElement(); #endif bool bRet = DomainMapperTableManager_Base_t::sprm(rSprm); if( !bRet ) @@ -123,7 +123,7 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) pPropMap->setValue( TablePropertyMap::TABLE_WIDTH, m_nTableWidth ); } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->addTag(pPropMap->toTag()); + pPropMap->dumpXml( dmapper_logger ); #endif insertTableProps(pPropMap); } @@ -245,7 +245,7 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) #if DEBUG_DOMAINMAPPER dmapper_logger->startElement("tablemanager.GridSpan"); dmapper_logger->attribute("gridSpan", nIntValue); - dmapper_logger->endElement("tablemanager.GridSpan"); + dmapper_logger->endElement(); #endif m_nGridSpan = nIntValue; } @@ -352,9 +352,9 @@ void DomainMapperTableManager::endLevel( ) dmapper_logger->startElement("dmappertablemanager.endLevel"); PropertyMapPtr pProps = getTableProps(); if (pProps.get() != NULL) - dmapper_logger->addTag(getTableProps()->toTag()); + getTableProps()->dumpXml( dmapper_logger ); - dmapper_logger->endElement("dmappertablemanager.endLevel"); + dmapper_logger->endElement(); #endif } @@ -394,7 +394,7 @@ void DomainMapperTableManager::endOfRowAction() #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("col"); dmapper_logger->attribute("width", *aCellIter); - dmapper_logger->endElement("col"); + dmapper_logger->endElement(); #endif m_nTableWidth += *aCellIter++; @@ -409,7 +409,7 @@ void DomainMapperTableManager::endOfRowAction() } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("tableWidth"); + dmapper_logger->endElement(); #endif } @@ -430,12 +430,12 @@ void DomainMapperTableManager::endOfRowAction() { dmapper_logger->startElement("gridSpan"); dmapper_logger->attribute("span", *aGridSpanIter); - dmapper_logger->endElement("gridSpan"); + dmapper_logger->endElement(); aGridSpanIter++; } } - dmapper_logger->endElement("gridSpans"); + dmapper_logger->endElement(); #endif //calculate number of used grids - it has to match the size of m_aTableGrid @@ -478,8 +478,8 @@ void DomainMapperTableManager::endOfRowAction() #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("rowProperties"); - dmapper_logger->addTag(pPropMap->toTag()); - dmapper_logger->endElement("rowProperties"); + pPropMap->dumpXml( dmapper_logger ); + dmapper_logger->endElement(); #endif insertRowProps(pPropMap); } @@ -490,7 +490,7 @@ void DomainMapperTableManager::endOfRowAction() pCurrentSpans->clear(); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("endOfRowAction"); + dmapper_logger->endElement(); #endif } /*-- 18.06.2007 10:34:37--------------------------------------------------- diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 71c621a8717e..6db20302d7c4 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -888,7 +888,7 @@ void DomainMapper_Impl::finishParagraph( PropertyMapPtr pPropertyMap ) } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("finishParagraph"); + dmapper_logger->endElement(); #endif } /*------------------------------------------------------------------------- @@ -2394,7 +2394,7 @@ void DomainMapper_Impl::AppendFieldCommand(::rtl::OUString& rPartOfCommand) #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("appendFieldCommand"); dmapper_logger->chars(rPartOfCommand); - dmapper_logger->endElement("appendFieldCommand"); + dmapper_logger->endElement(); #endif FieldContextPtr pContext = m_aFieldStack.top(); @@ -2936,7 +2936,7 @@ void DomainMapper_Impl::CloseFieldCommand() #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("fieldService"); dmapper_logger->chars(sServiceName); - dmapper_logger->endElement("fieldService"); + dmapper_logger->endElement(); #endif xFieldInterface = m_xTextFactory->createInstance(sServiceName); @@ -3370,7 +3370,7 @@ void DomainMapper_Impl::SetFieldFFData(FFDataHandler::Pointer_t pFFDataHandler) } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("setFieldFFData"); + dmapper_logger->endElement(); #endif } diff --git a/writerfilter/source/dmapper/FFDataHandler.cxx b/writerfilter/source/dmapper/FFDataHandler.cxx index 31c7feebe1fb..5a5f856ae318 100644 --- a/writerfilter/source/dmapper/FFDataHandler.cxx +++ b/writerfilter/source/dmapper/FFDataHandler.cxx @@ -407,7 +407,7 @@ void FFDataHandler::sprm(Sprm & r_Sprm) break; } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("FFDataHandler.sprm"); + dmapper_logger->endElement(); #endif } @@ -424,7 +424,7 @@ void FFDataHandler::attribute(Id name, Value & val) dmapper_logger->startElement("FFDataHandler.attribute"); dmapper_logger->attribute("name", (*QNameToString::Instance())(name)); dmapper_logger->attribute("value", val.toString()); - dmapper_logger->endElement("FFDataHandler.attribute"); + dmapper_logger->endElement(); #endif switch (name) { diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 9f67d4bb6463..6ae1d8c2db12 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -1032,7 +1032,7 @@ void GraphicImport::attribute(Id nName, Value & val) ; } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("attribute"); + dmapper_logger->endElement(); #endif } @@ -1341,7 +1341,7 @@ void GraphicImport::sprm(Sprm & rSprm) #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("sprm"); + dmapper_logger->endElement(); #endif } /*-- 01.11.2006 09:45:02--------------------------------------------------- diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index 16196104e389..4dd378bc0a2e 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -134,41 +134,41 @@ void PropertyMap::Insert( PropertyIds eId, bool bIsTextProperty, const uno::Any& } #ifdef DEBUG_DOMAINMAPPER -XMLTag::Pointer_t PropertyMap::toTag() const +void PropertyMap::dumpXml( const TagLogger::Pointer_t pLogger ) const { - XMLTag::Pointer_t pResult(new XMLTag("PropertyMap")); + pLogger->startElement("PropertyMap"); PropertyNameSupplier& rPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier(); PropertyMap::const_iterator aMapIter = begin(); while (aMapIter != end()) { - XMLTag::Pointer_t pTag(new XMLTag("property")); + pLogger->startElement("property"); - pTag->addAttr("name", rPropNameSupplier.GetName( aMapIter->first.eId )); + pLogger->attribute("name", rPropNameSupplier.GetName( aMapIter->first.eId )); switch (aMapIter->first.eId) { case PROP_TABLE_COLUMN_SEPARATORS: - pTag->addTag(lcl_TableColumnSeparatorsToTag(aMapIter->second)); + lcl_DumpTableColumnSeparators(pLogger, aMapIter->second); break; default: { try { sal_Int32 aInt; aMapIter->second >>= aInt; - pTag->addAttr("value", aInt); + pLogger->attribute("value", aInt); sal_uInt32 auInt; aMapIter->second >>= auInt; - pTag->addAttr("unsignedValue", auInt); + pLogger->attribute("unsignedValue", auInt); float aFloat; aMapIter->second >>= aFloat; - pTag->addAttr("floatValue", aFloat); + pLogger->attribute("floatValue", aFloat); ::rtl::OUString aStr; aMapIter->second >>= auInt; - pTag->addAttr("stringValue", aStr); + pLogger->attribute("stringValue", aStr); } catch (...) { } @@ -176,12 +176,12 @@ XMLTag::Pointer_t PropertyMap::toTag() const break; } - pResult->addTag(pTag); + pLogger->endElement(); ++aMapIter; } - return pResult; + pLogger->endElement(); } #endif @@ -1215,7 +1215,7 @@ void TablePropertyMap::insertTableProperties( const PropertyMap* pMap ) { #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("TablePropertyMap.insertTableProperties"); - dmapper_logger->addTag(pMap->toTag()); + pMap->dumpXml(dmapper_logger); #endif const TablePropertyMap* pSource = dynamic_cast< const TablePropertyMap* >(pMap); @@ -1232,8 +1232,8 @@ void TablePropertyMap::insertTableProperties( const PropertyMap* pMap ) } } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->addTag(toTag()); - dmapper_logger->endElement("TablePropertyMap.insertTableProperties"); + dumpXml( dmapper_logger ); + dmapper_logger->endElement(); #endif } diff --git a/writerfilter/source/dmapper/PropertyMap.hxx b/writerfilter/source/dmapper/PropertyMap.hxx index e7614717e2f1..f8ca93096101 100644 --- a/writerfilter/source/dmapper/PropertyMap.hxx +++ b/writerfilter/source/dmapper/PropertyMap.hxx @@ -136,7 +136,7 @@ public: virtual void insertTableProperties( const PropertyMap* ); #ifdef DEBUG_DOMAINMAPPER - virtual XMLTag::Pointer_t toTag() const; + virtual void dumpXml( const TagLogger::Pointer_t pLogger ) const; #endif }; diff --git a/writerfilter/source/dmapper/PropertyMapHelper.cxx b/writerfilter/source/dmapper/PropertyMapHelper.cxx index 1392b299d2b6..8796aca1f038 100644 --- a/writerfilter/source/dmapper/PropertyMapHelper.cxx +++ b/writerfilter/source/dmapper/PropertyMapHelper.cxx @@ -41,44 +41,44 @@ namespace dmapper using namespace ::com::sun::star; -XMLTag::Pointer_t lcl_TableColumnSeparatorsToTag(const uno::Any & rTableColumnSeparators) +void lcl_DumpTableColumnSeparators(const TagLogger::Pointer_t pLogger, const uno::Any & rTableColumnSeparators) { uno::Sequence<text::TableColumnSeparator> aSeq; rTableColumnSeparators >>= aSeq; - XMLTag::Pointer_t pResult(new XMLTag("property.TableColumnSeparators")); + pLogger->startElement("property.TableColumnSeparators"); sal_uInt32 nLength = aSeq.getLength(); for (sal_uInt32 n = 0; n < nLength; ++n) { - XMLTag::Pointer_t pTagSeparator(new XMLTag("separator")); + pLogger->startElement("separator"); - pTagSeparator->addAttr("position", aSeq[n].Position); - pTagSeparator->addAttr("visible", aSeq[n].IsVisible); + pLogger->attribute("position", aSeq[n].Position); + pLogger->attribute("visible", aSeq[n].IsVisible); - pResult->addTag(pTagSeparator); + pLogger->endElement(); } - return pResult; + pLogger->endElement(); } -XMLTag::Pointer_t lcl_PropertyValuesToTag(beans::PropertyValues & rValues) +void lcl_DumpPropertyValues(const TagLogger::Pointer_t pLogger, beans::PropertyValues & rValues) { - XMLTag::Pointer_t pResult(new XMLTag("propertyValues")); + pLogger->startElement("propertyValues"); beans::PropertyValue * pValues = rValues.getArray(); for (sal_Int32 n = 0; n < rValues.getLength(); ++n) { - XMLTag::Pointer_t pTag(new XMLTag("propertyValue")); + pLogger->startElement("propertyValue"); - pTag->addAttr("name", pValues[n].Name); + pLogger->attribute("name", pValues[n].Name); try { sal_Int32 aInt = 0; pValues[n].Value >>= aInt; - pTag->addAttr("value", aInt); + pLogger->attribute("value", aInt); } catch (...) { @@ -86,45 +86,40 @@ XMLTag::Pointer_t lcl_PropertyValuesToTag(beans::PropertyValues & rValues) if (pValues[n].Name.equalsAscii("TableColumnSeparators")) { - pTag->addTag(lcl_TableColumnSeparatorsToTag(pValues[n].Value)); + lcl_DumpTableColumnSeparators(pLogger, pValues[n].Value); } - pResult->addTag(pTag); + pLogger->endElement(); } - - return pResult; + pLogger->endElement(); } -XMLTag::Pointer_t lcl_PropertyValueSeqToTag(PropertyValueSeq_t & rPropValSeq) +void lcl_DumpPropertyValueSeq(const TagLogger::Pointer_t pLogger, PropertyValueSeq_t & rPropValSeq) { - XMLTag::Pointer_t pResult(new XMLTag("PropertyValueSeq")); + pLogger->startElement("PropertyValueSeq"); beans::PropertyValues * pValues = rPropValSeq.getArray(); for (sal_Int32 n = 0; n < rPropValSeq.getLength(); ++n) { - XMLTag::Pointer_t pTag(lcl_PropertyValuesToTag(pValues[n])); - - pResult->addTag(pTag); + lcl_DumpPropertyValues(pLogger, pValues[n]); } - return pResult; + pLogger->endElement(); } -XMLTag::Pointer_t lcl_PropertyValueSeqSeqToTag(PropertyValueSeqSeq_t rPropValSeqSeq) +void lcl_DumpPropertyValueSeqSeq(const TagLogger::Pointer_t pLogger, PropertyValueSeqSeq_t rPropValSeqSeq) { - XMLTag::Pointer_t pResult(new XMLTag("PropertyValueSeq")); + pLogger->startElement("PropertyValueSeq"); PropertyValueSeq_t * pValues = rPropValSeqSeq.getArray(); for (sal_Int32 n = 0; n < rPropValSeqSeq.getLength(); ++n) { - XMLTag::Pointer_t pTag(lcl_PropertyValueSeqToTag(pValues[n])); - - pResult->addTag(pTag); + lcl_DumpPropertyValueSeq(pLogger, pValues[n]); } - return pResult; + pLogger->endElement(); } } diff --git a/writerfilter/source/dmapper/PropertyMapHelper.hxx b/writerfilter/source/dmapper/PropertyMapHelper.hxx index ba568caaf97d..0c928be4db29 100644 --- a/writerfilter/source/dmapper/PropertyMapHelper.hxx +++ b/writerfilter/source/dmapper/PropertyMapHelper.hxx @@ -38,14 +38,18 @@ namespace writerfilter namespace dmapper { -XMLTag::Pointer_t lcl_TableColumnSeparatorsToTag(const uno::Any & rTableColumnSeparators); -XMLTag::Pointer_t lcl_PropertyValuesToTag(beans::PropertyValues & rValues); +void lcl_DumpTableColumnSeparators(const TagLogger::Pointer_t pLogger, + const uno::Any & rTableColumnSeparators); +void lcl_DumpPropertyValues(const TagLogger::Pointer_t pLogger, + beans::PropertyValues & rValues); typedef uno::Sequence<beans::PropertyValues> PropertyValueSeq_t; -XMLTag::Pointer_t lcl_PropertyValueSeqToTag(PropertyValueSeq_t & rPropValSeq); +void lcl_DumpPropertyValueSeq(const TagLogger::Pointer_t pLogger, + PropertyValueSeq_t & rPropValSeq); typedef uno::Sequence<PropertyValueSeq_t> PropertyValueSeqSeq_t; -XMLTag::Pointer_t lcl_PropertyValueSeqSeqToTag(PropertyValueSeqSeq_t & rPropValSeqSeq); +void lcl_DumpPropertyValueSeqSeq(const TagLogger::Pointer_t pLogger, + PropertyValueSeqSeq_t & rPropValSeqSeq); } } #endif // DEBUG diff --git a/writerfilter/source/dmapper/SettingsTable.cxx b/writerfilter/source/dmapper/SettingsTable.cxx index 80b77b084037..88dab14fbef7 100644 --- a/writerfilter/source/dmapper/SettingsTable.cxx +++ b/writerfilter/source/dmapper/SettingsTable.cxx @@ -137,7 +137,7 @@ void SettingsTable::attribute(Id nName, Value & val) } #endif #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("SettingsTable.attribute"); + dmapper_logger->endElement(); #endif } @@ -221,7 +221,7 @@ void SettingsTable::sprm(Sprm& rSprm) } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("SettingsTable.sprm"); + dmapper_logger->endElement(); #endif } diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index ffc9874ff1b1..5e9e8deef3ab 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -84,24 +84,24 @@ StyleSheetEntry::~StyleSheetEntry() } #ifdef DEBUG_DOMAINMAPPER -XMLTag::Pointer_t StyleSheetEntry::toTag() +void StyleSheetEntry::dumpXml( const TagLogger::Pointer_t pLogger ) { - XMLTag::Pointer_t pResult(new XMLTag("StyleSheetEntry")); - - pResult->addAttr("identifierI", sStyleIdentifierI); - pResult->addAttr("identifierD", sStyleIdentifierD); - pResult->addAttr("default", bIsDefaultStyle ? "true" : "false"); - pResult->addAttr("invalidHeight", bInvalidHeight ? "true" : "false"); - pResult->addAttr("hasUPE", bHasUPE ? "true" : "false"); - pResult->addAttr("styleType", nStyleTypeCode); - pResult->addAttr("baseStyle", sBaseStyleIdentifier); - pResult->addAttr("nextStyle", sNextStyleIdentifier); - pResult->addAttr("styleName", sStyleName); - pResult->addAttr("styleName1", sStyleName1); - pResult->addAttr("convertedName", sConvertedStyleName); - pResult->addTag(pProperties->toTag()); - - return pResult; + pLogger->startElement("StyleSheetEntry"); + + pLogger->attribute("identifierI", sStyleIdentifierI); + pLogger->attribute("identifierD", sStyleIdentifierD); + pLogger->attribute("default", bIsDefaultStyle ? "true" : "false"); + pLogger->attribute("invalidHeight", bInvalidHeight ? "true" : "false"); + pLogger->attribute("hasUPE", bHasUPE ? "true" : "false"); + pLogger->attribute("styleType", nStyleTypeCode); + pLogger->attribute("baseStyle", sBaseStyleIdentifier); + pLogger->attribute("nextStyle", sNextStyleIdentifier); + pLogger->attribute("styleName", sStyleName); + pLogger->attribute("styleName1", sStyleName1); + pLogger->attribute("convertedName", sConvertedStyleName); + pProperties->dumpXml( pLogger ); + + pLogger->endElement(); } #endif @@ -132,8 +132,8 @@ void TableStyleSheetEntry::AddTblStylePr( TblStyleType nType, PropertyMapPtr pPr #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("AddTblStylePr"); dmapper_logger->attribute("type", nType); - dmapper_logger->addTag(pProps->toTag()); - dmapper_logger->endElement("AddTblStylePr"); + pProps->dumpXml(dmapper_logger); + dmapper_logger->endElement(); #endif static TblStyleType pTypesToFix[] = @@ -201,20 +201,37 @@ PropertyMapPtr TableStyleSheetEntry::GetProperties( sal_Int32 nMask ) } #ifdef DEBUG_DOMAINMAPPER -XMLTag::Pointer_t TableStyleSheetEntry::toTag() +void TableStyleSheetEntry::dumpXml( const TagLogger::Pointer_t pLogger ) { - XMLTag::Pointer_t pResult(StyleSheetEntry::toTag()); + + pLogger->startElement("StyleSheetEntry"); + + pLogger->attribute("identifierI", sStyleIdentifierI); + pLogger->attribute("identifierD", sStyleIdentifierD); + pLogger->attribute("default", bIsDefaultStyle ? "true" : "false"); + pLogger->attribute("invalidHeight", bInvalidHeight ? "true" : "false"); + pLogger->attribute("hasUPE", bHasUPE ? "true" : "false"); + pLogger->attribute("styleType", nStyleTypeCode); + pLogger->attribute("baseStyle", sBaseStyleIdentifier); + pLogger->attribute("nextStyle", sNextStyleIdentifier); + pLogger->attribute("styleName", sStyleName); + pLogger->attribute("styleName1", sStyleName1); + pLogger->attribute("convertedName", sConvertedStyleName); + pProperties->dumpXml( pLogger ); for (sal_Int32 nBit = 0; nBit < 13; ++nBit) { + pLogger->startElement("properties"); + PropertyMapPtr pMap = GetProperties(1 << nBit); - XMLTag::Pointer_t pTag = pMap->toTag(); - pTag->addAttr("kind", nBit); - pResult->addTag(pTag); + pMap->dumpXml( pLogger ); + pLogger->attribute("kind", nBit); + + pLogger->endElement(); } - return pResult; + pLogger->endElement(); } #endif @@ -520,7 +537,7 @@ void StyleSheetTable::attribute(Id Name, Value & val) } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("StyleSheetTable.attribute"); + dmapper_logger->endElement(); #endif } /*-- 19.06.2006 12:04:33--------------------------------------------------- @@ -672,7 +689,7 @@ void StyleSheetTable::sprm(Sprm & rSprm) } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("StyleSheetTable.sprm"); + dmapper_logger->endElement(); #endif } /*-- 19.06.2006 12:04:33--------------------------------------------------- @@ -704,14 +721,14 @@ void StyleSheetTable::entry(int /*pos*/, writerfilter::Reference<Properties>::Po } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->addTag(m_pImpl->m_pCurrentEntry->toTag()); + m_pImpl->m_pCurrentEntry->dumpXml( dmapper_logger ); #endif StyleSheetEntryPtr pEmptyEntry; m_pImpl->m_pCurrentEntry = pEmptyEntry; #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("StyleSheetTable.entry"); + dmapper_logger->endElement(); #endif } /*-- 21.06.2006 15:34:49--------------------------------------------------- @@ -950,7 +967,7 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) aSortedPropVals.Insert( aPropValues[nProp] ); } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("propvalue"); + dmapper_logger->endElement(); #endif } if(bAddFollowStyle) @@ -1005,8 +1022,8 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) #ifdef DEBUG_DOMAINMAPPER uno::Reference<beans::XPropertySet> xProps(xStyle, uno::UNO_QUERY); dmapper_logger->startElement("insertStyle"); - dmapper_logger->addTag(unoPropertySetToTag(xProps)); - dmapper_logger->endElement("insertStyle"); + dmapper_logger->unoPropertySet(xProps); + dmapper_logger->endElement(); #endif } } @@ -1021,7 +1038,7 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("applyStyleSheets"); + dmapper_logger->endElement(); #endif } /*-- 22.06.2006 15:56:56--------------------------------------------------- diff --git a/writerfilter/source/dmapper/StyleSheetTable.hxx b/writerfilter/source/dmapper/StyleSheetTable.hxx index d74864826e16..47b211c1356c 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.hxx +++ b/writerfilter/source/dmapper/StyleSheetTable.hxx @@ -78,7 +78,7 @@ public: ::rtl::OUString sConvertedStyleName; #ifdef DEBUG_DOMAINMAPPER - virtual XMLTag::Pointer_t toTag(); + virtual void dumpXml( const TagLogger::Pointer_t pLogger ); #endif StyleSheetEntry(); @@ -150,7 +150,7 @@ public: PropertyMapPtr GetProperties( sal_Int32 nMask ); #ifdef DEBUG_DOMAINMAPPER - virtual XMLTag::Pointer_t toTag(); + virtual void dumpXml( const TagLogger::Pointer_t pLogger ); #endif TableStyleSheetEntry( StyleSheetEntry& aEntry, StyleSheetTable* pStyles ); diff --git a/writerfilter/source/dmapper/TablePropertiesHandler.cxx b/writerfilter/source/dmapper/TablePropertiesHandler.cxx index 4afdf4e2d10d..451694d23019 100644 --- a/writerfilter/source/dmapper/TablePropertiesHandler.cxx +++ b/writerfilter/source/dmapper/TablePropertiesHandler.cxx @@ -131,7 +131,7 @@ namespace dmapper { pTablePropMap->insert( pBorderHandler->getProperties() ); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->addTag(pTablePropMap->toTag()); + pTablePropMap->dumpXml( dmapper_logger ); #endif insertTableProps( pTablePropMap ); } @@ -220,7 +220,7 @@ namespace dmapper { } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("TablePropertiesHandler.sprm"); + dmapper_logger->endElement(); #endif return bRet; diff --git a/writerfilter/source/dmapper/TblStylePrHandler.cxx b/writerfilter/source/dmapper/TblStylePrHandler.cxx index e153fd9ef6f3..a3ac89b6a258 100644 --- a/writerfilter/source/dmapper/TblStylePrHandler.cxx +++ b/writerfilter/source/dmapper/TblStylePrHandler.cxx @@ -27,7 +27,7 @@ void TblStylePrHandler::attribute(Id rName, Value & rVal) dmapper_logger->startElement("TblStylePrHandler.attribute"); dmapper_logger->attribute("name", (*QNameToString::Instance())(rName)); dmapper_logger->chars(rVal.toString()); - dmapper_logger->endElement("TblStylePrHandler.attribute"); + dmapper_logger->endElement(); #endif switch ( rName ) @@ -74,7 +74,7 @@ void TblStylePrHandler::sprm(Sprm & rSprm) } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("TblStylePrHandler.sprm"); + dmapper_logger->endElement(); #endif } diff --git a/writerfilter/source/dmapper/ThemeTable.cxx b/writerfilter/source/dmapper/ThemeTable.cxx index a688755e8ba1..0ec7bdf2a209 100644 --- a/writerfilter/source/dmapper/ThemeTable.cxx +++ b/writerfilter/source/dmapper/ThemeTable.cxx @@ -86,7 +86,7 @@ void ThemeTable::attribute(Id Name, Value & val) } } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("ThemeTable.attribute"); + dmapper_logger->endElement(); #endif } @@ -144,7 +144,7 @@ void ThemeTable::sprm(Sprm& rSprm) } } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("ThemeTable.sprm"); + dmapper_logger->endElement(); #endif } @@ -157,7 +157,7 @@ void ThemeTable::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer ref->resolve(*this); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("ThemeTable.entry"); + dmapper_logger->endElement(); #endif } diff --git a/writerfilter/source/doctok/WW8DocumentImpl.cxx b/writerfilter/source/doctok/WW8DocumentImpl.cxx index c5f1b1090465..084af254d673 100644 --- a/writerfilter/source/doctok/WW8DocumentImpl.cxx +++ b/writerfilter/source/doctok/WW8DocumentImpl.cxx @@ -1481,7 +1481,7 @@ void WW8DocumentImpl::text(Stream & rStream, const sal_uInt8 * data, size_t len) ::rtl::OUString sText( (const sal_Char*) data, len, RTL_TEXTENCODING_MS_1252 ); debug_logger->startElement("text"); debug_logger->chars(OUStringToOString(sText, RTL_TEXTENCODING_ASCII_US).getStr()); - debug_logger->endElement("text"); + debug_logger->endElement(); #endif rStream.text(data, len); } @@ -1497,7 +1497,7 @@ void WW8DocumentImpl::utext(Stream & rStream, const sal_uInt8 * data, size_t len sText = aBuffer.makeStringAndClear(); debug_logger->chars(OUStringToOString(sText, RTL_TEXTENCODING_ASCII_US).getStr()); - debug_logger->endElement("utext"); + debug_logger->endElement(); #endif rStream.utext(data, len); } @@ -1599,7 +1599,7 @@ void WW8DocumentImpl::startCharacterGroup(Stream & rStream) void WW8DocumentImpl::endCharacterGroup(Stream & rStream) { #ifdef DEBUG_ELEMENT - debug_logger->endElement("charactergroup"); + debug_logger->endElement(); #endif rStream.endCharacterGroup(); @@ -1625,7 +1625,7 @@ void WW8DocumentImpl::endParagraphGroup(Stream & rStream) endCharacterGroup(rStream); #ifdef DEBUG_ELEMENT - debug_logger->endElement("paragraphgroup"); + debug_logger->endElement(); #endif rStream.endParagraphGroup(); mbInParagraphGroup = false; @@ -1650,7 +1650,7 @@ void WW8DocumentImpl::endSectionGroup(Stream & rStream) endParagraphGroup(rStream); #ifdef DEBUG_ELEMENT - debug_logger->endElement("sectiongroup"); + debug_logger->endElement(); #endif rStream.endSectionGroup(); mbInSection = false; @@ -1833,7 +1833,7 @@ void WW8DocumentImpl::resolve(Stream & rStream) #endif rStream.substream(NS_rtf::LN_footnote, pFootnote); #ifdef DEBUG_ELEMENT - debug_logger->endElement("substream"); + debug_logger->endElement(); #endif } } @@ -1851,7 +1851,7 @@ void WW8DocumentImpl::resolve(Stream & rStream) #endif rStream.substream(NS_rtf::LN_endnote, pEndnote); #ifdef DEBUG_ELEMENT - debug_logger->endElement("substream"); + debug_logger->endElement(); #endif } } @@ -1869,7 +1869,7 @@ void WW8DocumentImpl::resolve(Stream & rStream) #endif rStream.substream(NS_rtf::LN_annotation, pAnnotation); #ifdef DEBUG_ELEMENT - debug_logger->endElement("substream"); + debug_logger->endElement(); #endif } } @@ -1926,9 +1926,8 @@ void WW8DocumentImpl::resolve(Stream & rStream) if (pProperties.get() != NULL) { #ifdef DEBUG_PROPERTIES - PropertySetToTagHandler aHandler(IdToString::Pointer_t(new WW8IdToString())); - pProperties->resolve(aHandler); - debug_logger->addTag(aHandler.getTag()); + debug_logger->propertySet(pProperties, + IdToString::Pointer_t(new WW8IdToString())); #endif rStream.props(pProperties); diff --git a/writerfilter/source/filter/ImportFilter.cxx b/writerfilter/source/filter/ImportFilter.cxx index 6c4cdd82e6cc..e326701888c4 100644 --- a/writerfilter/source/filter/ImportFilter.cxx +++ b/writerfilter/source/filter/ImportFilter.cxx @@ -134,10 +134,10 @@ sal_Bool WriterFilter::filter( const uno::Sequence< beans::PropertyValue >& aDes pDocument->resolve(*pStream); } + pStream.reset(); + #ifdef DEBUG_ELEMENT - writerfilter::TagLogger::dump("DOMAINMAPPER"); dmapperLogger->endDocument(); - writerfilter::TagLogger::dump("DEBUG"); debugLogger->endDocument(); #endif diff --git a/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx b/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx index d07410793348..7edd8a136a4c 100644 --- a/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx +++ b/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx @@ -153,7 +153,7 @@ OOXMLDocumentImpl::getXNoteStream(OOXMLStream::StreamType_t nType, const Id & rT #ifdef DEBUG_ELEMENT debug_logger->startElement("getXNoteStream"); debug_logger->attribute("id", rId); - debug_logger->endElement("getXNoteStream"); + debug_logger->endElement(); #endif OOXMLStream::Pointer_t pStream = @@ -355,7 +355,7 @@ void OOXMLDocumentImpl::resolve(Stream & rStream) } #ifdef DEBUG_RESOLVE - debug_logger->endElement("OOXMLDocumentImpl.resolve"); + debug_logger->endElement(); #endif } diff --git a/writerfilter/source/ooxml/OOXMLFactory.cxx b/writerfilter/source/ooxml/OOXMLFactory.cxx index 23fc3c8d9e3d..e6a149945fce 100644 --- a/writerfilter/source/ooxml/OOXMLFactory.cxx +++ b/writerfilter/source/ooxml/OOXMLFactory.cxx @@ -236,7 +236,7 @@ void OOXMLFactory::attributes(OOXMLFastContextHandler * pHandler, pFactory->attributeAction(pHandler, aIt->first, pValue); } #ifdef DEBUG_ATTRIBUTES - debug_logger->endElement("list"); + debug_logger->endElement(); #endif } break; @@ -248,12 +248,12 @@ void OOXMLFactory::attributes(OOXMLFastContextHandler * pHandler, } } #ifdef DEBUG_ATTRIBUTES - debug_logger->endElement("attribute"); + debug_logger->endElement(); #endif } #ifdef DEBUG_ATTRIBUTES - debug_logger->endElement("attributes"); + debug_logger->endElement(); #endif } } @@ -299,7 +299,7 @@ void OOXMLFactory::startAction(OOXMLFastContextHandler * pHandler, Token_t /*nTo #endif pFactory->startAction(pHandler); #ifdef DEBUG_ELEMENT - debug_logger->endElement("factory-startAction"); + debug_logger->endElement(); #endif } } @@ -316,7 +316,7 @@ void OOXMLFactory::endAction(OOXMLFastContextHandler * pHandler, Token_t /*nToke #endif pFactory->endAction(pHandler); #ifdef DEBUG_ELEMENT - debug_logger->endElement("factory-endAction"); + debug_logger->endElement(); #endif } } diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx index 063154b2d3cd..ac9d2eb289f3 100644 --- a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx +++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx @@ -201,7 +201,7 @@ void SAL_CALL OOXMLFastContextHandler::release() throw () { static char buffer[256]; - snprintf(buffer, sizeof(buffer), "%s: release(%ld)", mnInstanceNumber, + snprintf(buffer, sizeof(buffer), "%s: release(%ld)", getType().c_str(), mnRefCount); logger("MEMORY", buffer); @@ -221,8 +221,8 @@ void SAL_CALL OOXMLFastContextHandler::startFastElement debug_logger->attribute("token", fastTokenToId(Element)); debug_logger->attribute("type",getType()); debug_logger->startElement("at-start"); - debug_logger->addTag(toTag()); - debug_logger->endElement("at-start"); + dumpXml( debug_logger ); + debug_logger->endElement(); #endif #ifdef DEBUG_MEMORY static char buffer[256]; @@ -255,9 +255,9 @@ throw (uno::RuntimeException, xml::sax::SAXException) #ifdef DEBUG_ELEMENT debug_logger->startElement("at-end"); - debug_logger->addTag(toTag()); - debug_logger->endElement("at-end"); - debug_logger->endElement("element"); + dumpXml( debug_logger ); + debug_logger->endElement(); + debug_logger->endElement(); #endif #ifdef DEBUG_MEMORY static char buffer[256]; @@ -281,10 +281,10 @@ void OOXMLFastContextHandler::lcl_endFastElement { #ifdef DEBUG_CONTEXT_STACK debug_logger->startElement("endAction"); - debug_logger->endElement("endAction"); + debug_logger->endElement(); debug_logger->startElement("token"); debug_logger->chars(fastTokenToId(Element)); - debug_logger->endElement("token"); + debug_logger->endElement(); #endif OOXMLFactory::getInstance()->endAction(this, Element); @@ -296,7 +296,7 @@ throw (uno::RuntimeException, xml::sax::SAXException) { #ifdef DEBUG_ELEMENT debug_logger->startElement("unknown-element"); - debug_logger->endElement("unknown-element"); + debug_logger->endElement(); #endif } @@ -316,7 +316,7 @@ uno::Reference< xml::sax::XFastContextHandler > SAL_CALL (lcl_createFastChildContext(Element, Attribs)); #ifdef DEBUG_CONTEXT_STACK - debug_logger->endElement("createFastChildContext"); + debug_logger->endElement(); #endif return xResult; @@ -342,7 +342,7 @@ OOXMLFastContextHandler::createUnknownChildContext debug_logger->startElement("createUnknownChildContext"); debug_logger->attribute("namespace", Namespace); debug_logger->attribute("name", Name); - debug_logger->endElement("createUnknownChildContext"); + debug_logger->endElement(); #else (void) Namespace; (void) Name; @@ -410,7 +410,7 @@ void OOXMLFastContextHandler::startAction(Token_t Element) #endif lcl_startAction(Element); #ifdef DEBUG_ELEMENT - debug_logger->endElement("startAction"); + debug_logger->endElement(); #endif } @@ -426,7 +426,7 @@ void OOXMLFastContextHandler::endAction(Token_t Element) #endif lcl_endAction(Element); #ifdef DEBUG_ELEMENT - debug_logger->endElement("endAction"); + debug_logger->endElement(); #endif } @@ -436,55 +436,34 @@ void OOXMLFastContextHandler::lcl_endAction(Token_t Element) } #if OSL_DEBUG_LEVEL > 1 -XMLTag::Pointer_t OOXMLFastContextHandler::toPropertiesTag - (OOXMLPropertySet::Pointer_t pProps) +void OOXMLFastContextHandler::dumpXml( const TagLogger::Pointer_t pLogger ) const { - XMLTag::Pointer_t pTag; - - if (pProps.get() != NULL) - { - PropertySetToTagHandler aHandler(IdToString::Pointer_t(new OOXMLIdToString())); - - pProps->resolve(aHandler); - pTag = aHandler.getTag(); - } - - return pTag; -} - -XMLTag::Pointer_t OOXMLFastContextHandler::toTag() const -{ - XMLTag::Pointer_t pTag(new XMLTag("context")); + pLogger->startElement("context"); static char sBuffer[128]; snprintf(sBuffer, sizeof(sBuffer), "%p", this); - pTag->addAttr("parent", sBuffer); - pTag->addAttr("type", getType()); - pTag->addAttr("resource", getResourceString()); - pTag->addAttr("token", fastTokenToId(getToken())); - pTag->addAttr("id", (*QNameToString::Instance())(getId())); + pLogger->attribute("parent", sBuffer); + pLogger->attribute("type", getType()); + pLogger->attribute("resource", getResourceString()); + pLogger->attribute("token", fastTokenToId(getToken())); + pLogger->attribute("id", (*QNameToString::Instance())(getId())); OOXMLValue::Pointer_t pVal(getValue()); if (pVal.get() != NULL) - pTag->addAttr("value", pVal->toString()); + pLogger->attribute("value", pVal->toString()); else - pTag->addAttr("value", "(null)"); + pLogger->attribute("value", "(null)"); - XMLTag::Pointer_t pTagProps(toPropertiesTag(getPropertySet())); - if (pTagProps.get() != NULL) - pTag->addTag(pTagProps); + pLogger->propertySet(getPropertySet(), + IdToString::Pointer_t(new OOXMLIdToString())); - pTag->addTag(mpParserState->toTag()); + mpParserState->dumpXml( pLogger ); - return pTag; + pLogger->endElement(); } -string OOXMLFastContextHandler::toString() const -{ - return toTag()->toString(); -} #endif string OOXMLFastContextHandler::getResourceString() const @@ -502,7 +481,7 @@ void OOXMLFastContextHandler::setId(Id rId) debug_logger->attribute("id", sBuffer); debug_logger->chars((*QNameToString::Instance())(rId)); - debug_logger->endElement("setId"); + debug_logger->endElement(); #endif mId = rId; @@ -551,7 +530,7 @@ void OOXMLFastContextHandler::mark(const Id & rId, OOXMLValue::Pointer_t pVal) #ifdef DEBUG_PROPERTIES debug_logger->startElement("mark"); debug_logger->chars(xmlify(pProperty->toString())); - debug_logger->endElement("mark"); + debug_logger->endElement(); #endif pPropSet->add(pProperty); mpStream->props(pPropSet); @@ -597,12 +576,12 @@ void OOXMLFastContextHandler::sendTableDepth() const #ifdef DEBUG_PROPERTIES debug_logger->startElement("props"); debug_logger->chars(pProps->toString()); - debug_logger->endElement("props"); + debug_logger->endElement(); #endif mpStream->props(writerfilter::Reference<Properties>::Pointer_t(pProps)); } #ifdef DEBUG_ELEMENT - debug_logger->endElement("sendTableDepth"); + debug_logger->endElement(); #endif } @@ -884,7 +863,7 @@ void OOXMLFastContextHandler::text(const ::rtl::OUString & sText) #ifdef DEBUG_ELEMENT debug_logger->startElement("text"); debug_logger->chars(sText); - debug_logger->endElement("text"); + debug_logger->endElement(); #endif if (isForwardEvents()) mpStream->utext(reinterpret_cast < const sal_uInt8 * > @@ -896,8 +875,9 @@ void OOXMLFastContextHandler::propagateCharacterProperties() { #ifdef DEBUG_ELEMENT debug_logger->startElement("propagateCharacterProperties"); - debug_logger->addTag(toPropertiesTag(getPropertySet())); - debug_logger->endElement("propagateCharacterProperties"); + debug_logger->propertySet(getPropertySet(), + IdToString::Pointer_t(new OOXMLIdToString())); + debug_logger->endElement(); #endif mpParserState->setCharacterProperties(getPropertySet()); @@ -907,8 +887,9 @@ void OOXMLFastContextHandler::propagateCharacterPropertiesAsSet(const Id & rId) { #ifdef DEBUG_ELEMENT debug_logger->startElement("propagateCharacterPropertiesAsSet"); - debug_logger->addTag(toPropertiesTag(getPropertySet())); - debug_logger->endElement("propagateCharacterPropertiesAsSet"); + debug_logger->propertySet(getPropertySet(), + IdToString::Pointer_t(new OOXMLIdToString())); + debug_logger->endElement(); #endif OOXMLValue::Pointer_t pValue(new OOXMLPropertySetValue(getPropertySet())); @@ -949,8 +930,9 @@ void OOXMLFastContextHandler::propagateTableProperties() OOXMLPropertySet::Pointer_t pProps = getPropertySet(); #ifdef DEBUG_ELEMENT debug_logger->startElement("propagateTableProperties"); - debug_logger->addTag(toPropertiesTag(pProps)); - debug_logger->endElement("propagateTableProperties"); + debug_logger->propertySet(getPropertySet(), + IdToString::Pointer_t(new OOXMLIdToString())); + debug_logger->endElement(); #endif mpParserState->setTableProperties(pProps); @@ -965,7 +947,7 @@ void OOXMLFastContextHandler::sendCellProperties() mpParserState->resolveCellProperties(*mpStream); #ifdef DEBUG_ELEMENT - debug_logger->endElement("sendCellProperties"); + debug_logger->endElement(); #endif } @@ -978,7 +960,7 @@ void OOXMLFastContextHandler::sendRowProperties() mpParserState->resolveRowProperties(*mpStream); #ifdef DEBUG_ELEMENT - debug_logger->endElement("sendRowProperties"); + debug_logger->endElement(); #endif } @@ -991,7 +973,7 @@ void OOXMLFastContextHandler::sendTableProperties() mpParserState->resolveTableProperties(*mpStream); #ifdef DEBUG_ELEMENT - debug_logger->endElement("sendTableProperties"); + debug_logger->endElement(); #endif } @@ -1022,8 +1004,9 @@ void OOXMLFastContextHandler::sendPropertiesWithId(const Id & rId) mpStream->props(pPropertySet); #ifdef DEBUG_ELEMENT - debug_logger->addTag(toPropertiesTag(pPropertySet)); - debug_logger->endElement("sendPropertiesWithId"); + debug_logger->propertySet(getPropertySet(), + IdToString::Pointer_t(new OOXMLIdToString())); + debug_logger->endElement(); #endif } @@ -1072,7 +1055,7 @@ void OOXMLFastContextHandler::setForwardEvents(bool bForwardEvents) else debug_logger->chars("false"); - debug_logger->endElement("setForwardEvents"); + debug_logger->endElement(); #endif mpParserState->setForwardEvents(bForwardEvents); @@ -1171,13 +1154,14 @@ void OOXMLFastContextHandler::sendPropertyToParent() pProps->add(pProp); #ifdef DEBUG_ELEMENT - debug_logger->addTag(toPropertiesTag(pProps)); + debug_logger->propertySet(pProps, + IdToString::Pointer_t(new OOXMLIdToString())); #endif } } #ifdef DEBUG_ELEMENT - debug_logger->endElement("sendPropertyToParent"); + debug_logger->endElement(); #endif } @@ -1196,8 +1180,9 @@ void OOXMLFastContextHandler::sendPropertiesToParent() #ifdef DEBUG_ELEMENT debug_logger->startElement("me"); - debug_logger->addTag(toPropertiesTag(pProps)); - debug_logger->endElement("me"); + debug_logger->propertySet(pProps, + IdToString::Pointer_t(new OOXMLIdToString())); + debug_logger->endElement(); #endif if (pProps.get() != NULL) @@ -1211,21 +1196,22 @@ void OOXMLFastContextHandler::sendPropertiesToParent() #ifdef DEBUG_ELEMENT debug_logger->startElement("propertyForSet"); debug_logger->chars(pProp->toString()); - debug_logger->endElement("propertyForSet"); + debug_logger->endElement(); #endif pParentProps->add(pProp); #ifdef DEBUG_ELEMENT debug_logger->startElement("parent"); - debug_logger->addTag(toPropertiesTag(pParentProps)); - debug_logger->endElement("parent"); + debug_logger->propertySet(pParentProps, + IdToString::Pointer_t(new OOXMLIdToString())); + debug_logger->endElement(); #endif } } } #ifdef DEBUG_ELEMENT - debug_logger->endElement("sendPropertiesToParent"); + debug_logger->endElement(); #endif } @@ -1268,7 +1254,7 @@ void OOXMLFastContextHandlerStream::sendProperty(Id nId) debug_logger->startElement("sendProperty"); debug_logger->attribute("id", (*QNameToString::Instance())(nId)); debug_logger->chars(xmlify(getPropertySetAttrs()->toString())); - debug_logger->endElement("sendProperty"); + debug_logger->endElement(); #endif OOXMLPropertySetEntryToString aHandler(nId); @@ -1290,7 +1276,7 @@ void OOXMLFastContextHandlerStream::resolvePropertySetAttrs() #ifdef DEBUG_PROPERTIES debug_logger->startElement("resolvePropertySetAttrs"); debug_logger->chars(mpPropertySetAttrs->toString()); - debug_logger->endElement("resolvePropertySetAttrs"); + debug_logger->endElement(); #endif mpStream->props(mpPropertySetAttrs); } @@ -1345,7 +1331,7 @@ void OOXMLFastContextHandlerProperties::lcl_endFastElement #endif mpStream->props(mpPropertySet); #ifdef DEBUG_PROPERTIES - debug_logger->endElement("sendproperties"); + debug_logger->endElement(); #endif } } @@ -1361,12 +1347,34 @@ OOXMLValue::Pointer_t OOXMLFastContextHandlerProperties::getValue() const } #if OSL_DEBUG_LEVEL > 1 -XMLTag::Pointer_t OOXMLFastContextHandlerProperties::toTag() const +void OOXMLFastContextHandlerProperties::dumpXml( const TagLogger::Pointer_t pLogger) const { - XMLTag::Pointer_t pTag(OOXMLFastContextHandler::toTag()); - pTag->addAttr("resolve", mbResolve ? "resolve" : "noResolve"); + pLogger->startElement("context"); + + static char sBuffer[128]; + snprintf(sBuffer, sizeof(sBuffer), "%p", this); + + pLogger->attribute("parent", sBuffer); + pLogger->attribute("type", getType()); + pLogger->attribute("resource", getResourceString()); + pLogger->attribute("token", fastTokenToId(getToken())); + pLogger->attribute("id", (*QNameToString::Instance())(getId())); + + OOXMLValue::Pointer_t pVal(getValue()); + + if (pVal.get() != NULL) + pLogger->attribute("value", pVal->toString()); + else + pLogger->attribute("value", "(null)"); + + pLogger->attribute("resolve", mbResolve ? "resolve" : "noResolve"); + + pLogger->propertySet(getPropertySet(), + IdToString::Pointer_t(new OOXMLIdToString())); + + mpParserState->dumpXml( pLogger ); - return pTag; + pLogger->endElement(); } #endif @@ -1470,7 +1478,7 @@ void OOXMLFastContextHandlerProperties::setParent #ifdef DEBUG_ELEMENT debug_logger->startElement("setParent"); debug_logger->chars("OOXMLFastContextHandlerProperties"); - debug_logger->endElement("setParent"); + debug_logger->endElement(); #endif OOXMLFastContextHandler::setParent(pParent); @@ -1521,7 +1529,7 @@ void OOXMLFastContextHandlerPropertyTable::lcl_endFastElement #ifdef DEBUG_PROPERTIES debug_logger->startElement("table"); debug_logger->attribute("id", (*QNameToString::Instance())(mId)); - debug_logger->endElement("table"); + debug_logger->endElement(); #endif mpStream->table(mId, pTable); @@ -1654,7 +1662,7 @@ void OOXMLFastContextHandlerTable::lcl_endFastElement debug_logger->startElement("table"); string str = (*QNameToString::Instance())(mId); debug_logger->attribute("id", str); - debug_logger->endElement("table"); + debug_logger->endElement(); #endif mpStream->table(mId, pTable); @@ -1726,7 +1734,7 @@ void OOXMLFastContextHandlerXNote::checkId(OOXMLValue::Pointer_t pValue) debug_logger->startElement("checkId"); debug_logger->attribute("myId", pValue->getString()); debug_logger->attribute("id", getXNoteId()); - debug_logger->endElement("checkId"); + debug_logger->endElement(); #endif msMyXNoteId = pValue->getString(); @@ -1779,9 +1787,9 @@ void OOXMLFastContextHandlerTextTableCell::endCell() #ifdef DEBUG_PROPERTIES debug_logger->startElement("endcell"); - debug_logger->addTag(toPropertiesTag - (OOXMLPropertySet::Pointer_t(pProps->clone()))); - debug_logger->endElement("endcell"); + debug_logger->propertySet(OOXMLPropertySet::Pointer_t(pProps->clone()), + IdToString::Pointer_t(new OOXMLIdToString())); + debug_logger->endElement(); #endif mpStream->props(writerfilter::Reference<Properties>::Pointer_t(pProps)); } @@ -1836,9 +1844,9 @@ void OOXMLFastContextHandlerTextTableRow::endRow() #ifdef DEBUG_PROPERTIES debug_logger->startElement("endrow"); - debug_logger->addTag(toPropertiesTag - (OOXMLPropertySet::Pointer_t(pProps->clone()))); - debug_logger->endElement("endrow"); + debug_logger->propertySet(OOXMLPropertySet::Pointer_t(pProps->clone()), + IdToString::Pointer_t(new OOXMLIdToString())); + debug_logger->endElement(); #endif mpStream->props(writerfilter::Reference<Properties>::Pointer_t(pProps)); @@ -1937,7 +1945,7 @@ OOXMLFastContextHandlerShape::OOXMLFastContextHandlerShape #ifdef DEBUG_ELEMENT debug_logger->startElement("setRelationFragmentPath"); debug_logger->attribute("path", mpParserState->getTarget()); - debug_logger->endElement("setRelationFragmentPath"); + debug_logger->endElement(); #endif mrShapeContext->setRelationFragmentPath (mpParserState->getTarget()); @@ -1947,7 +1955,7 @@ OOXMLFastContextHandlerShape::OOXMLFastContextHandlerShape { debug_logger->startElement("error"); debug_logger->chars("failed to get shape handler"); - debug_logger->endElement("error"); + debug_logger->endElement(); } #endif } @@ -2227,12 +2235,12 @@ OOXMLFastContextHandlerWrapper::lcl_createFastChildContext { debug_logger->startElement("namespace"); debug_logger->attribute("id", fastTokenToId(*aIt)); - debug_logger->endElement("namespace"); + debug_logger->endElement(); aIt++; } - debug_logger->endElement("Wrapper-createChildContext"); + debug_logger->endElement(); #endif bool bInNamespaces = mMyNamespaces.find(nNameSpace) != mMyNamespaces.end(); diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx index e6a1d0abae93..5e44eaf9dac3 100644 --- a/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx +++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx @@ -226,12 +226,11 @@ public: void sendPropertyToParent(); #if OSL_DEBUG_LEVEL > 1 - static XMLTag::Pointer_t toPropertiesTag(OOXMLPropertySet::Pointer_t); - virtual XMLTag::Pointer_t toTag() const; - virtual string toString() const; + virtual void dumpXml( const TagLogger::Pointer_t pLogger ) const; #endif #ifdef DEBUG_MEMORY + sal_uInt32 getInstanceNumber() { return mnInstanceNumber; } virtual void SAL_CALL acquire() throw(); virtual void SAL_CALL release() throw(); #endif @@ -345,7 +344,7 @@ public: virtual OOXMLPropertySet::Pointer_t getPropertySet() const; #if OSL_DEBUG_LEVEL > 1 - virtual XMLTag::Pointer_t toTag() const; + virtual void dumpXml( const TagLogger::Pointer_t pLogger ) const; #endif protected: diff --git a/writerfilter/source/ooxml/OOXMLFastHelper.hxx b/writerfilter/source/ooxml/OOXMLFastHelper.hxx index bf4fc44d7723..321ec17042b6 100644 --- a/writerfilter/source/ooxml/OOXMLFastHelper.hxx +++ b/writerfilter/source/ooxml/OOXMLFastHelper.hxx @@ -182,9 +182,9 @@ void OOXMLFastHelper<T>::newProperty(OOXMLFastContextHandler * pHandler, (rValue, RTL_TEXTENCODING_ASCII_US).getStr()); if (aStr.size() == 0) - debug_logger->addTag(XMLTag::Pointer_t(new XMLTag("unknown-qname"))); + debug_logger->element( "unknown-qname" ); - debug_logger->endElement("newProperty-from-string"); + debug_logger->endElement(); #endif pHandler->newProperty(nId, pVal); @@ -205,9 +205,9 @@ void OOXMLFastHelper<T>::newProperty(OOXMLFastContextHandler * pHandler, debug_logger->attribute("value", pVal->toString()); if (aStr.size() == 0) - debug_logger->addTag(XMLTag::Pointer_t(new XMLTag("unknown-qname"))); + debug_logger->element("unknown-qname"); - debug_logger->endElement("newProperty-from-int"); + debug_logger->endElement(); #endif pHandler->newProperty(nId, pVal); @@ -231,9 +231,9 @@ void OOXMLFastHelper<T>::mark(OOXMLFastContextHandler * pHandler, (rValue, RTL_TEXTENCODING_ASCII_US).getStr()); if (aStr.size() == 0) - debug_logger->addTag(XMLTag::Pointer_t(new XMLTag("unknown-qname"))); + debug_logger->element("unknown-qname"); - debug_logger->endElement("mark"); + debug_logger->endElement(); #endif pHandler->mark(nId, pVal); diff --git a/writerfilter/source/ooxml/OOXMLParserState.cxx b/writerfilter/source/ooxml/OOXMLParserState.cxx index fd2bb82fcabf..cd319dc44378 100644 --- a/writerfilter/source/ooxml/OOXMLParserState.cxx +++ b/writerfilter/source/ooxml/OOXMLParserState.cxx @@ -155,7 +155,7 @@ void OOXMLParserState::resolveCharacterProperties(Stream & rStream) mpCharacterProps.reset(new OOXMLPropertySetImpl()); #ifdef DEBUG_PROPERTIES - debug_logger->endElement("resolveCharacterProperties"); + debug_logger->endElement(); #endif } } @@ -281,14 +281,9 @@ unsigned int OOXMLParserState::getContextCount() const return mnContexts; } -string OOXMLParserState::toString() const +void OOXMLParserState::dumpXml( const TagLogger::Pointer_t& pLogger ) { - return toTag()->toString(); -} - -XMLTag::Pointer_t OOXMLParserState::toTag() const -{ - XMLTag::Pointer_t pTag(new XMLTag("parserstate")); + pLogger->startElement("parserstate"); string sTmp; @@ -312,14 +307,14 @@ XMLTag::Pointer_t OOXMLParserState::toTag() const else sTmp += "-"; - pTag->addAttr("state", sTmp); - pTag->addAttr("XNoteId", + pLogger->attribute("state", sTmp); + pLogger->attribute("XNoteId", OUStringToOString(getXNoteId(), RTL_TEXTENCODING_ASCII_US).getStr()); if (mpCharacterProps != OOXMLPropertySet::Pointer_t()) - pTag->chars(mpCharacterProps->toString()); + pLogger->chars(mpCharacterProps->toString()); - return pTag; + pLogger->endElement(); } #endif diff --git a/writerfilter/source/ooxml/OOXMLParserState.hxx b/writerfilter/source/ooxml/OOXMLParserState.hxx index c265902701fe..4a99b56fcbb4 100644 --- a/writerfilter/source/ooxml/OOXMLParserState.hxx +++ b/writerfilter/source/ooxml/OOXMLParserState.hxx @@ -108,8 +108,7 @@ public: #if OSL_DEBUG_LEVEL > 1 public: unsigned int getContextCount() const; - string toString() const; - XMLTag::Pointer_t toTag() const; + void dumpXml( const TagLogger::Pointer_t& pLogger ); #endif }; diff --git a/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx b/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx index 88705eb3509d..b81dfd94b837 100644 --- a/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx +++ b/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx @@ -438,7 +438,7 @@ void OOXMLPropertySetImpl::resolve(Properties & rHandler) { debug_logger->startElement("error"); debug_logger->chars("zero-property"); - debug_logger->endElement("error"); + debug_logger->endElement(); } #endif diff --git a/writerfilter/source/ooxml/RefAndPointer.hxx b/writerfilter/source/ooxml/RefAndPointer.hxx index 5fd6cac47225..9472c350365d 100644 --- a/writerfilter/source/ooxml/RefAndPointer.hxx +++ b/writerfilter/source/ooxml/RefAndPointer.hxx @@ -48,10 +48,6 @@ public: RefAndPointer() : mpHandler(NULL) { -#ifdef DEBUG_MEMORY - clog << "MEMORY:" << mpHandler->getInstanceNumber() << ":RefAndPointer" - << endl; -#endif } RefAndPointer(ChildClass * pHandler) @@ -66,17 +62,12 @@ public: RefAndPointer(uno::Reference<Interface> xRef) : mRef(xRef) { -#if 0 - uno::Reference<lang::XUnoTunnel> xTunnel( xRef, uno::UNO_QUERY); - - if (xTunnel.is()) - mpHandler = reinterpret_cast<ChildClass *>(xTunnel->getSomething(ChildClass::getUnoTunnelId())); -#else mpHandler = dynamic_cast<ChildClass *>(xRef.get()); -#endif +#ifdef DEBUG_MEMORY if (mpHandler != NULL) clog << "MEMORY:" << mpHandler->getInstanceNumber() << ":RefAndPointer" << endl; +#endif } virtual ~RefAndPointer() diff --git a/writerfilter/source/resourcemodel/Protocol.cxx b/writerfilter/source/resourcemodel/Protocol.cxx index 5b0fe65e877f..e466233841e8 100644 --- a/writerfilter/source/resourcemodel/Protocol.cxx +++ b/writerfilter/source/resourcemodel/Protocol.cxx @@ -94,7 +94,7 @@ void StreamProtocol::text(const sal_uInt8 * data, size_t len) RTL_TEXTENCODING_MS_1252); m_pTagLogger->startElement("protocol-text"); m_pTagLogger->chars(sText); - m_pTagLogger->endElement("protocol-text"); + m_pTagLogger->endElement(); m_pStream->text(data, len); } @@ -108,7 +108,7 @@ void StreamProtocol::utext(const sal_uInt8 * data, size_t len) m_pTagLogger->startElement("protocol-utext"); m_pTagLogger->chars(sText); - m_pTagLogger->endElement("protocol-utext"); + m_pTagLogger->endElement(); m_pStream->utext(data, len); } @@ -117,7 +117,7 @@ void StreamProtocol::props(writerfilter::Reference<Properties>::Pointer_t ref) { m_pTagLogger->startElement("protocol-props"); m_pStream->props(ref); - m_pTagLogger->endElement("protocol-props"); + m_pTagLogger->endElement(); } void StreamProtocol::table(Id name, @@ -126,7 +126,7 @@ void StreamProtocol::table(Id name, m_pTagLogger->startElement("protocol-table"); m_pTagLogger->attribute("name", (*QNameToString::Instance())(name)); m_pStream->table(name, ref); - m_pTagLogger->endElement("protocol-table"); + m_pTagLogger->endElement(); } void StreamProtocol::substream(Id name, @@ -136,7 +136,7 @@ void StreamProtocol::substream(Id name, m_pTagLogger->attribute("name", (*QNameToString::Instance())(name)); m_pStream->substream(name, ref); - m_pTagLogger->endElement("protocol-substream"); + m_pTagLogger->endElement(); } void StreamProtocol::info(const string & rInfo) @@ -178,7 +178,7 @@ void PropertiesProtocol::attribute(Id name, Value & val) m_pTagLogger->attribute("name", (*QNameToString::Instance())(name)); m_pTagLogger->attribute("value", val.toString()); m_pProperties->attribute(name, val); - m_pTagLogger->endElement("protocol-attribute"); + m_pTagLogger->endElement(); } void PropertiesProtocol::sprm(Sprm & _sprm) @@ -190,7 +190,7 @@ void PropertiesProtocol::sprm(Sprm & _sprm) m_pTagLogger->attribute("name", _sprm.getName()); m_pTagLogger->chars(_sprm.toString()); m_pProperties->sprm(_sprm); - m_pTagLogger->endElement("protocol-sprm"); + m_pTagLogger->endElement(); } /* @@ -212,7 +212,7 @@ void TableProtocol::entry(int pos, m_pTagLogger->startElement("protocol-entry"); m_pTagLogger->attribute("pos", pos); m_pTable->entry(pos, ref); - m_pTagLogger->endElement("protocol-entry"); + m_pTagLogger->endElement(); } } diff --git a/writerfilter/source/resourcemodel/TagLogger.cxx b/writerfilter/source/resourcemodel/TagLogger.cxx index 594e0ae579f9..180939243893 100644 --- a/writerfilter/source/resourcemodel/TagLogger.cxx +++ b/writerfilter/source/resourcemodel/TagLogger.cxx @@ -27,7 +27,7 @@ ************************************************************************/ #if OSL_DEBUG_LEVEL > 1 -#include <fstream> +#include <libxml/xmlstring.h> #include <string.h> #include <resourcemodel/TagLogger.hxx> #include <resourcemodel/util.hxx> @@ -35,182 +35,6 @@ namespace writerfilter { - XMLTag::Pointer_t XMLTag::NIL(new XMLTag("NIL")); - - void XMLTag::addAttr(string sName, string sValue) - { - XMLAttribute aAttr(sName, sValue); - - mAttrs.push_back(aAttr); - } - - void XMLTag::addAttr(string sName, const ::rtl::OUString & sValue) - { - addAttr(sName, - OUStringToOString - (sValue, RTL_TEXTENCODING_ASCII_US).getStr()); - } - - void XMLTag::addAttr(string sName, sal_uInt32 nValue) - { - static char buffer[256]; - snprintf(buffer, sizeof(buffer), "%" SAL_PRIdINT32, nValue); - addAttr(sName, buffer); - } - -void XMLTag::addAttr(string sName, uno::Any aAny) -{ - string aTmpStrInt; - string aTmpStrFloat; - string aTmpStrString; - - static char buffer[256]; - - try - { - sal_Int32 nInt = 0; - aAny >>= nInt; - - snprintf(buffer, sizeof(buffer), "%" SAL_PRIdINT32, - nInt); - - aTmpStrInt = buffer; - } - catch (uno::Exception aExcept) - { - aTmpStrInt = "exception"; - } - - try - { - float nFloat = 0.0; - aAny >>= nFloat; - - snprintf(buffer, sizeof(buffer), "%f", - nFloat); - - aTmpStrFloat = buffer; - } - catch (uno::Exception aExcept) - { - aTmpStrFloat = "exception"; - } - - try - { - ::rtl::OUString aStr; - aAny >>= aStr; - - aTmpStrString = OUStringToOString(aStr, RTL_TEXTENCODING_ASCII_US).getStr(); - } - catch (uno::Exception aExcept) - { - aTmpStrString = "exception"; - } - - addAttr(sName, "i:" + aTmpStrInt + " f:" + aTmpStrFloat + " s:" + - aTmpStrString); -} - - void XMLTag::addTag(XMLTag::Pointer_t pTag) - { - if (pTag != XMLTag::Pointer_t()) - mTags.push_back(pTag); - } - - void XMLTag::chars(const string & rChars) - { - mChars += rChars; - } - -void XMLTag::chars(const ::rtl::OUString & rChars) -{ - chars(OUStringToOString(rChars, RTL_TEXTENCODING_ASCII_US).getStr()); -} - - const string & XMLTag::getTag() const - { - return mTag; - } - - string XMLTag::toString() const - { - if (mChars.length() > 0) - return mChars; - - string sResult; - - if (mMode == START || mMode == COMPLETE) - { - sResult += "<" + mTag; - - XMLAttributes_t::const_iterator aIt = mAttrs.begin(); - while (aIt != mAttrs.end()) - { - sResult += " "; - sResult += aIt->mName; - sResult += "=\""; - sResult += xmlify(aIt->mValue); - sResult += "\""; - - aIt++; - } - - sResult +=">"; - - if (mTags.size() > 0) - { - XMLTags_t::const_iterator aItTags = mTags.begin(); - while (aItTags != mTags.end()) - { - if ((*aItTags).get() != NULL) - sResult += (*aItTags)->toString(); - - aItTags++; - } - } - } - - if (mMode == END || mMode == COMPLETE) - sResult += "</" + mTag + ">"; - - return sResult; - } - - ostream & XMLTag::output(ostream & o) const - { - if (mMode == START || mMode == COMPLETE) - { - o << "<" << mTag; - - XMLAttributes_t::const_iterator aItAttrs(mAttrs.begin()); - while (aItAttrs != mAttrs.end()) - { - o << " " << aItAttrs->mName << "=\"" - << xmlify(aItAttrs->mValue) - << "\""; - - aItAttrs++; - } - - o << ">"; - - XMLTags_t::const_iterator aItTags(mTags.begin()); - while (aItTags != mTags.end()) - { - (*aItTags)->output(o); - aItTags++; - } - - o << mChars; - } - - if (mMode == END || mMode == COMPLETE) - o << "</" << mTag << ">"; - - return o; - } - struct eqstr { bool operator()(const char* s1, const char* s2) const @@ -222,18 +46,47 @@ void XMLTag::chars(const ::rtl::OUString & rChars) typedef hash_map<const char *, TagLogger::Pointer_t, hash<const char *>, eqstr> TagLoggerHashMap_t; static TagLoggerHashMap_t * tagLoggers = NULL; - TagLogger::TagLogger() - : mFileName("writerfilter") + TagLogger::TagLogger(const char* name) + : pWriter( NULL ), pName( name ) { } TagLogger::~TagLogger() { + pWriter = NULL; + pName = NULL; } - void TagLogger::setFileName(const string & rName) + void TagLogger::setFileName( const string & filename ) { - mFileName = rName; + if ( pWriter ) + endDocument(); + + string fileName; + char * temp = getenv("TAGLOGGERTMP"); + + if (temp != NULL) + fileName += temp; + else + fileName += "/tmp"; + + string sPrefix = filename; + size_t nLastSlash = sPrefix.find_last_of('/'); + size_t nLastBackslash = sPrefix.find_last_of('\\'); + size_t nCutPos = nLastSlash; + if (nLastBackslash < nCutPos) + nCutPos = nLastBackslash; + if (nCutPos < sPrefix.size()) + sPrefix = sPrefix.substr(nCutPos + 1); + + fileName += "/"; + fileName += sPrefix; + fileName += "."; + fileName += pName; + fileName += ".xml"; + + pWriter = xmlNewTextWriterFilename( fileName.c_str(), 0 ); + xmlTextWriterSetIndent( pWriter, 4 ); } TagLogger::Pointer_t TagLogger::getInstance(const char * name) @@ -248,7 +101,7 @@ void XMLTag::chars(const ::rtl::OUString & rChars) if (aIt == tagLoggers->end()) { - TagLogger::Pointer_t pTagLogger(new TagLogger()); + TagLogger::Pointer_t pTagLogger(new TagLogger(name)); pair<const char *, TagLogger::Pointer_t> entry(name, pTagLogger); aIt = tagLoggers->insert(entry).first; } @@ -256,63 +109,81 @@ void XMLTag::chars(const ::rtl::OUString & rChars) return aIt->second; } - XMLTag::Pointer_t TagLogger::currentTag() const - { - bool bEmpty=mTags.empty(); - if (!bEmpty) - return mTags.top(); - - return XMLTag::NIL; - } - void TagLogger::startDocument() { - XMLTag::Pointer_t pTag(new XMLTag("root")); - mTags.push(pTag); - mpRoot = pTag; + xmlTextWriterStartDocument( pWriter, NULL, NULL, NULL ); + xmlTextWriterStartElement( pWriter, BAD_CAST( "root" ) ); } void TagLogger::element(const string & name) { startElement(name); - endElement(name); + endElement(); } void TagLogger::startElement(const string & name) { - XMLTag::Pointer_t pTag(new XMLTag(name)); - currentTag()->addTag(pTag); - mTags.push(pTag); + xmlChar* xmlName = xmlCharStrdup( name.c_str() ); + xmlTextWriterStartElement( pWriter, xmlName ); + xmlFree( xmlName ); } void TagLogger::attribute(const string & name, const string & value) { - currentTag()->addAttr(name, value); + xmlChar* xmlName = xmlCharStrdup( name.c_str() ); + xmlChar* xmlValue = xmlCharStrdup( value.c_str() ); + xmlTextWriterWriteAttribute( pWriter, xmlName, xmlValue ); + + xmlFree( xmlValue ); + xmlFree( xmlName ); } void TagLogger::attribute(const string & name, const ::rtl::OUString & value) { - currentTag()->addAttr(name, value); + attribute( name, OUStringToOString( value, RTL_TEXTENCODING_ASCII_US ).getStr() ); } void TagLogger::attribute(const string & name, sal_uInt32 value) { - currentTag()->addAttr(name, value); + xmlChar* xmlName = xmlCharStrdup( name.c_str() ); + xmlTextWriterWriteFormatAttribute( pWriter, xmlName, + "%" SAL_PRIuUINT32, value ); + xmlFree( xmlName ); } -void TagLogger::attribute(const string & name, const uno::Any aAny) -{ - currentTag()->addAttr(name, aAny); -} - - void TagLogger::addTag(XMLTag::Pointer_t pTag) + void TagLogger::attribute(const string & name, const uno::Any aAny) { - currentTag()->addTag(pTag); + string aTmpStrInt; + string aTmpStrFloat; + string aTmpStrString; + + sal_Int32 nInt = 0; + float nFloat = 0.0; + ::rtl::OUString aStr; + + xmlChar* xmlName = xmlCharStrdup( name.c_str() ); + if ( aAny >>= nInt ) + { + xmlTextWriterWriteFormatAttribute( pWriter, xmlName, + "%" SAL_PRIdINT32, nInt ); + } + else if ( aAny >>= nFloat ) + { + xmlTextWriterWriteFormatAttribute( pWriter, xmlName, + "%f", nFloat ); + } + else if ( aAny >>= aStr ) + { + attribute( name, aStr ); + } + xmlFree( xmlName ); } void TagLogger::chars(const string & rChars) { - currentTag()->chars(xmlify(rChars)); + xmlChar* xmlChars = xmlCharStrdup( rChars.c_str() ); + xmlTextWriterWriteString( pWriter, xmlChars ); + xmlFree( xmlChars ); } void TagLogger::chars(const ::rtl::OUString & rChars) @@ -320,150 +191,129 @@ void TagLogger::attribute(const string & name, const uno::Any aAny) chars(OUStringToOString(rChars, RTL_TEXTENCODING_ASCII_US).getStr()); } - void TagLogger::endElement(const string & name) + void TagLogger::endElement() { - string nameRemoved = currentTag()->getTag(); - - if (name == nameRemoved) - mTags.pop(); - else { - XMLTag::Pointer_t pTag(new XMLTag("end.mismatch")); - pTag->addAttr("name", name); - pTag->addAttr("top", nameRemoved); - - currentTag()->addTag(pTag); - } - + xmlTextWriterEndElement( pWriter ); } void TagLogger::endDocument() { - mTags.pop(); + xmlTextWriterEndDocument( pWriter ); + xmlFreeTextWriter( pWriter ); } - ostream & TagLogger::output(ostream & o) const + + class PropertySetDumpHandler : public Properties { - return mpRoot->output(o); - } + IdToString::Pointer_t mpIdToString; + TagLogger::Pointer_t m_pLogger; + + public: + PropertySetDumpHandler(TagLogger::Pointer_t pLogger, + IdToString::Pointer_t pIdToString); + virtual ~PropertySetDumpHandler(); - void TagLogger::dump(const char * name) + void resolve(writerfilter::Reference<Properties>::Pointer_t props); + + virtual void attribute(Id name, Value & val); + virtual void sprm(Sprm & sprm); + }; + + PropertySetDumpHandler::PropertySetDumpHandler(TagLogger::Pointer_t pLogger, + IdToString::Pointer_t pIdToString) : + mpIdToString(pIdToString) { - TagLoggerHashMap_t::iterator aIt(tagLoggers->find(name)); - if (aIt != tagLoggers->end()) - { - string fileName; - char * temp = getenv("TAGLOGGERTMP"); - - if (temp != NULL) - fileName += temp; - else - fileName += "/tmp"; - - string sPrefix = aIt->second->mFileName; - size_t nLastSlash = sPrefix.find_last_of('/'); - size_t nLastBackslash = sPrefix.find_last_of('\\'); - size_t nCutPos = nLastSlash; - if (nLastBackslash < nCutPos) - nCutPos = nLastBackslash; - if (nCutPos < sPrefix.size()) - sPrefix = sPrefix.substr(nCutPos + 1); - - fileName += "/"; - fileName += sPrefix; - fileName +="."; - fileName += name; - fileName += ".xml"; - - ofstream dumpStream(fileName.c_str()); - aIt->second->output(dumpStream); - } + m_pLogger = pLogger; } - PropertySetToTagHandler::~PropertySetToTagHandler() + PropertySetDumpHandler::~PropertySetDumpHandler() { } - void PropertySetToTagHandler::resolve - (XMLTag & rTag, writerfilter::Reference<Properties>::Pointer_t pProps) + void PropertySetDumpHandler::resolve( + writerfilter::Reference<Properties>::Pointer_t pProps) { if (pProps.get() != NULL) - { - PropertySetToTagHandler aHandler(mpIdToString); - pProps->resolve(aHandler); - rTag.addTag(aHandler.getTag()); - } + pProps->resolve( *this ); } - void PropertySetToTagHandler::attribute(Id name, Value & val) + void PropertySetDumpHandler::attribute(Id name, Value & val) { - XMLTag::Pointer_t pTag(new XMLTag("attribute")); + m_pLogger->startElement( "attribute" ); - pTag->addAttr("name", (*QNameToString::Instance())(name)); - pTag->addAttr("value", val.toString()); + m_pLogger->attribute("name", (*QNameToString::Instance())(name)); + m_pLogger->attribute("value", val.toString()); - resolve(*pTag, val.getProperties()); + resolve(val.getProperties()); - mpTag->addTag(pTag); + m_pLogger->endElement(); } - void PropertySetToTagHandler::sprm(Sprm & rSprm) + void PropertySetDumpHandler::sprm(Sprm & rSprm) { - XMLTag::Pointer_t pTag(new XMLTag("sprm")); + m_pLogger->startElement( "sprm" ); string sName; if (mpIdToString != IdToString::Pointer_t()) sName = mpIdToString->toString(rSprm.getId()); - pTag->addAttr("name", sName); + m_pLogger->attribute( "name", sName ); - static char sBuffer[256]; - snprintf(sBuffer, sizeof(sBuffer), - "0x%" SAL_PRIxUINT32 ", %" SAL_PRIuUINT32, rSprm.getId(), - rSprm.getId()); - pTag->addAttr("id", sBuffer); - pTag->addAttr("value", rSprm.getValue()->toString()); + m_pLogger->attribute( "id", rSprm.getId() ); + m_pLogger->attribute( "value", rSprm.getValue()->toString() ); - resolve(*pTag, rSprm.getProps()); + resolve( rSprm.getProps() ); - mpTag->addTag(pTag); + m_pLogger->endElement(); } + void TagLogger::propertySet(writerfilter::Reference<Properties>::Pointer_t props, + IdToString::Pointer_t pIdToString) + { + startElement( "propertySet" ); -XMLTag::Pointer_t unoPropertySetToTag(uno::Reference<beans::XPropertySet> rPropSet) -{ - uno::Reference<beans::XPropertySetInfo> xPropSetInfo(rPropSet->getPropertySetInfo()); - uno::Sequence<beans::Property> aProps(xPropSetInfo->getProperties()); + TagLogger::Pointer_t pLogger( this ); + PropertySetDumpHandler handler( pLogger, pIdToString ); + handler.resolve( props ); - XMLTag::Pointer_t pResult(new XMLTag("unoPropertySet")); + endElement( ); + } - for (int i = 0; i < aProps.getLength(); ++i) + void TagLogger::unoPropertySet(uno::Reference<beans::XPropertySet> rPropSet) { - XMLTag::Pointer_t pPropTag(new XMLTag("property")); + uno::Reference<beans::XPropertySetInfo> xPropSetInfo(rPropSet->getPropertySetInfo()); + uno::Sequence<beans::Property> aProps(xPropSetInfo->getProperties()); - ::rtl::OUString sName(aProps[i].Name); + startElement( "unoPropertySet" ); - pPropTag->addAttr("name", sName); - try - { - pPropTag->addAttr("value", rPropSet->getPropertyValue(sName)); - } - catch (uno::Exception aException) + for (int i = 0; i < aProps.getLength(); ++i) { - XMLTag::Pointer_t pException(new XMLTag("exception")); + startElement( "property" ); + ::rtl::OUString sName(aProps[i].Name); - pException->chars("getPropertyValue(\""); - pException->chars(sName); - pException->chars("\")"); - pPropTag->addTag(pException); + attribute( "name", sName ); + try + { + attribute( "value", rPropSet->getPropertyValue( sName ) ); + } + catch (uno::Exception aException) + { + startElement( "exception" ); + + chars("getPropertyValue(\""); + chars(sName); + chars("\")"); + + endElement( ); + } + + endElement( ); } - pResult->addTag(pPropTag); + endElement( ); } - return pResult; -} - } #endif // DEBUG diff --git a/writerfilter/source/resourcemodel/makefile.mk b/writerfilter/source/resourcemodel/makefile.mk index bb5bc05ac1bd..f0a52e647022 100644 --- a/writerfilter/source/resourcemodel/makefile.mk +++ b/writerfilter/source/resourcemodel/makefile.mk @@ -81,6 +81,10 @@ SHL1STDLIBS=$(SALLIB)\ $(CPPUHELPERLIB) \ $(COMPHELPERLIB) +.IF "$(DBG_LEVEL)">="2" +SHL1STDLIBS+= $(LIBXML2LIB) +.ENDIF + SHL1IMPLIB=i$(SHL1TARGET) SHL1USE_EXPORTS=name diff --git a/writerfilter/util/makefile.mk b/writerfilter/util/makefile.mk index f5981222743c..805326730db2 100644 --- a/writerfilter/util/makefile.mk +++ b/writerfilter/util/makefile.mk @@ -62,6 +62,10 @@ SHL1STDLIBS=\ $(SALLIB) \ $(OOXLIB) +.IF "$(DBG_LEVEL)">="2" +SHL1STDLIBS+= $(LIBXML2LIB) +.ENDIF + SHL1DEPN= SHL1IMPLIB= i$(SHL1TARGET) |