2 * Copyright (C) 2007 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.
10 package eu
.etaxonomy
.cdm
.app
.vibrant
;
13 import java
.util
.UUID
;
15 import org
.apache
.log4j
.Logger
;
17 import eu
.etaxonomy
.cdm
.app
.common
.CdmDestinations
;
18 import eu
.etaxonomy
.cdm
.database
.DbSchemaValidation
;
19 import eu
.etaxonomy
.cdm
.database
.ICdmDataSource
;
20 import eu
.etaxonomy
.cdm
.io
.common
.CdmDefaultImport
;
21 import eu
.etaxonomy
.cdm
.io
.common
.IImportConfigurator
.CHECK
;
22 import eu
.etaxonomy
.cdm
.io
.common
.events
.LoggingIoObserver
;
23 import eu
.etaxonomy
.cdm
.io
.dwca
.in
.DwcaDataImportConfiguratorBase
.DatasetUse
;
24 import eu
.etaxonomy
.cdm
.io
.dwca
.in
.DwcaImportConfigurator
;
25 import eu
.etaxonomy
.cdm
.io
.dwca
.in
.IImportMapping
.MappingType
;
26 import eu
.etaxonomy
.cdm
.model
.name
.NomenclaturalCode
;
27 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
28 import eu
.etaxonomy
.cdm
.model
.reference
.ReferenceFactory
;
35 public class DwcaScratchpadImportActivator
{
36 @SuppressWarnings("unused")
37 private static final Logger logger
= Logger
.getLogger(DwcaScratchpadImportActivator
.class);
39 //database validation status (create, update, validate ...)
40 static DbSchemaValidation hbm2dll
= DbSchemaValidation
.CREATE
;
42 // static final URI source = dwca_emonocots_dioscoreaceae();
43 // static final URI source = dwca_emonocots_zingiberaceae();
44 //static final URI source = dwca_emonocots_cypripedioideae();
45 static final URI source
= dwca_emonocots_dioscoreaceae();
48 // static final ICdmDataSource cdmDestination = CdmDestinations.localH2();
49 static final ICdmDataSource cdmDestination
= CdmDestinations
.cdm_test_local_mysql();
50 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_mysql_test();
52 //default nom code is ICZN as it allows adding publication year
53 static final NomenclaturalCode defaultNomCode
= NomenclaturalCode
.ICBN
;
56 static final String title
= "Scratchpad test import";
59 static final CHECK check
= CHECK
.IMPORT_WITHOUT_CHECK
;
60 static int partitionSize
= 1000;
63 static DatasetUse datasetUse
= DatasetUse
.CLASSIFICATION
;
66 static boolean validateRankConsistency
= false;
70 static final boolean doTaxa
= true;
71 static final boolean doDistribution
= true;
75 static final MappingType mappingType
= MappingType
.InMemoryMapping
;
78 static final UUID classificationUuid
= UUID
.fromString("d9d199b6-eaf4-47c8-a732-0639bc445c56");
82 static boolean scientificNameIdAsOriginalSourceId
= true;
83 static boolean guessNomRef
= false;
84 private boolean handleAllRefsAsCitation
= false;
85 private static final boolean useSourceReferenceAsSec
= true;
89 static final boolean doDeduplicate
= false;
93 protected void doImport(URI source
, ICdmDataSource cdmDestination
, UUID classificationUuid
, String title
, DbSchemaValidation hbm2dll
){
96 DwcaImportConfigurator config
= DwcaImportConfigurator
.NewInstance(source
, cdmDestination
);
97 config
.addObserver(new LoggingIoObserver());
98 config
.setClassificationUuid(classificationUuid
);
99 config
.setCheck(check
);
100 config
.setDbSchemaValidation(hbm2dll
);
101 config
.setMappingType(mappingType
);
103 config
.setScientificNameIdAsOriginalSourceId(scientificNameIdAsOriginalSourceId
);
104 config
.setValidateRankConsistency(validateRankConsistency
);
105 config
.setDefaultPartitionSize(partitionSize
);
106 config
.setNomenclaturalCode(defaultNomCode
);
107 config
.setDatasetUse(datasetUse
);
108 config
.setGuessNomenclaturalReferences(guessNomRef
);
109 config
.setHandleAllRefsAsCitation(handleAllRefsAsCitation
);
110 config
.setUseSourceReferenceAsSec(useSourceReferenceAsSec
);
111 config
.setSourceReferenceTitle(title
);
113 CdmDefaultImport myImport
= new CdmDefaultImport();
118 System
.out
.println("Start import from ("+ source
.toString() + ") ...");
119 config
.setSourceReference(getSourceReference(config
.getSourceReferenceTitle()));
120 myImport
.invoke(config
);
121 System
.out
.println("End import from ("+ source
.toString() + ")...");
127 private Reference
<?
> getSourceReference(String string
) {
128 Reference
<?
> result
= ReferenceFactory
.newGeneric();
129 result
.setTitleCache(string
);
134 public static URI
dwca_emonocots_local() {
135 URI sourceUrl
= URI
.create("file:///C:/localCopy/Data/dwca/import/Scratchpads/dwca_dioscoreaceae_emonocots.zip");
139 //emonocots_dioscoreaceae
140 public static URI
dwca_emonocots_dioscoreaceae() {
141 //URI sourceUrl = URI.create("file:////PESIIMPORT3/vibrant/dwca/dwca_emonocots_dioscoreaceae.zip");//dwca_dioscoreaceae_e_monocot.zip
142 URI sourceUrl
= URI
.create("file:///C:/Users/l.morris/Downloads/dwca_scratchpads/dwca_dioscoreaceae_e_monocot_org.zip");
146 //emonocots_zingiberaceae
147 public static URI
dwca_emonocots_zingiberaceae() {
148 URI sourceUrl
= URI
.create("file:////PESIIMPORT3/vibrant/dwca/dwca_emonocots_zingiberaceae.zip");
151 //emonocots_cypripedioideae
152 public static URI
dwca_emonocots_cypripedioideae() {
153 //URI sourceUrl = URI.create("file:////PESIIMPORT3/vibrant/dwca/dwca_emonocots_cypripedioideae.zip");
154 URI sourceUrl
= URI
.create("file:///C:/Users/l.morris/Downloads/dwca_scratchpads/dwca_cypripedioideae_e-monocot_org.zip");
162 public static void main(String
[] args
) {
163 DwcaScratchpadImportActivator me
= new DwcaScratchpadImportActivator();
164 me
.doImport(source
, cdmDestination
, classificationUuid
, title
, hbm2dll
);