Revision f3cce01e
Added by Katja Luther almost 5 years ago
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/longrunningService/ILongRunningTasksService.java | ||
---|---|---|
10 | 10 |
|
11 | 11 |
import java.util.UUID; |
12 | 12 |
|
13 |
import eu.etaxonomy.cdm.api.service.config.SecundumForSubtreeConfigurator;
|
|
13 |
import eu.etaxonomy.cdm.api.service.config.ForSubtreeConfiguratorBase;
|
|
14 | 14 |
|
15 | 15 |
/** |
16 | 16 |
* @author cmathew |
... | ... | |
24 | 24 |
* @param configurator |
25 | 25 |
* @return |
26 | 26 |
*/ |
27 |
public UUID monitLongRunningTask(SecundumForSubtreeConfigurator configurator);
|
|
27 |
public UUID monitLongRunningTask(ForSubtreeConfiguratorBase configurator);
|
|
28 | 28 |
|
29 | 29 |
|
30 | 30 |
|
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/longrunningService/LongRunningTasksServiceImpl.java | ||
---|---|---|
18 | 18 |
import eu.etaxonomy.cdm.api.service.IProgressMonitorService; |
19 | 19 |
import eu.etaxonomy.cdm.api.service.ITaxonNodeService; |
20 | 20 |
import eu.etaxonomy.cdm.api.service.UpdateResult; |
21 |
import eu.etaxonomy.cdm.api.service.config.ForSubtreeConfiguratorBase; |
|
22 |
import eu.etaxonomy.cdm.api.service.config.PublishForSubtreeConfigurator; |
|
21 | 23 |
import eu.etaxonomy.cdm.api.service.config.SecundumForSubtreeConfigurator; |
22 | 24 |
import eu.etaxonomy.cdm.common.monitor.IRemotingProgressMonitor; |
23 | 25 |
import eu.etaxonomy.cdm.common.monitor.RemotingProgressMonitorThread; |
... | ... | |
38 | 40 |
|
39 | 41 |
|
40 | 42 |
@Override |
41 |
public UUID monitLongRunningTask(SecundumForSubtreeConfigurator config) {
|
|
43 |
public UUID monitLongRunningTask(ForSubtreeConfiguratorBase config) {
|
|
42 | 44 |
|
43 | 45 |
RemotingProgressMonitorThread monitorThread = new RemotingProgressMonitorThread() { |
44 | 46 |
@Override |
45 | 47 |
public Serializable doRun(IRemotingProgressMonitor monitor) { |
46 | 48 |
UpdateResult result; |
47 | 49 |
config.setMonitor(monitor); |
50 |
System.err.println(monitor.getThread().getId()); |
|
51 |
|
|
48 | 52 |
result = updateData(config); |
49 | 53 |
for(Exception e : result.getExceptions()) { |
50 | 54 |
monitor.addReport(e.getMessage()); |
51 | 55 |
} |
56 |
monitor.setResult(result); |
|
52 | 57 |
return result; |
53 | 58 |
} |
54 | 59 |
}; |
... | ... | |
58 | 63 |
return uuid; |
59 | 64 |
} |
60 | 65 |
|
61 |
private UpdateResult updateData(SecundumForSubtreeConfigurator config){ |
|
62 |
return taxonNodeService.setSecundumForSubtree(config); |
|
66 |
private UpdateResult updateData(ForSubtreeConfiguratorBase config){ |
|
67 |
if (config instanceof SecundumForSubtreeConfigurator){ |
|
68 |
return taxonNodeService.setSecundumForSubtree((SecundumForSubtreeConfigurator)config); |
|
69 |
}else{ |
|
70 |
return taxonNodeService.setPublishForSubtree(config.getSubtreeUuid(), ((PublishForSubtreeConfigurator)config).isPublish(), ((PublishForSubtreeConfigurator)config).isIncludeAcceptedTaxa(), ((PublishForSubtreeConfigurator)config).isIncludeSynonyms(), ((PublishForSubtreeConfigurator)config).isIncludeSharedTaxa(), config.getMonitor()); |
|
71 |
} |
|
63 | 72 |
} |
64 | 73 |
|
65 | 74 |
|
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/TaxonNodeServiceImpl.java | ||
---|---|---|
37 | 37 |
import eu.etaxonomy.cdm.common.monitor.DefaultProgressMonitor; |
38 | 38 |
import eu.etaxonomy.cdm.common.monitor.IProgressMonitor; |
39 | 39 |
import eu.etaxonomy.cdm.common.monitor.IRemotingProgressMonitor; |
40 |
import eu.etaxonomy.cdm.common.monitor.RemotingProgressMonitor; |
|
40 | 41 |
import eu.etaxonomy.cdm.common.monitor.RemotingProgressMonitorThread; |
41 | 42 |
import eu.etaxonomy.cdm.filter.TaxonNodeFilter; |
42 | 43 |
import eu.etaxonomy.cdm.hibernate.HHH_9751_Util; |
... | ... | |
868 | 869 |
Set<TaxonBase> updatedSynonyms = dao.setSecundumForSubtreeSynonyms(subTreeIndex, newSec, config.isOverwriteExistingSynonyms(), config.isIncludeSharedTaxa() , config.isEmptySecundumDetail(), monitor); |
869 | 870 |
result.addUpdatedObjects(updatedSynonyms); |
870 | 871 |
} |
871 |
|
|
872 |
((RemotingProgressMonitor)monitor).setResult(result); |
|
872 | 873 |
monitor.done(); |
873 | 874 |
return result; |
874 | 875 |
} |
... | ... | |
917 | 918 |
Set<TaxonBase> updatedSynonyms = dao.setPublishForSubtreeSynonyms(subTreeIndex, publish, includeSharedTaxa, monitor); |
918 | 919 |
result.addUpdatedObjects(updatedSynonyms); |
919 | 920 |
} |
921 |
((RemotingProgressMonitor)monitor).setResult(result); |
|
920 | 922 |
monitor.done(); |
921 | 923 |
return result; |
922 | 924 |
} |
Also available in: Unified diff
adapt longrunningTasks service for all subtree operations