refactoring to change the specific (I)CdmDataSource to the more generic (I)CdmSource...
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / view / datasource / handler / EditDataSourceHandler.java
index 36c9696406d8ddb1cf9c36bc6b339994704b06ed..82b857ce16e7aaf1b412a5c9d471445866040e28 100644 (file)
@@ -12,9 +12,12 @@ package eu.etaxonomy.taxeditor.view.datasource.handler;
 
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jface.wizard.Wizard;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.ui.handlers.HandlerUtil;
 
+import eu.etaxonomy.cdm.config.ICdmSource;
+import eu.etaxonomy.cdm.database.ICdmDataSource;
 import eu.etaxonomy.taxeditor.datasource.wizard.CdmDataSourceWizard;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.view.datasource.CdmDataSourceViewPart;
@@ -36,21 +39,24 @@ public class EditDataSourceHandler extends AbstractDataSourceHandler {
        @Override
        public boolean specificExecute(ExecutionEvent event) {
                CdmMetaDataAwareDataSourceContainer container = getSelectedDataSourceContainer(event);
-               
-               CdmDataSourceWizard wizard = new CdmDataSourceWizard(container.getDataSource());
-               WizardDialog dialog = new WizardDialog(HandlerUtil.getActiveShell(event), wizard);
-                   
-               int result = dialog.open();
-               
-               if(result == IStatus.OK){
-                       CdmDataSourceViewPart view = (CdmDataSourceViewPart) StoreUtil.getView(CdmDataSourceViewPart.ID, false);
-                       if(view != null){
-                               container.getMetaDataFromDataSource();
-                               view.getViewer().update(new CdmMetaDataAwareDataSourceContainer[]{container}, null);
-
-                       }       
+               ICdmSource cdmSource = container.getCdmSource();
+               //FIXME:Remoting we need another wizard for ICdmRemoteSource
+               if(cdmSource instanceof ICdmDataSource) {
+                       Wizard wizard = new CdmDataSourceWizard((ICdmDataSource)cdmSource, CdmDataSourceWizard.Mode.EDIT);
+                       WizardDialog dialog = new WizardDialog(HandlerUtil.getActiveShell(event), wizard);
+
+                       int result = dialog.open();
+
+                       if(result == IStatus.OK){
+                               CdmDataSourceViewPart view = (CdmDataSourceViewPart) StoreUtil.getView(CdmDataSourceViewPart.ID, false);
+                               if(view != null){
+                                       container.getMetaDataFromDataSource();
+                                       view.getViewer().update(new CdmMetaDataAwareDataSourceContainer[]{container}, null);
+
+                               }       
+                       }
                }
-               
-           return false;
+
+               return false;
        }
 }