summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2018-04-23 12:43:54 +0900
committerTomaž Vajngerl <quikee@gmail.com>2018-04-26 18:19:32 +0200
commit45f20a893a457a40604207382611afd2f8e4b635 (patch)
tree0604a60593c9b9037c8a8e8e3cd3573070dc394b /xmloff
parente87ea03a0d595ed478f281a723a6889228babeb2 (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 'xmloff')
-rw-r--r--xmloff/source/core/xmlexp.cxx55
-rw-r--r--xmloff/source/core/xmlimp.cxx31
2 files changed, 35 insertions, 51 deletions
diff --git a/xmloff/source/core/xmlexp.cxx b/xmloff/source/core/xmlexp.cxx
index f76e7b677710..835b9ea18f80 100644
--- a/xmloff/source/core/xmlexp.cxx
+++ b/xmloff/source/core/xmlexp.cxx
@@ -674,11 +674,10 @@ void SAL_CALL SvXMLExport::initialize( const uno::Sequence< uno::Any >& aArgumen
if ( xTmpStatus.is() )
mxStatusIndicator = xTmpStatus;
- // graphic resolver
- uno::Reference<document::XGraphicObjectResolver> xTmpGraphic(
- xValue, UNO_QUERY );
- if ( xTmpGraphic.is() )
- mxGraphicResolver = xTmpGraphic;
+ // graphic storage handler
+ uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(xValue, UNO_QUERY);
+ if (xGraphicStorageHandler.is())
+ mxGraphicStorageHandler = xGraphicStorageHandler;
// object resolver
uno::Reference<document::XEmbeddedObjectResolver> xTmpObjectResolver(
@@ -1254,18 +1253,17 @@ ErrCode SvXMLExport::exportDoc( enum ::xmloff::token::XMLTokenEnum eClass )
bool bOwnGraphicResolver = false;
bool bOwnEmbeddedResolver = false;
- if( !mxGraphicResolver.is() || !mxEmbeddedResolver.is() )
+ if (!mxGraphicStorageHandler.is() || !mxEmbeddedResolver.is())
{
Reference< XMultiServiceFactory > xFactory( mxModel, UNO_QUERY );
if( xFactory.is() )
{
try
{
- if( !mxGraphicResolver.is() )
+ if (!mxGraphicStorageHandler.is())
{
- mxGraphicResolver.set(
- xFactory->createInstance( "com.sun.star.document.ExportGraphicObjectResolver" ), UNO_QUERY);
- bOwnGraphicResolver = mxGraphicResolver.is();
+ mxGraphicStorageHandler.set(xFactory->createInstance( "com.sun.star.document.ExportGraphicStorageHandler"), UNO_QUERY);
+ bOwnGraphicResolver = mxGraphicStorageHandler.is();
}
if( !mxEmbeddedResolver.is() )
@@ -1441,7 +1439,7 @@ ErrCode SvXMLExport::exportDoc( enum ::xmloff::token::XMLTokenEnum eClass )
if( bOwnGraphicResolver )
{
- Reference< XComponent > xComp( mxGraphicResolver, UNO_QUERY );
+ uno::Reference<XComponent> xComp(mxGraphicStorageHandler, UNO_QUERY);
xComp->dispose();
}
@@ -1880,11 +1878,10 @@ OUString SvXMLExport::AddEmbeddedXGraphic(uno::Reference<graphic::XGraphic> cons
}
else
{
- uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(mxGraphicResolver, uno::UNO_QUERY);
- if (mxGraphicResolver.is() && xGraphicStorageHandler.is())
+ if (mxGraphicStorageHandler.is())
{
if (!(getExportFlags() & SvXMLExportFlags::EMBEDDED))
- sURL = xGraphicStorageHandler->saveGraphicByName(rxGraphic, rOutMimeType, rRequestedName);
+ sURL = mxGraphicStorageHandler->saveGraphicByName(rxGraphic, rOutMimeType, rRequestedName);
}
}
return sURL;
@@ -1892,18 +1889,13 @@ OUString SvXMLExport::AddEmbeddedXGraphic(uno::Reference<graphic::XGraphic> cons
bool SvXMLExport::GetGraphicMimeTypeFromStream(uno::Reference<graphic::XGraphic> const & rxGraphic, OUString & rOutMimeType)
{
- if (mxGraphicResolver.is())
+ if (mxGraphicStorageHandler.is())
{
- uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(mxGraphicResolver, uno::UNO_QUERY);
-
- if (xGraphicStorageHandler.is())
+ Reference<XInputStream> xInputStream(mxGraphicStorageHandler->createInputStream(rxGraphic));
+ if (xInputStream.is())
{
- Reference<XInputStream> xInputStream(xGraphicStorageHandler->createInputStream(rxGraphic));
- if (xInputStream.is())
- {
- rOutMimeType = comphelper::GraphicMimeTypeHelper::GetMimeTypeForImageStream(xInputStream);
- return true;
- }
+ rOutMimeType = comphelper::GraphicMimeTypeHelper::GetMimeTypeForImageStream(xInputStream);
+ return true;
}
}
@@ -1913,18 +1905,13 @@ bool SvXMLExport::GetGraphicMimeTypeFromStream(uno::Reference<graphic::XGraphic>
bool SvXMLExport::AddEmbeddedXGraphicAsBase64(uno::Reference<graphic::XGraphic> const & rxGraphic)
{
if ((getExportFlags() & SvXMLExportFlags::EMBEDDED) &&
- mxGraphicResolver.is())
+ mxGraphicStorageHandler.is())
{
- uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(mxGraphicResolver, uno::UNO_QUERY);
-
- if (xGraphicStorageHandler.is())
+ Reference<XInputStream> xInputStream(mxGraphicStorageHandler->createInputStream(rxGraphic));
+ if (xInputStream.is())
{
- Reference<XInputStream> xInputStream(xGraphicStorageHandler->createInputStream(rxGraphic));
- if (xInputStream.is())
- {
- XMLBase64Export aBase64Exp(*this);
- return aBase64Exp.exportOfficeBinaryDataElement(xInputStream);
- }
+ XMLBase64Export aBase64Exp(*this);
+ return aBase64Exp.exportOfficeBinaryDataElement(xInputStream);
}
}
diff --git a/xmloff/source/core/xmlimp.cxx b/xmloff/source/core/xmlimp.cxx
index 7a08b5656030..9b2b51060341 100644
--- a/xmloff/source/core/xmlimp.cxx
+++ b/xmloff/source/core/xmlimp.cxx
@@ -529,20 +529,20 @@ void SAL_CALL SvXMLImport::setNamespaceHandler( const uno::Reference< xml::sax::
void SAL_CALL SvXMLImport::startDocument()
{
SAL_INFO( "xmloff.core", "{ SvXMLImport::startDocument" );
- if( !mxGraphicResolver.is() || !mxEmbeddedResolver.is() )
+ if (!mxGraphicStorageHandler.is() || !mxEmbeddedResolver.is())
{
Reference< lang::XMultiServiceFactory > xFactory( mxModel, UNO_QUERY );
if( xFactory.is() )
{
try
{
- if( !mxGraphicResolver.is() )
+ if (!mxGraphicStorageHandler.is())
{
// #99870# Import... instead of Export...
- mxGraphicResolver.set(
- xFactory->createInstance("com.sun.star.document.ImportGraphicObjectResolver"),
+ mxGraphicStorageHandler.set(
+ xFactory->createInstance("com.sun.star.document.ImportGraphicStorageHandler"),
UNO_QUERY);
- mpImpl->mbOwnGraphicResolver = mxGraphicResolver.is();
+ mpImpl->mbOwnGraphicResolver = mxGraphicStorageHandler.is();
}
if( !mxEmbeddedResolver.is() )
@@ -630,7 +630,7 @@ void SAL_CALL SvXMLImport::endDocument()
if( mpImpl->mbOwnGraphicResolver )
{
- Reference< lang::XComponent > xComp( mxGraphicResolver, UNO_QUERY );
+ Reference<lang::XComponent> xComp(mxGraphicStorageHandler, UNO_QUERY);
xComp->dispose();
}
@@ -1037,10 +1037,9 @@ void SAL_CALL SvXMLImport::initialize( const uno::Sequence< uno::Any >& aArgumen
if( xTmpStatusIndicator.is() )
mxStatusIndicator = xTmpStatusIndicator;
- uno::Reference<document::XGraphicObjectResolver> xTmpGraphicResolver(
- xValue, UNO_QUERY );
- if( xTmpGraphicResolver.is() )
- mxGraphicResolver = xTmpGraphicResolver;
+ uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(xValue, UNO_QUERY);
+ if (xGraphicStorageHandler.is())
+ mxGraphicStorageHandler = xGraphicStorageHandler;
uno::Reference<document::XEmbeddedObjectResolver> xTmpObjectResolver(
xValue, UNO_QUERY );
@@ -1361,13 +1360,12 @@ bool SvXMLImport::IsPackageURL( const OUString& rURL ) const
uno::Reference<graphic::XGraphic> SvXMLImport::loadGraphicByURL(OUString const & rURL)
{
uno::Reference<graphic::XGraphic> xGraphic;
- uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(mxGraphicResolver, uno::UNO_QUERY);
- if (xGraphicStorageHandler.is())
+ if (mxGraphicStorageHandler.is())
{
if (IsPackageURL(rURL))
{
- xGraphic = xGraphicStorageHandler->loadGraphic(rURL);
+ xGraphic = mxGraphicStorageHandler->loadGraphic(rURL);
}
else
{
@@ -1384,11 +1382,10 @@ uno::Reference<graphic::XGraphic> SvXMLImport::loadGraphicByURL(OUString const &
uno::Reference<graphic::XGraphic> SvXMLImport::loadGraphicFromBase64(uno::Reference<io::XOutputStream> const & rxOutputStream)
{
uno::Reference<graphic::XGraphic> xGraphic;
- uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(mxGraphicResolver, uno::UNO_QUERY);
- if (xGraphicStorageHandler.is())
+ if (mxGraphicStorageHandler.is())
{
- xGraphic = xGraphicStorageHandler->loadGraphicFromOutputStream(rxOutputStream);
+ xGraphic = mxGraphicStorageHandler->loadGraphicFromOutputStream(rxOutputStream);
}
return xGraphic;
@@ -1397,7 +1394,7 @@ uno::Reference<graphic::XGraphic> SvXMLImport::loadGraphicFromBase64(uno::Refere
Reference< XOutputStream > SvXMLImport::GetStreamForGraphicObjectURLFromBase64()
{
Reference< XOutputStream > xOStm;
- Reference< document::XBinaryStreamResolver > xStmResolver( mxGraphicResolver, UNO_QUERY );
+ Reference< document::XBinaryStreamResolver > xStmResolver(mxGraphicStorageHandler, UNO_QUERY);
if( xStmResolver.is() )
xOStm = xStmResolver->createOutputStream();