diff options
author | Andras Timar <atimar@suse.com> | 2012-11-11 18:24:14 +0100 |
---|---|---|
committer | Andras Timar <atimar@suse.com> | 2012-11-11 18:24:14 +0100 |
commit | 06ec1c089519ef3249464aa09eadf03a8db93a39 (patch) | |
tree | 85b2eb6d8ba6ca95e18e1ff82151224cb14106f6 /scripting | |
parent | 8e0d67bed54633d555a4601a5d79e2d5ba7ab2bb (diff) | |
parent | 3f899eae02eaad0b967de749fe09b869ba93ad6d (diff) |
Merge branch 'master' into feature/killsdf
Conflicts:
Repository.mk
RepositoryFixes.mk
connectivity/prj/build.lst
extensions/prj/build.lst
filter/prj/build.lst
fpicker/prj/build.lst
l10ntools/StaticLibrary_transex.mk
saxon/build.xml
shell/prj/build.lst
solenv/gbuild/AllLangResTarget.mk
solenv/gbuild/Configuration.mk
solenv/gbuild/UI.mk
ucb/source/ucp/webdav/webdavcontent.cxx
Diffstat (limited to 'scripting')
15 files changed, 105 insertions, 221 deletions
diff --git a/scripting/java/com/sun/star/script/framework/container/ScriptMetaData.java b/scripting/java/com/sun/star/script/framework/container/ScriptMetaData.java index f39e8b92f6e8..eb1e560355c2 100644 --- a/scripting/java/com/sun/star/script/framework/container/ScriptMetaData.java +++ b/scripting/java/com/sun/star/script/framework/container/ScriptMetaData.java @@ -41,14 +41,7 @@ import com.sun.star.script.framework.io.UCBStreamHandler; import com.sun.star.ucb.XSimpleFileAccess2; -import com.sun.star.uno.AnyConverter; import com.sun.star.uno.UnoRuntime; -import com.sun.star.uno.XComponentContext; - -import com.sun.star.uri.UriReferenceFactory; -import com.sun.star.uri.XVndSunStarExpandUrl; - -import com.sun.star.util.XMacroExpander; public class ScriptMetaData extends ScriptEntry implements Cloneable { private boolean hasSource = false; @@ -244,8 +237,7 @@ public class ScriptMetaData extends ScriptEntry implements Cloneable { return "\nParcelLocation = " + getParcelLocation() + "\nLocationPlaceHolder = " + locationPlaceHolder + super.toString(); } - public URL[] getClassPath(XComponentContext context) - throws java.net.MalformedURLException + public URL[] getClassPath() throws java.net.MalformedURLException { try { @@ -272,7 +264,7 @@ public class ScriptMetaData extends ScriptEntry implements Cloneable { { String relativeClasspath = stk.nextToken(); String pathToProcess = PathUtils.make_url( parcelPath, relativeClasspath); - URL url = expandURL( context, pathToProcess ); + URL url = createURL( pathToProcess ); if ( url != null ) { classPathVec.add ( url ); @@ -281,7 +273,7 @@ public class ScriptMetaData extends ScriptEntry implements Cloneable { } if ( classPathVec.size() == 0) { - URL url = expandURL( context, parcelPath ); + URL url = createURL( parcelPath ); if ( url != null ) { classPathVec.add(url); @@ -298,38 +290,6 @@ public class ScriptMetaData extends ScriptEntry implements Cloneable { } } - - private URL expandURL(XComponentContext context, String url) - throws java.net.MalformedURLException - { - XVndSunStarExpandUrl exp = UnoRuntime.queryInterface( - XVndSunStarExpandUrl.class, - UriReferenceFactory.create(context).parse(url)); - String expurl; - if (exp == null) { - expurl = url; - } else { - XMacroExpander expander; - try { - expander = (XMacroExpander) AnyConverter.toObject( - XMacroExpander.class, - context.getValueByName( - "/singletons/com.sun.star.util.theMacroExpander")); - } catch (com.sun.star.lang.IllegalArgumentException e) { - throw new RuntimeException(e); - } - try { - expurl = exp.expand(expander); - } catch (com.sun.star.lang.IllegalArgumentException e) { - java.net.MalformedURLException e2 = - new java.net.MalformedURLException(e.toString()); - e2.initCause(e); - throw e2; - } - } - return new URL(expurl); - } - private URL createURL( String path ) throws java.net.MalformedURLException { URL url = null; diff --git a/scripting/java/com/sun/star/script/framework/provider/ClassLoaderFactory.java b/scripting/java/com/sun/star/script/framework/provider/ClassLoaderFactory.java index a83191986376..4086a3c29741 100644 --- a/scripting/java/com/sun/star/script/framework/provider/ClassLoaderFactory.java +++ b/scripting/java/com/sun/star/script/framework/provider/ClassLoaderFactory.java @@ -22,7 +22,6 @@ import java.net.*; import com.sun.star.script.framework.log.LogUtils; import com.sun.star.script.framework.container.ScriptMetaData; -import com.sun.star.uno.XComponentContext; /** * Class Loader Factory @@ -31,12 +30,11 @@ public class ClassLoaderFactory { private ClassLoaderFactory() {} - public static ClassLoader getURLClassLoader( - XComponentContext context, ScriptMetaData scriptData ) + public static ClassLoader getURLClassLoader( ScriptMetaData scriptData ) throws NoSuitableClassLoaderException, MalformedURLException { ClassLoader parent = scriptData.getClass().getClassLoader(); - URL[] classPath = scriptData.getClassPath(context); + URL[] classPath = scriptData.getClassPath(); LogUtils.DEBUG("Classpath has length " + classPath.length ); for ( int i=0; i < classPath.length; i++ ) { diff --git a/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptEditorForBeanShell.java b/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptEditorForBeanShell.java index 4fd6a9400c13..0497bd91bcf5 100644 --- a/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptEditorForBeanShell.java +++ b/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptEditorForBeanShell.java @@ -192,8 +192,7 @@ public class ScriptEditorForBeanShell try { ClassLoader cl = null; try { - cl = ClassLoaderFactory.getURLClassLoader( - context.getComponentContext(), entry ); + cl = ClassLoaderFactory.getURLClassLoader( entry ); } catch (Exception ignore) // TODO re-examine error handling { diff --git a/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptProviderForBeanShell.java b/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptProviderForBeanShell.java index bed3c7a86d13..ea23768e75e6 100644 --- a/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptProviderForBeanShell.java +++ b/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptProviderForBeanShell.java @@ -187,8 +187,7 @@ class ScriptImpl implements XScript ClassLoader cl = null; URL sourceUrl = null; try { - cl = ClassLoaderFactory.getURLClassLoader( - m_xContext, metaData ); + cl = ClassLoaderFactory.getURLClassLoader( metaData ); sourceUrl = metaData.getSourceURL(); } catch ( java.net.MalformedURLException mfu ) diff --git a/scripting/java/com/sun/star/script/framework/provider/java/ScriptProviderForJava.java b/scripting/java/com/sun/star/script/framework/provider/java/ScriptProviderForJava.java index 6c5024b5f199..090f1626e0d7 100644 --- a/scripting/java/com/sun/star/script/framework/provider/java/ScriptProviderForJava.java +++ b/scripting/java/com/sun/star/script/framework/provider/java/ScriptProviderForJava.java @@ -191,7 +191,7 @@ class ScriptImpl implements XScript try { LogUtils.DEBUG( "Classloader starting..." ); scriptLoader = ClassLoaderFactory.getURLClassLoader( - m_xContext, metaData ); + metaData ); LogUtils.DEBUG( "Classloader finished..." ); } catch (MalformedURLException mfe ) diff --git a/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptProviderForJavaScript.java b/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptProviderForJavaScript.java index aa36af86a176..73ce9c59505c 100644 --- a/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptProviderForJavaScript.java +++ b/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptProviderForJavaScript.java @@ -186,8 +186,7 @@ class ScriptImpl implements XScript ClassLoader cl = null; URL sourceUrl = null; try { - cl = ClassLoaderFactory.getURLClassLoader( - m_xContext, metaData ); + cl = ClassLoaderFactory.getURLClassLoader( metaData ); sourceUrl = metaData.getSourceURL(); } catch ( java.net.MalformedURLException mfu ) diff --git a/scripting/prj/build.lst b/scripting/prj/build.lst index f8748983e0f1..f3b72e682bc5 100644 --- a/scripting/prj/build.lst +++ b/scripting/prj/build.lst @@ -1,2 +1,2 @@ -tc scripting : filter oovbaapi vbahelper bridges DESKTOP:rdbmaker vcl xmlscript basic sfx2 RHINO:rhino BSH:beanshell javaunohelper LIBXSLT:libxslt NULL +tc scripting : filter oovbaapi vbahelper bridges vcl xmlscript basic sfx2 RHINO:rhino BSH:beanshell javaunohelper LIBXSLT:libxslt NULL tc scripting\prj nmake - all tc1_prj NULL diff --git a/scripting/source/basprov/basprov.cxx b/scripting/source/basprov/basprov.cxx index bf4a449e1a13..750394524161 100644 --- a/scripting/source/basprov/basprov.cxx +++ b/scripting/source/basprov/basprov.cxx @@ -24,6 +24,7 @@ #include <com/sun/star/script/browse/BrowseNodeTypes.hpp> #include <com/sun/star/script/provider/ScriptFrameworkErrorType.hpp> #include <com/sun/star/document/XEmbeddedScripts.hpp> +#include <com/sun/star/uri/UriReferenceFactory.hpp> #include <cppuhelper/implementationentry.hxx> #include <rtl/uri.hxx> @@ -135,40 +136,31 @@ namespace basprov ::rtl::OUString aFileURL; if ( m_xContext.is() ) { - Reference< uri::XUriReferenceFactory > xUriFac; - Reference< lang::XMultiComponentFactory > xSMgr( m_xContext->getServiceManager() ); - if ( xSMgr.is() ) - { - xUriFac.set( xSMgr->createInstanceWithContext( ::rtl::OUString( - "com.sun.star.uri.UriReferenceFactory" ), m_xContext ), UNO_QUERY ); - } + Reference< uri::XUriReferenceFactory > xUriFac( uri::UriReferenceFactory::create( m_xContext ) ); - if ( xUriFac.is() ) - { - ::rtl::OUString aLinkURL( xLibContainer->getLibraryLinkURL( rLibName ) ); - Reference< uri::XUriReference > xUriRef( xUriFac->parse( aLinkURL ), UNO_QUERY ); + ::rtl::OUString aLinkURL( xLibContainer->getLibraryLinkURL( rLibName ) ); + Reference< uri::XUriReference > xUriRef( xUriFac->parse( aLinkURL ), UNO_QUERY ); - if ( xUriRef.is() ) + if ( xUriRef.is() ) + { + ::rtl::OUString aScheme = xUriRef->getScheme(); + if ( aScheme.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("file")) ) { - ::rtl::OUString aScheme = xUriRef->getScheme(); - if ( aScheme.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("file")) ) + aFileURL = aLinkURL; + } + else if ( aScheme.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("vnd.sun.star.pkg")) ) + { + ::rtl::OUString aAuthority = xUriRef->getAuthority(); + if ( aAuthority.matchIgnoreAsciiCaseAsciiL( RTL_CONSTASCII_STRINGPARAM( "vnd.sun.star.expand:" ) ) ) { - aFileURL = aLinkURL; - } - else if ( aScheme.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("vnd.sun.star.pkg")) ) - { - ::rtl::OUString aAuthority = xUriRef->getAuthority(); - if ( aAuthority.matchIgnoreAsciiCaseAsciiL( RTL_CONSTASCII_STRINGPARAM( "vnd.sun.star.expand:" ) ) ) - { - ::rtl::OUString aDecodedURL( aAuthority.copy( sizeof ( "vnd.sun.star.expand:" ) - 1 ) ); - aDecodedURL = ::rtl::Uri::decode( aDecodedURL, rtl_UriDecodeWithCharset, RTL_TEXTENCODING_UTF8 ); - Reference<util::XMacroExpander> xMacroExpander( - m_xContext->getValueByName( - ::rtl::OUString("/singletons/com.sun.star.util.theMacroExpander") ), - UNO_QUERY ); - if ( xMacroExpander.is() ) - aFileURL = xMacroExpander->expandMacros( aDecodedURL ); - } + ::rtl::OUString aDecodedURL( aAuthority.copy( sizeof ( "vnd.sun.star.expand:" ) - 1 ) ); + aDecodedURL = ::rtl::Uri::decode( aDecodedURL, rtl_UriDecodeWithCharset, RTL_TEXTENCODING_UTF8 ); + Reference<util::XMacroExpander> xMacroExpander( + m_xContext->getValueByName( + ::rtl::OUString("/singletons/com.sun.star.util.theMacroExpander") ), + UNO_QUERY ); + if ( xMacroExpander.is() ) + aFileURL = xMacroExpander->expandMacros( aDecodedURL ); } } } @@ -325,18 +317,7 @@ namespace basprov SolarMutexGuard aGuard; Reference< provider::XScript > xScript; - Reference< lang::XMultiComponentFactory > xMcFac ( m_xContext->getServiceManager() ); - Reference< uri::XUriReferenceFactory > xFac ( - xMcFac->createInstanceWithContext( rtl::OUString( - "com.sun.star.uri.UriReferenceFactory"), m_xContext ) , UNO_QUERY ); - - if ( !xFac.is() ) - { - throw provider::ScriptFrameworkErrorException( - OUSTR( "Failed to instantiate UriReferenceFactory" ), Reference< XInterface >(), - scriptURI, OUSTR("Basic"), - provider::ScriptFrameworkErrorType::UNKNOWN ); - } + Reference< uri::XUriReferenceFactory > xFac ( uri::UriReferenceFactory::create( m_xContext ) ); Reference< uri::XUriReference > uriRef( xFac->parse( scriptURI ), UNO_QUERY ); diff --git a/scripting/source/dlgprov/dlgprov.cxx b/scripting/source/dlgprov/dlgprov.cxx index 2c55c323fa8e..4392c99cb37d 100644 --- a/scripting/source/dlgprov/dlgprov.cxx +++ b/scripting/source/dlgprov/dlgprov.cxx @@ -21,6 +21,7 @@ #include "DialogModelProvider.hxx" #include "dlgprov.hxx" #include "dlgevtatt.hxx" +#include <com/sun/star/awt/Toolkit.hpp> #include <com/sun/star/awt/XControlContainer.hpp> #include <com/sun/star/awt/XWindowPeer.hpp> #include <com/sun/star/io/XInputStreamProvider.hpp> @@ -29,7 +30,7 @@ #include <com/sun/star/script/XLibraryContainer.hpp> #include <cppuhelper/implementationentry.hxx> #include <cppuhelper/exc_hlp.hxx> -#include <com/sun/star/beans/XIntrospection.hpp> +#include <com/sun/star/beans/Introspection.hpp> #include <com/sun/star/resource/XStringResourceSupplier.hpp> #include <com/sun/star/resource/XStringResourceManager.hpp> #include <com/sun/star/beans/XPropertySet.hpp> @@ -44,7 +45,7 @@ #include <comphelper/namedvaluecollection.hxx> #include <com/sun/star/uri/XUriReference.hpp> -#include <com/sun/star/uri/XUriReferenceFactory.hpp> +#include <com/sun/star/uri/UriReferenceFactory.hpp> #include <com/sun/star/uri/XVndSunStarScriptUrl.hpp> #include <com/sun/star/uri/XVndSunStarExpandUrl.hpp> #include <com/sun/star/util/XMacroExpander.hpp> @@ -285,25 +286,8 @@ static ::rtl::OUString aResourceResolverPropName("ResourceResolver"); // parse URL // TODO: use URL parsing class // TODO: decoding of location - Reference< XMultiComponentFactory > xSMgr( m_xContext->getServiceManager(), UNO_QUERY ); - if ( !xSMgr.is() ) - { - throw RuntimeException( - ::rtl::OUString( "DialogProviderImpl::getDialogModel: Couldn't instantiate MultiComponent factory" ), - Reference< XInterface >() ); - } - - Reference< uri::XUriReferenceFactory > xFac ( - xSMgr->createInstanceWithContext( rtl::OUString( - "com.sun.star.uri.UriReferenceFactory"), m_xContext ) , UNO_QUERY ); - - if ( !xFac.is() ) - { - throw RuntimeException( - ::rtl::OUString("DialogProviderImpl::getDialogModel(), could not instatiate UriReferenceFactory."), - Reference< XInterface >() ); - } + Reference< uri::XUriReferenceFactory > xFac ( uri::UriReferenceFactory::create( m_xContext ) ); // i75778: Support non-script URLs Reference< io::XInputStream > xInput; @@ -536,10 +520,8 @@ static ::rtl::OUString aResourceResolverPropName("ResourceResolver"); } // create a peer - Reference< XToolkit> xToolkit( xSMgr->createInstanceWithContext( - ::rtl::OUString( "com.sun.star.awt.Toolkit" ), m_xContext ), UNO_QUERY ); - if ( xToolkit.is() ) - xDialogControl->createPeer( xToolkit, xPeer ); + Reference< XToolkit> xToolkit( Toolkit::create( m_xContext ), UNO_QUERY_THROW ); + xDialogControl->createPeer( xToolkit, xPeer ); } } } @@ -595,34 +577,20 @@ static ::rtl::OUString aResourceResolverPropName("ResourceResolver"); if( !xIntrospection.is() ) { - Reference< XMultiComponentFactory > xSMgr( m_xContext->getServiceManager(), UNO_QUERY ); - if ( !xSMgr.is() ) - { - throw RuntimeException( - ::rtl::OUString( "DialogProviderImpl::getIntrospectionAccess: Couldn't instantiate MultiComponent factory" ), - Reference< XInterface >() ); - } - // Get introspection service - Reference< XInterface > xI = xSMgr->createInstanceWithContext - ( rtl::OUString("com.sun.star.beans.Introspection"), m_xContext ); - if (xI.is()) - xIntrospection = Reference< XIntrospection >::query( xI ); + xIntrospection = Introspection::create( m_xContext ); } - if( xIntrospection.is() ) + // Do introspection + try { - // Do introspection - try - { - Any aHandlerAny; - aHandlerAny <<= rxHandler; - xIntrospectionAccess = xIntrospection->inspect( aHandlerAny ); - } - catch( RuntimeException& ) - { - xIntrospectionAccess.clear(); - } + Any aHandlerAny; + aHandlerAny <<= rxHandler; + xIntrospectionAccess = xIntrospection->inspect( aHandlerAny ); + } + catch( RuntimeException& ) + { + xIntrospectionAccess.clear(); } return xIntrospectionAccess; } diff --git a/scripting/source/protocolhandler/scripthandler.cxx b/scripting/source/protocolhandler/scripthandler.cxx index 4151a56c4179..faa25bb3613e 100644 --- a/scripting/source/protocolhandler/scripthandler.cxx +++ b/scripting/source/protocolhandler/scripthandler.cxx @@ -49,7 +49,7 @@ #include "com/sun/star/uno/XComponentContext.hpp" #include "com/sun/star/uri/XUriReference.hpp" -#include "com/sun/star/uri/XUriReferenceFactory.hpp" +#include "com/sun/star/uri/UriReferenceFactory.hpp" #include "com/sun/star/uri/XVndSunStarScriptUrl.hpp" using namespace ::com::sun::star; @@ -102,19 +102,14 @@ Reference< XDispatch > SAL_CALL ScriptProtocolHandler::queryDispatch( Reference< XDispatch > xDispatcher; // get scheme of url - Reference< uri::XUriReferenceFactory > xFac ( - m_xFactory->createInstance( rtl::OUString( - "com.sun.star.uri.UriReferenceFactory") ) , UNO_QUERY ); - if ( xFac.is() ) + Reference< uri::XUriReferenceFactory > xFac = uri::UriReferenceFactory::create( comphelper::getComponentContext(m_xFactory) ); + Reference< uri::XUriReference > uriRef( + xFac->parse( aURL.Complete ), UNO_QUERY ); + if ( uriRef.is() ) { - Reference< uri::XUriReference > uriRef( - xFac->parse( aURL.Complete ), UNO_QUERY ); - if ( uriRef.is() ) + if ( uriRef->getScheme().equals( ::rtl::OUString::createFromAscii( ::scripting_protocolhandler::MYSCHEME ) ) ) { - if ( uriRef->getScheme().equals( ::rtl::OUString::createFromAscii( ::scripting_protocolhandler::MYSCHEME ) ) ) - { - xDispatcher = this; - } + xDispatcher = this; } } diff --git a/scripting/source/provider/MasterScriptProvider.cxx b/scripting/source/provider/MasterScriptProvider.cxx index ff034699700d..4362330c7b6b 100644 --- a/scripting/source/provider/MasterScriptProvider.cxx +++ b/scripting/source/provider/MasterScriptProvider.cxx @@ -31,7 +31,7 @@ #include <com/sun/star/document/XScriptInvocationContext.hpp> #include <com/sun/star/uri/XUriReference.hpp> -#include <com/sun/star/uri/XUriReferenceFactory.hpp> +#include <com/sun/star/uri/UriReferenceFactory.hpp> #include <com/sun/star/uri/XVndSunStarScriptUrl.hpp> #include <com/sun/star/deployment/XPackage.hpp> @@ -259,17 +259,7 @@ throw ( provider::ScriptFrameworkErrorException, // need to get the language from the string - Reference< uri::XUriReferenceFactory > xFac ( - m_xMgr->createInstanceWithContext( rtl::OUString( - "com.sun.star.uri.UriReferenceFactory"), m_xContext ) , UNO_QUERY ); - if ( !xFac.is() ) - { - ::rtl::OUString message("Failed to instantiate UriReferenceFactory"); - throw provider::ScriptFrameworkErrorException( - message, Reference< XInterface >(), - scriptURI, ::rtl::OUString(), - provider::ScriptFrameworkErrorType::UNKNOWN ); - } + Reference< uri::XUriReferenceFactory > xFac ( uri::UriReferenceFactory::create( m_xContext ) ); Reference< uri::XUriReference > uriRef( xFac->parse( scriptURI ), UNO_QUERY ); diff --git a/scripting/source/provider/ProviderCache.cxx b/scripting/source/provider/ProviderCache.cxx index 48abd569dbc0..0b65ffa50171 100644 --- a/scripting/source/provider/ProviderCache.cxx +++ b/scripting/source/provider/ProviderCache.cxx @@ -189,7 +189,7 @@ ProviderCache::createProvider( ProviderDetails& details ) throw ( RuntimeExcepti details.provider.set( details.factory->createInstanceWithArgumentsAndContext( m_Sctx, m_xContext ), UNO_QUERY_THROW ); } - catch ( const RuntimeException& e ) + catch ( const Exception& e ) { ::rtl::OUString temp("ProviderCache::createProvider() Error creating provider from factory!!!\n"); throw RuntimeException( temp.concat( e.Message ), Reference< XInterface >() ); diff --git a/scripting/source/provider/URIHelper.cxx b/scripting/source/provider/URIHelper.cxx index 7ef545fe6c2b..ec7ba77551ac 100644 --- a/scripting/source/provider/URIHelper.cxx +++ b/scripting/source/provider/URIHelper.cxx @@ -19,6 +19,7 @@ #include <com/sun/star/uri/XVndSunStarScriptUrl.hpp> +#include <com/sun/star/uri/UriReferenceFactory.hpp> #include <rtl/ustrbuf.hxx> #include "URIHelper.hxx" @@ -67,11 +68,7 @@ ScriptingFrameworkURIHelper::ScriptingFrameworkURIHelper( try { - m_xUriReferenceFactory = uno::Reference< uri::XUriReferenceFactory >( - xContext->getServiceManager()->createInstanceWithContext( - OUString( - "com.sun.star.uri.UriReferenceFactory"), - xContext ), uno::UNO_QUERY_THROW ); + m_xUriReferenceFactory = uri::UriReferenceFactory::create( xContext ); } catch (uno::Exception&) { diff --git a/scripting/source/pyprov/manifest.xml b/scripting/source/pyprov/META-INF/manifest.xml index 7a8f084277a6..7a8f084277a6 100644 --- a/scripting/source/pyprov/manifest.xml +++ b/scripting/source/pyprov/META-INF/manifest.xml diff --git a/scripting/source/vbaevents/eventhelper.cxx b/scripting/source/vbaevents/eventhelper.cxx index ef33f8c5172f..575fe2fd50fd 100644 --- a/scripting/source/vbaevents/eventhelper.cxx +++ b/scripting/source/vbaevents/eventhelper.cxx @@ -26,7 +26,7 @@ #include <ooo/vba/XVBAToOOEventDescGen.hpp> #include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/beans/XIntrospection.hpp> +#include <com/sun/star/beans/Introspection.hpp> #include <com/sun/star/beans/PropertyAttribute.hpp> #include <com/sun/star/lang/XMultiComponentFactory.hpp> @@ -376,40 +376,28 @@ ScriptEventHelper::ScriptEventHelper( const Reference< XInterface >& xControl ): Sequence< rtl::OUString > ScriptEventHelper::getEventListeners() { - Reference< lang::XMultiComponentFactory > xMFac( - m_xCtx->getServiceManager(), UNO_QUERY ); std::list< rtl::OUString > eventMethods; - if ( xMFac.is() ) - { - Reference< beans::XIntrospection > xIntrospection( - xMFac->createInstanceWithContext( rtl::OUString( - "com.sun.star.beans.Introspection" ), m_xCtx ), UNO_QUERY ); + Reference< beans::XIntrospection > xIntrospection = beans::Introspection::create( m_xCtx ); - Reference< beans::XIntrospectionAccess > xIntrospectionAccess; - if ( xIntrospection.is() ) + Reference< beans::XIntrospectionAccess > xIntrospectionAccess = + xIntrospection->inspect( makeAny( m_xControl ) ); + Sequence< Type > aControlListeners = + xIntrospectionAccess->getSupportedListeners(); + sal_Int32 nLength = aControlListeners.getLength(); + for ( sal_Int32 i = 0; i< nLength; ++i ) { - xIntrospectionAccess = xIntrospection->inspect( - makeAny( m_xControl ) ); - Sequence< Type > aControlListeners = - xIntrospectionAccess->getSupportedListeners(); - sal_Int32 nLength = aControlListeners.getLength(); - for ( sal_Int32 i = 0; i< nLength; ++i ) - { - Type& listType = aControlListeners[ i ]; - rtl::OUString sFullTypeName = listType.getTypeName(); - Sequence< ::rtl::OUString > sMeths = - comphelper::getEventMethodsForType( listType ); - sal_Int32 sMethLen = sMeths.getLength(); - for ( sal_Int32 j=0 ; j < sMethLen; ++j ) - { - rtl::OUString sEventMethod = sFullTypeName; - sEventMethod += DELIM; - sEventMethod += sMeths[ j ]; - eventMethods.push_back( sEventMethod ); - } - } - + Type& listType = aControlListeners[ i ]; + rtl::OUString sFullTypeName = listType.getTypeName(); + Sequence< ::rtl::OUString > sMeths = + comphelper::getEventMethodsForType( listType ); + sal_Int32 sMethLen = sMeths.getLength(); + for ( sal_Int32 j=0 ; j < sMethLen; ++j ) + { + rtl::OUString sEventMethod = sFullTypeName; + sEventMethod += DELIM; + sEventMethod += sMeths[ j ]; + eventMethods.push_back( sEventMethod ); } } @@ -908,7 +896,9 @@ EventListener::firing_Impl(const ScriptEvent& evt, Any* pRet ) throw(RuntimeExce uno::Reference< script::provider::XScriptProviderSupplier > xSPS( m_xModel, uno::UNO_QUERY ); uno::Reference< script::provider::XScriptProvider > xScriptProvider; if ( xSPS.is() ) + { xScriptProvider = xSPS->getScriptProvider(); + } if ( xScriptProvider.is() && mpShell ) { std::list< TranslateInfo >::const_iterator txInfo = @@ -918,22 +908,24 @@ EventListener::firing_Impl(const ScriptEvent& evt, Any* pRet ) throw(RuntimeExce BasicManager* pBasicManager = mpShell->GetBasicManager(); rtl::OUString sProject; rtl::OUString sScriptCode( evt.ScriptCode ); - // dialogs pass their own library, presence of Dot determines that - if ( sScriptCode.indexOf( '.' ) == -1 ) - { - //'Project' is a better default but I want to force failures - //rtl::OUString sMacroLoc("Project"); - sProject = rtl::OUString("Standard"); + // dialogs pass their own library, presence of Dot determines that + if ( sScriptCode.indexOf( '.' ) == -1 ) + { + //'Project' is a better default but I want to force failures + //rtl::OUString sMacroLoc("Project"); + sProject = "Standard"; - if ( pBasicManager->GetName().Len() > 0 ) - sProject = pBasicManager->GetName(); - } - else - { - sal_Int32 nIndex = sScriptCode.indexOf( '.' ); - sProject = sScriptCode.copy( 0, nIndex ); - sScriptCode = sScriptCode.copy( nIndex + 1 ); - } + if (!pBasicManager->GetName().isEmpty()) + { + sProject = pBasicManager->GetName(); + } + } + else + { + sal_Int32 nIndex = sScriptCode.indexOf( '.' ); + sProject = sScriptCode.copy( 0, nIndex ); + sScriptCode = sScriptCode.copy( nIndex + 1 ); + } rtl::OUString sMacroLoc = sProject; sMacroLoc = sMacroLoc.concat( rtl::OUString(".") ); sMacroLoc = sMacroLoc.concat( sScriptCode ).concat( rtl::OUString(".") ); @@ -966,9 +958,13 @@ EventListener::firing_Impl(const ScriptEvent& evt, Any* pRet ) throw(RuntimeExce // !! translate arguments & emulate events where necessary Sequence< Any > aArguments; if ( (*txInfo).toVBA ) + { aArguments = (*txInfo).toVBA( evt.Arguments ); + } else + { aArguments = evt.Arguments; + } if ( aArguments.getLength() ) { // call basic event handlers for event @@ -983,7 +979,9 @@ EventListener::firing_Impl(const ScriptEvent& evt, Any* pRet ) throw(RuntimeExce { uno::Any aDummyCaller = uno::makeAny( rtl::OUString("Error") ); if ( pRet ) + { ooo::vba::executeMacro( mpShell, url, aArguments, *pRet, aDummyCaller ); + } else { uno::Any aRet; |