fixes #1118
authorn.hoffmann <n.hoffmann@localhost>
Thu, 17 Mar 2011 16:57:03 +0000 (16:57 +0000)
committern.hoffmann <n.hoffmann@localhost>
Thu, 17 Mar 2011 16:57:03 +0000 (16:57 +0000)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractCdmFormElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/BrowserElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmDataSourceViewPart.java

index 25865d546e016fa4306e083c281b887fda32127d..8a57b0aa28e17f61f9a926846aa7fee6e26ceef5 100644 (file)
@@ -164,6 +164,7 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter,
                        // dispose of the controls
                        removeControls(childElement);
                }
+               removeControls(this);
                elements.clear();
        }
        
index 7acaeabf70b9da5a19d467e16b9e5f5f6d0669ff..7ed905ac07451eb140bfc32a487bcbd888920e7b 100644 (file)
@@ -37,6 +37,7 @@ public class BrowserElement extends AbstractCdmFormElement implements ControlLis
                formFactory.createLabel(getLayoutComposite(), "");
                
                browser = new Browser(getLayoutComposite(), SWT.NONE);
+               addControl(browser);
                
                getLayoutComposite().setLayoutData(CdmFormFactory.FILL());
                
index e1b133ef479141b916a567c4fb268046f715229f..1dccfcdcdbe6eca14383dc86744d062868aa9e2c 100644 (file)
@@ -18,16 +18,17 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Label;
 
+import eu.etaxonomy.cdm.common.UriUtils;
 import eu.etaxonomy.cdm.ext.geo.EditGeoServiceUtilities;
 import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
 import eu.etaxonomy.cdm.model.description.Distribution;
 import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
 import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.forms.BrowserElement;
@@ -44,9 +45,6 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
  */
 public class FeatureDistributionDetailElement extends AbstractCdmDetailElement<FeatureNodeContainer> {
        
-       private static final Logger logger = Logger
-       .getLogger(FeatureDistributionDetailElement.class);
-
        private BrowserElement image;
        
        /**
@@ -68,10 +66,27 @@ public class FeatureDistributionDetailElement extends AbstractCdmDetailElement<F
        @Override
        protected void createControls(ICdmFormElement formElement, FeatureNodeContainer entity,
                        int style) {
+               String serviceUriString = PreferencesUtil.getPreferenceStore().getString(IPreferenceKeys.EDIT_MAP_SERVICE_ACCES_POINT);
+               String message = null;
+               try {
+                       URI serviceUri = new URI(serviceUriString);
+                       if(UriUtils.isServiceAvailable(serviceUri)){
+                               image = formFactory.createBrowserElement(formElement, null, style);
+                               String mapUriString = getMapUriString(getEntity());
+                               image.setImageUriString(mapUriString);
+                               formElement.getLayoutComposite().layout();
+                               message = mapUriString; 
+                               return;
+                       } else {
+                               message = String.format("The service is not available: %s", serviceUriString);
+                       }
+               } catch (URISyntaxException e) {
+                       message = String.format("The URI has problems: %s", serviceUriString);
+               }
                
-               image = formFactory.createBrowserElement(formElement, null, style);
-               image.setImageUriString(getMapUriString(getEntity()));
-               formElement.getLayoutComposite().layout();
+               Label label = formFactory.createLabel(getLayoutComposite(), message, SWT.WRAP);
+               addControl(label);
+               label.setLayoutData(CdmFormFactory.FILL(2, 1));
        }
 
 
index 052df035fdc1f23ffe4374298fa9f16bb129c96d..2ff2bfa9ac78dd5016b6e929752ea037417cef49 100644 (file)
 
 package eu.etaxonomy.taxeditor.ui.section.feature;
 
-import org.apache.log4j.Logger;
 import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;
+import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 
 /**
@@ -29,10 +28,6 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
  */
 public class FeatureDistributionDetailSection extends AbstractCdmDetailSection<Feature> {
        
-
-       private static final Logger logger = Logger
-                       .getLogger(FeatureDistributionDetailSection.class);
-
        /**
         * <p>Constructor for FeatureDistributionDetailSection.</p>
         *
index f1423670a814ed65a5449d283b97265a0a7be967..148969e444f6a9b36b30d17b9d935fd84124d09b 100644 (file)
@@ -281,7 +281,7 @@ public class CdmDataSourceViewPart extends ViewPart{
        @Override
        public void showBusy(boolean busy) {
                super.showBusy(busy);
-               viewer.getTable().setEnabled(!busy);
+//             viewer.getTable().setEnabled(!busy);
                if(busy){
                        partNameCache = getPartName();
                        setPartName("Loading datasources");