diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2018-04-23 12:43:54 +0900 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2018-04-26 18:19:32 +0200 |
commit | 45f20a893a457a40604207382611afd2f8e4b635 (patch) | |
tree | 0604a60593c9b9037c8a8e8e3cd3573070dc394b /chart2 | |
parent | e87ea03a0d595ed478f281a723a6889228babeb2 (diff) |
[API CHANGE] deprecate XGraphicObjectResolver
XGraphicObjectResolver was used to get the GraphicObject URL from
an storage (package) URL. This isn't possible anymore in LO 6.1
since creating GraphicObject from uniqueID was removed for its
lifecycle issues. XGraphicObjectResolver is now deprecated and
when the "resolveGraphicObjectURL" is called, it throws a
RuntimeExeption.
In places where XGraphicObjectResolver was used, we now use the
XGraphicStorageHandler as the alternative. Both share a common
implementation so previously we could cast one to the other at
any time. Now only XGraphicStorageHandler is used.
GraphicObjectResolver was removed and replaced by the alternative
GraphicStorageHandler for instance creation - where needed.
Change-Id: I5d3f759c6f95b7dbe2d93688d99c8aa4899ffa84
Reviewed-on: https://gerrit.libreoffice.org/53279
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'chart2')
-rw-r--r-- | chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx | 15 | ||||
-rw-r--r-- | chart2/source/model/filter/XMLFilter.cxx | 45 | ||||
-rw-r--r-- | chart2/source/model/inc/XMLFilter.hxx | 4 |
3 files changed, 33 insertions, 31 deletions
diff --git a/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx b/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx index 50c6c213da43..94d74b0eefe3 100644 --- a/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx +++ b/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx @@ -101,15 +101,15 @@ enum eServiceType SERVICE_NAME_MARKER_TABLE, SERVICE_NAME_NAMESPACE_MAP, - SERVICE_NAME_EXPORT_GRAPHIC_RESOLVER, - SERVICE_NAME_IMPORT_GRAPHIC_RESOLVER + SERVICE_NAME_EXPORT_GRAPHIC_STORAGE_RESOLVER, + SERVICE_NAME_IMPORT_GRAPHIC_STORAGE_RESOLVER }; typedef std::map< OUString, enum eServiceType > tServiceNameMap; tServiceNameMap & lcl_getStaticServiceNameMap() { - static tServiceNameMap aServiceNameMap{ + static tServiceNameMap aServiceNameMap { {"com.sun.star.chart.AreaDiagram", SERVICE_NAME_AREA_DIAGRAM}, {"com.sun.star.chart.BarDiagram", SERVICE_NAME_BAR_DIAGRAM}, {"com.sun.star.chart.DonutDiagram", SERVICE_NAME_DONUT_DIAGRAM}, @@ -130,8 +130,9 @@ tServiceNameMap & lcl_getStaticServiceNameMap() {"com.sun.star.drawing.MarkerTable", SERVICE_NAME_MARKER_TABLE}, {"com.sun.star.xml.NamespaceMap", SERVICE_NAME_NAMESPACE_MAP}, - {"com.sun.star.document.ExportGraphicObjectResolver", SERVICE_NAME_EXPORT_GRAPHIC_RESOLVER}, - {"com.sun.star.document.ImportGraphicObjectResolver", SERVICE_NAME_IMPORT_GRAPHIC_RESOLVER}}; + {"com.sun.star.document.ExportGraphicStoreageHandler", SERVICE_NAME_EXPORT_GRAPHIC_STORAGE_RESOLVER}, + {"com.sun.star.document.ImportGraphicStoreageHandler", SERVICE_NAME_IMPORT_GRAPHIC_STORAGE_RESOLVER} + }; return aServiceNameMap; } @@ -1192,9 +1193,9 @@ uno::Reference< uno::XInterface > SAL_CALL ChartDocumentWrapper::createInstance( case SERVICE_NAME_NAMESPACE_MAP: break; - case SERVICE_NAME_EXPORT_GRAPHIC_RESOLVER: + case SERVICE_NAME_EXPORT_GRAPHIC_STORAGE_RESOLVER: break; - case SERVICE_NAME_IMPORT_GRAPHIC_RESOLVER: + case SERVICE_NAME_IMPORT_GRAPHIC_STORAGE_RESOLVER: break; } diff --git a/chart2/source/model/filter/XMLFilter.cxx b/chart2/source/model/filter/XMLFilter.cxx index b45b0fb23b5d..f9ca9cdcd40a 100644 --- a/chart2/source/model/filter/XMLFilter.cxx +++ b/chart2/source/model/filter/XMLFilter.cxx @@ -45,7 +45,8 @@ #include <com/sun/star/xml/sax/Parser.hpp> #include <com/sun/star/xml/sax/SAXParseException.hpp> #include <com/sun/star/packages/zip/ZipIOException.hpp> -#include <com/sun/star/document/GraphicObjectResolver.hpp> +#include <com/sun/star/document/GraphicStorageHandler.hpp> +#include <com/sun/star/document/XGraphicStorageHandler.hpp> #include <com/sun/star/container/XNameAccess.hpp> #include <tools/diagnose_ex.h> @@ -298,15 +299,15 @@ ErrCode XMLFilter::impl_Import( if( ! xStorage.is()) return ERRCODE_SFX_GENERAL; - Reference< document::XGraphicObjectResolver > xGraphicObjectResolver; - uno::Reference< lang::XMultiServiceFactory > xServiceFactory( xFactory, uno::UNO_QUERY); - if( xServiceFactory.is()) + uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler; + uno::Reference<lang::XMultiServiceFactory> xServiceFactory(xFactory, uno::UNO_QUERY); + if (xServiceFactory.is()) { - uno::Sequence< uno::Any > aArgs(1); + uno::Sequence<uno::Any> aArgs(1); aArgs[0] <<= xStorage; - xGraphicObjectResolver.set( + xGraphicStorageHandler.set( xServiceFactory->createInstanceWithArguments( - "com.sun.star.comp.Svx.GraphicImportHelper", aArgs ), uno::UNO_QUERY ); + "com.sun.star.comp.Svx.GraphicImportHelper", aArgs), uno::UNO_QUERY); } // create XPropertySet with extra informatio for the filter @@ -362,7 +363,7 @@ ErrCode XMLFilter::impl_Import( nWarning = impl_ImportStream( sXML_metaStreamName, "com.sun.star.comp.Chart.XMLOasisMetaImporter", - xStorage, xSaxParser, xFactory, xGraphicObjectResolver, xImportInfo ); + xStorage, xSaxParser, xFactory, xGraphicStorageHandler, xImportInfo ); // import styles ErrCode nTmpErr = impl_ImportStream( @@ -370,7 +371,7 @@ ErrCode XMLFilter::impl_Import( bOasis ? OUString("com.sun.star.comp.Chart.XMLOasisStylesImporter") : OUString("com.sun.star.comp.Chart.XMLStylesImporter"), - xStorage, xSaxParser, xFactory, xGraphicObjectResolver, xImportInfo ); + xStorage, xSaxParser, xFactory, xGraphicStorageHandler, xImportInfo ); nWarning = nWarning != ERRCODE_NONE ? nWarning : nTmpErr; // import content @@ -379,7 +380,7 @@ ErrCode XMLFilter::impl_Import( bOasis ? OUString("com.sun.star.comp.Chart.XMLOasisContentImporter") : OUString("com.sun.star.comp.Chart.XMLContentImporter"), - xStorage, xSaxParser, xFactory, xGraphicObjectResolver, xImportInfo ); + xStorage, xSaxParser, xFactory, xGraphicStorageHandler, xImportInfo ); nWarning = nWarning != ERRCODE_NONE ? nWarning : nContentWarning; // import of "content.xml" didn't work - try old "Content.xml" stream @@ -388,7 +389,7 @@ ErrCode XMLFilter::impl_Import( nWarning = impl_ImportStream( "Content.xml", // old content stream name "com.sun.star.office.sax.importer.Chart", - xStorage, xSaxParser, xFactory, xGraphicObjectResolver, xImportInfo ); + xStorage, xSaxParser, xFactory, xGraphicStorageHandler, xImportInfo ); } } catch (const uno::Exception&) @@ -408,7 +409,7 @@ ErrCode XMLFilter::impl_ImportStream( const Reference< embed::XStorage > & xStorage, const Reference< xml::sax::XParser > & xParser, const Reference< lang::XMultiComponentFactory > & xFactory, - const Reference< document::XGraphicObjectResolver > & xGraphicObjectResolver, + const Reference< document::XGraphicStorageHandler > & xGraphicStorageHandler, uno::Reference< beans::XPropertySet > const & xImportInfo ) { ErrCode nWarning = ERRCODE_SFX_GENERAL; @@ -438,7 +439,7 @@ ErrCode XMLFilter::impl_ImportStream( if( aParserInput.aInputStream.is()) { sal_Int32 nArgs = 0; - if( xGraphicObjectResolver.is()) + if( xGraphicStorageHandler.is()) nArgs++; if( xImportInfo.is()) nArgs++; @@ -446,8 +447,8 @@ ErrCode XMLFilter::impl_ImportStream( uno::Sequence< uno::Any > aFilterCompArgs( nArgs ); nArgs = 0; - if( xGraphicObjectResolver.is()) - aFilterCompArgs[nArgs++] <<= xGraphicObjectResolver; + if( xGraphicStorageHandler.is()) + aFilterCompArgs[nArgs++] <<= xGraphicStorageHandler; if( xImportInfo.is()) aFilterCompArgs[ nArgs++ ] <<= xImportInfo; @@ -576,8 +577,8 @@ ErrCode XMLFilter::impl_Export( } } - Reference< document::XGraphicObjectResolver > xGraphicObjectResolver = document::GraphicObjectResolver::createWithStorage( - m_xContext, xStorage ); + Reference<document::XGraphicStorageHandler> xGraphicStorageHandler; + xGraphicStorageHandler.set(document::GraphicStorageHandler::createWithStorage(m_xContext, xStorage)); // property map for export info set comphelper::PropertyMapEntry const aExportInfoMap[] = @@ -600,7 +601,7 @@ ErrCode XMLFilter::impl_Export( xInfoSet->setPropertyValue( "ExportTableNumberList", uno::Any( true )); sal_Int32 nArgs = 2; - if( xGraphicObjectResolver.is()) + if( xGraphicStorageHandler.is()) nArgs++; uno::Sequence< uno::Any > aFilterProperties( nArgs ); @@ -608,8 +609,8 @@ ErrCode XMLFilter::impl_Export( nArgs = 0; aFilterProperties[ nArgs++ ] <<= xInfoSet; aFilterProperties[ nArgs++ ] <<= xDocHandler; - if( xGraphicObjectResolver.is()) - aFilterProperties[ nArgs++ ] <<= xGraphicObjectResolver; + if( xGraphicStorageHandler.is()) + aFilterProperties[ nArgs++ ] <<= xGraphicStorageHandler; } // export meta information @@ -637,8 +638,8 @@ ErrCode XMLFilter::impl_Export( xStorage, xSaxWriter, xServiceFactory, aFilterProperties ); nWarning = nWarning != ERRCODE_NONE ? nWarning : nContentWarning; - Reference< lang::XComponent > xComp( xGraphicObjectResolver, uno::UNO_QUERY ); - if( xComp.is()) + Reference< lang::XComponent > xComp(xGraphicStorageHandler, uno::UNO_QUERY); + if (xComp.is()) xComp->dispose(); uno::Reference<embed::XTransactedObject> xTransact( xStorage ,uno::UNO_QUERY); diff --git a/chart2/source/model/inc/XMLFilter.hxx b/chart2/source/model/inc/XMLFilter.hxx index 85c033c99a7e..6b97ca858d9e 100644 --- a/chart2/source/model/inc/XMLFilter.hxx +++ b/chart2/source/model/inc/XMLFilter.hxx @@ -44,7 +44,7 @@ namespace xml { namespace sax }} namespace document { - class XGraphicObjectResolver; + class XGraphicStorageHandler; } }}} @@ -105,7 +105,7 @@ private: const css::uno::Reference< css::embed::XStorage > & xStorage, const css::uno::Reference< css::xml::sax::XParser > & xParser, const css::uno::Reference< css::lang::XMultiComponentFactory > & xFactory, - const css::uno::Reference< css::document::XGraphicObjectResolver > & xGraphicObjectResolver, + const css::uno::Reference<css::document::XGraphicStorageHandler> & xGraphicStorageHandler, css::uno::Reference< css::beans::XPropertySet > const & xPropSet ); /// @return a warning code, or 0 for successful operation |