diff options
author | David Tardon <dtardon@redhat.com> | 2010-11-19 13:37:49 +0100 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2010-11-20 16:59:36 +0100 |
commit | 60e83cbcc55f0f5164923e3188d5b816176011c4 (patch) | |
tree | e7d8be410b25850a48de8722860245feee71f96b /desktop/source/deployment/manager/dp_extensionmanager.cxx | |
parent | d3f641640d65f382fe3a028c64fdfea49b584c71 (diff) |
replace code repetition by a loop
Diffstat (limited to 'desktop/source/deployment/manager/dp_extensionmanager.cxx')
-rw-r--r-- | desktop/source/deployment/manager/dp_extensionmanager.cxx | 36 |
1 files changed, 14 insertions, 22 deletions
diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index c6529ec0e8cc..dc737dd7947f 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -283,29 +283,21 @@ void ExtensionManager::addExtensionsToMap( { ::std::list<Reference<deploy::XPackage> > extensionList; - try - { //will throw an exception if the extension does not exist - extensionList.push_back(m_userRepository->getDeployedPackage( - identifier, fileName, Reference<ucb::XCommandEnvironment>())); - } catch(lang::IllegalArgumentException &) - { - extensionList.push_back(Reference<deploy::XPackage>()); - } - try - { - extensionList.push_back(m_sharedRepository->getDeployedPackage( - identifier, fileName, Reference<ucb::XCommandEnvironment>())); - } catch (lang::IllegalArgumentException &) - { - extensionList.push_back(Reference<deploy::XPackage>()); - } - try - { - extensionList.push_back(m_bundledRepository->getDeployedPackage( - identifier, fileName, Reference<ucb::XCommandEnvironment>())); - } catch (lang::IllegalArgumentException &) + Reference<deploy::XPackageManager> lRepos[] = { + m_userRepository, m_sharedRepository, m_bundledRepository }; + for (int i(0); i != SAL_N_ELEMENTS(lRepos); ++i) { - extensionList.push_back(Reference<deploy::XPackage>()); + Reference<deploy::XPackage> xPackage; + try + { + xPackage = lRepos[i]->getDeployedPackage( + identifier, fileName, Reference<ucb::XCommandEnvironment>()); + } + catch(lang::IllegalArgumentException &) + { + // thrown if the extension does not exist in this repository + } + extensionList.push_back(xPackage); } OSL_ASSERT(extensionList.size() == 3); return extensionList; |