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
.eflora
;
12 import java
.util
.UUID
;
14 import org
.apache
.log4j
.Logger
;
16 import eu
.etaxonomy
.cdm
.api
.service
.ITermService
;
17 import eu
.etaxonomy
.cdm
.app
.common
.CdmDestinations
;
18 import eu
.etaxonomy
.cdm
.app
.common
.CdmImportSources
;
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
.Source
;
23 import eu
.etaxonomy
.cdm
.io
.common
.IImportConfigurator
.CHECK
;
24 import eu
.etaxonomy
.cdm
.io
.eflora
.centralAfrica
.ferns
.CentralAfricaFernsImportConfigurator
;
25 import eu
.etaxonomy
.cdm
.io
.eflora
.floraMalesiana
.FloraMalesianaTransformer
;
26 import eu
.etaxonomy
.cdm
.model
.description
.Feature
;
27 import eu
.etaxonomy
.cdm
.model
.description
.FeatureNode
;
28 import eu
.etaxonomy
.cdm
.model
.description
.FeatureTree
;
29 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
30 import eu
.etaxonomy
.cdm
.model
.reference
.ReferenceFactory
;
37 public class CentralAfricaFernsActivator
{
38 @SuppressWarnings("unused")
39 private static final Logger logger
= Logger
.getLogger(CentralAfricaFernsActivator
.class);
41 //database validation status (create, update, validate ...)
42 static DbSchemaValidation hbm2dll
= DbSchemaValidation
.CREATE
;
43 static final Source mySource
= CdmImportSources
.AFRICA_FERNS_ACCESS();
45 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_andreasM2();
46 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_flora_central_africa_preview();
47 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_flora_central_africa_production();
48 static final ICdmDataSource cdmDestination
= CdmDestinations
.localH2();
49 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_local_postgres_CdmTest();
50 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_mysql();
53 public static final UUID featureTreeUuid
= UUID
.fromString("62d930cb-aabb-461c-ad16-0fdbd2bae592");
55 public static final String sourceReference
= "Flora of Central Africa";
57 public static final String classificationName
= "Flora of Central Africa - Ferns";
60 static final UUID classificationUuid
= UUID
.fromString("a90fa160-8f33-4a19-9c5a-ab05a1553017");
63 static final CHECK check
= CHECK
.IMPORT_WITHOUT_CHECK
;
65 // static boolean doPrintKeys = false;
68 static final boolean doTaxa
= true;
70 // private boolean includeSapindaceae1 = true;
74 private void doImport(ICdmDataSource cdmDestination
){
78 Source source
= mySource
;
80 // mySource.getResultSet("SELECT * FROM tmp");
81 CentralAfricaFernsImportConfigurator config
= CentralAfricaFernsImportConfigurator
.NewInstance(source
, cdmDestination
);
82 config
.setClassificationUuid(classificationUuid
);
83 config
.setClassificationName(classificationName
);
84 config
.setDoTaxa(doTaxa
);
85 config
.setCheck(check
);
86 // configsetDoPrintKeys(doPrintKeys);
87 config
.setDbSchemaValidation(hbm2dll
);
89 CdmDefaultImport
<CentralAfricaFernsImportConfigurator
> myImport
= new CdmDefaultImport
<CentralAfricaFernsImportConfigurator
>();
92 // if (includeSapindaceae1){
93 System
.out
.println("Start import from ("+ source
.toString() + ") ...");
94 config
.setSourceReference(getSourceReference(sourceReference
));
95 myImport
.invoke(config
);
96 System
.out
.println("End import from ("+ source
.toString() + ")...");
101 FeatureTree tree
= makeFeatureNode(myImport
.getCdmAppController().getTermService());
102 myImport
.getCdmAppController().getFeatureTreeService().saveOrUpdate(tree
);
106 // TransactionStatus tx = myImport.getCdmAppController().startTransaction();
107 // List<FeatureTree> keys = myImport.getCdmAppController().getFeatureTreeService().list(PolytomousKey.class, null, null, null, null);
108 // for(FeatureTree key : keys){
109 // ((PolytomousKey)key).print(System.out);
110 // System.out.println();
112 // myImport.getCdmAppController().commitTransaction(tx);
117 private Reference
getSourceReference(String string
) {
118 Reference result
= ReferenceFactory
.newGeneric();
119 result
.setTitleCache(string
);
123 private FeatureTree
makeFeatureNode(ITermService service
){
124 FloraMalesianaTransformer transformer
= new FloraMalesianaTransformer();
126 FeatureTree result
= FeatureTree
.NewInstance(featureTreeUuid
);
127 result
.setTitleCache("Flora Malesiana Presentation Feature Tree");
128 FeatureNode root
= result
.getRoot();
131 newNode
= FeatureNode
.NewInstance(Feature
.CITATION());
132 root
.addChild(newNode
);
134 newNode
= FeatureNode
.NewInstance(Feature
.DESCRIPTION());
135 root
.addChild(newNode
);
145 public static void main(String
[] args
) {
146 CentralAfricaFernsActivator me
= new CentralAfricaFernsActivator();
147 me
.doImport(cdmDestination
);