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