2 * Copyright (C) 2017 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
9 package eu
.etaxonomy
.taxeditor
.io
.e4
.in
.excel
.distribution
;
12 import java
.io
.FileInputStream
;
13 import java
.io
.FileNotFoundException
;
14 import java
.io
.IOException
;
15 import java
.util
.ArrayList
;
16 import java
.util
.List
;
17 import java
.util
.UUID
;
19 import javax
.inject
.Inject
;
21 import org
.apache
.commons
.io
.IOUtils
;
22 import org
.apache
.log4j
.Logger
;
23 import org
.eclipse
.core
.runtime
.jobs
.Job
;
24 import org
.eclipse
.e4
.core
.contexts
.ContextInjectionFactory
;
25 import org
.eclipse
.e4
.core
.contexts
.IEclipseContext
;
26 import org
.eclipse
.e4
.ui
.workbench
.modeling
.EPartService
;
28 import eu
.etaxonomy
.cdm
.common
.URI
;
29 import eu
.etaxonomy
.cdm
.database
.DbSchemaValidation
;
30 import eu
.etaxonomy
.cdm
.io
.distribution
.excelupdate
.ExcelDistributionUpdateConfigurator
;
31 import eu
.etaxonomy
.taxeditor
.io
.e4
.in
.AbstractImportWizardE4
;
32 import eu
.etaxonomy
.taxeditor
.io
.e4
.in
.GenericConfiguratorWizardPageE4
;
33 import eu
.etaxonomy
.taxeditor
.io
.e4
.in
.ImportFromFileAndChooseVocIdWizardPageE4
;
34 import eu
.etaxonomy
.taxeditor
.l10n
.Messages
;
35 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
41 public class ExcelDistributionUpdateWizardE4
extends AbstractImportWizardE4
<ExcelDistributionUpdateConfigurator
> {
44 private ExcelDistributionUpdateConfigurator configurator
;
46 private ImportFromFileAndChooseVocIdWizardPageE4 dataSourcePage
;
48 private static final Logger logger
= Logger
.getLogger(ExcelDistributionUpdateWizardE4
.class);
51 public ExcelDistributionUpdateWizardE4(IEclipseContext context
, EPartService partService
) {
52 super(context
, partService
);
56 public ExcelDistributionUpdateConfigurator
getConfigurator() {
61 public boolean performFinish() {
62 URI source
= dataSourcePage
.getUri();
63 // configurator.setSource(source);
64 configurator
.setDbSchemaValidation(DbSchemaValidation
.CREATE
);
65 File file
= new File(source
.getJavaUri());
66 FileInputStream fis
= null;
69 fis
= new FileInputStream(file
);
70 } catch (FileNotFoundException e
) {
71 logger
.error("Error while reading file" + source
.toString());
74 configurator
.setStream(IOUtils
.toByteArray(fis
));
75 } catch (IOException e
) {
76 // TODO Auto-generated catch block
79 UUID vocUuid
= dataSourcePage
.getVocUuid();
81 configurator
.setAreaVocabularyUuid(vocUuid
);
82 //CdmStore.getImportManager().runMoniteredOperation(configurator, new File(source), SOURCE_TYPE.INPUTSTREAM);
83 Job job
= CdmStore
.getImportManager().createIOServiceJob(configurator
);
84 CdmStore
.getImportManager().run(job
);
91 configurator
= CdmStore
.getImportManager().ExcelDistributionUpdateConfigurator();
96 public void addPages() {
98 addConfiguratorPage();
102 protected void addConfiguratorPage(){
103 List
<String
> ignoreMethods
= new ArrayList
<>();
104 ignoreMethods
.add("setIgnoreNull");
105 ignoreMethods
.add("setInteractWithUser");
106 ignoreMethods
.add("setUseClassification");
107 ignoreMethods
.add("setRegisterAuditing");
108 ignoreMethods
.add("setDeduplicateAuthors");
109 ignoreMethods
.add("setDeduplicateReferences");
110 pageConfiguration
= ContextInjectionFactory
.make(GenericConfiguratorWizardPageE4
.class, context
);
111 pageConfiguration
.initImport(getConfigurator(), ignoreMethods
, Messages
.ExcelDistributionUpdateWizard_ConfiguratorWizard_label
);
112 addPage(pageConfiguration
);
115 private void addDataSourcePage(){
116 dataSourcePage
= ContextInjectionFactory
.make(ImportFromFileAndChooseVocIdWizardPageE4
.class, context
);
117 addPage(dataSourcePage
);