From 13c00ce322e78eb4e0f50ab84ded19cd6aae1ded Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Thu, 18 Aug 2011 12:11:03 +0200 Subject: Enable the writerfilter-based RTF import in non-experimental mode Disable the unit tests in sw, as that would duplicate the unit test in writerfilter now. Do not remove the old filter yet, so this commit can be reverted later if needed. --- sw/qa/core/filters-test.cxx | 6 --- sw/source/filter/rtf/swparrtf.cxx | 6 +-- writerfilter/Library_writerfilter.mk | 1 - writerfilter/source/filter/RtfFilter.cxx | 63 ++++++++++++-------------------- 4 files changed, 24 insertions(+), 52 deletions(-) diff --git a/sw/qa/core/filters-test.cxx b/sw/qa/core/filters-test.cxx index e9d2e4ac5633..c9616ec4be98 100644 --- a/sw/qa/core/filters-test.cxx +++ b/sw/qa/core/filters-test.cxx @@ -171,12 +171,6 @@ void FiltersTest::testCVEs() recursiveScan(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Staroffice XML (Writer)")), m_aSrcRoot + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/sw/qa/core/data/xml/fail")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CXML")), false); - recursiveScan(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Rich Text Format")), m_aSrcRoot + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/sw/qa/core/data/rtf/pass")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RTF")), true); - - recursiveScan(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Rich Text Format")), m_aSrcRoot + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/sw/qa/core/data/rtf/fail")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RTF")), false); - - recursiveScan(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Rich Text Format")), m_aSrcRoot + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/sw/qa/core/data/rtf/indeterminate")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RTF")), indeterminate); - recursiveScan(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MS Word 97")), m_aSrcRoot + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/sw/qa/core/data/ww8/pass")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CWW8")), true); recursiveScan(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MS Word 97")), m_aSrcRoot + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/sw/qa/core/data/ww8/fail")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CWW8")), false); diff --git a/sw/source/filter/rtf/swparrtf.cxx b/sw/source/filter/rtf/swparrtf.cxx index 60e5d46e4502..9fe62ed49e33 100644 --- a/sw/source/filter/rtf/swparrtf.cxx +++ b/sw/source/filter/rtf/swparrtf.cxx @@ -103,7 +103,6 @@ #include #include #include -#include #include #include #include @@ -163,10 +162,7 @@ sal_uLong SwRTFReader::Read( SwDoc &rDoc, const String& /*rBaseURL*/, SwPaM& /*r extern "C" SAL_DLLPUBLIC_EXPORT Reader* SAL_CALL ImportRTF() { - SvtMiscOptions aMiscOptions; - if (aMiscOptions.IsExperimentalMode()) - return new SwRTFReader(); - return new RtfReader(); + return new SwRTFReader(); } // Aufruf fuer die allg. Reader-Schnittstelle diff --git a/writerfilter/Library_writerfilter.mk b/writerfilter/Library_writerfilter.mk index 69ca17242a55..087ef262428d 100644 --- a/writerfilter/Library_writerfilter.mk +++ b/writerfilter/Library_writerfilter.mk @@ -60,7 +60,6 @@ $(eval $(call gb_Library_add_linked_libs,writerfilter,\ rtftok \ sal \ sot \ - svt \ tl \ utl \ $(gb_STDLIBS) \ diff --git a/writerfilter/source/filter/RtfFilter.cxx b/writerfilter/source/filter/RtfFilter.cxx index af4589692436..764c8bbff111 100644 --- a/writerfilter/source/filter/RtfFilter.cxx +++ b/writerfilter/source/filter/RtfFilter.cxx @@ -36,7 +36,6 @@ #include #include #include -#include using namespace ::rtl; using namespace ::cppu; @@ -70,56 +69,40 @@ sal_Bool RtfFilter::filter( const uno::Sequence< beans::PropertyValue >& aDescri return xFltr->filter(aDescriptor); } - SvtMiscOptions aMiscOptions; - if (aMiscOptions.IsExperimentalMode() || !m_xDstDoc.is() ) + try { - try - { - MediaDescriptor aMediaDesc( aDescriptor ); + MediaDescriptor aMediaDesc( aDescriptor ); #ifdef DEBUG_IMPORT - OUString sURL = aMediaDesc.getUnpackedValueOrDefault( MediaDescriptor::PROP_URL(), OUString() ); - ::std::string sURLc = OUStringToOString(sURL, RTL_TEXTENCODING_ASCII_US).getStr(); + OUString sURL = aMediaDesc.getUnpackedValueOrDefault( MediaDescriptor::PROP_URL(), OUString() ); + ::std::string sURLc = OUStringToOString(sURL, RTL_TEXTENCODING_ASCII_US).getStr(); - writerfilter::TagLogger::Pointer_t dmapperLogger - (writerfilter::TagLogger::getInstance("DOMAINMAPPER")); - dmapperLogger->setFileName(sURLc); - dmapperLogger->startDocument(); + writerfilter::TagLogger::Pointer_t dmapperLogger + (writerfilter::TagLogger::getInstance("DOMAINMAPPER")); + dmapperLogger->setFileName(sURLc); + dmapperLogger->startDocument(); #endif - uno::Reference< io::XInputStream > xInputStream; + uno::Reference< io::XInputStream > xInputStream; - aMediaDesc.addInputStream(); - aMediaDesc[ MediaDescriptor::PROP_INPUTSTREAM() ] >>= xInputStream; + aMediaDesc.addInputStream(); + aMediaDesc[ MediaDescriptor::PROP_INPUTSTREAM() ] >>= xInputStream; - uno::Reference xFrame = aMediaDesc.getUnpackedValueOrDefault(MediaDescriptor::PROP_FRAME(), - uno::Reference()); + uno::Reference xFrame = aMediaDesc.getUnpackedValueOrDefault(MediaDescriptor::PROP_FRAME(), + uno::Reference()); - writerfilter::Stream::Pointer_t pStream( - new writerfilter::dmapper::DomainMapper(m_xContext, xInputStream, m_xDstDoc, writerfilter::dmapper::DOCUMENT_RTF)); - writerfilter::rtftok::RTFDocument::Pointer_t const pDocument( - writerfilter::rtftok::RTFDocumentFactory::createDocument(m_xContext, xInputStream, m_xDstDoc, xFrame)); - pDocument->resolve(*pStream); + writerfilter::Stream::Pointer_t pStream( + new writerfilter::dmapper::DomainMapper(m_xContext, xInputStream, m_xDstDoc, writerfilter::dmapper::DOCUMENT_RTF)); + writerfilter::rtftok::RTFDocument::Pointer_t const pDocument( + writerfilter::rtftok::RTFDocumentFactory::createDocument(m_xContext, xInputStream, m_xDstDoc, xFrame)); + pDocument->resolve(*pStream); #ifdef DEBUG_IMPORT - dmapperLogger->endDocument(); + dmapperLogger->endDocument(); #endif - return sal_True; - } - catch( const uno::Exception& rEx) - { - return sal_False; - } + return sal_True; } - - // if not, then use the old importer - uno::Reference< lang::XMultiServiceFactory > xMSF(m_xContext->getServiceManager(), uno::UNO_QUERY_THROW); - uno::Reference< uno::XInterface > xIfc( xMSF->createInstance( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.comp.Writer.RtfImport" ))), uno::UNO_QUERY_THROW); - if (!xIfc.is()) - return sal_False; - uno::Reference< document::XImporter > xImprtr(xIfc, uno::UNO_QUERY_THROW); - uno::Reference< document::XFilter > xFltr(xIfc, uno::UNO_QUERY_THROW); - if (!xImprtr.is() || !xFltr.is()) + catch( const uno::Exception& rEx) + { return sal_False; - xImprtr->setTargetDocument(m_xDstDoc); - return xFltr->filter(aDescriptor); + } } void RtfFilter::cancel( ) throw (uno::RuntimeException) -- cgit v1.2.3