Project

General

Profile

« Previous | Next » 

Revision 8c761221

Added by Katja Luther about 5 years ago

save status for distribution editor locally the same as in db

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
112 112
	}
113 113

  
114 114
	public static String prefOverrideKey(String name) {
115
        return name + "_OVERRIDE_"+ ((CdmRemoteSource)CdmStore.getActiveCdmSource()).toString();
115
        return name + "_OVERRIDE_";
116 116
    }
117 117

  
118 118
	/**
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusAdminWizard.java
9 9
package eu.etaxonomy.taxeditor.preference.wizard;
10 10

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

  
......
103 102
        CdmPreference savePref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.AvailableDistributionStatus, saveCheckedElements);
104 103
        savePref.setAllowOverride(pref.isAllowOverride());
105 104
        PreferencesUtil.setPreferenceToDB(savePref);
106
        Collection<DefinedTermBase> terms = new ArrayList<>();
107
//        Collection<TermDto> termDtos = CdmStore.getService(IVocabularyService.class).getCompleteTermHierarchy(aPage.getVocabularies().get(0).getUuid());
108
//        termDtos.forEach(dto -> terms.add(CdmStore.getService(ITermService.class).load(dto.getUuid())));
109
//        CdmStore.getTermManager().setPreferredTerms(preferredTerms, terms);
110
        terms.addAll(CdmStore.getService(ITermService.class).listByTermType(this.aPage.type, null, 0, null, null));
105

  
111 106

  
112 107
//      aPage.getVocabularies().get(0).getTerms()
113 108
//      .forEach(dto -> terms.add(CdmStore.getService(ITermService.class).load(dto.getUuid())));
114
        CdmStore.getTermManager().setPreferredTerms(preferredTerms, terms);
115
        CdmStore.getTermManager().clearTermMapForTermType(this.aPage.type);
109

  
116 110
        PreferencesUtil.firePreferencesChanged(this.getClass());
117 111
        return true;
118 112
    }
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusPage.java
15 15
import org.eclipse.swt.widgets.Composite;
16 16

  
17 17
import eu.etaxonomy.cdm.model.common.CdmBase;
18
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
19 18
import eu.etaxonomy.cdm.model.common.TermType;
20 19
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
20
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
21 21
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
22 22
import eu.etaxonomy.taxeditor.l10n.Messages;
23
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
23 24
import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
24 25
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
25
import eu.etaxonomy.taxeditor.store.CdmStore;
26 26

  
27 27
/**
28 28
 * @author k.luther
......
53 53
    protected String getCheckedValuesFromPreferences() {
54 54
       String checkedValues = null;
55 55
        if (localPref || pref == null){
56
            List<DefinedTermBase> terms = CdmStore.getTermManager().getPreferredTerms(TermType.PresenceAbsenceTerm);
57
            checkedValues = "";
58
            int i = terms.size();
59
            for (DefinedTermBase term: terms){
60
                if (i != terms.size()){
61
                    checkedValues+=",";
62
                }
63
                checkedValues+=term.getUuid().toString();
64
                i--;
65
            }
56
           checkedValues = PreferencesUtil.getStringValue(PreferencePredicate.AvailableDistributionStatus.getKey(), true);
66 57
        }else {
67 58
            checkedValues = pref.getValue();
68 59
        }
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;
13 12
import java.util.List;
14 13
import java.util.UUID;
15 14

  
......
96 95
        }
97 96
        String saveCheckedElements = StringUtils.join(listUIIDChecked, ";"); //$NON-NLS-1$
98 97

  
99
        Collection<DefinedTermBase> terms = new ArrayList<>();
100

  
101
        terms.addAll(CdmStore.getService(ITermService.class).listByTermType(this.aPage.type, null, 0, null, null));
102

  
103
//        aPage.getVocabularies().get(0).getTerms()
104
//        .forEach(dto -> terms.add(CdmStore.getService(ITermService.class).load(dto.getUuid())));
105
        CdmStore.getTermManager().setPreferredTerms(preferredTerms, terms);
106
        CdmStore.getTermManager().clearTermMapForTermType(this.aPage.type);
98
        PreferencesUtil.setStringValue(PreferencePredicate.AvailableDistributionStatus.getKey(), saveCheckedElements);
99
        PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.AvailableDistributionStatus.getKey()), true);
107 100
        PreferencesUtil.firePreferencesChanged(this.getClass());
108 101
        return true;
109 102
    }
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java
166 166
	public void clearTermMapForTermType(TermType termType){
167 167
	    cachedTermMap.remove(termType);
168 168
	}
169

  
170
	/**
171
     * Generic method to get term preferences for a term vocabulary
172
     *
173
     * @param initialTerms a {@link java.util.List} object.
174
     * @return a {@link java.util.List} object.
175
     */
176
    public <T extends DefinedTermBase> List<T> getTerms(List<UUID> uuidList, Class clazz){
177

  
178
        List<T> filteredTerms = new ArrayList<T>();
179
        List<T> terms = TermStore.getTerms(clazz);
180
        for (T term : terms){
181
            if(uuidList.contains(term.getUuid())){
182
                filteredTerms.add(term);
183
            }
184
        }
185

  
186
        return filteredTerms;
187
    }
169 188
}

Also available in: Unified diff