summaryrefslogtreecommitdiff
path: root/scripting/source/runtimemgr
diff options
context:
space:
mode:
authorPhilipp Lohmann [pl] <Philipp.Lohmann@Oracle.COM>2011-02-14 16:17:22 +0100
committerPhilipp Lohmann [pl] <Philipp.Lohmann@Oracle.COM>2011-02-14 16:17:22 +0100
commit1fb042333fe6287756ff1fac11d18cd7c150730d (patch)
tree595de5d187177832ce656d7832af9dce9dce2d99 /scripting/source/runtimemgr
parent5b3e910e926c7dd1e8dcfe8e0a5c6cb5bd17480a (diff)
parentcd0d6a5a6775f197fdb7e78b54c8133074a7a236 (diff)
rebase to DEV300_m100
Diffstat (limited to 'scripting/source/runtimemgr')
-rw-r--r--scripting/source/runtimemgr/ScriptNameResolverImpl.cxx71
-rwxr-xr-xscripting/source/runtimemgr/ScriptRuntimeManager.cxx61
-rw-r--r--scripting/source/runtimemgr/StorageBridge.cxx32
3 files changed, 45 insertions, 119 deletions
diff --git a/scripting/source/runtimemgr/ScriptNameResolverImpl.cxx b/scripting/source/runtimemgr/ScriptNameResolverImpl.cxx
index 48b960c6c9aa..8dafab0e8d4c 100644
--- a/scripting/source/runtimemgr/ScriptNameResolverImpl.cxx
+++ b/scripting/source/runtimemgr/ScriptNameResolverImpl.cxx
@@ -70,13 +70,11 @@ static ::std::vector< sal_Int32 >* m_pSearchIDs = NULL;
//*************************************************************************
ScriptNameResolverImpl::ScriptNameResolverImpl(
const Reference< XComponentContext > & xContext ) :
- m_xContext( xContext )
+ m_xContext( xContext, UNO_SET_THROW )
{
OSL_TRACE( "< ScriptNameResolverImpl ctor called >\n" );
validateXRef( m_xContext, "ScriptNameResolverImpl::ScriptNameResolverImpl: invalid context" );
- m_xMultiComFac = m_xContext->getServiceManager();
-
- validateXRef( m_xMultiComFac, "ScriptNameResolverImpl::ScriptNameResolverImpl: invalid XMultiComponentFactory " );
+ m_xMultiComFac.set( m_xContext->getServiceManager(), UNO_SET_THROW );
if( !m_pSearchIDs )
{
@@ -220,11 +218,13 @@ throw ( lang::IllegalArgumentException, script::CannotConvertException, RuntimeE
OUString temp = OUSTR( "ScriptNameResolverImpl::resolve: " );
throw RuntimeException( temp.concat( e.Message ), Reference< XInterface >() );
}
- Reference< XInterface > xInterface = m_xMultiComFac->createInstanceWithContext(
- ::rtl::OUString::createFromAscii(
- "com.sun.star.ucb.SimpleFileAccess" ), m_xContext );
- validateXRef( xInterface,
- "ScriptProvider::initialise: cannot get SimpleFileAccess Service\n" );
+ Reference< XInterface > xInterface(
+ m_xMultiComFac->createInstanceWithContext(
+ ::rtl::OUString::createFromAscii( "com.sun.star.ucb.SimpleFileAccess" ),
+ m_xContext
+ ),
+ UNO_SET_THROW
+ );
Reference < ucb::XSimpleFileAccess > xSimpleFileAccess = Reference <
ucb::XSimpleFileAccess > ( xInterface, UNO_QUERY_THROW );
@@ -236,15 +236,8 @@ throw ( lang::IllegalArgumentException, script::CannotConvertException, RuntimeE
try
{
// need to get the ScriptStorageManager
- Any a = m_xContext->getValueByName(
- scriptingConstantsPool.SCRIPTSTORAGEMANAGER_SERVICE );
- if ( sal_False == ( a >>= xScriptStorageMgr ) )
- {
- OUString temp = OUSTR( "ScriptNameResolverImpl::resolve: failed to get ScriptStorageManager" );
- throw RuntimeException( temp, Reference< XInterface >() );
- // need to throw
- }
- validateXRef( xScriptStorageMgr, "Cannot get ScriptStorageManager" );
+ xScriptStorageMgr.set( m_xContext->getValueByName(
+ scriptingConstantsPool.SCRIPTSTORAGEMANAGER_SERVICE ), UNO_QUERY_THROW );
filesysScriptStorageID =
xScriptStorageMgr->createScriptStorageWithURI(
xSimpleFileAccess, filesysURL );
@@ -364,20 +357,12 @@ throw ( lang::IllegalArgumentException, script::CannotConvertException, RuntimeE
if( filesysScriptStorageID > 2 )
{
// get the filesys storage and dispose of it
- Reference< XInterface > xScriptStorage =
- xScriptStorageMgr->getScriptStorage( filesysScriptStorageID );
- validateXRef( xScriptStorage,
- "ScriptNameResolverImpl::getStorageInstance: cannot get Script Storage service" );
+ Reference< XInterface > xScriptStorage( xScriptStorageMgr->getScriptStorage( filesysScriptStorageID ), UNO_SET_THROW );
Reference< storage::XScriptInfoAccess > xScriptInfoAccess = Reference<
storage::XScriptInfoAccess > ( xScriptStorage, UNO_QUERY_THROW );
- validateXRef( xScriptInfoAccess,
- "ScriptNameResolverImpl::resolveURIFromStorageID: cannot get XScriptInfoAccess" );
Sequence< Reference< storage::XScriptInfo > > results =
xScriptInfoAccess->getAllImplementations( );
- Reference < lang::XEventListener > xEL_ScriptStorageMgr =
- Reference< lang::XEventListener >
- ( xScriptStorageMgr ,UNO_QUERY_THROW );
- validateXRef( xEL_ScriptStorageMgr, "ScriptNameResolverImpl::resolve: can't get ScriptStorageManager XEventListener interface when trying to dispose of filesystem storage" );
+ Reference < lang::XEventListener > xEL_ScriptStorageMgr(( xScriptStorageMgr ,UNO_QUERY_THROW );
lang::EventObject event( results[ 0 ] );
xEL_ScriptStorageMgr->disposing( event );
}
@@ -447,9 +432,7 @@ SAL_THROW ( ( lang::IllegalArgumentException, css::security::AccessControlExcept
throw RuntimeException( temp.concat( e.Message ), Reference< XInterface >() );
}
}
- Reference< storage::XScriptInfoAccess > storage = getStorageInstance( sid, permissionURI );
- validateXRef( storage,
- "ScriptNameResolverImpl::resolveURIFromStorageID: cannot get XScriptInfoAccess" );
+ Reference< storage::XScriptInfoAccess > storage( getStorageInstance( sid, permissionURI ), UNO_SET_THROW );
Sequence< Reference< storage::XScriptInfo > > results =
storage->getImplementations( scriptURI );
@@ -516,22 +499,10 @@ const ::rtl::OUString & permissionURI ) SAL_THROW ( ( RuntimeException, css::sec
Reference< storage::XScriptInfoAccess > xScriptInfoAccess;
try
{
- Reference< XInterface > xInterface;
-
- Any a = m_xContext->getValueByName(
- OUString::createFromAscii( SCRIPTSTORAGEMANAGER_SERVICE ) );
- if ( sal_False == ( a >>= xInterface ) )
- {
- throw RuntimeException(
- OUSTR( "ScriptNameResolverImpl::getStorageInstance: could not obtain ScriptStorageManager singleton" ),
- Reference< XInterface >() );
- }
- validateXRef( xInterface,
- "ScriptNameResolverImpl::getStorageInstance: cannot get Storage service" );
+ Reference< XInterface > xInterface( m_xContext->getValueByName(
+ OUString::createFromAscii( SCRIPTSTORAGEMANAGER_SERVICE ) ), UNO_QUERY_THROW );
// check that we have permissions for this storage
Reference< dcsssf::security::XScriptSecurity > xScriptSecurity( xInterface, UNO_QUERY_THROW );
- validateXRef( xScriptSecurity,
- "ScriptNameResolverImpl::getStorageInstance: cannot get Script Security service" );
scripting_constants::ScriptingConstantsPool& scriptingConstantsPool =
scripting_constants::ScriptingConstantsPool::instance();
// if we dealing with a document storage (ie. not user or share
@@ -546,14 +517,8 @@ const ::rtl::OUString & permissionURI ) SAL_THROW ( ( RuntimeException, css::sec
OSL_TRACE( "ScriptNameResolverImpl::getStorageInstance: got execute permission for ID=%d", sid );
}
Reference< storage::XScriptStorageManager > xScriptStorageManager( xInterface, UNO_QUERY_THROW );
- validateXRef( xScriptStorageManager,
- "ScriptNameResolverImpl::getStorageInstance: cannot get Script Storage Manager service" );
- Reference< XInterface > xScriptStorage =
- xScriptStorageManager->getScriptStorage( sid );
- validateXRef( xScriptStorage,
- "ScriptNameResolverImpl::getStorageInstance: cannot get Script Storage service" );
- xScriptInfoAccess = Reference<
- storage::XScriptInfoAccess > ( xScriptStorage, UNO_QUERY_THROW );
+ Reference< XInterface > xScriptStorage( ScriptStorageManager->getScriptStorage( sid ), UNO_SET_THROW );
+ xScriptInfoAccess.set( xScriptStorage, UNO_QUERY_THROW );
}
catch ( lang::IllegalArgumentException & e )
{
diff --git a/scripting/source/runtimemgr/ScriptRuntimeManager.cxx b/scripting/source/runtimemgr/ScriptRuntimeManager.cxx
index 4780d58acc88..79a44bebce7d 100755
--- a/scripting/source/runtimemgr/ScriptRuntimeManager.cxx
+++ b/scripting/source/runtimemgr/ScriptRuntimeManager.cxx
@@ -37,6 +37,7 @@
#include <util/scriptingconstants.hxx>
#include <cppuhelper/implementationentry.hxx>
+#include <tools/diagnose_ex.h>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/lang/XEventListener.hpp>
@@ -68,14 +69,10 @@ static Sequence< OUString > s_serviceNames = Sequence< OUString >( &s_serviceNam
// ScriptRuntimeManager Constructor
ScriptRuntimeManager::ScriptRuntimeManager(
const Reference< XComponentContext > & xContext ) :
- m_xContext( xContext )
+ m_xContext( xContext, UNO_SET_THROW )
{
OSL_TRACE( "< ScriptRuntimeManager ctor called >\n" );
- validateXRef( m_xContext,
- "ScriptRuntimeManager::ScriptRuntimeManager: invalid context" );
- m_xMgr = m_xContext->getServiceManager();
- validateXRef( m_xMgr,
- "ScriptRuntimeManager::ScriptRuntimeManager: cannot get ServiceManager" );
+ m_xMgr.set( m_xContext->getServiceManager(), UNO_SET_THROW );
s_moduleCount.modCnt.acquire( &s_moduleCount.modCnt );
// test
//scripting_securitymgr::ScriptSecurityManager ssm(xContext);
@@ -106,22 +103,12 @@ throw( RuntimeException )
Reference< storage::XScriptInfo > sinfo =
Reference< storage::XScriptInfo >( scriptInfo, UNO_QUERY_THROW );
- OUStringBuffer *buf = new OUStringBuffer(80);
- buf->appendAscii("/singletons/drafts.com.sun.star.script.framework.runtime.theScriptRuntimeFor");
- buf->append(sinfo->getLanguage());
+ OUStringBuffer* buf( 80 );
+ buf.appendAscii("/singletons/drafts.com.sun.star.script.framework.runtime.theScriptRuntimeFor");
+ buf.append(sinfo->getLanguage());
- Any a = m_xContext->getValueByName(buf->makeStringAndClear());
-
- if ( sal_False == ( a >>= xInterface ) )
- {
- throw RuntimeException(
- sinfo->getLanguage().concat( OUSTR( " runtime support is not installed for this language" ) ),
- Reference< XInterface >() );
- }
- validateXRef( xInterface,
- "ScriptRuntimeManager::GetScriptRuntime: cannot get appropriate ScriptRuntime Service"
- );
- xScriptInvocation = Reference< runtime::XScriptInvocation >( xInterface, UNO_QUERY_THROW );
+ xInterface.set( m_xContext->getValueByName( buf.makeStringAndClear() ), UNO_QUERY_THROW );
+ xScriptInvocation.set( xInterface, UNO_QUERY_THROW );
}
catch ( Exception & e )
{
@@ -143,13 +130,14 @@ throw( RuntimeException )
try
{
- Reference< XInterface > xInterface = m_xMgr->createInstanceWithContext(
- OUString::createFromAscii(
- "drafts.com.sun.star.script.framework.runtime.DefaultScriptNameResolver" ),
- m_xContext );
- validateXRef( xInterface,
- "ScriptRuntimeManager::GetScriptRuntime: cannot get instance of DefaultScriptNameResolver" );
- xScriptNameResolver = Reference< runtime::XScriptNameResolver >( xInterface, UNO_QUERY_THROW );
+ Reference< XInterface > xInterface(
+ m_xMgr->createInstanceWithContext(
+ OUString::createFromAscii("drafts.com.sun.star.script.framework.runtime.DefaultScriptNameResolver" ),
+ m_xContext
+ ),
+ UNO_SET_THROW
+ );
+ xScriptNameResolver.set( xInterface, UNO_QUERY_THROW );
}
catch ( Exception & e )
{
@@ -182,9 +170,8 @@ Any SAL_CALL ScriptRuntimeManager::invoke(
try
{
- Reference< storage::XScriptInfo > resolvedScript = resolve( scriptURI,
- resolvedCtx );
- validateXRef( resolvedScript, "ScriptRuntimeManager::invoke: No resolvedURI" );
+ Reference< storage::XScriptInfo > resolvedScript = resolve( scriptURI, resolvedCtx );
+ ENSURE_OR_THROW( resolvedScript.is(), "ScriptRuntimeManager::invoke: No resolvedURI" );
Reference< beans::XPropertySet > xPropSetResolvedCtx;
if ( sal_False == ( resolvedCtx >>= xPropSetResolvedCtx ) )
@@ -216,7 +203,7 @@ Any SAL_CALL ScriptRuntimeManager::invoke(
Reference< runtime::XScriptInvocation > xScriptInvocation =
getScriptRuntime( resolvedScript );
- validateXRef( xScriptInvocation,
+ ENSURE_OR_THROW( xScriptInvocation.is(),
"ScriptRuntimeManager::invoke: cannot get instance of language specific runtime." );
// the scriptURI is currently passed to the language-dept runtime but
@@ -232,13 +219,7 @@ Any SAL_CALL ScriptRuntimeManager::invoke(
{
Any a = m_xContext->getValueByName(
scriptingConstantsPool.SCRIPTSTORAGEMANAGER_SERVICE );
- Reference < lang::XEventListener > xEL_ScriptStorageManager;
- if ( sal_False == ( a >>= xEL_ScriptStorageManager ) )
- {
- throw RuntimeException( OUSTR( "ScriptRuntimeManager::invoke: can't get ScriptStorageManager XEventListener interface when trying to dispose of filesystem storage" ),
- Reference< XInterface > () );
- }
- validateXRef( xEL_ScriptStorageManager, "Cannot get XEventListener from ScriptStorageManager" );
+ Reference < lang::XEventListener > xEL_ScriptStorageManager( a, UNO_QUERY_THROW );
lang::EventObject event(resolvedScript);
xEL_ScriptStorageManager->disposing( event );
}
@@ -310,7 +291,7 @@ throw( lang::IllegalArgumentException, script::CannotConvertException, RuntimeEx
Reference< storage::XScriptInfo > resolvedURI;
Reference< runtime::XScriptNameResolver > xScriptNameResolver = getScriptNameResolver();
- validateXRef( xScriptNameResolver,
+ ENSURE_OR_THROW( xScriptNameResolver.is(),
"ScriptRuntimeManager::resolve: No ScriptNameResolver" );
try
diff --git a/scripting/source/runtimemgr/StorageBridge.cxx b/scripting/source/runtimemgr/StorageBridge.cxx
index d1915afba9e5..1e15cf808870 100644
--- a/scripting/source/runtimemgr/StorageBridge.cxx
+++ b/scripting/source/runtimemgr/StorageBridge.cxx
@@ -54,9 +54,8 @@ const int STORAGEPROXY = 0;
//*************************************************************************
// StorageBridge Constructor
StorageBridge::StorageBridge( const Reference< XComponentContext >& xContext,
- sal_Int32 sid ) : m_xContext( xContext ), m_sid( sid )
+ sal_Int32 sid ) : m_xContext( xContext, UNO_SET_THROW ), m_sid( sid )
{
- validateXRef( m_xContext, "StorageBridge::StorageBridge: invalid context" );
try
{
initStorage();
@@ -74,31 +73,12 @@ StorageBridge::initStorage() throw ( ::com::sun::star::uno::RuntimeException )
{
try
{
- Reference< lang::XMultiComponentFactory > xMultiComFac =
- m_xContext->getServiceManager();
- validateXRef( xMultiComFac,
- "StorageBridge::StorageBridge: cannot get multicomponentfactory from multiservice factory" );
- Reference< XInterface > temp;
-
- Any a = m_xContext->getValueByName(
- OUString::createFromAscii( SCRIPTSTORAGEMANAGER_SERVICE ) );
- if ( sal_False == ( a >>= temp ) )
- {
- throw RuntimeException(
- OUSTR( "StorageBridge::StorageBridge: could not obtain ScriptStorageManager singleton" ),
- Reference< XInterface >() );
- }
- validateXRef( temp,
- "StorageBridge::StorageBridge: cannot get Storage service" );
+ Reference< lang::XMultiComponentFactory > xMultiComFac( m_xContext->getServiceManager(), UNO_SET_THROW );
+ Reference< XInterface > temp( m_xContext->getValueByName(
+ OUString::createFromAscii( SCRIPTSTORAGEMANAGER_SERVICE ) ), UNO_QUERY_THROW );
Reference< storage::XScriptStorageManager > xScriptStorageManager( temp, UNO_QUERY_THROW );
- validateXRef( xScriptStorageManager,
- "StorageBridge::StorageBridge: cannot get Script Storage Manager service" );
- Reference< XInterface > xScriptStorage =
- xScriptStorageManager->getScriptStorage( m_sid );
- validateXRef( xScriptStorage,
- "StorageBridge::StorageBridge: cannot get Script Storage service" );
- m_xScriptInfoAccess =
- Reference< storage::XScriptInfoAccess > ( xScriptStorage, UNO_QUERY_THROW );
+ Reference< XInterface > xScriptStorage( xScriptStorageManager->getScriptStorage( m_sid ), UNO_SET_THROW );
+ m_xScriptInfoAccess.set( xScriptStorage, UNO_QUERY_THROW );
}
catch ( RuntimeException & re )
{