[Libreoffice-commits] core.git: Branch 'libreoffice-4-3' - writerfilter/source

Charu Tyagi charu.tyagi at ericsson.com
Wed Oct 15 01:09:27 PDT 2014


 writerfilter/source/dmapper/DomainMapper_Impl.cxx |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

New commits:
commit 00f68a3375e39d293d5397375e257daf7e433bca
Author: Charu Tyagi <charu.tyagi at ericsson.com>
Date:   Fri Jul 18 14:32:10 2014 +0530

    fdo#81486:custom property with the same name as Document Property not imported
    Change-Id: Ieb9cba7b8969787140d6db3b77765e3a15bf89e1
    Reviewed-on: https://gerrit.libreoffice.org/10381
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>
    Reviewed-on: https://gerrit.libreoffice.org/11960
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>

diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index ffa4bae..41d12af 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -17,6 +17,10 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/beans/XPropertyContainer.hpp>
+#include <com/sun/star/document/XDocumentProperties.hpp>
 #include <DomainMapper_Impl.hxx>
 #include <ConversionHelper.hxx>
 #include <SdtHelper.hxx>
@@ -2856,13 +2860,18 @@ void DomainMapper_Impl::handleAuthor
             //Lines, Manager, NameofApplication, ODMADocId, Pages,
             //Security,
         };
+        uno::Reference<document::XDocumentPropertiesSupplier> xDocumentPropertiesSupplier(m_xTextDocument, uno::UNO_QUERY);
+        uno::Reference<document::XDocumentProperties> xDocumentProperties = xDocumentPropertiesSupplier->getDocumentProperties();
+        const uno::Reference< beans::XPropertyContainer > xUserProps = xDocumentProperties->getUserDefinedProperties();
+        uno::Reference<beans::XPropertySet>  xUserDefinedProps(xDocumentProperties->getUserDefinedProperties(), uno::UNO_QUERY_THROW);
+        uno::Reference<beans::XPropertySetInfo> xPropertySetInfo =  xUserDefinedProps->getPropertySetInfo();
         //search for a field mapping
         OUString sFieldServiceName;
         sal_uInt16 nMap = 0;
         for( ; nMap < sizeof(aDocProperties) / sizeof(DocPropertyMap);
             ++nMap )
         {
-            if (rFirstParam.equalsAscii(aDocProperties[nMap].pDocPropertyName))
+            if ((rFirstParam.equalsAscii(aDocProperties[nMap].pDocPropertyName)) && (!xPropertySetInfo->hasPropertyByName(rFirstParam)))
             {
                 sFieldServiceName =
                 OUString::createFromAscii


More information about the Libreoffice-commits mailing list