Implemented some of the import/export functionality. Major refactoring of datasource...
[taxeditor.git] / taxeditor-store / src / main / java / eu / etaxonomy / taxeditor / io / BerlinModelImportWizard.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.ICdmDataSource;
18 import eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportConfigurator;
19 import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
20 import eu.etaxonomy.taxeditor.datasource.wizard.CdmDataSourceTypeSelectionWizardPage;
21
22 /**
23 * @author n.hoffmann
24 * @created 24.06.2009
25 * @version 1.0
26 */
27 public class BerlinModelImportWizard extends AbstractImportWizard<BerlinModelImportConfigurator> {
28 private static final Logger logger = Logger
29 .getLogger(BerlinModelImportWizard.class);
30
31 CdmDataSourceTypeSelectionWizardPage dataSourceSelectionPage;
32
33 BerlinModelImportConfigurator configurator;
34
35 /* (non-Javadoc)
36 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
37 */
38 public void init(IWorkbench workbench, IStructuredSelection selection) {
39 configurator = BerlinModelImportConfigurator.NewInstance(null, null);
40 }
41
42 /* (non-Javadoc)
43 * @see org.eclipse.jface.wizard.Wizard#performFinish()
44 */
45 @Override
46 public boolean performFinish() {
47
48 ICdmDataSource dataSource;
49 String dataSourceName = dataSourceSelectionPage.getDataSourceName();
50 if(dataSourceSelectionPage.getCredentialsWizardPage() != null){
51 dataSource = dataSourceSelectionPage.getCredentialsWizardPage().getDataSource();
52 }else{
53 throw new IllegalStateException("Expected a datasource credentials page to exist");
54 }
55
56 // save the new dataSource to repository
57 CdmDataSourceRepository.getDefault().save(dataSourceName, dataSource);
58
59 configurator.setDestination(dataSource);
60
61 return doImportExternal(configurator);
62 }
63
64 /* (non-Javadoc)
65 * @see eu.etaxonomy.taxeditor.io.AbstractImportWizard#getConfigurator()
66 */
67 @Override
68 public BerlinModelImportConfigurator 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 dataSourceSelectionPage = new CdmDataSourceTypeSelectionWizardPage(null);
80 addPage(dataSourceSelectionPage);
81 }
82 }