Revision 33c10482
Added by Katja Luther about 4 years ago
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
fix #8943: fix handling of term preferences in combo boxes and code cleaning