Project

General

Profile

« Previous | Next » 

Revision 33c10482

Added by Katja Luther about 4 years ago

fix #8943: fix handling of term preferences in combo boxes and code cleaning

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/AbstractGeneralTermPreference.java
217 217
    protected void getPreferenceValues(){
218 218
        pref = PreferencesUtil.getPreferenceFromDB(predicate);
219 219
        this.allowOverride = pref!= null?pref.isAllowOverride():true;
220
        this.isOverride = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(predicate.getKey()));
220
        this.isOverride = PreferencesUtil.getOverrideForPreference(predicate.getKey());
221 221
        if (pref == null){
222 222
            pref = CdmPreference.NewTaxEditorInstance(predicate, null);
223 223
        }
......
238 238
    public void widgetSelected(SelectionEvent e) {
239 239
        if (e.getSource().equals(useLocalOrAdmin)){
240 240
            if (useLocalOrAdmin.getText().equals(LocalOrDefaultEnum.Default.getLabel())){
241
                rememberCheckedValues(getCheckedValuesFromPreferences());
242 241
                treeComposite.setEnabled(false);
242
                isOverride = false;
243 243
            }else{
244 244
                treeComposite.setEnabled(true);
245
                isOverride = true;
245 246
            }
247
            rememberCheckedValues(getCheckedValuesFromPreferences());
246 248
        }
247 249
        this.setApply(true);
248 250
    }
......
296 298
        }
297 299
        String saveCheckedElements = StringUtils.join(listUIIDChecked, ";"); //$NON-NLS-1$
298 300

  
299
        PreferencesUtil.setStringValue(predicate.getKey(), saveCheckedElements);
301

  
300 302
        String text = this.useLocalOrAdmin.getText();
301 303
        if (text.equals(LocalOrDefaultEnum.Database.getLabel()) || text.equals(LocalOrDefaultEnum.Default.getLabel())){
302 304
            PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(predicate.getKey()), false);
303 305
        }else if (text.equals(LocalOrDefaultEnum.Local.getLabel())){
306
            PreferencesUtil.setStringValue(predicate.getKey(), saveCheckedElements);
304 307
            PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(predicate.getKey()), true);
305 308
        }
306 309
        if (type == null){
307 310
            CdmStore.getTermManager().setPreferredTermsByDto(preferredTermDtos, vocabularies.get(0));
311

  
308 312
        }else{
309 313
            CdmStore.getTermManager().setPreferredTermsByType(preferredTermDtos, type);
310 314
        }
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/CdmPreferenceCache.java
130 130
        PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.AvailableDistributionStatus);
131 131

  
132 132
        if (get(key) != null){
133
            if (!PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.AvailableDistributionStatus.getKey())) || !get(key).isAllowOverride()){
133
            if (!PreferencesUtil.getOverrideForPreference(PreferencePredicate.AvailableDistributionStatus.getKey()) || !get(key).isAllowOverride()){
134 134
                //get terms for the uuids... and add them to the termManager as preferred terms
135 135
                ITermService termService = CdmStore.getService(ITermService.class);
136 136
                List<UUID> uuidList = new ArrayList();
......
156 156
         key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.AvailableRanks);
157 157

  
158 158
        if (get(key) != null){
159
            if (!PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.AvailableRanks.getKey())) || !get(key).isAllowOverride()){
159
            if (!PreferencesUtil.getOverrideForPreference(PreferencePredicate.AvailableRanks.getKey()) || !get(key).isAllowOverride()){
160 160
                //get terms for the uuids... and add them to the termManager as preferred terms
161 161
                ITermService termService = CdmStore.getService(ITermService.class);
162 162
                List<UUID> uuidList = new ArrayList();
......
183 183
        key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.AvailableNomenclaturalStatus);
184 184

  
185 185
        if (get(key) != null){
186
            if (!PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.AvailableNomenclaturalStatus.getKey())) || !get(key).isAllowOverride()){
186
            if (!PreferencesUtil.getOverrideForPreference(PreferencePredicate.AvailableNomenclaturalStatus.getKey()) || !get(key).isAllowOverride()){
187 187
                //get terms for the uuids... and add them to the termManager as preferred terms
188 188
                ITermService termService = CdmStore.getService(ITermService.class);
189 189
                List<UUID> uuidList = new ArrayList();
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/DistributionStatusPreferencePage.java
354 354
        }
355 355
        createNamedAreaUUIDMap();
356 356

  
357
        override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.AvailableDistributionStatus.getKey()));
357
        override = PreferencesUtil.getOverrideForPreference(PreferencePredicate.AvailableDistributionStatus.getKey());
