From a6b8d15708bacb44d19bdfe2b51b278bea5ea6ba Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Fri, 22 Mar 2013 18:07:47 +0100
Subject: [PATCH] OO-568: fix memory leak, remove inner class to prevent big
 memory consumption if an other memory leak...

---
 .../core/dispatcher/mapper/manager/MapperServiceImpl.java     | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/olat/core/dispatcher/mapper/manager/MapperServiceImpl.java b/src/main/java/org/olat/core/dispatcher/mapper/manager/MapperServiceImpl.java
index af14c8e9e33..57a9573b6da 100644
--- a/src/main/java/org/olat/core/dispatcher/mapper/manager/MapperServiceImpl.java
+++ b/src/main/java/org/olat/core/dispatcher/mapper/manager/MapperServiceImpl.java
@@ -114,7 +114,8 @@ public class MapperServiceImpl implements MapperService {
 	@Override
 	public String register(UserSession session, String mapperId, Mapper mapper) {
 		String encryptedMapId = Encoder.encrypt(mapperId);
-		boolean alreadyLoaded = mapperKeyToMapper.containsKey(encryptedMapId);
+		MapperKey mapperKey = new MapperKey(session, encryptedMapId);
+		boolean alreadyLoaded = mapperKeyToMapper.containsKey(mapperKey);
 		if(mapper instanceof Serializable) {
 			if(alreadyLoaded) {
 				if(!mapperDao.updateConfiguration(encryptedMapId, (Serializable)mapper)) {
@@ -130,7 +131,6 @@ public class MapperServiceImpl implements MapperService {
 			}
 		}
 
-		MapperKey mapperKey = new MapperKey(session, encryptedMapId);
 		mapperKeyToMapper.put(mapperKey, mapper);
 		mapperToMapperKey.put(mapper, mapperKey);
 		return WebappHelper.getServletContextPath() + DispatcherAction.PATH_MAPPED + encryptedMapId;
-- 
GitLab