Project

General

Profile

« Previous | Next » 

Revision 2455d1e1

Added by Andreas Müller almost 4 years ago

cleanup

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/CdmPreferenceCache.java
31 31
/**
32 32
 * @author k.luther
33 33
 * @since 27.04.2018
34
 *
35 34
 */
36 35
public class CdmPreferenceCache {
37
    Map<String,List<CdmPreference>> preferenceCache = new HashMap();
36
    Map<String,List<CdmPreference>> preferenceCache = new HashMap<>();
38 37

  
39 38
    private static CdmPreferenceCache instance;
40 39

  
41 40
    private final static Logger logger = Logger.getLogger(CdmPreferenceCache.class);
42 41

  
43

  
44

  
45 42
    public static CdmPreferenceCache instance(){
46 43
        if(instance == null){
47 44
            instance = new CdmPreferenceCache();
......
94 91
            cachedPreferences.remove(prefToRemove);
95 92
            cachedPreferences.add(pref);
96 93
        }else{
97
            List<CdmPreference> prefs = new ArrayList();
94
            List<CdmPreference> prefs = new ArrayList<>();
98 95
            prefs.add(pref);
99 96
            preferenceCache.put(pref.getPredicate(), prefs);
100 97
        }
101

  
102

  
103 98
    }
104 99

  
105 100
    public boolean remove(CdmPreference pref){
......
114 109
            cachedPreferences.remove(prefToRemove);
115 110
        }
116 111
        return true;
117

  
118 112
    }
119 113

  
120 114
    public void getAllTaxEditorDBPreferences(){
......
133 127
            if (!PreferencesUtil.getOverrideForPreference(PreferencePredicate.AvailableDistributionStatus.getKey()) || !get(key).isAllowOverride()){
134 128
                //get terms for the uuids... and add them to the termManager as preferred terms
135 129
                ITermService termService = CdmStore.getService(ITermService.class);
136
                List<UUID> uuidList = new ArrayList();
130
                List<UUID> uuidList = new ArrayList<>();
137 131
                if (get(key).getValue() != null){
138 132
                    String[] uuidArray =findBestMatching(key).getValue().split(";");
139 133
                    for (String uuidString:uuidArray){
......
147 141

  
148 142
                List<DefinedTermBase> definedTermBases = termService.load(uuidList, null);
149 143
                List<TermDto> dtos = new ArrayList<>();
150
                for (DefinedTermBase term: definedTermBases){
144
                for (DefinedTermBase<?> term: definedTermBases){
151 145
                    dtos.add(TermDto.fromTerm(term));
152 146
                }
153 147
                CdmStore.getTermManager().setPreferredTermsByType(dtos, TermType.PresenceAbsenceTerm);
......
159 153
            if (!PreferencesUtil.getOverrideForPreference(PreferencePredicate.AvailableRanks.getKey()) || !get(key).isAllowOverride()){
160 154
                //get terms for the uuids... and add them to the termManager as preferred terms
161 155
                ITermService termService = CdmStore.getService(ITermService.class);
162
                List<UUID> uuidList = new ArrayList();
156
                List<UUID> uuidList = new ArrayList<>();
163 157
                if (get(key).getValue() != null){
164 158
                    String[] uuidArray =findBestMatching(key).getValue().split(";");
165 159
                    for (String uuidString:uuidArray){
......
172 166
                }
173 167

  
174 168
                List<DefinedTermBase> definedTermBases = termService.load(uuidList, null);
175
                List<TermDto> dtos = new ArrayList();
176
                for (DefinedTermBase term: definedTermBases){
169
                List<TermDto> dtos = new ArrayList<>();
170
                for (DefinedTermBase<?> term: definedTermBases){
177 171
                    dtos.add(TermDto.fromTerm(term));
178 172
                }
179 173
                CdmStore.getTermManager().setPreferredTermsByType(dtos, TermType.Rank);
......
186 180
            if (!PreferencesUtil.getOverrideForPreference(PreferencePredicate.AvailableNomenclaturalStatus.getKey()) || !get(key).isAllowOverride()){
187 181
                //get terms for the uuids... and add them to the termManager as preferred terms
188 182
                ITermService termService = CdmStore.getService(ITermService.class);
189
                List<UUID> uuidList = new ArrayList();
183
                List<UUID> uuidList = new ArrayList<>();
190 184
                if (get(key).getValue() != null){
191 185
                    String[] uuidArray =findBestMatching(key).getValue().split(";");
192 186
                    for (String uuidString:uuidArray){
......
199 193
                }
200 194

  
201 195
                List<DefinedTermBase> definedTermBases = termService.load(uuidList, null);
202
                List<TermDto> dtos = new ArrayList();
203
                for (DefinedTermBase term: definedTermBases){
196
                List<TermDto> dtos = new ArrayList<>();
197
                for (DefinedTermBase<?> term: definedTermBases){
204 198
                    dtos.add(TermDto.fromTerm(term));
205 199
                }
206 200
                CdmStore.getTermManager().setPreferredTermsByType(dtos, TermType.NomenclaturalStatusType);
......
208 202
        }
209 203
    }
210 204

  
211

  
212

  
213 205
    public CdmPreference findBestMatching(PrefKey key) {
214
        List<CdmPreference> allPrefs = new ArrayList();
206
        List<CdmPreference> allPrefs = new ArrayList<>();
215 207
        for (String predicate: preferenceCache.keySet()){
216 208
            allPrefs.addAll(preferenceCache.get(predicate));
217 209
        }
218
       return PreferenceResolver.resolve(allPrefs, key);
219

  
210
        return PreferenceResolver.resolve(allPrefs, key);
220 211
    }
221

  
222 212
}

Also available in: Unified diff