summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xmloff/source/transform/OOo2Oasis.cxx29
1 files changed, 12 insertions, 17 deletions
diff --git a/xmloff/source/transform/OOo2Oasis.cxx b/xmloff/source/transform/OOo2Oasis.cxx
index 7b17554bdb6f..4e860b64f620 100644
--- a/xmloff/source/transform/OOo2Oasis.cxx
+++ b/xmloff/source/transform/OOo2Oasis.cxx
@@ -42,6 +42,7 @@
#include "OOo2Oasis.hxx"
#include <cppuhelper/supportsservice.hxx>
#include <cppuhelper/typeprovider.hxx>
+#include <tools/diagnose_ex.h>
using namespace ::xmloff::token;
using namespace ::com::sun::star::uno;
@@ -1915,32 +1916,26 @@ void OOo2OasisTransformer::Initialize(
{
OSL_ENSURE( !GetDocHandler().is(), "duplication initialization" );
- Reference< XDocumentHandler > xDocHandler;
+ Reference< XInterface > xFilter;
if( !m_aSubServiceName.isEmpty() )
{
- Reference< XComponentContext > xContext =
- comphelper::getProcessComponentContext();
- try
- {
- // get filter component
- xDocHandler.set(
- xContext->getServiceManager()->createInstanceWithArgumentsAndContext(m_aSubServiceName, rArguments, xContext),
- UNO_QUERY);
- }
- catch( Exception& )
- {
- }
+ Reference< XComponentContext > xContext = comphelper::getProcessComponentContext();
+ // get filter component
+ xFilter =
+ xContext->getServiceManager()->createInstanceWithArgumentsAndContext(m_aSubServiceName, rArguments, xContext);
+ SAL_WARN_IF(!xFilter, "xmloff", "could not instantiate " << m_aSubServiceName);
}
+ else
+ SAL_WARN("xmloff", "no subservice name");
- OSL_ENSURE( xDocHandler.is(), "can't instantiate filter component" );
- if( xDocHandler.is() )
+ if (xFilter.is())
{
Sequence<Any> aArgs( 1 + rArguments.getLength() );
- aArgs[0] <<= xDocHandler;
+ aArgs[0] <<= xFilter;
std::copy(rArguments.begin(), rArguments.end(), std::next(aArgs.begin()));
XMLTransformerBase::initialize( aArgs );
- OSL_ENSURE( GetDocHandler() == xDocHandler,
+ OSL_ENSURE( GetDocHandler() == xFilter,
"duplicate doc handler" );
}
else