2 * Copyright (C) 2015 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.
9 package eu
.etaxonomy
.cdm
.app
.edaphobase
;
11 import java
.util
.UUID
;
13 import org
.apache
.log4j
.Logger
;
15 import eu
.etaxonomy
.cdm
.api
.service
.ITermService
;
16 import eu
.etaxonomy
.cdm
.app
.common
.CdmDestinations
;
17 import eu
.etaxonomy
.cdm
.app
.common
.CdmImportSources
;
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
.Source
;
23 import eu
.etaxonomy
.cdm
.io
.edaphobase
.EdaphobaseImportConfigurator
;
24 import eu
.etaxonomy
.cdm
.model
.description
.Feature
;
25 import eu
.etaxonomy
.cdm
.model
.term
.TermNode
;
26 import eu
.etaxonomy
.cdm
.model
.term
.TermTree
;
33 public class EdaphobaseActivator
{
34 @SuppressWarnings("unused")
35 private static final Logger logger
= Logger
.getLogger(EdaphobaseActivator
.class);
37 //database validation status (create, update, validate ...)
38 static DbSchemaValidation dbSchemaValidation
= DbSchemaValidation
.CREATE
;
40 // static final Source edaphoSource = CdmImportSources.EDAPHOBASE();
41 static final Source edaphoSource
= CdmImportSources
.EDAPHOBASE8();
43 // static final ICdmDataSource cdmDestination = CdmDestinations.localH2();
44 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_local_edaphobase();
45 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_production_edaphobase();
46 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_postgres_edaphobase();
47 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_postgres_edaphobase();
48 static final ICdmDataSource cdmDestination
= CdmDestinations
.cdm_test_postgres_edaphobase();
53 private static final UUID featureTreeUuid
= UUID
.fromString("a543d66a-e310-4b3e-a9fa-b729afefad16");
54 private static final String featureTreeTitle
= "Edaphobase Presentation Feature Tree";
57 static final UUID classificationUuid
= UUID
.fromString("91231ebf-1c7a-47b9-a56c-b45b33137244");
58 static final String classificationTitle
= "Edaphobase";
59 static final UUID secUuid
= UUID
.fromString("95dcb1b6-5197-4ce6-b2fa-c6482119d2ea");
60 static final String secundumTitle
= "Edaphobase";
62 private static final boolean doTaxa
= true;
63 private static final boolean doSynonyms
= true;
64 private static final boolean doReferences
= true;
65 private static final boolean doDescriptions
= false;
68 private static final boolean ignoreSubgenus
= true;
69 private static final boolean ignore4nomial
= true;
73 static CHECK check
= CHECK
.IMPORT_WITHOUT_CHECK
;
75 private void doImport(Source source
, ICdmDataSource cdmDestination
){
77 EdaphobaseImportConfigurator config
= EdaphobaseImportConfigurator
.NewInstance(source
, cdmDestination
);
78 config
.setDbSchemaValidation(dbSchemaValidation
);
79 config
.setClassificationUuid(classificationUuid
);
80 config
.setClassificationName(classificationTitle
);
81 config
.setEdaphobaseSecundumTitle(secundumTitle
);
82 config
.setSecUuid(secUuid
);
83 config
.setDoTaxa(doTaxa
);
84 config
.setDoReferences(doReferences
);
85 config
.setDoSynonyms(doSynonyms
);
86 config
.setDoDescriptions(doDescriptions
);
87 config
.setCheck(check
);
89 config
.setIgnoreSubgenus(ignoreSubgenus
);
90 config
.setIgnore4nomial(ignore4nomial
);
92 CdmDefaultImport
<EdaphobaseImportConfigurator
> myImport
= new CdmDefaultImport
<>();
93 myImport
.invoke(config
);
95 TermTree
<Feature
> tree
= makeFeatureNodes(myImport
.getCdmAppController().getTermService());
96 myImport
.getCdmAppController().getFeatureTreeService().saveOrUpdate(tree
);
99 private TermTree
<Feature
> makeFeatureNodes(ITermService service
){
101 TermTree
<Feature
> result
= TermTree
.NewFeatureInstance(featureTreeUuid
);
102 result
.setTitleCache(featureTreeTitle
, true);
103 TermNode
<Feature
> root
= result
.getRoot();
105 Feature distributionFeature
= (Feature
)service
.find(Feature
.DISTRIBUTION().getUuid());
106 root
.addChild(distributionFeature
);
114 public static void main(String
[] args
) {
115 EdaphobaseActivator me
= new EdaphobaseActivator();
116 me
.doImport(edaphoSource
, cdmDestination
);