[Libreoffice-commits] .: 5 commits - basctl/source basic/source chart2/source cui/source dbaccess/source desktop/source embeddedobj/source embedserv/source extensions/source filter/Library_filtertracer.mk filter/source forms/source framework/inc framework/source linguistic/source odk/configure.pl odk/examples odk/setsdkenv_unix oox/source package/source scripting/source sc/source sdext/source sd/source sfx2/source svl/source svtools/source svx/source sw/source UnoControls/Library_ctl.mk UnoControls/source unotools/source uui/source vbahelper/source vcl/source writerfilter/unocomponent xmlhelp/source xmloff/source

Stephan Bergmann sbergmann at kemper.freedesktop.org
Wed Jun 6 01:57:29 PDT 2012


 UnoControls/Library_ctl.mk                                                                       |    1 
 UnoControls/source/controls/framecontrol.cxx                                                     |   25 +--
 basctl/source/basicide/baside3.cxx                                                               |    9 -
 basctl/source/basicide/moduldl2.cxx                                                              |   47 ++-----
 basic/source/inc/dlgcont.hxx                                                                     |    4 
 basic/source/inc/namecont.hxx                                                                    |   16 +-
 basic/source/inc/scriptcont.hxx                                                                  |    6 
 basic/source/runtime/iosys.cxx                                                                   |   63 ++++-----
 basic/source/uno/dlgcont.cxx                                                                     |    6 
 basic/source/uno/namecont.cxx                                                                    |   42 ++----
 basic/source/uno/scriptcont.cxx                                                                  |   12 -
 chart2/source/controller/main/CommandDispatch.cxx                                                |   10 -
 cui/source/options/optupdt.cxx                                                                   |    5 
 dbaccess/source/core/dataaccess/databasedocument.cxx                                             |    6 
 dbaccess/source/core/dataaccess/documenteventexecutor.cxx                                        |    4 
 dbaccess/source/filter/xml/dbloader2.cxx                                                         |   14 --
 dbaccess/source/ui/browser/genericcontroller.cxx                                                 |    4 
 dbaccess/source/ui/dlg/dbwizsetup.cxx                                                            |   10 -
 desktop/source/app/app.cxx                                                                       |   19 +-
 desktop/source/app/dispatchwatcher.cxx                                                           |    5 
 desktop/source/deployment/dp_log.cxx                                                             |    8 -
 desktop/source/deployment/gui/dp_gui_updatedialog.cxx                                            |    4 
 desktop/source/deployment/registry/help/dp_help.cxx                                              |   18 +-
 desktop/source/migration/services/oo3extensionmigration.cxx                                      |    5 
 desktop/source/migration/services/oo3extensionmigration.hxx                                      |    5 
 embeddedobj/source/msole/oleembed.cxx                                                            |   10 -
 embeddedobj/source/msole/olepersist.cxx                                                          |   42 +-----
 embeddedobj/source/msole/ownview.cxx                                                             |   10 -
 embedserv/source/embed/ed_ipersiststr.cxx                                                        |   24 +--
 extensions/source/bibliography/toolbar.cxx                                                       |    9 -
 extensions/source/logging/filehandler.cxx                                                        |    7 -
 extensions/source/propctrlr/genericpropertyhandler.cxx                                           |    3 
 extensions/source/propctrlr/unourl.cxx                                                           |    4 
 filter/Library_filtertracer.mk                                                                   |    1 
 filter/source/config/cache/constant.hxx                                                          |    1 
 filter/source/config/cache/typedetection.cxx                                                     |    6 
 filter/source/filtertracer/filtertracer.cxx                                                      |    8 -
 filter/source/xsltfilter/XSLTFilter.cxx                                                          |    9 -
 forms/source/component/DatabaseForm.cxx                                                          |    7 -
 forms/source/helper/urltransformer.cxx                                                           |    9 -
 framework/inc/services.h                                                                         |    2 
 framework/source/classes/droptargetlistener.cxx                                                  |    6 
 framework/source/classes/menumanager.cxx                                                         |    4 
 framework/source/dispatch/systemexec.cxx                                                         |    7 -
 framework/source/dispatch/windowcommanddispatch.cxx                                              |    4 
 framework/source/jobs/shelljob.cxx                                                               |    9 -
 framework/source/layoutmanager/layoutmanager.cxx                                                 |    4 
 framework/source/loadenv/loadenv.cxx                                                             |    6 
 framework/source/lomenubar/FrameHelper.cxx                                                       |    3 
 framework/source/services/autorecovery.cxx                                                       |    4 
 framework/source/services/backingcomp.cxx                                                        |    4 
 framework/source/services/backingwindow.cxx                                                      |   47 +++----
 framework/source/services/dispatchhelper.cxx                                                     |    4 
 framework/source/services/frame.cxx                                                              |    4 
 framework/source/services/pathsettings.cxx                                                       |    9 -
 framework/source/services/sessionlistener.cxx                                                    |    8 -
 framework/source/services/urltransformer.cxx                                                     |    2 
 framework/source/uielement/buttontoolbarcontroller.cxx                                           |    6 
 framework/source/uielement/complextoolbarcontroller.cxx                                          |    6 
 framework/source/uielement/generictoolbarcontroller.cxx                                          |    8 -
 framework/source/uielement/langselectionstatusbarcontroller.cxx                                  |    3 
 framework/source/uielement/menubarmanager.cxx                                                    |    8 -
 framework/source/uielement/menubarwrapper.cxx                                                    |    6 
 framework/source/uielement/toolbarmanager.cxx                                                    |    8 -
 linguistic/source/convdic.cxx                                                                    |    9 -
 linguistic/source/dicimp.cxx                                                                     |   13 -
 linguistic/source/dlistimp.cxx                                                                   |    8 -
 odk/examples/DevelopersGuide/OfficeDev/FilterDevelopment/FlatXmlFilterDetection/fdcomp.cxx       |    8 -
 odk/examples/DevelopersGuide/OfficeDev/FilterDevelopment/FlatXmlFilterDetection/filterdetect.cxx |   14 +-
 odk/examples/DevelopersGuide/OfficeDev/FilterDevelopment/FlatXmlFilterDetection/filterdetect.hxx |   12 +
 oox/source/dump/dumperbase.cxx                                                                   |   12 -
 package/source/xstor/owriteablestream.cxx                                                        |   67 ++--------
 package/source/xstor/selfterminatefilestream.cxx                                                 |    8 -
 package/source/xstor/selfterminatefilestream.hxx                                                 |    4 
 package/source/xstor/xfactory.cxx                                                                |   14 --
 package/source/xstor/xstorage.cxx                                                                |    9 -
 package/source/zippackage/ZipPackage.cxx                                                         |    9 -
 sc/source/ui/vba/testvba/testvba.cxx                                                             |    7 -
 scripting/source/dlgprov/DialogModelProvider.cxx                                                 |    8 -
 scripting/source/dlgprov/dlgprov.cxx                                                             |    7 -
 scripting/source/inc/util/MiscUtils.hxx                                                          |   13 -
 scripting/source/provider/URIHelper.cxx                                                          |    6 
 scripting/source/provider/URIHelper.hxx                                                          |    5 
 scripting/source/runtimemgr/ScriptNameResolverImpl.cxx                                           |   13 -
 scripting/source/stringresource/stringresource.cxx                                               |   25 +--
 scripting/source/stringresource/stringresource.hxx                                               |   12 -
 sd/source/filter/html/htmlex.cxx                                                                 |    7 -
 sd/source/filter/html/htmlex.hxx                                                                 |    4 
 sd/source/ui/dlg/dlgass.cxx                                                                      |    7 -
 sd/source/ui/framework/configuration/ResourceFactoryManager.cxx                                  |    8 -
 sd/source/ui/framework/configuration/ResourceId.cxx                                              |    8 -
 sd/source/ui/framework/module/ReadOnlyModeObserver.cxx                                           |   13 -
 sd/source/ui/slideshow/slideshowimpl.cxx                                                         |    6 
 sd/source/ui/tools/SlotStateListener.cxx                                                         |   14 --
 sdext/source/minimizer/impoptimizer.cxx                                                          |    7 -
 sdext/source/minimizer/informationdialog.cxx                                                     |   23 +--
 sdext/source/presenter/PresenterController.cxx                                                   |    7 -
 sfx2/source/appl/appopen.cxx                                                                     |    6 
 sfx2/source/appl/newhelp.cxx                                                                     |    4 
 sfx2/source/appl/sfxhelp.cxx                                                                     |    4 
 sfx2/source/appl/shutdownicon.cxx                                                                |   36 ++---
 sfx2/source/control/bindings.cxx                                                                 |    3 
 sfx2/source/control/querystatus.cxx                                                              |    4 
 sfx2/source/control/request.cxx                                                                  |    6 
 sfx2/source/control/sfxstatuslistener.cxx                                                        |    4 
 sfx2/source/control/unoctitm.cxx                                                                 |    5 
 sfx2/source/dialog/mailmodel.cxx                                                                 |   20 +-
 sfx2/source/doc/docfac.cxx                                                                       |    9 -
 sfx2/source/doc/guisaveas.cxx                                                                    |    9 -
 sfx2/source/doc/iframe.cxx                                                                       |    4 
 sfx2/source/doc/objmisc.cxx                                                                      |    7 -
 sfx2/source/notify/eventsupplier.cxx                                                             |    8 -
 sfx2/source/statbar/stbitem.cxx                                                                  |    4 
 sfx2/source/toolbox/tbxitem.cxx                                                                  |   11 -
 sfx2/source/view/viewfrm.cxx                                                                     |    5 
 svl/source/fsstor/fsstorage.cxx                                                                  |   18 +-
 svl/source/misc/sharecontrolfile.cxx                                                             |    8 -
 svtools/source/contnr/templwin.cxx                                                               |    9 -
 svtools/source/misc/acceleratorexecute.cxx                                                       |    5 
 svtools/source/uno/contextmenuhelper.cxx                                                         |   46 ++----
 svtools/source/uno/framestatuslistener.cxx                                                       |   19 --
 svtools/source/uno/generictoolboxcontroller.cxx                                                  |    6 
 svtools/source/uno/popupmenucontrollerbase.cxx                                                   |    4 
 svtools/source/uno/statusbarcontroller.cxx                                                       |    7 -
 svtools/source/uno/toolboxcontroller.cxx                                                         |   14 +-
 svx/source/dialog/docrecovery.cxx                                                                |    8 -
 svx/source/fmcomp/fmgridcl.cxx                                                                   |    7 -
 svx/source/fmcomp/fmgridif.cxx                                                                   |   12 -
 svx/source/form/fmtextcontrolshell.cxx                                                           |    4 
 svx/source/inc/docrecovery.hxx                                                                   |    1 
 svx/source/tbxctrls/layctrl.cxx                                                                  |    5 
 svx/source/tbxctrls/tbunosearchcontrollers.cxx                                                   |   26 +--
 sw/source/filter/ww8/ww8par.cxx                                                                  |    5 
 sw/source/ui/uiview/viewling.cxx                                                                 |    9 -
 sw/source/ui/utlui/uitool.cxx                                                                    |    3 
 sw/source/ui/vba/vbaaddins.cxx                                                                   |    5 
 unotools/source/config/moduleoptions.cxx                                                         |   12 -
 unotools/source/config/pathoptions.cxx                                                           |    3 
 unotools/source/i18n/textsearch.cxx                                                              |    7 -
 uui/source/newerverwarn.cxx                                                                      |    4 
 vbahelper/source/vbahelper/vbadocumentbase.cxx                                                   |    7 -
 vbahelper/source/vbahelper/vbahelper.cxx                                                         |    7 -
 vcl/source/gdi/pdfwriter_impl.cxx                                                                |   12 -
 writerfilter/unocomponent/debugservices/doctok/DocTokAnalyzeService.cxx                          |   16 --
 writerfilter/unocomponent/debugservices/doctok/DocTokTestService.cxx                             |    8 -
 writerfilter/unocomponent/debugservices/ooxml/OOXMLAnalyzeService.cxx                            |   18 --
 writerfilter/unocomponent/debugservices/ooxml/OOXMLTestService.cxx                               |    9 -
 writerfilter/unocomponent/debugservices/rtftok/ScannerTestService.cxx                            |    5 
 writerfilter/unocomponent/debugservices/rtftok/XMLScanner.cxx                                    |    8 -
 xmlhelp/source/cxxhelp/provider/databases.cxx                                                    |   10 -
 xmlhelp/source/cxxhelp/provider/databases.hxx                                                    |    6 
 xmlhelp/source/cxxhelp/provider/db.hxx                                                           |    6 
 xmlhelp/source/treeview/tvread.cxx                                                               |   17 --
 xmlhelp/source/treeview/tvread.hxx                                                               |    4 
 xmloff/source/core/DocumentSettingsContext.cxx                                                   |   18 +-
 xmloff/source/core/SettingsExportHelper.cxx                                                      |    7 -
 156 files changed, 718 insertions(+), 893 deletions(-)

New commits:
commit 0fcd1a73f0e1ec564f3c6da1ccd890183d3c18db
Author: Noel Grandin <noel at peralex.com>
Date:   Fri Jun 1 15:15:25 2012 +0200

    fdo#46808, Adapt UNO services to new style, Part 7, updating ::create
    
    Update code to use factory method URLTransformer::create
    
    Change-Id: I3fd2e838497bcfd8fc949615c0e7d60a6ea47118
    Signed-off-by: Stephan Bergmann <sbergman at redhat.com>, added some tweaks.

