summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedricbosdo@openoffice.org>2010-12-08 00:27:52 +0100
committerCédric Bosdonnat <cedricbosdo@openoffice.org>2010-12-08 00:32:24 +0100
commit471689e4a4172f2d2babcdd5ce3ef2b8dfd17e2b (patch)
tree95536e4d18b7bcd850bcc29dcf5852293eaa104f
parenteef95b17255a0765fd5f46a8fb7d6e08bb712d19 (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.
-rw-r--r--writerfilter/inc/resourcemodel/TagLogger.hxx111
-rw-r--r--writerfilter/source/dmapper/BorderHandler.cxx4
-rw-r--r--writerfilter/source/dmapper/DomainMapper.cxx30
-rw-r--r--writerfilter/source/dmapper/DomainMapperTableHandler.cxx62
-rw-r--r--writerfilter/source/dmapper/DomainMapperTableManager.cxx24
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx8
-rw-r--r--writerfilter/source/dmapper/FFDataHandler.cxx4
-rw-r--r--writerfilter/source/dmapper/GraphicImport.cxx4
-rw-r--r--writerfilter/source/dmapper/PropertyMap.cxx28
-rw-r--r--writerfilter/source/dmapper/PropertyMap.hxx2
-rw-r--r--writerfilter/source/dmapper/PropertyMapHelper.cxx51
-rw-r--r--writerfilter/source/dmapper/PropertyMapHelper.hxx12
-rw-r--r--writerfilter/source/dmapper/SettingsTable.cxx4
-rw-r--r--writerfilter/source/dmapper/StyleSheetTable.cxx83
-rw-r--r--writerfilter/source/dmapper/StyleSheetTable.hxx4
-rw-r--r--writerfilter/source/dmapper/TablePropertiesHandler.cxx4
-rw-r--r--writerfilter/source/dmapper/TblStylePrHandler.cxx4
-rw-r--r--writerfilter/source/dmapper/ThemeTable.cxx6
-rw-r--r--writerfilter/source/doctok/WW8DocumentImpl.cxx21
-rw-r--r--writerfilter/source/filter/ImportFilter.cxx4
-rw-r--r--writerfilter/source/ooxml/OOXMLDocumentImpl.cxx4
-rw-r--r--writerfilter/source/ooxml/OOXMLFactory.cxx10
-rw-r--r--writerfilter/source/ooxml/OOXMLFastContextHandler.cxx194
-rw-r--r--writerfilter/source/ooxml/OOXMLFastContextHandler.hxx7
-rw-r--r--writerfilter/source/ooxml/OOXMLFastHelper.hxx12
-rw-r--r--writerfilter/source/ooxml/OOXMLParserState.cxx19
-rw-r--r--writerfilter/source/ooxml/OOXMLParserState.hxx3
-rw-r--r--writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx2
-rw-r--r--writerfilter/source/ooxml/RefAndPointer.hxx13
-rw-r--r--writerfilter/source/resourcemodel/Protocol.cxx16
-rw-r--r--writerfilter/source/resourcemodel/TagLogger.cxx458
-rw-r--r--writerfilter/source/resourcemodel/makefile.mk4
-rw-r--r--writerfilter/util/makefile.mk4
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)