fix #8648: simplify name details view
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / preference / ListComponent.java
index 291153bf9ac679e9010e0f713bac2f6db787b4bf..8a6f4730682552b9ccc14a6d257ada97a547dd97 100755 (executable)
@@ -56,6 +56,7 @@ public class ListComponent implements ModifyListener
     boolean isAdmin = false;
     CdmPreferencePage preferencePage;
     CdmPreference providerListPreference;
+    String providerList;
 
 
     public CdmPreference getProviderListPreference() {
@@ -71,8 +72,9 @@ public class ListComponent implements ModifyListener
     public ListComponent(Composite parent, int style, boolean isAdmin, CdmPreferencePage parentPage) {
         this.isAdmin= isAdmin;
         this.preferencePage = parentPage;
+
         providerListPreference = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.BioCaseProvider);
-        if (!isAdmin && !providerListPreference.isAllowOverride()){
+        if (!isAdmin && providerListPreference != null && !providerListPreference.isAllowOverride()){
             Label editingNotAllowed = new Label(parent, style);
             editingNotAllowed.setText(Messages.AbcdImportProvider_description_not_available);
             return ;
@@ -88,24 +90,26 @@ public class ListComponent implements ModifyListener
         list.setBounds (clientArea.x, clientArea.y, 50, 500);
 
 
-        String allProviderString = ""; //$NON-NLS-1$
+        providerList = null; //$NON-NLS-1$
         String allProviderStringDB = "";
 
-        if (!isAdmin && (providerListPreference != null && providerListPreference.isAllowOverride())){
-            allProviderString = PreferencesUtil.getStringValue(PreferencePredicate.BioCaseProvider.getKey(), true);
+        if (!isAdmin && ((providerListPreference != null && providerListPreference.isAllowOverride()) || providerListPreference == null)){
+            providerList = PreferencesUtil.getStringValue(PreferencePredicate.BioCaseProvider.getKey(), true);
 
         }else{
             if (providerListPreference != null){
-                allProviderString  = providerListPreference.getValue();
+                providerList  = providerListPreference.getValue();
             }
         }
 
         //the string is structured like this: http://ww3.bgbm.org/biocase/pywrapper.cgi?dsa=DNA_Bank;http:...;
-        String[] providerArray = allProviderString.split(";"); //$NON-NLS-1$
-        for (String providerString : providerArray){
-            if (!StringUtils.isBlank(providerString)){
-                list.add(providerString);
+        if (providerList != null){
+            String[] providerArray = providerList.split(";"); //$NON-NLS-1$
+            for (String providerString : providerArray){
+                if (!StringUtils.isBlank(providerString)){
+                    list.add(providerString);
 
+                }
             }
         }