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
.dwca
;
13 import java
.util
.UUID
;
15 import org
.apache
.log4j
.Logger
;
17 import eu
.etaxonomy
.cdm
.api
.application
.ICdmApplicationConfiguration
;
18 import eu
.etaxonomy
.cdm
.app
.common
.CdmDestinations
;
19 import eu
.etaxonomy
.cdm
.database
.DbSchemaValidation
;
20 import eu
.etaxonomy
.cdm
.database
.ICdmDataSource
;
21 import eu
.etaxonomy
.cdm
.io
.common
.CdmDefaultImport
;
22 import eu
.etaxonomy
.cdm
.io
.common
.IImportConfigurator
.CHECK
;
23 import eu
.etaxonomy
.cdm
.io
.common
.events
.LoggingIoObserver
;
24 import eu
.etaxonomy
.cdm
.io
.dwca
.in
.DwcaImportConfigurator
;
25 import eu
.etaxonomy
.cdm
.model
.agent
.Person
;
26 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
27 import eu
.etaxonomy
.cdm
.model
.reference
.ReferenceFactory
;
34 public class DwcaImportActivator
{
35 private static final Logger logger
= Logger
.getLogger(DwcaImportActivator
.class);
37 //database validation status (create, update, validate ...)
38 static DbSchemaValidation hbm2dll
= DbSchemaValidation
.CREATE
;
39 // static final URI source = dwca_test_in();
40 static final URI source
= dwca_test_cich_len();
43 // static final ICdmDataSource cdmDestination = CdmDestinations.localH2();
44 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_mysql_dwca();
45 static final ICdmDataSource cdmDestination
= CdmDestinations
.cdm_test_local_mysql();
49 public static final UUID featureTreeUuid
= UUID
.fromString("14d1e912-5ec2-4d10-878b-828788b70a87");
52 static final UUID classificationUuid
= UUID
.fromString("d964c855-3916-4c8d-bdb6-acf9cd736b87");
55 static final CHECK check
= CHECK
.IMPORT_WITHOUT_CHECK
;
58 static final boolean doTaxa
= true;
59 static final boolean doDeduplicate
= false;
60 static final boolean doDistribution
= false;
63 private void doImport(ICdmDataSource cdmDestination
){
66 DwcaImportConfigurator config
= DwcaImportConfigurator
.NewInstance(source
, cdmDestination
);
67 config
.addObserver(new LoggingIoObserver());
68 config
.setClassificationUuid(classificationUuid
);
69 config
.setCheck(check
);
70 config
.setDbSchemaValidation(hbm2dll
);
72 CdmDefaultImport myImport
= new CdmDefaultImport();
77 System
.out
.println("Start import from ("+ source
.toString() + ") ...");
78 config
.setSourceReference(getSourceReference(config
.getSourceReferenceTitle()));
79 myImport
.invoke(config
);
80 System
.out
.println("End import from ("+ source
.toString() + ")...");
87 ICdmApplicationConfiguration app
= myImport
.getCdmAppController();
88 int count
= app
.getAgentService().deduplicate(Person
.class, null, null);
89 logger
.warn("Deduplicated " + count
+ " persons.");
90 // count = app.getAgentService().deduplicate(Team.class, null, null);
91 // logger.warn("Deduplicated " + count + " teams.");
92 count
= app
.getReferenceService().deduplicate(Reference
.class, null, null);
93 logger
.warn("Deduplicated " + count
+ " references.");
98 private Reference
getSourceReference(String string
) {
99 Reference result
= ReferenceFactory
.newGeneric();
100 result
.setTitleCache(string
);
105 public static URI
dwca_test_in() {
106 // URI sourceUrl = URI.create("http://dev.e-taxonomy.eu/trac/export/14463/trunk/cdmlib/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/dwca/in/DwcaZipToStreamConverterTest-input.zip");
107 URI sourceUrl
= URI
.create("file:///C:/Users/pesiimport/Documents/pesi_cdmlib/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/dwca/in/DwcaZipToStreamConverterTest-input.zip");
113 public static URI
dwca_test_cich() {
114 URI sourceUrl
= URI
.create("file:///E:/opt/data/dwca/20110621_1400_cichorieae_dwca.zip");
119 public static URI
dwca_test_cich_len() {
120 URI sourceUrl
= URI
.create("file:///C:/localCopy/Data/dwca/export/20110621_1400_cichorieae_dwca.zip");
132 public static void main(String
[] args
) {
133 DwcaImportActivator me
= new DwcaImportActivator();
134 me
.doImport(cdmDestination
);