summaryrefslogtreecommitdiff
path: root/framework
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2014-11-19 18:36:49 +0100
committerStephan Bergmann <sbergman@redhat.com>2014-11-20 08:34:50 +0100
commit9dc7bae64d1c08e06c755ea97c21e50bd6a8eec1 (patch)
tree04c8e9948313084fbe0398a58ceca69e5eb6fab5 /framework
parent5252652ac57b3358db6cc0d423cc3d67882b5e90 (diff)
Revert "coverity#1169848 Uncaught exception"
This reverts commit b0a7722ebfa720255b6ce1e383a3aacae0ce5e9f, now that fced31697bcc2a2a4da34d804582002de0320302 "comphelper::SequenceAsHashMap: throw IllegalArgumentException" made the underlying problem go away. Conflicts: framework/source/services/modulemanager.cxx Change-Id: I6599cf25d4f28d2bab19da67d5de5caacd84a622
Diffstat (limited to 'framework')
-rw-r--r--framework/source/services/modulemanager.cxx86
1 files changed, 38 insertions, 48 deletions
diff --git a/framework/source/services/modulemanager.cxx b/framework/source/services/modulemanager.cxx
index 7a3cee7dcc1f..cdb176359dd8 100644
--- a/framework/source/services/modulemanager.cxx
+++ b/framework/source/services/modulemanager.cxx
@@ -235,59 +235,49 @@ void SAL_CALL ModuleManager::replaceByName(const OUString& sName ,
css::lang::WrappedTargetException ,
css::uno::RuntimeException, std::exception )
{
- try
+ ::comphelper::SequenceAsHashMap lProps(aValue);
+ if (lProps.empty() )
{
- ::comphelper::SequenceAsHashMap lProps(aValue);
- if (lProps.empty() )
- {
- throw css::lang::IllegalArgumentException(
- OUString("No properties given to replace part of module."),
- static_cast< cppu::OWeakObject * >(this),
- 2);
- }
-
- // get access to the element
- // Note: Dont use impl_getConfig() method here. Because it creates a readonly access only, further
- // it cache it as a member of this module manager instance. If we change some props there ... but dont
- // flush changes (because an error occurred) we will read them later. If we use a different config access
- // we can close it without a flush ... and our read data wont be affected .-)
- css::uno::Reference< css::uno::XInterface > xCfg = ::comphelper::ConfigurationHelper::openConfig(
- m_xContext,
- "/org.openoffice.Setup/Office/Factories",
- ::comphelper::ConfigurationHelper::E_STANDARD);
- css::uno::Reference< css::container::XNameAccess > xModules (xCfg, css::uno::UNO_QUERY_THROW);
- css::uno::Reference< css::container::XNameReplace > xModule;
-
- xModules->getByName(sName) >>= xModule;
- if (!xModule.is())
- {
- throw css::uno::RuntimeException(
- OUString("Was not able to get write access to the requested module entry inside configuration."),
- static_cast< cppu::OWeakObject * >(this));
- }
-
- ::comphelper::SequenceAsHashMap::const_iterator pProp;
- for ( pProp = lProps.begin();
- pProp != lProps.end();
- ++pProp )
- {
- const OUString& sPropName = pProp->first;
- const css::uno::Any& aPropValue = pProp->second;
-
- // let "NoSuchElementException" out ! We support the same API ...
- // and without a flush() at the end all changed data before will be ignored !
- xModule->replaceByName(sPropName, aPropValue);
- }
+ throw css::lang::IllegalArgumentException(
+ OUString("No properties given to replace part of module."),
+ static_cast< cppu::OWeakObject * >(this),
+ 2);
+ }
- ::comphelper::ConfigurationHelper::flush(xCfg);
+ // get access to the element
+ // Note: Dont use impl_getConfig() method here. Because it creates a readonly access only, further
+ // it cache it as a member of this module manager instance. If we change some props there ... but dont
+ // flush changes (because an error occurred) we will read them later. If we use a different config access
+ // we can close it without a flush ... and our read data wont be affected .-)
+ css::uno::Reference< css::uno::XInterface > xCfg = ::comphelper::ConfigurationHelper::openConfig(
+ m_xContext,
+ "/org.openoffice.Setup/Office/Factories",
+ ::comphelper::ConfigurationHelper::E_STANDARD);
+ css::uno::Reference< css::container::XNameAccess > xModules (xCfg, css::uno::UNO_QUERY_THROW);
+ css::uno::Reference< css::container::XNameReplace > xModule ;
+
+ xModules->getByName(sName) >>= xModule;
+ if (!xModule.is())
+ {
+ throw css::uno::RuntimeException(
+ OUString("Was not able to get write access to the requested module entry inside configuration."),
+ static_cast< cppu::OWeakObject * >(this));
}
- catch (const css::beans::IllegalTypeException& e)
+
+ ::comphelper::SequenceAsHashMap::const_iterator pProp;
+ for ( pProp = lProps.begin();
+ pProp != lProps.end() ;
+ ++pProp )
{
- css::uno::Any a(e);
- throw css::lang::WrappedTargetException(
- OUString("ModuleManager::replaceByName: IllegalType exception"),
- css::uno::Reference<css::uno::XInterface>(*this), a);
+ const OUString& sPropName = pProp->first;
+ const css::uno::Any& aPropValue = pProp->second;
+
+ // let "NoSuchElementException" out ! We support the same API ...
+ // and without a flush() at the end all changed data before will be ignored !
+ xModule->replaceByName(sPropName, aPropValue);
}
+
+ ::comphelper::ConfigurationHelper::flush(xCfg);
}
css::uno::Any SAL_CALL ModuleManager::getByName(const OUString& sName)