Project

General

Profile

« Previous | Next » 

Revision c295928b

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/wizard/AvailableAreaVocabulariesPage.java
11 11
import java.util.ArrayList;
12 12
import java.util.Arrays;
13 13
import java.util.List;
14
import java.util.UUID;
14 15

  
15 16
import org.apache.commons.lang.StringUtils;
16 17
import org.eclipse.swt.widgets.Composite;
17 18

  
19
import eu.etaxonomy.cdm.api.service.IVocabularyService;
18 20
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
19 21
import eu.etaxonomy.cdm.model.term.TermType;
20
import eu.etaxonomy.cdm.persistence.dto.AbstractTermDto;
21 22
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
22 23
import eu.etaxonomy.taxeditor.editor.definedterm.RootElementsOnlyTreeContentProvider;
23 24
import eu.etaxonomy.taxeditor.l10n.Messages;
24 25
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
26
import eu.etaxonomy.taxeditor.store.CdmStore;
25 27

  
26 28

  
27 29
/**
......
29 31
 * @since 04.06.2018
30 32
 *
31 33
 */
32
public class AvailableAreaVocabulariesPage  extends AbstractAdminTermSelectionWizardPage{
34
public class AvailableAreaVocabulariesPage extends AbstractTermSelectionWizardPage<TermVocabularyDto>{
33 35

  
34 36
    String featureTitle;
35 37

  
36 38
    public AvailableAreaVocabulariesPage(String pageName, boolean localPref, CdmPreference pref, String featureTitle) {
37
        super(pageName, TermType.NamedArea, pref );
39
        super(pageName, TermType.NamedArea);
38 40
        this.localPref = localPref;
39 41
        this.featureTitle = featureTitle;
42
        this.pref = pref;
40 43

  
41 44

  
42 45
    }
43 46

  
44
    public AvailableAreaVocabulariesPage(String pageName, boolean localPref, CdmPreference pref, String featureTitle, boolean localPrefExist) {
45
        this(pageName, localPref, pref, featureTitle);
46
        setLocalPrefExist(localPrefExist);
47
    }
47
//    public AvailableAreaVocabulariesPage(String pageName, boolean localPref, CdmPreference pref, String featureTitle) {
48
//        this(pageName, localPref, pref, featureTitle);
49
//
50
//    }
48 51

  
49 52
    @Override
50 53
    public void createControl(Composite parent) {
......
106 109
            if (listCheckedComma != null && checkedValues.contains(",")){ //$NON-NLS-1$
107 110
                checked = Arrays.asList(listCheckedComma);
108 111
            }
109
            List<AbstractTermDto> termsFromStringValues = getTermsFromStringValues(checked);
112
            List<TermVocabularyDto> termsFromStringValues = getTermsFromStringValues(checked);
110 113
            treeComposite.setCheckedElements(termsFromStringValues.toArray());
111 114

  
112 115
        }else{
......
115 118
        }
116 119
    }
117 120

  
121
    @Override
122
    protected List<TermVocabularyDto> getTermsFromStringValues(List<String> listValue) {
123
        List<TermVocabularyDto> termlist = new ArrayList<>();
124
        List<UUID> uuidList = new ArrayList<>();
125
        for (String s : listValue) {
126
            if (!StringUtils.isBlank(s)){
127
                UUID uuid = UUID.fromString(s);
128
                uuidList.add(uuid);
129
            }
130
        }
131
        IVocabularyService vocabularyService = CdmStore.getService(IVocabularyService.class);
132

  
133
        termlist = vocabularyService.findVocabularyDtoByVocabularyUuids(uuidList);
134

  
135

  
136

  
137
        return termlist;
138

  
139
    }
140

  
141

  
118 142

  
119 143

  
120 144
}

Also available in: Unified diff