3 * Copyright (C) 2015 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.cdm
.api
.service
.search
;
12 import org
.hibernate
.search
.batchindexing
.MassIndexerProgressMonitor
;
13 import org
.hibernate
.search
.batchindexing
.impl
.SimpleIndexingProgressMonitor
;
15 import eu
.etaxonomy
.cdm
.common
.monitor
.IProgressMonitor
;
18 * @author a.kohlbecker
22 public class MassIndexerProgressMonitorWrapper
implements MassIndexerProgressMonitor
{
24 MassIndexerProgressMonitor massIndexerMonitor
;
25 private final IProgressMonitor monitor
;
26 private final int batchSize
;
27 private long tickCount
= 0;
29 public IProgressMonitor
monitor() {
35 public MassIndexerProgressMonitorWrapper(IProgressMonitor monitor
, int batchSize
) {
36 this.monitor
= monitor
;
37 this.batchSize
= batchSize
;
38 this.massIndexerMonitor
= new SimpleIndexingProgressMonitor(batchSize
);
45 public void documentsAdded(long increment
) {
46 // all current implementations always pass 1l as parameter
47 massIndexerMonitor
.documentsAdded(increment
);
48 updatePerBatchMonitor((int)increment
);
55 private void updatePerBatchMonitor(int increment
) {
56 tickCount
+= increment
;
57 if(tickCount
% (batchSize
* 2) == 0) {
67 public void documentsBuilt(int number
) {
68 // unused as of implementing this
69 massIndexerMonitor
.documentsBuilt(number
);
70 updatePerBatchMonitor(number
);
77 public void entitiesLoaded(int size
) {
78 massIndexerMonitor
.entitiesLoaded(size
);
86 public void addToTotalCount(long count
) {
87 massIndexerMonitor
.addToTotalCount(count
);
94 public void indexingCompleted() {
95 massIndexerMonitor
.indexingCompleted();