diff --git a/UnoControls/Library_ctl.mk b/UnoControls/Library_ctl.mk
index 9e7fc16..1bedad8 100644
--- a/UnoControls/Library_ctl.mk
+++ b/UnoControls/Library_ctl.mk
@@ -39,6 +39,7 @@ $(eval $(call gb_Library_use_api,ctl,\
 ))
 
 $(eval $(call gb_Library_use_libraries,ctl,\
+    comphelper \
     cppu \
     cppuhelper \
     sal \
diff --git a/UnoControls/source/controls/framecontrol.cxx b/UnoControls/source/controls/framecontrol.cxx
index 0504a11..1f9838c 100644
--- a/UnoControls/source/controls/framecontrol.cxx
+++ b/UnoControls/source/controls/framecontrol.cxx
@@ -37,10 +37,12 @@
 //  includes of other projects
 //______________________________________________________________________________________________________________
 #include <com/sun/star/frame/XDispatchProvider.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
 #include <com/sun/star/frame/FrameSearchFlag.hpp>
 #include <com/sun/star/beans/PropertyAttribute.hpp>
+#include <comphelper/componentcontext.hxx>
 #include <cppuhelper/typeprovider.hxx>
 #include <osl/diagnose.h>
 
@@ -497,20 +499,19 @@ void FrameControl::impl_createFrame(    const   Reference< XWindowPeer >&   xPee
         //  option
         //xFrame->setName( "WhatYouWant" );
 
-        Reference< XURLTransformer >  xTrans ( impl_getMultiServiceFactory()->createInstance ( "com.sun.star.util.URLTransformer" ), UNO_QUERY ) ;
-        if(xTrans.is())
-        {
-            // load file
-            URL aURL ;
+        Reference< XURLTransformer >  xTrans (
+               URLTransformer::create(
+                   ::comphelper::ComponentContext( impl_getMultiServiceFactory() ).getUNOContext() ) );
+        // load file
+        URL aURL ;
 
-            aURL.Complete = rURL ;
-            xTrans->parseStrict( aURL ) ;
+        aURL.Complete = rURL ;
+        xTrans->parseStrict( aURL ) ;
 
-            Reference< XDispatch >  xDisp = xDSP->queryDispatch ( aURL, OUString (), FrameSearchFlag::SELF ) ;
-            if (xDisp.is())
-            {
-                xDisp->dispatch ( aURL, rArguments ) ;
-            }
+        Reference< XDispatch >  xDisp = xDSP->queryDispatch ( aURL, OUString (), FrameSearchFlag::SELF ) ;
+        if (xDisp.is())
+        {
+            xDisp->dispatch ( aURL, rArguments ) ;
         }
     }
 
diff --git a/chart2/source/controller/main/CommandDispatch.cxx b/chart2/source/controller/main/CommandDispatch.cxx
index bf3d996..8940686 100644
--- a/chart2/source/controller/main/CommandDispatch.cxx
+++ b/chart2/source/controller/main/CommandDispatch.cxx
@@ -30,6 +30,7 @@
 #include "CommandDispatch.hxx"
 #include "CommonFunctors.hxx"
 #include "macros.hxx"
+#include <com/sun/star/util/URLTransformer.hpp>
 
 #include <algorithm>
 #include <functional>
@@ -155,14 +156,9 @@ void CommandDispatch::fireStatusEventForURL(
     aURL.Complete = rURL;
     if( !m_xURLTransformer.is())
     {
-        m_xURLTransformer.set(
-            m_xContext->getServiceManager()->createInstanceWithContext(
-                C2U( "com.sun.star.util.URLTransformer" ),
-                m_xContext ),
-            uno::UNO_QUERY );
+        m_xURLTransformer.set( util::URLTransformer::create(m_xContext) );
     }
-    if( m_xURLTransformer.is())
-        m_xURLTransformer->parseStrict( aURL );
+    m_xURLTransformer->parseStrict( aURL );
 
     frame::FeatureStateEvent aEventToSend(
         static_cast< cppu::OWeakObject* >( this ), // Source
diff --git a/cui/source/options/optupdt.cxx b/cui/source/options/optupdt.cxx
index 28d20f1..ebcfc74 100644
--- a/cui/source/options/optupdt.cxx
+++ b/cui/source/options/optupdt.cxx
@@ -34,6 +34,7 @@
 #include "optupdt.hrc"
 #include <dialmgr.hxx>
 #include <cuires.hrc>
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/processfactory.hxx>
 #include <com/sun/star/configuration/theDefaultProvider.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
@@ -42,6 +43,7 @@
 #include <com/sun/star/frame/XDesktop.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 #include <com/sun/star/util/XChangesBatch.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <osl/file.hxx>
 #include <osl/security.hxx>
@@ -362,8 +364,7 @@ IMPL_LINK_NOARG(SvxOnlineUpdateTabPage, CheckNowHdl_Impl)
         xNameAccess->getByName(UNISTRING("URL")) >>= aURL.Complete;
 
         uno::Reference < util::XURLTransformer > xTransformer(
-            xFactory->createInstance(  UNISTRING( "com.sun.star.util.URLTransformer" ) ),
-            uno::UNO_QUERY_THROW );
+            util::URLTransformer::create( comphelper::getProcessComponentContext() ) );
 
         xTransformer->parseStrict(aURL);
 
diff --git a/dbaccess/source/core/dataaccess/documenteventexecutor.cxx b/dbaccess/source/core/dataaccess/documenteventexecutor.cxx
index df1a60f..413bc6e 100644
--- a/dbaccess/source/core/dataaccess/documenteventexecutor.cxx
+++ b/dbaccess/source/core/dataaccess/documenteventexecutor.cxx
@@ -30,6 +30,7 @@
 
 /** === begin UNO includes === **/
 #include <com/sun/star/document/XDocumentEventBroadcaster.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XModel.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
@@ -62,6 +63,7 @@ namespace dbaccess
     using ::com::sun::star::document::XEventsSupplier;
     using ::com::sun::star::container::XNameAccess;
     using ::com::sun::star::frame::XModel;
+    using ::com::sun::star::util::URLTransformer;
     using ::com::sun::star::util::XURLTransformer;
     using ::com::sun::star::frame::XDispatchProvider;
     using ::com::sun::star::frame::XDispatch;
@@ -144,7 +146,7 @@ namespace dbaccess
 
         try
         {
-            _rContext.createComponent( "com.sun.star.util.URLTransformer", m_pData->xURLTransformer );
+            m_pData->xURLTransformer = URLTransformer::create(_rContext.getUNOContext());
         }
         catch( const Exception& )
         {
diff --git a/dbaccess/source/filter/xml/dbloader2.cxx b/dbaccess/source/filter/xml/dbloader2.cxx
index df140ed..8291bcb 100644
--- a/dbaccess/source/filter/xml/dbloader2.cxx
+++ b/dbaccess/source/filter/xml/dbloader2.cxx
@@ -53,6 +53,7 @@
 #include <com/sun/star/sdb/XDocumentDataSource.hpp>
 #include <com/sun/star/task/XJobExecutor.hpp>
 #include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/view/XSelectionSupplier.hpp>
 #include <com/sun/star/sdb/application/DatabaseObjectContainer.hpp>
@@ -340,14 +341,11 @@ namespace
         bool bDoesAllow = sal_False;
         try
         {
-            Reference< XURLTransformer > xTransformer;
-            if ( _rContext.createComponent( "com.sun.star.util.URLTransformer", xTransformer ) )
-            {
-                URL aURL;
-                aURL.Complete = _rURL;
-                xTransformer->parseStrict( aURL );
-                bDoesAllow = aURL.Arguments == "Interactive";
-            }
+            Reference< XURLTransformer > xTransformer( URLTransformer::create(_rContext.getUNOContext()) );
+            URL aURL;
+            aURL.Complete = _rURL;
+            xTransformer->parseStrict( aURL );
+            bDoesAllow = aURL.Arguments == "Interactive";
         }
         catch( const Exception& )
         {
diff --git a/dbaccess/source/ui/browser/genericcontroller.cxx b/dbaccess/source/ui/browser/genericcontroller.cxx
index 4283d7e..7652b58 100644
--- a/dbaccess/source/ui/browser/genericcontroller.cxx
+++ b/dbaccess/source/ui/browser/genericcontroller.cxx
@@ -37,6 +37,7 @@
 #include <osl/diagnose.h>
 #include "dbustrings.hrc"
 #include <vcl/stdtext.hxx>
+#include <comphelper/componentcontext.hxx>
 #include <cppuhelper/typeprovider.hxx>
 #include <framework/titlehelper.hxx>
 #include <comphelper/sequence.hxx>
@@ -46,6 +47,7 @@
 #include <com/sun/star/sdb/XCompletedConnection.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/task/XInteractionHandler.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XCloseable.hpp>
 #include "UITools.hxx"
 #include "commontypes.hxx"
@@ -206,7 +208,7 @@ OGenericUnoController::OGenericUnoController(const Reference< XMultiServiceFacto
 
     try
     {
-        m_xUrlTransformer = Reference< XURLTransformer > (_rM->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.util.URLTransformer"))), UNO_QUERY);
+        m_xUrlTransformer = URLTransformer::create(comphelper::ComponentContext(_rM).getUNOContext());
     }
     catch(Exception&)
     {
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 7f037c1..7374ea3 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -50,6 +50,7 @@
 #include <com/sun/star/frame/XComponentLoader.hpp>
 #include <com/sun/star/view/XPrintable.hpp>
 #include <com/sun/star/awt/XTopWindow.hpp>
+#include "com/sun/star/util/URLTransformer.hpp"
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/util/XCloseable.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
@@ -1186,20 +1187,18 @@ sal_Bool impl_callRecoveryUI(sal_Bool bEmergencySave     ,
                              sal_Bool bExistsRecoveryData)
 {
     static ::rtl::OUString SERVICENAME_RECOVERYUI("com.sun.star.comp.svx.RecoveryUI");
-    static ::rtl::OUString SERVICENAME_URLPARSER("com.sun.star.util.URLTransformer");
     static ::rtl::OUString COMMAND_EMERGENCYSAVE("vnd.sun.star.autorecovery:/doEmergencySave");
     static ::rtl::OUString COMMAND_RECOVERY("vnd.sun.star.autorecovery:/doAutoRecovery");
     static ::rtl::OUString COMMAND_CRASHREPORT("vnd.sun.star.autorecovery:/doCrashReport");
 
     css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR = ::comphelper::getProcessServiceFactory();
 
-    css::uno::Reference< css::frame::XSynchronousDispatch > xRecoveryUI(
+    Reference< css::frame::XSynchronousDispatch > xRecoveryUI(
         xSMGR->createInstance(SERVICENAME_RECOVERYUI),
         css::uno::UNO_QUERY_THROW);
 
-    css::uno::Reference< css::util::XURLTransformer > xURLParser(
-        xSMGR->createInstance(SERVICENAME_URLPARSER),
-        css::uno::UNO_QUERY_THROW);
+    Reference< css::util::XURLTransformer > xURLParser(
+        css::util::URLTransformer::create(::comphelper::getProcessComponentContext()) );
 
     css::util::URL aURL;
     if (bEmergencySave)
@@ -2459,9 +2458,7 @@ void Desktop::OpenClients()
                     ::comphelper::getProcessServiceFactory()->createInstance( OUString("com.sun.star.frame.AutoRecovery") ),
                     ::com::sun::star::uno::UNO_QUERY_THROW );
 
-            Reference< XURLTransformer > xParser(
-                    ::comphelper::getProcessServiceFactory()->createInstance( OUString("com.sun.star.util.URLTransformer") ),
-                    ::com::sun::star::uno::UNO_QUERY_THROW );
+            Reference< css::util::XURLTransformer > xParser( css::util::URLTransformer::create(::comphelper::getProcessComponentContext()) );
 
             css::util::URL aCmd;
             aCmd.Complete = ::rtl::OUString("vnd.sun.star.autorecovery:/disableRecovery");
@@ -2886,9 +2883,9 @@ void Desktop::HandleAppEvent( const ApplicationEvent& rAppEvent )
         // The user will try it again, in case nothing happens .-)
         try
         {
-            css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR = ::comphelper::getProcessServiceFactory();
+            Reference< css::lang::XMultiServiceFactory > xSMGR = ::comphelper::getProcessServiceFactory();
 
-            com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProvider >
+            Reference< css::frame::XDispatchProvider >
                 xDesktop( xSMGR->createInstance( OUString("com.sun.star.frame.Desktop") ),
                 ::com::sun::star::uno::UNO_QUERY );
 
@@ -2896,7 +2893,7 @@ void Desktop::HandleAppEvent( const ApplicationEvent& rAppEvent )
             if ( ! xDesktop.is())
                 return;
 
-            css::uno::Reference< css::util::XURLTransformer > xParser(xSMGR->createInstance(rtl::OUString("com.sun.star.util.URLTransformer")), css::uno::UNO_QUERY_THROW);
+            Reference< css::util::XURLTransformer > xParser( css::util::URLTransformer::create(::comphelper::getProcessComponentContext()) );
             css::util::URL aCommand;
             if( rAppEvent.GetData() == ::rtl::OUString("PREFERENCES") )
                 aCommand.Complete = rtl::OUString( ".uno:OptionsTreeDialog"  );
diff --git a/desktop/source/app/dispatchwatcher.cxx b/desktop/source/app/dispatchwatcher.cxx
index 7536a90..b2c817d 100644
--- a/desktop/source/app/dispatchwatcher.cxx
+++ b/desktop/source/app/dispatchwatcher.cxx
@@ -51,6 +51,7 @@
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/view/XPrintable.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/document/MacroExecMode.hpp>
 #include <com/sun/star/document/UpdateDocMode.hpp>
@@ -284,7 +285,7 @@ sal_Bool DispatchWatcher::executeDispatchRequests( const DispatchList& aDispatch
 
             Reference < XDispatch >         xDispatcher ;
             Reference < XDispatchProvider > xProvider   ( xDesktop, UNO_QUERY );
-            Reference < XURLTransformer >   xParser     ( ::comphelper::getProcessServiceFactory()->createInstance( OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.util.URLTransformer")) ), ::com::sun::star::uno::UNO_QUERY );
+            Reference < XURLTransformer >   xParser     ( URLTransformer::create(::comphelper::getProcessComponentContext()) );
 
             if( xParser.is() == sal_True )
                 xParser->parseStrict( aURL );
@@ -314,7 +315,7 @@ sal_Bool DispatchWatcher::executeDispatchRequests( const DispatchList& aDispatch
 
             Reference < XDispatch >         xDispatcher ;
             Reference < XDispatchProvider > xProvider   ( xDesktop, UNO_QUERY );
-            Reference < XURLTransformer >   xParser     ( ::comphelper::getProcessServiceFactory()->createInstance( OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.util.URLTransformer")) ), ::com::sun::star::uno::UNO_QUERY );
+            Reference < XURLTransformer >   xParser     ( URLTransformer::create(::comphelper::getProcessComponentContext()) );
 
             if( xParser.is() == sal_True )
                 xParser->parseStrict( aURL );
diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
index f7dbd04..6704da1 100644
--- a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
+++ b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
@@ -79,6 +79,7 @@
 #include "com/sun/star/uno/XInterface.hpp"
 #include "com/sun/star/util/URL.hpp"
 #include "com/sun/star/util/XChangesBatch.hpp"
+#include "com/sun/star/util/URLTransformer.hpp"
 #include "com/sun/star/util/XURLTransformer.hpp"
 #include "com/sun/star/xml/dom/XElement.hpp"
 #include "com/sun/star/xml/dom/XNode.hpp"
@@ -859,8 +860,7 @@ void UpdateDialog::createNotifyJob( bool bPrepareOnly,
         xNameAccess->getByName(OUSTR("URL")) >>= aURL.Complete;
 
         uno::Reference< lang::XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory() );
-        uno::Reference < util::XURLTransformer > xTransformer( xFactory->createInstance( OUSTR( "com.sun.star.util.URLTransformer" ) ),
-            uno::UNO_QUERY_THROW );
+        uno::Reference < util::XURLTransformer > xTransformer( util::URLTransformer::create(::comphelper::getProcessComponentContext()) );
 
         xTransformer->parseStrict(aURL);
 
diff --git a/embedserv/source/embed/ed_ipersiststr.cxx b/embedserv/source/embed/ed_ipersiststr.cxx
index 8eadce0..7215375 100644
--- a/embedserv/source/embed/ed_ipersiststr.cxx
+++ b/embedserv/source/embed/ed_ipersiststr.cxx
@@ -42,9 +42,10 @@
 #include <com/sun/star/util/XModifiable.hpp>
 #include <com/sun/star/frame/XStorable.hpp>
 #include <com/sun/star/frame/XComponentLoader.hpp>
-#include <com/sun/star/util/XUrlTransformer.hpp>
-
+#include <com/sun/star/util/URLTransformer.hpp>
+#include <com/sun/star/util/XURLTransformer.hpp>
 
+#include <comphelper/componentcontext.hxx>
 #include <osl/mutex.hxx>
 #include <osl/diagnose.h>
 
@@ -228,18 +229,13 @@ uno::Sequence< beans::PropertyValue > EmbedDocument_Impl::fillArgsForLoading_Imp
         rtl::OUString sDocUrl;
         if ( pFilePath )
         {
-            ::rtl::OUString aServiceName( RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.util.URLTransformer" ) );
-            uno::Reference< util::XURLTransformer > aTransformer( m_xFactory->createInstance( aServiceName ),
-                                                                    uno::UNO_QUERY );
-            if ( aTransformer.is() )
-            {
-                util::URL aURL;
+            uno::Reference< util::XURLTransformer > aTransformer( util::URLTransformer::create(comphelper::ComponentContext(m_xFactory).getUNOContext()) );
+            util::URL aURL;
 
-                aURL.Complete = ::rtl::OUString( reinterpret_cast<const sal_Unicode*>(pFilePath) );
+            aURL.Complete = ::rtl::OUString( reinterpret_cast<const sal_Unicode*>(pFilePath) );
 
-                if ( aTransformer->parseSmart( aURL, ::rtl::OUString() ) )
-                    sDocUrl = aURL.Complete;
-            }
+            if ( aTransformer->parseSmart( aURL, ::rtl::OUString() ) )
+                sDocUrl = aURL.Complete;
         }
 
         aArgs[nInd++].Value <<= sDocUrl;
@@ -894,9 +890,7 @@ STDMETHODIMP EmbedDocument_Impl::Save( LPCOLESTR pszFileName, BOOL fRemember )
             util::URL aURL;
             aURL.Complete = ::rtl::OUString( reinterpret_cast<const sal_Unicode*>( pszFileName ) );
 
-            ::rtl::OUString aServiceName( RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.util.URLTransformer" ) );
-            uno::Reference< util::XURLTransformer > aTransformer( m_xFactory->createInstance( aServiceName ),
-                                                                  uno::UNO_QUERY_THROW );
+            uno::Reference< util::XURLTransformer > aTransformer( util::URLTransformer::create(comphelper::ComponentContext(m_xFactory).getUNOContext()) );
 
             if ( aTransformer->parseSmart( aURL, ::rtl::OUString() ) && aURL.Complete.getLength() )
             {
diff --git a/extensions/source/bibliography/toolbar.cxx b/extensions/source/bibliography/toolbar.cxx
index b160739..152a41b 100644
--- a/extensions/source/bibliography/toolbar.cxx
+++ b/extensions/source/bibliography/toolbar.cxx
@@ -29,6 +29,7 @@
 #include <comphelper/processfactory.hxx>
 #include <com/sun/star/frame/XDispatch.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/FrameSearchFlag.hpp>
 #include <datman.hxx>
@@ -261,10 +262,8 @@ void BibToolBar::InitListener()
 {
     sal_uInt16  nCount=GetItemCount();
 
-    uno::Reference< lang::XMultiServiceFactory >  xMgr = comphelper::getProcessServiceFactory();
     uno::Reference< frame::XDispatch >  xDisp(xController,UNO_QUERY);
-
-    uno::Reference< util::XURLTransformer >  xTrans ( xMgr->createInstance( C2U("com.sun.star.util.URLTransformer") ), UNO_QUERY );
+    uno::Reference< util::XURLTransformer > xTrans( util::URLTransformer::create(comphelper::getProcessComponentContext()) );
     if( xTrans.is() )
     {
         util::URL aQueryURL;
@@ -345,9 +344,7 @@ void BibToolBar::SendDispatch(sal_uInt16 nId, const Sequence< PropertyValue >& r
 
     if( xDSP.is() && !aCommand.isEmpty())
     {
-        uno::Reference< lang::XMultiServiceFactory >  xMgr = comphelper::getProcessServiceFactory();
-
-        uno::Reference< util::XURLTransformer >  xTrans ( xMgr->createInstance( C2U("com.sun.star.util.URLTransformer") ), UNO_QUERY );
+        uno::Reference< util::XURLTransformer >  xTrans( util::URLTransformer::create(comphelper::getProcessComponentContext()) );
         if( xTrans.is() )
         {
             // Datei laden
diff --git a/extensions/source/propctrlr/genericpropertyhandler.cxx b/extensions/source/propctrlr/genericpropertyhandler.cxx
index f593fa0..5389c9b 100644
--- a/extensions/source/propctrlr/genericpropertyhandler.cxx
+++ b/extensions/source/propctrlr/genericpropertyhandler.cxx
@@ -37,6 +37,7 @@
 #include <com/sun/star/inspection/PropertyControlType.hpp>
 #include <com/sun/star/inspection/XHyperlinkControl.hpp>
 #include <com/sun/star/awt/XActionListener.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 /** === end UNO includes === **/
@@ -290,7 +291,7 @@ namespace pcr
     //--------------------------------------------------------------------
     void UrlClickHandler::impl_dispatch_throw( const ::rtl::OUString& _rURL )
     {
-        Reference< XURLTransformer > xTransformer( m_aContext.createComponent( "com.sun.star.util.URLTransformer" ), UNO_QUERY_THROW );
+        Reference< XURLTransformer > xTransformer( URLTransformer::create(m_aContext.getUNOContext()) );
         URL aURL; aURL.Complete = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:OpenHyperlink" ) );
         xTransformer->parseStrict( aURL );
 
diff --git a/extensions/source/propctrlr/unourl.cxx b/extensions/source/propctrlr/unourl.cxx
index 946091e..b0c02f7 100644
--- a/extensions/source/propctrlr/unourl.cxx
+++ b/extensions/source/propctrlr/unourl.cxx
@@ -27,7 +27,9 @@
  ************************************************************************/
 
 #include "unourl.hxx"
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
+#include <comphelper/componentcontext.hxx>
 
 //........................................................................
 namespace pcr
@@ -51,7 +53,7 @@ namespace pcr
         {
             if ( _rxORB.is() )
             {
-                xTransform = xTransform.query( _rxORB->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.URLTransformer" ) ) ) );
+                xTransform.set( URLTransformer::create(comphelper::ComponentContext(_rxORB).getUNOContext()) );
                 OSL_ENSURE( xTransform.is(), "UnoURL::UnoURL: could not create an URL transformer!" );
                 if ( xTransform.is() )
                     xTransform->parseStrict( m_aURL );
diff --git a/filter/source/config/cache/constant.hxx b/filter/source/config/cache/constant.hxx
index a6e28b5..5fda7bb 100644
--- a/filter/source/config/cache/constant.hxx
+++ b/filter/source/config/cache/constant.hxx
@@ -179,7 +179,6 @@
  */
 #define  SERVICE_CONFIGURATIONUPDATEACCESS  _FILTER_CONFIG_FROM_ASCII_("com.sun.star.configuration.ConfigurationUpdateAccess" )
 #define  SERVICE_CONFIGURATIONACCESS        _FILTER_CONFIG_FROM_ASCII_("com.sun.star.configuration.ConfigurationAccess"       )
-#define  SERVICE_URLTRANSFORMER             _FILTER_CONFIG_FROM_ASCII_("com.sun.star.util.URLTransformer"                     )
 #define  SERVICE_FILTERCONFIGREFRESH        _FILTER_CONFIG_FROM_ASCII_("com.sun.star.document.FilterConfigRefresh"            )
 
 /** @short  some configuration paths.
diff --git a/filter/source/config/cache/typedetection.cxx b/filter/source/config/cache/typedetection.cxx
index 49e5e24..8e3747c 100644
--- a/filter/source/config/cache/typedetection.cxx
+++ b/filter/source/config/cache/typedetection.cxx
@@ -32,6 +32,7 @@
 //_______________________________________________
 // includes
 #include <com/sun/star/document/XExtendedFilterDetection.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 
 #include <com/sun/star/io/XInputStream.hpp>
@@ -42,6 +43,7 @@
 #include <framework/interaction.hxx>
 #include <tools/urlobj.hxx>
 #include <unotools/localfilehelper.hxx>
+#include <comphelper/componentcontext.hxx>
 
 //_______________________________________________
 // namespace
@@ -77,7 +79,7 @@ TypeDetection::~TypeDetection()
 
     css::util::URL  aURL;
     aURL.Complete = sURL;
-    css::uno::Reference< css::util::XURLTransformer > xParser(m_xSMGR->createInstance(SERVICE_URLTRANSFORMER), css::uno::UNO_QUERY);
+    css::uno::Reference< css::util::XURLTransformer > xParser(css::util::URLTransformer::create(comphelper::ComponentContext(m_xSMGR).getUNOContext()));
     xParser->parseStrict(aURL);
 
     // set std types as minimum requirement first!
@@ -261,7 +263,7 @@ struct EqualByName : public std::binary_function<FlatDetectionInfo, FlatDetectio
 
     css::util::URL  aURL;
     aURL.Complete = sURL;
-    css::uno::Reference< css::util::XURLTransformer > xParser(m_xSMGR->createInstance(SERVICE_URLTRANSFORMER), css::uno::UNO_QUERY);
+    css::uno::Reference< css::util::XURLTransformer > xParser(css::util::URLTransformer::create(comphelper::ComponentContext(m_xSMGR).getUNOContext()));
     xParser->parseStrict(aURL);
 
     rtl::OUString aSelectedFilter = stlDescriptor.getUnpackedValueOrDefault(
diff --git a/forms/source/component/DatabaseForm.cxx b/forms/source/component/DatabaseForm.cxx
index 58d5f40..d3dd338 100644
--- a/forms/source/component/DatabaseForm.cxx
+++ b/forms/source/component/DatabaseForm.cxx
@@ -60,9 +60,11 @@
 #include <com/sun/star/sdbcx/Privilege.hpp>
 #include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
 #include <com/sun/star/util/XCancellable.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/util/XModifiable2.hpp>
 
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/basicio.hxx>
 #include <comphelper/container.hxx>
 #include <comphelper/enumhelper.hxx>
@@ -2239,10 +2241,7 @@ void ODatabaseForm::submit_impl(const Reference<XControl>& Control, const ::com:
     if (!xFrame.is())
         return;
 
-    Reference<XURLTransformer>
-        xTransformer(m_xServiceFactory->createInstance(
-            ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.util.URLTransformer") ) ), UNO_QUERY);
-    DBG_ASSERT(xTransformer.is(), "ODatabaseForm::submit_impl : could not create an URL transformer !");
+    Reference<XURLTransformer> xTransformer(URLTransformer::create(comphelper::ComponentContext(m_xServiceFactory).getUNOContext()));
 
     // URL encoding
     if( eSubmitEncoding == FormSubmitEncoding_URL )
diff --git a/forms/source/helper/urltransformer.cxx b/forms/source/helper/urltransformer.cxx
index 4fcfaea..f9d0537 100644
--- a/forms/source/helper/urltransformer.cxx
+++ b/forms/source/helper/urltransformer.cxx
@@ -29,8 +29,10 @@
 #include "urltransformer.hxx"
 
 /** === begin UNO includes === **/
+#include <com/sun/star/util/URLTransformer.hpp>
 /** === end UNO includes === **/
 #include <tools/debug.hxx>
+#include <comphelper/componentcontext.hxx>
 
 //........................................................................
 namespace frm
@@ -60,12 +62,7 @@ namespace frm
         {
             if ( m_xORB.is() )
             {
-                m_xTransformer = m_xTransformer.query(
-                    m_xORB->createInstance(
-                        ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.URLTransformer" ) )
-                    )
-                );
-                DBG_ASSERT( m_xTransformer.is(), "UrlTransformer::getStrictURL: couldn't get an URL transformer!" );
+                m_xTransformer.set(URLTransformer::create(comphelper::ComponentContext(m_xORB).getUNOContext()));
             }
 
             m_bTriedToCreateTransformer = true;
diff --git a/framework/inc/services.h b/framework/inc/services.h
index ef14a96..c6e71c8 100644
--- a/framework/inc/services.h
+++ b/framework/inc/services.h
@@ -50,7 +50,6 @@ namespace framework{
 #define SERVICENAME_TASK                                        DECLARE_ASCII("com.sun.star.frame.Task"                             )
 #define SERVICENAME_FRAMELOADERFACTORY                          DECLARE_ASCII("com.sun.star.frame.FrameLoaderFactory"               )
 #define SERVICENAME_FILTERFACTORY                               DECLARE_ASCII("com.sun.star.document.FilterFactory"                 )
-#define SERVICENAME_URLTRANSFORMER                              DECLARE_ASCII("com.sun.star.util.URLTransformer"                    )
 #define SERVICENAME_PLUGINFRAME                                 DECLARE_ASCII("com.sun.star.mozilla.Plugin"                         )
 #define SERVICENAME_BRIDGEFACTORY                               DECLARE_ASCII("com.sun.star.bridge.BridgeFactory"                   )
 #define SERVICENAME_MEDIATYPEDETECTIONHELPER                    DECLARE_ASCII("com.sun.star.frame.MediaTypeDetectionHelper"         )
diff --git a/framework/source/classes/droptargetlistener.cxx b/framework/source/classes/droptargetlistener.cxx
index c1a422f..897e170 100644
--- a/framework/source/classes/droptargetlistener.cxx
+++ b/framework/source/classes/droptargetlistener.cxx
@@ -43,6 +43,7 @@
 #include <com/sun/star/frame/XDispatch.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 
 //_________________________________________________________________________________________________________________
@@ -51,6 +52,7 @@
 #include <svtools/transfer.hxx>
 #include <unotools/localfilehelper.hxx>
 #include <sot/filelist.hxx>
+#include <comphelper/componentcontext.hxx>
 
 #include <osl/file.hxx>
 #include <vcl/svapp.hxx>
@@ -232,8 +234,8 @@ void DropTargetListener::implts_OpenFile( const String& rFilePath )
     // open file
     /* SAFE { */
     ReadGuard aReadLock(m_aLock);
-    css::uno::Reference< css::frame::XFrame >         xTargetFrame( m_xTargetFrame.get()                                  , css::uno::UNO_QUERY );
-    css::uno::Reference< css::util::XURLTransformer > xParser     ( m_xFactory->createInstance(SERVICENAME_URLTRANSFORMER), css::uno::UNO_QUERY );
+    css::uno::Reference< css::frame::XFrame >         xTargetFrame( m_xTargetFrame.get(), css::uno::UNO_QUERY );
+    css::uno::Reference< css::util::XURLTransformer > xParser     ( css::util::URLTransformer::create(::comphelper::ComponentContext(m_xFactory).getUNOContext()) );
     aReadLock.unlock();
     /* } SAFE */
     if (xTargetFrame.is() && xParser.is())
diff --git a/framework/source/classes/menumanager.cxx b/framework/source/classes/menumanager.cxx
index 8319bec..8797cd6 100644
--- a/framework/source/classes/menumanager.cxx
+++ b/framework/source/classes/menumanager.cxx
@@ -47,6 +47,7 @@
 //_________________________________________________________________________________________________________________
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
@@ -59,6 +60,7 @@
 //  includes of other projects
 //_________________________________________________________________________________________________________________
 #include <comphelper/processfactory.hxx>
+#include <comphelper/componentcontext.hxx>
 
 #include <comphelper/extract.hxx>
 #include <svtools/menuoptions.hxx>
@@ -302,7 +304,7 @@ void MenuManager::SetHdl()
     m_pVCLMenu->SetSelectHdl( LINK( this, MenuManager, Select ));
 
     if ( mxServiceFactory.is() )
-        m_xURLTransformer.set( mxServiceFactory->createInstance(SERVICENAME_URLTRANSFORMER),UNO_QUERY );
+        m_xURLTransformer.set( URLTransformer::create(::comphelper::ComponentContext(mxServiceFactory).getUNOContext()) );
 }
 
 MenuManager::~MenuManager()
diff --git a/framework/source/dispatch/windowcommanddispatch.cxx b/framework/source/dispatch/windowcommanddispatch.cxx
index 756a166..1a1637b 100644
--- a/framework/source/dispatch/windowcommanddispatch.cxx
+++ b/framework/source/dispatch/windowcommanddispatch.cxx
@@ -41,11 +41,13 @@
 
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 
 //_______________________________________________
 // includes of other projects
 
+#include <comphelper/componentcontext.hxx>
 #include <vcl/window.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/cmdevt.hxx>
@@ -185,7 +187,7 @@ void WindowCommandDispatch::impl_dispatchCommand(const ::rtl::OUString& sCommand
         if ( ! xProvider.is())
             return;
 
-        css::uno::Reference< css::util::XURLTransformer > xParser(xSMGR->createInstance(SERVICENAME_URLTRANSFORMER), css::uno::UNO_QUERY_THROW);
+        css::uno::Reference< css::util::XURLTransformer > xParser(css::util::URLTransformer::create(::comphelper::ComponentContext(xSMGR).getUNOContext()));
         css::util::URL aCommand;
         aCommand.Complete = sCommand;
         xParser->parseStrict(aCommand);
diff --git a/framework/source/layoutmanager/layoutmanager.cxx b/framework/source/layoutmanager/layoutmanager.cxx
index e44e231..d302ab0 100644
--- a/framework/source/layoutmanager/layoutmanager.cxx
+++ b/framework/source/layoutmanager/layoutmanager.cxx
@@ -66,8 +66,10 @@
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 #include <com/sun/star/frame/XDispatchHelper.hpp>
 #include <com/sun/star/lang/DisposedException.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 
 //      other includes
+#include <comphelper/componentcontext.hxx>
 #include <svtools/imgdef.hxx>
 #include <tools/diagnose_ex.h>
 #include <vcl/window.hxx>
@@ -119,7 +121,7 @@ LayoutManager::LayoutManager( const Reference< XMultiServiceFactory >& xServiceM
         , ::cppu::OBroadcastHelperVar< ::cppu::OMultiTypeInterfaceContainerHelper, ::cppu::OMultiTypeInterfaceContainerHelper::keyType >( m_aLock.getShareableOslMutex())
         , LayoutManager_PBase( *(static_cast< ::cppu::OBroadcastHelper* >(this)) )
         , m_xSMGR( xServiceManager )
-        , m_xURLTransformer( xServiceManager->createInstance( SERVICENAME_URLTRANSFORMER ), UNO_QUERY )
+        , m_xURLTransformer( URLTransformer::create(::comphelper::ComponentContext(xServiceManager).getUNOContext()) )
         , m_xDisplayAccess( xServiceManager->createInstance( SERVICENAME_DISPLAYACCESS ), UNO_QUERY )
         , m_nLockCount( 0 )
         , m_bActive( false )
diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx
index cc24ece..fc6e313 100644
--- a/framework/source/loadenv/loadenv.cxx
+++ b/framework/source/loadenv/loadenv.cxx
@@ -50,6 +50,7 @@
 #include <com/sun/star/uno/RuntimeException.hpp>
 #include <com/sun/star/frame/DispatchResultState.hpp>
 #include <com/sun/star/frame/FrameSearchFlag.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/ucb/XContentProviderManager.hpp>
 #include <com/sun/star/util/XCloseable.hpp>
@@ -88,6 +89,7 @@
 #include <svtools/sfxecode.hxx>
 #include <comphelper/processfactory.hxx>
 #include <unotools/ucbhelper.hxx>
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/configurationhelper.hxx>
 #include <rtl/ustrbuf.hxx>
 #include <vcl/svapp.hxx>
@@ -288,7 +290,7 @@ void LoadEnv::initializeLoading(const ::rtl::OUString&
 
     // parse it - because some following code require that
     m_aURL.Complete = sURL;
-    css::uno::Reference< css::util::XURLTransformer > xParser(m_xSMGR->createInstance(SERVICENAME_URLTRANSFORMER), css::uno::UNO_QUERY);
+    css::uno::Reference< css::util::XURLTransformer > xParser(css::util::URLTransformer::create(::comphelper::ComponentContext(m_xSMGR).getUNOContext()));
     xParser->parseStrict(m_aURL);
 
     // BTW: Split URL and JumpMark ...
@@ -1260,7 +1262,7 @@ void LoadEnv::impl_jumpToMark(const css::uno::Reference< css::frame::XFrame >& x
     css::util::URL aCmd;
     aCmd.Complete = ::rtl::OUString(".uno:JumpToMark");
 
-    css::uno::Reference< css::util::XURLTransformer > xParser(xSMGR->createInstance(SERVICENAME_URLTRANSFORMER), css::uno::UNO_QUERY_THROW);
+    css::uno::Reference< css::util::XURLTransformer > xParser(css::util::URLTransformer::create(::comphelper::ComponentContext(m_xSMGR).getUNOContext()));
     xParser->parseStrict(aCmd);
 
     css::uno::Reference< css::frame::XDispatch > xDispatcher = xProvider->queryDispatch(aCmd, SPECIALTARGET_SELF, 0);
diff --git a/framework/source/lomenubar/FrameHelper.cxx b/framework/source/lomenubar/FrameHelper.cxx
index 7de7588..8f0e622 100644
--- a/framework/source/lomenubar/FrameHelper.cxx
+++ b/framework/source/lomenubar/FrameHelper.cxx
@@ -56,6 +56,7 @@
 #include <com/sun/star/lang/SystemDependent.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/util/URL.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/ui/XUIElement.hpp>
 #include <com/sun/star/ui/XUIConfigurationManager.hpp>
@@ -260,7 +261,7 @@ FrameHelper::FrameHelper(const Reference< XMultiServiceFactory >&  rServiceManag
     : m_xStatusListener(new MenuItemStatusListener(this))
     , m_pDispatchRegistry(new framework::lomenubar::DispatchRegistry(m_xStatusListener))
     , m_xMSF(rServiceManager)
-    , m_xTrans(m_xMSF->createInstance( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.util.URLTransformer" ))), UNO_QUERY)
+    , m_xTrans(util::URLTransformer::create(m_xMSF))
     , m_xMM(m_xMSF->createInstance(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.ModuleManager"))),UNO_QUERY)
     , m_xPCF(m_xMSF->createInstance(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.PopupMenuControllerFactory"))), UNO_QUERY)
     , m_xFrame(xFrame)
diff --git a/framework/source/services/autorecovery.cxx b/framework/source/services/autorecovery.cxx
index 690e4df..3249d03 100644
--- a/framework/source/services/autorecovery.cxx
+++ b/framework/source/services/autorecovery.cxx
@@ -61,6 +61,7 @@
 #include <com/sun/star/frame/XModel.hpp>
 #include <com/sun/star/frame/XStorable.hpp>
 #include <com/sun/star/util/XModifiable.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XDesktop.hpp>
 #include <com/sun/star/container/XHierarchicalNameAccess.hpp>
@@ -78,6 +79,7 @@
 
 //_______________________________________________
 // other includes
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/configurationhelper.hxx>
 #include <comphelper/mediadescriptor.hxx>
 #include <comphelper/namedvaluecollection.hxx>
@@ -2777,7 +2779,7 @@ void AutoRecovery::implts_generateNewTempURL(const ::rtl::OUString&
     ::rtl::OUStringBuffer sUniqueName;
     if (!rInfo.OrgURL.isEmpty())
     {
-        css::uno::Reference< css::util::XURLTransformer > xParser(xSMGR->createInstance(SERVICENAME_URLTRANSFORMER), css::uno::UNO_QUERY);
+        css::uno::Reference< css::util::XURLTransformer > xParser(css::util::URLTransformer::create(::comphelper::ComponentContext(m_xSMGR).getUNOContext()));
         css::util::URL aURL;
         aURL.Complete = rInfo.OrgURL;
         xParser->parseStrict(aURL);
diff --git a/framework/source/services/backingcomp.cxx b/framework/source/services/backingcomp.cxx
index a303284..af64d81 100644
--- a/framework/source/services/backingcomp.cxx
+++ b/framework/source/services/backingcomp.cxx
@@ -53,9 +53,11 @@
 #include <com/sun/star/awt/KeyEvent.hpp>
 #include <com/sun/star/awt/KeyModifier.hpp>
 #include <com/sun/star/frame/XLayoutManager.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 
 //_______________________________________________
 // other includes
+#include <comphelper/componentcontext.hxx>
 #include <cppuhelper/typeprovider.hxx>
 #include <cppuhelper/factory.hxx>
 #include <toolkit/helper/vclunohelper.hxx>
@@ -681,7 +683,7 @@ void SAL_CALL BackingComp::dispose()
     // kill the menu
     css::util::URL aURL;
     aURL.Complete = DECLARE_ASCII(".uno:close");
-    css::uno::Reference< css::util::XURLTransformer > xParser(m_xSMGR->createInstance(SERVICENAME_URLTRANSFORMER), css::uno::UNO_QUERY);
+    css::uno::Reference< css::util::XURLTransformer > xParser(css::util::URLTransformer::create(::comphelper::ComponentContext(m_xSMGR).getUNOContext()));
     if (xParser.is())
         xParser->parseStrict(aURL);
 
diff --git a/framework/source/services/backingwindow.cxx b/framework/source/services/backingwindow.cxx
index 1ffd433..1755b98 100644
--- a/framework/source/services/backingwindow.cxx
+++ b/framework/source/services/backingwindow.cxx
@@ -65,6 +65,7 @@
 #include "com/sun/star/system/SystemShellExecuteFlags.hpp"
 #include "com/sun/star/task/XJobExecutor.hpp"
 #include "com/sun/star/util/XStringWidth.hpp"
+#include <com/sun/star/util/URLTransformer.hpp>
 
 
 using namespace ::com::sun::star::beans;
@@ -1004,35 +1005,31 @@ void BackingWindow::dispatchURL( const rtl::OUString& i_rURL,
     aDispatchURL.Complete = i_rURL;
 
     Reference < com::sun::star::util::XURLTransformer > xURLTransformer(
-        comphelper::getProcessServiceFactory()->createInstance( rtl::OUString("com.sun.star.util.URLTransformer") ),
-        com::sun::star::uno::UNO_QUERY );
-    if ( xURLTransformer.is() )
+        com::sun::star::util::URLTransformer::create( comphelper::getProcessComponentContext() ) );
+    try
     {
-        try
-        {
-            // clean up the URL
-            xURLTransformer->parseStrict( aDispatchURL );
-            // get a Dispatch for the URL and target
-            Reference< XDispatch > xDispatch(
-                xProvider->queryDispatch( aDispatchURL, rTarget, 0 )
-                );
-            // dispatch the URL
-            if ( xDispatch.is() )
-            {
-                ImplDelayedDispatch* pDisp = new ImplDelayedDispatch( xDispatch, aDispatchURL, i_rArgs );
-                sal_uLong nEventId = 0;
-                if( ! Application::PostUserEvent( nEventId, Link( NULL, implDispatchDelayed ), pDisp ) )
-                    delete pDisp; // event could not be posted for unknown reason, at least don't leak
-            }
-        }
-        catch (const com::sun::star::uno::RuntimeException&)
-        {
-            throw;
-        }
-        catch (const com::sun::star::uno::Exception&)
+        // clean up the URL
+        xURLTransformer->parseStrict( aDispatchURL );
+        // get a Dispatch for the URL and target
+        Reference< XDispatch > xDispatch(
+            xProvider->queryDispatch( aDispatchURL, rTarget, 0 )
+            );
+        // dispatch the URL
+        if ( xDispatch.is() )
         {
+            ImplDelayedDispatch* pDisp = new ImplDelayedDispatch( xDispatch, aDispatchURL, i_rArgs );
+            sal_uLong nEventId = 0;
+            if( ! Application::PostUserEvent( nEventId, Link( NULL, implDispatchDelayed ), pDisp ) )
+                delete pDisp; // event could not be posted for unknown reason, at least don't leak
         }
     }
+    catch (const com::sun::star::uno::RuntimeException&)
+    {
+        throw;
+    }
+    catch (const com::sun::star::uno::Exception&)
+    {
+    }
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/source/services/dispatchhelper.cxx b/framework/source/services/dispatchhelper.cxx
index a64f8b8..3a46189 100644
--- a/framework/source/services/dispatchhelper.cxx
+++ b/framework/source/services/dispatchhelper.cxx
@@ -36,11 +36,13 @@
 
 //_______________________________________________
 // interface includes
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XNotifyingDispatch.hpp>
 
 //_______________________________________________
 // includes of other projects
+#include <comphelper/componentcontext.hxx>
 
 //_______________________________________________
 // namespace
@@ -130,7 +132,7 @@ css::uno::Any SAL_CALL DispatchHelper::executeDispatch(
     // parse given URL
     /* SAFE { */
     ReadGuard aReadLock(m_aLock);
-    css::uno::Reference< css::util::XURLTransformer > xParser(m_xSMGR->createInstance(SERVICENAME_URLTRANSFORMER), css::uno::UNO_QUERY);
+    css::uno::Reference< css::util::XURLTransformer > xParser(css::util::URLTransformer::create(::comphelper::ComponentContext(m_xSMGR).getUNOContext()) );
     aReadLock.unlock();
     /* } SAFE */
 
diff --git a/framework/source/services/frame.cxx b/framework/source/services/frame.cxx
index 6000e55..078361e 100644
--- a/framework/source/services/frame.cxx
+++ b/framework/source/services/frame.cxx
@@ -51,6 +51,7 @@
 #include <com/sun/star/lang/DisposedException.hpp>
 #include <com/sun/star/task/JobExecutor.hpp>
 #include <com/sun/star/task/XJobExecutor.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/util/XCloseable.hpp>
 #include <com/sun/star/awt/XDevice.hpp>
@@ -86,6 +87,7 @@
 
 #include <toolkit/unohlp.hxx>
 #include <toolkit/awt/vclxwindow.hxx>
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/processfactory.hxx>
 #include <unotools/moduleoptions.hxx>
 
@@ -2338,7 +2340,7 @@ void SAL_CALL Frame::windowClosing( const css::lang::EventObject& ) throw( css::
 
     css::util::URL aURL;
     aURL.Complete = DECLARE_ASCII(".uno:CloseFrame");
-    css::uno::Reference< css::util::XURLTransformer > xParser(xFactory->createInstance(SERVICENAME_URLTRANSFORMER), css::uno::UNO_QUERY_THROW);
+    css::uno::Reference< css::util::XURLTransformer > xParser(css::util::URLTransformer::create(::comphelper::ComponentContext(xFactory).getUNOContext()));
     xParser->parseStrict(aURL);
 
     css::uno::Reference< css::frame::XDispatch > xCloser = queryDispatch(aURL, SPECIALTARGET_SELF, 0);
diff --git a/framework/source/services/sessionlistener.cxx b/framework/source/services/sessionlistener.cxx
index 1f52d37..3c7fdfc 100644
--- a/framework/source/services/sessionlistener.cxx
+++ b/framework/source/services/sessionlistener.cxx
@@ -56,9 +56,11 @@
 #include <com/sun/star/frame/XDesktop.hpp>
 #include <com/sun/star/util/XModifiable.hpp>
 #include <com/sun/star/util/XChangesBatch.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/util/URL.hpp>
 #include <osl/time.h>
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/processfactory.hxx>
 #include <unotools/pathoptions.hxx>
 #include <unotools/internaloptions.hxx>
@@ -162,7 +164,7 @@ void SessionListener::StoreSession( sal_Bool bAsync )
         // in case of synchronous call the caller should do saveDone() call himself!
 
         css::uno::Reference< XDispatch > xDispatch(m_xSMGR->createInstance(SERVICENAME_AUTORECOVERY), UNO_QUERY_THROW);
-        css::uno::Reference< XURLTransformer > xURLTransformer(m_xSMGR->createInstance(SERVICENAME_URLTRANSFORMER), UNO_QUERY_THROW);
+        css::uno::Reference< XURLTransformer > xURLTransformer(URLTransformer::create(::comphelper::ComponentContext(m_xSMGR).getUNOContext()));
         URL aURL;
         aURL.Complete = OUString("vnd.sun.star.autorecovery:/doSessionSave");
         xURLTransformer->parseStrict(aURL);
@@ -195,7 +197,7 @@ void SessionListener::QuitSessionQuietly()
         // it is done synchronously to avoid conflict with normal quit process
 
         css::uno::Reference< XDispatch > xDispatch(m_xSMGR->createInstance(SERVICENAME_AUTORECOVERY), UNO_QUERY_THROW);
-        css::uno::Reference< XURLTransformer > xURLTransformer(m_xSMGR->createInstance(SERVICENAME_URLTRANSFORMER), UNO_QUERY_THROW);
+        css::uno::Reference< XURLTransformer > xURLTransformer(URLTransformer::create(::comphelper::ComponentContext(m_xSMGR).getUNOContext()));
         URL aURL;
         aURL.Complete = OUString("vnd.sun.star.autorecovery:/doSessionQuietQuit");
         xURLTransformer->parseStrict(aURL);
@@ -278,7 +280,7 @@ sal_Bool SAL_CALL SessionListener::doRestore()
 
         URL aURL;
         aURL.Complete = OUString("vnd.sun.star.autorecovery:/doSessionRestore");
-        css::uno::Reference< XURLTransformer > xURLTransformer(m_xSMGR->createInstance(SERVICENAME_URLTRANSFORMER), UNO_QUERY_THROW);
+        css::uno::Reference< XURLTransformer > xURLTransformer(URLTransformer::create(::comphelper::ComponentContext(m_xSMGR).getUNOContext()));
         xURLTransformer->parseStrict(aURL);
         Sequence< PropertyValue > args;
         xDispatch->addStatusListener(this, aURL);
diff --git a/framework/source/services/urltransformer.cxx b/framework/source/services/urltransformer.cxx
index 132143e..0d9676e 100644
--- a/framework/source/services/urltransformer.cxx
+++ b/framework/source/services/urltransformer.cxx
@@ -93,7 +93,7 @@ URLTransformer::~URLTransformer()
 
 DEFINE_XSERVICEINFO_MULTISERVICE    (   URLTransformer                      ,
                                         OWeakObject                         ,
-                                        SERVICENAME_URLTRANSFORMER          ,
+                                        DECLARE_ASCII("com.sun.star.util.URLTransformer"),
                                         IMPLEMENTATIONNAME_URLTRANSFORMER
                                     )
 
diff --git a/framework/source/uielement/buttontoolbarcontroller.cxx b/framework/source/uielement/buttontoolbarcontroller.cxx
index 7061386..172f872 100644
--- a/framework/source/uielement/buttontoolbarcontroller.cxx
+++ b/framework/source/uielement/buttontoolbarcontroller.cxx
@@ -38,6 +38,7 @@
 //_________________________________________________________________________________________________________________
 //  interface includes
 //_________________________________________________________________________________________________________________
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
@@ -52,6 +53,7 @@
 
 #include <rtl/uri.hxx>
 #include <osl/mutex.hxx>
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/processfactory.hxx>
 #include <unotools/ucbstreamhelper.hxx>
 #include <vcl/svapp.hxx>
@@ -244,9 +246,7 @@ throw (::com::sun::star::uno::RuntimeException)
         {
             if ( !m_xURLTransformer.is() )
             {
-                m_xURLTransformer = uno::Reference< util::XURLTransformer >(
-                    m_xServiceManager->createInstance( rtl::OUString( "com.sun.star.util.URLTransformer" )),
-                    uno::UNO_QUERY_THROW );
+                m_xURLTransformer = util::URLTransformer::create( ::comphelper::ComponentContext(m_xServiceManager).getUNOContext() );
             }
 
             xFrame          = m_xFrame;
diff --git a/framework/source/uielement/complextoolbarcontroller.cxx b/framework/source/uielement/complextoolbarcontroller.cxx
index c7badf6..0c4c786 100644
--- a/framework/source/uielement/complextoolbarcontroller.cxx
+++ b/framework/source/uielement/complextoolbarcontroller.cxx
@@ -38,6 +38,7 @@
 //_________________________________________________________________________________________________________________
 //  interface includes
 //_________________________________________________________________________________________________________________
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
@@ -50,6 +51,7 @@
 //_________________________________________________________________________________________________________________
 //  other includes
 //_________________________________________________________________________________________________________________
+#include <comphelper/componentcontext.hxx>
 #include <svtools/toolboxcontroller.hxx>
 #include <osl/mutex.hxx>
 #include <vcl/svapp.hxx>
@@ -80,9 +82,7 @@ ComplexToolbarController::ComplexToolbarController(
     ,   m_nID( nID )
     ,   m_bMadeInvisible( sal_False )
 {
-    m_xURLTransformer.set( m_xServiceManager->createInstance(
-                                                        rtl::OUString( "com.sun.star.util.URLTransformer" )),
-                                                      UNO_QUERY_THROW );
+    m_xURLTransformer.set( URLTransformer::create(::comphelper::ComponentContext(m_xServiceManager).getUNOContext()) );
 }
 
 // ------------------------------------------------------------------
diff --git a/framework/source/uielement/generictoolbarcontroller.cxx b/framework/source/uielement/generictoolbarcontroller.cxx
index 58f05bb..d5960e4 100644
--- a/framework/source/uielement/generictoolbarcontroller.cxx
+++ b/framework/source/uielement/generictoolbarcontroller.cxx
@@ -38,6 +38,7 @@
 //_________________________________________________________________________________________________________________
 //  interface includes
 //_________________________________________________________________________________________________________________
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
@@ -49,6 +50,7 @@
 //_________________________________________________________________________________________________________________
 //  other includes
 //_________________________________________________________________________________________________________________
+#include <comphelper/componentcontext.hxx>
 #include <svtools/toolboxcontroller.hxx>
 #include <osl/mutex.hxx>
 #include <vcl/svapp.hxx>
@@ -167,9 +169,7 @@ throw ( RuntimeException )
              m_xServiceManager.is() &&
              !m_aCommandURL.isEmpty() )
         {
-            xURLTransformer = Reference< XURLTransformer >( m_xServiceManager->createInstance(
-                                                                rtl::OUString( "com.sun.star.util.URLTransformer" )),
-                                                            UNO_QUERY );
+            xURLTransformer = URLTransformer::create(::comphelper::ComponentContext(m_xServiceManager).getUNOContext());
 
             aCommandURL = m_aCommandURL;
             URLToDispatchMap::iterator pIter = m_aListenerMap.find( m_aCommandURL );
@@ -364,7 +364,7 @@ MenuToolbarController::createPopupWindow() throw (::com::sun::star::uno::Runtime
     if ( !pMenu )
     {
         Reference< XDispatchProvider > xDispatch;
-        Reference< XURLTransformer > xURLTransformer( m_xServiceManager->createInstance( rtl::OUString( "com.sun.star.util.URLTransformer" )), UNO_QUERY );
+        Reference< XURLTransformer > xURLTransformer = URLTransformer::create(::comphelper::ComponentContext(m_xServiceManager).getUNOContext());
         pMenu = new Toolbarmenu();
         m_xMenuManager.set( new MenuBarManager( m_xServiceManager, m_xFrame, xURLTransformer, xDispatch, m_aModuleIdentifier, pMenu, sal_True, sal_True ) );
         if ( m_xMenuManager.is() )
diff --git a/framework/source/uielement/langselectionstatusbarcontroller.cxx b/framework/source/uielement/langselectionstatusbarcontroller.cxx
index ed39425..26fef12 100644
--- a/framework/source/uielement/langselectionstatusbarcontroller.cxx
+++ b/framework/source/uielement/langselectionstatusbarcontroller.cxx
@@ -57,6 +57,7 @@
 #include <com/sun/star/frame/XFrame.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <comphelper/processfactory.hxx>
 #include <comphelper/componentcontext.hxx>
@@ -318,7 +319,7 @@ throw (::com::sun::star::uno::RuntimeException)
             aURL.Complete += OUString(RTL_CONSTASCII_USTRINGPARAM(".uno:FontDialogForParagraph"));
         }
 
-        uno::Reference< util::XURLTransformer > xURLTransformer( m_xServiceManager->createInstance( OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.util.URLTransformer"))), uno::UNO_QUERY );
+        uno::Reference< util::XURLTransformer > xURLTransformer( util::URLTransformer::create(::comphelper::ComponentContext(m_xServiceManager).getUNOContext()) );
         xURLTransformer->parseStrict( aURL );
         uno::Reference< XDispatch > xDispatch = xDispatchProvider->queryDispatch(aURL, OUString(), 0);
         if( xDispatch.is() )
diff --git a/framework/source/uielement/menubarmanager.cxx b/framework/source/uielement/menubarmanager.cxx
index 4c64446..e075f0b 100644
--- a/framework/source/uielement/menubarmanager.cxx
+++ b/framework/source/uielement/menubarmanager.cxx
@@ -69,10 +69,12 @@
 #include <com/sun/star/ui/XUIConfigurationManagerSupplier.hpp>
 #include <com/sun/star/ui/ItemStyle.hpp>
 #include <com/sun/star/frame/status/Visibility.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 
 //_________________________________________________________________________________________________________________
 //  includes of other projects
 //_________________________________________________________________________________________________________________
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/processfactory.hxx>
 #include <comphelper/extract.hxx>
 #include <svtools/menuoptions.hxx>
@@ -2098,9 +2100,9 @@ void MenuBarManager::SetHdl()
     m_pVCLMenu->SetSelectHdl( LINK( this, MenuBarManager, Select ));
 
     if ( !m_xURLTransformer.is() && mxServiceFactory.is() )
-        m_xURLTransformer.set( mxServiceFactory->createInstance(
-                                                                SERVICENAME_URLTRANSFORMER),
-                                                             UNO_QUERY );
+        m_xURLTransformer.set(
+             URLTransformer::create(
+                 ::comphelper::ComponentContext(mxServiceFactory).getUNOContext()) );
 }
 
 }
diff --git a/framework/source/uielement/menubarwrapper.cxx b/framework/source/uielement/menubarwrapper.cxx
index 45d5bf8..5c97bf1 100644
--- a/framework/source/uielement/menubarwrapper.cxx
+++ b/framework/source/uielement/menubarwrapper.cxx
@@ -46,10 +46,12 @@
 #include <com/sun/star/container/XNameAccess.hpp>
 #include <com/sun/star/ui/UIElementType.hpp>
 #include <com/sun/star/frame/XModuleManager.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 
 //_________________________________________________________________________________________________________________
 //  other includes
 //_________________________________________________________________________________________________________________
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/processfactory.hxx>
 #include <tools/solar.h>
 #include <vcl/svapp.hxx>
@@ -172,9 +174,7 @@ void SAL_CALL MenuBarWrapper::initialize( const Sequence< Any >& aArguments ) th
             Reference< XURLTransformer > xTrans;
             try
             {
-                xTrans.set( m_xServiceFactory->createInstance(
-                                                    rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(
-                                                    "com.sun.star.util.URLTransformer" ))), UNO_QUERY );
+                xTrans.set( URLTransformer::create(::comphelper::ComponentContext(m_xServiceFactory).getUNOContext()) );
                 m_xConfigData = m_xConfigSource->getSettings( m_aResourceURL, sal_False );
                 if ( m_xConfigData.is() )
                 {
diff --git a/framework/source/uielement/toolbarmanager.cxx b/framework/source/uielement/toolbarmanager.cxx
index 475c99a..ac73f32 100644
--- a/framework/source/uielement/toolbarmanager.cxx
+++ b/framework/source/uielement/toolbarmanager.cxx
@@ -67,6 +67,7 @@
 #include <comphelper/sequence.hxx>
 #include <com/sun/star/frame/status/Visibility.hpp>
 #include <com/sun/star/lang/DisposedException.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 
 //_________________________________________________________________________________________________________________
 //  other includes
@@ -75,6 +76,7 @@
 #include <svtools/toolboxcontroller.hxx>
 #include <unotools/cmdoptions.hxx>
 #include <toolkit/unohlp.hxx>
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/mediadescriptor.hxx>
 #include <svtools/miscopt.hxx>
 #include <svl/imageitm.hxx>
@@ -262,9 +264,9 @@ ToolBarManager::ToolBarManager( const Reference< XMultiServiceFactory >& rServic
                                                     m_xServiceManager->createInstance( SERVICENAME_TOOLBARCONTROLLERFACTORY ),
                                                 UNO_QUERY );
 
-        m_xURLTransformer.set( m_xServiceManager->createInstance(
-                                                                SERVICENAME_URLTRANSFORMER),
-                                                             UNO_QUERY );
+        m_xURLTransformer.set(
+             URLTransformer::create(
+                 ::comphelper::ComponentContext(m_xServiceManager).getUNOContext()) );
     }
 
     m_pToolBar->SetSelectHdl( LINK( this, ToolBarManager, Select) );
diff --git a/sd/source/ui/framework/configuration/ResourceFactoryManager.cxx b/sd/source/ui/framework/configuration/ResourceFactoryManager.cxx
index 4f77bf2..7d770ff 100644
--- a/sd/source/ui/framework/configuration/ResourceFactoryManager.cxx
+++ b/sd/source/ui/framework/configuration/ResourceFactoryManager.cxx
@@ -32,6 +32,7 @@
 #include <com/sun/star/lang/IllegalArgumentException.hpp>
 #include <com/sun/star/lang/XComponent.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <comphelper/processfactory.hxx>
 #include <boost/bind.hpp>
 #include <algorithm>
@@ -51,11 +52,8 @@ ResourceFactoryManager::ResourceFactoryManager (const Reference<XControllerManag
       mxURLTransformer()
 {
     // Create the URL transformer.
-    Reference<lang::XMultiServiceFactory> xServiceManager (
-        ::comphelper::getProcessServiceFactory());
-    mxURLTransformer = Reference<util::XURLTransformer>(
-        xServiceManager->createInstance("com.sun.star.util.URLTransformer"),
-        UNO_QUERY);
+    Reference<uno::XComponentContext> xContext(::comphelper::getProcessComponentContext());
+    mxURLTransformer = util::URLTransformer::create(xContext);
 }
 
 
diff --git a/sd/source/ui/framework/configuration/ResourceId.cxx b/sd/source/ui/framework/configuration/ResourceId.cxx
index aece40c..7816e77 100644
--- a/sd/source/ui/framework/configuration/ResourceId.cxx
+++ b/sd/source/ui/framework/configuration/ResourceId.cxx
@@ -32,6 +32,7 @@
 #include "tools/SdGlobalResourceContainer.hxx"
 #include <com/sun/star/lang/IllegalArgumentException.hpp>
 #include <com/sun/star/uno/XComponentContext.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <comphelper/processfactory.hxx>
 #include <rtl/ref.hxx>
 
@@ -597,11 +598,8 @@ void ResourceId::ParseResourceURL (void)
     if ( ! xURLTransformer.is())
     {
         // Create the URL transformer.
-        Reference<lang::XMultiServiceFactory> xServiceManager (
-            ::comphelper::getProcessServiceFactory());
-        xURLTransformer = Reference<util::XURLTransformer>(
-            xServiceManager->createInstance("com.sun.star.util.URLTransformer"),
-            UNO_QUERY);
+        Reference<uno::XComponentContext> xContext(::comphelper::getProcessComponentContext());
+        xURLTransformer = Reference<util::XURLTransformer>(util::URLTransformer::create(xContext));
         mxURLTransformerWeak = xURLTransformer;
         SdGlobalResourceContainer::Instance().AddResource(
             Reference<XInterface>(xURLTransformer,UNO_QUERY));
diff --git a/sd/source/ui/framework/module/ReadOnlyModeObserver.cxx b/sd/source/ui/framework/module/ReadOnlyModeObserver.cxx
index 1f5577c..423d503 100644
--- a/sd/source/ui/framework/module/ReadOnlyModeObserver.cxx
+++ b/sd/source/ui/framework/module/ReadOnlyModeObserver.cxx
@@ -31,6 +31,7 @@
 
 #include <com/sun/star/drawing/framework/XControllerManager.hpp>
 #include <com/sun/star/lang/DisposedException.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <comphelper/processfactory.hxx>
 #include <cppuhelper/interfacecontainer.hxx>
@@ -66,16 +67,8 @@ ReadOnlyModeObserver::ReadOnlyModeObserver (
 {
     // Create a URL object for the slot name.
     maSlotNameURL.Complete = ".uno:EditDoc";
-    uno::Reference<lang::XMultiServiceFactory> xServiceManager (
-        ::comphelper::getProcessServiceFactory());
-    if (xServiceManager.is())
-    {
-        Reference<util::XURLTransformer> xTransformer(xServiceManager->createInstance(
-            "com.sun.star.util.URLTransformer"),
-            UNO_QUERY);
-        if (xTransformer.is())
-            xTransformer->parseStrict(maSlotNameURL);
-    }
+    Reference<util::XURLTransformer> xTransformer(util::URLTransformer::create(::comphelper::getProcessComponentContext()));
+    xTransformer->parseStrict(maSlotNameURL);
 
     if ( ! ConnectToDispatch())
     {
diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx b/sd/source/ui/slideshow/slideshowimpl.cxx
index 16b9e42..7e366fd 100644
--- a/sd/source/ui/slideshow/slideshowimpl.cxx
+++ b/sd/source/ui/slideshow/slideshowimpl.cxx
@@ -39,6 +39,7 @@
 #include <com/sun/star/beans/XPropertySetInfo.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/awt/SystemPointer.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
 #include <com/sun/star/frame/XLayoutManager.hpp>
@@ -2847,10 +2848,9 @@ void SlideshowImpl::setAutoSaveState( bool bOn)
     try
     {
         uno::Reference<lang::XMultiServiceFactory> xFac( ::comphelper::getProcessServiceFactory() );
+        uno::Reference<uno::XComponentContext> xContext( ::comphelper::getProcessComponentContext() );
 
-        uno::Reference< util::XURLTransformer > xParser(
-            xFac->createInstance( "com.sun.star.util.URLTransformer" ),
-                uno::UNO_QUERY_THROW);
+        uno::Reference< util::XURLTransformer > xParser(util::URLTransformer::create(xContext));
         util::URL aURL;
         aURL.Complete = "vnd.sun.star.autorecovery:/setAutoSaveState";
         xParser->parseStrict(aURL);
diff --git a/sd/source/ui/tools/SlotStateListener.cxx b/sd/source/ui/tools/SlotStateListener.cxx
index 5675674..c9894ea 100644
--- a/sd/source/ui/tools/SlotStateListener.cxx
+++ b/sd/source/ui/tools/SlotStateListener.cxx
@@ -31,6 +31,7 @@
 #include <com/sun/star/frame/XStatusListener.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/beans/PropertyChangeEvent.hpp>
 
@@ -125,19 +126,10 @@ void SlotStateListener::disposing (void)
 util::URL SlotStateListener::MakeURL (const OUString& rSlotName) const
 {
     util::URL aURL;
-
     aURL.Complete = rSlotName;
 
-    uno::Reference<lang::XMultiServiceFactory> xServiceManager (
-        ::comphelper::getProcessServiceFactory());
-    if (xServiceManager.is())
-    {
-        uno::Reference<util::XURLTransformer> xTransformer(xServiceManager->createInstance(
-            "com.sun.star.util.URLTransformer"),
-            uno::UNO_QUERY);
-        if (xTransformer.is())
-            xTransformer->parseStrict(aURL);
-    }
+    uno::Reference<util::XURLTransformer> xTransformer(util::URLTransformer::create(::comphelper::getProcessComponentContext()));
+    xTransformer->parseStrict(aURL);
 
     return aURL;
 }
diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx
index 8afd16f..95b35ff 100644
--- a/sdext/source/minimizer/impoptimizer.cxx
+++ b/sdext/source/minimizer/impoptimizer.cxx
@@ -69,6 +69,8 @@
 #include <com/sun/star/io/XSeekable.hpp>
 #include <com/sun/star/frame/XComponentLoader.hpp>
 #include <com/sun/star/util/URL.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
+#include <comphelper/componentcontext.hxx>
 
 using namespace ::std;
 using namespace ::rtl;
@@ -586,12 +588,11 @@ sal_Bool ImpOptimizer::Optimize()
     return sal_True;
 }
 
-static void DispatchURL( Reference< XComponentContext > xMSF, OUString sURL, Reference< XFrame > xFrame )
+static void DispatchURL( Reference< XComponentContext > xContext, OUString sURL, Reference< XFrame > xFrame )
 {
     try
     {
-        Reference< XURLTransformer > xURLTransformer( xMSF->getServiceManager()->createInstanceWithContext(
-                OUString( "com.sun.star.util.URLTransformer"  ), xMSF ), UNO_QUERY_THROW );
+        Reference< XURLTransformer > xURLTransformer( URLTransformer::create(xContext) );
         util::URL aUrl;
         aUrl.Complete = sURL;
         xURLTransformer->parseStrict( aUrl );
diff --git a/sdext/source/minimizer/informationdialog.cxx b/sdext/source/minimizer/informationdialog.cxx
index c74599f..b09f1ab 100644
--- a/sdext/source/minimizer/informationdialog.cxx
+++ b/sdext/source/minimizer/informationdialog.cxx
@@ -36,6 +36,7 @@
 #include <rtl/ustrbuf.hxx>
 #include <sal/macros.h>
 #include "com/sun/star/util/URL.hpp"
+#include "com/sun/star/util/URLTransformer.hpp"
 #include "com/sun/star/util/XURLTransformer.hpp"
 
 #define DIALOG_WIDTH    240
@@ -300,21 +301,17 @@ void InformationDialog::InitDialog()
     rtl::OUString aTitle;
     if ( !maSaveAsURL.isEmpty() )
     {
-        Reference< XURLTransformer > xURLTransformer( mxMSF->getServiceManager()->createInstanceWithContext(
-                OUString( "com.sun.star.util.URLTransformer"  ), mxMSF ), UNO_QUERY );
-        if ( xURLTransformer.is() )
-        {
-            util::URL aURL, aPresentationURL;
-            aURL.Complete = maSaveAsURL;
-            xURLTransformer->parseSmart( aURL, rtl::OUString() );
+        Reference< XURLTransformer > xURLTransformer( URLTransformer::create(mxMSF) );
+        util::URL aURL, aPresentationURL;
+        aURL.Complete = maSaveAsURL;
+        xURLTransformer->parseSmart( aURL, rtl::OUString() );
 
-            const OUString sFileProtocol( "file:///"  );
-            aPresentationURL.Complete = sFileProtocol.concat( aURL.Name );
-            aTitle = xURLTransformer->getPresentation( aPresentationURL, sal_False );
+        const OUString sFileProtocol( "file:///" );
+        aPresentationURL.Complete = sFileProtocol.concat( aURL.Name );
+        aTitle = xURLTransformer->getPresentation( aPresentationURL, sal_False );
 
-            if ( aTitle.match( sFileProtocol, 0 ) )
-                aTitle = aTitle.replaceAt( 0, sFileProtocol.getLength(), rtl::OUString() );
-        }
+        if ( aTitle.match( sFileProtocol, 0 ) )
+            aTitle = aTitle.replaceAt( 0, sFileProtocol.getLength(), rtl::OUString() );
     }
 
     OUString aInfoString( getString( eInfoString ) );
diff --git a/sdext/source/presenter/PresenterController.cxx b/sdext/source/presenter/PresenterController.cxx
index 2b1c3e4..1418d5a 100644
--- a/sdext/source/presenter/PresenterController.cxx
+++ b/sdext/source/presenter/PresenterController.cxx
@@ -61,6 +61,7 @@
 #include <com/sun/star/presentation/XPresentationSupplier.hpp>
 #include <com/sun/star/rendering/CompositeOperation.hpp>
 #include <com/sun/star/rendering/TextDirection.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 
 #include <rtl/ustrbuf.hxx>
 
@@ -194,11 +195,7 @@ PresenterController::PresenterController (
     // Create a URLTransformer.
     if (xFactory.is())
     {
-        mxUrlTransformer = Reference<util::XURLTransformer>(
-            xFactory->createInstanceWithContext(
-                A2S("com.sun.star.util.URLTransformer"),
-                mxComponentContext),
-            UNO_QUERY);
+        mxUrlTransformer = Reference<util::XURLTransformer>(util::URLTransformer::create(mxComponentContext));
     }
 }
 
diff --git a/sfx2/source/appl/appopen.cxx b/sfx2/source/appl/appopen.cxx
index 3c619e7..31e9694 100644
--- a/sfx2/source/appl/appopen.cxx
+++ b/sfx2/source/appl/appopen.cxx
@@ -38,6 +38,7 @@
 #include <com/sun/star/frame/DispatchResultState.hpp>
 #include <com/sun/star/frame/XDispatchResultListener.hpp>
 #include <com/sun/star/util/URL.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/system/SystemShellExecuteException.hpp>
 #include <com/sun/star/document/XTypeDetection.hpp>
@@ -936,8 +937,7 @@ void SfxApplication::OpenDocExec_Impl( SfxRequest& rReq )
             ::rtl::OUString aTypeName;
 
             aURL.Complete = aFileName;
-            Reference < XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance(
-                                                    ::rtl::OUString("com.sun.star.util.URLTransformer")), UNO_QUERY );
+            Reference< util::XURLTransformer > xTrans( util::URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
             xTrans->parseStrict( aURL );
 
             INetProtocol aINetProtocol = INetURLObject( aURL.Complete ).GetProtocol();
@@ -1209,7 +1209,7 @@ void SfxApplication::OpenDocExec_Impl( SfxRequest& rReq )
         {
             URL aURL;
             aURL.Complete = aFileName;
-            Reference < XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance( rtl::OUString("com.sun.star.util.URLTransformer")), UNO_QUERY );
+            Reference< util::XURLTransformer > xTrans( util::URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
             xTrans->parseStrict( aURL );
 
             Reference < XDispatchProvider > xProv( xTargetFrame, UNO_QUERY );
diff --git a/sfx2/source/appl/newhelp.cxx b/sfx2/source/appl/newhelp.cxx
index bc7900f..1f4c69e 100644
--- a/sfx2/source/appl/newhelp.cxx
+++ b/sfx2/source/appl/newhelp.cxx
@@ -84,6 +84,7 @@
 #include <com/sun/star/util/URL.hpp>
 #include <com/sun/star/util/XSearchable.hpp>
 #include <com/sun/star/util/XSearchDescriptor.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/view/XSelectionSupplier.hpp>
 #include <com/sun/star/view/XViewSettingsSupplier.hpp>
@@ -170,8 +171,7 @@ using namespace ::comphelper;
 #define KEY_UI_NAME             DEFINE_CONST_OUSTRING("ooSetupFactoryUIName")
 
 #define PARSE_URL( aURL ) \
-    Reference < XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance( \
-            DEFINE_CONST_UNICODE("com.sun.star.util.URLTransformer" )), UNO_QUERY ); \
+    Reference< util::XURLTransformer > xTrans( util::URLTransformer::create( ::comphelper::getProcessComponentContext() ) ); \
     xTrans->parseStrict( aURL )
 
 //.........................................................................
diff --git a/sfx2/source/appl/sfxhelp.cxx b/sfx2/source/appl/sfxhelp.cxx
index cabfc39..5f62446 100644
--- a/sfx2/source/appl/sfxhelp.cxx
+++ b/sfx2/source/appl/sfxhelp.cxx
@@ -39,6 +39,7 @@
 #include <com/sun/star/awt/XTopWindow.hpp>
 #include <com/sun/star/awt/PosSize.hpp>
 #include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
@@ -839,8 +840,7 @@ void SfxHelp::OpenHelpAgent( const rtl::OString& sHelpId )
             {
                 URL aURL;
                 aURL.Complete = CreateHelpURL_Impl( rtl::OStringToOUString(sHelpId, RTL_TEXTENCODING_UTF8), GetHelpModuleName_Impl() );
-                Reference < XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance(
-                    ::rtl::OUString("com.sun.star.util.URLTransformer") ), UNO_QUERY );
+                Reference< XURLTransformer > xTrans( URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
                 xTrans->parseStrict(aURL);
 
                 Reference < XFrame > xCurrentFrame;
diff --git a/sfx2/source/appl/shutdownicon.cxx b/sfx2/source/appl/shutdownicon.cxx
index 391286d..d240f37 100644
--- a/sfx2/source/appl/shutdownicon.cxx
+++ b/sfx2/source/appl/shutdownicon.cxx
@@ -39,6 +39,7 @@
 #include <com/sun/star/frame/XFramesSupplier.hpp>
 #include <com/sun/star/frame/XComponentLoader.hpp>
 #include <com/sun/star/frame/XFrame.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/ui/dialogs/XFilePickerControlAccess.hpp>
 #include <com/sun/star/ui/dialogs/XFilterManager.hpp>
@@ -296,27 +297,22 @@ void ShutdownIcon::OpenURL( const ::rtl::OUString& aURL, const ::rtl::OUString&
             com::sun::star::util::URL aDispatchURL;
             aDispatchURL.Complete = aURL;
 
-            Reference < com::sun::star::util::XURLTransformer > xURLTransformer(
-                ::comphelper::getProcessServiceFactory()->createInstance( OUString("com.sun.star.util.URLTransformer") ),
-                com::sun::star::uno::UNO_QUERY );
-            if ( xURLTransformer.is() )
+            Reference< util::XURLTransformer > xURLTransformer( util::URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
+            try
             {
-                try
-                {
-                    Reference< com::sun::star::frame::XDispatch > xDispatch;
+                Reference< com::sun::star::frame::XDispatch > xDispatch;
 
-                    xURLTransformer->parseStrict( aDispatchURL );
-                    xDispatch = xDispatchProvider->queryDispatch( aDispatchURL, rTarget, 0 );
-                    if ( xDispatch.is() )
-                        xDispatch->dispatch( aDispatchURL, aArgs );
-                }
-                catch ( com::sun::star::uno::RuntimeException& )
-                {
-                    throw;
-                }
-                catch ( com::sun::star::uno::Exception& )
-                {
-                }
+                xURLTransformer->parseStrict( aDispatchURL );
+                xDispatch = xDispatchProvider->queryDispatch( aDispatchURL, rTarget, 0 );
+                if ( xDispatch.is() )
+                    xDispatch->dispatch( aDispatchURL, aArgs );
+            }
+            catch ( com::sun::star::uno::RuntimeException& )
+            {
+                throw;
+            }
+            catch ( com::sun::star::uno::Exception& )
+            {
             }
         }
     }
@@ -347,7 +343,7 @@ void ShutdownIcon::FromTemplate()
 
         URL aTargetURL;
         aTargetURL.Complete = OUString( "slot:5500"  );
-        Reference < XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance( rtl::OUString("com.sun.star.util.URLTransformer")), UNO_QUERY );
+        Reference< util::XURLTransformer > xTrans( util::URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
         xTrans->parseStrict( aTargetURL );
 
         Reference < ::com::sun::star::frame::XDispatchProvider > xProv( xFrame, UNO_QUERY );
diff --git a/sfx2/source/control/bindings.cxx b/sfx2/source/control/bindings.cxx
index e18b564..442065d 100644
--- a/sfx2/source/control/bindings.cxx
+++ b/sfx2/source/control/bindings.cxx
@@ -39,6 +39,7 @@
 #include <svl/intitem.hxx>
 #include <svl/stritem.hxx>
 #include <svl/visitem.hxx>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XDispatchProviderInterceptor.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
@@ -2189,7 +2190,7 @@ sal_Bool SfxBindings::ExecuteCommand_Impl( const String& rCommand )
 {
     ::com::sun::star::util::URL aURL;
     aURL.Complete = rCommand;
-    Reference < XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance( rtl::OUString("com.sun.star.util.URLTransformer")), UNO_QUERY );
+    Reference< util::XURLTransformer > xTrans( util::URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
     xTrans->parseStrict( aURL );
     ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch >  xDisp = pImp->xProv->queryDispatch( aURL, ::rtl::OUString(), 0 );
     if ( xDisp.is() )
diff --git a/sfx2/source/control/querystatus.cxx b/sfx2/source/control/querystatus.cxx
index 76f985b..4c40279 100644
--- a/sfx2/source/control/querystatus.cxx
+++ b/sfx2/source/control/querystatus.cxx
@@ -38,6 +38,7 @@
 #include <comphelper/processfactory.hxx>
 #include <osl/mutex.hxx>
 #include <vcl/svapp.hxx>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/status/ItemStatus.hpp>
 #include <com/sun/star/frame/status/ItemState.hpp>
@@ -95,8 +96,7 @@ SfxQueryStatus_Impl::SfxQueryStatus_Impl( const Reference< XDispatchProvider >&
     m_nSlotID( nSlotId )
 {
     m_aCommand.Complete = rCommand;
-    Reference < XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance(
-                                            rtl::OUString("com.sun.star.util.URLTransformer")), UNO_QUERY );
+    Reference< XURLTransformer > xTrans( URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
     xTrans->parseStrict( m_aCommand );
     if ( rDispatchProvider.is() )
         m_xDispatch = rDispatchProvider->queryDispatch( m_aCommand, rtl::OUString(), 0 );
diff --git a/sfx2/source/control/request.cxx b/sfx2/source/control/request.cxx
index 78f0a7d..296690b 100644
--- a/sfx2/source/control/request.cxx
+++ b/sfx2/source/control/request.cxx
@@ -33,6 +33,7 @@
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/uno/Sequence.hxx>
 #include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XDispatchRecorderSupplier.hpp>
 #include <svl/itemiter.hxx>
@@ -40,6 +41,7 @@
 #include <svl/itempool.hxx>
 #include <svtools/itemdel.hxx>
 
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/processfactory.hxx>
 
 #include <svl/smplhint.hxx>
@@ -373,9 +375,7 @@ void SfxRequest_Impl::Record
                 ::comphelper::getProcessServiceFactory(),
                 com::sun::star::uno::UNO_QUERY);
 
-        com::sun::star::uno::Reference< com::sun::star::util::XURLTransformer > xTransform(
-                xFactory->createInstance(rtl::OUString("com.sun.star.util.URLTransformer")),
-                com::sun::star::uno::UNO_QUERY);
+        uno::Reference< util::XURLTransformer > xTransform( util::URLTransformer::create( ::comphelper::ComponentContext(xFactory).getUNOContext() ) );
 
         com::sun::star::util::URL aURL;
         aURL.Complete = aCmd;
diff --git a/sfx2/source/control/sfxstatuslistener.cxx b/sfx2/source/control/sfxstatuslistener.cxx
index 8d4d2e5..9c580f4 100644
--- a/sfx2/source/control/sfxstatuslistener.cxx
+++ b/sfx2/source/control/sfxstatuslistener.cxx
@@ -38,6 +38,7 @@
 #include <comphelper/processfactory.hxx>
 #include <osl/mutex.hxx>
 #include <vcl/svapp.hxx>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/lang/XUnoTunnel.hpp>
 #include <com/sun/star/frame/status/ItemStatus.hpp>
@@ -66,8 +67,7 @@ SfxStatusListener::SfxStatusListener( const Reference< XDispatchProvider >& rDis
     m_xDispatchProvider( rDispatchProvider )
 {
     m_aCommand.Complete = rCommand;
-    Reference < XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance(
-                                            rtl::OUString("com.sun.star.util.URLTransformer")), UNO_QUERY );
+    Reference< XURLTransformer > xTrans( URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
     xTrans->parseStrict( m_aCommand );
     if ( rDispatchProvider.is() )
         m_xDispatch = rDispatchProvider->queryDispatch( m_aCommand, rtl::OUString(), 0 );
diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx
index aa537a6..a738a88 100644
--- a/sfx2/source/control/unoctitm.cxx
+++ b/sfx2/source/control/unoctitm.cxx
@@ -36,6 +36,7 @@
 #include <svtools/javacontext.hxx>
 #include <svl/itempool.hxx>
 #include <tools/urlobj.hxx>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XController.hpp>
 #include <com/sun/star/frame/XFrameActionListener.hpp>
@@ -108,7 +109,7 @@ SfxUnoControllerItem::SfxUnoControllerItem( SfxControllerItem *pItem, SfxBinding
     DBG_ASSERT( !pCtrlItem || !pCtrlItem->IsBound(), "ControllerItem is incorrect!" );
 
     aCommand.Complete = rCmd;
-    Reference < XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance( rtl::OUString("com.sun.star.util.URLTransformer")), UNO_QUERY );
+    Reference< XURLTransformer > xTrans( URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
     xTrans->parseStrict( aCommand );
     pBindings->RegisterUnoController_Impl( this );
 }
@@ -464,7 +465,7 @@ SfxDispatchController_Impl::SfxDispatchController_Impl(
         rtl::OStringBuffer aTmp(RTL_CONSTASCII_STRINGPARAM(".uno:"));
         aTmp.append(pUnoName);
         aDispatchURL.Complete = ::rtl::OStringToOUString(aTmp.makeStringAndClear(), RTL_TEXTENCODING_ASCII_US);
-        Reference < ::com::sun::star::util::XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance( rtl::OUString("com.sun.star.util.URLTransformer")), UNO_QUERY );
+        Reference< XURLTransformer > xTrans( URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
         xTrans->parseStrict( aDispatchURL );
     }
 
diff --git a/sfx2/source/dialog/mailmodel.cxx b/sfx2/source/dialog/mailmodel.cxx
index a6362bd..8e2c6d8 100644
--- a/sfx2/source/dialog/mailmodel.cxx
+++ b/sfx2/source/dialog/mailmodel.cxx
@@ -34,6 +34,7 @@
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/ucb/CommandAbortedException.hpp>
 #include <com/sun/star/uno/Reference.h>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/system/XSimpleMailClientSupplier.hpp>
 #include <com/sun/star/system/SimpleMailClientFlags.hpp>
@@ -72,6 +73,7 @@
 #include <tools/urlobj.hxx>
 #include <unotools/useroptions.hxx>
 #include <comphelper/extract.hxx>
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/mediadescriptor.hxx>
 #include <comphelper/processfactory.hxx>
 #include <comphelper/sequenceashashmap.hxx>
@@ -570,20 +572,15 @@ SfxMailModel::SaveResult SfxMailModel::SaveDocumentAsFormat(
             css::util::URL aPrepareURL;
             css::uno::Reference< css::frame::XDispatch > xPrepareDispatch;
             css::uno::Reference< css::frame::XDispatchProvider > xDispatchProvider( xFrame, css::uno::UNO_QUERY );
-            css::uno::Reference< css::util::XURLTransformer > xURLTransformer(
-                        xSMGR->createInstance( rtl::OUString( "com.sun.star.util.URLTransformer" )),
-                        css::uno::UNO_QUERY );
+            css::uno::Reference< css::util::XURLTransformer > xURLTransformer( css::util::URLTransformer::create( ::comphelper::ComponentContext(xSMGR).getUNOContext() ) );
             if( !bSendAsPDF )
             {
                 try
                 {
                     // check if the document needs to be prepared for sending as mail (embedding of links, removal of invisible content)
 
-                    if ( xURLTransformer.is() )
-                    {
-                        aPrepareURL.Complete = rtl::OUString( ".uno:PrepareMailExport" );
-                        xURLTransformer->parseStrict( aPrepareURL );
-                    }
+                    aPrepareURL.Complete = rtl::OUString( ".uno:PrepareMailExport" );
+                    xURLTransformer->parseStrict( aPrepareURL );
 
                     if ( xDispatchProvider.is() )
                     {
@@ -651,11 +648,8 @@ SfxMailModel::SaveResult SfxMailModel::SaveDocumentAsFormat(
                     {
                         css::util::URL aURL;
                         // #i30432# notify that export is finished - the Writer may want to restore removed content
-                        if ( xURLTransformer.is() )
-                        {
-                            aURL.Complete = rtl::OUString( ".uno:MailExportFinished" );
-                            xURLTransformer->parseStrict( aURL );
-                        }
+                        aURL.Complete = rtl::OUString( ".uno:MailExportFinished" );
+                        xURLTransformer->parseStrict( aURL );
 
                         if ( xDispatchProvider.is() )
                         {
diff --git a/sfx2/source/doc/guisaveas.cxx b/sfx2/source/doc/guisaveas.cxx
index 3231bde..a9fdd5b 100644
--- a/sfx2/source/doc/guisaveas.cxx
+++ b/sfx2/source/doc/guisaveas.cxx
@@ -42,6 +42,7 @@
 #include <com/sun/star/document/XDocumentInfo.hpp>
 #include <com/sun/star/task/XInteractionHandler.hpp>
 #include <com/sun/star/util/DateTime.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XStorable.hpp>
 #include <com/sun/star/frame/XStorable2.hpp>
@@ -68,6 +69,7 @@
 #include <svtools/miscopt.hxx>
 #include <tools/debug.hxx>
 #include <tools/urlobj.hxx>
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/processfactory.hxx>
 #include <comphelper/configurationhelper.hxx>
 #include <comphelper/mimeconfighelper.hxx>
@@ -1118,11 +1120,8 @@ sal_Bool ModelData_Impl::ShowDocumentInfoDialog()
                 util::URL aURL;
                 aURL.Complete = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(".uno:SetDocumentProperties"));
 
-                uno::Reference< util::XURLTransformer > xTransformer(
-                            m_pOwner->GetServiceFactory()->createInstance(
-                                            DEFINE_CONST_UNICODE("com.sun.star.util.URLTransformer") ),
-                            uno::UNO_QUERY );
-                if ( xTransformer.is() && xTransformer->parseStrict( aURL ) )
+                uno::Reference < util::XURLTransformer > xTransformer( util::URLTransformer::create( ::comphelper::ComponentContext(m_pOwner->GetServiceFactory()).getUNOContext() ) );
+                if ( xTransformer->parseStrict( aURL ) )
                 {
                     uno::Reference< frame::XDispatch > xDispatch = xFrameDispatch->queryDispatch(
                                                                                 aURL,
diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
index 9d60fb6..8e0a030 100644
--- a/sfx2/source/doc/iframe.cxx
+++ b/sfx2/source/doc/iframe.cxx
@@ -33,8 +33,10 @@
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
 #include <com/sun/star/frame/XFramesSupplier.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 
+#include <comphelper/componentcontext.hxx>
 #include <tools/urlobj.hxx>
 #include <tools/debug.hxx>
 #include <rtl/ustring.hxx>
@@ -154,7 +156,7 @@ throw( uno::RuntimeException )
 
         util::URL aTargetURL;
         aTargetURL.Complete = ::rtl::OUString( maFrmDescr.GetURL().GetMainURL( INetURLObject::NO_DECODE ) );
-        uno::Reference < util::XURLTransformer > xTrans( mxFact->createInstance( "com.sun.star.util.URLTransformer"), uno::UNO_QUERY );
+        uno::Reference < util::XURLTransformer > xTrans( util::URLTransformer::create( ::comphelper::ComponentContext(mxFact).getUNOContext() ) );
         xTrans->parseStrict( aTargetURL );
 
         uno::Sequence < beans::PropertyValue > aProps(2);
diff --git a/sfx2/source/notify/eventsupplier.cxx b/sfx2/source/notify/eventsupplier.cxx
index 039f03d..9f617eb 100644
--- a/sfx2/source/notify/eventsupplier.cxx
+++ b/sfx2/source/notify/eventsupplier.cxx
@@ -32,6 +32,7 @@
 
 #include <com/sun/star/util/URL.hpp>
 
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <tools/urlobj.hxx>
 #include <svl/macitem.hxx>
@@ -239,12 +240,7 @@ static void Execute( ANY& aEventData, const css::document::DocumentEvent& aTrigg
                     SfxViewFrame::GetFirst( pDoc ) :
                     SfxViewFrame::Current();
 
-                ::com::sun::star::uno::Reference
-                    < ::com::sun::star::util::XURLTransformer > xTrans(
-                        ::comphelper::getProcessServiceFactory()->createInstance(
-                            rtl::OUString(
-                                "com.sun.star.util.URLTransformer" ) ),
-                        UNO_QUERY );
+                ::com::sun::star::uno::Reference < ::com::sun::star::util::XURLTransformer > xTrans( ::com::sun::star::util::URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
 
                 ::com::sun::star::util::URL aURL;
                 aURL.Complete = aScript;
diff --git a/sfx2/source/statbar/stbitem.cxx b/sfx2/source/statbar/stbitem.cxx
index 7c7254f..9c993ea 100644
--- a/sfx2/source/statbar/stbitem.cxx
+++ b/sfx2/source/statbar/stbitem.cxx
@@ -28,6 +28,7 @@
 
 #include <svl/stritem.hxx>
 #include <com/sun/star/util/URL.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XController.hpp>
 #include <com/sun/star/lang/XUnoTunnel.hpp>
@@ -86,8 +87,7 @@ svt::StatusbarController* SAL_CALL SfxStatusBarControllerFactory(
 
     util::URL aTargetURL;
     aTargetURL.Complete = aCommandURL;
-    uno::Reference < util::XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance(
-        rtl::OUString("com.sun.star.util.URLTransformer")), uno::UNO_QUERY );
+    uno::Reference < util::XURLTransformer > xTrans( util::URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
     xTrans->parseStrict( aTargetURL );
 
     SfxObjectShell* pObjShell = NULL;
diff --git a/sfx2/source/toolbox/tbxitem.cxx b/sfx2/source/toolbox/tbxitem.cxx
index d220e71..1e458ed 100644
--- a/sfx2/source/toolbox/tbxitem.cxx
+++ b/sfx2/source/toolbox/tbxitem.cxx
@@ -36,6 +36,7 @@
 #include <com/sun/star/frame/XFrame.hpp>
 #include <com/sun/star/awt/XWindow.hpp>
 #include <com/sun/star/util/URL.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XController.hpp>
 #include <com/sun/star/lang/XUnoTunnel.hpp>
@@ -143,7 +144,7 @@ svt::ToolboxController* SAL_CALL SfxToolBoxControllerFactory( const Reference< X
 
     URL aTargetURL;
     aTargetURL.Complete = aCommandURL;
-    Reference < XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance( rtl::OUString("com.sun.star.util.URLTransformer")), UNO_QUERY );
+    Reference < XURLTransformer > xTrans( URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
     xTrans->parseStrict( aTargetURL );
     if ( !aTargetURL.Arguments.isEmpty() )
         return NULL;
@@ -437,9 +438,7 @@ void SfxToolBoxControl::Dispatch(
     {
         ::com::sun::star::util::URL aTargetURL;
         aTargetURL.Complete = rCommand;
-        Reference < XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance(
-                                            rtl::OUString("com.sun.star.util.URLTransformer")),
-                                          UNO_QUERY );
+        Reference < XURLTransformer > xTrans( URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
         xTrans->parseStrict( aTargetURL );
 
         Reference < XDispatch > xDispatch = rProvider->queryDispatch( aTargetURL, ::rtl::OUString(), 0 );
@@ -1650,9 +1649,7 @@ long Select_Impl( void* /*pHdl*/, void* pVoid )
 
     URL aTargetURL;
     aTargetURL.Complete = aURL;
-    Reference < XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance(
-                                            rtl::OUString("com.sun.star.util.URLTransformer")),
-                                          UNO_QUERY );
+    Reference < XURLTransformer > xTrans( URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
     xTrans->parseStrict( aTargetURL );
 
     Reference < XDispatchProvider > xProv( xFrame, UNO_QUERY );
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
index 72da247..09351f1 100644
--- a/sfx2/source/view/viewfrm.cxx
+++ b/sfx2/source/view/viewfrm.cxx
@@ -58,6 +58,7 @@
 #include <com/sun/star/awt/XWindow.hpp>
 #include <com/sun/star/frame/XController.hpp>
 #include <com/sun/star/frame/XModel2.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/util/XCloseable.hpp>
 #include <com/sun/star/frame/XDispatchRecorderSupplier.hpp>
@@ -3150,7 +3151,9 @@ void SfxViewFrame::ChildWindowExecute( SfxRequest &rReq )
         {
             ::com::sun::star::util::URL aTargetURL;
             aTargetURL.Complete = ::rtl::OUString(".component:DB/DataSourceBrowser");
-            Reference < ::com::sun::star::util::XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance( rtl::OUString("com.sun.star.util.URLTransformer")), UNO_QUERY );
+            Reference < ::com::sun::star::util::XURLTransformer > xTrans(
+                    ::com::sun::star::util::URLTransformer::create(
+                         ::comphelper::getProcessComponentContext() ) );
             xTrans->parseStrict( aTargetURL );
 
             Reference < XDispatchProvider > xProv( xFrame, UNO_QUERY );
diff --git a/svtools/source/contnr/templwin.cxx b/svtools/source/contnr/templwin.cxx
index a0f5a7b..937236f 100644
--- a/svtools/source/contnr/templwin.cxx
+++ b/svtools/source/contnr/templwin.cxx
@@ -51,6 +51,7 @@
 #include <com/sun/star/frame/XFrame.hpp>
 #include <toolkit/helper/vclunohelper.hxx>
 #include <com/sun/star/util/URL.hpp>
+#include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/util/XOfficeInstallationDirectories.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
@@ -710,8 +711,8 @@ void SvtFrameWindow_Impl::OpenFile( const String& rURL, sal_Bool bPreview, sal_B
     {
         com::sun::star::util::URL aURL;
         aURL.Complete = rURL;
-        Reference < com::sun::star::util::XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->
-            createInstance( ASCII_STR("com.sun.star.util.URLTransformer" ) ), UNO_QUERY );
+        Reference< com::sun::star::util::XURLTransformer > xTrans(
+                    com::sun::star::util::URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
         xTrans->parseStrict( aURL );
 
         String aTarget;
@@ -1615,8 +1616,8 @@ IMPL_LINK_NOARG(SvtDocumentTemplateDialog , OrganizerHdl_Impl)
 
     com::sun::star::util::URL aTargetURL;
     aTargetURL.Complete = ASCII_STR("slot:5540");

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list