/**
* @author k.luther
* @since 27.04.2018
- *
*/
public class CdmPreferenceCache {
- Map<String,List<CdmPreference>> preferenceCache = new HashMap();
+ Map<String,List<CdmPreference>> preferenceCache = new HashMap<>();
private static CdmPreferenceCache instance;
private final static Logger logger = Logger.getLogger(CdmPreferenceCache.class);
-
-
public static CdmPreferenceCache instance(){
if(instance == null){
instance = new CdmPreferenceCache();
cachedPreferences.remove(prefToRemove);
cachedPreferences.add(pref);
}else{
- List<CdmPreference> prefs = new ArrayList();
+ List<CdmPreference> prefs = new ArrayList<>();
prefs.add(pref);
preferenceCache.put(pref.getPredicate(), prefs);
}
-
-
}
public boolean remove(CdmPreference pref){
cachedPreferences.remove(prefToRemove);
}
return true;
-
}
public void getAllTaxEditorDBPreferences(){
if (!PreferencesUtil.getOverrideForPreference(PreferencePredicate.AvailableDistributionStatus.getKey()) || !get(key).isAllowOverride()){
//get terms for the uuids... and add them to the termManager as preferred terms
ITermService termService = CdmStore.getService(ITermService.class);
- List<UUID> uuidList = new ArrayList();
+ List<UUID> uuidList = new ArrayList<>();
if (get(key).getValue() != null){
String[] uuidArray =findBestMatching(key).getValue().split(";");
for (String uuidString:uuidArray){
List<DefinedTermBase> definedTermBases = termService.load(uuidList, null);
List<TermDto> dtos = new ArrayList<>();
- for (DefinedTermBase term: definedTermBases){
+ for (DefinedTermBase<?> term: definedTermBases){
dtos.add(TermDto.fromTerm(term));
}
CdmStore.getTermManager().setPreferredTermsByType(dtos, TermType.PresenceAbsenceTerm);
if (!PreferencesUtil.getOverrideForPreference(PreferencePredicate.AvailableRanks.getKey()) || !get(key).isAllowOverride()){
//get terms for the uuids... and add them to the termManager as preferred terms
ITermService termService = CdmStore.getService(ITermService.class);
- List<UUID> uuidList = new ArrayList();
+ List<UUID> uuidList = new ArrayList<>();
if (get(key).getValue() != null){
String[] uuidArray =findBestMatching(key).getValue().split(";");
for (String uuidString:uuidArray){
}
List<DefinedTermBase> definedTermBases = termService.load(uuidList, null);
- List<TermDto> dtos = new ArrayList();
- for (DefinedTermBase term: definedTermBases){
+ List<TermDto> dtos = new ArrayList<>();
+ for (DefinedTermBase<?> term: definedTermBases){
dtos.add(TermDto.fromTerm(term));
}
CdmStore.getTermManager().setPreferredTermsByType(dtos, TermType.Rank);
if (!PreferencesUtil.getOverrideForPreference(PreferencePredicate.AvailableNomenclaturalStatus.getKey()) || !get(key).isAllowOverride()){
//get terms for the uuids... and add them to the termManager as preferred terms
ITermService termService = CdmStore.getService(ITermService.class);
- List<UUID> uuidList = new ArrayList();
+ List<UUID> uuidList = new ArrayList<>();
if (get(key).getValue() != null){
String[] uuidArray =findBestMatching(key).getValue().split(";");
for (String uuidString:uuidArray){
}
List<DefinedTermBase> definedTermBases = termService.load(uuidList, null);
- List<TermDto> dtos = new ArrayList();
- for (DefinedTermBase term: definedTermBases){
+ List<TermDto> dtos = new ArrayList<>();
+ for (DefinedTermBase<?> term: definedTermBases){
dtos.add(TermDto.fromTerm(term));
}
CdmStore.getTermManager().setPreferredTermsByType(dtos, TermType.NomenclaturalStatusType);
}
}
-
-
public CdmPreference findBestMatching(PrefKey key) {
- List<CdmPreference> allPrefs = new ArrayList();
+ List<CdmPreference> allPrefs = new ArrayList<>();
for (String predicate: preferenceCache.keySet()){
allPrefs.addAll(preferenceCache.get(predicate));
}
- return PreferenceResolver.resolve(allPrefs, key);
-
+ return PreferenceResolver.resolve(allPrefs, key);
}
-
}