Project

General

Profile

Download (2.8 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
 *
3
 */
4
package eu.etaxonomy.taxeditor.io.e4.in.excel.specimen;
5

    
6
import java.net.URI;
7
import java.util.ArrayList;
8
import java.util.List;
9

    
10
import javax.inject.Inject;
11

    
12
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
13
import org.eclipse.e4.core.contexts.IEclipseContext;
14
import org.eclipse.e4.ui.workbench.modeling.EPartService;
15

    
16
import eu.etaxonomy.cdm.database.DbSchemaValidation;
17
import eu.etaxonomy.cdm.io.specimen.excel.in.SpecimenCdmExcelImportConfigurator;
18
import eu.etaxonomy.taxeditor.io.e4.in.AbstractImportWizardE4;
19
import eu.etaxonomy.taxeditor.io.e4.in.GenericConfiguratorWizardPageE4;
20
import eu.etaxonomy.taxeditor.io.e4.in.ImportFromFileDataSourceWizardPageE4;
21
import eu.etaxonomy.taxeditor.l10n.Messages;
22
import eu.etaxonomy.taxeditor.store.CdmStore;
23

    
24
/**
25
 *
26
 * @author pplitzner
27
 * @since Oct 5, 2017
28
 *
29
 */
30
public class SpecimenCdmExcelImportWizardE4 extends AbstractImportWizardE4<SpecimenCdmExcelImportConfigurator> {
31

    
32

    
33
    private SpecimenCdmExcelImportConfigurator configurator;
34

    
35
	private ImportFromFileDataSourceWizardPageE4 dataSourcePage;
36

    
37
	@Inject
38
	public SpecimenCdmExcelImportWizardE4(IEclipseContext context, EPartService partService) {
39
	    super(context, partService);
40
	}
41

    
42
	@Override
43
	public SpecimenCdmExcelImportConfigurator getConfigurator() {
44
		return configurator;
45
	}
46

    
47
	/** {@inheritDoc} */
48
	@Override
49
    public void init() {
50
		configurator =  CdmStore.getImportManager().SpecimenCdmExcelImportConfigurator();
51
	}
52

    
53
	@Override
54
	public boolean performFinish() {
55
		URI source = dataSourcePage.getUri();
56
		configurator.setSource(source);
57
		configurator.setDbSchemaValidation(DbSchemaValidation.CREATE);
58

    
59
		CdmStore.getImportManager().run(configurator);
60

    
61
		return true;
62
	}
63

    
64
	/** {@inheritDoc} */
65
	@Override
66
	public void addPages() {
67
		dataSourcePage = ContextInjectionFactory.make(ImportFromFileDataSourceWizardPageE4.class, context);
68
        dataSourcePage.setTitle("Choose Specimen CDM Excel");
69
        dataSourcePage.setDescription("Please choose an xls file in the SpecimenCdmExcel format.");
70
        dataSourcePage.setExtensions(new String[]{"*.xlsx", "*.xls", "*.*"});
71

    
72
		addPage(dataSourcePage);
73
		super.addPages();
74
	}
75

    
76
	 @Override
77
	 protected void addConfiguratorPage(){
78
	     List<String> ignoreMethods = new ArrayList<>();
79
         ignoreMethods.add("setIgnoreNull");
80
         ignoreMethods.add("setInteractWithUser");
81
         ignoreMethods.add("setUseClassification");
82
         ignoreMethods.add("setRegisterAuditing");
83
         ignoreMethods.add("setDeduplicateAuthors");
84
         ignoreMethods.add("setDeduplicateReferences");
85
         pageConfiguration = ContextInjectionFactory.make(GenericConfiguratorWizardPageE4.class, context);
86
         pageConfiguration.initImport(getConfigurator(), ignoreMethods, Messages.ExcelSpecimenUpdateWizard_ConfiguratorWizard_label);
87
         addPage(pageConfiguration);
88
    }
89

    
90
}
(2-2/2)