comphelper/source/misc/mediadescriptor.cxx | 56 +++++++++-------------------- include/comphelper/mediadescriptor.hxx | 12 ------ include/sal/log-areas.dox | 1 sfx2/source/doc/SfxDocumentMetaData.cxx | 6 +-- tools/source/fsys/urlobj.cxx | 12 +++++- 5 files changed, 32 insertions(+), 55 deletions(-)
New commits: commit 1bdc9d4380abccfbb095a76000a75dec8f10defb Author: Stephan Bergmann <sberg...@redhat.com> Date: Sat Aug 31 00:10:11 2013 +0200 Some trivial string clean up Change-Id: I68c738152250e0cbd317e903cb088c60e9b40566 diff --git a/sfx2/source/doc/SfxDocumentMetaData.cxx b/sfx2/source/doc/SfxDocumentMetaData.cxx index f1fe123..6697fda 100644 --- a/sfx2/source/doc/SfxDocumentMetaData.cxx +++ b/sfx2/source/doc/SfxDocumentMetaData.cxx @@ -651,15 +651,13 @@ SfxDocumentMetaData::getURLProperties( { css::uno::Reference< css::beans::XPropertyBag> xPropArg = css::beans::PropertyBag::createDefault( m_xContext ); try { - OUString dburl("DocumentBaseURL"); - OUString hdn("HierarchicalDocumentName"); for (sal_Int32 i = 0; i < i_rMedium.getLength(); ++i) { - if (i_rMedium[i].Name.equals(dburl)) { + if (i_rMedium[i].Name == "DocumentBaseURL") { xPropArg->addProperty( OUString("BaseURI"), css::beans::PropertyAttribute::MAYBEVOID, i_rMedium[i].Value); - } else if (i_rMedium[i].Name.equals(hdn)) { + } else if (i_rMedium[i].Name == "HierarchicalDocumentName") { xPropArg->addProperty( OUString("StreamRelPath"), css::beans::PropertyAttribute::MAYBEVOID, commit 11d743af1056b7f48debe2e98900065bb03833c9 Author: Stephan Bergmann <sberg...@redhat.com> Date: Sat Aug 31 00:09:48 2013 +0200 Some OSL_WARN -> SAL_WARN_IF Change-Id: I076adcd2f94c38a74f2dce618bc16efec577ed91 diff --git a/include/sal/log-areas.dox b/include/sal/log-areas.dox index 83b3ac0..99ceb69 100644 --- a/include/sal/log-areas.dox +++ b/include/sal/log-areas.dox @@ -272,6 +272,7 @@ certain functionality. @li @c tools.memtools @li @c tools.rc - resource manager @li @c tools.stream - SvStream class +@li @c tools.urlobj - INetURLObject class @section ucb diff --git a/tools/source/fsys/urlobj.cxx b/tools/source/fsys/urlobj.cxx index 136bfb1..fee81b7 100644 --- a/tools/source/fsys/urlobj.cxx +++ b/tools/source/fsys/urlobj.cxx @@ -1732,7 +1732,11 @@ bool INetURLObject::convertRelToAbs(OUString const & rTheRelURIRef, // Detect cases where a relative input could not be made absolute // because the given base URL is broken (most probably because it is // empty): - OSL_ASSERT(!HasError()); + SAL_WARN_IF( + HasError(), "tools.urlobj", + "cannot make <" << rTheRelURIRef + << "> absolute against broken base <" + << GetMainURL(NO_DECODE) << ">"); rWasAbsolute = false; return false; } @@ -1859,7 +1863,11 @@ bool INetURLObject::convertRelToAbs(OUString const & rTheRelURIRef, // Detect cases where a relative input could not be made absolute // because the given base URL is broken (most probably because it is // empty): - OSL_ASSERT(!HasError()); + SAL_WARN_IF( + HasError(), "tools.urlobj", + "cannot make <" << rTheRelURIRef + << "> absolute against broken base <" << GetMainURL(NO_DECODE) + << ">"); rWasAbsolute = false; return false; } commit 2c6363eb16f50a8cfd81bc8511554af4f9e06478 Author: Stephan Bergmann <sberg...@redhat.com> Date: Sat Aug 31 00:08:53 2013 +0200 Be less pathetic Change-Id: Ifeadfa9f95f85514f7d01ea777e2563803e0898c diff --git a/comphelper/source/misc/mediadescriptor.cxx b/comphelper/source/misc/mediadescriptor.cxx index 8fefd7d..fd2ff28 100644 --- a/comphelper/source/misc/mediadescriptor.cxx +++ b/comphelper/source/misc/mediadescriptor.cxx @@ -47,6 +47,24 @@ namespace comphelper{ +namespace { + +OUString removeFragment(OUString const & uri) { + css::uno::Reference< css::uri::XUriReference > ref( + css::uri::UriReferenceFactory::create( + comphelper::getProcessComponentContext())-> + parse(uri)); + if (ref.is()) { + ref->clearFragment(); + return ref->getUriReference(); + } else { + SAL_WARN("comphelper", "cannot parse <" << uri << ">"); + return uri; + } +} + +} + const OUString& MediaDescriptor::PROP_ABORTED() { static const OUString sProp("Aborted"); @@ -466,9 +484,7 @@ sal_Bool MediaDescriptor::impl_addInputStream( sal_Bool bLockFile ) throw css::uno::Exception("Found no URL.", css::uno::Reference< css::uno::XInterface >()); - // Parse URL! Only the main part has to be used further. E.g. a jumpmark can make trouble - OUString sNormalizedURL = impl_normalizeURL( sURL ); - return impl_openStreamWithURL( sNormalizedURL, bLockFile ); + return impl_openStreamWithURL( removeFragment(sURL), bLockFile ); } catch(const css::uno::Exception& ex) { @@ -707,40 +723,6 @@ sal_Bool MediaDescriptor::impl_openStreamWithURL( const OUString& sURL, sal_Bool return xInputStream.is(); } -OUString MediaDescriptor::impl_normalizeURL(const OUString& sURL) -{ - /* Remove Jumpmarks (fragments) of an URL only here. - They are not part of any URL and as a result may be - no ucb content can be created then. - On the other side arguments must exists ... because - they are part of an URL. - - Do not use the URLTransformer service here. Because - it parses the URL in another way. It's main part isnt enough - and it's complete part contains the jumpmark (fragment) parameter ... - */ - - try - { - css::uno::Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext(); - css::uno::Reference< css::uri::XUriReferenceFactory > xUriFactory = css::uri::UriReferenceFactory::create(xContext);; - css::uno::Reference< css::uri::XUriReference > xUriRef = xUriFactory->parse(sURL); - if (xUriRef.is()) - { - xUriRef->clearFragment(); - return xUriRef->getUriReference(); - } - } - catch(const css::uno::RuntimeException&) - { throw; } - catch(const css::uno::Exception&) - {} - - // If an error ocurred ... return the original URL. - // It's a try .-) - return sURL; -} - } // namespace comphelper /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/comphelper/mediadescriptor.hxx b/include/comphelper/mediadescriptor.hxx index dbd59dc..5f353e5 100644 --- a/include/comphelper/mediadescriptor.hxx +++ b/include/comphelper/mediadescriptor.hxx @@ -272,18 +272,6 @@ class COMPHELPER_DLLPUBLIC MediaDescriptor : public SequenceAsHashMap ) throw(::com::sun::star::uno::RuntimeException); //--------------------------------------- - /** @short some URL parts can make trouble for opening streams (e.g. jumpmarks.) - An URL should be "normalized" before its used. - - @param sURL - the original URL (e.g. including a jumpmark) - - @return [string] - the "normalized" URL (e.g. without jumpmark) - */ - COMPHELPER_DLLPRIVATE OUString impl_normalizeURL(const OUString& sURL); - - //--------------------------------------- /** @short it checks if the descriptor already has a valid InputStream item and creates a new one, if not. _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits