Merged V4.1-BUG-FIX to HEAD

42725: Record Only Merge: V3.4-BUG-FIX (3.4.12) to V4.1-BUG-FIX (4.1.2)
      << Record only as 4.1.2 used PDFBOX 1.0.7 rather than 1.0.6 >>
      42721: ALF-14185 PDF not indexed as a result of PDFBOX-1143 workaround in Tika 
   42726: ALF-16388 CLONE: PDF not indexed as a result of PDFBOX-1143 workaround in Tika
      - 4.1 specific fix (uses PDFBox 1.0.7) for the same issue as ALF-14185 on 3.4 (uses PDFBox 1.0.6).
   42736: ALF-16093: Implement new getPeople CQ (eg. if using user admin console and/or Solr unavailable)
   42740: Merged DEV to V4.1-BUG-FIX
      42626: ALF-14336: SOLR indexing fails with unterminated string for PDF uploaded
             Appeared exception due to postgreSQL (http://archives.postgresql.org/pgsql-jdbc/2007-02/msg00107.php).
             Remove '\u0000' characters from the property. 
   42741: Fix for ALF-16332 - Alternative version of AbstractWebScriptViewResolver that uses a ConcurrentHashMap and thus allows multiple views to be resolved at the same time!
   42755: Merged DEV to V4.1-BUG-FIX
     42750 : ALF-16315
   42762: ALF-15616: Merged V3.4-BUG-FIX (3.4.12) to V4.1-BUG-FIX (4.1.2)
      42758: ALF-11956 WCM accessibility
         - tabIndex code. See comment on 17 Oct 2012
           "4) TinyMCE fields are not accessible using the keyboard (you have to use the mouse to select the "click to edit" option) - > It's reproduced for (+) icon, content created on press-release.xsd."
   42768: Merged somehow-lost mergeinfo from r42679
   42769: Merged V3.4-BUG-FIX to V4.1-BUG-FIX
      42738: ALF-12724 CLONE - Activities trigger high CPU usage and lock contention 
      42767: Merged V3.4 to V3.4-BUG-FIX
         42727: ALF-16366: PermissionService calls were updating nodes but not reindexing them, leaving out of sync transactions after a clean bootstrap!


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@42770 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Dave Ward
2012-10-17 19:45:37 +00:00
parent 4dc751ee3a
commit 46f9f8c24e
14 changed files with 1192 additions and 444 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2005-2011 Alfresco Software Limited.
* Copyright (C) 2005-2012 Alfresco Software Limited.
*
* This file is part of Alfresco
*
@@ -64,8 +64,6 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
private RepoCtx ctx = null;
private volatile boolean busy;
public void setActivityPostServiceImpl(ActivityPostServiceImpl activityPostServiceImpl)
{
this.activityPostServiceImpl = activityPostServiceImpl;
@@ -135,8 +133,6 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
{
ctx = new RepoCtx(sysAdminParams, repoEndPoint);
ctx.setUserNamesAreCaseSensitive(userNamesAreCaseSensitive);
busy = false;
}
/**
@@ -151,11 +147,6 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
abstract public int getEstimatedGridSize();
protected boolean isActive()
{
return busy;
}
public void execute() throws JobExecutionException
{
checkProperties();
@@ -171,10 +162,11 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
}
String lockToken = null;
LockCallback lockCallback = null;
try
{
JobLockRefreshCallback lockCallback = new LockCallback();
lockCallback = new LockCallback();
lockToken = acquireLock(lockCallback);
@@ -213,7 +205,7 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
}
finally
{
releaseLock(lockToken);
releaseLock(lockCallback, lockToken);
}
}
@@ -221,6 +213,8 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
private class LockCallback implements JobLockRefreshCallback
{
private volatile boolean busy = false;
@Override
public boolean isActive()
{
@@ -251,7 +245,7 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
// Got the lock - now register the refresh callback which will keep the lock alive
jobLockService.refreshLock(lockToken, LOCK_QNAME, LOCK_TTL, lockCallback);
busy = true;
((LockCallback)lockCallback).busy = true;
if (logger.isDebugEnabled())
{
@@ -261,11 +255,11 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
return lockToken;
}
private void releaseLock(String lockToken)
private void releaseLock(LockCallback lockCallback, String lockToken)
{
if (lockToken != null)
if (lockCallback != null && lockToken != null)
{
busy = false;
((LockCallback)lockCallback).busy = false;
jobLockService.releaseLock(lockToken, LOCK_QNAME);