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;
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;
/**
* @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(