2 * Copyright (C) 2019 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
9 package eu
.etaxonomy
.taxeditor
.databaseAdmin
.preferencePage
;
11 import java
.util
.ArrayList
;
12 import java
.util
.List
;
13 import java
.util
.UUID
;
15 import org
.apache
.commons
.lang
.StringUtils
;
17 import eu
.etaxonomy
.cdm
.api
.service
.ITermService
;
18 import eu
.etaxonomy
.cdm
.model
.metadata
.CdmPreference
;
19 import eu
.etaxonomy
.cdm
.model
.term
.DefinedTermBase
;
20 import eu
.etaxonomy
.cdm
.persistence
.dto
.TermDto
;
21 import eu
.etaxonomy
.taxeditor
.preference
.LocalOrDefaultEnum
;
22 import eu
.etaxonomy
.taxeditor
.preference
.NomenclaturalStatusTypePreferences
;
23 import eu
.etaxonomy
.taxeditor
.preference
.PreferencesUtil
;
24 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
31 public class NomenclaturalStatusTypeAdminPreference
extends NomenclaturalStatusTypePreferences
{
34 public NomenclaturalStatusTypeAdminPreference(){
42 public boolean performOk() {
46 Object
[] checkedElements
= treeComposite
.getViewer().getCheckedElements();
47 List
<UUID
> listUIIDChecked
= new ArrayList
<>();
48 List
<DefinedTermBase
> preferredTerms
= new ArrayList
<>();
49 for (Object o
: checkedElements
) {
50 if(o
instanceof TermDto
){
51 TermDto termDto
= (TermDto
) o
;
52 listUIIDChecked
.add(termDto
.getUuid());
53 preferredTerms
.add(CdmStore
.getService(ITermService
.class).load(termDto
.getUuid()));
56 String saveCheckedElements
= StringUtils
.join(listUIIDChecked
, ";"); //$NON-NLS-1$
57 if (StringUtils
.isBlank(saveCheckedElements
)){
58 saveCheckedElements
= null;
60 CdmPreference savePref
= CdmPreference
.NewTaxEditorInstance(predicate
, saveCheckedElements
);
61 String text
= this.useLocalOrAdmin
.getText();
62 if (text
.equals(LocalOrDefaultEnum
.Database
.getLabel()) ){
63 savePref
.setAllowOverride(false);
64 }else if (text
.equals(LocalOrDefaultEnum
.AllowOverride
.getLabel())){
65 savePref
.setAllowOverride(true);
68 PreferencesUtil
.setPreferenceToDB(savePref
);
69 PreferencesUtil
.updateDBPreferences();
70 PreferencesUtil
.firePreferencesChanged(this.getClass());