Project

General

Profile

« Previous | Next » 

Revision 9dd11918

Added by Katja Luther over 4 years ago

ref #8568: performance issues for term and voc preference pages

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/GeneralTermPreferencePage.java
16 16
import org.apache.commons.lang.StringUtils;
17 17

  
18 18
import eu.etaxonomy.cdm.api.service.ITermService;
19
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
20 19
import eu.etaxonomy.cdm.persistence.dto.TermDto;
21 20
import eu.etaxonomy.taxeditor.store.CdmStore;
22 21

  
......
41 40
            termlist = termService.findByUUIDsAsDto(uuidList);
42 41
        }
43 42

  
44
        if (listValue.isEmpty()){
45
            List<DefinedTermBase> terms = CdmStore.getTermManager().getAllTerms(type, null);
46
            for (DefinedTermBase term: terms){
47
                if (!(term instanceof eu.etaxonomy.cdm.model.description.Character) && term != null){
48
                    termlist.add(TermDto.fromTerm(term, true));
49
                }
50
            }
43
        if (listValue == null || listValue.isEmpty() ){
44
            termlist = termService.findByTitleAsDto("", type);
45
//            if (terms != null){
46
//                for (DefinedTermBase term: terms){
47
//                    if (!(term instanceof eu.etaxonomy.cdm.model.description.Character) && term != null){
48
//                        termlist.add(TermDto.fromTerm(term, true));
49
//                    }
50
//                }
51
//            }
51 52
        }
52 53

  
53 54
        return new ArrayList(termlist);
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AbstractTermSelectionWizardPage.java
90 90
        initialiseVocabularies();
91 91

  
92 92
        treeComposite.getViewer().setInput(getVocabularies());
93

  
93
        List<T> termsFromStringValues = null;
94 94
        if (checkedValues != null && checkedValues != "") { //$NON-NLS-1$
95 95
            String[] listChecked = checkedValues.split(";"); //$NON-NLS-1$
96 96
            String[] listCheckedComma = checkedValues.split(","); //$NON-NLS-1$
......
101 101
            if (listCheckedComma != null && checkedValues.contains(",")){ //$NON-NLS-1$
102 102
                checked = Arrays.asList(listCheckedComma);
103 103
            }
104
            List<T> termsFromStringValues = getTermsFromStringValues(checked);
105
            treeComposite.setCheckedElements(termsFromStringValues.toArray());
104
            termsFromStringValues = getTermsFromStringValues(checked);
105
            if (termsFromStringValues != null){
106
                treeComposite.setCheckedElements(termsFromStringValues.toArray());
107
            }
106 108

  
107
        }else{
108
            List<T> termsFromStringValues = getTermsFromStringValues(new ArrayList<String>());
109
            treeComposite.setCheckedElements(termsFromStringValues.toArray());
109
        }
110
        if (termsFromStringValues == null){
111
            termsFromStringValues = getTermsFromStringValues(new ArrayList<String>());
112
            if (termsFromStringValues != null){
113
                treeComposite.setCheckedElements(termsFromStringValues.toArray());
114
            }
110 115
        }
111 116
    }
112 117

  
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusPage.java
15 15
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
16 16
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
17 17
import eu.etaxonomy.cdm.model.term.TermType;
18
import eu.etaxonomy.cdm.persistence.dto.TermDto;
19 18
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
20 19
import eu.etaxonomy.taxeditor.l10n.Messages;
21 20
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
......
27 26
 * @since 05.10.2018
28 27
 *
29 28
 */
30
public class AvailableDistributionStatusPage extends AbstractTermSelectionWizardPage<TermDto> {
29
public class AvailableDistributionStatusPage extends TermSelectionWizardPage {
31 30

  
32 31

  
33 32

  
......
60 59
        return checkedValues;
61 60
    }
62 61

  
63

  
64

  
65
    /**
66
     * {@inheritDoc}
67
     */
68 62
    @Override
69 63
    protected List<TermVocabularyDto> getVocabulariesFromPreference() {
70 64
        // TODO Auto-generated method stub
71 65
        return null;
72 66
    }
73 67

  
74
    @Override
75
    protected List<TermDto> getTermsFromStringValues(List<String> listValue) {
76
        // TODO Auto-generated method stub
77
        return null;
78
    }
68

  
69

  
70

  
79 71

  
80 72

  
81 73
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/TermSelectionWizardPage.java
1
/**
2
* Copyright (C) 2019 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.taxeditor.preference.wizard;
10

  
11
import java.util.ArrayList;
12
import java.util.Collection;
13
import java.util.List;
14
import java.util.UUID;
15

  
16
import org.apache.commons.lang.StringUtils;
17

  
18
import eu.etaxonomy.cdm.api.service.ITermService;
19
import eu.etaxonomy.cdm.model.term.TermType;
20
import eu.etaxonomy.cdm.persistence.dto.TermDto;
21
import eu.etaxonomy.taxeditor.store.CdmStore;
22

  
23
/**
24
 * @author k.luther
25
 * @since 26.09.2019
26
 */
27
public abstract class TermSelectionWizardPage extends AbstractTermSelectionWizardPage<TermDto> {
28

  
29
    /**
30
     * @param pageName
31
     * @param type
32
     */
33
    protected TermSelectionWizardPage(String pageName, TermType type) {
34
        super(pageName, type);
35

  
36
    }
37

  
38
    @Override
39
    protected List<TermDto> getTermsFromStringValues(List<String> listValue) {
40
        Collection<TermDto> termlist = null ;
41
        ITermService termService = CdmStore.getService(ITermService.class);
42
        List<UUID> uuidList = new ArrayList();
43
        for (String s : listValue) {
44
            if (!StringUtils.isBlank(s)){
45
                UUID uuid = UUID.fromString(s);
46
                uuidList.add(uuid);
47
            }
48
        }
49
        if (!uuidList.isEmpty()){
50
            termlist = termService.findByUUIDsAsDto(uuidList);
51
        }
52

  
53
        if (listValue == null || listValue.isEmpty() ){
54
            termlist = termService.findByTitleAsDto("", type);
55
        }
56
        return new ArrayList(termlist);
57
    }
58
}

Also available in: Unified diff