summaryrefslogtreecommitdiff
path: root/ucb
diff options
context:
space:
mode:
Diffstat (limited to 'ucb')
-rw-r--r--ucb/source/ucp/cmis/cmis_content.cxx14
-rw-r--r--ucb/source/ucp/cmis/cmis_url.cxx3
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,