summaryrefslogtreecommitdiff
path: root/ucb/source/ucp/cmis/cmis_content.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'ucb/source/ucp/cmis/cmis_content.cxx')
-rw-r--r--ucb/source/ucp/cmis/cmis_content.cxx10
1 files changed, 8 insertions, 2 deletions
diff --git a/ucb/source/ucp/cmis/cmis_content.cxx b/ucb/source/ucp/cmis/cmis_content.cxx
index 3ee3518dd599..d23ce6e4ea4a 100644
--- a/ucb/source/ucp/cmis/cmis_content.cxx
+++ b/ucb/source/ucp/cmis/cmis_content.cxx
@@ -339,7 +339,7 @@ namespace cmis
// Look for a cached session, key is binding url + repo id
OUString sSessionId = m_aURL.getBindingUrl( ) + m_aURL.getRepositoryId( );
if ( NULL == m_pSession )
- m_pSession = m_pProvider->getSession( sSessionId );
+ m_pSession = m_pProvider->getSession( sSessionId, m_aURL.getUsername( ) );
if ( NULL == m_pSession )
{
@@ -411,7 +411,7 @@ namespace cmis
}
else
{
- m_pProvider->registerSession(sSessionId, m_pSession);
+ m_pProvider->registerSession(sSessionId, m_aURL.getUsername( ), m_pSession);
}
}
else
@@ -2019,14 +2019,20 @@ namespace cmis
{
// TODO Cache the objects
+ INetURLObject aURL( m_sURL );
+ OUString sUser = aURL.GetUser( INetURLObject::NO_DECODE );
+
URL aUrl( m_sURL );
OUString sPath( m_sObjectPath );
if ( !sPath.endsWith("/") )
sPath += "/";
sPath += STD_TO_OUSTR( ( *it )->getName( ) );
OUString sId = STD_TO_OUSTR( ( *it )->getId( ) );
+
aUrl.setObjectId( sId );
aUrl.setObjectPath( sPath );
+ aUrl.setUsername( sUser );
+
uno::Reference< ucb::XContentIdentifier > xId = new ucbhelper::ContentIdentifier( aUrl.asString( ) );
uno::Reference< ucb::XContent > xContent = new Content( m_xContext, m_pProvider, xId, *it );