Revision be7068cc
Added by Katja Luther over 5 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistLabelProvider.java | ||
---|---|---|
32 | 32 |
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; |
33 | 33 |
import eu.etaxonomy.cdm.model.common.DefinedTermBase; |
34 | 34 |
import eu.etaxonomy.cdm.model.common.Language; |
35 |
import eu.etaxonomy.cdm.model.common.OrderedTermBase; |
|
35 | 36 |
import eu.etaxonomy.cdm.model.common.OrderedTermComparator; |
36 | 37 |
import eu.etaxonomy.cdm.model.common.TermIdInVocabularyComparator; |
37 | 38 |
import eu.etaxonomy.cdm.model.common.TermLanguageComparator; |
... | ... | |
185 | 186 |
} |
186 | 187 |
IVocabularyService service = CdmStore.getService(IVocabularyService.class); |
187 | 188 |
List<TermVocabulary> vocs = service.find(uuidList); |
188 |
split = valuesAreas.split(",");
|
|
189 |
split = valuesAreas.split(";");
|
|
189 | 190 |
listValue = Arrays.asList(split); |
190 | 191 |
for (TermVocabulary voc: vocs){ |
191 | 192 |
termlist.addAll(service.getTerms(voc, null, null, null, null).getRecords()); |
... | ... | |
222 | 223 |
public SortedSet<DefinedTermBase> getTermsOrderedByVocabularyOrder(List<DefinedTermBase> listAreas){ |
223 | 224 |
HashMap<TermVocabulary<DefinedTermBase>, List<DefinedTermBase>> vocs = new HashMap<>(); |
224 | 225 |
OrderedTermComparator<?> comp = new OrderedTermComparator<>(); |
226 |
boolean allOrderedTerms = true; |
|
227 |
List<TermVocabulary> alreadyOrderIndexNull = new ArrayList<>(); |
|
228 |
for (DefinedTermBase term: listAreas){ |
|
229 |
if (!(term instanceof OrderedTermBase)){ |
|
230 |
allOrderedTerms = false; |
|
231 |
break; |
|
232 |
}else if (((OrderedTermBase)term).getOrderIndex() == 0){ |
|
233 |
if(alreadyOrderIndexNull.contains(term.getVocabulary())) { |
|
234 |
allOrderedTerms = false; |
|
235 |
break; |
|
236 |
}else{ |
|
237 |
alreadyOrderIndexNull.add(term.getVocabulary()); |
|
238 |
} |
|
239 |
|
|
240 |
|
|
241 |
} |
|
242 |
} |
|
243 |
if (allOrderedTerms){ |
|
244 |
SortedSet<DefinedTermBase> result = new TreeSet(comp.reversed()); |
|
245 |
result.addAll(listAreas); |
|
246 |
return result; |
|
247 |
}else{ |
|
248 |
return getTermsOrderedByLabels(listAreas, PreferencesUtil.getGlobalLanguage()); |
|
249 |
} |
|
225 | 250 |
|
226 |
SortedSet<DefinedTermBase> result = new TreeSet(comp.reversed()); |
|
227 |
result.addAll(listAreas); |
|
228 | 251 |
|
229 |
return result; |
|
230 | 252 |
} |
231 | 253 |
|
232 | 254 |
/** |
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/ChecklistEditorE4.java | ||
---|---|---|
575 | 575 |
} |
576 | 576 |
index++; |
577 | 577 |
} |
578 |
if (oldTerms != null){ |
|
578 | 579 |
for (DefinedTermBase oldTerm:oldTerms){ |
579 | 580 |
boolean delete = true; |
580 | 581 |
for (DefinedTermBase term: newTerms){ |
... | ... | |
591 | 592 |
} |
592 | 593 |
} |
593 | 594 |
updateColumnIndex(); |
594 |
|
|
595 |
} |
|
595 | 596 |
|
596 | 597 |
|
597 | 598 |
for (DefinedTermBase term:newTerms){ |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java | ||
---|---|---|
1563 | 1563 |
} else{ |
1564 | 1564 |
preference = CdmPreference.NewInstance(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.AvailableDistributionAreaVocabularies, saveCheckedElements); |
1565 | 1565 |
setPreferenceToDB(preference); |
1566 |
getPreferenceStore().setValue(DISTRIBUTION_AREA_OCCURENCE_STATUS,
|
|
1566 |
getPreferenceStore().setValue(DISTRIBUTION_VOCABULARIES,
|
|
1567 | 1567 |
saveCheckedElements); |
1568 | 1568 |
|
1569 | 1569 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AbstractAreaSelectionWizard.java | ||
---|---|---|
15 | 15 |
import java.util.Set; |
16 | 16 |
import java.util.UUID; |
17 | 17 |
|
18 |
import org.apache.commons.lang.StringUtils; |
|
18 | 19 |
import org.eclipse.jface.viewers.CheckboxTableViewer; |
19 | 20 |
import org.eclipse.jface.viewers.CheckboxTreeViewer; |
20 | 21 |
import org.eclipse.jface.viewers.ColumnViewer; |
... | ... | |
24 | 25 |
import eu.etaxonomy.cdm.api.service.ITermService; |
25 | 26 |
import eu.etaxonomy.cdm.api.service.IVocabularyService; |
26 | 27 |
import eu.etaxonomy.cdm.model.common.DefinedTermBase; |
28 |
import eu.etaxonomy.cdm.model.common.TermType; |
|
27 | 29 |
import eu.etaxonomy.cdm.model.common.TermVocabulary; |
28 | 30 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
29 | 31 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
... | ... | |
37 | 39 |
|
38 | 40 |
private ColumnViewer viewer; |
39 | 41 |
private List<TermVocabulary<DefinedTermBase>> vocabularies = new ArrayList<>(); |
42 |
boolean localPref; |
|
40 | 43 |
|
41 | 44 |
|
42 | 45 |
/** |
... | ... | |
74 | 77 |
/** |
75 | 78 |
* @param vocs |
76 | 79 |
*/ |
77 |
protected void setVocabularies(List<TermVocabulary> vocs) { |
|
80 |
protected void setVocabularies(List<TermVocabulary<DefinedTermBase>> vocs) {
|
|
78 | 81 |
for (TermVocabulary voc:vocs){ |
79 | 82 |
vocabularies.add(voc); |
80 | 83 |
} |
... | ... | |
87 | 90 |
getViewer().setInput(getVocabularies()); |
88 | 91 |
|
89 | 92 |
if (grayedValues != null && grayedValues != "") { |
90 |
String[] listGrayed = grayedValues.split(";"); |
|
93 |
String[] arrayGrayed = grayedValues.split(";"); |
|
94 |
List<String> listGrayed = Arrays.asList(arrayGrayed); |
|
91 | 95 |
ArrayList listGrayedTerms = new ArrayList(); |
92 | 96 |
getTermsFromStringValues(listGrayed, listGrayedTerms); |
93 | 97 |
for(Object element : listGrayedTerms){ |
... | ... | |
99 | 103 |
} |
100 | 104 |
} |
101 | 105 |
if (checkedValues != null && checkedValues != "") { |
102 |
String[] listChecked = checkedValues.split(","); |
|
106 |
String[] listChecked = checkedValues.split(";"); |
|
107 |
String[] listCheckedComma = checkedValues.split(","); |
|
108 |
List<String> checked = new ArrayList<>(); |
|
109 |
if (listChecked != null ){ |
|
110 |
checked = Arrays.asList(listChecked); |
|
111 |
} |
|
112 |
if (listCheckedComma != null && checkedValues.contains(",")){ |
|
113 |
checked = Arrays.asList(listCheckedComma); |
|
114 |
} |
|
103 | 115 |
ArrayList<DefinedTermBase<?>> listCheckedTerms = new ArrayList<DefinedTermBase<?>>(); |
104 |
getTermsFromStringValues(listChecked, listCheckedTerms);
|
|
116 |
getTermsFromStringValues(checked, listCheckedTerms);
|
|
105 | 117 |
for(Object element : listCheckedTerms){ |
106 | 118 |
if(element != null){ |
107 | 119 |
if (getViewer() instanceof CheckboxTreeViewer) { |
... | ... | |
118 | 130 |
* @param split |
119 | 131 |
* @param termlist |
120 | 132 |
*/ |
121 |
private void getTermsFromStringValues(String[] split, ArrayList termlist) {
|
|
122 |
List<String> listValue = Arrays.asList(split); |
|
133 |
private void getTermsFromStringValues(List<String> listValue, ArrayList termlist) {
|
|
134 |
|
|
123 | 135 |
for (String s : listValue) { |
124 |
UUID uuid = UUID.fromString(s); |
|
125 |
ITermService termService = CdmStore.getService(ITermService.class); |
|
126 |
DefinedTermBase definedTermBase = termService.load(uuid); |
|
127 |
if(definedTermBase != null){ |
|
128 |
termlist.add(definedTermBase); |
|
129 |
}else{ |
|
130 |
IVocabularyService vocabularyService = CdmStore.getService(IVocabularyService.class); |
|
131 |
TermVocabulary termVocabulary = vocabularyService.load(uuid); |
|
132 |
termlist.add(termVocabulary); |
|
136 |
if (!StringUtils.isBlank(s)){ |
|
137 |
UUID uuid = UUID.fromString(s); |
|
138 |
ITermService termService = CdmStore.getService(ITermService.class); |
|
139 |
DefinedTermBase definedTermBase = termService.load(uuid); |
|
140 |
if(definedTermBase != null){ |
|
141 |
termlist.add(definedTermBase); |
|
142 |
}else{ |
|
143 |
IVocabularyService vocabularyService = CdmStore.getService(IVocabularyService.class); |
|
144 |
TermVocabulary termVocabulary = vocabularyService.load(uuid); |
|
145 |
termlist.add(termVocabulary); |
|
146 |
} |
|
133 | 147 |
} |
134 | 148 |
} |
135 | 149 |
} |
... | ... | |
139 | 153 |
if (getVocabularies() != null) { |
140 | 154 |
getVocabularies().clear(); |
141 | 155 |
} |
156 |
List<TermVocabulary<DefinedTermBase>> vocs = new ArrayList<>(); |
|
157 |
if (localPref){ |
|
158 |
String vocString = PreferencesUtil.getPreferenceStore().getString(PreferencesUtil.DISTRIBUTION_VOCABULARIES); |
|
159 |
String[] arrayVocs = vocString.split(";"); |
|
160 |
|
|
161 |
Set<UUID> uuidVocs = new HashSet(); |
|
162 |
for (String voc: arrayVocs){ |
|
163 |
if (!StringUtils.isBlank(voc)){ |
|
164 |
uuidVocs.add(UUID.fromString(voc)); |
|
165 |
} |
|
166 |
} |
|
167 |
List<TermVocabulary> tempVocs = CdmStore.getService(IVocabularyService.class).find(uuidVocs); |
|
168 |
for (TermVocabulary voc: tempVocs){ |
|
169 |
vocs.add(voc); |
|
170 |
} |
|
142 | 171 |
|
143 |
String vocString = PreferencesUtil.getPreferenceStore().getString(PreferencesUtil.DISTRIBUTION_VOCABULARIES); |
|
144 |
String[] arrayVocs = vocString.split(";"); |
|
145 |
|
|
146 |
Set<UUID> uuidVocs = new HashSet(); |
|
147 |
for (String voc: arrayVocs){ |
|
148 |
uuidVocs.add(UUID.fromString(voc)); |
|
172 |
}else{ |
|
173 |
vocs = CdmStore.getService(IVocabularyService.class).findByTermType( |
|
174 |
TermType.NamedArea, null); |
|
149 | 175 |
} |
150 |
|
|
151 |
List<TermVocabulary> vocs = CdmStore.getService(IVocabularyService.class).find(uuidVocs); |
|
152 |
|
|
153 | 176 |
setVocabularies(vocs); |
154 | 177 |
} |
155 | 178 |
|
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableAreaVocabulariesPage.java | ||
---|---|---|
38 | 38 |
* |
39 | 39 |
*/ |
40 | 40 |
public class AvailableAreaVocabulariesPage extends AbstractAreaSelectionWizard implements ICdmEntitySessionEnabled{ |
41 |
boolean localPref; |
|
41 |
|
|
42 | 42 |
|
43 | 43 |
/** |
44 | 44 |
* @param pageName |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionPage.java | ||
---|---|---|
48 | 48 |
*/ |
49 | 49 |
protected AvailableDistributionPage(String pageName) { |
50 | 50 |
super(pageName); |
51 |
this.localPref = true; |
|
51 | 52 |
|
52 | 53 |
} |
53 | 54 |
|
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionWizard.java | ||
---|---|---|
80 | 80 |
|
81 | 81 |
} |
82 | 82 |
|
83 |
String saveCheckedElements = StringUtils.join(listUIIDChecked, ",");
|
|
84 |
String saveGrayedElements = StringUtils.join(listUIIDGrayed, ",");
|
|
83 |
String saveCheckedElements = StringUtils.join(listUIIDChecked, ";");
|
|
84 |
String saveGrayedElements = StringUtils.join(listUIIDGrayed, ";");
|
|
85 | 85 |
IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore(); |
86 | 86 |
//ToDo, if whole vocabulary is selected, save the vocabulary not all areas |
87 | 87 |
PreferencesUtil.setPreferredNamedAreasForDistributionEditor(saveCheckedElements, saveGrayedElements, false); |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableVocabularyWizard.java | ||
---|---|---|
18 | 18 |
|
19 | 19 |
import eu.etaxonomy.cdm.api.conversation.ConversationHolder; |
20 | 20 |
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; |
21 |
import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;
|
|
21 |
import eu.etaxonomy.cdm.model.common.TermVocabulary; |
|
22 | 22 |
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; |
23 | 23 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
24 | 24 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
... | ... | |
113 | 113 |
|
114 | 114 |
ArrayList<UUID> listUIIDChecked = new ArrayList<UUID>(); |
115 | 115 |
for (Object o : checkedElements) { |
116 |
if(o instanceof OrderedTermVocabulary){
|
|
117 |
OrderedTermVocabulary otb = (OrderedTermVocabulary) o;
|
|
116 |
if(o instanceof TermVocabulary){ |
|
117 |
TermVocabulary otb = (TermVocabulary) o;
|
|
118 | 118 |
listUIIDChecked.add(otb.getUuid()); |
119 | 119 |
} |
120 | 120 |
} |
Also available in: Unified diff
ref #7063:handle orderedTerms without orderindex and order by lable