Project

General

Profile

« Previous | Next » 

Revision c1b8ad39

Added by Katja Luther almost 5 years ago

ref #8058: fix common name language preference and save emtpy string if all terms are selected

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
530 530

  
531 531
    }
532 532

  
533
	public static List<CdmPreference> getPreferencesFromDB(IPreferencePredicate predicate){
534
        ICdmRepository controller;
535
        List<CdmPreference> prefs = null;
536

  
537
        try{
538
            if(CdmStore.isActive()){
539
                controller = CdmStore.getCurrentApplicationConfiguration();
540
                PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), predicate);
541
                prefs = controller.getPreferenceService().list(predicate);
542
            }
543
        }catch(Exception e){
544
            e.printStackTrace();
545
        }
546

  
547
        return prefs;
548

  
549
    }
550

  
551
	public static CdmPreference getPreferenceFromDB(PrefKey key){
552
        ICdmRepository controller;
553
        CdmPreference pref = null;
554

  
555
        try{
556
            if(CdmStore.isActive()){
557
                controller = CdmStore.getCurrentApplicationConfiguration();
558
                pref = controller.getPreferenceService().find(key);
559
            }
560
        }catch(Exception e){
561
            e.printStackTrace();
562
        }
563

  
564
        return pref;
565

  
566
    }
567

  
568

  
569

  
533 570
    public static void setPreferenceToDB(CdmPreference preference){
534 571
        ICdmRepository controller;
535 572
        try{
......
1837 1874
    String[] stringArray = prefValue.split(";");
1838 1875
    List<UUID> uuidList = new ArrayList();
1839 1876
    for (String uuid: stringArray){
1840
        uuidList.add(UUID.fromString(uuid));
1877
        if (!StringUtils.isBlank(uuid)){
1878
            uuidList.add(UUID.fromString(uuid));
1879
        }
1841 1880
    }
1842 1881
    return uuidList;
1843 1882
}
......
1875 1914

  
1876 1915
}
1877 1916

  
1917
/**
1918
 * @param string
1919
 * @param saveCheckedElements
1920
 */
1921
public static void setPreferencesToDB(List<CdmPreference> preferences) {
1922

  
1923
    ICdmRepository controller;
1924
    try{
1925
        if(CdmStore.isActive()){
1926
            controller = CdmStore.getCurrentApplicationConfiguration();
1927
            for (CdmPreference preference: preferences){
1928
                controller.getPreferenceService().set(preference);
1929
            }
1930
        }
1931
    }catch(Exception e){
1932
        e.printStackTrace();
1933
    }
1934
}
1935

  
1878 1936

  
1879 1937

  
1880 1938

  
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/CommonNameLanguagePreferences.java
100 100
	@Override
101 101
	protected void refresh(List<Language> definedTerms) {
102 102
        tableViewer.setInput(definedTerms);
103
        String prefValue = PreferencesUtil.getStringValue(PreferencePredicate.CommonNameLanguages.getKey());
104
        String[] prefArray = prefValue.split(";");
105
        List<UUID> uuids = new ArrayList();
106
        for (String uuid: prefArray){
107
            if(!StringUtils.isBlank(uuid)){
108
                uuids.add(UUID.fromString(uuid));
109
            }
110
        }
103
        List<UUID> uuids = PreferencesUtil.createUUIDListFromStringPref(PreferencePredicate.CommonNameLanguages.getKey());
111 104
        List<Language> preferedTerms = CdmStore.getTermManager().getTerms(uuids, Language.class);
112 105

  
113 106
        tableViewer.setCheckedElements(preferedTerms.toArray());

Also available in: Unified diff