platform independent file URL
[taxeditor.git] / taxeditor-store / src / main / java / eu / etaxonomy / taxeditor / io / wizard / 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.wizard;
12
13 import java.io.File;
14 import java.net.URI;
15
16 import org.apache.log4j.Logger;
17 import org.eclipse.jface.viewers.IStructuredSelection;
18 import org.eclipse.ui.IWorkbench;
19
20 import eu.etaxonomy.cdm.database.DbSchemaValidation;
21 import eu.etaxonomy.cdm.io.tcsxml.in.TcsXmlImportConfigurator;
22 import eu.etaxonomy.taxeditor.store.CdmStore;
23
24 /**
25 * @author n.hoffmann
26 * @created 15.06.2009
27 * @version 1.0
28 */
29 public class TcsImportWizard extends AbstractImportWizard<TcsXmlImportConfigurator>{
30 private static final Logger logger = Logger.getLogger(TcsImportWizard.class);
31
32 private TcsXmlImportConfigurator configurator;
33
34 private ImportFromFileDataSourceWizardPage dataSourcePage;
35
36 /* (non-Javadoc)
37 * @see org.eclipse.jface.wizard.Wizard#performFinish()
38 */
39 @Override
40 public boolean performFinish() {
41
42 String platformDependendFile = dataSourcePage.getFile();
43
44
45 // TcsXmlImport expects a string that can be used to instantiate a URL instance
46 // TODO consolidate import and exports regarding what may be passed in as source
47 // will construct a url string for now
48
49 File file = new File(platformDependendFile);
50 URI fileUri = file.toURI();
51
52 configurator.setSource(fileUri.toString());
53 configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);
54
55 CdmStore.getImportHandler().run(configurator);
56
57 return true;
58 }
59
60 /* (non-Javadoc)
61 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
62 */
63 public void init(IWorkbench workbench, IStructuredSelection selection) {
64 configurator = CdmStore.getImportHandler().TcsConfigurator();
65 }
66
67 /* (non-Javadoc)
68 * @see eu.etaxonomy.taxeditor.io.AbstractImportWizard#getConfigurator()
69 */
70 @Override
71 public TcsXmlImportConfigurator getConfigurator() {
72 return configurator;
73 }
74
75 /* (non-Javadoc)
76 * @see eu.etaxonomy.taxeditor.io.AbstractImportWizard#addPages()
77 */
78 @Override
79 public void addPages() {
80 super.addPages();
81
82 dataSourcePage = ImportFromFileDataSourceWizardPage.XML();
83 addPage(dataSourcePage);
84 }
85 }