(no commit message)
[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.cdm.io.common.Source;
20 import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
21 import eu.etaxonomy.taxeditor.datasource.wizard.CdmDataSourceSQLServerWizardPage;
22 import eu.etaxonomy.taxeditor.datasource.wizard.CdmDataSourceTypeSelectionWizardPage;
23 import eu.etaxonomy.taxeditor.store.CdmStore;
24
25 /**
26 * @author n.hoffmann
27 * @created 24.06.2009
28 * @version 1.0
29 */
30 public class BerlinModelImportWizard extends AbstractImportWizard<BerlinModelImportConfigurator> {
31 private static final Logger logger = Logger
32 .getLogger(BerlinModelImportWizard.class);
33
34 CdmDataSourceSQLServerWizardPage dataSourcePage;
35
36 BerlinModelImportConfigurator configurator;
37
38 /* (non-Javadoc)
39 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
40 */
41 public void init(IWorkbench workbench, IStructuredSelection selection) {
42 configurator = BerlinModelImportConfigurator.NewInstance(null, null);
43 }
44
45 /* (non-Javadoc)
46 * @see org.eclipse.jface.wizard.Wizard#performFinish()
47 */
48 @Override
49 public boolean performFinish() {
50
51 ICdmDataSource dataSource =null;
52 if(dataSourcePage != null){
53 dataSource = dataSourcePage.getDataSource();
54 }else{
55 throw new IllegalStateException("Expected a datasource credentials page to exist");
56 }
57
58 // save the new dataSource to repository
59 // CdmDataSourceRepository.getDefault().save(dataSourceName, dataSource);
60
61 Source source = new Source(Source.SQL_SERVER_2005,
62 dataSource.getServer(),
63 dataSource.getDatabase(),
64 dataSource.getPort());
65 source.setUserAndPwd(dataSource.getUsername(), dataSource.getPassword());
66
67
68 configurator.setSource(source);
69
70 // should be obsolete because we want to pass application context but is not at the moment (throws NPE when not given)
71 configurator.setDestination(CdmDataSourceRepository.getDefault().getCurrentDataSource());
72
73 configurator.setCdmAppController(CdmStore.getApplicationController());
74
75 return doImportInternal(configurator);
76 }
77
78 /* (non-Javadoc)
79 * @see eu.etaxonomy.taxeditor.io.AbstractImportWizard#getConfigurator()
80 */
81 @Override
82 public BerlinModelImportConfigurator getConfigurator() {
83 return configurator;
84 }
85
86 /* (non-Javadoc)
87 * @see eu.etaxonomy.taxeditor.io.AbstractImportWizard#addPages()
88 */
89 @Override
90 public void addPages() {
91 super.addPages();
92
93 dataSourcePage = new CdmDataSourceSQLServerWizardPage(null);
94 addPage(dataSourcePage);
95 }
96 }