--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.io.e4.in.excel.specimen;
+
+import java.net.URI;
+
+import javax.inject.Inject;
+
+import org.eclipse.e4.core.contexts.ContextInjectionFactory;
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.e4.ui.workbench.modeling.EPartService;
+
+import eu.etaxonomy.cdm.database.DbSchemaValidation;
+import eu.etaxonomy.cdm.io.specimen.excel.in.SpecimenCdmExcelImportConfigurator;
+import eu.etaxonomy.taxeditor.io.e4.in.AbstractImportWizardE4;
+import eu.etaxonomy.taxeditor.io.e4.in.ImportFromFileDataSourceWizardPageE4;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ *
+ * @author pplitzner
+ * @since Oct 5, 2017
+ *
+ */
+public class SpecimenCdmExcelImportWizardE4 extends AbstractImportWizardE4<SpecimenCdmExcelImportConfigurator> {
+
+
+ private SpecimenCdmExcelImportConfigurator configurator;
+
+ private ImportFromFileDataSourceWizardPageE4 dataSourcePage;
+
+ @Inject
+ public SpecimenCdmExcelImportWizardE4(IEclipseContext context, EPartService partService) {
+ super(context, partService);
+ }
+
+ @Override
+ public SpecimenCdmExcelImportConfigurator getConfigurator() {
+ return configurator;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void init() {
+ configurator = CdmStore.getImportManager().SpecimenCdmExcelImportConfigurator();
+ }
+
+ @Override
+ public boolean performFinish() {
+ URI source = dataSourcePage.getUri();
+ configurator.setSource(source);
+ configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);
+
+ CdmStore.getImportManager().run(configurator);
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void addPages() {
+ super.addPages();
+ dataSourcePage = ContextInjectionFactory.make(ImportFromFileDataSourceWizardPageE4.class, context);
+ dataSourcePage.setTitle("Choose Specimen CDM Excel");
+ dataSourcePage.setDescription("Please choose an xls file in the SpecimenCdmExcel format.");
+ dataSourcePage.setExtensions(new String[]{"*.xlsx", "*.xls", "*.*"});
+
+ addPage(dataSourcePage);
+ }
+
+}