Project

General

Profile

« Previous | Next » 

Revision 9457da34

Added by Katja Luther about 6 years ago

fix #7312: fix immediately saving of preference changes

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
118 118
	    else{
119 119
    		ICdmRepository controller;
120 120
    		controller = CdmStore.getCurrentApplicationConfiguration();
121
    		PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.NomenclaturalCode);
121
    		PrefKey key = null;
122
    		try{
123
    		    key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.NomenclaturalCode);
124
    		}catch (Exception e){
125
    		    System.out.println(e.getStackTrace());
126
    		}
122 127
    		CdmPreference preference = null;
123 128
    		if (controller == null){
124 129
    			return null;
......
1314 1319

  
1315 1320
}
1316 1321

  
1322
/**
1323
 * <p>
1324
 * setPreferredNomenclaturalCode
1325
 * </p>
1326
 *
1327
 * @param preferredCode
1328
 *            a {@link eu.etaxonomy.cdm.model.name.NomenclaturalCode}
1329
 *            object.
1330
 */
1331
public static CdmPreference setPreferredNamedAreasForDistributionEditor(
1332
        String saveCheckedElements, String saveGrayedElements, boolean local) {
1333
    if (local){
1334
        IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore();
1335
        preferenceStore.setValue(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS, saveCheckedElements);
1336
        preferenceStore.setValue(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS_GRAYED, saveGrayedElements);
1337

  
1338
    }
1339
    else{
1340
        ICdmRepository controller;
1341

  
1342
//        PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.AvailableDistributionAreaTerms);
1343
        CdmPreference preference = null;
1344

  
1345
        if (saveCheckedElements == null){
1346
            preference = getPreferenceFromDB(PreferencePredicate.AvailableDistributionAreaTerms);
1347
//            preference = controller.getPreferenceService().find(key);
1348
            if (preference == null){
1349
                return null;
1350
            } else{
1351
                String[] uuids = StringUtils.splitByWholeSeparator(saveCheckedElements, ",");
1352
                List<UUID> uuidList = new ArrayList();
1353
                for (String uuidString: uuids){
1354
                    uuidList.add(UUID.fromString(uuidString.trim()));
1355
                }
1356
                getPreferenceStore().setValue(DISTRIBUTION_AREA_OCCURENCE_STATUS,
1357
                        saveCheckedElements);
1358

  
1359
                return preference;
1360
            }
1361
        } else{
1362
            controller = CdmStore.getCurrentApplicationConfiguration();
1363
            preference = CdmPreference.NewInstance(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.AvailableDistributionAreaTerms, saveCheckedElements);
1364
            controller.getPreferenceService().set(preference);
1365
            getPreferenceStore().setValue(DISTRIBUTION_AREA_OCCURENCE_STATUS,
1366
                    saveCheckedElements);
1367

  
1368
        }
1369
    }
1370
    return null;
1371

  
1372

  
1373

  
1374
}
1375

  
1376

  
1317 1377

  
1318 1378

  
1319 1379
}

Also available in: Unified diff