diff options
-rw-r--r-- | ucb/source/ucp/cmis/cmis_content.cxx | 6 | ||||
-rw-r--r-- | ucb/source/ucp/cmis/cmis_url.cxx | 9 | ||||
-rw-r--r-- | ucb/source/ucp/cmis/cmis_url.hxx | 5 |
3 files changed, 13 insertions, 7 deletions
diff --git a/ucb/source/ucp/cmis/cmis_content.cxx b/ucb/source/ucp/cmis/cmis_content.cxx index 59febd9cc596..ddf09ba56342 100644 --- a/ucb/source/ucp/cmis/cmis_content.cxx +++ b/ucb/source/ucp/cmis/cmis_content.cxx @@ -163,13 +163,13 @@ namespace cmis cmis::URL url( m_sURL ); // Look for a cached session, key is binding url + repo id - INetURLObject aUrlObj( m_sURL ); - m_pSession = pProvider->getSession( aUrlObj.GetHost( ) ); + rtl::OUString sSessionId = url.getBindingUrl( ) + url.getRepositoryId( ); + m_pSession = pProvider->getSession( sSessionId ); if ( NULL == m_pSession ) { // Initiate a CMIS session and register it as we found nothing m_pSession = libcmis::SessionFactory::createSession( url.getSessionParams( ) ); - pProvider->registerSession( aUrlObj.GetHost( ), m_pSession ); + pProvider->registerSession( sSessionId, m_pSession ); } m_sObjectPath = url.getObjectPath( ); diff --git a/ucb/source/ucp/cmis/cmis_url.cxx b/ucb/source/ucp/cmis/cmis_url.cxx index aed136b3d86a..92d859db8309 100644 --- a/ucb/source/ucp/cmis/cmis_url.cxx +++ b/ucb/source/ucp/cmis/cmis_url.cxx @@ -70,16 +70,21 @@ namespace cmis return params; } - rtl::OUString URL::getObjectPath( ) + rtl::OUString& URL::getObjectPath( ) { return m_sPath; } - rtl::OUString URL::getBindingUrl( ) + rtl::OUString& URL::getBindingUrl( ) { return m_sBindingUrl; } + rtl::OUString& URL::getRepositoryId( ) + { + return m_sRepositoryId; + } + void URL::setObjectPath( rtl::OUString sPath ) { m_sPath = sPath; diff --git a/ucb/source/ucp/cmis/cmis_url.hxx b/ucb/source/ucp/cmis/cmis_url.hxx index 833804b7e9f4..4033a176a2c3 100644 --- a/ucb/source/ucp/cmis/cmis_url.hxx +++ b/ucb/source/ucp/cmis/cmis_url.hxx @@ -49,8 +49,9 @@ namespace cmis URL( rtl::OUString const & urlStr ); std::map< int, std::string > getSessionParams( ); - rtl::OUString getObjectPath( ); - rtl::OUString getBindingUrl( ); + rtl::OUString& getObjectPath( ); + rtl::OUString& getBindingUrl( ); + rtl::OUString& getRepositoryId( ); void setObjectPath( rtl::OUString sPath ); rtl::OUString asString( ); |