diff options
Diffstat (limited to 'ucb')
-rw-r--r-- | ucb/source/ucp/cmis/cmis_content.cxx | 14 | ||||
-rw-r--r-- | ucb/source/ucp/cmis/cmis_url.cxx | 3 |
2 files changed, 10 insertions, 7 deletions
diff --git a/ucb/source/ucp/cmis/cmis_content.cxx b/ucb/source/ucp/cmis/cmis_content.cxx index 4bc7c3c6fc7c..48556ed64d3e 100644 --- a/ucb/source/ucp/cmis/cmis_content.cxx +++ b/ucb/source/ucp/cmis/cmis_content.cxx @@ -1258,8 +1258,6 @@ namespace cmis m_pObjectType.reset( ); m_pObjectProps.clear( ); m_bTransient = false; - uno::Reference< ucb::XContentIdentifier > xId(new ::ucbhelper::ContentIdentifier(m_sURL)); - m_xIdentifier = xId; inserted(); } } @@ -1538,10 +1536,16 @@ namespace cmis return parentUrl; else { - INetURLObject aParentUrl( m_sURL ); - aParentUrl.removeSegment( ); - return aParentUrl.GetMainURL( INetURLObject::NO_DECODE ); + INetURLObject aUrl( m_sURL ); + if ( aUrl.getSegmentCount( ) > 0 ) + { + URL aCmisUrl( m_sURL ); + aUrl.removeSegment( ); + aCmisUrl.setObjectPath( aUrl.GetURLPath( INetURLObject::DECODE_WITH_CHARSET ) ); + parentUrl = aCmisUrl.asString( ); + } } + return parentUrl; } XTYPEPROVIDER_COMMON_IMPL( Content ); diff --git a/ucb/source/ucp/cmis/cmis_url.cxx b/ucb/source/ucp/cmis/cmis_url.cxx index 5c0a926a3111..b6dbf6c6b2ef 100644 --- a/ucb/source/ucp/cmis/cmis_url.cxx +++ b/ucb/source/ucp/cmis/cmis_url.cxx @@ -102,8 +102,7 @@ namespace cmis } while ( nPos != -1 ); sUrl += sEncodedPath; - } - if ( !m_sId.isEmpty( ) ) + } else if ( !m_sId.isEmpty( ) ) { sUrl += "#" + rtl::Uri::encode( m_sId, rtl_UriCharClassRelSegment, |