bugfix for PalmaeTaxonXImport
[cdmlib.git] / app-import / src / main / java / eu / etaxonomy / cdm / app / wp6 / palmae / PalmaeTaxonXImportActivator.java
1 /**
2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
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.
8 */
9
10 package eu.etaxonomy.cdm.app.wp6.palmae;
11
12 import java.io.File;
13 import java.net.MalformedURLException;
14 import java.net.URL;
15 import java.util.UUID;
16
17 import org.apache.log4j.Logger;
18 import org.springframework.transaction.TransactionStatus;
19
20 import eu.etaxonomy.cdm.app.common.CdmDestinations;
21 import eu.etaxonomy.cdm.app.tcs.TcsSources;
22 import eu.etaxonomy.cdm.database.DbSchemaValidation;
23 import eu.etaxonomy.cdm.database.ICdmDataSource;
24 import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
25 import eu.etaxonomy.cdm.io.common.ICdmImport;
26 import eu.etaxonomy.cdm.io.common.IImportConfigurator;
27 import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
28 import eu.etaxonomy.cdm.io.taxonx.TaxonXImportConfigurator;
29
30 /**
31 * @author a.mueller
32 * @created 20.06.2008
33 * @version 1.0
34 */
35 public class PalmaeTaxonXImportActivator {
36 private static final Logger logger = Logger.getLogger(PalmaeTaxonXImportActivator.class);
37
38 //database validation status (create, update, validate ...)
39 static DbSchemaValidation hbm2dll = DbSchemaValidation.UPDATE;
40 //static final String tcsSource = TcsSources.taxonX_local();
41 static File source = TcsSources.taxonX_localDir();
42 static ICdmDataSource cdmDestination = CdmDestinations.localH2();
43
44 static UUID secUuid = UUID.fromString("5f32b8af-0c97-48ac-8d33-6099ed68c625");
45
46 //check - import
47 static CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
48
49 static boolean doDescriptions = true;
50
51 public boolean runImport(){
52 boolean success = true;
53 //make destination
54 ICdmDataSource destination = cdmDestination;
55
56 TaxonXImportConfigurator taxonXImportConfigurator = TaxonXImportConfigurator.NewInstance("", destination);
57 // invoke import
58 CdmDefaultImport<IImportConfigurator> cdmImport = new CdmDefaultImport<IImportConfigurator>();
59
60 taxonXImportConfigurator.setSecUuid(secUuid);
61
62 taxonXImportConfigurator.setDoFacts(doDescriptions);
63
64 taxonXImportConfigurator.setCheck(check);
65 taxonXImportConfigurator.setDbSchemaValidation(hbm2dll);
66
67 cdmImport.startController(taxonXImportConfigurator, destination);
68 TransactionStatus tx = cdmImport.getCdmApp().startTransaction();
69
70 //new Test().invoke(tcsImportConfigurator);
71 if (source.isDirectory()){
72
73 for (File file : source.listFiles() ){
74 if (file.isFile()){
75 URL url;
76 try {
77 url = file.toURI().toURL();
78 taxonXImportConfigurator.setSource(url.toString());
79 String originalSourceId = file.getName();
80 originalSourceId =originalSourceId.replace(".xml", "");
81 taxonXImportConfigurator.setOriginalSourceId(originalSourceId);
82 success &= cdmImport.invoke(taxonXImportConfigurator);
83 } catch (MalformedURLException e) {
84 logger.warn(e);
85 }
86 }
87 }
88 }else{
89 success &= cdmImport.invoke(taxonXImportConfigurator);
90 }
91 cdmImport.getCdmApp().commitTransaction(tx);
92 return success;
93 }
94
95
96 /**
97 * @param args
98 */
99 public static void main(String[] args) {
100 System.out.println("Start import from Source("+ source.toString() + ") ...");
101
102 PalmaeTaxonXImportActivator importer = new PalmaeTaxonXImportActivator();
103 importer.runImport();
104
105
106 System.out.println("End import from Source ("+ source.toString() + ")...");
107 }
108
109
110 }