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

@@ -739,9 +739,15 @@ public class FormServiceImplTest extends BaseAlfrescoSpringTest
// add an association to the child doc (as an attachment which is defined on an aspect not applied)
//data.addField("assoc_cm_attachments_added", this.childDoc.toString());
// try and update non-existent properties (make sure there are no exceptions)
// try and update non-existent properties and assocs (make sure there are no exceptions)
data.addFieldData("prop_cm_wrong", "This should not be persisted");
data.addFieldData("cm_wrong", "This should not be persisted");
data.addFieldData("prop_cm_wrong_property", "This should not be persisted");
data.addFieldData("prop_cm_wrong_property_name", "This should not be persisted");
data.addFieldData("assoc_cm_wrong_association", "This should be ignored");
data.addFieldData("assoc_cm_wrong_association_added", "This should be ignored");
data.addFieldData("assoc_cm_wrong_association_removed", "This should be ignored");
data.addFieldData("assoc_cm_added", "This should be ignored");
// persist the data
this.formService.saveForm(new Item(NODE_FORM_ITEM_KIND, this.document.toString()), data);

View File

@@ -111,7 +111,7 @@ public abstract class ContentModelFormProcessor<ItemType, PersistType> extends
* names will look like <code>"prop_cm_name"</code>. The pattern can also be
* used to extract the "cm" and the "name" parts.
*/
protected Pattern propertyNamePattern = Pattern.compile(PROP_DATA_PREFIX + "(.*){1}?_(.*){1}?");
protected Pattern propertyNamePattern = Pattern.compile(PROP_DATA_PREFIX + "([a-zA-Z0-9]+)_(.*)");
/**
* A regular expression which can be used to match tranisent property names.
@@ -126,7 +126,7 @@ public abstract class ContentModelFormProcessor<ItemType, PersistType> extends
* pattern can also be used to extract the "cm", the "name" and the suffix
* parts.
*/
protected Pattern associationNamePattern = Pattern.compile(ASSOC_DATA_PREFIX + "(.*){1}?_(.*){1}?(_[a-zA-Z]+)");
protected Pattern associationNamePattern = Pattern.compile(ASSOC_DATA_PREFIX + "([a-zA-Z0-9]+)_(.*)(_[a-zA-Z]+)");
/**
* Sets the node service
@@ -1115,8 +1115,9 @@ public abstract class ContentModelFormProcessor<ItemType, PersistType> extends
{
if (getLogger().isWarnEnabled())
{
getLogger().warn("Definition for association " + fullQName + " not recognised and not persisted.");
getLogger().warn("Ignoring field '" + fieldName + "' as an association definition can not be found");
}
return;
}
@@ -1162,10 +1163,10 @@ public abstract class ContentModelFormProcessor<ItemType, PersistType> extends
if (getLogger().isWarnEnabled())
{
StringBuilder msg = new StringBuilder();
msg.append("fieldName ").append(fieldName).append(
" does not have one of the expected suffixes [").append(
ASSOC_DATA_ADDED_SUFFIX).append(", ").append(ASSOC_DATA_REMOVED_SUFFIX)
.append("] and has been ignored.");
msg.append("Ignoring 'fieldName ").append(fieldName).append(
"' as it does not have one of the expected suffixes (").append(
ASSOC_DATA_ADDED_SUFFIX).append(" or ").append(ASSOC_DATA_REMOVED_SUFFIX)
.append(")");
getLogger().warn(msg.toString());
}
}
@@ -1183,6 +1184,10 @@ public abstract class ContentModelFormProcessor<ItemType, PersistType> extends
}
}
}
else if (getLogger().isWarnEnabled())
{
getLogger().warn("Ignoring unrecognised field '" + fieldName + "'");
}
}
/**