Merged V2.1 to HEAD

6636: Temporary hack to fix build.  
   6637: Better handling of binary string bufs, disable link validation when poll interval is <= 0
   6638: Forgotten files for TXT to PDF transformer.
   6639: Fix for AWC-1541
   6641: Fix for WCM-792.
   6642: A little extra PropertyValue support for createNode, too.
   6643: Fix for WCM-791
   6644: Closure of AR-1528: Check concurrency handling of DuplicateChildNodeNameException
   6647: Fix WCM-794
   6648: WCM-656
   6650: Applied user supplied patch to fix AWC-1546 - Cannot mount AVM using CIFS on new alfresco installation.
   6651: Index tidy ups
   6654: Various minor updates for passthru authentication debugging and error handling.
   6657: Fix for WCM-799 (Some items selected for submission were not present)
   6659: Updated installers.
   6660: Partial fix to AWC-1524
   6661: Fix WCM-803
   6664: Including  hibernate-3.2.1.jar in $VIRTUAL_TOMCAT_HOME/server/lib/ 
   6665: adding an automated unit test for output path patterns.
   6668: Fixed to add shale-test-1.0.4.jar to Eclipse classpath (PHH oked)
   6681: Fixes WCM-811 - Lookup.getIndirectionPath() had a bit of a howler in it.
   6684: UncategorizedSQLException with the word 'deadlock' in the message is now cause for retrying a transaction.
   6691: Fix for WCM-813 (lock not removed when expiration date set and no workflow on web project)
   6696: Imporved SSO filters for SiteMinder etc + test filter
   6697: Support for scheduled import
   6699: Fix for the compliation target:  compile-benchmarkframework 
   6701: Fix for 1.6 JVMs (1.5 gets by with lucky ordering)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6749 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2007-09-11 04:18:53 +00:00
parent f4f0f51a7d
commit a4b4ca69ec
27 changed files with 1110 additions and 205 deletions

View File

@@ -46,7 +46,6 @@ import org.alfresco.service.cmr.avm.AVMService;
import org.alfresco.service.cmr.avm.AVMStoreDescriptor;
import org.alfresco.service.cmr.dictionary.AspectDefinition;
import org.alfresco.service.cmr.dictionary.ClassDefinition;
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
import org.alfresco.service.cmr.dictionary.InvalidAspectException;
import org.alfresco.service.cmr.dictionary.InvalidTypeException;
import org.alfresco.service.cmr.dictionary.PropertyDefinition;
@@ -319,13 +318,17 @@ public class AVMNodeService extends AbstractNodeServiceImpl implements NodeServi
addDefaultPropertyValues(nodeTypeDef, properties);
addDefaultAspects(nodeTypeDef, newAVMPath, properties);
Map<QName, PropertyValue> props = new HashMap<QName, PropertyValue>();
for (QName qname : properties.keySet())
for (Map.Entry<QName, Serializable> entry : properties.entrySet())
{
if (isBuiltInProperty(qname))
QName propertyQName = entry.getKey();
if (isBuiltInProperty(propertyQName))
{
continue;
}
props.put(qname, new PropertyValue(null, properties.get(qname)));
Serializable value = entry.getValue();
PropertyDefinition propertyDef = dictionaryService.getProperty(propertyQName);
PropertyValue propertyValue = makePropertyValue(propertyDef, value);
props.put(propertyQName, propertyValue);
}
fAVMService.setNodeProperties(newAVMPath, props);
ChildAssociationRef ref =
@@ -583,10 +586,15 @@ public class AVMNodeService extends AbstractNodeServiceImpl implements NodeServi
Map<QName, PropertyValue> props = new HashMap<QName, PropertyValue>();
for (Map.Entry<QName, Serializable> entry : properties.entrySet())
{
if (!isBuiltInProperty(entry.getKey()))
QName propertyQName = entry.getKey();
if (isBuiltInProperty(propertyQName))
{
props.put(entry.getKey(), new PropertyValue(null, entry.getValue()));
continue;
}
Serializable value = entry.getValue();
PropertyDefinition propertyDef = dictionaryService.getProperty(propertyQName);
PropertyValue propertyValue = makePropertyValue(propertyDef, value);
props.put(propertyQName, propertyValue);
}
if (props.size() != 0)
{
@@ -1176,12 +1184,14 @@ public class AVMNodeService extends AbstractNodeServiceImpl implements NodeServi
// Map<QName, Serializable> oldProps = getProperties(nodeRef);
fAVMService.deleteNodeProperties(avmVersionPath.getSecond());
Map<QName, PropertyValue> values = new HashMap<QName, PropertyValue>();
for (QName qName : properties.keySet())
for (Map.Entry<QName, Serializable> entry : properties.entrySet())
{
QName propertyQName = entry.getKey();
Serializable value = entry.getValue();
// For AVM nodes is in place.
if (isBuiltInProperty(qName))
if (isBuiltInProperty(propertyQName))
{
if (qName.equals(ContentModel.PROP_CONTENT))
if (propertyQName.equals(ContentModel.PROP_CONTENT))
{
AVMNodeDescriptor desc = fAVMService.lookup(-1, avmVersionPath.getSecond());
if (desc == null)
@@ -1191,16 +1201,13 @@ public class AVMNodeService extends AbstractNodeServiceImpl implements NodeServi
if (desc.isPlainFile())
{
fAVMService.setContentData(avmVersionPath.getSecond(),
(ContentData)properties.get(qName));
(ContentData)properties.get(propertyQName));
}
}
}
DataTypeDefinition def = dictionaryService.getDataType(qName);
if (def == null)
{
def = dictionaryService.getDataType(properties.get(qName).getClass());
}
values.put(qName, new PropertyValue(def.getName(), properties.get(qName)));
PropertyDefinition propertyDef = dictionaryService.getProperty(propertyQName);
PropertyValue propertyValue = makePropertyValue(propertyDef, value);
values.put(propertyQName, propertyValue);
}
fAVMService.setNodeProperties(avmVersionPath.getSecond(), values);
// Invoke policy behaviors.
@@ -1293,12 +1300,9 @@ public class AVMNodeService extends AbstractNodeServiceImpl implements NodeServi
try
{
// Map<QName, Serializable> propsBefore = getProperties(nodeRef);
DataTypeDefinition def = dictionaryService.getDataType(qname);
if (def == null)
{
def = dictionaryService.getDataType(value.getClass());
}
fAVMService.setNodeProperty(avmVersionPath.getSecond(), qname, new PropertyValue(def.getName(), value));
PropertyDefinition propertyDef = dictionaryService.getProperty(qname);
PropertyValue propertyValue = makePropertyValue(propertyDef, value);
fAVMService.setNodeProperty(avmVersionPath.getSecond(), qname, propertyValue);
// Map<QName, Serializable> propsAfter = getProperties(nodeRef);
// Invoke policy behaviors.
// invokeOnUpdateNode(nodeRef);