ref #7005 Refactor package structure
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / io / e4 / in / excel / specimen / SpecimenCdmExcelImportWizardE4.java
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/in/excel/specimen/SpecimenCdmExcelImportWizardE4.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/in/excel/specimen/SpecimenCdmExcelImportWizardE4.java
new file mode 100644 (file)
index 0000000..7ef3ec9
--- /dev/null
@@ -0,0 +1,72 @@
+/**
+ *
+ */
+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);
+       }
+
+}