Revision 8c761221
Added by Katja Luther about 5 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java | ||
---|---|---|
112 | 112 |
} |
113 | 113 |
|
114 | 114 |
public static String prefOverrideKey(String name) { |
115 |
return name + "_OVERRIDE_"+ ((CdmRemoteSource)CdmStore.getActiveCdmSource()).toString();
|
|
115 |
return name + "_OVERRIDE_"; |
|
116 | 116 |
} |
117 | 117 |
|
118 | 118 |
/** |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusAdminWizard.java | ||
---|---|---|
9 | 9 |
package eu.etaxonomy.taxeditor.preference.wizard; |
10 | 10 |
|
11 | 11 |
import java.util.ArrayList; |
12 |
import java.util.Collection; |
|
13 | 12 |
import java.util.List; |
14 | 13 |
import java.util.UUID; |
15 | 14 |
|
... | ... | |
103 | 102 |
CdmPreference savePref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.AvailableDistributionStatus, saveCheckedElements); |
104 | 103 |
savePref.setAllowOverride(pref.isAllowOverride()); |
105 | 104 |
PreferencesUtil.setPreferenceToDB(savePref); |
106 |
Collection<DefinedTermBase> terms = new ArrayList<>(); |
|
107 |
// Collection<TermDto> termDtos = CdmStore.getService(IVocabularyService.class).getCompleteTermHierarchy(aPage.getVocabularies().get(0).getUuid()); |
|
108 |
// termDtos.forEach(dto -> terms.add(CdmStore.getService(ITermService.class).load(dto.getUuid()))); |
|
109 |
// CdmStore.getTermManager().setPreferredTerms(preferredTerms, terms); |
|
110 |
terms.addAll(CdmStore.getService(ITermService.class).listByTermType(this.aPage.type, null, 0, null, null)); |
|
105 |
|
|
111 | 106 |
|
112 | 107 |
// aPage.getVocabularies().get(0).getTerms() |
113 | 108 |
// .forEach(dto -> terms.add(CdmStore.getService(ITermService.class).load(dto.getUuid()))); |
114 |
CdmStore.getTermManager().setPreferredTerms(preferredTerms, terms); |
|
115 |
CdmStore.getTermManager().clearTermMapForTermType(this.aPage.type); |
|
109 |
|
|
116 | 110 |
PreferencesUtil.firePreferencesChanged(this.getClass()); |
117 | 111 |
return true; |
118 | 112 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusPage.java | ||
---|---|---|
15 | 15 |
import org.eclipse.swt.widgets.Composite; |
16 | 16 |
|
17 | 17 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
18 |
import eu.etaxonomy.cdm.model.common.DefinedTermBase; |
|
19 | 18 |
import eu.etaxonomy.cdm.model.common.TermType; |
20 | 19 |
import eu.etaxonomy.cdm.model.metadata.CdmPreference; |
20 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
|
21 | 21 |
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto; |
22 | 22 |
import eu.etaxonomy.taxeditor.l10n.Messages; |
23 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
|
23 | 24 |
import eu.etaxonomy.taxeditor.session.ICdmEntitySession; |
24 | 25 |
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled; |
25 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
|
26 | 26 |
|
27 | 27 |
/** |
28 | 28 |
* @author k.luther |
... | ... | |
53 | 53 |
protected String getCheckedValuesFromPreferences() { |
54 | 54 |
String checkedValues = null; |
55 | 55 |
if (localPref || pref == null){ |
56 |
List<DefinedTermBase> terms = CdmStore.getTermManager().getPreferredTerms(TermType.PresenceAbsenceTerm); |
|
57 |
checkedValues = ""; |
|
58 |
int i = terms.size(); |
|
59 |
for (DefinedTermBase term: terms){ |
|
60 |
if (i != terms.size()){ |
|
61 |
checkedValues+=","; |
|
62 |
} |
|
63 |
checkedValues+=term.getUuid().toString(); |
|
64 |
i--; |
|
65 |
} |
|
56 |
checkedValues = PreferencesUtil.getStringValue(PreferencePredicate.AvailableDistributionStatus.getKey(), true); |
|
66 | 57 |
}else { |
67 | 58 |
checkedValues = pref.getValue(); |
68 | 59 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusWizard.java | ||
---|---|---|
9 | 9 |
package eu.etaxonomy.taxeditor.preference.wizard; |
10 | 10 |
|
11 | 11 |
import java.util.ArrayList; |
12 |
import java.util.Collection; |
|
13 | 12 |
import java.util.List; |
14 | 13 |
import java.util.UUID; |
15 | 14 |
|
... | ... | |
96 | 95 |
} |
97 | 96 |
String saveCheckedElements = StringUtils.join(listUIIDChecked, ";"); //$NON-NLS-1$ |
98 | 97 |
|
99 |
Collection<DefinedTermBase> terms = new ArrayList<>(); |
|
100 |
|
|
101 |
terms.addAll(CdmStore.getService(ITermService.class).listByTermType(this.aPage.type, null, 0, null, null)); |
|
102 |
|
|
103 |
// aPage.getVocabularies().get(0).getTerms() |
|
104 |
// .forEach(dto -> terms.add(CdmStore.getService(ITermService.class).load(dto.getUuid()))); |
|
105 |
CdmStore.getTermManager().setPreferredTerms(preferredTerms, terms); |
|
106 |
CdmStore.getTermManager().clearTermMapForTermType(this.aPage.type); |
|
98 |
PreferencesUtil.setStringValue(PreferencePredicate.AvailableDistributionStatus.getKey(), saveCheckedElements); |
|
99 |
PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.AvailableDistributionStatus.getKey()), true); |
|
107 | 100 |
PreferencesUtil.firePreferencesChanged(this.getClass()); |
108 | 101 |
return true; |
109 | 102 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java | ||
---|---|---|
166 | 166 |
public void clearTermMapForTermType(TermType termType){ |
167 | 167 |
cachedTermMap.remove(termType); |
168 | 168 |
} |
169 |
|
|
170 |
/** |
|
171 |
* Generic method to get term preferences for a term vocabulary |
|
172 |
* |
|
173 |
* @param initialTerms a {@link java.util.List} object. |
|
174 |
* @return a {@link java.util.List} object. |
|
175 |
*/ |
|
176 |
public <T extends DefinedTermBase> List<T> getTerms(List<UUID> uuidList, Class clazz){ |
|
177 |
|
|
178 |
List<T> filteredTerms = new ArrayList<T>(); |
|
179 |
List<T> terms = TermStore.getTerms(clazz); |
|
180 |
for (T term : terms){ |
|
181 |
if(uuidList.contains(term.getUuid())){ |
|
182 |
filteredTerms.add(term); |
|
183 |
} |
|
184 |
} |
|
185 |
|
|
186 |
return filteredTerms; |
|
187 |
} |
|
169 | 188 |
} |
Also available in: Unified diff
save status for distribution editor locally the same as in db