From aeef0dd36318c2a5bae7388cff2f62fa649a6874 Mon Sep 17 00:00:00 2001 From: Kevin Roast Date: Wed, 14 Nov 2007 20:09:23 +0000 Subject: [PATCH] Fix for AR-1871 - ML ui trying to set locale as a String rather than a Locale git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@7387 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../model/ml/MultilingualDocumentAspect.java | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/source/java/org/alfresco/repo/model/ml/MultilingualDocumentAspect.java b/source/java/org/alfresco/repo/model/ml/MultilingualDocumentAspect.java index 45b8b2d28f..cd37ef64f3 100644 --- a/source/java/org/alfresco/repo/model/ml/MultilingualDocumentAspect.java +++ b/source/java/org/alfresco/repo/model/ml/MultilingualDocumentAspect.java @@ -39,6 +39,7 @@ import org.alfresco.service.cmr.ml.MultilingualContentService; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.StoreRef; +import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter; import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.RegexQNamePattern; @@ -149,27 +150,20 @@ public class MultilingualDocumentAspect implements */ public void onUpdateProperties(NodeRef nodeRef, Map before, Map after) { - /* + /* * TODO: Move this into MultilingualContentService#setTranslationLocale */ - - Locale localeBefore = (Locale) before.get(ContentModel.PROP_LOCALE); - Locale localeAfter; - - // the after local property type can be either Locale or String + Locale localeBefore = (Locale)before.get(ContentModel.PROP_LOCALE); + + Locale localeAfter = null; Serializable objLocaleAfter = after.get(ContentModel.PROP_LOCALE); - - if (objLocaleAfter instanceof Locale ) + if (objLocaleAfter != null) { - localeAfter = (Locale) objLocaleAfter; + localeAfter = DefaultTypeConverter.INSTANCE.convert(Locale.class, objLocaleAfter); } - else - { - localeAfter = I18NUtil.parseLocale(objLocaleAfter.toString()); - } - + // if the local has been modified - if(!localeBefore.equals(localeAfter)) + if (!localeBefore.equals(localeAfter)) { NodeRef mlContainer = multilingualContentService.getTranslationContainer(nodeRef);