summaryrefslogtreecommitdiff
path: root/stoc/source/simpleregistry
diff options
context:
space:
mode:
authorsb <sb@openoffice.org>2010-10-06 17:43:02 +0200
committersb <sb@openoffice.org>2010-10-06 17:43:02 +0200
commit1221920d8979270644cf55c02e9202c534adb20f (patch)
tree6906f1ff068542059576c5bf0e15958c5e0ef2ce /stoc/source/simpleregistry
parenta11de8a02bff0ab27f0bffd86ad28b9a583ddab8 (diff)
sb131: #i114962# first step of passive extension component registration (no live deployment yet)
Diffstat (limited to 'stoc/source/simpleregistry')
-rwxr-xr-xstoc/source/simpleregistry/textualservices.cxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/stoc/source/simpleregistry/textualservices.cxx b/stoc/source/simpleregistry/textualservices.cxx
index 932c639124d0..5a50a5aa62c6 100755
--- a/stoc/source/simpleregistry/textualservices.cxx
+++ b/stoc/source/simpleregistry/textualservices.cxx
@@ -41,8 +41,10 @@
#include "com/sun/star/uno/XInterface.hpp"
#include "cppuhelper/implbase1.hxx"
#include "osl/diagnose.h"
+#include "rtl/malformeduriexception.hxx"
#include "rtl/ref.hxx"
#include "rtl/string.h"
+#include "rtl/uri.hxx"
#include "rtl/ustrbuf.hxx"
#include "rtl/ustring.h"
#include "rtl/ustring.hxx"
@@ -306,6 +308,16 @@ void Parser::handleComponent() {
": <component> is missing \"loader\" attribute"))),
css::uno::Reference< css::uno::XInterface >());
}
+ try {
+ attrUri_ = rtl::Uri::convertRelToAbs(reader_.getUrl(), attrUri_);
+ } catch (rtl::MalformedUriException & e) {
+ throw css::registry::InvalidRegistryException(
+ (reader_.getUrl() +
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(": bad \"uri\" attribute: ")) +
+ e.getMessage()),
+ css::uno::Reference< css::uno::XInterface >());
+ }
}
void Parser::handleImplementation() {