diff --git a/source/java/org/alfresco/model/ContentModel.java b/source/java/org/alfresco/model/ContentModel.java index 2a83956dee..c1590997cf 100644 --- a/source/java/org/alfresco/model/ContentModel.java +++ b/source/java/org/alfresco/model/ContentModel.java @@ -43,6 +43,10 @@ public interface ContentModel // tag for temporary nodes static final QName ASPECT_TEMPORARY = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "temporary"); + // tag for temporary nodes + static final QName ASPECT_LOCALIZED = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "localized"); + static final QName PROP_LOCALE = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "locale"); + // archived nodes aspect constants static final QName ASPECT_ARCHIVED = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archived"); static final QName PROP_ARCHIVED_ORIGINAL_PARENT_ASSOC = QName.createQName(NamespaceService.SYSTEM_MODEL_1_0_URI, "archivedOriginalParentAssoc"); diff --git a/source/java/org/alfresco/repo/domain/PropertyValue.java b/source/java/org/alfresco/repo/domain/PropertyValue.java index 341dcc7724..6b9eb9cf75 100644 --- a/source/java/org/alfresco/repo/domain/PropertyValue.java +++ b/source/java/org/alfresco/repo/domain/PropertyValue.java @@ -134,7 +134,12 @@ public class PropertyValue implements Cloneable, Serializable @Override Serializable convert(Serializable value) { - return DefaultTypeConverter.INSTANCE.convert(String.class, value); + String str = DefaultTypeConverter.INSTANCE.convert(String.class, value); + if (value instanceof Locale && str.length() < 6) + { + str += "_"; + } + return str; } }, DATE diff --git a/source/java/org/alfresco/repo/node/BaseNodeServiceTest.java b/source/java/org/alfresco/repo/node/BaseNodeServiceTest.java index ffa948a44d..646921d296 100644 --- a/source/java/org/alfresco/repo/node/BaseNodeServiceTest.java +++ b/source/java/org/alfresco/repo/node/BaseNodeServiceTest.java @@ -1649,4 +1649,15 @@ public abstract class BaseNodeServiceTest extends BaseSpringTest NodeRef checkHijRef = nodeService.getChildByName(checkAbcRef, ASSOC_TYPE_QNAME_TEST_CONTAINS, "hij"); assertNull("Third level, named node 'HIJ' should not have been found", checkHijRef); } + + public void testLocalizedAspect() throws Exception + { + nodeService.addAspect( + rootNodeRef, + ContentModel.ASPECT_LOCALIZED, + Collections.singletonMap(ContentModel.PROP_LOCALE, Locale.CANADA_FRENCH)); + // commit to check + setComplete(); + endTransaction(); + } }