Project

General

Profile

Download (2.41 KB) Statistics
| Branch: | Tag: | Revision:
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.databaseAdmin.preferencePage;
10

    
11
import java.util.ArrayList;
12
import java.util.List;
13
import java.util.UUID;
14

    
15
import org.apache.commons.lang.StringUtils;
16

    
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.PreferencesUtil;
23
import eu.etaxonomy.taxeditor.preference.menu.NameFeatureMenuPreference;
24
import eu.etaxonomy.taxeditor.store.CdmStore;
25

    
26
/**
27
 * @author k.luther
28
 * @since 13.08.2019
29
 */
30
public class NameFeatureMenuAdminPreference extends NameFeatureMenuPreference implements IE4AdminPreferencePage {
31

    
32
    @Override
33
    public boolean performOk() {
34
        if (!isApply()){
35
            return true;
36
        }
37
        Object[] checkedElements = treeComposite.getViewer().getCheckedElements();
38
        List<UUID> listUIIDChecked = new ArrayList<>();
39
        List<DefinedTermBase> preferredTerms = new ArrayList<>();
40
        for (Object o : checkedElements) {
41
            if(o instanceof TermDto){
42
                TermDto termDto = (TermDto) o;
43
                listUIIDChecked.add(termDto.getUuid());
44
                preferredTerms.add(CdmStore.getService(ITermService.class).load(termDto.getUuid()));
45
            }
46
        }
47
        String saveCheckedElements = StringUtils.join(listUIIDChecked, ";"); //$NON-NLS-1$
48
        if (StringUtils.isBlank(saveCheckedElements)){
49
            saveCheckedElements = null;
50
        }
51
        CdmPreference savePref = CdmPreference.NewTaxEditorInstance(predicate, saveCheckedElements);
52
        String text = this.useLocalOrAdmin.getText();
53
        if (text.equals(LocalOrDefaultEnum.Database.getLabel()) ){
54
            savePref.setAllowOverride(false);
55
        }else if (text.equals(LocalOrDefaultEnum.AllowOverride.getLabel())){
56
            savePref.setAllowOverride(true);
57
        }
58

    
59
        PreferencesUtil.setPreferenceToDB(savePref);
60
        PreferencesUtil.updateDBPreferences();
61
        PreferencesUtil.firePreferencesChanged(this.getClass());
62
        return true;
63
    }
64

    
65

    
66
}
(10-10/19)