Merged V3.2 to HEAD

17363: Fix to DbNodeServiceImple to allow restored nodes.
   17384: Minor comments
   17451: Fix ETHREEOH-2751 / ETWOONE-340 - specialising a node through an action doesn't set default values from model
   17459: ETHREEOH-2391 - Invite pending task now has lots of properties
   17465: Repo side fix for ETHREEOH-3010: Inbound and outbound Mltext multiple property are not converted correctly
   17478: Fix ETHREEOH-3340 - WCM - Revert to snapshot failure (fix AVM getListing -> AVNSync compare -> WCM revertSnapshot)
   17483: (record only) Merged V3.1 to V3.2 (record-only)
      17482: (record-only) due to earlier back-merge
   17493: Fix for ETHREEOH-3342: index.recovery.mode example is incorrect
   17494: Fix for ETHREEOH-3027: missingFullTextReindexTrigger (from index-recovery-context.xml) job does not work.
   17510: Fix for ETHREEOH-1147: Indexing large indices can lead to Java Heap space.
   17511: Fix for ETHREEOH-1271: It is possible to add one category more than one time to the same content or space
   17513: ETHREEOH_3366: Altered DictionaryDAOImpl so that passing a null QName into getType and getAspect does not result in an NPE
   17531: ETHREEOH-1186: Corrected rssfeed.get.js so a user can configure a RSS Feed dashlet that has been placed on their own dashboard
   17550: ETHREEOH-2317: Rule not fired when document has no content
   17556: Fixed ETHREEOH-1229: Can't delete space that contains "translation without content"
   17558: Fix for ETHREEOH-3356: Forms fail to persist if property or association name has an _ (underscore) in it
   17572: Changed caching of person NodeRefs so that duplicates are detected better
   17573: Fixed UTF-8 for file with encoded chars
   17576: LockAcquisitionException message specific to failed release of taken-over lock
