summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--connectivity/source/drivers/hsqldb/HStorageMap.cxx38
-rw-r--r--connectivity/source/drivers/hsqldb/StorageFileAccess.cxx20
-rw-r--r--connectivity/source/inc/hsqldb/HStorageMap.hxx9
3 files changed, 34 insertions, 33 deletions
diff --git a/connectivity/source/drivers/hsqldb/HStorageMap.cxx b/connectivity/source/drivers/hsqldb/HStorageMap.cxx
index cf6ad3ff12a0..afd97ed77eae 100644
--- a/connectivity/source/drivers/hsqldb/HStorageMap.cxx
+++ b/connectivity/source/drivers/hsqldb/HStorageMap.cxx
@@ -170,13 +170,12 @@ namespace connectivity
// check if the storage is already in our map
TStorages::iterator aFind = ::std::find_if(rMap.begin(),rMap.end(),
[&_xStorage] (const TStorages::value_type& storage) {
- // TStoragePair (second) -> TStorageURLPair (first) -> uno::Reference<XStorage> (first)
- return storage.second.first.first == _xStorage;
+ return storage.second.storage == _xStorage;
});
if ( aFind == rMap.end() )
{
- aFind = rMap.insert(TStorages::value_type(lcl_getNextCount(),TStorages::mapped_type(TStorageURLPair(_xStorage,_sURL),TStreamMap()))).first;
+ aFind = rMap.insert(TStorages::value_type(lcl_getNextCount(), {_xStorage, _sURL, TStreamMap()})).first;
}
return aFind->first;
@@ -202,8 +201,7 @@ namespace connectivity
// check if the storage is already in our map
TStorages::iterator aFind = ::std::find_if(rMap.begin(),rMap.end(),
[&_xStorage] (const TStorages::value_type& storage) {
- // TStoragePair (second) -> TStorageURLPair (first) -> uno::Reference<XStorage> (first)
- return storage.second.first.first == _xStorage;
+ return storage.second.storage == _xStorage;
});
if ( aFind != rMap.end() )
@@ -221,10 +219,10 @@ namespace connectivity
{
if ( _xListener.is() )
{
- Reference<XTransactionBroadcaster> xBroad(aFind->second.first.first,UNO_QUERY);
+ Reference<XTransactionBroadcaster> xBroad(aFind->second.storage,UNO_QUERY);
if ( xBroad.is() )
xBroad->removeTransactionListener(_xListener);
- Reference<XTransactedObject> xTrans(aFind->second.first.first,UNO_QUERY);
+ Reference<XTransactedObject> xTrans(aFind->second.storage,UNO_QUERY);
if ( xTrans.is() )
xTrans->commit();
}
@@ -246,14 +244,14 @@ namespace connectivity
if ( aFind != rMap.end() )
{
TStorages::mapped_type aStoragePair = StorageContainer::getRegisteredStorage(sKey);
- OSL_ENSURE(aStoragePair.first.first.is(),"No Storage available!");
- if ( aStoragePair.first.first.is() )
+ OSL_ENSURE(aStoragePair.storage.is(),"No Storage available!");
+ if ( aStoragePair.storage.is() )
{
OUString sOrgName = StorageContainer::jstring2ustring(env,name);
- OUString sName = removeURLPrefix(sOrgName,aStoragePair.first.second);
- TStreamMap::iterator aStreamFind = aFind->second.second.find(sName);
- OSL_ENSURE( aStreamFind == aFind->second.second.end(),"A Stream was already registered for this object!");
- if ( aStreamFind != aFind->second.second.end() )
+ OUString sName = removeURLPrefix(sOrgName,aStoragePair.url);
+ TStreamMap::iterator aStreamFind = aFind->second.streams.find(sName);
+ OSL_ENSURE( aStreamFind == aFind->second.streams.end(),"A Stream was already registered for this object!");
+ if ( aStreamFind != aFind->second.streams.end() )
{
pHelper = aStreamFind->second;
}
@@ -263,7 +261,7 @@ namespace connectivity
{
try
{
- pHelper.reset(new StreamHelper(aStoragePair.first.first->openStreamElement(sName,_nMode)));
+ pHelper.reset(new StreamHelper(aStoragePair.storage->openStreamElement(sName,_nMode)));
}
catch(const Exception&)
{
@@ -274,7 +272,7 @@ namespace connectivity
bool bIsStream = true;
try
{
- bIsStream = aStoragePair.first.first->isStreamElement(sStrippedName);
+ bIsStream = aStoragePair.storage->isStreamElement(sStrippedName);
}
catch(const Exception&)
{
@@ -283,9 +281,9 @@ namespace connectivity
if ( !bIsStream )
return pHelper; // readonly file without data stream
}
- pHelper.reset( new StreamHelper(aStoragePair.first.first->openStreamElement( sStrippedName, _nMode ) ) );
+ pHelper.reset( new StreamHelper(aStoragePair.storage->openStreamElement( sStrippedName, _nMode ) ) );
}
- aFind->second.second.insert(TStreamMap::value_type(sName,pHelper));
+ aFind->second.streams.insert(TStreamMap::value_type(sName,pHelper));
}
catch(const Exception& e)
{
@@ -313,7 +311,7 @@ namespace connectivity
TStorages::iterator aFind = rMap.find(jstring2ustring(env,key));
OSL_ENSURE(aFind != rMap.end(),"Storage could not be found in list!");
if ( aFind != rMap.end() )
- aFind->second.second.erase(removeURLPrefix(jstring2ustring(env,name),aFind->second.first.second));
+ aFind->second.streams.erase(removeURLPrefix(jstring2ustring(env,name),aFind->second.url));
}
TStreamMap::mapped_type StorageContainer::getRegisteredStream( JNIEnv * env,jstring name, jstring key)
@@ -324,8 +322,8 @@ namespace connectivity
OSL_ENSURE(aFind != rMap.end(),"Storage could not be found in list!");
if ( aFind != rMap.end() )
{
- TStreamMap::iterator aStreamFind = aFind->second.second.find(removeURLPrefix(jstring2ustring(env,name),aFind->second.first.second));
- if ( aStreamFind != aFind->second.second.end() )
+ TStreamMap::iterator aStreamFind = aFind->second.streams.find(removeURLPrefix(jstring2ustring(env,name),aFind->second.url));
+ if ( aStreamFind != aFind->second.streams.end() )
pRet = aStreamFind->second;
}
diff --git a/connectivity/source/drivers/hsqldb/StorageFileAccess.cxx b/connectivity/source/drivers/hsqldb/StorageFileAccess.cxx
index 498b39935bfb..8937898a71bb 100644
--- a/connectivity/source/drivers/hsqldb/StorageFileAccess.cxx
+++ b/connectivity/source/drivers/hsqldb/StorageFileAccess.cxx
@@ -43,7 +43,7 @@ extern "C" SAL_JNI_EXPORT jboolean JNICALL Java_com_sun_star_sdbcx_comp_hsqldb_S
(JNIEnv * env, jobject /*obj_this*/,jstring key, jstring name)
{
TStorages::mapped_type aStoragePair = StorageContainer::getRegisteredStorage(StorageContainer::jstring2ustring(env,key));
- if ( aStoragePair.first.first.is() )
+ if ( aStoragePair.storage.is() )
{
try
{
@@ -51,11 +51,11 @@ extern "C" SAL_JNI_EXPORT jboolean JNICALL Java_com_sun_star_sdbcx_comp_hsqldb_S
try
{
OUString sOldName = StorageContainer::removeOldURLPrefix(sName);
- if ( aStoragePair.first.first->isStreamElement(sOldName) )
+ if ( aStoragePair.storage->isStreamElement(sOldName) )
{
try
{
- aStoragePair.first.first->renameElement(sOldName,StorageContainer::removeURLPrefix(sName,aStoragePair.first.second));
+ aStoragePair.storage->renameElement(sOldName,StorageContainer::removeURLPrefix(sName,aStoragePair.url));
}
catch(const Exception&)
{
@@ -68,7 +68,7 @@ extern "C" SAL_JNI_EXPORT jboolean JNICALL Java_com_sun_star_sdbcx_comp_hsqldb_S
catch(const IllegalArgumentException&)
{
}
- return aStoragePair.first.first->isStreamElement(StorageContainer::removeURLPrefix(sName,aStoragePair.first.second));
+ return aStoragePair.storage->isStreamElement(StorageContainer::removeURLPrefix(sName,aStoragePair.url));
}
catch(const NoSuchElementException&)
{
@@ -101,11 +101,11 @@ extern "C" SAL_JNI_EXPORT void JNICALL Java_com_sun_star_sdbcx_comp_hsqldb_Stora
}
#endif
TStorages::mapped_type aStoragePair = StorageContainer::getRegisteredStorage(StorageContainer::jstring2ustring(env,key));
- if ( aStoragePair.first.first.is() )
+ if ( aStoragePair.storage.is() )
{
try
{
- aStoragePair.first.first->removeElement(StorageContainer::removeURLPrefix(StorageContainer::jstring2ustring(env,name),aStoragePair.first.second));
+ aStoragePair.storage->removeElement(StorageContainer::removeURLPrefix(StorageContainer::jstring2ustring(env,name),aStoragePair.url));
}
catch(const NoSuchElementException&)
{
@@ -137,13 +137,13 @@ extern "C" SAL_JNI_EXPORT void JNICALL Java_com_sun_star_sdbcx_comp_hsqldb_Stora
}
#endif
TStorages::mapped_type aStoragePair = StorageContainer::getRegisteredStorage(StorageContainer::jstring2ustring(env,key));
- if ( aStoragePair.first.first.is() )
+ if ( aStoragePair.storage.is() )
{
try
{
- aStoragePair.first.first->renameElement(
- StorageContainer::removeURLPrefix(StorageContainer::jstring2ustring(env,oldname),aStoragePair.first.second),
- StorageContainer::removeURLPrefix(StorageContainer::jstring2ustring(env,newname),aStoragePair.first.second)
+ aStoragePair.storage->renameElement(
+ StorageContainer::removeURLPrefix(StorageContainer::jstring2ustring(env,oldname),aStoragePair.url),
+ StorageContainer::removeURLPrefix(StorageContainer::jstring2ustring(env,newname),aStoragePair.url)
);
#ifdef HSQLDB_DBG
{
diff --git a/connectivity/source/inc/hsqldb/HStorageMap.hxx b/connectivity/source/inc/hsqldb/HStorageMap.hxx
index 01975b69696d..1150be49a580 100644
--- a/connectivity/source/inc/hsqldb/HStorageMap.hxx
+++ b/connectivity/source/inc/hsqldb/HStorageMap.hxx
@@ -54,9 +54,12 @@ namespace connectivity
typedef std::map< OUString, std::shared_ptr<StreamHelper> > TStreamMap;
- typedef ::std::pair< ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >, OUString > TStorageURLPair;
- typedef ::std::pair< TStorageURLPair, TStreamMap> TStoragePair;
- typedef std::map<OUString, TStoragePair> TStorages;
+ struct StorageData {
+ css::uno::Reference<css::embed::XStorage> storage;
+ OUString url;
+ TStreamMap streams;
+ };
+ typedef std::map<OUString, StorageData> TStorages;
/** contains all storages so far accessed.
*/
class StorageContainer