From 3011eeeafe1b5f798d1429f4b814a75b618f4a36 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Wed, 13 Aug 2014 14:40:32 +0000 Subject: [PATCH] ACE-2487- Activating Duplicate Model in Cloud Causes Infinite Registration Loop Kludge - disable all dynamic models - build will go red. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@79377 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/dictionary/DictionaryModelType.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/source/java/org/alfresco/repo/dictionary/DictionaryModelType.java b/source/java/org/alfresco/repo/dictionary/DictionaryModelType.java index eb0f718e00..160d3f79fd 100644 --- a/source/java/org/alfresco/repo/dictionary/DictionaryModelType.java +++ b/source/java/org/alfresco/repo/dictionary/DictionaryModelType.java @@ -26,6 +26,7 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.CopyOnWriteArraySet; +import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.model.ContentModel; import org.alfresco.repo.content.ContentServicePolicies; import org.alfresco.repo.lock.JobLockService; @@ -255,16 +256,20 @@ public class DictionaryModelType implements ContentServicePolicies.OnContentUpda @SuppressWarnings("unchecked") private void queueModel(NodeRef nodeRef) { - Set pendingModels = (Set)AlfrescoTransactionSupport.getResource(KEY_PENDING_MODELS); - if (pendingModels == null) - { - //pendingModels = Collections.newSetFromMap(new ConcurrentHashMap()); // Java 6 - pendingModels = new CopyOnWriteArraySet(); - AlfrescoTransactionSupport.bindResource(KEY_PENDING_MODELS, pendingModels); - } - pendingModels.add(tenantService.getName(nodeRef)); + // Temp kludge for ACE-2487 - prevent all dynamic models being loaded. + // Do not release community or enterprise with this in place. + throw new AlfrescoRuntimeException("dynamic models not allowed"); - AlfrescoTransactionSupport.bindListener(this.transactionListener); +// Set pendingModels = (Set)AlfrescoTransactionSupport.getResource(KEY_PENDING_MODELS); +// if (pendingModels == null) +// { +// //pendingModels = Collections.newSetFromMap(new ConcurrentHashMap()); // Java 6 +// pendingModels = new CopyOnWriteArraySet(); +// AlfrescoTransactionSupport.bindResource(KEY_PENDING_MODELS, pendingModels); +// } +// pendingModels.add(tenantService.getName(nodeRef)); +// +// AlfrescoTransactionSupport.bindListener(this.transactionListener); } /**