4c8226a6fa6ae6fc20d394ba149526456e61da5d
[taxeditor.git] / taxeditor-store / src / main / java / eu / etaxonomy / taxeditor / io / TcsImportWizard.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10
11 package eu.etaxonomy.taxeditor.io;
12
13 import org.apache.log4j.Logger;
14 import org.eclipse.jface.viewers.IStructuredSelection;
15 import org.eclipse.ui.IWorkbench;
16
17 import eu.etaxonomy.cdm.database.DbSchemaValidation;
18 import eu.etaxonomy.cdm.io.tcsxml.in.TcsXmlImportConfigurator;
19 import eu.etaxonomy.taxeditor.datasource.wizard.CdmDataSourceSQLServerWizardPage;
20 import eu.etaxonomy.taxeditor.store.CdmStore;
21
22 /**
23 * @author n.hoffmann
24 * @created 15.06.2009
25 * @version 1.0
26 */
27 public class TcsImportWizard extends AbstractImportWizard<TcsXmlImportConfigurator>{
28 private static final Logger logger = Logger.getLogger(TcsImportWizard.class);
29
30 private TcsXmlImportConfigurator configurator;
31
32 private ImportFromFileDataSourceWizardPage dataSourcePage;
33
34 /* (non-Javadoc)
35 * @see org.eclipse.jface.wizard.Wizard#performFinish()
36 */
37 @Override
38 public boolean performFinish() {
39
40 String file = dataSourcePage.getFile();
41
42 // TcsXmlImport expects a string that can be used to instantiate a URL instance
43 // TODO consolidate import and exports regarding what may be passed in as source
44 // will construct a url string for now
45
46 file = "file://" + file;
47
48 CdmStore.NewTransactionalConversation();
49
50 configurator.setSource(file);
51 configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);
52 configurator.setCdmAppController(CdmStore.getApplicationController());
53
54 return doImportInternal(configurator);
55 }
56
57 /* (non-Javadoc)
58 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
59 */
60 public void init(IWorkbench workbench, IStructuredSelection selection) {
61 configurator = TcsXmlImportConfigurator.NewInstance(null, null);
62 }
63
64 /* (non-Javadoc)
65 * @see eu.etaxonomy.taxeditor.io.AbstractImportWizard#getConfigurator()
66 */
67 @Override
68 public TcsXmlImportConfigurator getConfigurator() {
69 return configurator;
70 }
71
72 /* (non-Javadoc)
73 * @see eu.etaxonomy.taxeditor.io.AbstractImportWizard#addPages()
74 */
75 @Override
76 public void addPages() {
77 super.addPages();
78
79 dataSourcePage = new ImportFromFileDataSourceWizardPage();
80 addPage(dataSourcePage);
81 }
82 }