Revision 8b643532
Added by Katja Luther almost 4 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/FeatureDtoContentProvider.java | ||
---|---|---|
98 | 98 |
} |
99 | 99 |
} |
100 | 100 |
} |
101 |
|
|
102 |
getVocabularyToChildTermMap().put(voc, filteredChildren); |
|
101 |
if (filteredChildren.isEmpty()){ |
|
102 |
getVocabularyToChildTermMap().remove(voc); |
|
103 |
}else{ |
|
104 |
getVocabularyToChildTermMap().put(voc, filteredChildren); |
|
105 |
} |
|
103 | 106 |
}else{ |
104 | 107 |
filteredChildren = children; |
105 | 108 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/AbstractGeneralTermPreference.java | ||
---|---|---|
179 | 179 |
treeComposite.getViewer().getTree().deselectAll(); |
180 | 180 |
treeComposite.getViewer().refresh(); |
181 | 181 |
treeComposite.getViewer().setInput(getVocabularies()); |
182 |
Object o =treeComposite.getViewer().getInput(); |
|
183 |
|
|
182 | 184 |
|
183 | 185 |
if (checkedValues != null && checkedValues != "") { //$NON-NLS-1$ |
184 | 186 |
String[] listChecked = checkedValues.split(";"); //$NON-NLS-1$ |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/FeatureMenuPreferences.java | ||
---|---|---|
9 | 9 |
package eu.etaxonomy.taxeditor.preference.menu; |
10 | 10 |
|
11 | 11 |
import java.util.ArrayList; |
12 |
import java.util.Collection; |
|
13 |
import java.util.HashSet; |
|
12 | 14 |
import java.util.List; |
15 |
import java.util.Set; |
|
16 |
import java.util.UUID; |
|
13 | 17 |
|
18 |
import org.apache.commons.lang.StringUtils; |
|
19 |
import org.eclipse.swt.SWT; |
|
20 |
import org.eclipse.swt.custom.CLabel; |
|
21 |
import org.eclipse.swt.layout.GridData; |
|
22 |
import org.eclipse.swt.layout.GridLayout; |
|
23 |
import org.eclipse.swt.widgets.Combo; |
|
24 |
import org.eclipse.swt.widgets.Composite; |
|
25 |
import org.eclipse.swt.widgets.Control; |
|
26 |
|
|
27 |
import eu.etaxonomy.cdm.api.service.ITermService; |
|
14 | 28 |
import eu.etaxonomy.cdm.api.service.IVocabularyService; |
29 |
import eu.etaxonomy.cdm.model.common.CdmClass; |
|
15 | 30 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
16 | 31 |
import eu.etaxonomy.cdm.model.term.TermType; |
17 |
import eu.etaxonomy.cdm.model.term.VocabularyEnum;
|
|
32 |
import eu.etaxonomy.cdm.persistence.dto.TermDto;
|
|
18 | 33 |
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto; |
34 |
import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermSorter; |
|
35 |
import eu.etaxonomy.taxeditor.editor.definedterm.FeatureDtoContentProvider; |
|
36 |
import eu.etaxonomy.taxeditor.editor.definedterm.TermDtoLabelProvider; |
|
19 | 37 |
import eu.etaxonomy.taxeditor.editor.definedterm.input.TermEditorInput; |
38 |
import eu.etaxonomy.taxeditor.l10n.Messages; |
|
20 | 39 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreferencePage; |
40 |
import eu.etaxonomy.taxeditor.preference.LocalOrDefaultEnum; |
|
41 |
import eu.etaxonomy.taxeditor.preference.wizard.CheckBoxTreeComposite; |
|
21 | 42 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
22 | 43 |
|
23 | 44 |
/** |
... | ... | |
31 | 52 |
public class FeatureMenuPreferences extends GeneralTermPreferencePage{ |
32 | 53 |
|
33 | 54 |
/** Constant <code>PLUGIN_ID="eu.etaxonomy.taxeditor.preferences.feat"{trunked}</code> */ |
34 |
public static final String PLUGIN_ID = "eu.etaxonomy.taxeditor.preferences.nameFeature"; //$NON-NLS-1$
|
|
55 |
public static final String PLUGIN_ID = "eu.etaxonomy.taxeditor.preferences.taxonFeature"; //$NON-NLS-1$
|
|
35 | 56 |
|
36 | 57 |
/** |
37 | 58 |
* <p>Constructor for FeatureMenuPreference.</p> |
... | ... | |
43 | 64 |
type = TermType.Feature; |
44 | 65 |
} |
45 | 66 |
|
67 |
@Override |
|
68 |
protected Control createContents(Composite parent) { |
|
69 |
Composite container = new Composite(parent, SWT.NULL); |
|
70 |
getPreferenceValues(); |
|
71 |
if (isLocalPref() && !allowOverride){ |
|
72 |
final CLabel description = new CLabel(parent, SWT.NULL); |
|
73 |
description.setText(Messages.NameDetailsViewConfiguration_description_not_available); |
|
74 |
this.setDefaultButtonActivated(false); |
|
75 |
return parent; |
|
76 |
|
|
77 |
} |
|
78 |
final GridLayout gridLayout = new GridLayout(); |
|
79 |
gridLayout.numColumns = 2; |
|
80 |
container.setLayout(gridLayout); |
|
81 |
parent.setLayout(new GridLayout()); |
|
82 |
useLocalOrAdmin = new Combo(parent, SWT.BORDER | SWT.READ_ONLY); |
|
83 |
if (!isAdminPreference){ |
|
84 |
useLocalOrAdmin.add(LocalOrDefaultEnum.Default.getLabel(), 0); |
|
85 |
useLocalOrAdmin.add(LocalOrDefaultEnum.Local.getLabel(), 1); |
|
86 |
|
|
87 |
}else{ |
|
88 |
useLocalOrAdmin.add(LocalOrDefaultEnum.AllowOverride.getLabel(), 0); |
|
89 |
useLocalOrAdmin.add(LocalOrDefaultEnum.Database.getLabel(), 1); |
|
90 |
} |
|
91 |
|
|
92 |
|
|
93 |
treeComposite = new CheckBoxTreeComposite(container, new FeatureDtoContentProvider(true, false, false), new TermDtoLabelProvider(), SWT.SCROLL_PAGE); |
|
94 |
treeComposite.getViewer().setComparator(new DefinedTermSorter()); |
|
95 |
rememberCheckedValues(getCheckedValuesFromPreferences()); |
|
96 |
|
|
97 |
if (isLocalPref()){ |
|
98 |
if (isOverride){ |
|
99 |
useLocalOrAdmin.select(1); |
|
100 |
}else{ |
|
101 |
useLocalOrAdmin.select(0); |
|
102 |
if (treeComposite.getViewer().getTree() != null && treeComposite.getViewer().getTree().getTopItem() != null) { |
|
103 |
treeComposite.getViewer().getTree().setSelection(treeComposite.getViewer().getTree().getTopItem()); |
|
104 |
} |
|
105 |
treeComposite.setEnabled(false); |
|
106 |
|
|
107 |
//treeComposite.getViewer().getTree().getVerticalBar().setEnabled(true); |
|
108 |
} |
|
109 |
}else{ |
|
110 |
if (allowOverride){ |
|
111 |
useLocalOrAdmin.select(0); |
|
112 |
}else{ |
|
113 |
useLocalOrAdmin.select(1); |
|
114 |
} |
|
115 |
} |
|
116 |
useLocalOrAdmin.addSelectionListener(this); |
|
117 |
|
|
118 |
GridData data = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); |
|
119 |
data.heightHint = 300; |
|
120 |
treeComposite.setLayoutData(data); |
|
121 |
treeComposite.getViewer().addSelectionChangedListener(this); |
|
122 |
|
|
123 |
return container; |
|
124 |
|
|
125 |
} |
|
126 |
|
|
46 | 127 |
|
47 | 128 |
|
48 | 129 |
@Override |
... | ... | |
59 | 140 |
|
60 | 141 |
@Override |
61 | 142 |
protected void initialiseVocabularies() { |
143 |
if (getVocabularies() != null) { |
|
144 |
getVocabularies().clear(); |
|
145 |
} |
|
146 |
List<TermVocabularyDto> vocs = new ArrayList<>(); |
|
147 |
Set<CdmClass> availableFor = new HashSet<>(); |
|
148 |
availableFor.add(CdmClass.TAXON); |
|
149 |
vocs = CdmStore.getService(IVocabularyService.class).findFeatureVocabularyDtoByTermTypes(availableFor); |
|
150 |
|
|
151 |
setVocabularies(vocs); |
|
152 |
// super.initialiseVocabularies(); |
|
153 |
|
|
154 |
|
|
155 |
|
|
156 |
// List<TermVocabularyDto> vocs = new ArrayList<>(); |
|
157 |
// vocs.add(CdmStore.getService(IVocabularyService.class).findVocabularyDtoByVocabularyUuid(VocabularyEnum.NameFeature.getUuid())); |
|
158 |
// this.getVocabularies().removeAll(vocs); |
|
159 |
|
|
160 |
} |
|
161 |
|
|
162 |
@Override |
|
163 |
protected List<TermDto> getTermsFromStringValues(List<String> listValue) { |
|
164 |
Collection<TermDto> termlist = new ArrayList<>(); |
|
165 |
ITermService termService = CdmStore.getService(ITermService.class); |
|
166 |
List<UUID> uuidList = new ArrayList(); |
|
167 |
for (String s : listValue) { |
|
168 |
if (!StringUtils.isBlank(s)){ |
|
169 |
UUID uuid = UUID.fromString(s); |
|
170 |
uuidList.add(uuid); |
|
171 |
} |
|
172 |
} |
|
173 |
if (!uuidList.isEmpty()){ |
|
174 |
termlist = termService.findFeatureByUUIDsAsDto(uuidList); |
|
175 |
} |
|
62 | 176 |
|
63 |
super.initialiseVocabularies();
|
|
64 |
List<TermVocabularyDto> vocs = new ArrayList<>();
|
|
65 |
vocs.add(CdmStore.getService(IVocabularyService.class).findVocabularyDtoByVocabularyUuid(VocabularyEnum.NameFeature.getUuid())); |
|
66 |
this.getVocabularies().removeAll(vocs);
|
|
177 |
if (listValue == null || listValue.isEmpty() ){
|
|
178 |
termlist = termService.findFeatureByTitleAsDto("");
|
|
179 |
|
|
180 |
}
|
|
67 | 181 |
|
182 |
return new ArrayList(termlist); |
|
68 | 183 |
} |
69 | 184 |
|
70 | 185 |
|
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NameFeatureMenuPreference.java | ||
---|---|---|
9 | 9 |
package eu.etaxonomy.taxeditor.preference.menu; |
10 | 10 |
|
11 | 11 |
import java.util.ArrayList; |
12 |
import java.util.HashSet; |
|
12 | 13 |
import java.util.List; |
14 |
import java.util.Set; |
|
15 |
|
|
16 |
import org.eclipse.swt.SWT; |
|
17 |
import org.eclipse.swt.custom.CLabel; |
|
18 |
import org.eclipse.swt.layout.GridData; |
|
19 |
import org.eclipse.swt.layout.GridLayout; |
|
20 |
import org.eclipse.swt.widgets.Combo; |
|
21 |
import org.eclipse.swt.widgets.Composite; |
|
22 |
import org.eclipse.swt.widgets.Control; |
|
13 | 23 |
|
14 | 24 |
import eu.etaxonomy.cdm.api.service.IVocabularyService; |
25 |
import eu.etaxonomy.cdm.model.common.CdmClass; |
|
15 | 26 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
16 | 27 |
import eu.etaxonomy.cdm.model.term.TermType; |
17 |
import eu.etaxonomy.cdm.model.term.VocabularyEnum; |
|
18 | 28 |
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto; |
29 |
import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermSorter; |
|
30 |
import eu.etaxonomy.taxeditor.editor.definedterm.FeatureDtoContentProvider; |
|
31 |
import eu.etaxonomy.taxeditor.editor.definedterm.TermDtoLabelProvider; |
|
32 |
import eu.etaxonomy.taxeditor.l10n.Messages; |
|
19 | 33 |
import eu.etaxonomy.taxeditor.preference.GeneralTermPreferencePage; |
34 |
import eu.etaxonomy.taxeditor.preference.LocalOrDefaultEnum; |
|
20 | 35 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
36 |
import eu.etaxonomy.taxeditor.preference.wizard.CheckBoxTreeComposite; |
|
21 | 37 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
22 | 38 |
|
23 | 39 |
/** |
... | ... | |
38 | 54 |
type = TermType.Feature; |
39 | 55 |
} |
40 | 56 |
|
57 |
@Override |
|
58 |
protected Control createContents(Composite parent) { |
|
59 |
Composite container = new Composite(parent, SWT.NULL); |
|
60 |
getPreferenceValues(); |
|
61 |
if (isLocalPref() && !allowOverride){ |
|
62 |
final CLabel description = new CLabel(parent, SWT.NULL); |
|
63 |
description.setText(Messages.NameDetailsViewConfiguration_description_not_available); |
|
64 |
this.setDefaultButtonActivated(false); |
|
65 |
return parent; |
|
66 |
|
|
67 |
} |
|
68 |
final GridLayout gridLayout = new GridLayout(); |
|
69 |
gridLayout.numColumns = 2; |
|
70 |
container.setLayout(gridLayout); |
|
71 |
parent.setLayout(new GridLayout()); |
|
72 |
useLocalOrAdmin = new Combo(parent, SWT.BORDER | SWT.READ_ONLY); |
|
73 |
if (!isAdminPreference){ |
|
74 |
useLocalOrAdmin.add(LocalOrDefaultEnum.Default.getLabel(), 0); |
|
75 |
useLocalOrAdmin.add(LocalOrDefaultEnum.Local.getLabel(), 1); |
|
76 |
|
|
77 |
}else{ |
|
78 |
useLocalOrAdmin.add(LocalOrDefaultEnum.AllowOverride.getLabel(), 0); |
|
79 |
useLocalOrAdmin.add(LocalOrDefaultEnum.Database.getLabel(), 1); |
|
80 |
} |
|
81 |
|
|
82 |
|
|
83 |
treeComposite = new CheckBoxTreeComposite(container, new FeatureDtoContentProvider(false, true, false), new TermDtoLabelProvider(), SWT.SCROLL_PAGE); |
|
84 |
treeComposite.getViewer().setComparator(new DefinedTermSorter()); |
|
85 |
rememberCheckedValues(getCheckedValuesFromPreferences()); |
|
86 |
|
|
87 |
if (isLocalPref()){ |
|
88 |
if (isOverride){ |
|
89 |
useLocalOrAdmin.select(1); |
|
90 |
}else{ |
|
91 |
useLocalOrAdmin.select(0); |
|
92 |
if (treeComposite.getViewer().getTree() != null && treeComposite.getViewer().getTree().getTopItem() != null) { |
|
93 |
treeComposite.getViewer().getTree().setSelection(treeComposite.getViewer().getTree().getTopItem()); |
|
94 |
} |
|
95 |
treeComposite.setEnabled(false); |
|
96 |
|
|
97 |
//treeComposite.getViewer().getTree().getVerticalBar().setEnabled(true); |
|
98 |
} |
|
99 |
}else{ |
|
100 |
if (allowOverride){ |
|
101 |
useLocalOrAdmin.select(0); |
|
102 |
}else{ |
|
103 |
useLocalOrAdmin.select(1); |
|
104 |
} |
|
105 |
} |
|
106 |
useLocalOrAdmin.addSelectionListener(this); |
|
107 |
|
|
108 |
GridData data = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); |
|
109 |
data.heightHint = 300; |
|
110 |
treeComposite.setLayoutData(data); |
|
111 |
treeComposite.getViewer().addSelectionChangedListener(this); |
|
112 |
|
|
113 |
return container; |
|
114 |
|
|
115 |
} |
|
41 | 116 |
|
42 | 117 |
|
43 | 118 |
@Override |
... | ... | |
59 | 134 |
getVocabularies().clear(); |
60 | 135 |
} |
61 | 136 |
List<TermVocabularyDto> vocs = new ArrayList<>(); |
62 |
vocs.add(CdmStore.getService(IVocabularyService.class).findVocabularyDtoByVocabularyUuid(VocabularyEnum.NameFeature.getUuid())); |
|
137 |
Set<CdmClass> availableFor = new HashSet<>(); |
|
138 |
availableFor.add(CdmClass.TAXON_NAME); |
|
139 |
vocs = CdmStore.getService(IVocabularyService.class).findFeatureVocabularyDtoByTermTypes(availableFor); |
|
63 | 140 |
|
64 | 141 |
setVocabularies(vocs); |
65 | 142 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/FeatureDetailElement.java | ||
---|---|---|
101 | 101 |
sectionModifierVocabularies.setEntity(getEntity()); |
102 | 102 |
} |
103 | 103 |
|
104 |
availableForTaxon = formFactory.createCheckbox(formElement, "Available for Taxon", entity.isAvailableForTaxon(), style);;
|
|
105 |
availableForTaxonName = formFactory.createCheckbox(formElement, "Available for Taxon Name", entity.isAvailableForTaxonName(), style);;;
|
|
104 |
availableForTaxon = formFactory.createCheckbox(formElement, "Available for Taxon", entity.isAvailableForTaxon(), style); |
|
105 |
availableForTaxonName = formFactory.createCheckbox(formElement, "Available for Taxon Name", entity.isAvailableForTaxonName(), style); |
|
106 | 106 |
availableForSpecimenOrObservation = formFactory.createCheckbox(formElement, "Available for Occurrence", entity.isAvailableForOccurrence(), style); |
107 | 107 |
} |
108 | 108 |
|
... | ... | |
152 | 152 |
} |
153 | 153 |
else if(eventSource == availableForSpecimenOrObservation){ |
154 | 154 |
getEntity().setAvailableForOccurrence(availableForSpecimenOrObservation.getSelection()); |
155 |
System.err.println(getEntity().isAvailableForOccurrence()); |
|
155 | 156 |
} |
156 | 157 |
else if(eventSource == availableForTaxon){ |
157 | 158 |
getEntity().setAvailableForTaxon(availableForTaxon.getSelection()); |
159 |
System.err.println(getEntity().isAvailableForTaxon()); |
|
158 | 160 |
} |
159 | 161 |
else if(eventSource == availableForTaxonName){ |
160 | 162 |
getEntity().setAvailableForTaxonName(availableForTaxonName.getSelection()); |
163 |
System.err.println(getEntity().isAvailableForTaxonName()); |
|
161 | 164 |
} |
162 | 165 |
|
163 | 166 |
StoreUtil.reflowParentScrolledForm(getLayoutComposite(), true); |
Also available in: Unified diff
fix #9040: adapt preferences to availableFor attribute of features