[Libreoffice-commits] core.git: writerfilter/source

Mike Kaganski (via logerrit) logerrit at kemper.freedesktop.org
Fri Apr 16 07:22:26 UTC 2021


 writerfilter/source/ooxml/OOXMLFactory.cxx |   81 +++++++----------------------
 1 file changed, 22 insertions(+), 59 deletions(-)

New commits:
commit 22787b05a8e882533f2e834e2cc62368881a22e7
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Fri Apr 16 08:11:31 2021 +0200
Commit:     Mike Kaganski <mike.kaganski at collabora.com>
CommitDate: Fri Apr 16 09:21:44 2021 +0200

    Small refactor
    
    Change-Id: I5fb506986e650cde1d6be7e4cfb2360335ab625b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114175
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>

diff --git a/writerfilter/source/ooxml/OOXMLFactory.cxx b/writerfilter/source/ooxml/OOXMLFactory.cxx
index 51d6ada11dab..9e52c2b4c9e6 100644
--- a/writerfilter/source/ooxml/OOXMLFactory.cxx
+++ b/writerfilter/source/ooxml/OOXMLFactory.cxx
@@ -55,92 +55,55 @@ void OOXMLFactory::attributes(OOXMLFastContextHandler * pHandler,
 
         Id nId = pFactory->getResourceId(nDefine, nToken);
 
+        OOXMLValue::Pointer_t xValue;
         switch (pAttr->m_nResource)
         {
         case ResourceType::Boolean:
-            {
-                const char *pValue = rAttribs.getAsCharByIndex(nAttrIndex);
-                OOXMLValue::Pointer_t xValue(OOXMLBooleanValue::Create(pValue));
-                pHandler->newProperty(nId, xValue);
-                pFactory->attributeAction(pHandler, nToken, xValue);
-            }
+            xValue = OOXMLBooleanValue::Create(rAttribs.getAsCharByIndex(nAttrIndex));
             break;
         case ResourceType::String:
-            {
-                OUString aValue(rAttribs.getValueByIndex(nAttrIndex));
-                OOXMLValue::Pointer_t xValue(new OOXMLStringValue(aValue));
-                pHandler->newProperty(nId, xValue);
-                pFactory->attributeAction(pHandler, nToken, xValue);
-            }
+            xValue = new OOXMLStringValue(rAttribs.getValueByIndex(nAttrIndex));
             break;
         case ResourceType::Integer:
-            {
-                sal_Int32 nValue = rAttribs.getAsIntegerByIndex(nAttrIndex);
-                OOXMLValue::Pointer_t xValue = OOXMLIntegerValue::Create(nValue);
-                pHandler->newProperty(nId, xValue);
-                pFactory->attributeAction(pHandler, nToken, xValue);
-            }
+            xValue = OOXMLIntegerValue::Create(rAttribs.getAsIntegerByIndex(nAttrIndex));
             break;
         case ResourceType::Hex:
-            {
-                const char *pValue = rAttribs.getAsCharByIndex(nAttrIndex);
-                OOXMLValue::Pointer_t xValue(new OOXMLHexValue(pValue));
-                pHandler->newProperty(nId, xValue);
-                pFactory->attributeAction(pHandler, nToken, xValue);
-            }
+            xValue = new OOXMLHexValue(rAttribs.getAsCharByIndex(nAttrIndex));
             break;
         case ResourceType::HexColor:
-            {
-                const char *pValue = rAttribs.getAsCharByIndex(nAttrIndex);
-                OOXMLValue::Pointer_t xValue(new OOXMLHexColorValue(pValue));
-                pHandler->newProperty(nId, xValue);
-                pFactory->attributeAction(pHandler, nToken, xValue);
-            }
+            xValue = new OOXMLHexColorValue(rAttribs.getAsCharByIndex(nAttrIndex));
             break;
         case ResourceType::TwipsMeasure_asSigned:
         case ResourceType::TwipsMeasure_asZero:
+            xValue = new OOXMLTwipsMeasureValue(rAttribs.getAsCharByIndex(nAttrIndex));
+            if (xValue->getInt() < 0)
             {
-                const char *pValue = rAttribs.getAsCharByIndex(nAttrIndex);
-                OOXMLValue::Pointer_t xValue(new OOXMLTwipsMeasureValue(pValue));
-                if ( xValue->getInt() < 0 )
-                {
-                    if ( pAttr->m_nResource == ResourceType::TwipsMeasure_asZero )
-                        xValue = OOXMLIntegerValue::Create(0);
-                }
-                pHandler->newProperty(nId, xValue);
-                pFactory->attributeAction(pHandler, nToken, xValue);
+                if (pAttr->m_nResource == ResourceType::TwipsMeasure_asZero)
+                    xValue = OOXMLIntegerValue::Create(0);
             }
             break;
         case ResourceType::HpsMeasure:
-            {
-                const char *pValue = rAttribs.getAsCharByIndex(nAttrIndex);
-                OOXMLValue::Pointer_t xValue(new OOXMLHpsMeasureValue(pValue));
-                pHandler->newProperty(nId, xValue);
-                pFactory->attributeAction(pHandler, nToken, xValue);
-            }
-        break;
+            xValue = new OOXMLHpsMeasureValue(rAttribs.getAsCharByIndex(nAttrIndex));
+            break;
         case ResourceType::MeasurementOrPercent:
-            {
-                const char *pValue = rAttribs.getAsCharByIndex(nAttrIndex);
-                OOXMLValue::Pointer_t xValue(new OOXMLMeasurementOrPercentValue(pValue));
-                pHandler->newProperty(nId, xValue);
-                pFactory->attributeAction(pHandler, nToken, xValue);
-            }
+            xValue = new OOXMLMeasurementOrPercentValue(rAttribs.getAsCharByIndex(nAttrIndex));
             break;
         case ResourceType::List:
+            if (sal_uInt32 nValue;
+                pFactory->getListValue(pAttr->m_nRef, rAttribs.getValueByIndex(nAttrIndex), nValue))
             {
-                sal_uInt32 nValue;
-                if (pFactory->getListValue(pAttr->m_nRef, rAttribs.getValueByIndex(nAttrIndex), nValue))
-                {
-                    OOXMLValue::Pointer_t xValue = OOXMLIntegerValue::Create(nValue);
-                    pHandler->newProperty(nId, xValue);
-                    pFactory->attributeAction(pHandler, nToken, xValue);
-                }
+                xValue = OOXMLIntegerValue::Create(nValue);
             }
             break;
         default:
             break;
         }
+
+        if (xValue)
+        {
+            pHandler->newProperty(nId, xValue);
+            pFactory->attributeAction(pHandler, nToken, xValue);
+        }
     }
 }
 


More information about the Libreoffice-commits mailing list