fix #7698 Fix class cast exception
authorPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 29 Aug 2018 11:24:19 +0000 (13:24 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 29 Aug 2018 11:24:36 +0000 (13:24 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/e4/handler/CreateDataSourceHandlerE4.java

index 7a301bbf88c26053720a1d2f7faaad21b6342d5a..d65aa564c805b26ae1f795437e0d266138fda48c 100644 (file)
@@ -13,6 +13,7 @@ import javax.inject.Named;
 
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.e4.core.di.annotations.CanExecute;
+import org.eclipse.e4.core.di.annotations.Execute;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
 import org.eclipse.e4.ui.services.IServiceConstants;
@@ -20,7 +21,6 @@ import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.widgets.Shell;
 
 import eu.etaxonomy.taxeditor.datasource.wizard.CdmDataSourceWizard;
-import eu.etaxonomy.taxeditor.view.datasource.CdmMetaDataAwareDataSourceContainer;
 import eu.etaxonomy.taxeditor.view.datasource.e4.CdmDataSourceViewPartE4;
 
 /**
@@ -29,17 +29,25 @@ import eu.etaxonomy.taxeditor.view.datasource.e4.CdmDataSourceViewPartE4;
  * @date 22.08.2017
  *
  */
-public class CreateDataSourceHandlerE4 extends AbstractDataSourceHandlerE4 {
+public class CreateDataSourceHandlerE4 {
 
-    /** {@inheritDoc} */
-    @Override
-    public boolean specificExecute(CdmDataSourceViewPartE4 dataSourceViewPart, CdmMetaDataAwareDataSourceContainer container, Shell shell) {
-               CdmDataSourceWizard wizard = new CdmDataSourceWizard();
+    @Execute
+    public void execute(
+            @Named(IServiceConstants.ACTIVE_SHELL)Shell shell,
+            @Named(IServiceConstants.ACTIVE_PART)MPart thisPart) {
 
-               WizardDialog dialog = new WizardDialog(shell, wizard);
+        CdmDataSourceViewPartE4 view = (CdmDataSourceViewPartE4) thisPart.getObject();
 
-               return dialog.open() == IStatus.OK;
-       }
+        CdmDataSourceWizard wizard = new CdmDataSourceWizard();
+
+        WizardDialog dialog = new WizardDialog(shell, wizard);
+
+        boolean refresh = dialog.open() == IStatus.OK;
+
+        if(refresh) {
+            view.refresh();
+        }
+    }
 
     @CanExecute
     public boolean canExecute(