From b8058bbfa429b2c7b57b9a5efd76213ef916a965 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Fri, 1 Nov 2019 14:55:19 +0100
Subject: [PATCH] OO-4220: remove deprecated dependencies to infinispan classes

---
 .../olat/admin/cache/AllCachesController.java |  8 ++++--
 .../cache/infinispan/InfinispanCacher.java    | 27 ++++++++++++-------
 .../login/ui/PasswordSyntaxController.java    |  3 +--
 .../modules/fo/ui/ForumMessageDataModel.java  |  3 +--
 .../RepositoryEntriesCalloutController.java   |  3 +--
 .../org/olat/core/util/StringHelperTest.java  | 18 ++++++-------
 6 files changed, 35 insertions(+), 27 deletions(-)

diff --git a/src/main/java/org/olat/admin/cache/AllCachesController.java b/src/main/java/org/olat/admin/cache/AllCachesController.java
index 85ab13a7662..d78c8367286 100644
--- a/src/main/java/org/olat/admin/cache/AllCachesController.java
+++ b/src/main/java/org/olat/admin/cache/AllCachesController.java
@@ -33,6 +33,8 @@ import java.util.Set;
 
 import org.apache.logging.log4j.Logger;
 import org.infinispan.Cache;
+import org.infinispan.configuration.cache.Configuration;
+import org.infinispan.configuration.cache.StorageType;
 import org.infinispan.manager.EmbeddedCacheManager;
 import org.infinispan.stats.Stats;
 import org.olat.core.CoreSpringFactory;
@@ -201,13 +203,15 @@ public class AllCachesController extends BasicController {
 			
 			this.cname = cname;
 			
-			binary = cache.getCacheConfiguration().storeAsBinary().enabled();
+			Configuration configuration = cache.getCacheConfiguration();
+			
+			binary = configuration.memory().storageType() == StorageType.BINARY;
 			hits = stats.getHits();
 			misses = stats.getMisses();
 			size = cache.getAdvancedCache().size();
 			maxIdle = cache.getCacheConfiguration().expiration().maxIdle();
 			lifespan = cache.getCacheConfiguration().expiration().lifespan();
-			maxEntries = cache.getCacheConfiguration().eviction().maxEntries();
+			maxEntries = configuration.memory().size();
 			cacheMode = cache.getCacheConfiguration().clustering().cacheModeString();
 		}
 		
diff --git a/src/main/java/org/olat/core/util/cache/infinispan/InfinispanCacher.java b/src/main/java/org/olat/core/util/cache/infinispan/InfinispanCacher.java
index 70a70a4e018..308313b9987 100644
--- a/src/main/java/org/olat/core/util/cache/infinispan/InfinispanCacher.java
+++ b/src/main/java/org/olat/core/util/cache/infinispan/InfinispanCacher.java
@@ -28,6 +28,7 @@ package org.olat.core.util.cache.infinispan;
 import org.infinispan.Cache;
 import org.infinispan.configuration.cache.Configuration;
 import org.infinispan.configuration.cache.ConfigurationBuilder;
+import org.infinispan.configuration.cache.StorageType;
 import org.infinispan.eviction.EvictionStrategy;
 import org.infinispan.eviction.EvictionType;
 import org.infinispan.manager.EmbeddedCacheManager;
@@ -75,16 +76,22 @@ public class InfinispanCacher implements Cacher {
 			long maxIdle = 900000l;
 			
 			ConfigurationBuilder builder = new ConfigurationBuilder();
-			builder.eviction().strategy(EvictionStrategy.LRU);
-			builder.eviction().type(EvictionType.COUNT).size(maxEntries);
-			builder.expiration().maxIdle(maxIdle);
-			builder.transaction().transactionMode(TransactionMode.NON_TRANSACTIONAL);
-			builder.dataContainer().storeAsBinary().storeValuesAsBinary(false);
-			builder.locking().concurrencyLevel(1000);
-			builder.locking().useLockStriping(false);
-			builder.locking().lockAcquisitionTimeout(15000);
-			builder.locking().isolationLevel(IsolationLevel.READ_COMMITTED);
-			builder.jmxStatistics().enable();
+			builder.memory()
+				.evictionStrategy(EvictionStrategy.REMOVE)
+				.evictionType(EvictionType.COUNT)
+				.storageType(StorageType.OBJECT)
+				.size(maxEntries);
+			builder.expiration()
+				.maxIdle(maxIdle);
+			builder.transaction()
+				.transactionMode(TransactionMode.NON_TRANSACTIONAL);
+			builder.locking()
+				.concurrencyLevel(1000)
+				.useLockStriping(false)
+				.lockAcquisitionTimeout(15000)
+				.isolationLevel(IsolationLevel.READ_COMMITTED);
+			builder.jmxStatistics()
+				.enable();
 			Configuration configurationOverride = builder.build();
 			cacheManager.defineConfiguration(cacheName, configurationOverride);
 		}
diff --git a/src/main/java/org/olat/login/ui/PasswordSyntaxController.java b/src/main/java/org/olat/login/ui/PasswordSyntaxController.java
index 68ae23965c2..d3d4750daeb 100644
--- a/src/main/java/org/olat/login/ui/PasswordSyntaxController.java
+++ b/src/main/java/org/olat/login/ui/PasswordSyntaxController.java
@@ -28,6 +28,7 @@ import static org.olat.login.LoginModule.FORBIDDEN;
 import static org.olat.login.LoginModule.VALIDATE_SEPARATELY;
 import static org.olat.login.ui.LoginUIFactory.validateInteger;
 
