+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.io.e4.in.owl;
+
+import java.io.File;
+import java.net.URI;
+
+import javax.inject.Inject;
+
+import org.eclipse.core.runtime.jobs.Job;
+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.common.IImportConfigurator.SOURCE_TYPE;
+import eu.etaxonomy.cdm.io.descriptive.owl.in.OwlImportConfigurator;
+import eu.etaxonomy.taxeditor.io.e4.in.AbstractImportWizardE4;
+import eu.etaxonomy.taxeditor.io.e4.in.ImportFromFileDataSourceWizardPage;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ *
+ * @author pplitzner
+ * @since Apr 25, 2019
+ *
+ */
+public class OwlImportWizard extends AbstractImportWizardE4<OwlImportConfigurator> {
+
+ private OwlImportConfigurator configurator;
+ private ImportFromFileDataSourceWizardPage dataSourcePage;
+
+ @Inject
+ public OwlImportWizard(IEclipseContext context, EPartService partService) {
+ super(context, partService);
+ }
+
+ @Override
+ public OwlImportConfigurator getConfigurator() {
+ return configurator;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public boolean performFinish() {
+ URI source = dataSourcePage.getUri();
+ configurator.setSource(source);
+ configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);
+ Job job = CdmStore.getImportManager().createIOServiceJob(configurator, new File(source), SOURCE_TYPE.URI);
+ CdmStore.getImportManager().run(job);
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void init() {
+ configurator = CdmStore.getImportManager().OwlImportConfigurator();
+ }
+
+ @Override
+ protected void addConfiguratorPage() {
+// OwlImportConfiguratorWizardPage configuratorWizardPage = ContextInjectionFactory.make(OwlImportConfiguratorWizardPage.class, context);//AbcdImportConfiguratorWizardPage.createPage(configurator);
+// configuratorWizardPage.setConfigurator(configurator);
+// addPage(configuratorWizardPage);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void addPages() {
+ dataSourcePage = ContextInjectionFactory.make(ImportFromFileDataSourceWizardPage.class, context);
+ dataSourcePage.setTitle("Choose File");
+ dataSourcePage.setDescription("Please choose an OWL file to import an ontology as a term tree.");
+ dataSourcePage.setExtensions(new String[]{"*.owl"});
+
+ addPage(dataSourcePage);
+ }
+}