#4761 performance improvent of massindexer by using new hibernate 5 massindexer,...
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / search / MassIndexerProgressMonitorWrapper.java
1 // $Id$
2 /**
3 * Copyright (C) 2015 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
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.
9 */
10 package eu.etaxonomy.cdm.api.service.search;
11
12 import org.hibernate.search.batchindexing.MassIndexerProgressMonitor;
13 import org.hibernate.search.batchindexing.impl.SimpleIndexingProgressMonitor;
14
15 import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
16
17 /**
18 * @author a.kohlbecker
19 * @date Dec 7, 2015
20 *
21 */
22 public class MassIndexerProgressMonitorWrapper implements MassIndexerProgressMonitor {
23
24 MassIndexerProgressMonitor massIndexerMonitor = new SimpleIndexingProgressMonitor();
25 private final IProgressMonitor monitor;
26
27 public IProgressMonitor monitor() {
28 return monitor;
29 }
30 /**
31 * @param monitor
32 */
33 public MassIndexerProgressMonitorWrapper(IProgressMonitor monitor) {
34 this.monitor = monitor;
35 }
36
37 /**
38 * {@inheritDoc}
39 */
40 @Override
41 public void documentsAdded(long increment) {
42 // all current implementations always pass 1l as parameter
43 massIndexerMonitor.documentsAdded(increment);
44 monitor.worked((int)increment);
45
46 }
47
48 /**
49 * {@inheritDoc}
50 */
51 @Override
52 public void documentsBuilt(int number) {
53 // unused as of implementing this
54 massIndexerMonitor.documentsBuilt(number);
55
56 }
57
58 /**
59 * {@inheritDoc}
60 */
61 @Override
62 public void entitiesLoaded(int size) {
63 massIndexerMonitor.entitiesLoaded(size);
64
65 }
66
67 /**
68 * {@inheritDoc}
69 */
70 @Override
71 public void addToTotalCount(long count) {
72 massIndexerMonitor.addToTotalCount(count);
73 }
74
75 /**
76 * {@inheritDoc}
77 */
78 @Override
79 public void indexingCompleted() {
80 massIndexerMonitor.indexingCompleted();
81 monitor.done();
82 }
83
84 }