From b062448da460afd4e68f37857cac2437d4dd754c Mon Sep 17 00:00:00 2001 From: Brian Remmington Date: Wed, 21 Dec 2011 19:28:49 +0000 Subject: [PATCH] Fixes ALF-11227: Content loses its properties after adding storeSelector aspect (Share) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32932 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/content-services-context.xml | 14 +++++++++----- .../processor/node/PropertyFieldProcessor.java | 13 +++++++++++-- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/config/alfresco/content-services-context.xml b/config/alfresco/content-services-context.xml index 9bec1b8025..131a198fcf 100644 --- a/config/alfresco/content-services-context.xml +++ b/config/alfresco/content-services-context.xml @@ -66,16 +66,20 @@ ${system.content.eagerOrphanCleanup} - - - - - + + + + + + + + + diff --git a/source/java/org/alfresco/repo/forms/processor/node/PropertyFieldProcessor.java b/source/java/org/alfresco/repo/forms/processor/node/PropertyFieldProcessor.java index 96825793ff..6ee2f4bf9c 100644 --- a/source/java/org/alfresco/repo/forms/processor/node/PropertyFieldProcessor.java +++ b/source/java/org/alfresco/repo/forms/processor/node/PropertyFieldProcessor.java @@ -30,6 +30,7 @@ import java.util.Map; import java.util.Set; import org.alfresco.repo.dictionary.constraint.ListOfValuesConstraint; +import org.alfresco.repo.dictionary.constraint.RegisteredConstraint; import org.alfresco.repo.forms.Field; import org.alfresco.repo.forms.FieldGroup; import org.alfresco.repo.forms.PropertyFieldDefinition; @@ -217,8 +218,16 @@ public class PropertyFieldProcessor extends QNameFieldProcessor params = constraint.getParameters(); - // ListOfValuesConstraints have special handling for localising their allowedValues. - if (ListOfValuesConstraint.CONSTRAINT_TYPE.equals(constraint.getType())) + + //ListOfValuesConstraints have special handling for localising their allowedValues. + //If the constraint that we are currently handling is a registered constraint then + //we need to examine the underlying constraint to see if it is a LIST constraint + if (RegisteredConstraint.class.isAssignableFrom(constraint.getClass())) + { + constraint = ((RegisteredConstraint)constraint).getRegisteredConstraint(); + } + + if (ListOfValuesConstraint.class.isAssignableFrom(constraint.getClass())) { ListOfValuesConstraint lovConstraint = (ListOfValuesConstraint) constraint; List allowedValues = lovConstraint.getAllowedValues();