358 358

  
359 359
        commandHandlerStringStatus = "eu.etaxonomy.taxeditor.store.open.OpenDistributionStatusWizardHandler";
360 360
       // setApply(true);
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/GeneralTermPreferencePage.java
50 50

  
51 51
        if (listValue == null || listValue.isEmpty() ){
52 52
            termlist = termService.findByTitleAsDto("", type);
53
//            if (terms != null){
54
//                for (DefinedTermBase term: terms){
55
//                    if (!(term instanceof eu.etaxonomy.cdm.model.description.Character) && term != null){
56
//                        termlist.add(TermDto.fromTerm(term, true));
57
//                    }
58
//                }
59
//            }
53

  
60 54
        }
61 55

  
62 56
        return new ArrayList(termlist);
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java
133 133
    public static final String LAST_SELECTED_REFERENCES = "eu.etaxonomy.taxeditor.references.selection.lastSelected";
134 134
    public static final String LAST_USED_ABCD_CONFIG = "eu.etaxonomy.taxeditor.io.abcd.lastUsedConfig";
135 135
    public static final String LAST_USED_BIOCASE_PROVIDER = "eu.etaxonomy.taxeditor.io.abcd.lastUsedBiocaseProvider";
136

  
137
    public static final String FILTER_COMMON_NAME_REFERENCES = "eu.etaxonomy.taxeditor.references.selection.filterCommonNameReferences";
138

  
139

  
140 136
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NomenclaturalCodePreferences.java
220 220

  
221 221
        }
222 222
        String stringValue = PreferencesUtil.getStringValue(PreferencePredicate.NomenclaturalCode.getKey(), true);
223
        Boolean overridePref = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.NomenclaturalCode.getKey()), true);
223
        Boolean overridePref = PreferencesUtil.getOverrideForPreference(PreferencePredicate.NomenclaturalCode.getKey());
224 224
        override = overridePref != null? overridePref:false;
225 225
        if (!StringUtils.isBlank(stringValue) && override){
226 226
            actualCode = NomenclaturalCode.fromString(stringValue);
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/OrderPreferences.java
231 231
        @Override
232 232
        protected void getValues(){
233 233
            orderPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.TaxonNodeOrder);
234
            override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.TaxonNodeOrder.getKey()));
234
            override = PreferencesUtil.getOverrideForPreference(PreferencePredicate.TaxonNodeOrder.getKey());
235 235
            allowOverride = orderPref != null? orderPref.isAllowOverride():true;
