Merge branch 'release/5.11.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / preference / DistributionStatusPreferencePage.java
index a06d1737151fecfbc7380cc1258c76e8b2bf339f..5cbd5cf6318b9aef3057b17e48b214176a9652d8 100755 (executable)
@@ -66,6 +66,7 @@ public class DistributionStatusPreferencePage extends AbstractVocabularySelectio
     private Composite composite;
 
     private Map<UUID, NamedArea> namedAreaUUIDMap = new HashMap();
     private Composite composite;
 
     private Map<UUID, NamedArea> namedAreaUUIDMap = new HashMap();
+    CdmPreferenceCache cache;
 
 
     /**
 
 
     /**
@@ -323,6 +324,7 @@ public class DistributionStatusPreferencePage extends AbstractVocabularySelectio
 
                         dialog.open();
                         thisButton.setData(CdmPreferenceCache.instance().findBestMatching(pref.getKey()));
 
                         dialog.open();
                         thisButton.setData(CdmPreferenceCache.instance().findBestMatching(pref.getKey()));
+                        refresh();
 
 
                     }
 
 
                     }
@@ -340,7 +342,7 @@ public class DistributionStatusPreferencePage extends AbstractVocabularySelectio
     public void getValues() {
         isAdminPreference = false;
         type = TermType.NamedArea;
     public void getValues() {
         isAdminPreference = false;
         type = TermType.NamedArea;
-        CdmPreferenceCache cache = CdmPreferenceCache.instance();
+        cache = CdmPreferenceCache.instance();
         cache.getAllTaxEditorDBPreferences();
         PrefKey defaultPref = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.AvailableDistributionStatus);
         this.pref = cache.get(defaultPref);
         cache.getAllTaxEditorDBPreferences();
         PrefKey defaultPref = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.AvailableDistributionStatus);
         this.pref = cache.get(defaultPref);
@@ -363,6 +365,8 @@ public class DistributionStatusPreferencePage extends AbstractVocabularySelectio
        if (table != null){
            table.removeAll();
            disposeTableEditors();
        if (table != null){
            table.removeAll();
            disposeTableEditors();
+           cache.getAllTaxEditorDBPreferences();
+           prefStatus = cache.getAllForPredicate(PreferencePredicate.AvailableDistributionStatus.getKey());
            for (CdmPreference pref:prefStatus){
                 if (pref != null){
                     createTableRow(pref);
            for (CdmPreference pref:prefStatus){
                 if (pref != null){
                     createTableRow(pref);
@@ -398,8 +402,11 @@ public class DistributionStatusPreferencePage extends AbstractVocabularySelectio
         for (CdmPreference pref: prefStatus){
             try{
                 String lastPart = getUUIDFromSubject(pref);
         for (CdmPreference pref: prefStatus){
             try{
                 String lastPart = getUUIDFromSubject(pref);
-                UUID uuid = UUID.fromString(lastPart);
-                uuids.add(uuid);
+                if (lastPart != null){
+                    UUID uuid = UUID.fromString(lastPart);
+                    uuids.add(uuid);
+                }
+
             }catch (IllegalArgumentException e){
                 // no uuid in subject
             }
             }catch (IllegalArgumentException e){
                 // no uuid in subject
             }
@@ -417,9 +424,13 @@ public class DistributionStatusPreferencePage extends AbstractVocabularySelectio
 
     public String getUUIDFromSubject(CdmPreference pref) {
         String lastPart = pref.getSubject().getLastPart();
 
     public String getUUIDFromSubject(CdmPreference pref) {
         String lastPart = pref.getSubject().getLastPart();
-        lastPart = lastPart.replace("NamedArea[", "");
-        lastPart = lastPart.replace("]", "");
-        return lastPart;
+        if (lastPart.contains("NamedArea[")){
+            lastPart = lastPart.replace("NamedArea[", "");
+            lastPart = lastPart.replace("]", "");
+            return lastPart;
+        }
+        return null;
+
     }
 
     @Override
     }
 
     @Override