From bdedc23c955031c6643bf3974f20c55c56a32030 Mon Sep 17 00:00:00 2001 From: Nithin Nambiar Date: Tue, 9 Nov 2021 16:41:21 +0000 Subject: [PATCH] ACS-2238 Added missing BatchProcessWorkProvider implemenations (#793) --- .../patch/impl/SurfConfigFolderPatch.java | 22 ++++++++----- .../alfresco/repo/batch/BatchProcessor.java | 33 +++++++++++-------- 2 files changed, 33 insertions(+), 22 deletions(-) diff --git a/repository/src/main/java/org/alfresco/repo/admin/patch/impl/SurfConfigFolderPatch.java b/repository/src/main/java/org/alfresco/repo/admin/patch/impl/SurfConfigFolderPatch.java index 5edca887ab..9edb12d107 100644 --- a/repository/src/main/java/org/alfresco/repo/admin/patch/impl/SurfConfigFolderPatch.java +++ b/repository/src/main/java/org/alfresco/repo/admin/patch/impl/SurfConfigFolderPatch.java @@ -26,12 +26,6 @@ package org.alfresco.repo.admin.patch.impl; -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; - import org.alfresco.model.ContentModel; import org.alfresco.repo.admin.patch.AsynchronousPatch; import org.alfresco.repo.admin.patch.PatchExecuter; @@ -55,6 +49,12 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.extensions.surf.util.I18NUtil; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; + /** * Patch to add cm:indexControl aspect to sites' surf-config folders and * their children as well as to the shared surf-config folder(s) and its/their children. @@ -382,8 +382,12 @@ public class SurfConfigFolderPatch extends AsynchronousPatch this.siteTypeQNameId = qnameDAO.getQName(SiteModel.TYPE_SITE); } - @Override - public synchronized int getTotalEstimatedWorkSize() + @Override public synchronized int getTotalEstimatedWorkSize() + { + return (int) getTotalEstimatedWorkSizeLong(); + } + + @Override public synchronized long getTotalEstimatedWorkSizeLong() { if (maxId == Long.MAX_VALUE) { @@ -405,7 +409,7 @@ public class SurfConfigFolderPatch extends AsynchronousPatch logger.debug("\tQ: Work count: " + workCount); } } - return (int) workCount; + return workCount; } @Override diff --git a/repository/src/main/java/org/alfresco/repo/batch/BatchProcessor.java b/repository/src/main/java/org/alfresco/repo/batch/BatchProcessor.java index 28573e5c97..c6e7c77ce0 100644 --- a/repository/src/main/java/org/alfresco/repo/batch/BatchProcessor.java +++ b/repository/src/main/java/org/alfresco/repo/batch/BatchProcessor.java @@ -25,6 +25,18 @@ */ package org.alfresco.repo.batch; +import org.alfresco.api.AlfrescoPublicApi; +import org.alfresco.error.AlfrescoRuntimeException; +import org.alfresco.repo.node.integrity.IntegrityException; +import org.alfresco.repo.transaction.AlfrescoTransactionSupport; +import org.alfresco.repo.transaction.RetryingTransactionHelper; +import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback; +import org.alfresco.util.TraceableThreadFactory; +import org.alfresco.util.transaction.TransactionListenerAdapter; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.context.ApplicationEventPublisher; + import java.io.PrintWriter; import java.io.StringWriter; import java.io.Writer; @@ -43,18 +55,6 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; -import org.alfresco.api.AlfrescoPublicApi; -import org.alfresco.error.AlfrescoRuntimeException; -import org.alfresco.repo.node.integrity.IntegrityException; -import org.alfresco.repo.transaction.AlfrescoTransactionSupport; -import org.alfresco.repo.transaction.RetryingTransactionHelper; -import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback; -import org.alfresco.util.TraceableThreadFactory; -import org.alfresco.util.transaction.TransactionListenerAdapter; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.springframework.context.ApplicationEventPublisher; - /** * A BatchProcessor manages the running and monitoring of a potentially long-running transactional batch * process. It iterates over a collection, and queues jobs that fire a worker on a batch of members. The queued jobs @@ -158,10 +158,17 @@ public class BatchProcessor implements BatchMonitor new BatchProcessWorkProvider() { boolean hasMore = true; - public int getTotalEstimatedWorkSize() + + @Override public int getTotalEstimatedWorkSize() + { + return (int) getTotalEstimatedWorkSizeLong(); + } + + @Override public long getTotalEstimatedWorkSizeLong() { return collection.size(); } + public Collection getNextWork() { // Only return the collection once