From 6ffa1eb3aaa19fb93ff56c9e6487610e3a6f4d97 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Wed, 2 Mar 2011 13:38:26 +0000 Subject: [PATCH] LMS-2077 thread save lazy loading share IDs. SVN: 20201 --- .../openbis/dss/generic/server/ShareIdManager.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ShareIdManager.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ShareIdManager.java index b291047b38c..3c73b624916 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ShareIdManager.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ShareIdManager.java @@ -246,12 +246,11 @@ public class ShareIdManager implements IShareIdManager private Map<String, GuardedShareID> getDataSetCodeToShareIdMap() { - if (dataSetCodeToShareIdMap == null) + synchronized (dataSetCodeToShareIdMapMonitor) { - synchronized (dataSetCodeToShareIdMapMonitor) + if (dataSetCodeToShareIdMap == null) { - dataSetCodeToShareIdMap = - new HashMap<String, GuardedShareID>(); + dataSetCodeToShareIdMap = new HashMap<String, GuardedShareID>(); List<SimpleDataSetInformationDTO> dataSets = service.listDataSets(); for (SimpleDataSetInformationDTO dataSet : dataSets) { @@ -259,10 +258,11 @@ public class ShareIdManager implements IShareIdManager String shareId = dataSet.getDataSetShareId(); addShareId(dataSetCodeToShareIdMap, dataSetCode, shareId); } - operationLog.info("Share id manager initialized with " + dataSets.size() + " data sets."); + operationLog.info("Share id manager initialized with " + dataSets.size() + + " data sets."); } + return dataSetCodeToShareIdMap; } - return dataSetCodeToShareIdMap; } } -- GitLab