Revision f42afea1
Added by Katja Luther almost 5 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java | ||
---|---|---|
171 | 171 |
* |
172 | 172 |
**/ |
173 | 173 |
public static void setFloatValue(String name, float value) { |
174 |
getPreferenceStore().setValue(name + ((CdmRemoteSource)CdmStore.getActiveCdmSource()).toString(), value);
|
|
174 |
getPreferenceStore().setValue(prefKey(name), value);
|
|
175 | 175 |
} |
176 | 176 |
|
177 | 177 |
/** |
... | ... | |
194 | 194 |
**/ |
195 | 195 |
public static String getStringValue(String name, boolean local) { |
196 | 196 |
|
197 |
String prefValue = getDBPreferenceValue(name); |
|
198 |
if (prefValue == null || local){ |
|
197 |
CdmPreference pref = getDBPreferenceValue(name); |
|
198 |
String prefValue = null; |
|
199 |
String overrideKey = createPreferenceString(createOverridePreferenceString(name)); |
|
200 |
boolean override = true; |
|
201 |
if (getPreferenceStore().contains(overrideKey)){ |
|
202 |
override = getPreferenceStore().getBoolean(overrideKey); |
|
203 |
} |
|
204 |
if (local || pref == null || (pref != null && pref.isAllowOverride() && override)){ |
|
199 | 205 |
String dbSpecific = prefKey(name); |
200 | 206 |
if (getPreferenceStore().contains(dbSpecific)){ |
201 | 207 |
prefValue = getPreferenceStore().getString(dbSpecific); |
... | ... | |
203 | 209 |
prefValue = getPreferenceStore(). |
204 | 210 |
getString(name); |
205 | 211 |
} |
206 |
} |
|
212 |
}else if (pref != null){ |
|
213 |
prefValue = pref.getValue(); |
|
214 |
} |
|
207 | 215 |
return prefValue; |
208 | 216 |
|
209 | 217 |
} |
... | ... | |
212 | 220 |
return getStringValue(name, false); |
213 | 221 |
} |
214 | 222 |
|
215 |
private static String getDBPreferenceValue(String name) {
|
|
223 |
private static CdmPreference getDBPreferenceValue(String name) {
|
|
216 | 224 |
CdmPreferenceCache cache = CdmPreferenceCache.instance(); |
217 |
if (cache.get(name) != null){ |
|
218 |
CdmPreference pref = cache.get(name); |
|
219 |
boolean test = getBooleanValue(prefOverrideKey(name)); |
|
220 |
if (!pref.isAllowOverride() || !getBooleanValue(prefOverrideKey(name))){ |
|
221 |
return pref.getValue(); |
|
225 |
CdmPreference result = null; |
|
226 |
List<CdmPreference> prefs = null; |
|
227 |
// |
|
228 |
prefs = cache.get(name); |
|
229 |
if (prefs == null ){ |
|
230 |
//get default value for Predicate |
|
231 |
IPreferencePredicate pred = PreferencePredicate.getByKey(name); |
|
232 |
if (pred != null){ |
|
233 |
if (pred.getDefaultValue() != null){ |
|
234 |
result = CdmPreference.NewTaxEditorInstance(pred, pred.getDefaultValue().toString()); |
|
235 |
}else{ |
|
236 |
result = CdmPreference.NewTaxEditorInstance(pred, null); |
|
237 |
} |
|
238 |
result.setAllowOverride(true); |
|
239 |
} |
|
240 |
}else{ |
|
241 |
if (prefs.size() == 1){ |
|
242 |
result = prefs.get(0); |
|
243 |
}else{ |
|
244 |
PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.getByKey(name)); |
|
245 |
result = cache.findBestMatching(key); |
|
246 |
|
|
222 | 247 |
} |
223 | 248 |
} |
224 |
return null;
|
|
249 |
return result;
|
|
225 | 250 |
} |
226 | 251 |
|
227 | 252 |
/** |
... | ... | |
232 | 257 |
* |
233 | 258 |
**/ |
234 | 259 |
public static int getIntValue(String name) { |
235 |
String prefValue = getDBPreferenceValue(name); |
|
260 |
CdmPreference pref= getDBPreferenceValue(name); |
|
261 |
String prefValue = null; |
|
262 |
if (pref != null){ |
|
263 |
prefValue = pref.getValue(); |
|
264 |
} |
|
236 | 265 |
Integer result = null; |
237 | 266 |
try{ |
238 | 267 |
result = Integer.parseInt(prefValue); |
... | ... | |
253 | 282 |
|
254 | 283 |
} |
255 | 284 |
|
285 |
public static boolean getBooleanValue(String name) { |
|
286 |
return getBooleanValue(name, false); |
|
287 |
} |
|
288 |
|
|
256 | 289 |
/** |
257 | 290 |
* <p> |
258 |
* setBooleanValue
|
|
291 |
* getBooleanValue
|
|
259 | 292 |
* </p> |
260 | 293 |
* |
261 | 294 |
* |
262 | 295 |
**/ |
263 |
public static boolean getBooleanValue(String name) { |
|
296 |
public static boolean getBooleanValue(String name, boolean local) {
|
|
264 | 297 |
if (CdmStore.isActive()){ |
265 |
String prefValue = getDBPreferenceValue(name); |
|
266 |
if (prefValue == null){ |
|
298 |
CdmPreference pref = getDBPreferenceValue(name); |
|
299 |
String prefValue = null; |
|
300 |
if (pref == null || local){ |
|
267 | 301 |
String dbSpecific = prefKey(name); |
268 | 302 |
if (getPreferenceStore().contains(dbSpecific)){ |
269 | 303 |
return getPreferenceStore().getBoolean(dbSpecific); |
... | ... | |
272 | 306 |
getBoolean(name); |
273 | 307 |
} |
274 | 308 |
}else{ |
275 |
return Boolean.valueOf(prefValue);
|
|
309 |
return Boolean.valueOf(pref.getValue());
|
|
276 | 310 |
} |
277 | 311 |
|
278 | 312 |
}else{ |
... | ... | |
289 | 323 |
* |
290 | 324 |
**/ |
291 | 325 |
public static double getDoubleValue(String name) { |
292 |
String prefValue = getDBPreferenceValue(name); |
|
326 |
CdmPreference pref = getDBPreferenceValue(name); |
|
327 |
String prefValue = null; |
|
328 |
if (pref != null){ |
|
329 |
prefValue = pref.getValue(); |
|
330 |
} |
|
293 | 331 |
Double result = null; |
294 | 332 |
try{ |
295 | 333 |
result = Double.parseDouble(prefValue); |
... | ... | |
317 | 355 |
* |
318 | 356 |
**/ |
319 | 357 |
public static float getFloatValue(String name) { |
320 |
String prefValue = getDBPreferenceValue(name); |
|
358 |
CdmPreference pref = getDBPreferenceValue(name); |
|
359 |
String prefValue = null; |
|
360 |
if (pref != null){ |
|
361 |
prefValue = pref.getValue(); |
|
362 |
} |
|
321 | 363 |
Float result = null; |
322 | 364 |
try{ |
323 | 365 |
result = Float.parseFloat(prefValue); |
... | ... | |
345 | 387 |
* |
346 | 388 |
**/ |
347 | 389 |
public static long getLongValue(String name) { |
348 |
String prefValue = getDBPreferenceValue(name); |
|
390 |
CdmPreference pref = getDBPreferenceValue(name); |
|
391 |
String prefValue = null; |
|
392 |
if (pref != null){ |
|
393 |
prefValue = pref.getValue(); |
|
394 |
} |
|
349 | 395 |
Long result = null; |
350 | 396 |
try{ |
351 | 397 |
result = Long.parseLong(prefValue); |
... | ... | |
573 | 619 |
if(CdmStore.isActive()){ |
574 | 620 |
controller = CdmStore.getCurrentApplicationConfiguration(); |
575 | 621 |
controller.getPreferenceService().set(preference); |
622 |
CdmPreferenceCache.instance().put(preference); |
|
576 | 623 |
} |
577 | 624 |
}catch(Exception e){ |
578 | 625 |
e.printStackTrace(); |
... | ... | |
880 | 927 |
getPreferenceStore().setDefault(createPreferenceString(PreferencePredicate.NameDetailsView.getKey()), new NameDetailsConfigurator(false).toString()); |
881 | 928 |
|
882 | 929 |
//Navigator preferences |
883 |
getPreferenceStore().setDefault(createPreferenceString(SORT_NODES), NavigatorOrderEnum.RankAndNameOrder.getKey());
|
|
930 |
getPreferenceStore().setDefault(createPreferenceString(PreferencePredicate.TaxonNodeOrder.getKey()), NavigatorOrderEnum.RankAndNameOrder.getKey());
|
|
884 | 931 |
|
885 | 932 |
getPreferenceStore().setDefault(createPreferenceString(SORT_TAXA_BY_RANK_AND_NAME), true); |
886 | 933 |
|
... | ... | |
891 | 938 |
getPreferenceStore().setDefault(createPreferenceString(prefOverrideKey(PreferencePredicate.AbcdImportConfig.getKey())), false); |
892 | 939 |
getPreferenceStore().setDefault(createPreferenceString(prefOverrideKey(PreferencePredicate.ShowSpecimen.getKey())), true); |
893 | 940 |
getPreferenceStore().setDefault(createPreferenceString(prefOverrideKey(PreferencePredicate.NameDetailsView.getKey())), false); |
894 |
getPreferenceStore().setDefault(createPreferenceString(prefOverrideKey(PreferencePredicate.DistributionEditorActivated.getKey())), false); |
|
895 |
getPreferenceStore().setDefault(createPreferenceString(prefOverrideKey(PreferencePredicate.AvailableDistributionStatus.getKey())), ""); |
|
941 |
getPreferenceStore().setDefault(createPreferenceString(prefOverrideKey(PreferencePredicate.DistributionEditorActivated.getKey())), true); |
|
942 |
getPreferenceStore().setDefault(createPreferenceString(prefOverrideKey(PreferencePredicate.AvailableDistributionStatus.getKey())), true); |
|
943 |
getPreferenceStore().setDefault(createPreferenceString(prefOverrideKey(PreferencePredicate.AvailableDistributionAreaTerms.getKey())), true); |
|
944 |
getPreferenceStore().setDefault(createPreferenceString(prefOverrideKey(PreferencePredicate.AvailableDistributionAreaVocabularies.getKey())), true); |
|
945 |
getPreferenceStore().setDefault(createPreferenceString(prefOverrideKey(PreferencePredicate.CommonNameAreaVocabularies.getKey())), false); |
|
896 | 946 |
getPreferenceStore().setDefault(createPreferenceString(FILTER_COMMON_NAME_REFERENCES), false); |
897 | 947 |
getPreferenceStore().setDefault(createPreferenceString(PreferencePredicate.ShowTaxonNodeWizard.getKey()), Boolean.valueOf(PreferencePredicate.ShowTaxonNodeWizard.getDefaultValue().toString())); |
898 | 948 |
getPreferenceStore().setDefault(createPreferenceString(PreferencePredicate.ShowNamespaceInSource.getKey()), Boolean.valueOf(PreferencePredicate.ShowNamespaceInSource.getDefaultValue().toString())); |
... | ... | |
1272 | 1322 |
* @param orderActivated |
1273 | 1323 |
*/ |
1274 | 1324 |
public static void setSortNodes(NavigatorOrderEnum nodesOrder) { |
1275 |
setStringValue(SORT_NODES, nodesOrder.key);
|
|
1325 |
setStringValue(PreferencePredicate.TaxonNodeOrder.getKey(), nodesOrder.key);
|
|
1276 | 1326 |
|
1277 | 1327 |
} |
1278 | 1328 |
|
... | ... | |
1280 | 1330 |
* @param orderActivated |
1281 | 1331 |
*/ |
1282 | 1332 |
public static NavigatorOrderEnum getSortNodes() { |
1283 |
return NavigatorOrderEnum.valueOf(getStringValue(SORT_NODES));
|
|
1333 |
return NavigatorOrderEnum.valueOf(getStringValue(PreferencePredicate.TaxonNodeOrder.getKey()));
|
|
1284 | 1334 |
|
1285 | 1335 |
} |
1286 | 1336 |
|
... | ... | |
1288 | 1338 |
* @param orderActivated |
1289 | 1339 |
*/ |
1290 | 1340 |
public static boolean isNodesSortedNaturally() { |
1291 |
NavigatorOrderEnum value = NavigatorOrderEnum.valueOf(getStringValue(SORT_NODES));
|
|
1341 |
NavigatorOrderEnum value = NavigatorOrderEnum.valueOf(getStringValue(PreferencePredicate.TaxonNodeOrder.getKey()));
|
|
1292 | 1342 |
return value.equals(NavigatorOrderEnum.NaturalOrder); |
1293 | 1343 |
|
1294 | 1344 |
} |
... | ... | |
1297 | 1347 |
* @param orderActivated |
1298 | 1348 |
*/ |
1299 | 1349 |
public static boolean isNodesSortedByName() { |
1300 |
NavigatorOrderEnum value = NavigatorOrderEnum.valueOf(getStringValue(SORT_NODES));
|
|
1350 |
NavigatorOrderEnum value = NavigatorOrderEnum.valueOf(getStringValue(PreferencePredicate.TaxonNodeOrder.getKey()));
|
|
1301 | 1351 |
return value.equals(NavigatorOrderEnum.AlphabeticalOrder); |
1302 | 1352 |
|
1303 | 1353 |
} |
... | ... | |
1306 | 1356 |
* @param orderActivated |
1307 | 1357 |
*/ |
1308 | 1358 |
public static boolean isNodesSortedByNameAndRank() { |
1309 |
NavigatorOrderEnum value = NavigatorOrderEnum.valueOf(getStringValue(SORT_NODES));
|
|
1359 |
NavigatorOrderEnum value = NavigatorOrderEnum.valueOf(getStringValue(PreferencePredicate.TaxonNodeOrder.getKey()));
|
|
1310 | 1360 |
return value.equals(NavigatorOrderEnum.RankAndNameOrder); |
1311 | 1361 |
|
1312 | 1362 |
} |
... | ... | |
1432 | 1482 |
CdmPreference preference = null; |
1433 | 1483 |
String value; |
1434 | 1484 |
if (!local) { |
1435 |
preference = cache.get(PreferencePredicate.NameDetailsView.getKey()); |
|
1485 |
PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.NameDetailsView); |
|
1486 |
preference = cache.findBestMatching(key); |
|
1436 | 1487 |
if (preference == null){ |
1437 | 1488 |
return null; |
1438 | 1489 |
} |
... | ... | |
1673 | 1724 |
|
1674 | 1725 |
public static void updateAbcdImportConfigurationPreference() { |
1675 | 1726 |
CdmPreferenceCache cache = CdmPreferenceCache.instance(); |
1676 |
CdmPreference pref = cache.get(PreferencePredicate.AbcdImportConfig.getKey()); |
|
1727 |
|
|
1728 |
CdmPreference pref = cache.findBestMatching(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.AbcdImportConfig)); |
|
1677 | 1729 |
|
1678 | 1730 |
if (!getBooleanValue(prefOverrideKey(PreferencePredicate.AbcdImportConfig.getKey())) || !pref.isAllowOverride()){ |
1679 | 1731 |
resetToDBPreferenceAbcdCOnfigurator(); |
... | ... | |
1925 | 1977 |
if(CdmStore.isActive()){ |
1926 | 1978 |
controller = CdmStore.getCurrentApplicationConfiguration(); |
1927 | 1979 |
for (CdmPreference preference: preferences){ |
1980 |
|
|
1928 | 1981 |
controller.getPreferenceService().set(preference); |
1982 |
|
|
1983 |
CdmPreferenceCache.instance().put(preference); |
|
1929 | 1984 |
} |
1930 | 1985 |
} |
1931 | 1986 |
}catch(Exception e){ |
Also available in: Unified diff
adapt preferenceCache for same predicate but different subject