mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V3.1 to HEAD
12994: Merged V3.0 to V3.1 12931: Merged V2.2 to V3.0 12635: Fix for ETWOTWO-995: Diff performance degrades on large data sets 12742: Fix for ETWOTWO-981: WCM - regression - revert fails (eg. for content publisher) 12743: AVM - add missing tests to test suite & fix existing tests (including base setup) 12759: AVM - build/test fix - follow-on to r12742 12781: Fix PersonDAO - fixes AuthorityServiceTest which failed after adding AVMServicePermissionsTest 12932: Merged V2.2 to V3.0 12763: Support for ETWOTWO-975: AVMDifference now implements Comparable<AVMDifference> 12782: Fix for ETWOTWO-939: Content Contributor cannot edit their own items 12809: Test fixes after r 12782 12818: ETWOTWO-977 (Orphan Reaper) - removal of comment questioning cache interaction. 12933: Merged V2.2 to V3.0 12306: (record-only) Final set of XSS and HTML encoding fixes for ETWOONE-90 - already merged (see r12310) 12934: Merged V2.2 to V3.0 12311: (record-only) Fix for ETWOONE-389 - Current page number not always visible on the browse screen - already merged (see r12312) 12935: Merged V2.2 to V3.0 12320: (record-only) Fix for ETWOONE-87: Behavior of delete cascade - already merged (see r12324) 12322: (record-only) Fix merge issue (marked as Do Not Merge - see CHK-5607) 12936: Merged V2.2 to V3.0 12775: (record-only) ETHREEOH-872: Editing Email-notify-rules fails w/ ClassCastException (back-port of r11966) 12937: Merged V2.2 to V3.0 12780: Fixed ETWOTWO-1003: DuplicateChildNameException not generated correctly (on Oracle) 12820: Update to ETWOTWO-926 (WCM Form Inline callouts to Web Scripts) 12825: Further ETWOTWO-926 update: provide compatibility with old token scheme as the original patch has already made its way into 3.0.1 12850: ETWOTWO-975 - Show Conflicts in Modified Items List 12938: Fix merge typo (follow on from r12931) 12941: Fix merge typo (follow on from r12931) 12998: Cleaned up svn:mergeinfo entries ___________________________________________________________________ Modified: svn:mergeinfo Merged /alfresco/BRANCHES/V3.0:r12931-12938,12941 Merged /alfresco/BRANCHES/V2.2:r12306,12311,12320,12322,12635,12742-12743,12759,12763,12775,12780-12782,12809,12818,12820,12825,12850 Merged /alfresco/BRANCHES/V3.1:r12994,12998 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13549 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -44,6 +44,7 @@ import java.util.TreeMap;
|
||||
import java.util.zip.CRC32;
|
||||
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.error.ExceptionStackUtil;
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.repo.cache.SimpleCache;
|
||||
import org.alfresco.repo.domain.AuditableProperties;
|
||||
@@ -160,6 +161,18 @@ public class HibernateNodeDaoServiceImpl extends HibernateDaoSupport implements
|
||||
/** Log to trace parent association caching: <b>classname + .ParentAssocsCache</b> */
|
||||
private static Log loggerParentAssocsCache = LogFactory.getLog(HibernateNodeDaoServiceImpl.class.getName() + ".ParentAssocsCache");
|
||||
|
||||
/**
|
||||
* Exceptions that indicate duplicate child names violations.
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public static final Class[] DUPLICATE_CHILD_NAME_EXCEPTIONS;
|
||||
static
|
||||
{
|
||||
DUPLICATE_CHILD_NAME_EXCEPTIONS = new Class[] {
|
||||
ConstraintViolationException.class
|
||||
};
|
||||
}
|
||||
|
||||
private QNameDAO qnameDAO;
|
||||
private UsageDeltaDAO usageDeltaDAO;
|
||||
private AclDaoComponent aclDaoComponent;
|
||||
@@ -1589,13 +1602,34 @@ public class HibernateNodeDaoServiceImpl extends HibernateDaoSupport implements
|
||||
DirtySessionMethodInterceptor.flushSession(getSession(false));
|
||||
Long assocId = (Long) getHibernateTemplate().execute(new HibernateCallback()
|
||||
{
|
||||
@SuppressWarnings("unchecked")
|
||||
public Object doInHibernate(Session session)
|
||||
{
|
||||
try
|
||||
{
|
||||
Object result = session.save(assoc);
|
||||
DirtySessionMethodInterceptor.flushSession(session);
|
||||
return result;
|
||||
try
|
||||
{
|
||||
Object result = session.save(assoc);
|
||||
DirtySessionMethodInterceptor.flushSession(session, true);
|
||||
return result;
|
||||
}
|
||||
catch (Throwable e)
|
||||
{
|
||||
ConstraintViolationException constraintViolation = (ConstraintViolationException) ExceptionStackUtil.getCause(
|
||||
e,
|
||||
DUPLICATE_CHILD_NAME_EXCEPTIONS);
|
||||
if (constraintViolation == null)
|
||||
{
|
||||
// It was something else
|
||||
RuntimeException ee = AlfrescoRuntimeException.makeRuntimeException(
|
||||
e, "Exception while flushing child assoc to database");
|
||||
throw ee;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw constraintViolation;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (ConstraintViolationException e)
|
||||
{
|
||||
|
Reference in New Issue
Block a user