Merged V2.2 to HEAD

8630: Merged V2.1 to V2.2
     8513: Fixed AR-2157: Integrity checking fails when target roles are present on child associations
     8517: Fixed AR-2171: NPE restoring large hierarchy
     8519: New workflow description field limited to 100 characters (AWC-1938)
     8520: Removed copy of mysql connector to tomcat distribution
     8529: Fix for pop-up task panel, when task has due date
     8537: Fix for AWC-1951
     8538: AR-2141: Problem copying large hierarchical folder structures
     8594: Closing of servlet output stream in TemplateContentServlet
     8616: Fix for WCM-1134 (editing rich text area, causes relative links to become absolute in IE)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@9168 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Mike Hatfield 2008-05-19 16:00:06 +00:00
parent 60e308f7e9
commit a20061ccf1
5 changed files with 29 additions and 3 deletions

View File

@ -36,6 +36,7 @@ import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.i18n.I18NUtil;
import org.alfresco.model.ApplicationModel;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.action.ActionServiceImpl;
import org.alfresco.repo.policy.ClassPolicyDelegate;
import org.alfresco.repo.policy.JavaBehaviour;
import org.alfresco.repo.policy.PolicyComponent;
@ -68,6 +69,11 @@ import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
import org.alfresco.service.namespace.RegexQNamePattern;
import org.alfresco.util.ParameterCheck;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.tools.ant.taskdefs.War;
import freemarker.log.Logger;
/**
* Node operations service implmentation.
@ -76,6 +82,11 @@ import org.alfresco.util.ParameterCheck;
*/
public class CopyServiceImpl implements CopyService
{
/**
* The logger
*/
private static Log logger = LogFactory.getLog(ActionServiceImpl.class);
/** I18N labels */
private String COPY_OF_LABEL = "copy_service.copy_of_label";
@ -733,7 +744,16 @@ public class CopyServiceImpl implements CopyService
if (this.nodeService.hasAspect(destinationNodeRef, aspect) == false)
{
// Error since the aspect has not been added to the destination node (should never happen)
throw new CopyServiceException("The aspect has not been added to the destination node.");
if (logger.isWarnEnabled() == true)
{
logger.warn("WARNING: the aspect " + aspect.toString() + " could not be found on node " + destinationNodeRef.toString() + "during copy. It has been reapplied.");
}
// For some reason the aspect has not been added, so re-add it
this.nodeService.addAspect(
destinationNodeRef,
aspect,
copyDetails.getProperties(aspect));
}
copyChildAssociations(aspect, destinationNodeRef, copyDetails, copyChildren, copiedChildren);

View File

@ -187,6 +187,7 @@ public class NodeArchiveServiceImpl implements NodeArchiveService
{
report.setCause(e);
report.setStatus(RestoreStatus.FAILURE_OTHER);
logger.error("An unhandled exception stopped the restore", e);
}
// done
if (logger.isDebugEnabled())

View File

@ -1837,6 +1837,11 @@ public class DbNodeServiceImpl extends AbstractNodeServiceImpl
}
Node nodeToMove = oldNodeStatus.getNode();
if (nodeToMove == null)
{
// Ignore it. It was moved already.
continue;
}
NodeRef oldNodeRef = nodeToMove.getNodeRef();
nodeToMove.setStore(store);
NodeRef newNodeRef = nodeToMove.getNodeRef();

View File

@ -98,7 +98,7 @@ public class AssocTargetRoleIntegrityEvent extends AbstractIntegrityEvent
if (assocRoleQName != null)
{
// the assoc defines a role name - check it
RegexQNamePattern rolePattern = new RegexQNamePattern(assocRoleQName.toString());
RegexQNamePattern rolePattern = new RegexQNamePattern(assocRoleQName.getNamespaceURI(), assocRoleQName.getLocalName());
if (!rolePattern.isMatch(assocQName))
{
IntegrityRecord result = new IntegrityRecord(

View File

@ -38,7 +38,7 @@ public class InvalidTypeException extends InvalidClassException
public InvalidTypeException(QName typeName)
{
super(null, typeName);
super("Invalid type: " + typeName, typeName);
}
public InvalidTypeException(String msg, QName typeName)