Revision 103f7f4a
Added by Patrick Plitzner over 5 years ago
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; |
|
12 | 13 |
import java.util.List; |
13 | 14 |
import java.util.UUID; |
14 | 15 |
|
15 | 16 |
import org.apache.commons.lang.StringUtils; |
16 |
import org.eclipse.jface.viewers.CheckboxTreeViewer; |
|
17 | 17 |
import org.eclipse.jface.wizard.IWizardPage; |
18 | 18 |
import org.eclipse.jface.wizard.Wizard; |
19 | 19 |
|
20 | 20 |
import eu.etaxonomy.cdm.api.conversation.ConversationHolder; |
21 | 21 |
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; |
22 |
import eu.etaxonomy.cdm.api.service.ITermService; |
|
22 | 23 |
import eu.etaxonomy.cdm.model.common.DefinedTermBase; |
23 | 24 |
import eu.etaxonomy.cdm.model.metadata.CdmPreference; |
24 | 25 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
... | ... | |
113 | 114 |
*/ |
114 | 115 |
@Override |
115 | 116 |
public boolean performFinish() { |
116 |
Object[] checkedElements = ((CheckboxTreeViewer)aPage.getViewer()).getCheckedElements();
|
|
117 |
Object[] checkedElements = aPage.getViewer().getCheckedElements();
|
|
117 | 118 |
|
118 | 119 |
List<UUID> listUIIDChecked = new ArrayList<>(); |
119 | 120 |
List<DefinedTermBase> preferredTerms = new ArrayList<>(); |
120 | 121 |
for (Object o : checkedElements) { |
121 |
if(o instanceof DefinedTermBase){ |
|
122 |
DefinedTermBase otb = (DefinedTermBase) o; |
|
123 |
listUIIDChecked.add(otb.getUuid()); |
|
124 |
preferredTerms.add(otb); |
|
125 |
} |
|
122 |
if(o instanceof DefinedTermBase){ |
|
123 |
DefinedTermBase otb = (DefinedTermBase) o; |
|
124 |
listUIIDChecked.add(otb.getUuid()); |
|
125 |
preferredTerms.add(otb); |
|
126 | 126 |
} |
127 |
String saveCheckedElements = StringUtils.join(listUIIDChecked, ";"); //$NON-NLS-1$ |
|
128 |
pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.AvailableDistributionStatus, saveCheckedElements); |
|
129 |
|
|
130 |
PreferencesUtil.setPreferenceToDB(pref); |
|
131 |
CdmStore.getTermManager().setPreferredTerms(preferredTerms, aPage.getVocabularies().get(0).getTerms()); |
|
132 |
PreferencesUtil.firePreferencesChanged(this.getClass()); |
|
133 |
return true; |
|
127 |
} |
|
128 |
String saveCheckedElements = StringUtils.join(listUIIDChecked, ";"); //$NON-NLS-1$ |
|
129 |
pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.AvailableDistributionStatus, saveCheckedElements); |
|
130 |
|
|
131 |
PreferencesUtil.setPreferenceToDB(pref); |
|
132 |
Collection<DefinedTermBase> terms = new ArrayList<>(); |
|
133 |
aPage.getVocabularies().get(0).getTerms() |
|
134 |
.forEach(dto -> terms.add(CdmStore.getService(ITermService.class).load(dto.getUuid()))); |
|
135 |
CdmStore.getTermManager().setPreferredTerms(preferredTerms, terms); |
|
136 |
PreferencesUtil.firePreferencesChanged(this.getClass()); |
|
137 |
return true; |
|
134 | 138 |
} |
135 | 139 |
|
136 | 140 |
|
Also available in: Unified diff
ref #7887 Use term DTOs for distribution wizards