summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2008-07-22 11:45:24 +0000
committerOliver Bolte <obo@openoffice.org>2008-07-22 11:45:24 +0000
commitcca3ef40c7a1239dee4defc208896c350dffee4b (patch)
treef0815042a620d8db53c62d112030a3efb95c5066 /writerfilter
parent14a670054eb19df4e0ffda31ea27a07e117df873 (diff)
INTEGRATION: CWS xmlfilter06 (1.9.2); FILE MERGED
2008/07/04 12:02:42 dr 1.9.2.8: #i10000# resync errors 2008/07/04 10:56:48 dr 1.9.2.7: RESYNC: (1.10-1.11); FILE MERGED 2008/06/29 13:06:04 dr 1.9.2.6: RESYNC: (1.9-1.10); FILE MERGED 2008/06/12 15:04:25 hbrinkm 1.9.2.5: moved PropertySetToTagHandler 2008/06/05 15:59:01 hbrinkm 1.9.2.4: debug code 2008/06/02 15:11:39 hbrinkm 1.9.2.3: use TagLogger 2008/05/30 12:17:27 hbrinkm 1.9.2.2: use TagLogger, sendPropertiesWithId 2008/05/27 11:36:09 dr 1.9.2.1: joined changes from CWS xmlfilter05
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/ooxml/OOXMLFastContextHandler.cxx531
1 files changed, 253 insertions, 278 deletions
diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx
index 23273fae09b1..8ab517e74353 100644
--- a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx
+++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: OOXMLFastContextHandler.cxx,v $
- * $Revision: 1.11 $
+ * $Revision: 1.12 $
*
* This file is part of OpenOffice.org.
*
@@ -34,10 +34,12 @@
#include <rtl/uuid.h>
#include <com/sun/star/drawing/XShapes.hpp>
#include <resourcemodel/QNameToString.hxx>
+#include <resourcemodel/util.hxx>
#include <ooxml/resourceids.hxx>
#include <ooxml/OOXMLnamespaceids.hxx>
#include "OOXMLFastContextHandler.hxx"
#include "Handler.hxx"
+#include "ooxmlLoggers.hxx"
static const sal_uInt8 s0x7[] = { 0x7, 0x0 };
static const sal_uInt8 s0xd[] = { 0xd, 0x0 };
@@ -97,70 +99,23 @@ static string resourceToString
set<OOXMLFastContextHandler *> aSetContexts;
-class OOXMLPropertySetToTagHandler : public Properties
-{
- XMLTag::Pointer_t mpTag;
-
-public:
- OOXMLPropertySetToTagHandler() : mpTag(new XMLTag("propertyset")) {}
- virtual ~OOXMLPropertySetToTagHandler();
-
- 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);
-};
-
-OOXMLPropertySetToTagHandler::~OOXMLPropertySetToTagHandler()
+class OOXMLIdToString : public IdToString
{
-}
+public:
+ OOXMLIdToString() : IdToString() {}
+ virtual ~OOXMLIdToString() {}
-void OOXMLPropertySetToTagHandler::resolve
-(XMLTag & rTag, writerfilter::Reference<Properties>::Pointer_t pProps)
-{
- if (pProps.get() != NULL)
+ virtual string toString(const Id & rId) const
{
- OOXMLPropertySetToTagHandler aHandler;
- pProps->resolve(aHandler);
- rTag.addTag(aHandler.getTag());
- }
-}
-
-void OOXMLPropertySetToTagHandler::attribute(Id name, Value & val)
-{
- XMLTag::Pointer_t pTag(new XMLTag("attribute"));
-
- pTag->addAttr("name", (*QNameToString::Instance())(name));
- pTag->addAttr("value", val.toString());
-
- resolve(*pTag, val.getProperties());
-
- mpTag->addTag(pTag);
-}
+ string s(fastTokenToId(rId));
-void OOXMLPropertySetToTagHandler::sprm(Sprm & rSprm)
-{
- XMLTag::Pointer_t pTag(new XMLTag("sprm"));
-
- string sName((*SprmIdToString::Instance())(rSprm.getId()));
- if (sName.length() == 0)
- sName = fastTokenToId(rSprm.getId());
- pTag->addAttr("name", sName);
-
- static char sBuffer[256];
- snprintf(sBuffer, sizeof(sBuffer),
- "0x%" SAL_PRIxUINT32 "x, %" SAL_PRIxUINT32 "d", rSprm.getId(),
- rSprm.getId());
- pTag->addAttr("id", sBuffer);
- pTag->addAttr("value", rSprm.getValue()->toString());
-
- resolve(*pTag, rSprm.getProps());
+ if (s.size() == 0)
+ s = (*QNameToString::Instance())(rId);
- mpTag->addTag(pTag);
-}
+ return s;
+ }
+};
/*
class OOXMLFastContextHandler
@@ -224,15 +179,15 @@ OOXMLFastContextHandler::~OOXMLFastContextHandler()
void OOXMLFastContextHandler::dumpOpenContexts()
{
+ debug_logger->startElement("open-contexts");
XMLTag aTag("open-contexts");
set<OOXMLFastContextHandler *>::iterator aIt(aSetContexts.begin());
while (aIt != aSetContexts.end())
{
- XMLTag::Pointer_t pTag1(new XMLTag("open-context"));
-
- pTag1->addTag((*aIt)->toTag());
- aTag.addTag(pTag1);
+ debug_logger->startElement("open-context");
+ debug_logger->addTag((*aIt)->toTag());
+ debug_logger->endElement("open-context");
aIt++;
}
@@ -241,10 +196,8 @@ void OOXMLFastContextHandler::dumpOpenContexts()
snprintf(buffer, sizeof(buffer), "%" SAL_PRI_SIZET "u",
aSetContexts.size());
- aTag.addAttr("count", buffer);
-
- string sTmp(aTag.toString());
- logger("DEBUG", sTmp);
+ debug_logger->attribute("count", buffer);
+ debug_logger->endElement("open-contexts");
}
#ifdef DEBUG_MEMORY
@@ -286,18 +239,12 @@ void SAL_CALL OOXMLFastContextHandler::startFastElement
throw (uno::RuntimeException, xml::sax::SAXException)
{
#ifdef DEBUG_ELEMENT
- XMLTag aTagElement("element", XMLTag::START);
- aTagElement.addAttr("token", fastTokenToId(Element));
- aTagElement.addAttr("type", getType());
-
- string sElement(aTagElement.toString());
- logger("DEBUG", sElement);
-
- XMLTag aTagStart("at-start");
- aTagStart.addTag(toTag());
-
- string sStart(aTagStart.toString());
- logger("DEBUG", sStart);
+ debug_logger->startElement("element");
+ 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");
#endif
#ifdef DEBUG_MEMORY
static char buffer[256];
@@ -315,16 +262,11 @@ void SAL_CALL OOXMLFastContextHandler::startUnknownElement
throw (uno::RuntimeException, xml::sax::SAXException)
{
#ifdef DEBUG_CONTEXT_STACK
- XMLTag aTag("unknown-element");
- aTag.addAttr("namespace",
- OUStringToOString(Namespace,
- RTL_TEXTENCODING_ASCII_US).getStr());
- aTag.addAttr("name",
- OUStringToOString(Name, RTL_TEXTENCODING_ASCII_US).getStr());
- string s(aTag.toString());
- logger("DEBUG", s);
+ debug_logger->startElement("unknown-element");
+ debug_logger->attribute("namespace", Namespace);
+ debug_logger->attribute("name", Name);
#else
- (void)Namespace;
+ (void) Namespace;
(void) Name;
#endif
}
@@ -332,13 +274,13 @@ throw (uno::RuntimeException, xml::sax::SAXException)
void SAL_CALL OOXMLFastContextHandler::endFastElement(Token_t Element)
throw (uno::RuntimeException, xml::sax::SAXException)
{
-#ifdef DEBUG_ELEMENT
- XMLTag aTagEnd("at-end");
- aTagEnd.addTag(toTag());
+ lcl_endFastElement(Element);
- string sEnd(aTagEnd.toString());
- logger("DEBUG", sEnd);
- logger("DEBUG", "</element>");
+#ifdef DEBUG_ELEMENT
+ debug_logger->startElement("at-end");
+ debug_logger->addTag(toTag());
+ debug_logger->endElement("at-end");
+ debug_logger->endElement("element");
#endif
#ifdef DEBUG_MEMORY
static char buffer[256];
@@ -346,8 +288,6 @@ throw (uno::RuntimeException, xml::sax::SAXException)
getType().c_str());
logger("MEMORY", buffer);
#endif
-
- lcl_endFastElement(Element);
}
void OOXMLFastContextHandler::lcl_startFastElement
@@ -363,8 +303,11 @@ void OOXMLFastContextHandler::lcl_endFastElement
throw (uno::RuntimeException, xml::sax::SAXException)
{
#ifdef DEBUG_CONTEXT_STACK
- logger("DEBUG", "<endAction/>");
- logger("DEBUG", "<token>" + fastTokenToId(Element) + "</token>");
+ debug_logger->startElement("endAction");
+ debug_logger->endElement("endAction");
+ debug_logger->startElement("token");
+ debug_logger->chars(fastTokenToId(Element));
+ debug_logger->endElement("token");
#endif
endAction(Element);
@@ -375,7 +318,8 @@ void SAL_CALL OOXMLFastContextHandler::endUnknownElement
throw (uno::RuntimeException, xml::sax::SAXException)
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "</unknown-element>");
+ debug_logger->startElement("unknown-element");
+ debug_logger->endElement("unknown-element");
#endif
}
@@ -386,20 +330,16 @@ uno::Reference< xml::sax::XFastContextHandler > SAL_CALL
throw (uno::RuntimeException, xml::sax::SAXException)
{
#ifdef DEBUG_CONTEXT_STACK
- XMLTag aTag("createFastChildContext", XMLTag::START);
-
- aTag.addAttr("token", fastTokenToId(Element));
- aTag.addAttr("type", this->getType());
-
- string sTmp(aTag.toString());
- logger("DEBUG", sTmp);
+ debug_logger->startElement("createFastChildContext");
+ debug_logger->attribute("token", fastTokenToId(Element));
+ debug_logger->attribute("type", getType());
#endif
uno::Reference< xml::sax::XFastContextHandler > xResult
(lcl_createFastChildContext(Element, Attribs));
#ifdef DEBUG_CONTEXT_STACK
- logger("DEBUG", "</createFastChildContext>");
+ debug_logger->endElement("createFastChildContext");
#endif
return xResult;
@@ -411,10 +351,6 @@ uno::Reference< xml::sax::XFastContextHandler >
const uno::Reference< xml::sax::XFastAttributeList > & /*Attribs*/)
throw (uno::RuntimeException, xml::sax::SAXException)
{
-#ifdef DEBUG_CREATE
- logger("DEBUG", "<fallback/>");
-#endif
-
OOXMLFastContextHandler * pResult = new OOXMLFastContextHandler(this);
pResult->setFallback(true);
@@ -429,17 +365,13 @@ OOXMLFastContextHandler::createUnknownChildContext
throw (uno::RuntimeException, xml::sax::SAXException)
{
#ifdef DEBUG_ELEMENT
- XMLTag aTag("createUnknownChildContext");
- aTag.addAttr("namespace",
- OUStringToOString(Namespace,
- RTL_TEXTENCODING_ASCII_US).getStr());
- aTag.addAttr("name",
- OUStringToOString(Name, RTL_TEXTENCODING_ASCII_US).getStr());
- string s(aTag.toString());
- logger("DEBUG", s);
+ debug_logger->startElement("createUnknownChildContext");
+ debug_logger->attribute("namespace", Namespace);
+ debug_logger->attribute("name", Name);
+ debug_logger->endElement("createUnknownChildContext");
#else
- (void)Namespace;
- (void)Name;
+ (void) Namespace;
+ (void) Name;
#endif
return uno::Reference< xml::sax::XFastContextHandler >
@@ -495,12 +427,50 @@ void OOXMLFastContextHandler::attributes
{
}
-void OOXMLFastContextHandler::startAction(Token_t /*Element*/)
+void OOXMLFastContextHandler::startAction(Token_t Element)
+{
+#ifdef DEBUG_ELEMENT
+ debug_logger->startElement("startAction");
+#endif
+ lcl_startAction(Element);
+#ifdef DEBUG_ELEMENT
+ debug_logger->endElement("startAction");
+#endif
+}
+
+void OOXMLFastContextHandler::lcl_startAction(Token_t /* Element */)
+{
+}
+
+void OOXMLFastContextHandler::endAction(Token_t Element)
+{
+#ifdef DEBUG_ELEMENT
+ debug_logger->startElement("endAction");
+#endif
+ lcl_endAction(Element);
+#ifdef DEBUG_ELEMENT
+ debug_logger->endElement("endAction");
+#endif
+}
+
+void OOXMLFastContextHandler::lcl_endAction(Token_t /* Element */)
{
}
-void OOXMLFastContextHandler::endAction(Token_t /*Element*/)
+XMLTag::Pointer_t OOXMLFastContextHandler::toPropertiesTag
+ (OOXMLPropertySet::Pointer_t pProps)
{
+ 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
@@ -523,14 +493,11 @@ XMLTag::Pointer_t OOXMLFastContextHandler::toTag() const
else
pTag->addAttr("value", "(null)");
- OOXMLPropertySet::Pointer_t pProps(getPropertySet());
- if (pProps.get() != NULL)
- {
- OOXMLPropertySetToTagHandler aHandler;
+ XMLTag::Pointer_t pTagProps(toPropertiesTag(getPropertySet()));
+ if (pTagProps.get() != NULL)
+ pTag->addTag(pTagProps);
- pProps->resolve(aHandler);
- pTag->addTag(aHandler.getTag());
- }
+ pTag->addTag(mpParserState->toTag());
return pTag;
}
@@ -548,13 +515,14 @@ string OOXMLFastContextHandler::getResourceString() const
void OOXMLFastContextHandler::setId(Id rId)
{
#ifdef DEBUG_ELEMENT
- XMLTag aTag("setId");
+ debug_logger->startElement("setId");
static char sBuffer[256];
snprintf(sBuffer, sizeof(sBuffer), "%ld", rId);
- aTag.addAttr("id", sBuffer);
- aTag.chars((*QNameToString::Instance())(rId));
- logger("DEBUG", aTag.toString());
+
+ debug_logger->attribute("id", sBuffer);
+ debug_logger->chars((*QNameToString::Instance())(rId));
+ debug_logger->endElement("setId");
#endif
mId = rId;
@@ -575,6 +543,11 @@ bool OOXMLFastContextHandler::isFallback() const
return mbFallback;
}
+OOXMLParserState::Pointer_t OOXMLFastContextHandler::getParserState() const
+{
+ return mpParserState;
+}
+
void OOXMLFastContextHandler::setToken(Token_t nToken)
{
mnToken = nToken;
@@ -596,8 +569,9 @@ void OOXMLFastContextHandler::mark(const Id & rId, OOXMLValue::Pointer_t pVal)
(new OOXMLPropertyImpl(rId, pVal, OOXMLPropertyImpl::ATTRIBUTE));
#ifdef DEBUG_PROPERTIES
- logger("DEBUG", "<mark>"
- + xmlify(pProperty->toString()) + "</mark>");
+ debug_logger->startElement("mark");
+ debug_logger->chars(xmlify(pProperty->toString()));
+ debug_logger->endElement("mark");
#endif
pPropSet->add(pProperty);
mpStream->props(pPropSet);
@@ -606,10 +580,6 @@ void OOXMLFastContextHandler::mark(const Id & rId, OOXMLValue::Pointer_t pVal)
void OOXMLFastContextHandler::setParent
(OOXMLFastContextHandler * pParent)
{
-#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<setParent>OOXMLFastContextHandler</setParent>");
-#endif
-
mpParent = pParent;
}
@@ -623,7 +593,7 @@ OOXMLPropertySet * OOXMLFastContextHandler::getPicturePropSet
void OOXMLFastContextHandler::sendTableDepth() const
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<sendTableDepth/>");
+ debug_logger->startElement("sendTableDepth");
#endif
if (mnTableDepth > 0)
@@ -645,11 +615,14 @@ void OOXMLFastContextHandler::sendTableDepth() const
}
#ifdef DEBUG_PROPERTIES
- XMLTag aTag("props");
- aTag.chars(pProps->toString());
- logger("DEBUG", aTag.toString());
+ debug_logger->startElement("props");
+ debug_logger->chars(pProps->toString());
+ debug_logger->endElement("props");
#endif
mpStream->props(writerfilter::Reference<Properties>::Pointer_t(pProps));
+#ifdef DEBUG_PROPERTIES
+ debug_logger->endElement("sendTableDepth");
+#endif
}
}
@@ -672,7 +645,7 @@ void OOXMLFastContextHandler::startCharacterGroup()
if (! mpParserState->isInCharacterGroup())
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<startCharacterGroup/>");
+ debug_logger->element("startCharacterGroup");
#endif
mpStream->startCharacterGroup();
@@ -687,7 +660,7 @@ void OOXMLFastContextHandler::endCharacterGroup()
if (isForwardEvents() && mpParserState->isInCharacterGroup())
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<endCharacterGroup/>");
+ debug_logger->element("endCharacterGroup");
#endif
mpStream->endCharacterGroup();
@@ -702,19 +675,13 @@ void OOXMLFastContextHandler::startParagraphGroup()
if (mpParserState->isInParagraphGroup())
endParagraphGroup();
- if (mpParserState->isLastParagraphInSection())
- {
- startSectionGroup();
- mpParserState->setLastParagraphInSection(false);
- }
-
if (! mpParserState->isInSectionGroup())
startSectionGroup();
if (! mpParserState->isInParagraphGroup())
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<startParagraphGroup/>");
+ debug_logger->element("startParagraphGroup");
#endif
mpStream->startParagraphGroup();
@@ -733,14 +700,11 @@ void OOXMLFastContextHandler::endParagraphGroup()
if (mpParserState->isInParagraphGroup())
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<endParagraphGroup/>");
+ debug_logger->element("endParagraphGroup");
#endif
mpStream->endParagraphGroup();
mpParserState->setInParagraphGroup(false);
}
- /*
- if (mpParserState->isLastParagraphInSection())
- endSectionGroup(); */
}
}
@@ -754,7 +718,7 @@ void OOXMLFastContextHandler::startSectionGroup()
if (! mpParserState->isInSectionGroup())
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<startSectionGroup/>");
+ debug_logger->element("startSectionGroup");
#endif
mpStream->info(mpParserState->getHandle());
mpStream->startSectionGroup();
@@ -773,7 +737,7 @@ void OOXMLFastContextHandler::endSectionGroup()
if (mpParserState->isInSectionGroup())
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<endSectionGroup/>");
+ debug_logger->element("endSectionGroup");
#endif
mpStream->endSectionGroup();
mpParserState->setInSectionGroup(false);
@@ -783,15 +747,16 @@ void OOXMLFastContextHandler::endSectionGroup()
void OOXMLFastContextHandler::setLastParagraphInSection()
{
+#ifdef DEBUG_ELEMENT
+ debug_logger->element("setLastParagraphInSection");
+#endif
+
mpParserState->setLastParagraphInSection(true);
}
void OOXMLFastContextHandler::newProperty
(const Id & /*nId*/, OOXMLValue::Pointer_t /*pVal*/)
{
-#ifdef DEBUG_PROPERTIES
- logger("DEBUG", "<property/>");
-#endif
}
void OOXMLFastContextHandler::setPropertySet
@@ -807,7 +772,7 @@ OOXMLPropertySet::Pointer_t OOXMLFastContextHandler::getPropertySet() const
void OOXMLFastContextHandler::startField()
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<startField/>");
+ debug_logger->element("startField");
#endif
startCharacterGroup();
if (isForwardEvents())
@@ -818,7 +783,7 @@ void OOXMLFastContextHandler::startField()
void OOXMLFastContextHandler::fieldSeparator()
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<fieldSeparator/>");
+ debug_logger->element("fieldSeparator");
#endif
startCharacterGroup();
if (isForwardEvents())
@@ -829,7 +794,7 @@ void OOXMLFastContextHandler::fieldSeparator()
void OOXMLFastContextHandler::endField()
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<endField/>");
+ debug_logger->element("endField");
#endif
startCharacterGroup();
if (isForwardEvents())
@@ -840,7 +805,7 @@ void OOXMLFastContextHandler::endField()
void OOXMLFastContextHandler::ftnednref()
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<ftnednref/>");
+ debug_logger->element("ftnednref");
#endif
if (isForwardEvents())
mpStream->utext(sFtnEdnRef, 1);
@@ -849,7 +814,7 @@ void OOXMLFastContextHandler::ftnednref()
void OOXMLFastContextHandler::ftnednsep()
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "ftnednsep/>");
+ debug_logger->element("ftnednsep");
#endif
if (isForwardEvents())
mpStream->utext(sFtnEdnSep, 1);
@@ -858,7 +823,7 @@ void OOXMLFastContextHandler::ftnednsep()
void OOXMLFastContextHandler::ftnedncont()
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<ftnedncont/>");
+ debug_logger->element("ftnedncont");
#endif
if (isForwardEvents())
mpStream->text(sFtnEdnCont, 1);
@@ -867,7 +832,7 @@ void OOXMLFastContextHandler::ftnedncont()
void OOXMLFastContextHandler::pgNum()
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<pgNum/>");
+ debug_logger->element("pgNum");
#endif
if (isForwardEvents())
mpStream->utext((const sal_uInt8*)sPgNum, 1);
@@ -876,7 +841,7 @@ void OOXMLFastContextHandler::pgNum()
void OOXMLFastContextHandler::tab()
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<tab/>");
+ debug_logger->element("tab");
#endif
if (isForwardEvents())
mpStream->utext((const sal_uInt8*)sTab, 1);
@@ -885,7 +850,7 @@ void OOXMLFastContextHandler::tab()
void OOXMLFastContextHandler::cr()
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<cr/>");
+ debug_logger->element("cr");
#endif
if (isForwardEvents())
mpStream->utext((const sal_uInt8*)sCR, 1);
@@ -894,7 +859,7 @@ void OOXMLFastContextHandler::cr()
void OOXMLFastContextHandler::noBreakHyphen()
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<noBreakHyphen/>");
+ debug_logger->element("noBreakHyphen");
#endif
if (isForwardEvents())
mpStream->utext((const sal_uInt8*)sNoBreakHyphen, 1);
@@ -903,16 +868,29 @@ void OOXMLFastContextHandler::noBreakHyphen()
void OOXMLFastContextHandler::softHyphen()
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<softHyphen/>");
+ debug_logger->element("softHyphen");
#endif
if (isForwardEvents())
mpStream->utext((const sal_uInt8*)sSoftHyphen, 1);
}
+void OOXMLFastContextHandler::handleLastParagraphInSection()
+{
+#ifdef DEBUG_ELEMENT
+ debug_logger->element("handleLastParagraphInSection");
+#endif
+
+ if (mpParserState->isLastParagraphInSection())
+ {
+ mpParserState->setLastParagraphInSection(false);
+ startSectionGroup();
+ }
+}
+
void OOXMLFastContextHandler::endOfParagraph()
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<endOfParagraph/>");
+ debug_logger->element("endOfParagraph");
#endif
if (! mpParserState->isInCharacterGroup())
startCharacterGroup();
@@ -923,10 +901,9 @@ void OOXMLFastContextHandler::endOfParagraph()
void OOXMLFastContextHandler::text(const ::rtl::OUString & sText)
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", string("<text>")
- + xmlify(OUStringToOString(sText, RTL_TEXTENCODING_ASCII_US).
- getStr())
- + "</text>");
+ debug_logger->startElement("text");
+ debug_logger->chars(sText);
+ debug_logger->endElement("text");
#endif
if (isForwardEvents())
mpStream->utext(reinterpret_cast < const sal_uInt8 * >
@@ -937,7 +914,9 @@ void OOXMLFastContextHandler::text(const ::rtl::OUString & sText)
void OOXMLFastContextHandler::propagateCharacterProperties()
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<propagateCharacterProperties/>");
+ debug_logger->startElement("propagateCharacterProperties");
+ debug_logger->addTag(toPropertiesTag(getPropertySet()));
+ debug_logger->endElement("propagateCharacterProperties");
#endif
mpParserState->setCharacterProperties(getPropertySet());
@@ -946,7 +925,9 @@ void OOXMLFastContextHandler::propagateCharacterProperties()
void OOXMLFastContextHandler::propagateCharacterPropertiesAsSet(const Id & rId)
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<propagateCharacterPropertiesAsSet/>");
+ debug_logger->startElement("propagateCharacterPropertiesAsSet");
+ debug_logger->addTag(toPropertiesTag(getPropertySet()));
+ debug_logger->endElement("propagateCharacterPropertiesAsSet");
#endif
OOXMLValue::Pointer_t pValue(new OOXMLPropertySetValue(getPropertySet()));
@@ -967,16 +948,38 @@ bool OOXMLFastContextHandler::propagatesProperties() const
void OOXMLFastContextHandler::propagateTableProperties()
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<propagateTableProperties/>");
+ debug_logger->element("propagateTableProperties");
#endif
mpParserState->setTableProperties(getPropertySet());
}
+void OOXMLFastContextHandler::sendPropertiesWithId(const Id & rId)
+{
+#ifdef DEBUG_ELEMENT
+ debug_logger->startElement("sendPropertiesWithId");
+ debug_logger->attribute("id", fastTokenToId(rId));
+#endif
+
+ OOXMLValue::Pointer_t pValue(new OOXMLPropertySetValue(getPropertySet()));
+ OOXMLPropertySet::Pointer_t pPropertySet(new OOXMLPropertySetImpl());
+
+ OOXMLProperty::Pointer_t pProp
+ (new OOXMLPropertyImpl(rId, pValue, OOXMLPropertyImpl::SPRM));
+
+ pPropertySet->add(pProp);
+ mpStream->props(pPropertySet);
+
+#ifdef DEBUG_ELEMENT
+ debug_logger->addTag(toPropertiesTag(pPropertySet));
+ debug_logger->endElement("sendPropertiesWithId");
+#endif
+}
+
void OOXMLFastContextHandler::clearProps()
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<clearProps/>");
+ debug_logger->element("clearProps");
#endif
setPropertySet(OOXMLPropertySet::Pointer_t(new OOXMLPropertySetImpl()));
@@ -995,14 +998,14 @@ OOXMLDocument * OOXMLFastContextHandler::getDocument()
void OOXMLFastContextHandler::setForwardEvents(bool bForwardEvents)
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<setForwardEvents>");
+ debug_logger->startElement("setForwardEvents");
if (bForwardEvents)
- logger("DEBUG", "true");
+ debug_logger->chars("true");
else
- logger("DEBUG", "false");
+ debug_logger->chars("false");
- logger("DEBUG", "</setForwardEvents>");
+ debug_logger->endElement("setForwardEvents");
#endif
mpParserState->setForwardEvents(bForwardEvents);
@@ -1136,11 +1139,6 @@ void OOXMLFastContextHandlerStream::newProperty(const Id & rId,
OOXMLPropertyImpl::Pointer_t pProperty
(new OOXMLPropertyImpl(rId, pVal, OOXMLPropertyImpl::ATTRIBUTE));
-#ifdef DEBUG_PROPERTIES
- logger("DEBUG", "<property>"
- + xmlify(pProperty->toString()) + "</property>");
-#endif
-
mpPropertySetAttrs->add(pProperty);
}
}
@@ -1148,9 +1146,10 @@ void OOXMLFastContextHandlerStream::newProperty(const Id & rId,
void OOXMLFastContextHandlerStream::sendProperty(Id nId)
{
#ifdef DEBUG_PROPERTIES
- logger("DEBUG", "<sendProperty id='" + (*QNameToString::Instance())(nId)
- + "'>" + xmlify(getPropertySetAttrs()->toString())
- + "</sendProperty>");
+ debug_logger->startElement("sendProperty");
+ debug_logger->attribute("id", (*QNameToString::Instance())(nId));
+ debug_logger->chars(xmlify(getPropertySetAttrs()->toString()));
+ debug_logger->endElement("sendProperty");
#endif
OOXMLPropertySetEntryToString aHandler(nId);
@@ -1176,9 +1175,9 @@ OOXMLFastContextHandlerStream::getPropertySetAttrs() const
void OOXMLFastContextHandlerStream::resolvePropertySetAttrs()
{
#ifdef DEBUG_PROPERTIES
- logger("DEBUG", "<resolvePropertySetAttrs>");
- logger("DEBUG", mpPropertySetAttrs->toString());
- logger("DEBUG", "</resolvePropertySetAttrs>");
+ debug_logger->startElement("resolvePropertySetAttrs");
+ debug_logger->chars(mpPropertySetAttrs->toString());
+ debug_logger->endElement("resolvePropertySetAttrs");
#endif
mpStream->props(mpPropertySetAttrs);
}
@@ -1202,14 +1201,6 @@ throw (uno::RuntimeException, xml::sax::SAXException)
text(rChars);
}
-XMLTag::Pointer_t OOXMLFastContextHandlerStream::toTag() const
-{
- XMLTag::Pointer_t pTag(OOXMLFastContextHandler::toTag());
- pTag->addTag(mpParserState->toTag());
-
- return pTag;
-}
-
/*
class OOXMLFastContextHandlerProperties
*/
@@ -1237,9 +1228,9 @@ void OOXMLFastContextHandlerProperties::lcl_endFastElement
if (isForwardEvents())
{
#ifdef DEBUG_PROPERTIES
- logger("DEBUG", "<endelementprops>");
- logger("DEBUG", mpPropertySet->toString());
- logger("DEBUG", "</endelementprops>");
+ debug_logger->startElement("sendproperties");
+ debug_logger->addTag(toPropertiesTag(getPropertySet()));
+ debug_logger->endElement("sendproperties");
#endif
mpStream->props(mpPropertySet);
}
@@ -1257,13 +1248,19 @@ void OOXMLFastContextHandlerProperties::lcl_endFastElement
if (pProperties.get() != NULL)
{
#ifdef DEBUG_PROPERTIES
- logger("DEBUG", "<property>" + pProperty->toString() + "</property>");
+ debug_logger->startElement("property");
+ debug_logger->chars(xmlify(pProperty->toString()));
+ debug_logger->endElement("property");
#endif
pProperties->add(pProperty);
}
#ifdef DEBUG_PROPERTIES
else if (! propagatesProperties())
- logger("DEBUG", "<warning>properties lost</warning>");
+ {
+ debug_logger->startElement("warning");
+ debug_logger->chars("properties lost");
+ debug_logger->endElement("warning");
+ }
#endif
}
}
@@ -1289,11 +1286,6 @@ void OOXMLFastContextHandlerProperties::newProperty
OOXMLPropertyImpl::Pointer_t pProperty
(new OOXMLPropertyImpl(rId, pVal, OOXMLPropertyImpl::ATTRIBUTE));
-#ifdef DEBUG_PROPERTIES
- logger("DEBUG", string("<property>") +
- xmlify(pProperty->toString()) + "</property>");
-#endif
-
mpPropertySet->add(pProperty);
}
}
@@ -1342,14 +1334,18 @@ void OOXMLFastContextHandlerProperties::handleHdrFtr()
void OOXMLFastContextHandlerProperties::handleComment()
{
+#ifdef DEBUG_ELEMENT
+ debug_logger->element("handleComment");
+#endif
+
OOXMLCommentHandler aCommentHandler(this);
getPropertySet()->resolve(aCommentHandler);
}
void OOXMLFastContextHandlerProperties::handlePicture()
{
-#ifdef DEBUG_PICTURE
- logger("DEBUG", "handle picture");
+#ifdef DEBUG_ELEMENT
+ debug_logger->element("handlePicture");
#endif
OOXMLPictureHandler aPictureHandler(this);
@@ -1358,12 +1354,20 @@ void OOXMLFastContextHandlerProperties::handlePicture()
void OOXMLFastContextHandlerProperties::handleBreak()
{
+#ifdef DEBUG_ELEMENT
+ debug_logger->element("handleBreak");
+#endif
+
OOXMLBreakHandler aBreakHandler(*mpStream, this);
getPropertySet()->resolve(aBreakHandler);
}
void OOXMLFastContextHandlerProperties::handleOLE()
{
+#ifdef DEBUG_ELEMENT
+ debug_logger->element("handleOLE");
+#endif
+
OOXMLOLEHandler aOLEHandler(this);
getPropertySet()->resolve(aOLEHandler);
}
@@ -1372,9 +1376,9 @@ void OOXMLFastContextHandlerProperties::setParent
(OOXMLFastContextHandler * pParent)
{
#ifdef DEBUG_ELEMENT
- logger("DEBUG", "<setParent>OOXMLFastContextHandlerProperties"
- + resourceToString(mpParent->getResource())
- + "</setParent>");
+ debug_logger->startElement("setParent");
+ debug_logger->chars("OOXMLFastContextHandlerProperties");
+ debug_logger->endElement("setParent");
#endif
OOXMLFastContextHandler::setParent(pParent);
@@ -1647,7 +1651,7 @@ void OOXMLFastContextHandlerTable::lcl_endFastElement
addCurrentChild();
writerfilter::Reference<Table>::Pointer_t pTable(mTable.clone());
- if (isForwardEvents() && mId != 0)
+ if (isForwardEvents() && mId != 0x0)
mpStream->table(mId, pTable);
}
@@ -1713,12 +1717,10 @@ void OOXMLFastContextHandlerXNote::lcl_endFastElement
void OOXMLFastContextHandlerXNote::checkId(const rtl::OUString & rId)
{
#ifdef DEBUG_ELEMENT
- string tmp = "<checkId myId=\"";
- tmp += OUStringToOString(rId, RTL_TEXTENCODING_ASCII_US).getStr();
- tmp +="\" id=\"";
- tmp += OUStringToOString(getXNoteId(), RTL_TEXTENCODING_ASCII_US).getStr();
- tmp += "\"/>";
- logger("DEBUG", tmp);
+ debug_logger->startElement("checkId");
+ debug_logger->attribute("myId", rId);
+ debug_logger->attribute("id", getXNoteId());
+ debug_logger->endElement("checkId");
#endif
msMyXNoteId = rId;
@@ -1770,9 +1772,10 @@ void OOXMLFastContextHandlerTextTableCell::endCell()
}
#ifdef DEBUG_PROPERTIES
- logger("DEBUG", "<endcell>");
- logger("DEBUG", pProps->toString());
- logger("DEBUG", "</endcell>");
+ debug_logger->startElement("endcell");
+ debug_logger->addTag(toPropertiesTag
+ (OOXMLPropertySet::Pointer_t(pProps->clone())));
+ debug_logger->endElement("endcell");
#endif
mpStream->props(writerfilter::Reference<Properties>::Pointer_t(pProps));
}
@@ -1828,9 +1831,10 @@ void OOXMLFastContextHandlerTextTableRow::endRow()
}
#ifdef DEBUG_PROPERTIES
- logger("DEBUG", "<endRow>");
- logger("DEBUG", pProps->toString());
- logger("DEBUG", "</endRow>");
+ debug_logger->startElement("endrow");
+ debug_logger->addTag(toPropertiesTag
+ (OOXMLPropertySet::Pointer_t(pProps->clone())));
+ debug_logger->endElement("endrow");
#endif
mpStream->props(writerfilter::Reference<Properties>::Pointer_t(pProps));
@@ -1889,6 +1893,7 @@ class ShapesNoAdd:
public:
explicit ShapesNoAdd(uno::Reference< uno::XComponentContext > const & context, uno::Reference< drawing::XShapes> const & xShapes);
+private:
// container::XElementAccess:
virtual uno::Type SAL_CALL getElementType() throw (uno::RuntimeException);
virtual ::sal_Bool SAL_CALL hasElements() throw (uno::RuntimeException);
@@ -1901,7 +1906,6 @@ public:
virtual void SAL_CALL add(const uno::Reference< drawing::XShape > & xShape) throw (uno::RuntimeException);
virtual void SAL_CALL remove(const uno::Reference< drawing::XShape > & xShape) throw (uno::RuntimeException);
-private:
ShapesNoAdd(ShapesNoAdd &); // not defined
void operator =(ShapesNoAdd &); // not defined
@@ -1939,22 +1943,8 @@ uno::Any SAL_CALL ShapesNoAdd::getByIndex(::sal_Int32 Index) throw (uno::Runtime
// drawing::XShapes:
void SAL_CALL ShapesNoAdd::add(const uno::Reference< drawing::XShape > &
-#ifdef DEBUG_SHAPES
- xShape
-#endif
) throw (uno::RuntimeException)
{
-
-#ifdef DEBUG_SHAPES
- awt::Point aPosition(xShape->getPosition());
- awt::Size aSize(xShape->getSize());
- static char buffer[256];
- snprintf(buffer, sizeof(buffer),
- "<shape x=\"%ld\" y=\"%ld\" w=\"%ld\" h=\"%ld\"/>",
- aPosition.X, aPosition.Y, aSize.Width, aSize.Height);
-
- logger("DEBUG", buffer);
-#endif
}
void SAL_CALL ShapesNoAdd::remove(const uno::Reference< drawing::XShape > & xShape) throw (uno::RuntimeException)
@@ -1990,19 +1980,20 @@ OOXMLFastContextHandlerShape::OOXMLFastContextHandlerShape
mrShapeContext->setInputStream(getDocument()->getStorageStream());
#ifdef DEBUG_ELEMENT
- XMLTag aTag("setRelationFragmentPath");
- aTag.addAttr("path",
- OUStringToOString
- (mpParserState->getTarget(),
- RTL_TEXTENCODING_ASCII_US).getStr());
- logger("DEBUG", aTag.toString());
+ debug_logger->startElement("setRelationFragmentPath");
+ debug_logger->attribute("path", mpParserState->getTarget());
+ debug_logger->endElement("setRelationFragmentPath");
#endif
mrShapeContext->setRelationFragmentPath
(mpParserState->getTarget());
}
#ifdef DEBUG_CONTEXT_STACK
else
- logger("DEBUG", "<error>failed to get shape handler</error>");
+ {
+ debug_logger->startElement("error");
+ debug_logger->chars("failed to get shape handler");
+ debug_logger->endElement("error");
+ }
#endif
}
}
@@ -2016,10 +2007,6 @@ void OOXMLFastContextHandlerShape::lcl_startFastElement
const uno::Reference< xml::sax::XFastAttributeList > & Attribs)
throw (uno::RuntimeException, xml::sax::SAXException)
{
-#ifdef DEBUG_CONTEXT_STACK
- logger("DEBUG", "<info>OOXMLFastContextHandlerShape</info>");
-#endif
-
startAction(Element);
if (mrShapeContext.is())
@@ -2040,9 +2027,6 @@ void OOXMLFastContextHandlerShape::lcl_endFastElement
(Token_t Element)
throw (uno::RuntimeException, xml::sax::SAXException)
{
-#ifdef DEBUG_CONTEXT_STACK
- logger("DEBUG", "<info>OOXMLFastContextHandlerShape</info>");
-#endif
if (mrShapeContext.is())
{
mrShapeContext->endFastElement(Element);
@@ -2054,12 +2038,6 @@ void OOXMLFastContextHandlerShape::lcl_endFastElement
awt::Point aPoint(xShape->getPosition());
awt::Size aSize(xShape->getSize());
-#ifdef DEBUG_ELEMENT
- uno::Reference<beans::XPropertySet> xPropSet
- (xShape, uno::UNO_QUERY_THROW);
- logger("DEBUG", propertysetToString(xPropSet));
-#endif
-
OOXMLValue::Pointer_t
pValue(new OOXMLShapeValue(xShape));
newProperty(NS_ooxml::LN_shape, pValue);
@@ -2084,9 +2062,6 @@ OOXMLFastContextHandlerShape::lcl_createFastChildContext
const uno::Reference< xml::sax::XFastAttributeList > & Attribs)
throw (uno::RuntimeException, xml::sax::SAXException)
{
-#ifdef DEBUG_CONTEXT_STACK
- logger("DEBUG", "<info>OOXMLFastContextHandlerShape</info>");
-#endif
uno::Reference< xml::sax::XFastContextHandler > xContextHandler;
sal_uInt32 nNamespace = Element & 0xffff0000;
@@ -2254,20 +2229,20 @@ OOXMLFastContextHandlerWrapper::lcl_createFastChildContext
Id nNameSpace = Element & 0xffff0000;
#ifdef DEBUG_ELEMENT
- XMLTag aTag("Wrapper-createChildContext");
- aTag.addAttr("token", fastTokenToId(Element));
+ debug_logger->startElement("Wrapper-createChildContext");
+ debug_logger->attribute("token", fastTokenToId(Element));
set<Id>::const_iterator aIt(mMyNamespaces.begin());
while (aIt != mMyNamespaces.end())
{
- XMLTag::Pointer_t pTag1(new XMLTag("namespace"));
- pTag1->addAttr("id", fastTokenToId(*aIt));
- aTag.addTag(pTag1);
+ debug_logger->startElement("namespace");
+ debug_logger->attribute("id", fastTokenToId(*aIt));
+ debug_logger->endElement("namespace");
+
aIt++;
}
- string sTmp(aTag.toString());
- logger("DEBUG", sTmp);
+ debug_logger->endElement("Wrapper-createChildContext");
#endif
if (mMyNamespaces.find(nNameSpace) != mMyNamespaces.end())