Project

General

Profile

« Previous | Next » 

Revision 112ab4f7

Added by Katja Luther about 5 years ago

ref #8096: move cache updater and service methods return updateResult

View differences:

cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/longrunningService/LongRunningTasksServiceImpl.java
20 20
import eu.etaxonomy.cdm.api.service.IProgressMonitorService;
21 21
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
22 22
import eu.etaxonomy.cdm.api.service.UpdateResult;
23
import eu.etaxonomy.cdm.api.service.config.CacheUpdaterConfigurator;
23 24
import eu.etaxonomy.cdm.api.service.config.ForSubtreeConfiguratorBase;
24 25
import eu.etaxonomy.cdm.api.service.config.PublishForSubtreeConfigurator;
25 26
import eu.etaxonomy.cdm.api.service.config.SecundumForSubtreeConfigurator;
27
import eu.etaxonomy.cdm.api.service.config.SortIndexUpdaterConfigurator;
28
import eu.etaxonomy.cdm.api.service.util.CacheUpdater;
29
import eu.etaxonomy.cdm.api.service.util.SortIndexUpdaterWrapper;
26 30
import eu.etaxonomy.cdm.common.monitor.IRemotingProgressMonitor;
27 31
import eu.etaxonomy.cdm.common.monitor.RemotingProgressMonitorThread;
28 32
import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;
......
44 48
    @Autowired
45 49
    IProgressMonitorService progressMonitorService;
46 50

  
51
    @Autowired
52
    CacheUpdater updater;
47 53

  
54
    @Autowired
55
    SortIndexUpdaterWrapper sortIndexUpdater;
48 56

  
49 57
    @Override
50 58
    public UUID monitGetRowWrapper(DescriptiveDataSet descriptiveDataSet) {
......
133 141
        return uuid;
134 142
    }
135 143

  
144
    /**
145
     * {@inheritDoc}
146
     */
147
    @Override
148
    public UUID monitLongRunningTask(CacheUpdaterConfigurator configurator) {
149
        RemotingProgressMonitorThread monitorThread = new RemotingProgressMonitorThread() {
150
            @Override
151
            public Serializable doRun(IRemotingProgressMonitor monitor) {
152
                UpdateResult result;
153
                configurator.setMonitor(monitor);
154

  
155
                result = updater.doInvoke(configurator);
156

  
157
                for(Exception e : result.getExceptions()) {
158
                    monitor.addReport(e.getMessage());
159
                }
160
                monitor.setResult(result);
161
                return result;
162
            }
163
        };
164
        UUID uuid = progressMonitorService.registerNewRemotingMonitor(monitorThread);
165
        monitorThread.setPriority(2);
166
        monitorThread.start();
167
        return uuid;
168
    }
169

  
170
    /**
171
     * {@inheritDoc}
172
     */
173
    @Override
174
    public UUID monitLongRunningTask(SortIndexUpdaterConfigurator configurator) {
175
        RemotingProgressMonitorThread monitorThread = new RemotingProgressMonitorThread() {
176
            @Override
177
            public Serializable doRun(IRemotingProgressMonitor monitor) {
178
                UpdateResult result;
179
                configurator.setMonitor(monitor);
180

  
181
                result = sortIndexUpdater.doInvoke(configurator);
182

  
183
                for(Exception e : result.getExceptions()) {
184
                    monitor.addReport(e.getMessage());
185
                }
186
                monitor.setResult(result);
187
                return result;
188
            }
189
        };
190
        UUID uuid = progressMonitorService.registerNewRemotingMonitor(monitorThread);
191
        monitorThread.setPriority(2);
192
        monitorThread.start();
193
        return uuid;
194
    }
195

  
136 196

  
137 197
}

Also available in: Unified diff