Revision c295928b
Added by Katja Luther over 4 years ago
eu.etaxonomy.taxeditor.store/fragment.e4xmi | ||
---|---|---|
332 | 332 |
</fragments> |
333 | 333 |
<fragments xsi:type="fragment:StringModelFragment" xmi:id="_pVVyEJFJEeeDJpjGQES7gw" featurename="addons" parentElementId="xpath:/"> |
334 | 334 |
<elements xsi:type="application:Addon" xmi:id="_q4JBkJFJEeeDJpjGQES7gw" elementId="eu.etaxonomy.taxeditor.event.EventUtility" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.event.EventUtility"/> |
335 |
<elements xsi:type="application:Addon" xmi:id="_g-rRcNhtEemVwJVh6CEdBA" elementId="eu.etaxonomy.taxeditor.store.addon.0" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.preference.DistributionStatusPreferencePage"/> |
|
335 | 336 |
</fragments> |
336 | 337 |
<fragments xsi:type="fragment:StringModelFragment" xmi:id="_ITE10KkVEeejedk4mZQIGw" featurename="children" parentElementId="eu.etaxonomy.taxeditor.workbench.menu.file" positionInList="before:eu.etaxonomy.taxeditor.application.filemenu.io"> |
337 | 338 |
<elements xsi:type="menu:Menu" xmi:id="_z6EugKqXEeeXcJGhyhlrKA" elementId="eu.etaxonomy.taxeditor.store.menu.export" label="%menu.label.2"> |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenCommonNameAreaWizardAdminHandler.java | ||
---|---|---|
35 | 35 |
if (pref == null){ |
36 | 36 |
pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.CommonNameAreaVocabularies, null); |
37 | 37 |
} |
38 |
AvailableVocabularyWizard wizard = new AvailableVocabularyWizard(false, pref, Messages.OpenCommonNameAreaWizardAdminHandler_COMMON_NAMES, false);
|
|
38 |
AvailableVocabularyWizard wizard = new AvailableVocabularyWizard(false, pref, Messages.OpenCommonNameAreaWizardAdminHandler_COMMON_NAMES); |
|
39 | 39 |
|
40 | 40 |
WizardDialog dialog = new WizardDialog(shell, |
41 | 41 |
wizard); |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/AbstractGeneralTermPreference.java | ||
---|---|---|
1 |
/** |
|
2 |
* Copyright (C) 2019 EDIT |
|
3 |
* European Distributed Institute of Taxonomy |
|
4 |
* http://www.e-taxonomy.eu |
|
5 |
* |
|
6 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
|
7 |
* See LICENSE.TXT at the top of this package for the full license terms. |
|
8 |
*/ |
|
9 |
package eu.etaxonomy.taxeditor.preference; |
|
10 |
|
|
11 |
import java.util.ArrayList; |
|
12 |
import java.util.Arrays; |
|
13 |
import java.util.Collection; |
|
14 |
import java.util.List; |
|
15 |
import java.util.UUID; |
|
16 |
|
|
17 |
import org.apache.commons.lang.StringUtils; |
|
18 |
import org.eclipse.jface.viewers.ISelectionChangedListener; |
|
19 |
import org.eclipse.jface.viewers.SelectionChangedEvent; |
|
20 |
import org.eclipse.swt.SWT; |
|
21 |
import org.eclipse.swt.custom.CLabel; |
|
22 |
import org.eclipse.swt.events.SelectionEvent; |
|
23 |
import org.eclipse.swt.events.SelectionListener; |
|
24 |
import org.eclipse.swt.layout.GridData; |
|
25 |
import org.eclipse.swt.layout.GridLayout; |
|
26 |
import org.eclipse.swt.widgets.Combo; |
|
27 |
import org.eclipse.swt.widgets.Composite; |
|
28 |
import org.eclipse.swt.widgets.Control; |
|
29 |
|
|
30 |
import eu.etaxonomy.cdm.api.service.ITermService; |
|
31 |
import eu.etaxonomy.cdm.api.service.IVocabularyService; |
|
32 |
import eu.etaxonomy.cdm.model.metadata.CdmPreference; |
|
33 |
import eu.etaxonomy.cdm.model.metadata.IPreferencePredicate; |
|
34 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
|
35 |
import eu.etaxonomy.cdm.model.term.DefinedTermBase; |
|
36 |
import eu.etaxonomy.cdm.model.term.TermType; |
|
37 |
import eu.etaxonomy.cdm.persistence.dto.AbstractTermDto; |
|
38 |
import eu.etaxonomy.cdm.persistence.dto.TermDto; |
|
39 |
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto; |
|
40 |
import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermSorter; |
|
41 |
import eu.etaxonomy.taxeditor.editor.definedterm.TermDtoContentProvider; |
|
42 |
import eu.etaxonomy.taxeditor.editor.definedterm.TermDtoLabelProvider; |
|
43 |
import eu.etaxonomy.taxeditor.l10n.Messages; |
|
44 |
import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage; |
|
45 |
import eu.etaxonomy.taxeditor.preference.wizard.CheckBoxTreeComposite; |
|
46 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
|
47 |
|
|
48 |
/** |
|
49 |
* @author k.luther |
|
50 |
* @since 05.06.2019 |
|
51 |
* |
|
52 |
*/ |
|
53 |
abstract public class AbstractGeneralTermPreference<T extends AbstractTermDto> extends CdmPreferencePage implements ISelectionChangedListener, SelectionListener{ |
|
54 |
protected CheckBoxTreeComposite treeComposite; |
|
55 |
protected List<TermVocabularyDto> vocabularies = new ArrayList<>(); |
|
56 |
protected Combo useLocalOrAdmin ; |
|
57 |
|
|
58 |
protected boolean isOverride; |
|
59 |
protected boolean allowOverride; |
|
60 |
protected CdmPreference pref; |
|
61 |
protected IPreferencePredicate predicate; |
|
62 |
|
|
63 |
|
|
64 |
public AbstractGeneralTermPreference(){ |
|
65 |
super(); |
|
66 |
|
|
67 |
} |
|
68 |
|
|
69 |
public boolean isLocalPref() { |
|
70 |
return !isAdminPreference; |
|
71 |
} |
|
72 |
|
|
73 |
|
|
74 |
protected TermType type; |
|
75 |
|
|
76 |
public List<TermVocabularyDto> getVocabularies() { |
|
77 |
return vocabularies; |
|
78 |
} |
|
79 |
|
|
80 |
public void setVocabularies(List<TermVocabularyDto> vocabularies) { |
|
81 |
this.vocabularies = vocabularies; |
|
82 |
} |
|
83 |
|
|
84 |
public IPreferencePredicate getPredicate() { |
|
85 |
return predicate; |
|
86 |
} |
|
87 |
|
|
88 |
public void setPredicate(PreferencePredicate predicate) { |
|
89 |
this.predicate = predicate; |
|
90 |
} |
|
91 |
|
|
92 |
/** |
|
93 |
* {@inheritDoc} |
|
94 |
*/ |
|
95 |
@Override |
|
96 |
protected Control createContents(Composite parent) { |
|
97 |
Composite container = new Composite(parent, SWT.NULL); |
|
98 |
getPreferenceValues(); |
|
99 |
if (isLocalPref() && !allowOverride){ |
|
100 |
final CLabel description = new CLabel(parent, SWT.NULL); |
|
101 |
description.setText(Messages.NameDetailsViewConfiguration_description_not_available); |
|
102 |
this.setDefaultButtonActivated(false); |
|
103 |
return parent; |
|
104 |
|
|
105 |
} |
|
106 |
final GridLayout gridLayout = new GridLayout(); |
|
107 |
gridLayout.numColumns = 2; |
|
108 |
container.setLayout(gridLayout); |
|
109 |
parent.setLayout(new GridLayout()); |
|
110 |
useLocalOrAdmin = new Combo(parent, SWT.BORDER | SWT.READ_ONLY); |
|
111 |
if (!isAdminPreference){ |
|
112 |
useLocalOrAdmin.add(LocalOrDefaultEnum.Default.getLabel(), 0); |
|
113 |
useLocalOrAdmin.add(LocalOrDefaultEnum.Local.getLabel(), 1); |
|
114 |
|
|
115 |
}else{ |
|
116 |
useLocalOrAdmin.add(LocalOrDefaultEnum.AllowOverride.getLabel(), 0); |
|
117 |
useLocalOrAdmin.add(LocalOrDefaultEnum.Database.getLabel(), 1); |
|
118 |
} |
|
119 |
|
|
120 |
|
|
121 |
treeComposite = new CheckBoxTreeComposite(container, new TermDtoContentProvider(), new TermDtoLabelProvider(), SWT.SCROLL_PAGE); |
|
122 |
treeComposite.getViewer().setComparator(new DefinedTermSorter()); |
|
123 |
rememberCheckedValues(getCheckedValuesFromPreferences()); |
|
124 |
|
|
125 |
if (isLocalPref()){ |
|
126 |
if (isOverride){ |
|
127 |
useLocalOrAdmin.select(1); |
|
128 |
}else{ |
|
129 |
useLocalOrAdmin.select(0); |
|
130 |
treeComposite.getViewer().getTree().setSelection(treeComposite.getViewer().getTree().getTopItem()); |
|
131 |
treeComposite.setEnabled(false); |
|
132 |
|
|
133 |
//treeComposite.getViewer().getTree().getVerticalBar().setEnabled(true); |
|
134 |
} |
|
135 |
}else{ |
|
136 |
if (allowOverride){ |
|
137 |
useLocalOrAdmin.select(0); |
|
138 |
}else{ |
|
139 |
useLocalOrAdmin.select(1); |
|
140 |
} |
|
141 |
} |
|
142 |
useLocalOrAdmin.addSelectionListener(this); |
|
143 |
|
|
144 |
GridData data = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); |
|
145 |
data.heightHint = 300; |
|
146 |
treeComposite.setLayoutData(data); |
|
147 |
treeComposite.getViewer().addSelectionChangedListener(this); |
|
148 |
|
|
149 |
return container; |
|
150 |
|
|
151 |
} |
|
152 |
|
|
153 |
public String getCheckedValuesFromPreferences(){ |
|
154 |
String values; |
|
155 |
if (!isAdminPreference && isOverride){ |
|
156 |
values = PreferencesUtil.getStringValue(predicate.getKey(), true); |
|
157 |
}else{ |
|
158 |
values = pref != null ?pref.getValue(): null; |
|
159 |
} |
|
160 |
return values; |
|
161 |
} |
|
162 |
|
|
163 |
protected void rememberCheckedValues(String checkedValues) { |
|
164 |
initialiseVocabularies(); |
|
165 |
treeComposite.getViewer().getTree().deselectAll(); |
|
166 |
treeComposite.getViewer().refresh(); |
|
167 |
treeComposite.getViewer().setInput(getVocabularies()); |
|
168 |
|
|
169 |
if (checkedValues != null && checkedValues != "") { //$NON-NLS-1$ |
|
170 |
String[] listChecked = checkedValues.split(";"); //$NON-NLS-1$ |
|
171 |
String[] listCheckedComma = checkedValues.split(","); //$NON-NLS-1$ |
|
172 |
List<String> checked = new ArrayList<>(); |
|
173 |
if (listChecked != null ){ |
|
174 |
checked = Arrays.asList(listChecked); |
|
175 |
} |
|
176 |
if (listCheckedComma != null && checkedValues.contains(",")){ //$NON-NLS-1$ |
|
177 |
checked = Arrays.asList(listCheckedComma); |
|
178 |
} |
|
179 |
List<T> termsFromStringValues = getTermsFromStringValues(checked); |
|
180 |
treeComposite.setCheckedElements(termsFromStringValues.toArray()); |
|
181 |
|
|
182 |
}else{ |
|
183 |
List<T> termsFromStringValues = getTermsFromStringValues(new ArrayList<String>()); |
|
184 |
treeComposite.setCheckedElements(termsFromStringValues.toArray()); |
|
185 |
treeComposite.getViewer().refresh(); |
|
186 |
treeComposite.redraw(); |
|
187 |
|
|
188 |
} |
|
189 |
} |
|
190 |
|
|
191 |
protected abstract List<T> getTermsFromStringValues(List<String> listValue); |
|
192 |
|
|
193 |
protected void initialiseVocabularies() { |
|
194 |
if (getVocabularies() != null) { |
|
195 |
getVocabularies().clear(); |
|
196 |
} |
|
197 |
List<TermVocabularyDto> vocs = new ArrayList<>(); |
|
198 |
vocs = CdmStore.getService(IVocabularyService.class).findVocabularyDtoByTermType(type); |
|
199 |
|
|
200 |
setVocabularies(vocs); |
|
201 |
} |
|
202 |
|
|
203 |
protected void getPreferenceValues(){ |
|
204 |
pref = PreferencesUtil.getPreferenceFromDB(predicate); |
|
205 |
this.allowOverride = pref!= null?pref.isAllowOverride():true; |
|
206 |
this.isOverride = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(predicate.getKey())); |
|
207 |
if (pref == null){ |
|
208 |
pref = CdmPreference.NewTaxEditorInstance(predicate, null); |
|
209 |
} |
|
210 |
} |
|
211 |
|
|
212 |
/** |
|
213 |
* {@inheritDoc} |
|
214 |
*/ |
|
215 |
@Override |
|
216 |
public void selectionChanged(SelectionChangedEvent event) { |
|
217 |
this.setApply(true); |
|
218 |
} |
|
219 |
|
|
220 |
/** |
|
221 |
* {@inheritDoc} |
|
222 |
*/ |
|
223 |
@Override |
|
224 |
public void widgetSelected(SelectionEvent e) { |
|
225 |
if (e.getSource().equals(useLocalOrAdmin)){ |
|
226 |
if (useLocalOrAdmin.getText().equals(LocalOrDefaultEnum.Default.getLabel())){ |
|
227 |
rememberCheckedValues(getCheckedValuesFromPreferences()); |
|
228 |
treeComposite.setEnabled(false); |
|
229 |
}else{ |
|
230 |
treeComposite.setEnabled(true); |
|
231 |
} |
|
232 |
} |
|
233 |
this.setApply(true); |
|
234 |
} |
|
235 |
|
|
236 |
/** |
|
237 |
* {@inheritDoc} |
|
238 |
*/ |
|
239 |
@Override |
|
240 |
public void widgetDefaultSelected(SelectionEvent e) { |
|
241 |
// TODO Auto-generated method stub |
|
242 |
|
|
243 |
} |
|
244 |
|
|
245 |
@Override |
|
246 |
protected void performDefaults(){ |
|
247 |
if (!isLocalPref()){ |
|
248 |
rememberCheckedValues(""); |
|
249 |
treeComposite.setEnabled(true); |
|
250 |
}else{ |
|
251 |
isOverride = false; |
|
252 |
rememberCheckedValues(getCheckedValuesFromPreferences()); |
|
253 |
treeComposite.setEnabled(false); |
|
254 |
} |
|
255 |
pref = null; |
|
256 |
useLocalOrAdmin.select(0); |
|
257 |
|
|
258 |
setApply(true); |
|
259 |
super.performDefaults(); |
|
260 |
|
|
261 |
} |
|
262 |
|
|
263 |
@Override |
|
264 |
public boolean performOk() { |
|
265 |
if (!isApply()){ |
|
266 |
return true; |
|
267 |
} |
|
268 |
Object[] checkedElements = treeComposite.getViewer().getCheckedElements(); |
|
269 |
List<UUID> listUIIDChecked = new ArrayList<>(); |
|
270 |
Collection<TermDto> preferredTermDtos = new ArrayList<>(); |
|
271 |
List<DefinedTermBase> preferredTerms = new ArrayList<>(); |
|
272 |
for (Object o : checkedElements) { |
|
273 |
if(o instanceof TermDto){ |
|
274 |
TermDto termDto = (TermDto) o; |
|
275 |
listUIIDChecked.add(termDto.getUuid()); |
|
276 |
preferredTermDtos.add(termDto); |
|
277 |
if (vocabularies.size() > 1){ |
|
278 |
preferredTerms.add(CdmStore.getService(ITermService.class).load(termDto.getUuid())); |
|
279 |
} |
|
280 |
|
|
281 |
} |
|
282 |
} |
|
283 |
String saveCheckedElements = StringUtils.join(listUIIDChecked, ";"); //$NON-NLS-1$ |
|
284 |
|
|
285 |
PreferencesUtil.setStringValue(predicate.getKey(), saveCheckedElements); |
|
286 |
String text = this.useLocalOrAdmin.getText(); |
|
287 |
if (text.equals(LocalOrDefaultEnum.Database.getLabel()) || text.equals(LocalOrDefaultEnum.Default.getLabel())){ |
|
288 |
PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(predicate.getKey()), false); |
|
289 |
}else if (text.equals(LocalOrDefaultEnum.Local.getLabel())){ |
|
290 |
PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(predicate.getKey()), true); |
|
291 |
} |
|
292 |
if (type == null){ |
|
293 |
CdmStore.getTermManager().setPreferredTermsByDto(preferredTermDtos, vocabularies.get(0)); |
|
294 |
}else{ |
|
295 |
CdmStore.getTermManager().setPreferredTermsByType(preferredTermDtos, type); |
|
296 |
} |
|
297 |
PreferencesUtil.firePreferencesChanged(this.getClass()); |
|
298 |
return true; |
|
299 |
} |
|
300 |
|
|
301 |
protected boolean performOkAdmin() { |
|
302 |
Object[] checkedElements = treeComposite.getViewer().getCheckedElements(); |
|
303 |
List<UUID> listUIIDChecked = new ArrayList<>(); |
|
304 |
List<DefinedTermBase> preferredTerms = new ArrayList<>(); |
|
305 |
for (Object o : checkedElements) { |
|
306 |
if(o instanceof TermDto){ |
|
307 |
TermDto termDto = (TermDto) o; |
|
308 |
listUIIDChecked.add(termDto.getUuid()); |
|
309 |
preferredTerms.add(CdmStore.getService(ITermService.class).load(termDto.getUuid())); |
|
310 |
} |
|
311 |
} |
|
312 |
String saveCheckedElements = StringUtils.join(listUIIDChecked, ";"); //$NON-NLS-1$ |
|
313 |
if (StringUtils.isBlank(saveCheckedElements)){ |
|
314 |
saveCheckedElements = null; |
|
315 |
} |
|
316 |
CdmPreference savePref = CdmPreference.NewTaxEditorInstance(predicate, saveCheckedElements); |
|
317 |
String text = this.useLocalOrAdmin.getText(); |
|
318 |
if (text.equals(LocalOrDefaultEnum.Database.getLabel()) ){ |
|
319 |
savePref.setAllowOverride(false); |
|
320 |
}else if (text.equals(LocalOrDefaultEnum.AllowOverride.getLabel())){ |
|
321 |
savePref.setAllowOverride(true); |
|
322 |
} |
|
323 |
|
|
324 |
PreferencesUtil.setPreferenceToDB(savePref); |
|
325 |
PreferencesUtil.updateDBPreferences(); |
|
326 |
PreferencesUtil.firePreferencesChanged(this.getClass()); |
|
327 |
return true; |
|
328 |
} |
|
329 |
|
|
330 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/GeneralTermPreference.java | ||
---|---|---|
1 |
/** |
|
2 |
* Copyright (C) 2019 EDIT |
|
3 |
* European Distributed Institute of Taxonomy |
|
4 |
* http://www.e-taxonomy.eu |
|
5 |
* |
|
6 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
|
7 |
* See LICENSE.TXT at the top of this package for the full license terms. |
|
8 |
*/ |
|
9 |
package eu.etaxonomy.taxeditor.preference; |
|
10 |
|
|
11 |
import java.util.ArrayList; |
|
12 |
import java.util.Arrays; |
|
13 |
import java.util.Collection; |
|
14 |
import java.util.List; |
|
15 |
import java.util.UUID; |
|
16 |
|
|
17 |
import org.apache.commons.lang.StringUtils; |
|
18 |
import org.eclipse.jface.viewers.ISelectionChangedListener; |
|
19 |
import org.eclipse.jface.viewers.SelectionChangedEvent; |
|
20 |
import org.eclipse.swt.SWT; |
|
21 |
import org.eclipse.swt.custom.CLabel; |
|
22 |
import org.eclipse.swt.events.SelectionEvent; |
|
23 |
import org.eclipse.swt.events.SelectionListener; |
|
24 |
import org.eclipse.swt.layout.GridData; |
|
25 |
import org.eclipse.swt.layout.GridLayout; |
|
26 |
import org.eclipse.swt.widgets.Combo; |
|
27 |
import org.eclipse.swt.widgets.Composite; |
|
28 |
import org.eclipse.swt.widgets.Control; |
|
29 |
|
|
30 |
import eu.etaxonomy.cdm.api.service.ITermService; |
|
31 |
import eu.etaxonomy.cdm.api.service.IVocabularyService; |
|
32 |
import eu.etaxonomy.cdm.model.metadata.CdmPreference; |
|
33 |
import eu.etaxonomy.cdm.model.metadata.IPreferencePredicate; |
|
34 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
|
35 |
import eu.etaxonomy.cdm.model.term.DefinedTermBase; |
|
36 |
import eu.etaxonomy.cdm.model.term.TermType; |
|
37 |
import eu.etaxonomy.cdm.model.term.TermVocabulary; |
|
38 |
import eu.etaxonomy.cdm.persistence.dto.AbstractTermDto; |
|
39 |
import eu.etaxonomy.cdm.persistence.dto.TermDto; |
|
40 |
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto; |
|
41 |
import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermSorter; |
|
42 |
import eu.etaxonomy.taxeditor.editor.definedterm.TermDtoContentProvider; |
|
43 |
import eu.etaxonomy.taxeditor.editor.definedterm.TermDtoLabelProvider; |
|
44 |
import eu.etaxonomy.taxeditor.l10n.Messages; |
|
45 |
import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage; |
|
46 |
import eu.etaxonomy.taxeditor.preference.wizard.CheckBoxTreeComposite; |
|
47 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
|
48 |
|
|
49 |
/** |
|
50 |
* @author k.luther |
|
51 |
* @since 05.06.2019 |
|
52 |
* |
|
53 |
*/ |
|
54 |
abstract public class GeneralTermPreference extends CdmPreferencePage implements ISelectionChangedListener, SelectionListener{ |
|
55 |
protected CheckBoxTreeComposite treeComposite; |
|
56 |
protected List<TermVocabularyDto> vocabularies = new ArrayList<>(); |
|
57 |
protected Combo useLocalOrAdmin ; |
|
58 |
|
|
59 |
protected boolean isOverride; |
|
60 |
protected boolean allowOverride; |
|
61 |
protected CdmPreference pref; |
|
62 |
protected IPreferencePredicate predicate; |
|
63 |
|
|
64 |
|
|
65 |
public GeneralTermPreference(){ |
|
66 |
super(); |
|
67 |
|
|
68 |
} |
|
69 |
|
|
70 |
public boolean isLocalPref() { |
|
71 |
return !isAdminPreference; |
|
72 |
} |
|
73 |
|
|
74 |
|
|
75 |
protected TermType type; |
|
76 |
|
|
77 |
public List<TermVocabularyDto> getVocabularies() { |
|
78 |
return vocabularies; |
|
79 |
} |
|
80 |
|
|
81 |
public void setVocabularies(List<TermVocabularyDto> vocabularies) { |
|
82 |
this.vocabularies = vocabularies; |
|
83 |
} |
|
84 |
|
|
85 |
public IPreferencePredicate getPredicate() { |
|
86 |
return predicate; |
|
87 |
} |
|
88 |
|
|
89 |
public void setPredicate(PreferencePredicate predicate) { |
|
90 |
this.predicate = predicate; |
|
91 |
} |
|
92 |
|
|
93 |
/** |
|
94 |
* {@inheritDoc} |
|
95 |
*/ |
|
96 |
@Override |
|
97 |
protected Control createContents(Composite parent) { |
|
98 |
Composite container = new Composite(parent, SWT.NULL); |
|
99 |
getPreferenceValues(); |
|
100 |
if (isLocalPref() && !allowOverride){ |
|
101 |
final CLabel description = new CLabel(parent, SWT.NULL); |
|
102 |
description.setText(Messages.NameDetailsViewConfiguration_description_not_available); |
|
103 |
this.setDefaultButtonActivated(false); |
|
104 |
return parent; |
|
105 |
|
|
106 |
} |
|
107 |
final GridLayout gridLayout = new GridLayout(); |
|
108 |
gridLayout.numColumns = 2; |
|
109 |
container.setLayout(gridLayout); |
|
110 |
parent.setLayout(new GridLayout()); |
|
111 |
useLocalOrAdmin = new Combo(parent, SWT.BORDER | SWT.READ_ONLY); |
|
112 |
if (!isAdminPreference){ |
|
113 |
useLocalOrAdmin.add(LocalOrDefaultEnum.Default.getLabel(), 0); |
|
114 |
useLocalOrAdmin.add(LocalOrDefaultEnum.Local.getLabel(), 1); |
|
115 |
|
|
116 |
}else{ |
|
117 |
useLocalOrAdmin.add(LocalOrDefaultEnum.AllowOverride.getLabel(), 0); |
|
118 |
useLocalOrAdmin.add(LocalOrDefaultEnum.Database.getLabel(), 1); |
|
119 |
} |
|
120 |
|
|
121 |
|
|
122 |
treeComposite = new CheckBoxTreeComposite(container, new TermDtoContentProvider(), new TermDtoLabelProvider(), SWT.NONE); |
|
123 |
treeComposite.getViewer().setComparator(new DefinedTermSorter()); |
|
124 |
rememberCheckedValues(getCheckedValuesFromPreferences()); |
|
125 |
|
|
126 |
if (isLocalPref()){ |
|
127 |
if (isOverride){ |
|
128 |
useLocalOrAdmin.select(1); |
|
129 |
}else{ |
|
130 |
useLocalOrAdmin.select(0); |
|
131 |
treeComposite.setEnabled(false); |
|
132 |
} |
|
133 |
}else{ |
|
134 |
if (allowOverride){ |
|
135 |
useLocalOrAdmin.select(0); |
|
136 |
}else{ |
|
137 |
useLocalOrAdmin.select(1); |
|
138 |
} |
|
139 |
} |
|
140 |
useLocalOrAdmin.addSelectionListener(this); |
|
141 |
|
|
142 |
GridData data = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); |
|
143 |
data.heightHint = 300; |
|
144 |
treeComposite.setLayoutData(data); |
|
145 |
treeComposite.getViewer().addSelectionChangedListener(this); |
|
146 |
|
|
147 |
return container; |
|
148 |
|
|
149 |
} |
|
150 |
|
|
151 |
public String getCheckedValuesFromPreferences(){ |
|
152 |
String values; |
|
153 |
if (!isAdminPreference && isOverride){ |
|
154 |
values = PreferencesUtil.getStringValue(predicate.getKey(), true); |
|
155 |
}else{ |
|
156 |
values = pref != null ?pref.getValue(): null; |
|
157 |
} |
|
158 |
return values; |
|
159 |
} |
|
160 |
|
|
161 |
protected void rememberCheckedValues(String checkedValues) { |
|
162 |
initialiseVocabularies(); |
|
163 |
treeComposite.getViewer().getTree().deselectAll(); |
|
164 |
treeComposite.getViewer().refresh(); |
|
165 |
treeComposite.getViewer().setInput(getVocabularies()); |
|
166 |
|
|
167 |
if (checkedValues != null && checkedValues != "") { //$NON-NLS-1$ |
|
168 |
String[] listChecked = checkedValues.split(";"); //$NON-NLS-1$ |
|
169 |
String[] listCheckedComma = checkedValues.split(","); //$NON-NLS-1$ |
|
170 |
List<String> checked = new ArrayList<>(); |
|
171 |
if (listChecked != null ){ |
|
172 |
checked = Arrays.asList(listChecked); |
|
173 |
} |
|
174 |
if (listCheckedComma != null && checkedValues.contains(",")){ //$NON-NLS-1$ |
|
175 |
checked = Arrays.asList(listCheckedComma); |
|
176 |
} |
|
177 |
List<AbstractTermDto> termsFromStringValues = getTermsFromStringValues(checked); |
|
178 |
treeComposite.setCheckedElements(termsFromStringValues.toArray()); |
|
179 |
|
|
180 |
}else{ |
|
181 |
List<AbstractTermDto> termsFromStringValues = getTermsFromStringValues(new ArrayList<String>()); |
|
182 |
treeComposite.setCheckedElements(termsFromStringValues.toArray()); |
|
183 |
treeComposite.getViewer().refresh(); |
|
184 |
treeComposite.redraw(); |
|
185 |
|
|
186 |
} |
|
187 |
} |
|
188 |
|
|
189 |
protected List<AbstractTermDto> getTermsFromStringValues(List<String> listValue) { |
|
190 |
List<AbstractTermDto> termlist = new ArrayList<>(); |
|
191 |
ITermService termService = CdmStore.getService(ITermService.class); |
|
192 |
for (String s : listValue) { |
|
193 |
if (!StringUtils.isBlank(s)){ |
|
194 |
UUID uuid = UUID.fromString(s); |
|
195 |
|
|
196 |
DefinedTermBase definedTermBase = termService.load(uuid); |
|
197 |
if(definedTermBase != null){ |
|
198 |
termlist.add(TermDto.fromTerm(definedTermBase, true)); |
|
199 |
}else{ |
|
200 |
IVocabularyService vocabularyService = CdmStore.getService(IVocabularyService.class); |
|
201 |
TermVocabulary termVocabulary = vocabularyService.load(uuid); |
|
202 |
if (termVocabulary != null){ |
|
203 |
termlist.add(new TermVocabularyDto(uuid, termVocabulary.getRepresentations(), termVocabulary.getTermType())); |
|
204 |
} |
|
205 |
} |
|
206 |
} |
|
207 |
} |
|
208 |
if (listValue.isEmpty()){ |
|
209 |
List<DefinedTermBase> terms = CdmStore.getTermManager().getAllTerms(type, null); |
|
210 |
for (DefinedTermBase term: terms){ |
|
211 |
if (!(term instanceof eu.etaxonomy.cdm.model.description.Character) && term != null){ |
|
212 |
termlist.add(TermDto.fromTerm(term, true)); |
|
213 |
} |
|
214 |
} |
|
215 |
} |
|
216 |
|
|
217 |
return termlist; |
|
218 |
} |
|
219 |
|
|
220 |
protected void initialiseVocabularies() { |
|
221 |
if (getVocabularies() != null) { |
|
222 |
getVocabularies().clear(); |
|
223 |
} |
|
224 |
List<TermVocabularyDto> vocs = new ArrayList<>(); |
|
225 |
vocs = CdmStore.getService(IVocabularyService.class).findVocabularyDtoByTermType(type); |
|
226 |
|
|
227 |
setVocabularies(vocs); |
|
228 |
} |
|
229 |
|
|
230 |
protected void getPreferenceValues(){ |
|
231 |
pref = PreferencesUtil.getPreferenceFromDB(predicate); |
|
232 |
this.allowOverride = pref!= null?pref.isAllowOverride():true; |
|
233 |
this.isOverride = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(predicate.getKey())); |
|
234 |
if (pref == null){ |
|
235 |
pref = CdmPreference.NewTaxEditorInstance(predicate, null); |
|
236 |
} |
|
237 |
} |
|
238 |
|
|
239 |
/** |
|
240 |
* {@inheritDoc} |
|
241 |
*/ |
|
242 |
@Override |
|
243 |
public void selectionChanged(SelectionChangedEvent event) { |
|
244 |
this.setApply(true); |
|
245 |
} |
|
246 |
|
|
247 |
/** |
|
248 |
* {@inheritDoc} |
|
249 |
*/ |
|
250 |
@Override |
|
251 |
public void widgetSelected(SelectionEvent e) { |
|
252 |
if (e.getSource().equals(useLocalOrAdmin)){ |
|
253 |
if (useLocalOrAdmin.getText().equals(LocalOrDefaultEnum.Default.getLabel())){ |
|
254 |
rememberCheckedValues(getCheckedValuesFromPreferences()); |
|
255 |
treeComposite.setEnabled(false); |
|
256 |
}else{ |
|
257 |
treeComposite.setEnabled(true); |
|
258 |
} |
|
259 |
} |
|
260 |
this.setApply(true); |
|
261 |
} |
|
262 |
|
|
263 |
/** |
|
264 |
* {@inheritDoc} |
|
265 |
*/ |
|
266 |
@Override |
|
267 |
public void widgetDefaultSelected(SelectionEvent e) { |
|
268 |
// TODO Auto-generated method stub |
|
269 |
|
|
270 |
} |
|
271 |
|
|
272 |
@Override |
|
273 |
protected void performDefaults(){ |
|
274 |
if (!isLocalPref()){ |
|
275 |
rememberCheckedValues(""); |
|
276 |
treeComposite.setEnabled(true); |
|
277 |
}else{ |
|
278 |
isOverride = false; |
|
279 |
rememberCheckedValues(getCheckedValuesFromPreferences()); |
|
280 |
treeComposite.setEnabled(false); |
|
281 |
} |
|
282 |
pref = null; |
|
283 |
useLocalOrAdmin.select(0); |
|
284 |
|
|
285 |
setApply(true); |
|
286 |
super.performDefaults(); |
|
287 |
|
|
288 |
} |
|
289 |
|
|
290 |
@Override |
|
291 |
public boolean performOk() { |
|
292 |
if (!isApply()){ |
|
293 |
return true; |
|
294 |
} |
|
295 |
Object[] checkedElements = treeComposite.getViewer().getCheckedElements(); |
|
296 |
List<UUID> listUIIDChecked = new ArrayList<>(); |
|
297 |
Collection<TermDto> preferredTermDtos = new ArrayList<>(); |
|
298 |
List<DefinedTermBase> preferredTerms = new ArrayList<>(); |
|
299 |
for (Object o : checkedElements) { |
|
300 |
if(o instanceof TermDto){ |
|
301 |
TermDto termDto = (TermDto) o; |
|
302 |
listUIIDChecked.add(termDto.getUuid()); |
|
303 |
preferredTermDtos.add(termDto); |
|
304 |
if (vocabularies.size() > 1){ |
|
305 |
preferredTerms.add(CdmStore.getService(ITermService.class).load(termDto.getUuid())); |
|
306 |
} |
|
307 |
|
|
308 |
} |
|
309 |
} |
|
310 |
String saveCheckedElements = StringUtils.join(listUIIDChecked, ";"); //$NON-NLS-1$ |
|
311 |
|
|
312 |
PreferencesUtil.setStringValue(predicate.getKey(), saveCheckedElements); |
|
313 |
String text = this.useLocalOrAdmin.getText(); |
|
314 |
if (text.equals(LocalOrDefaultEnum.Database.getLabel()) || text.equals(LocalOrDefaultEnum.Default.getLabel())){ |
|
315 |
PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(predicate.getKey()), false); |
|
316 |
}else if (text.equals(LocalOrDefaultEnum.Local.getLabel())){ |
|
317 |
PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(predicate.getKey()), true); |
|
318 |
} |
|
319 |
if (type == null){ |
|
320 |
CdmStore.getTermManager().setPreferredTermsByDto(preferredTermDtos, vocabularies.get(0)); |
|
321 |
}else{ |
|
322 |
CdmStore.getTermManager().setPreferredTermsByType(preferredTermDtos, type); |
|
323 |
} |
|
324 |
PreferencesUtil.firePreferencesChanged(this.getClass()); |
|
325 |
return true; |
|
326 |
} |
|
327 |
|
|
328 |
protected boolean performOkAdmin() { |
|
329 |
Object[] checkedElements = treeComposite.getViewer().getCheckedElements(); |
|
330 |
List<UUID> listUIIDChecked = new ArrayList<>(); |
|
331 |
List<DefinedTermBase> preferredTerms = new ArrayList<>(); |
|
332 |
for (Object o : checkedElements) { |
|
333 |
if(o instanceof TermDto){ |
|
334 |
TermDto termDto = (TermDto) o; |
|
335 |
listUIIDChecked.add(termDto.getUuid()); |
|
336 |
preferredTerms.add(CdmStore.getService(ITermService.class).load(termDto.getUuid())); |
|
337 |
} |
|
338 |
} |
|
339 |
String saveCheckedElements = StringUtils.join(listUIIDChecked, ";"); //$NON-NLS-1$ |
|
340 |
if (StringUtils.isBlank(saveCheckedElements)){ |
|
341 |
saveCheckedElements = null; |
|
342 |
} |
|
343 |
CdmPreference savePref = CdmPreference.NewTaxEditorInstance(predicate, saveCheckedElements); |
|
344 |
String text = this.useLocalOrAdmin.getText(); |
|
345 |
if (text.equals(LocalOrDefaultEnum.Database.getLabel()) ){ |
|
346 |
savePref.setAllowOverride(false); |
|
347 |
}else if (text.equals(LocalOrDefaultEnum.AllowOverride.getLabel())){ |
|
348 |
savePref.setAllowOverride(true); |
|
349 |
} |
|
350 |
|
|
351 |
PreferencesUtil.setPreferenceToDB(savePref); |
|
352 |
PreferencesUtil.updateDBPreferences(); |
|
353 |
PreferencesUtil.firePreferencesChanged(this.getClass()); |
|
354 |
return true; |
|
355 |
} |
|
356 |
|
|
357 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/GeneralTermPreferencePage.java | ||
---|---|---|
1 |
/** |
|
2 |
* Copyright (C) 2019 EDIT |
|
3 |
* European Distributed Institute of Taxonomy |
|
4 |
* http://www.e-taxonomy.eu |
|
5 |
* |
|
6 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
|
7 |
* See LICENSE.TXT at the top of this package for the full license terms. |
|
8 |
*/ |
|
9 |
package eu.etaxonomy.taxeditor.preference; |
|
10 |
|
|
11 |
import java.util.ArrayList; |
|
12 |
import java.util.Collection; |
|
13 |
import java.util.List; |
|
14 |
import java.util.UUID; |
|
15 |
|
|
16 |
import org.apache.commons.lang.StringUtils; |
|
17 |
|
|
18 |
import eu.etaxonomy.cdm.api.service.ITermService; |
|
19 |
import eu.etaxonomy.cdm.model.term.DefinedTermBase; |
|
20 |
import eu.etaxonomy.cdm.persistence.dto.TermDto; |
|
21 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
|
22 |
|
|
23 |
/** |
|
24 |
* @author k.luther |
|
25 |
* @since 26.09.2019 |
|
26 |
*/ |
|
27 |
public class GeneralTermPreferencePage extends AbstractGeneralTermPreference<TermDto> { |
|
28 |
|
|
29 |
@Override |
|
30 |
protected List<TermDto> getTermsFromStringValues(List<String> listValue) { |
|
31 |
Collection<TermDto> termlist = new ArrayList<>(); |
|
32 |
ITermService termService = CdmStore.getService(ITermService.class); |
|
33 |
List<UUID> uuidList = new ArrayList(); |
|
34 |
for (String s : listValue) { |
|
35 |
if (!StringUtils.isBlank(s)){ |
|
36 |
UUID uuid = UUID.fromString(s); |
|
37 |
uuidList.add(uuid); |
|
38 |
} |
|
39 |
} |
|
40 |
if (!uuidList.isEmpty()){ |
|
41 |
termlist = termService.findByUUIDsAsDto(uuidList); |
|
42 |
} |
|
43 |
|
|
44 |
if (listValue.isEmpty()){ |
|
45 |
List<DefinedTermBase> terms = CdmStore.getTermManager().getAllTerms(type, null); |
|
46 |
for (DefinedTermBase term: terms){ |
|
47 |
if (!(term instanceof eu.etaxonomy.cdm.model.description.Character) && term != null){ |
|
48 |
termlist.add(TermDto.fromTerm(term, true)); |
|
49 |
} |
|
50 |
} |
|
51 |
} |
|
52 |
|
|
53 |
return new ArrayList(termlist); |
|
54 |
} |
|
55 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NomenclaturalStatusTypePreferences.java | ||
---|---|---|
20 | 20 |
* @version 1.0 |
21 | 21 |
*/ |
22 | 22 |
public class NomenclaturalStatusTypePreferences extends |
23 |
GeneralTermPreference { |
|
23 |
GeneralTermPreferencePage {
|
|
24 | 24 |
|
25 | 25 |
/** |
26 | 26 |
* <p>Constructor for NomenclaturalStatusTypeMenuPreferences.</p> |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java | ||
---|---|---|
1579 | 1579 |
} |
1580 | 1580 |
public static Abcd206ImportConfigurator getLocalAbcdImportConfigurator(boolean skipCheckOverride){ |
1581 | 1581 |
Abcd206ImportConfigurator config = Abcd206ImportConfigurator.NewInstance(null,null); |
1582 |
CdmPreference pref = CdmPreferenceCache.instance().get(PreferencePredicate.AbcdImportConfig.getKey()); |
|
1583 |
if (pref.isAllowOverride()){ |
|
1582 | 1584 |
String configString = PreferencesUtil.getStringValue(IPreferenceKeys.LAST_USED_ABCD_CONFIG); |
1583 |
if (StringUtils.isBlank(configString)){ |
|
1584 |
configString = getStringValue(PreferencePredicate.AbcdImportConfig.getKey(), skipCheckOverride); |
|
1585 |
extractAbcdConfiguratorFromPreferenceString(config, configString); |
|
1586 |
if (config.getNomenclaturalCode() == null){ |
|
1587 |
config.setNomenclaturalCode(getPreferredNomenclaturalCode()); |
|
1585 |
if (StringUtils.isBlank(configString)){ |
|
1586 |
configString = getStringValue(PreferencePredicate.AbcdImportConfig.getKey(), skipCheckOverride); |
|
1587 |
extractAbcdConfiguratorFromPreferenceString(config, configString); |
|
1588 |
if (config.getNomenclaturalCode() == null){ |
|
1589 |
config.setNomenclaturalCode(getPreferredNomenclaturalCode()); |
|
1590 |
} |
|
1591 |
}else{ |
|
1592 |
config = Abcd206ImportConfigurator.NewInstance(null, null); |
|
1593 |
PreferencesUtil.extractAbcdConfiguratorFromPreferenceString(config, configString); |
|
1588 | 1594 |
} |
1589 | 1595 |
}else{ |
1590 |
config = Abcd206ImportConfigurator.NewInstance(null, null); |
|
1591 |
PreferencesUtil.extractAbcdConfiguratorFromPreferenceString(config, configString); |
|
1596 |
extractAbcdConfiguratorFromPreferenceString(config, pref.getValue()); |
|
1592 | 1597 |
} |
1593 | 1598 |
|
1594 | 1599 |
return config; |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/RankPreference.java | ||
---|---|---|
26 | 26 |
* @since 05.06.2019 |
27 | 27 |
* |
28 | 28 |
*/ |
29 |
public class RankPreference extends GeneralTermPreference { |
|
29 |
public class RankPreference extends GeneralTermPreferencePage {
|
|
30 | 30 |
|
31 | 31 |
public RankPreference(){ |
32 | 32 |
super(); |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/CommonNameLanguagePreferences.java | ||
---|---|---|
11 | 11 |
|
12 | 12 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
13 | 13 |
import eu.etaxonomy.cdm.model.term.TermType; |
14 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreference; |
|
14 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreferencePage;
|
|
15 | 15 |
|
16 | 16 |
/** |
17 | 17 |
* <p>LanguageMenuPreferences class.</p> |
... | ... | |
20 | 20 |
* @created 24.08.2009 |
21 | 21 |
* @version 1.0 |
22 | 22 |
*/ |
23 |
public class CommonNameLanguagePreferences extends GeneralTermPreference { |
|
23 |
public class CommonNameLanguagePreferences extends GeneralTermPreferencePage {
|
|
24 | 24 |
|
25 | 25 |
/** Constant <code>ID="eu.etaxonomy.taxeditor.preferences.lang"{trunked}</code> */ |
26 | 26 |
public final static String ID = "eu.etaxonomy.taxeditor.preferences.languages"; //$NON-NLS-1$ |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/FeatureMenuPreferences.java | ||
---|---|---|
17 | 17 |
import eu.etaxonomy.cdm.model.term.VocabularyEnum; |
18 | 18 |
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto; |
19 | 19 |
import eu.etaxonomy.taxeditor.editor.definedterm.input.TermEditorInput; |
20 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreference; |
|
20 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreferencePage;
|
|
21 | 21 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
22 | 22 |
|
23 | 23 |
/** |
... | ... | |
28 | 28 |
* @created 17.09.2008 |
29 | 29 |
* @version 1.0 |
30 | 30 |
*/ |
31 |
public class FeatureMenuPreferences extends GeneralTermPreference{ |
|
31 |
public class FeatureMenuPreferences extends GeneralTermPreferencePage{
|
|
32 | 32 |
|
33 | 33 |
/** Constant <code>PLUGIN_ID="eu.etaxonomy.taxeditor.preferences.feat"{trunked}</code> */ |
34 | 34 |
public static final String PLUGIN_ID = "eu.etaxonomy.taxeditor.preferences.nameFeature"; //$NON-NLS-1$ |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/LanguageMenuPreferences.java | ||
---|---|---|
11 | 11 |
|
12 | 12 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
13 | 13 |
import eu.etaxonomy.cdm.model.term.TermType; |
14 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreference; |
|
14 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreferencePage;
|
|
15 | 15 |
|
16 | 16 |
/** |
17 | 17 |
* <p>LanguageMenuPreferences class.</p> |
... | ... | |
20 | 20 |
* @created 24.08.2009 |
21 | 21 |
* @version 1.0 |
22 | 22 |
*/ |
23 |
public class LanguageMenuPreferences extends GeneralTermPreference { |
|
23 |
public class LanguageMenuPreferences extends GeneralTermPreferencePage {
|
|
24 | 24 |
|
25 | 25 |
/** Constant <code>ID="eu.etaxonomy.taxeditor.preferences.lang"{trunked}</code> */ |
26 | 26 |
public final static String ID = "eu.etaxonomy.taxeditor.preferences.languages"; //$NON-NLS-1$ |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/MarkerTypeMenuPreferences.java | ||
---|---|---|
11 | 11 |
|
12 | 12 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
13 | 13 |
import eu.etaxonomy.cdm.model.term.TermType; |
14 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreference; |
|
14 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreferencePage;
|
|
15 | 15 |
|
16 | 16 |
/** |
17 | 17 |
* <p>MarkerTypeMenuPreferences class.</p> |
... | ... | |
20 | 20 |
* @created Aug 28, 2009 |
21 | 21 |
* @version 1.0 |
22 | 22 |
*/ |
23 |
public class MarkerTypeMenuPreferences extends GeneralTermPreference{ |
|
23 |
public class MarkerTypeMenuPreferences extends GeneralTermPreferencePage{
|
|
24 | 24 |
|
25 | 25 |
/** |
26 | 26 |
* <p>Constructor for MarkerTypeMenuPreferences.</p> |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/MeasurementUnitMenuPreferences.java | ||
---|---|---|
5 | 5 |
|
6 | 6 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
7 | 7 |
import eu.etaxonomy.cdm.model.term.TermType; |
8 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreference; |
|
8 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreferencePage;
|
|
9 | 9 |
|
10 | 10 |
/** |
11 | 11 |
* <p>MeasurementUnitMenuPreferences class.</p> |
... | ... | |
13 | 13 |
* @author n.hoffmann |
14 | 14 |
* @version $Id: $ |
15 | 15 |
*/ |
16 |
public class MeasurementUnitMenuPreferences extends GeneralTermPreference { |
|
16 |
public class MeasurementUnitMenuPreferences extends GeneralTermPreferencePage {
|
|
17 | 17 |
|
18 | 18 |
/** |
19 | 19 |
* <p>Constructor for MeasurementUnitMenuPreferences.</p> |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NameFeatureMenuPreference.java | ||
---|---|---|
16 | 16 |
import eu.etaxonomy.cdm.model.term.TermType; |
17 | 17 |
import eu.etaxonomy.cdm.model.term.VocabularyEnum; |
18 | 18 |
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto; |
19 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreference; |
|
19 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreferencePage;
|
|
20 | 20 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
21 | 21 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
22 | 22 |
|
... | ... | |
25 | 25 |
* @since 14.05.2019 |
26 | 26 |
* |
27 | 27 |
*/ |
28 |
public class NameFeatureMenuPreference extends GeneralTermPreference { |
|
28 |
public class NameFeatureMenuPreference extends GeneralTermPreferencePage {
|
|
29 | 29 |
/** Constant <code>PLUGIN_ID="eu.etaxonomy.taxeditor.preferences.feat"{trunked}</code> */ |
30 | 30 |
public static final String PLUGIN_ID = "eu.etaxonomy.taxeditor.preferences.nameFeature"; //$NON-NLS-1$ |
31 | 31 |
|
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NameRelationshipTypeMenuPreferences.java | ||
---|---|---|
11 | 11 |
|
12 | 12 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
13 | 13 |
import eu.etaxonomy.cdm.model.term.TermType; |
14 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreference; |
|
14 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreferencePage;
|
|
15 | 15 |
|
16 | 16 |
/** |
17 | 17 |
* <p>NameRelationshipTypeMenuPreferences class.</p> |
... | ... | |
21 | 21 |
* @version 1.0 |
22 | 22 |
*/ |
23 | 23 |
public class NameRelationshipTypeMenuPreferences extends |
24 |
GeneralTermPreference { |
|
24 |
GeneralTermPreferencePage {
|
|
25 | 25 |
|
26 | 26 |
|
27 | 27 |
/** |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NameTypeDesignationStatusMenuPreferences.java | ||
---|---|---|
18 | 18 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
19 | 19 |
import eu.etaxonomy.cdm.model.term.TermType; |
20 | 20 |
import eu.etaxonomy.cdm.persistence.dto.TermDto; |
21 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreference; |
|
21 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreferencePage;
|
|
22 | 22 |
import eu.etaxonomy.taxeditor.preference.LocalOrDefaultEnum; |
23 | 23 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
24 | 24 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
... | ... | |
31 | 31 |
* @version 1.0 |
32 | 32 |
*/ |
33 | 33 |
public class NameTypeDesignationStatusMenuPreferences extends |
34 |
GeneralTermPreference { |
|
34 |
GeneralTermPreferencePage {
|
|
35 | 35 |
/** |
36 | 36 |
* <p>Constructor for NameTypeDesignationStatusMenuPreferences.</p> |
37 | 37 |
*/ |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NamedAreaTypeMenuPreferences.java | ||
---|---|---|
11 | 11 |
|
12 | 12 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
13 | 13 |
import eu.etaxonomy.cdm.model.term.TermType; |
14 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreference; |
|
14 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreferencePage;
|
|
15 | 15 |
|
16 | 16 |
/** |
17 | 17 |
* <p>NamedAreaTypeMenuPreferences class.</p> |
... | ... | |
20 | 20 |
* @created May 11, 2010 |
21 | 21 |
* @version 1.0 |
22 | 22 |
*/ |
23 |
public class NamedAreaTypeMenuPreferences extends GeneralTermPreference{ |
|
23 |
public class NamedAreaTypeMenuPreferences extends GeneralTermPreferencePage{
|
|
24 | 24 |
|
25 | 25 |
/** |
26 | 26 |
* <p>Constructor for NamedAreaTypeMenuPreferences.</p> |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/SpecimenTypeDesignationStatusMenuPreferences.java | ||
---|---|---|
18 | 18 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
19 | 19 |
import eu.etaxonomy.cdm.model.term.TermType; |
20 | 20 |
import eu.etaxonomy.cdm.persistence.dto.TermDto; |
21 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreference; |
|
21 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreferencePage;
|
|
22 | 22 |
import eu.etaxonomy.taxeditor.preference.LocalOrDefaultEnum; |
23 | 23 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
24 | 24 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
... | ... | |
31 | 31 |
* @version 1.0 |
32 | 32 |
*/ |
33 | 33 |
public class SpecimenTypeDesignationStatusMenuPreferences extends |
34 |
GeneralTermPreference { |
|
34 |
GeneralTermPreferencePage {
|
|
35 | 35 |
/** |
36 | 36 |
* <p>Constructor for SpecimenTypeDesignationStatusMenuPreferences.</p> |
37 | 37 |
*/ |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/StageMenuPreferences.java | ||
---|---|---|
11 | 11 |
|
12 | 12 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
13 | 13 |
import eu.etaxonomy.cdm.model.term.TermType; |
14 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreference; |
|
14 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreferencePage;
|
|
15 | 15 |
|
16 | 16 |
|
17 | 17 |
/** |
... | ... | |
21 | 21 |
* @created Jun 25, 2010 |
22 | 22 |
* @version 1.0 |
23 | 23 |
*/ |
24 |
public class StageMenuPreferences extends GeneralTermPreference { |
|
24 |
public class StageMenuPreferences extends GeneralTermPreferencePage {
|
|
25 | 25 |
|
26 | 26 |
/** |
27 | 27 |
* <p>Constructor for StageMenuPreferences.</p> |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/TaxonRelationshipTypeMenuPreferences.java | ||
---|---|---|
11 | 11 |
|
12 | 12 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
13 | 13 |
import eu.etaxonomy.cdm.model.term.TermType; |
14 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreference; |
|
14 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreferencePage;
|
|
15 | 15 |
|
16 | 16 |
/** |
17 | 17 |
* <p>TaxonRelationshipTypeMenuPreferences class.</p> |
... | ... | |
21 | 21 |
* @version 1.0 |
22 | 22 |
*/ |
23 | 23 |
public class TaxonRelationshipTypeMenuPreferences extends |
24 |
GeneralTermPreference { |
|
24 |
GeneralTermPreferencePage {
|
|
25 | 25 |
|
26 | 26 |
/** |
27 | 27 |
* <p>Constructor for TaxonRelationshipTypeMenuPreferences.</p> |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AbstractAdminTermSelectionWizardPage.java | ||
---|---|---|
16 | 16 |
|
17 | 17 |
import eu.etaxonomy.cdm.model.metadata.CdmPreference; |
18 | 18 |
import eu.etaxonomy.cdm.model.term.TermType; |
19 |
import eu.etaxonomy.cdm.persistence.dto.AbstractTermDto; |
|
19 | 20 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
20 | 21 |
|
21 | 22 |
|
... | ... | |
24 | 25 |
* @since 22.11.2018 |
25 | 26 |
* |
26 | 27 |
*/ |
27 |
public abstract class AbstractAdminTermSelectionWizardPage extends AbstractTermSelectionWizardPage |
|
28 |
{ |
|
29 |
private boolean localPrefExist = true; |
|
28 |
public abstract class AbstractAdminTermSelectionWizardPage<T extends AbstractTermDto> extends AbstractTermSelectionWizardPage{ |
|
29 |
//private boolean localPrefExist = true; |
|
30 | 30 |
|
31 | 31 |
/** |
32 | 32 |
* @param pageName |
... | ... | |
72 | 72 |
}); |
73 | 73 |
} |
74 | 74 |
|
75 |
public boolean isLocalPrefExist() { |
|
76 |
return localPrefExist; |
|
77 |
} |
|
78 |
|
|
79 |
public void setLocalPrefExist(boolean localPrefExist) { |
|
80 |
this.localPrefExist = localPrefExist; |
|
81 |
} |
|
75 |
// public boolean isLocalPrefExist() {
|
|
76 |
// return localPrefExist;
|
|
77 |
// }
|
|
78 |
// |
|
79 |
// public void setLocalPrefExist(boolean localPrefExist) {
|
|
80 |
// this.localPrefExist = localPrefExist;
|
|
81 |
// }
|
|
82 | 82 |
|
83 | 83 |
public CdmPreference getPreference(){ |
84 | 84 |
return pref; |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AbstractTermSelectionWizardPage.java | ||
---|---|---|
12 | 12 |
import java.util.ArrayList; |
13 | 13 |
import java.util.Arrays; |
14 | 14 |
import java.util.List; |
15 |
import java.util.UUID; |
|
16 | 15 |
|
17 |
import org.apache.commons.lang.StringUtils; |
|
18 | 16 |
import org.eclipse.jface.viewers.CheckboxTreeViewer; |
19 | 17 |
import org.eclipse.jface.wizard.WizardPage; |
20 | 18 |
import org.eclipse.swt.SWT; |
19 |
import org.eclipse.swt.events.SelectionAdapter; |
|
20 |
import org.eclipse.swt.events.SelectionEvent; |
|
21 | 21 |
import org.eclipse.swt.layout.GridData; |
22 | 22 |
import org.eclipse.swt.layout.GridLayout; |
23 |
import org.eclipse.swt.widgets.Button; |
|
23 | 24 |
import org.eclipse.swt.widgets.Composite; |
24 | 25 |
|
25 |
import eu.etaxonomy.cdm.api.service.ITermService; |
|
26 | 26 |
import eu.etaxonomy.cdm.api.service.IVocabularyService; |
27 |
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
|
|
27 |
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
|
|
28 | 28 |
import eu.etaxonomy.cdm.model.term.TermType; |
29 |
import eu.etaxonomy.cdm.model.term.TermVocabulary; |
|
30 | 29 |
import eu.etaxonomy.cdm.persistence.dto.AbstractTermDto; |
31 |
import eu.etaxonomy.cdm.persistence.dto.TermDto; |
|
32 | 30 |
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto; |
33 | 31 |
import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermSorter; |
34 | 32 |
import eu.etaxonomy.taxeditor.editor.definedterm.TermDtoContentProvider; |
... | ... | |
40 | 38 |
* @since 04.06.2018 |
41 | 39 |
* |
42 | 40 |
*/ |
43 |
public abstract class AbstractTermSelectionWizardPage extends WizardPage { |
|
41 |
public abstract class AbstractTermSelectionWizardPage<T extends AbstractTermDto> extends WizardPage {
|
|
44 | 42 |
|
45 | 43 |
protected CheckBoxTreeComposite treeComposite; |
46 | 44 |
private List<TermVocabularyDto> vocabularies = new ArrayList<>(); |
47 | 45 |
boolean localPref; |
46 |
protected CdmPreference pref; |
|
47 |
protected boolean override; |
|
48 | 48 |
|
49 | 49 |
protected TermType type; |
50 | 50 |
|
51 | 51 |
protected AbstractTermSelectionWizardPage(String pageName, TermType type) { |
52 | 52 |
super(pageName); |
53 |
// TODO check if configuration exists |
|
54 |
// CdmStore.getCurrentSessionManager().bindNullSession(); |
|
55 | 53 |
this.type = type; |
56 | 54 |
|
57 | 55 |
} |
... | ... | |
84 | 82 |
vocabularies = vocs; |
85 | 83 |
} |
86 | 84 |
|
85 |
public CdmPreference getPreference() { |
|
86 |
return pref; |
|
87 |
} |
|
88 |
|
|
87 | 89 |
protected void rememberCheckedValues(String checkedValues) { |
88 | 90 |
initialiseVocabularies(); |
89 | 91 |
|
... | ... | |
99 | 101 |
if (listCheckedComma != null && checkedValues.contains(",")){ //$NON-NLS-1$ |
100 | 102 |
checked = Arrays.asList(listCheckedComma); |
101 | 103 |
} |
102 |
List<AbstractTermDto> termsFromStringValues = getTermsFromStringValues(checked);
|
|
104 |
List<T> termsFromStringValues = getTermsFromStringValues(checked);
|
|
103 | 105 |
treeComposite.setCheckedElements(termsFromStringValues.toArray()); |
104 | 106 |
|
105 | 107 |
}else{ |
106 |
List<AbstractTermDto> termsFromStringValues = getTermsFromStringValues(new ArrayList<String>());
|
|
108 |
List<T> termsFromStringValues = getTermsFromStringValues(new ArrayList<String>());
|
|
107 | 109 |
treeComposite.setCheckedElements(termsFromStringValues.toArray()); |
108 | 110 |
} |
109 | 111 |
} |
110 | 112 |
|
111 |
protected List<AbstractTermDto> getTermsFromStringValues(List<String> listValue) { |
|
112 |
List<AbstractTermDto> termlist = new ArrayList<>(); |
|
113 |
ITermService termService = CdmStore.getService(ITermService.class); |
|
114 |
for (String s : listValue) { |
|
115 |
if (!StringUtils.isBlank(s)){ |
|
116 |
UUID uuid = UUID.fromString(s); |
|
117 |
|
|
118 |
DefinedTermBase definedTermBase = termService.load(uuid); |
|
119 |
if(definedTermBase != null){ |
|
120 |
termlist.add(TermDto.fromTerm(definedTermBase, true)); |
|
121 |
}else{ |
|
122 |
IVocabularyService vocabularyService = CdmStore.getService(IVocabularyService.class); |
|
123 |
TermVocabulary termVocabulary = vocabularyService.load(uuid); |
|
124 |
if (termVocabulary != null){ |
|
125 |
termlist.add(new TermVocabularyDto(uuid, termVocabulary.getRepresentations(), termVocabulary.getTermType())); |
|
126 |
} |
|
127 |
} |
|
128 |
} |
|
129 |
} |
|
130 |
if (listValue.isEmpty()){ |
|
131 |
List<DefinedTermBase> terms = CdmStore.getTermManager().getAllTerms(type, null); |
|
132 |
for (DefinedTermBase term: terms){ |
|
133 |
termlist.add(TermDto.fromTerm(term, true)); |
|
134 |
} |
|
135 |
} |
|
136 | 113 |
|
137 |
return termlist; |
|
138 |
} |
|
139 | 114 |
|
140 | 115 |
protected void initialiseVocabularies() { |
141 | 116 |
if (getVocabularies() != null) { |
... | ... | |
149 | 124 |
|
150 | 125 |
protected abstract List<TermVocabularyDto> getVocabulariesFromPreference(); |
151 | 126 |
|
127 |
/** |
|
128 |
* @param listValue |
|
129 |
* @return |
|
130 |
*/ |
|
131 |
protected abstract List<T> getTermsFromStringValues(List<String> listValue); |
|
132 |
|
|
133 |
protected void createAllowOverrideButton(Composite parent) { |
|
134 |
final Button activateCheckButton = new Button(parent, SWT.CHECK); |
|
135 |
if (localPref){ |
|
136 |
activateCheckButton.setText("Override"); |
|
137 |
activateCheckButton.setSelection(override); |
|
138 |
}else{ |
|
139 |
activateCheckButton.setText("Allow Override"); |
|
140 |
activateCheckButton.setSelection(pref.isAllowOverride()); |
|
141 |
} |
|
142 |
|
|
143 |
|
|
144 |
|
|
145 |
activateCheckButton.addSelectionListener(new SelectionAdapter(){ |
|
146 |
@Override |
|
147 |
public void widgetSelected(SelectionEvent e) { |
|
148 |
pref.setAllowOverride(activateCheckButton.getSelection()); |
|
149 |
override = activateCheckButton.getSelection(); |
|
150 |
|
|
151 |
} |
|
152 |
}); |
|
153 |
} |
|
152 | 154 |
|
153 | 155 |
} |
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 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionPage.java | ||
---|---|---|
20 | 20 |
import org.apache.commons.lang.StringUtils; |
21 | 21 |
import org.eclipse.swt.widgets.Composite; |
22 | 22 |
|
23 |
import eu.etaxonomy.cdm.api.service.ITermService; |
|
23 | 24 |
import eu.etaxonomy.cdm.api.service.IVocabularyService; |
24 | 25 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
26 |
import eu.etaxonomy.cdm.model.term.DefinedTermBase; |
|
25 | 27 |
import eu.etaxonomy.cdm.model.term.TermType; |
26 | 28 |
import eu.etaxonomy.cdm.model.term.TermVocabulary; |
27 |
import eu.etaxonomy.cdm.persistence.dto.AbstractTermDto;
|
|
29 |
import eu.etaxonomy.cdm.persistence.dto.TermDto; |
|
28 | 30 |
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto; |
29 | 31 |
import eu.etaxonomy.taxeditor.l10n.Messages; |
30 | 32 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
... | ... | |
35 | 37 |
* @date 21.07.2014 |
36 | 38 |
* |
37 | 39 |
*/ |
38 |
public class AvailableDistributionPage extends AbstractTermSelectionWizardPage { |
|
40 |
public class AvailableDistributionPage extends AbstractTermSelectionWizardPage<TermDto> {
|
|
39 | 41 |
|
40 | 42 |
protected AvailableDistributionPage(String pageName) { |
41 | 43 |
super(pageName, TermType.NamedArea); |
... | ... | |
75 | 77 |
if (listCheckedComma != null && checkedValues.contains(",")){ //$NON-NLS-1$ |
76 | 78 |
checked = Arrays.asList(listCheckedComma); |
77 | 79 |
} |
78 |
List<AbstractTermDto> termsFromStringValues = getTermsFromStringValues(checked);
|
|
80 |
List<TermDto> termsFromStringValues = getTermsFromStringValues(checked); |
|
79 | 81 |
treeComposite.setCheckedElements(termsFromStringValues.toArray()); |
80 | 82 |
} |
81 | 83 |
|
... | ... | |
147 | 149 |
setVocabularies(vocs); |
148 | 150 |
} |
149 | 151 |
|
152 |
@Override |
|
153 |
protected List<TermDto> getTermsFromStringValues(List<String> listValue) { |
|
154 |
|
|
155 |
List<TermDto> termlist = new ArrayList<>(); |
|
156 |
ITermService termService = CdmStore.getService(ITermService.class); |
|
157 |
List<UUID> uuidList = new ArrayList(); |
|
158 |
for (String s : listValue) { |
|
159 |
if (!StringUtils.isBlank(s)){ |
|
160 |
UUID uuid = UUID.fromString(s); |
|
161 |
uuidList.add(uuid); |
|
162 |
} |
|
163 |
} |
|
164 |
termlist = new ArrayList(termService.findByUUIDsAsDto(uuidList)); |
|
165 |
|
|
166 |
|
|
167 |
if (listValue.isEmpty()){ |
|
168 |
List<DefinedTermBase> terms = CdmStore.getTermManager().getAllTerms(type, null); |
|
169 |
for (DefinedTermBase term: terms){ |
|
170 |
termlist.add(TermDto.fromTerm(term, true)); |
|
171 |
} |
|
172 |
} |
|
173 |
|
|
174 |
return termlist; |
|
175 |
|
|
176 |
|
|
177 |
} |
|
178 |
|
|
150 | 179 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusPage.java | ||
---|---|---|
15 | 15 |
import eu.etaxonomy.cdm.model.metadata.CdmPreference; |
16 | 16 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
17 | 17 |
import eu.etaxonomy.cdm.model.term.TermType; |
18 |
import eu.etaxonomy.cdm.persistence.dto.TermDto; |
|
18 | 19 |
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto; |
19 | 20 |
import eu.etaxonomy.taxeditor.l10n.Messages; |
20 | 21 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
... | ... | |
26 | 27 |
* @since 05.10.2018 |
27 | 28 |
* |
28 | 29 |
*/ |
29 |
public class AvailableDistributionStatusPage extends AbstractAdminTermSelectionWizardPage {
|
|
30 |
public class AvailableDistributionStatusPage extends AbstractTermSelectionWizardPage<TermDto> {
|
|
30 | 31 |
|
31 | 32 |
|
32 | 33 |
|
33 | 34 |
public AvailableDistributionStatusPage(String pageName, CdmPreference pref, boolean localPref) { |
34 |
super(pageName, TermType.PresenceAbsenceTerm, pref); |
|
35 |
super(pageName, TermType.PresenceAbsenceTerm); |
|
36 |
this.pref = pref; |
|
35 | 37 |
this.localPref = localPref; |
36 | 38 |
} |
37 | 39 |
|
... | ... | |
69 | 71 |
return null; |
70 | 72 |
} |
71 | 73 |
|
74 |
@Override |
|
75 |
protected List<TermDto> getTermsFromStringValues(List<String> listValue) { |
|
76 |
// TODO Auto-generated method stub |
|
77 |
return null; |
|
78 |
} |
Also available in: Unified diff
ref #8568: performance issues for term and voc preference pages