Project

General

Profile

« Previous | Next » 

Revision f3cce01e

Added by Katja Luther almost 5 years ago

adapt longrunningTasks service for all subtree operations

View differences:

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