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
.iapt
;
14 import java
.util
.UUID
;
16 import org
.apache
.log4j
.Logger
;
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
.iapt
.IAPTImportConfigurator
;
24 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
25 import eu
.etaxonomy
.cdm
.model
.reference
.ReferenceFactory
;
29 * @author a.kohlbecker
33 public class IAPTActivator
{
34 private static final Logger logger
= Logger
.getLogger(IAPTActivator
.class);
36 //database validation status (create, update, validate ...)
37 static DbSchemaValidation hbm2dll
= DbSchemaValidation
.VALIDATE
;
39 static final ICdmDataSource cdmDestination
= CdmDestinations
.localH2();
40 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_mysql_test();
41 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_cuba_production();
43 static boolean invers
= true;
45 static boolean include
= !invers
;
48 static final UUID classificationUuid
= UUID
.fromString("8c51efb4-3d67-4bea-8f87-4bc1cba1310d");
49 private static final String classificationName
= "IAPT";
50 static final String sourceReferenceTitle
= "IAPT Import";
53 static final CHECK check
= CHECK
.IMPORT_WITHOUT_CHECK
;
55 static final boolean doTaxa
= false;
58 private void doImport(ICdmDataSource cdmDestination
){
60 URI source
= iapt(); //just any
62 Reference secRef
= ReferenceFactory
.newDatabase();
63 secRef
.setTitle("IAPT");
66 IAPTImportConfigurator config
= IAPTImportConfigurator
.NewInstance(source
, cdmDestination
);
67 config
.setClassificationUuid(classificationUuid
);
68 config
.setClassificationName(classificationName
);
69 config
.setCheck(check
);
70 config
.setDbSchemaValidation(hbm2dll
);
71 config
.setSourceReferenceTitle(sourceReferenceTitle
);
72 config
.setSecReference(secRef
);
74 CdmDefaultImport
<IAPTImportConfigurator
> myImport
= new CdmDefaultImport
<>();
76 doSingleSource(iapt(), config
, myImport
);
87 private void doSingleSource(URI source
, IAPTImportConfigurator config
, CdmDefaultImport
<IAPTImportConfigurator
> myImport
) {
88 config
.setSource(source
);
89 String fileName
= source
.toString();
90 fileName
= fileName
.substring(fileName
.lastIndexOf("/") + 1 );
92 String message
= "Start import from ("+ fileName
+ ") ...";
93 System
.out
.println(message
);
95 config
.setSourceReference(getSourceReference(fileName
));
96 myImport
.invoke(config
);
98 System
.out
.println("End import from ("+ source
.toString() + ")...");
101 private final Reference inRef
= ReferenceFactory
.newGeneric();
102 private Reference
getSourceReference(String string
) {
103 Reference result
= ReferenceFactory
.newGeneric();
104 result
.setTitleCache(string
, true);
105 result
.setInReference(inRef
);
106 inRef
.setTitleCache(sourceReferenceTitle
, true);
112 public static URI
iapt() {
113 File f
= new File("~/data/Projekte/Algea Name Registry/registry/sources/IAPT/Registration_DB_from_BGBM17-cleaned.xls");
120 public static void main(String
[] args
) {
121 IAPTActivator me
= new IAPTActivator();
122 me
.doImport(cdmDestination
);