___________________________________________________________________
Modified: svn:mergeinfo
   Merged /alfresco/BRANCHES/V3.2:r17363,17384,17451,17459,17465,17478,17483,17493-17494,17510-17511,17513,17531,17550,17556,17558,17572-17573,17576


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18140 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2010-01-19 14:07:10 +00:00
parent 6b8cf8d13b
commit c67a5c18d2
28 changed files with 4343 additions and 3536 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
* Copyright (C) 2005-2009 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -105,6 +105,10 @@ public abstract class BaseNodeServiceTest extends BaseSpringTest
{
public static final String NAMESPACE = "http://www.alfresco.org/test/BaseNodeServiceTest";
public static final String TEST_PREFIX = "test";
public static final String DEFAULT_VALUE = "defaultValue";
public static final String NOT_DEFAULT_VALUE = "notDefaultValue";
public static final QName TYPE_QNAME_TEST_CONTENT = QName.createQName(NAMESPACE, "content");
public static final QName TYPE_QNAME_TEST_MANY_PROPERTIES = QName.createQName(NAMESPACE, "many-properties");
public static final QName TYPE_QNAME_TEST_MANY_ML_PROPERTIES = QName.createQName(NAMESPACE, "many-ml-properties");
@@ -134,8 +138,8 @@ public abstract class BaseNodeServiceTest extends BaseSpringTest
public static final QName PROP_QNAME_LOCALE_VALUE = QName.createQName(NAMESPACE, "localeValue");
public static final QName PROP_QNAME_NULL_VALUE = QName.createQName(NAMESPACE, "nullValue");
public static final QName PROP_QNAME_MULTI_VALUE = QName.createQName(NAMESPACE, "multiValue");
public static final QName PROP_QNAME_PERIOD_VALUE = QName.createQName(NAMESPACE, "periodValue");
public static final QName PROP_QNAME_MULTI_ML_VALUE = QName.createQName(NAMESPACE, "multiMLValue");
public static final QName PROP_QNAME_PERIOD_VALUE = QName.createQName(NAMESPACE, "periodValue");
public static final QName PROP_QNAME_MULTI_ML_VALUE = QName.createQName(NAMESPACE, "multiMLValue");
public static final QName PROP_QNAME_MARKER_PROP = QName.createQName(NAMESPACE, "markerProp");
public static final QName PROP_QNAME_PROP1 = QName.createQName(NAMESPACE, "prop1");
public static final QName PROP_QNAME_PROP2 = QName.createQName(NAMESPACE, "prop2");
@@ -566,12 +570,19 @@ public abstract class BaseNodeServiceTest extends BaseSpringTest
rootNodeRef,
ASSOC_TYPE_QNAME_TEST_CHILDREN,
QName.createQName("setTypeTest"),
TYPE_QNAME_TEST_CONTENT).getChildRef();
TYPE_QNAME_TEST_CONTENT).getChildRef();
assertEquals(TYPE_QNAME_TEST_CONTENT, this.nodeService.getType(nodeRef));
assertNull(this.nodeService.getProperty(nodeRef, PROP_QNAME_PROP1));
// Now change the type
this.nodeService.setType(nodeRef, TYPE_QNAME_EXTENDED_CONTENT);
assertEquals(TYPE_QNAME_EXTENDED_CONTENT, this.nodeService.getType(nodeRef));
assertEquals(TYPE_QNAME_EXTENDED_CONTENT, this.nodeService.getType(nodeRef));
// Check new defaults
Serializable defaultValue = this.nodeService.getProperty(nodeRef, PROP_QNAME_PROP1);
assertNotNull("No default property value assigned", defaultValue);
assertEquals(DEFAULT_VALUE, defaultValue);
}
/**
@@ -2409,25 +2420,25 @@ public abstract class BaseNodeServiceTest extends BaseSpringTest
rootNodeRef,
ASSOC_TYPE_QNAME_TEST_CHILDREN,
QName.createQName("testDefaultValues"),
TYPE_QNAME_EXTENDED_CONTENT).getChildRef();
assertEquals("defaultValue", this.nodeService.getProperty(nodeRef, PROP_QNAME_PROP1));
TYPE_QNAME_EXTENDED_CONTENT).getChildRef();
assertEquals(DEFAULT_VALUE, this.nodeService.getProperty(nodeRef, PROP_QNAME_PROP1));
this.nodeService.addAspect(nodeRef, ASPECT_QNAME_WITH_DEFAULT_VALUE, null);
assertEquals("defaultValue", this.nodeService.getProperty(nodeRef, PROP_QNAME_PROP2));
assertEquals(DEFAULT_VALUE, this.nodeService.getProperty(nodeRef, PROP_QNAME_PROP2));
// Ensure that default values do not overrite already set values
Map<QName, Serializable> props = new HashMap<QName, Serializable>(1);
props.put(PROP_QNAME_PROP1, "notDefaultValue");
props.put(PROP_QNAME_PROP1, NOT_DEFAULT_VALUE);
NodeRef nodeRef2 = nodeService.createNode(
rootNodeRef,
ASSOC_TYPE_QNAME_TEST_CHILDREN,
QName.createQName("testDefaultValues"),
TYPE_QNAME_EXTENDED_CONTENT,
props).getChildRef();
assertEquals("notDefaultValue", this.nodeService.getProperty(nodeRef2, PROP_QNAME_PROP1));
assertEquals(NOT_DEFAULT_VALUE, this.nodeService.getProperty(nodeRef2, PROP_QNAME_PROP1));
Map<QName, Serializable> prop2 = new HashMap<QName, Serializable>(1);
prop2.put(PROP_QNAME_PROP2, "notDefaultValue");
prop2.put(PROP_QNAME_PROP2, NOT_DEFAULT_VALUE);
this.nodeService.addAspect(nodeRef2, ASPECT_QNAME_WITH_DEFAULT_VALUE, prop2);
assertEquals("notDefaultValue", this.nodeService.getProperty(nodeRef2, PROP_QNAME_PROP2));
assertEquals(NOT_DEFAULT_VALUE, this.nodeService.getProperty(nodeRef2, PROP_QNAME_PROP2));
}