236 236
            if (orderPref == null || allowOverride  ){
237 237
                if (override){
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
228 228

  
229 229
        CdmPreference pref = getDBPreferenceValue(name);
230 230
        String prefValue = null;
231
        String overrideKey =  createPreferenceString(createOverridePreferenceString(name));
232
        boolean override = getPreferenceStore().getBoolean(overrideKey);
233 231

  
232
        boolean override = getOverrideForPreference(name);
234 233

  
235 234
        if (local || (pref == null && override)|| (pref != null && pref.isAllowOverride() && override)){
236 235
            //local preference
......
290 289
            logger.debug("Preference value of " + name + " is not a number");
291 290

  
292 291
        }
293
        String overrideKey =  createPreferenceString(createOverridePreferenceString(name));
294
        boolean override = getPreferenceStore().getBoolean(overrideKey);
292

  
293
        boolean override = getOverrideForPreference(name);
295 294
        if (local || (pref == null && override) || (pref != null && pref.isAllowOverride() && override)){
296 295
            String dbSpecific = prefKey(name);
297 296
            if (getPreferenceStore().contains(dbSpecific)){
......
337 336
            CdmPreference pref = getDBPreferenceValue(name);
338 337
            String overrideKey =  createPreferenceString(createOverridePreferenceString(name));
339 338
            boolean override = getPreferenceStore().getBoolean(overrideKey);
340

  
341 339
            if (local || (pref == null && override)|| (pref != null && pref.isAllowOverride() && override)){
342 340
                //local preference
343 341
                String dbSpecific = prefKey(name);
......
388 386
        }catch(NumberFormatException e){
389 387
            logger.debug("Preference value of " + name + " is not a number");
390 388
        }
391
        String overrideKey =  createPreferenceString(createOverridePreferenceString(name));
392
        boolean override = true;
393
        if (getPreferenceStore().contains(overrideKey)){
394
            override = getPreferenceStore().getBoolean(overrideKey);
395
        }
389

  
390
        boolean override = getOverrideForPreference(name);
391

  
396 392
        if (local || pref == null || (pref != null && pref.isAllowOverride() && override)){
397 393
            String dbSpecific = prefKey(name);
398 394
            if (getPreferenceStore().contains(dbSpecific)){
......
869 865
    public static String createOverridePreferenceString(String property){
870 866
           return prefOverrideKey(property);
871 867

  
872
        }
868
    }
869

  
870
    public static boolean getOverrideForPreference(String preferenceString){
871
        return PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(preferenceString), true);
872
    }
873 873

  
874 874
    /**
875 875
     * Set default values for preferences
......
1715 1715
    }
1716 1716

  
1717 1717
    public static boolean getFilterCommonNameReferences(){
1718
        Boolean result = getBooleanValue(PreferencesUtil.FILTER_COMMON_NAME_REFERENCES);
1718
        Boolean result = getBooleanValue(PreferencePredicate.CommonNameReferencesWithMarker.getKey());
1719 1719
        if (result == null){
1720 1720
            return false;
1721 1721
        }
......
1792 1792
        CdmPreferenceCache cache = CdmPreferenceCache.instance();
1793 1793
        CdmPreference pref = cache.get(PreferencePredicate.NameFeatures.getKey());
1794 1794
        List<Feature> terms = new ArrayList();
1795
        boolean override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.NameFeatures.getKey()));
1795
        boolean override = PreferencesUtil.getOverrideForPreference(PreferencePredicate.NameFeatures.getKey());
1796 1796

  
1797 1797
        List<UUID> uuids = PreferencesUtil.createUUIDListFromStringPref(PreferencePredicate.NameFeatures.getKey(), false);
1798 1798
        if (uuids != null && !uuids.isEmpty()){
......
1861 1861
        CdmPreferenceCache cache = CdmPreferenceCache.instance();
1862 1862
        CdmPreference pref = cache.get(PreferencePredicate.TaxonFeatures.getKey());
1863 1863
        List<Feature> terms = null;
1864
        boolean override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.TaxonFeatures.getKey()));
1864
        boolean override = PreferencesUtil.getOverrideForPreference(PreferencePredicate.TaxonFeatures.getKey());
1865 1865
        List<UUID> uuids = PreferencesUtil.createUUIDListFromStringPref(PreferencePredicate.TaxonFeatures.getKey(), false);
1866 1866
        if (uuids != null && !uuids.isEmpty()){
1867 1867
            terms = CdmStore.getTermManager().getTerms(uuids, Feature.class);
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/SearchDialogPreferences.java
79 79
        filterCommonNameReferencesPref =  PreferencesUtil.getPreferenceFromDB(PreferencePredicate.CommonNameReferencesWithMarker);
80 80
        searchNamedAreasByAbbrevPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.NamedAreaSearchForAbbrev);
81 81

  
82
        overrideShowIdInSelectionDialog = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.ShowIdInSelectionDialog.getKey()));
83
        overrideSearchForIdentifierAsDefault = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.SearchForIdentifierAsDefault.getKey()));
84
        overrideSearchForIdentifierAndTitleCache = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.SearchForIdentifierAndTitleCache.getKey()));
85
        overrideSortTaxaByRankAndName = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.SortTaxaByRankAndName.getKey()));
86
        overrideFilterCommonNameReferences = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.CommonNameReferencesWithMarker.getKey()));
87
        overrideSearchNamedAreasByAbbrev = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.NamedAreaSearchForAbbrev.getKey()));
82
        overrideShowIdInSelectionDialog = PreferencesUtil.getOverrideForPreference(PreferencePredicate.ShowIdInSelectionDialog.getKey());
83
        overrideSearchForIdentifierAsDefault = PreferencesUtil.getOverrideForPreference(PreferencePredicate.SearchForIdentifierAsDefault.getKey());
84
        overrideSearchForIdentifierAndTitleCache = PreferencesUtil.getOverrideForPreference(PreferencePredicate.SearchForIdentifierAndTitleCache.getKey());
85
        overrideSortTaxaByRankAndName = PreferencesUtil.getOverrideForPreference(PreferencePredicate.SortTaxaByRankAndName.getKey());
86
        overrideFilterCommonNameReferences = PreferencesUtil.getOverrideForPreference(PreferencePredicate.CommonNameReferencesWithMarker.getKey());
87
        overrideSearchNamedAreasByAbbrev = PreferencesUtil.getOverrideForPreference(PreferencePredicate.NamedAreaSearchForAbbrev.getKey());
88 88

  
89 89
        if(overrideShowIdInSelectionDialog){
90 90
            showIdInSelectionDialog = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowIdInSelectionDialog.getKey(), true);
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AbstractAdminTermSelectionWizardPage.java
36 36
        super(pageName, type);
37 37
        this.pref = pref;
38 38
        if (localPref){
39
            this.override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(pref.getPredicate()));
39
            this.override = PreferencesUtil.getOverrideForPreference(pref.getPredicate());
40 40
        }else{
41 41
            this.override = pref != null? this.pref.isAllowOverride(): true;
42 42
        }
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableAreaVocabulariesPage.java
74 74
            if (StringUtils.isBlank(vocString) && pref != null){
75 75
                vocString = pref.getValue();
76 76
            }
77
            this.override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(pref.getPredicate()));
77
            this.override = PreferencesUtil.getOverrideForPreference(pref.getPredicate());
78 78
        }else if (pref != null){
79 79
            vocString = pref.getValue();
80 80
        }
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionPage.java
116 116
    @Override
117 117
    protected  List<TermVocabularyDto> getVocabulariesFromPreference(){
118 118
        List<TermVocabularyDto> vocs = new ArrayList<>();
119
        String test = PreferencesUtil.getStringValue(PreferencePredicate.AvailableDistributionAreaVocabularies.getKey(), true);
119

  
120 120
        if (PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AvailableDistributionAreaVocabularies) == null && PreferencesUtil.getStringValue(PreferencePredicate.AvailableDistributionAreaVocabularies.getKey()) == null){
121 121
            vocs = CdmStore.getService(IVocabularyService.class).findVocabularyDtoByTermType(type);
122 122
        }else{
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusPage.java
42 42
        setTitle(Messages.AvailableDistributionStatusPage_PAGE_TITLE);
43 43
        setDescription(Messages.AvailableDistributionStatusPage_PAGE_DESCRIPTION);
44 44
        if (localPref){
45
            override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.AvailableDistributionStatus.getKey()));
45
            override = PreferencesUtil.getOverrideForPreference(PreferencePredicate.AvailableDistributionStatus.getKey());
46 46
        }
47 47
        overrideButton = createAllowOverrideButton(parent);
48 48

  
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java
60 60
	 */
61 61
	public <T extends DefinedTermBase> List<T> getPreferredTerms(TermType termType){
62 62
	    List terms = cachedTermMap.get(termType);
63
	    List<T> termBaseList = new ArrayList();
63 64
	    if(terms==null || terms.isEmpty()){
64
	        terms = getFilteredTerms(TermStore.<T>getTerms(termType, null));
65
	        cachedTermMap.put(termType, terms);
65
	        termBaseList = getFilteredTerms(TermStore.<T>getTerms(termType, null));
66
	        cachedTermMap.put(termType.getUuid(), termBaseList);
67
	    }else{
68
	        Iterator iterator = terms.iterator();
69
            DefinedTermBase termBase = null;
70
            List<UUID> uuids = new ArrayList();
71
            while (iterator.hasNext()){
72
                Object term = iterator.next();
73
                if (term instanceof TermDto){
74
                    TermDto dto = (TermDto)term;
75
                    uuids.add(dto.getUuid());
76
                }else {
77
                    termBaseList.add((T)term);
78
                }
79

  
80
            }
81
            if (!uuids.isEmpty()){
82
                termBaseList.addAll(getTerms(uuids, termType));
83
            }
84
            ;
66 85
	    }
67
        return terms;
86
        return termBaseList;
68 87
	}
69 88

  
70 89
	/**
......
107 126
       List terms = cachedTermMap.get(termVocabulary.getUuid());
108 127
       List<T> termBaseList = new ArrayList();
109 128
       if(terms==null){
110
           terms = getFilteredTerms(new ArrayList<T>(TermStore.getTerms(termVocabulary,comp)));
111
           cachedTermMap.put(termVocabulary.getUuid(), terms);
129
           termBaseList = getFilteredTerms(new ArrayList<T>(TermStore.getTerms(termVocabulary,comp)));
130
           cachedTermMap.put(termVocabulary.getUuid(), termBaseList);
112 131
       }else{
113 132
           Iterator iterator = terms.iterator();
114 133
           DefinedTermBase termBase = null;
......
160 179
		for (T term : initialTerms){
161 180

  
162 181
			if (term instanceof TaxonRelationshipTypeInverseContainer){
163
				if(!PreferencesUtil.getBooleanValue(getPrefName(term))){
182
				if(!PreferencesUtil.getBooleanValue(getPrefName(term), true)){
164 183
					T type = (T)((TaxonRelationshipTypeInverseContainer) term).getType();
165 184
					filteredTerms.add(type);
166 185

  
167 186
				}
168 187
			}
169 188

  
170
			if(PreferencesUtil.getBooleanValue(getPrefName(term))){
189
			if(PreferencesUtil.getBooleanValue(getPrefName(term), true)){
171 190
				filteredTerms.add(term);
172 191
			}
173 192
		}
174 193
		if (filteredTerms.isEmpty()){
175
		    return initialTerms;
194
		    //check for dtos
195
		    List<TermDto> preferredTerms = cachedTermMap.get(initialTerms.get(0).getVocabulary().getUuid());
196
		    if (preferredTerms == null){
197
		        preferredTerms = cachedTermMap.get(initialTerms.get(0).getTermType());
198
		    }
199
		    if (preferredTerms == null){
200
		        return initialTerms;
201
		    }
202
		    for (T term : initialTerms){
203
	            if (preferredTerms.contains(TermDto.fromTerm(term))){
204
	                filteredTerms.add(term);
205
	            }
206
	        }
207
		    if (filteredTerms.isEmpty()){
208
		        return initialTerms;
209
		    }
176 210
		}
177 211

  
178 212
		return filteredTerms;
......
267 301
     */
268 302
    public  void setPreferredTermsByType(Collection<TermDto> preferredTerms, TermType type){
269 303
        List<?> oldValues = getPreferredTerms(type);
270
        for (Object term: oldValues){
271
            if (term instanceof TermDto){
272
                PreferencesUtil.setBooleanValue(getPrefNameByDto((TermDto)term), false);
273
            }else{
274
                PreferencesUtil.setBooleanValue(getPrefName((DefinedTermBase)term), false);
304
        if (oldValues != null){
305
            for (Object term: oldValues){
306
                if (term instanceof TermDto){
307
                    PreferencesUtil.setBooleanValue(getPrefNameByDto((TermDto)term), false);
308
                }else{
309
                    PreferencesUtil.setBooleanValue(getPrefName((DefinedTermBase)term), false);
310
                }
275 311
            }
276 312
        }
277
        for(TermDto term : preferredTerms){
278
           PreferencesUtil.setBooleanValue(getPrefNameByDto(term), true);
279

  
280
        }
313
//        for(TermDto term : preferredTerms){
314
//           PreferencesUtil.setBooleanValue(getPrefNameByDto(term), true);
315
//
316
//        }
281 317

  
282 318
        clearTermMapForTermType(type);
283 319
        List<TermDto> list = new ArrayList<>(preferredTerms);
284
        cachedTermMap.put(type.getUuid(), list);
320
        cachedTermMap.put(type, list);
285 321

  
286 322

  
287 323

  
......
299 335
        for (TermDto term: oldValues){
300 336
            PreferencesUtil.setBooleanValue(getPrefNameByDto(term), false);
301 337
        }
338
        TermType type = null;
339
        boolean allSameType = true;
302 340
        for(TermDto term : preferredTerms){
303
           PreferencesUtil.setBooleanValue(getPrefNameByDto(term), true);
341
            PreferencesUtil.setBooleanValue(getPrefNameByDto(term), true);
342
           if (type == null){
343
               type = term.getTermType();
344
           }else if (!type.equals(term.getTermType())){
345
               allSameType = false;
346
           }
304 347

  
305 348
        }
306 349

  
......
308 351
            clearTermMapForTermVoc(vocDto.getUuid());
309 352
            List<TermDto> list = new ArrayList<>(preferredTerms);
310 353
            cachedTermMap.put(vocDto.getUuid(), list);
354
            if (allSameType){
355
                cachedTermMap.put(type, list);
356
            }
311 357
        //}
312 358

  
313 359
    }
......
343 389
        return filteredTerms;
344 390
    }
345 391

  
392
    /**
393
     * Generic method to get term preferences for a term vocabulary
394
     *
395
     * @param initialTerms a {@link java.util.List} object.
396
     * @return a {@link java.util.List} object.
397
     */
398
    public <T extends DefinedTermBase> List<T> getTerms(List<UUID> uuidList, TermType type){
399

  
400
        List<T> filteredTerms = new ArrayList<T>();
401
        List<T> terms = TermStore.getTerms(type, null);
402
        if (uuidList == null || uuidList.isEmpty()){
403
            return terms;
404
        }
405
        for (T term : terms){
406
            if(uuidList.contains(term.getUuid())){
407
                filteredTerms.add(term);
408
            }
409
        }
410

  
411
        return filteredTerms;
412
    }
413

  
346 414
    /**
347 415
     * Generic method to get term preferences for a term vocabulary
348 416
     *

Also available in: Unified diff