From 35851e60a7a2ddac024dab629fc29d3d114574b5 Mon Sep 17 00:00:00 2001 From: rhaag <none@none> Date: Mon, 11 Jul 2011 15:11:52 +0200 Subject: [PATCH] OLAT-6265 FXOLAT-193 shorten key if needed --HG-- branch : uzhFixes711 --- .../org/olat/modules/webFeed/managers/FeedManagerImpl.java | 4 ++++ .../src/main/java/org/olat/core/util/resource/OresHelper.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/olat3/webapp/WEB-INF/src/org/olat/modules/webFeed/managers/FeedManagerImpl.java b/olat3/webapp/WEB-INF/src/org/olat/modules/webFeed/managers/FeedManagerImpl.java index ffdf3b68e2d..40b9d1d63e5 100644 --- a/olat3/webapp/WEB-INF/src/org/olat/modules/webFeed/managers/FeedManagerImpl.java +++ b/olat3/webapp/WEB-INF/src/org/olat/modules/webFeed/managers/FeedManagerImpl.java @@ -38,6 +38,7 @@ import org.olat.core.id.OLATResourceable; import org.olat.core.logging.AssertException; import org.olat.core.logging.OLog; import org.olat.core.util.CodeHelper; +import org.olat.core.util.Encoder; import org.olat.core.util.Formatter; import org.olat.core.util.ImageHelper; import org.olat.core.util.StringHelper; @@ -1209,6 +1210,9 @@ public abstract class FeedManagerImpl extends FeedManager { */ public LockResult acquireLock(OLATResourceable feed, Item item, Identity identity) { String key = itemKey(item, feed); + if (key.length() >= OresHelper.ORES_TYPE_LENGTH) { + key = Encoder.encrypt(key); + } OLATResourceable itemResource = OresHelper.createOLATResourceableType(key); LockResult lockResult = coordinator.getLocker().acquireLock(itemResource, identity, key); return lockResult; diff --git a/olatcore/src/main/java/org/olat/core/util/resource/OresHelper.java b/olatcore/src/main/java/org/olat/core/util/resource/OresHelper.java index cc21cb384ef..41d73f4acdb 100644 --- a/olatcore/src/main/java/org/olat/core/util/resource/OresHelper.java +++ b/olatcore/src/main/java/org/olat/core/util/resource/OresHelper.java @@ -35,7 +35,7 @@ import org.olat.core.util.Encoder; * @author Felix Jost */ public class OresHelper { - private static final int ORES_TYPE_LENGTH = 50; + public static final int ORES_TYPE_LENGTH = 50; private static final int ORES_TYPE_SUBTYPELENGTH = 15; // so 35 remain for the class name (without package) /** -- GitLab