+import java.util.Arrays;
 import java.util.Collection;
 
 import org.apache.logging.log4j.Logger;
@@ -57,8 +58,6 @@ import org.olat.login.validation.SyntaxValidator;
 import org.olat.login.validation.ValidationRulesProvider;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import edu.emory.mathcs.backport.java.util.Arrays;
-
 /**
  * 
  * Initial date: 14 May 2019<br>
diff --git a/src/main/java/org/olat/modules/fo/ui/ForumMessageDataModel.java b/src/main/java/org/olat/modules/fo/ui/ForumMessageDataModel.java
index 3aef74f394a..9ca7eaccbd4 100644
--- a/src/main/java/org/olat/modules/fo/ui/ForumMessageDataModel.java
+++ b/src/main/java/org/olat/modules/fo/ui/ForumMessageDataModel.java
@@ -19,6 +19,7 @@
  */
 package org.olat.modules.fo.ui;
 
+import java.util.Collections;
 import java.util.List;
 import java.util.Locale;
 
@@ -34,8 +35,6 @@ import org.olat.core.gui.translator.Translator;
 import org.olat.core.util.StringHelper;
 import org.olat.group.ui.main.AbstractMemberListController;
 
-import edu.emory.mathcs.backport.java.util.Collections;
-
 /**
  * 
  * Initial date: 12.11.2015<br>
diff --git a/src/main/java/org/olat/modules/lecture/ui/coach/RepositoryEntriesCalloutController.java b/src/main/java/org/olat/modules/lecture/ui/coach/RepositoryEntriesCalloutController.java
index ed9961bc542..3ffeb371cb1 100644
--- a/src/main/java/org/olat/modules/lecture/ui/coach/RepositoryEntriesCalloutController.java
+++ b/src/main/java/org/olat/modules/lecture/ui/coach/RepositoryEntriesCalloutController.java
@@ -21,6 +21,7 @@ package org.olat.modules.lecture.ui.coach;
 
 import java.text.Collator;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Locale;
@@ -36,8 +37,6 @@ import org.olat.core.gui.control.controller.BasicController;
 import org.olat.modules.lecture.ui.event.OpenRepositoryEntryEvent;
 import org.olat.repository.RepositoryEntry;
 
-import edu.emory.mathcs.backport.java.util.Collections;
-
 /**
  * 
  * Initial date: 5 août 2019<br>
diff --git a/src/test/java/org/olat/core/util/StringHelperTest.java b/src/test/java/org/olat/core/util/StringHelperTest.java
index bc7b0e5fea5..4322a8ea12e 100644
--- a/src/test/java/org/olat/core/util/StringHelperTest.java
+++ b/src/test/java/org/olat/core/util/StringHelperTest.java
@@ -38,32 +38,32 @@ import org.junit.Test;
  * @author gnaegi
  */
 public class StringHelperTest {
-	
+
 	@Test
 	public void base64() throws Exception {
 		String str = "this a super secret string avec un \u00E9 et encore quelques charact\u00E8res kanji \u30b0.";
 
 		String xstream64 = new com.thoughtworks.xstream.core.util.Base64Encoder(true).encode(str.getBytes());
-		String infinispan64 = org.infinispan.commons.util.Base64.encodeBytes(str.getBytes());
+		String javaUtil64 = java.util.Base64.getMimeEncoder(76, "\n".getBytes()).encodeToString(str.getBytes());
 		String olat64 = StringHelper.encodeBase64(str);
 		String olatBytes64 = StringHelper.encodeBase64(str.getBytes());
 		//encode and compare
-		Assert.assertEquals(xstream64, infinispan64);
-		Assert.assertEquals(infinispan64, olat64);
-		Assert.assertEquals(infinispan64, olatBytes64);
+		Assert.assertEquals(xstream64, javaUtil64);
+		Assert.assertEquals(javaUtil64, olat64);
+		Assert.assertEquals(javaUtil64, olatBytes64);
 		
 		//decode with the same coder
-		Assert.assertEquals(str, new String(org.infinispan.commons.util.Base64.decode(infinispan64)));
+		Assert.assertEquals(str, new String(java.util.Base64.getMimeDecoder().decode(javaUtil64)));
 		Assert.assertEquals(str, new String(new com.thoughtworks.xstream.core.util.Base64Encoder(true).decode(xstream64)));
 		Assert.assertEquals(str, StringHelper.decodeBase64(olat64));
 		Assert.assertEquals(str, StringHelper.decodeBase64(olatBytes64));
 		
 		//decode with an other decoder
-		Assert.assertEquals(str, new String(org.infinispan.commons.util.Base64.decode(olat64)));
-		Assert.assertEquals(str, new String(org.infinispan.commons.util.Base64.decode(olatBytes64)));
+		Assert.assertEquals(str, new String(java.util.Base64.getMimeDecoder().decode(olat64)));
+		Assert.assertEquals(str, new String(java.util.Base64.getMimeDecoder().decode(olatBytes64)));
 		Assert.assertEquals(str, new String(new com.thoughtworks.xstream.core.util.Base64Encoder(true).decode(olat64)));
 		Assert.assertEquals(str, new String(new com.thoughtworks.xstream.core.util.Base64Encoder(true).decode(olatBytes64)));
-		Assert.assertEquals(str, StringHelper.decodeBase64(infinispan64));
+		Assert.assertEquals(str, StringHelper.decodeBase64(javaUtil64));
 		Assert.assertEquals(str, StringHelper.decodeBase64(xstream64));
 	}
 
-- 
GitLab