diff options
author | Oliver Bolte <obo@openoffice.org> | 2008-07-22 11:45:24 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2008-07-22 11:45:24 +0000 |
commit | cca3ef40c7a1239dee4defc208896c350dffee4b (patch) | |
tree | f0815042a620d8db53c62d112030a3efb95c5066 /writerfilter | |
parent | 14a670054eb19df4e0ffda31ea27a07e117df873 (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.cxx | 531 |
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()) |