Revision 7691ed2a
Added by Andreas Müller almost 5 years ago
app-import/src/main/java/eu/etaxonomy/cdm/app/berlinModelImport/AlgaTerraActivator.java | ||
---|---|---|
208 | 208 |
* @param app |
209 | 209 |
*/ |
210 | 210 |
private void makeTaxonFeatureTree(AlgaTerraImportConfigurator config, ICdmRepository app) { |
211 |
FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, config.getFeatureMap(), featureKeyList); |
|
211 |
FeatureTree<Feature> tree = TreeCreator.flatTree(featureTreeUuid, config.getFeatureMap(), featureKeyList);
|
|
212 | 212 |
tree.setTitleCache("AlgaTerra Taxon Feature Tree", true); |
213 | 213 |
|
214 |
FeatureNode node = FeatureNode.NewInstance(Feature.HABITAT()); |
|
215 |
tree.getRoot().addChild(node); |
|
214 |
tree.getRoot().addChild(Feature.HABITAT()); |
|
216 | 215 |
|
217 |
// node = FeatureNode.NewInstance(Feature.OBSERVATION()); |
|
218 |
// tree.getRoot().addChild(node); |
|
216 |
// tree.getRoot().addChild(Feature.OBSERVATION()); |
|
219 | 217 |
// |
220 |
// node = FeatureNode.NewInstance(Feature.SPECIMEN()); |
|
221 |
// tree.getRoot().addChild(node); |
|
218 |
// tree.getRoot().addChild(Feature.SPECIMEN()); |
|
222 | 219 |
// |
223 |
// node = FeatureNode.NewInstance(Feature.INDIVIDUALS_ASSOCIATION()); |
|
224 |
// tree.getRoot().addChild(node); |
|
220 |
// tree.getRoot().addChild(Feature.INDIVIDUALS_ASSOCIATION()); |
|
225 | 221 |
|
226 | 222 |
//needed ?? |
227 |
FeatureNode distributionNode = FeatureNode.NewInstance(Feature.DISTRIBUTION()); |
|
228 |
tree.getRoot().addChild(distributionNode, 2); |
|
223 |
tree.getRoot().addChild(Feature.DISTRIBUTION(), 2); |
|
229 | 224 |
|
230 | 225 |
// //needed ?? |
231 |
// FeatureNode imageNode = FeatureNode.NewInstance(Feature.IMAGE()); |
|
232 |
// tree.getRoot().addChild(imageNode); |
|
226 |
// tree.getRoot().addChild(Feature.IMAGE()); |
|
233 | 227 |
|
234 | 228 |
app.getFeatureTreeService().saveOrUpdate(tree); |
235 | 229 |
} |
... | ... | |
242 | 236 |
*/ |
243 | 237 |
private void makeSpecimenFeatureTree(AlgaTerraImportConfigurator config, ICdmRepository app) { |
244 | 238 |
ITermService termService = app.getTermService(); |
245 |
FeatureTree specimenTree = FeatureTree.NewInstance(specimenFeatureTreeUuid); |
|
239 |
FeatureTree<Feature> specimenTree = FeatureTree.NewInstance(specimenFeatureTreeUuid);
|
|
246 | 240 |
// FeatureTree specimenTree = TreeCreator.flatTree(specimenFeatureTreeUuid, config.getFeatureMap(), featureKeyList); |
247 | 241 |
specimenTree.setTitleCache("AlgaTerra Specimen Feature Tree", true); |
248 |
FeatureNode root = specimenTree.getRoot(); |
|
242 |
FeatureNode<Feature> root = specimenTree.getRoot();
|
|
249 | 243 |
|
250 | 244 |
|
251 |
FeatureNode imageNode = FeatureNode.NewInstance(Feature.IMAGE()); |
|
252 |
root.addChild(imageNode); |
|
245 |
root.addChild(Feature.IMAGE()); |
|
253 | 246 |
|
254 | 247 |
addFeatureNodeByUuid(root, termService, AlgaTerraSpecimenImportBase.uuidFeatureAlgaTerraClimate); |
255 |
FeatureNode node = FeatureNode.NewInstance(Feature.HABITAT()); |
|
256 |
root.addChild(node); |
|
248 |
root.addChild(Feature.HABITAT()); |
|
257 | 249 |
addFeatureNodeByUuid(root, termService, AlgaTerraSpecimenImportBase.uuidFeatureHabitatExplanation); |
258 | 250 |
addFeatureNodeByUuid(root, termService, AlgaTerraSpecimenImportBase.uuidFeatureAlgaTerraLifeForm); |
259 | 251 |
|
... | ... | |
280 | 272 |
app.getFeatureTreeService().saveOrUpdate(specimenTree); |
281 | 273 |
} |
282 | 274 |
|
283 |
private FeatureNode makeNitrogenNode(FeatureNode root, ITermService termService) {
|
|
275 |
private FeatureNode<Feature> makeNitrogenNode(FeatureNode<Feature> root, ITermService termService) {
|
|
284 | 276 |
Feature nFeature = Feature.NewInstance("Supra feature for all Nitrogen related subfeatures", "Nitrogen", "N"); |
285 | 277 |
termService.save(nFeature); |
286 |
FeatureNode nNode = FeatureNode.NewInstance(nFeature); |
|
287 |
root.addChild(nNode); |
|
278 |
FeatureNode<Feature> nNode = root.addChild(nFeature); |
|
288 | 279 |
return nNode; |
289 | 280 |
} |
290 | 281 |
|
... | ... | |
304 | 295 |
* @param termService |
305 | 296 |
* @param featureUuid |
306 | 297 |
*/ |
307 |
private void addFeatureNodeByUuid(FeatureNode root, ITermService termService, UUID featureUuid) { |
|
298 |
private void addFeatureNodeByUuid(FeatureNode<Feature> root, ITermService termService, UUID featureUuid) {
|
|
308 | 299 |
Feature feature = (Feature)termService.find(featureUuid); |
309 | 300 |
if (feature != null){ |
310 |
FeatureNode child = FeatureNode.NewInstance(feature); |
|
311 |
root.addChild(child); |
|
301 |
root.addChild(feature); |
|
312 | 302 |
} |
313 | 303 |
} |
314 | 304 |
|
app-import/src/main/java/eu/etaxonomy/cdm/app/berlinModelImport/CampanulaceaeActivator.java | ||
---|---|---|
26 | 26 |
import eu.etaxonomy.cdm.io.common.Source; |
27 | 27 |
import eu.etaxonomy.cdm.model.description.Feature; |
28 | 28 |
import eu.etaxonomy.cdm.model.name.NomenclaturalCode; |
29 |
import eu.etaxonomy.cdm.model.term.FeatureNode; |
|
30 | 29 |
import eu.etaxonomy.cdm.model.term.FeatureTree; |
31 | 30 |
|
32 | 31 |
|
... | ... | |
176 | 175 |
ICdmRepository app = bmImport.getCdmAppController(); |
177 | 176 |
|
178 | 177 |
//make feature tree |
179 |
FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, bmImportConfigurator.getFeatureMap(), featureKeyList); |
|
180 |
FeatureNode distributionNode = FeatureNode.NewInstance(Feature.DISTRIBUTION()); |
|
181 |
tree.getRoot().addChild(distributionNode, 1); |
|
178 |
FeatureTree<Feature> tree = TreeCreator.flatTree(featureTreeUuid, bmImportConfigurator.getFeatureMap(), featureKeyList); |
|
179 |
tree.getRoot().addChild(Feature.DISTRIBUTION(), 1); |
|
182 | 180 |
app.getFeatureTreeService().saveOrUpdate(tree); |
183 | 181 |
} |
184 | 182 |
|
185 | 183 |
System.out.println("End import from BerlinModel ("+ source.getDatabase() + ")..."); |
186 | 184 |
|
187 |
|
|
188 | 185 |
logger.warn("!!!! NOTE: RefDetail notes and RelPTaxon notes are not imported automatically. Please check for these notes and import them manually."); |
189 | 186 |
|
190 | 187 |
return success; |
app-import/src/main/java/eu/etaxonomy/cdm/app/berlinModelImport/CaucasusEuroMedActivator.java | ||
---|---|---|
58 | 58 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
59 | 59 |
import eu.etaxonomy.cdm.model.taxon.TaxonNode; |
60 | 60 |
import eu.etaxonomy.cdm.model.term.DefinedTermBase; |
61 |
import eu.etaxonomy.cdm.model.term.FeatureNode; |
|
62 | 61 |
import eu.etaxonomy.cdm.model.term.FeatureTree; |
63 | 62 |
import eu.etaxonomy.cdm.model.term.Representation; |
64 | 63 |
import eu.etaxonomy.cdm.persistence.hibernate.permission.Role; |
... | ... | |
400 | 399 |
TransactionStatus tx = app.startTransaction(); |
401 | 400 |
|
402 | 401 |
//make feature tree |
403 |
FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, config.getFeatureMap(), featureKeyList); |
|
402 |
FeatureTree<Feature> tree = TreeCreator.flatTree(featureTreeUuid, config.getFeatureMap(), featureKeyList);
|
|
404 | 403 |
tree.setTitleCache("Euro+Med Feature Tree", true); |
405 |
FeatureNode imageNode = FeatureNode.NewInstance(Feature.IMAGE()); |
|
406 |
tree.getRoot().addChild(imageNode); |
|
407 |
FeatureNode distributionNode = FeatureNode.NewInstance(Feature.DISTRIBUTION()); |
|
408 |
tree.getRoot().addChild(distributionNode, 1); |
|
409 |
FeatureNode commonNameNode = FeatureNode.NewInstance(Feature.COMMON_NAME()); |
|
410 |
tree.getRoot().addChild(commonNameNode, 2); |
|
404 |
tree.getRoot().addChild(Feature.IMAGE()); |
|
405 |
tree.getRoot().addChild(Feature.DISTRIBUTION(), 1); |
|
406 |
tree.getRoot().addChild(Feature.COMMON_NAME(), 2); |
|
411 | 407 |
app.getFeatureTreeService().saveOrUpdate(tree); |
412 | 408 |
|
413 | 409 |
app.commitTransaction(tx); |
app-import/src/main/java/eu/etaxonomy/cdm/app/berlinModelImport/EuroMedActivator.java | ||
---|---|---|
58 | 58 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
59 | 59 |
import eu.etaxonomy.cdm.model.taxon.TaxonNode; |
60 | 60 |
import eu.etaxonomy.cdm.model.term.DefinedTermBase; |
61 |
import eu.etaxonomy.cdm.model.term.FeatureNode; |
|
62 | 61 |
import eu.etaxonomy.cdm.model.term.FeatureTree; |
63 | 62 |
import eu.etaxonomy.cdm.model.term.Representation; |
64 | 63 |
import eu.etaxonomy.cdm.persistence.hibernate.permission.Role; |
... | ... | |
404 | 403 |
TransactionStatus tx = app.startTransaction(); |
405 | 404 |
|
406 | 405 |
//make feature tree |
407 |
FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, config.getFeatureMap(), featureKeyList); |
|
406 |
FeatureTree<Feature> tree = TreeCreator.flatTree(featureTreeUuid, config.getFeatureMap(), featureKeyList);
|
|
408 | 407 |
tree.setTitleCache("Euro+Med Feature Tree", true); |
409 |
FeatureNode imageNode = FeatureNode.NewInstance(Feature.IMAGE()); |
|
410 |
tree.getRoot().addChild(imageNode); |
|
411 |
FeatureNode distributionNode = FeatureNode.NewInstance(Feature.DISTRIBUTION()); |
|
412 |
tree.getRoot().addChild(distributionNode, 1); |
|
413 |
FeatureNode commonNameNode = FeatureNode.NewInstance(Feature.COMMON_NAME()); |
|
414 |
tree.getRoot().addChild(commonNameNode, 2); |
|
408 |
tree.getRoot().addChild(Feature.IMAGE()); |
|
409 |
tree.getRoot().addChild(Feature.DISTRIBUTION(), 1); |
|
410 |
tree.getRoot().addChild(Feature.COMMON_NAME(), 2); |
|
415 | 411 |
app.getFeatureTreeService().saveOrUpdate(tree); |
416 | 412 |
|
417 | 413 |
app.commitTransaction(tx); |
app-import/src/main/java/eu/etaxonomy/cdm/app/berlinModelImport/IldisActivator.java | ||
---|---|---|
25 | 25 |
import eu.etaxonomy.cdm.io.common.Source; |
26 | 26 |
import eu.etaxonomy.cdm.model.description.Feature; |
27 | 27 |
import eu.etaxonomy.cdm.model.name.NomenclaturalCode; |
28 |
import eu.etaxonomy.cdm.model.term.FeatureNode; |
|
29 | 28 |
import eu.etaxonomy.cdm.model.term.FeatureTree; |
30 | 29 |
|
31 | 30 |
/** |
... | ... | |
158 | 157 |
ICdmRepository app = bmImport.getCdmAppController(); |
159 | 158 |
|
160 | 159 |
//make feature tree |
161 |
FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, bmImportConfigurator.getFeatureMap(), featureKeyList); |
|
162 |
FeatureNode imageNode = FeatureNode.NewInstance(Feature.IMAGE()); |
|
163 |
tree.getRoot().addChild(imageNode); |
|
164 |
FeatureNode distributionNode = FeatureNode.NewInstance(Feature.DISTRIBUTION()); |
|
165 |
tree.getRoot().addChild(distributionNode, 2); |
|
160 |
FeatureTree<Feature> tree = TreeCreator.flatTree(featureTreeUuid, bmImportConfigurator.getFeatureMap(), featureKeyList); |
|
161 |
tree.getRoot().addChild(Feature.IMAGE()); |
|
162 |
tree.getRoot().addChild(Feature.DISTRIBUTION(), 2); |
|
166 | 163 |
app.getFeatureTreeService().saveOrUpdate(tree); |
167 | 164 |
} |
168 | 165 |
|
app-import/src/main/java/eu/etaxonomy/cdm/app/berlinModelImport/MTStandardlisteActivator.java | ||
---|---|---|
1 | 1 |
/** |
2 | 2 |
* Copyright (C) 2007 EDIT |
3 |
* European Distributed Institute of Taxonomy
|
|
3 |
* European Distributed Institute of Taxonomy |
|
4 | 4 |
* http://www.e-taxonomy.eu |
5 |
*
|
|
5 |
* |
|
6 | 6 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
7 | 7 |
* See LICENSE.TXT at the top of this package for the full license terms. |
8 | 8 |
*/ |
... | ... | |
24 | 24 |
import eu.etaxonomy.cdm.io.common.Source; |
25 | 25 |
import eu.etaxonomy.cdm.model.description.Feature; |
26 | 26 |
import eu.etaxonomy.cdm.model.name.NomenclaturalCode; |
27 |
import eu.etaxonomy.cdm.model.term.FeatureNode; |
|
28 | 27 |
import eu.etaxonomy.cdm.model.term.FeatureTree; |
29 | 28 |
|
30 | 29 |
public class MTStandardlisteActivator { |
31 |
|
|
30 |
|
|
32 | 31 |
|
33 | 32 |
|
34 | 33 |
/** |
35 | 34 |
* TODO add the following to a wiki page: |
36 |
* HINT: If you are about to import into a mysql data base running under windows and if you wish to dump and restore the resulting data bas under another operation systen
|
|
35 |
* HINT: If you are about to import into a mysql data base running under windows and if you wish to dump and restore the resulting data bas under another operation systen |
|
37 | 36 |
* you must set the mysql system variable lower_case_table_names = 0 in order to create data base with table compatible names. |
38 |
*
|
|
39 |
*
|
|
37 |
* |
|
38 |
* |
|
40 | 39 |
* @author a.mueller |
41 | 40 |
* |
42 | 41 |
*/ |
... | ... | |
48 | 47 |
static final Source berlinModelSource = BerlinModelSources.MT_Standardliste(); |
49 | 48 |
static final ICdmDataSource cdmDestination = CdmDestinations.cdm_local_test_mysql_standardliste(); |
50 | 49 |
// static final ICdmDataSource cdmDestination = CdmDestinations.cdm_mt_standardliste(); |
51 |
|
|
50 |
|
|
52 | 51 |
static final UUID treeUuid = UUID.fromString("70549f1a-3d30-42ae-8257-c8367e2703b0"); |
53 | 52 |
static final int sourceSecId = 7331; |
54 | 53 |
static final UUID sourceRefUuid = UUID.fromString("33baaf62-f5c4-4260-aacb-090fe4d24206"); |
55 |
|
|
54 |
|
|
56 | 55 |
static final UUID featureTreeUuid = UUID.fromString("2b592057-de3a-4782-a6f3-90a87e2a004d"); |
57 |
static final Object[] featureKeyList = new Integer[]{7,201,202,203,204,205,206,207}; |
|
58 |
|
|
59 |
static final boolean includeFlatClassifications = true; |
|
56 |
static final Object[] featureKeyList = new Integer[]{7,201,202,203,204,205,206,207}; |
|
57 |
|
|
58 |
static final boolean includeFlatClassifications = true; |
|
59 |
|
|
60 | 60 |
|
61 |
|
|
62 | 61 |
//check - import |
63 | 62 |
static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK; |
64 | 63 |
|
65 |
|
|
64 |
|
|
66 | 65 |
|
67 | 66 |
//NomenclaturalCode |
68 | 67 |
static final NomenclaturalCode nomenclaturalCode = NomenclaturalCode.ICNAFP; |
69 | 68 |
|
70 | 69 |
// ****************** ALL ***************************************** |
71 |
|
|
70 |
|
|
72 | 71 |
//authors |
73 | 72 |
static final boolean doAuthors = true; |
74 | 73 |
//references |
... | ... | |
77 | 76 |
static final boolean doTaxonNames = true; |
78 | 77 |
static final boolean doRelNames = true; |
79 | 78 |
static final boolean doNameStatus = false; |
80 |
static final boolean doTypes = false;
|
|
81 |
static final boolean doNameFacts = false;
|
|
82 |
|
|
79 |
static final boolean doTypes = false; |
|
80 |
static final boolean doNameFacts = false; |
|
81 |
|
|
83 | 82 |
//taxa |
84 | 83 |
static final boolean doTaxa = true; |
85 | 84 |
static final boolean doRelTaxa = true; |
... | ... | |
91 | 90 |
|
92 | 91 |
|
93 | 92 |
// ************************ NONE **************************************** // |
94 |
|
|
93 |
|
|
95 | 94 |
// //authors |
96 | 95 |
// static final boolean doAuthors = false; |
97 | 96 |
// //references |
... | ... | |
102 | 101 |
// static final boolean doNameStatus = false; |
103 | 102 |
// static final boolean doTypes = false; |
104 | 103 |
// static final boolean doNameFacts = false; |
105 |
//
|
|
104 |
// |
|
106 | 105 |
// //taxa |
107 | 106 |
// static final boolean doTaxa = false; |
108 | 107 |
// static final boolean doRelTaxa = false; |
109 | 108 |
// static final boolean doFacts = false; |
110 | 109 |
// static final boolean doOccurences = false; |
111 | 110 |
// static final boolean doCommonNames = false; |
112 |
|
|
113 |
|
|
111 |
|
|
112 |
|
|
114 | 113 |
public void invoke(String[] args){ |
115 | 114 |
System.out.println("Start import from BerlinModel("+ berlinModelSource.getDatabase() + ") ..."); |
116 | 115 |
logger.debug("Start"); |
117 | 116 |
//make BerlinModel Source |
118 | 117 |
Source source = berlinModelSource; |
119 | 118 |
ICdmDataSource destination = CdmDestinations.chooseDestination(args) != null ? CdmDestinations.chooseDestination(args) : cdmDestination; |
120 |
|
|
119 |
|
|
121 | 120 |
BerlinModelImportConfigurator config = BerlinModelImportConfigurator.NewInstance(source, destination); |
122 |
|
|
121 |
|
|
123 | 122 |
config.setClassificationUuid(treeUuid); |
124 | 123 |
config.setSourceSecId(sourceSecId); |
125 | 124 |
config.setNomenclaturalCode(nomenclaturalCode); |
... | ... | |
131 | 130 |
config.setDoNameStatus(doNameStatus); |
132 | 131 |
config.setDoTypes(doTypes); |
133 | 132 |
config.setDoNameFacts(doNameFacts); |
134 |
|
|
133 |
|
|
135 | 134 |
config.setDoTaxa(doTaxa); |
136 | 135 |
config.setDoRelTaxa(doRelTaxa); |
137 | 136 |
config.setDoFacts(doFacts); |
138 | 137 |
config.setDoOccurrence(doOccurences); |
139 | 138 |
config.setDoCommonNames(doCommonNames); |
140 | 139 |
config.setSourceRefUuid(sourceRefUuid); |
141 |
|
|
140 |
|
|
142 | 141 |
config.setDbSchemaValidation(hbm2dll); |
143 | 142 |
config.setIncludeFlatClassifications(includeFlatClassifications); |
144 | 143 |
config.setIncludeAllNonMisappliedRelatedClassifications(includeAllNonMisappliedRelatedClassifications); |
145 | 144 |
|
146 | 145 |
config.setCheck(check); |
147 |
|
|
146 |
|
|
148 | 147 |
// invoke import |
149 | 148 |
CdmDefaultImport<BerlinModelImportConfigurator> bmImport = new CdmDefaultImport<BerlinModelImportConfigurator>(); |
150 | 149 |
bmImport.invoke(config); |
151 | 150 |
|
152 | 151 |
if (doFacts && (config.getCheck().equals(CHECK.CHECK_AND_IMPORT) || config.getCheck().equals(CHECK.IMPORT_WITHOUT_CHECK) ) ){ |
153 | 152 |
ICdmRepository app = bmImport.getCdmAppController(); |
154 |
|
|
153 |
|
|
155 | 154 |
//make feature tree |
156 |
FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, config.getFeatureMap(), featureKeyList); |
|
157 |
FeatureNode imageNode = FeatureNode.NewInstance(Feature.IMAGE()); |
|
158 |
tree.getRoot().addChild(imageNode); |
|
159 |
FeatureNode distributionNode = FeatureNode.NewInstance(Feature.DISTRIBUTION()); |
|
160 |
tree.getRoot().addChild(distributionNode, 2); |
|
155 |
FeatureTree<Feature> tree = TreeCreator.flatTree(featureTreeUuid, config.getFeatureMap(), featureKeyList); |
|
156 |
tree.getRoot().addChild(Feature.IMAGE()); |
|
157 |
tree.getRoot().addChild(Feature.DISTRIBUTION(), 2); |
|
161 | 158 |
app.getFeatureTreeService().saveOrUpdate(tree); |
162 | 159 |
} |
163 |
|
|
164 |
|
|
160 |
|
|
161 |
|
|
165 | 162 |
System.out.println("End import from BerlinModel ("+ source.getDatabase() + ")..."); |
166 | 163 |
} |
167 |
|
|
168 |
|
|
164 |
|
|
165 |
|
|
169 | 166 |
/** |
170 | 167 |
* @param args |
171 | 168 |
*/ |
app-import/src/main/java/eu/etaxonomy/cdm/app/berlinModelImport/TreeCreator.java | ||
---|---|---|
1 | 1 |
/** |
2 | 2 |
* Copyright (C) 2007 EDIT |
3 |
* European Distributed Institute of Taxonomy
|
|
3 |
* European Distributed Institute of Taxonomy |
|
4 | 4 |
* http://www.e-taxonomy.eu |
5 |
*
|
|
5 |
* |
|
6 | 6 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
7 | 7 |
* See LICENSE.TXT at the top of this package for the full license terms. |
8 | 8 |
*/ |
... | ... | |
15 | 15 |
|
16 | 16 |
import org.apache.log4j.Logger; |
17 | 17 |
|
18 |
import eu.etaxonomy.cdm.app.berlinModelImport.TreeCreator; |
|
19 | 18 |
import eu.etaxonomy.cdm.model.description.Feature; |
20 | 19 |
import eu.etaxonomy.cdm.model.term.FeatureNode; |
21 | 20 |
import eu.etaxonomy.cdm.model.term.FeatureTree; |
... | ... | |
23 | 22 |
/** |
24 | 23 |
* @author a.mueller |
25 | 24 |
* @since 03.07.2008 |
26 |
* @version 1.0 |
|
27 | 25 |
*/ |
28 | 26 |
public class TreeCreator { |
29 | 27 |
@SuppressWarnings("unused") |
30 | 28 |
private static final Logger logger = Logger.getLogger(TreeCreator.class); |
31 | 29 |
|
32 |
public static FeatureTree flatTree(UUID featureTreeUuid, Map<Integer, Feature> featureMap, Object[] featureKeyList){ |
|
33 |
FeatureTree result = FeatureTree.NewInstance(featureTreeUuid); |
|
34 |
FeatureNode root = result.getRoot(); |
|
35 |
|
|
30 |
public static FeatureTree<Feature> flatTree(UUID featureTreeUuid, Map<Integer, Feature> featureMap, Object[] featureKeyList){
|
|
31 |
FeatureTree<Feature> result = FeatureTree.NewInstance(featureTreeUuid);
|
|
32 |
FeatureNode<Feature> root = result.getRoot();
|
|
33 |
|
|
36 | 34 |
for (Object featureKey : featureKeyList){ |
37 | 35 |
Feature feature = featureMap.get(featureKey); |
38 | 36 |
if (feature != null){ |
39 |
FeatureNode child = FeatureNode.NewInstance(feature); |
|
40 |
root.addChild(child); |
|
37 |
root.addChild(feature); |
|
41 | 38 |
} |
42 | 39 |
} |
43 | 40 |
return result; |
44 | 41 |
} |
45 |
|
|
46 |
|
|
42 |
|
|
43 |
|
|
47 | 44 |
/** |
48 | 45 |
* @param args |
49 | 46 |
*/ |
... | ... | |
52 | 49 |
map.put(1, Feature.DISTRIBUTION()); |
53 | 50 |
map.put(2, Feature.ECOLOGY()); |
54 | 51 |
|
55 |
Object[] strFeatureList = new Integer[]{1,2};
|
|
52 |
Object[] strFeatureList = new Integer[]{1,2}; |
|
56 | 53 |
|
57 |
FeatureTree tree = TreeCreator.flatTree(UUID.randomUUID(), map, strFeatureList); |
|
54 |
FeatureTree<Feature> tree = TreeCreator.flatTree(UUID.randomUUID(), map, strFeatureList);
|
|
58 | 55 |
System.out.println(tree.getRootChildren()); |
59 | 56 |
} |
60 | 57 |
} |
app-import/src/main/java/eu/etaxonomy/cdm/app/cuba/CubaActivator.java | ||
---|---|---|
226 | 226 |
return result; |
227 | 227 |
} |
228 | 228 |
|
229 |
private FeatureTree makeFeatureNodes(ITermService service){ |
|
229 |
private FeatureTree<Feature> makeFeatureNodes(ITermService service){
|
|
230 | 230 |
// CyprusTransformer transformer = new CyprusTransformer(); |
231 | 231 |
|
232 |
FeatureTree result = FeatureTree.NewInstance(featureTreeUuid); |
|
232 |
FeatureTree<Feature> result = FeatureTree.NewInstance(featureTreeUuid);
|
|
233 | 233 |
result.setTitleCache("Cuba Feature Tree", true); |
234 |
FeatureNode root = result.getRoot(); |
|
235 |
FeatureNode newNode; |
|
234 |
FeatureNode<Feature> root = result.getRoot(); |
|
236 | 235 |
|
237 |
newNode = FeatureNode.NewInstance(Feature.DISTRIBUTION()); |
|
238 |
root.addChild(newNode); |
|
236 |
root.addChild(Feature.DISTRIBUTION()); |
|
239 | 237 |
|
240 | 238 |
// Feature featurAltFam = (Feature)service.find(CubaTransformer.uuidAlternativeFamily); |
241 |
// newNode = FeatureNode.NewInstance(featurAltFam); |
|
242 |
// root.addChild(newNode); |
|
239 |
// root.addChild(featurAltFam); |
|
243 | 240 |
|
244 | 241 |
Feature featurAltFam2 = (Feature)service.find(CubaTransformer.uuidAlternativeFamily2); |
245 |
newNode = FeatureNode.NewInstance(featurAltFam2); |
|
246 |
root.addChild(newNode); |
|
242 |
root.addChild(featurAltFam2); |
|
247 | 243 |
|
248 | 244 |
return result; |
249 | 245 |
} |
app-import/src/main/java/eu/etaxonomy/cdm/app/cyprus/CyprusActivator.java | ||
---|---|---|
115 | 115 |
return result; |
116 | 116 |
} |
117 | 117 |
|
118 |
private FeatureTree makeFeatureNodes(ITermService service){ |
|
118 |
private FeatureTree<Feature> makeFeatureNodes(ITermService service){
|
|
119 | 119 |
CyprusTransformer transformer = new CyprusTransformer(); |
120 | 120 |
|
121 |
FeatureTree result = FeatureTree.NewInstance(featureTreeUuid); |
|
121 |
FeatureTree<Feature> result = FeatureTree.NewInstance(featureTreeUuid);
|
|
122 | 122 |
result.setTitleCache("Cyprus Feature Tree", true); |
123 |
FeatureNode root = result.getRoot(); |
|
124 |
FeatureNode newNode; |
|
123 |
FeatureNode<Feature> root = result.getRoot(); |
|
125 | 124 |
|
126 |
newNode = FeatureNode.NewInstance(Feature.STATUS()); |
|
127 |
root.addChild(newNode); |
|
125 |
root.addChild(Feature.STATUS()); |
|
128 | 126 |
|
129 |
newNode = FeatureNode.NewInstance(Feature.DISTRIBUTION()); |
|
130 |
root.addChild(newNode); |
|
127 |
root.addChild(Feature.DISTRIBUTION()); |
|
131 | 128 |
|
132 |
newNode = FeatureNode.NewInstance(Feature.SYSTEMATICS()); |
|
133 |
root.addChild(newNode); |
|
129 |
root.addChild(Feature.SYSTEMATICS()); |
|
134 | 130 |
|
135 | 131 |
//user defined features |
136 | 132 |
String [] featureList = new String[]{"Red Book", "Endemism"}; |
... | ... | |
163 | 159 |
} |
164 | 160 |
} |
165 | 161 |
|
166 |
public void addFeataureNodesByStringList(String[] featureStringList, FeatureNode root, IInputTransformer transformer, ITermService termService){ |
|
162 |
public void addFeataureNodesByStringList(String[] featureStringList, FeatureNode<Feature> root, IInputTransformer transformer, ITermService termService){
|
|
167 | 163 |
try { |
168 | 164 |
for (String featureString : featureStringList){ |
169 | 165 |
UUID featureUuid; |
170 | 166 |
featureUuid = transformer.getFeatureUuid(featureString); |
171 | 167 |
Feature feature = (Feature)termService.find(featureUuid); |
172 | 168 |
if (feature != null){ |
173 |
FeatureNode child = FeatureNode.NewInstance(feature); |
|
174 |
root.addChild(child); |
|
169 |
root.addChild(feature); |
|
175 | 170 |
} |
176 | 171 |
} |
177 | 172 |
} catch (UndefinedTransformerMethodException e) { |
app-import/src/main/java/eu/etaxonomy/cdm/app/edaphobase/EdaphobaseActivator.java | ||
---|---|---|
92 | 92 |
CdmDefaultImport<EdaphobaseImportConfigurator> myImport = new CdmDefaultImport<>(); |
93 | 93 |
myImport.invoke(config); |
94 | 94 |
|
95 |
FeatureTree tree = makeFeatureNodes(myImport.getCdmAppController().getTermService()); |
|
95 |
FeatureTree<Feature> tree = makeFeatureNodes(myImport.getCdmAppController().getTermService());
|
|
96 | 96 |
myImport.getCdmAppController().getFeatureTreeService().saveOrUpdate(tree); |
97 | 97 |
} |
98 | 98 |
|
99 |
private FeatureTree makeFeatureNodes(ITermService service){ |
|
99 |
private FeatureTree<Feature> makeFeatureNodes(ITermService service){
|
|
100 | 100 |
|
101 |
FeatureTree result = FeatureTree.NewInstance(featureTreeUuid); |
|
101 |
FeatureTree<Feature> result = FeatureTree.NewInstance(featureTreeUuid);
|
|
102 | 102 |
result.setTitleCache(featureTreeTitle, true); |
103 |
FeatureNode root = result.getRoot(); |
|
104 |
FeatureNode newNode; |
|
103 |
FeatureNode<Feature> root = result.getRoot(); |
|
105 | 104 |
|
106 | 105 |
Feature distributionFeature = (Feature)service.find(Feature.DISTRIBUTION().getUuid()); |
107 |
newNode = FeatureNode.NewInstance(distributionFeature); |
|
108 |
root.addChild(newNode); |
|
106 |
root.addChild(distributionFeature); |
|
109 | 107 |
|
110 | 108 |
return result; |
111 | 109 |
} |
app-import/src/main/java/eu/etaxonomy/cdm/app/mexico/MexicoConabioActivator.java | ||
---|---|---|
36 | 36 |
/** |
37 | 37 |
* @author a.mueller |
38 | 38 |
* @since 16.06.2016 |
39 |
* |
|
40 | 39 |
*/ |
41 | 40 |
public class MexicoConabioActivator { |
42 | 41 |
private static final Logger logger = Logger.getLogger(MexicoConabioActivator.class); |
... | ... | |
92 | 91 |
myImport.invoke(config); |
93 | 92 |
|
94 | 93 |
if (true){ |
95 |
FeatureTree tree = makeFeatureNodes(myImport.getCdmAppController()); |
|
94 |
FeatureTree<Feature> tree = makeFeatureNodes(myImport.getCdmAppController());
|
|
96 | 95 |
myImport.getCdmAppController().getFeatureTreeService().saveOrUpdate(tree); |
97 | 96 |
} |
98 | 97 |
|
... | ... | |
128 | 127 |
return result; |
129 | 128 |
} |
130 | 129 |
|
131 |
private FeatureTree makeFeatureNodes(ICdmRepository app){ |
|
130 |
private FeatureTree<Feature> makeFeatureNodes(ICdmRepository app){
|
|
132 | 131 |
|
133 |
FeatureTree result = FeatureTree.NewInstance(featureTreeUuid); |
|
132 |
FeatureTree<Feature> result = FeatureTree.NewInstance(featureTreeUuid);
|
|
134 | 133 |
result.setTitleCache("Mexico Rubiaceae Feature Tree", true); |
135 |
FeatureNode root = result.getRoot(); |
|
136 |
FeatureNode newNode; |
|
134 |
FeatureNode<Feature> root = result.getRoot(); |
|
137 | 135 |
|
138 | 136 |
Feature distribution = Feature.DISTRIBUTION(); |
139 | 137 |
Representation rep = Representation.NewInstance("Distribución", "Distribución", null, Language.SPANISH_CASTILIAN()); |
140 | 138 |
distribution.addRepresentation(rep); |
141 | 139 |
app.getTermService().saveOrUpdate(distribution); |
142 |
newNode = FeatureNode.NewInstance(distribution); |
|
143 |
root.addChild(newNode); |
|
140 |
root.addChild(distribution); |
|
144 | 141 |
|
145 | 142 |
Feature commonName = Feature.COMMON_NAME(); |
146 | 143 |
rep = Representation.NewInstance("Nombres comunes", "Nombres comunes", null, Language.SPANISH_CASTILIAN()); |
147 | 144 |
commonName.addRepresentation(rep); |
148 | 145 |
app.getTermService().saveOrUpdate(commonName); |
149 |
newNode = FeatureNode.NewInstance(commonName); |
|
150 |
root.addChild(newNode); |
|
146 |
root.addChild(commonName); |
|
151 | 147 |
|
152 | 148 |
Feature notes = Feature.NOTES(); |
153 | 149 |
rep = Representation.NewInstance("Notas", "Notas", null, Language.SPANISH_CASTILIAN()); |
154 | 150 |
notes.addRepresentation(rep); |
155 | 151 |
app.getTermService().saveOrUpdate(notes); |
156 |
newNode = FeatureNode.NewInstance(notes); |
|
157 |
root.addChild(newNode); |
|
152 |
root.addChild(notes); |
|
158 | 153 |
|
159 | 154 |
return result; |
160 | 155 |
} |
app-import/src/main/java/eu/etaxonomy/cdm/app/vibrant/EuroMedActivatorVibrant.java | ||
---|---|---|
1 | 1 |
/** |
2 | 2 |
* Copyright (C) 2007 EDIT |
3 |
* European Distributed Institute of Taxonomy
|
|
3 |
* European Distributed Institute of Taxonomy |
|
4 | 4 |
* http://www.e-taxonomy.eu |
5 |
*
|
|
5 |
* |
|
6 | 6 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
7 | 7 |
* See LICENSE.TXT at the top of this package for the full license terms. |
8 | 8 |
*/ |
... | ... | |
32 | 32 |
import eu.etaxonomy.cdm.model.description.Feature; |
33 | 33 |
import eu.etaxonomy.cdm.model.name.NomenclaturalCode; |
34 | 34 |
import eu.etaxonomy.cdm.model.taxon.TaxonBase; |
35 |
import eu.etaxonomy.cdm.model.term.FeatureNode; |
|
36 | 35 |
import eu.etaxonomy.cdm.model.term.FeatureTree; |
37 | 36 |
|
38 | 37 |
|
39 | 38 |
/** |
40 | 39 |
* TODO add the following to a wiki page: |
41 |
* HINT: If you are about to import into a mysql data base running under windows and if you wish to dump and restore the resulting data bas under another operation systen
|
|
40 |
* HINT: If you are about to import into a mysql data base running under windows and if you wish to dump and restore the resulting data bas under another operation systen |
|
42 | 41 |
* you must set the mysql system variable lower_case_table_names = 0 in order to create data base with table compatible names. |
43 |
*
|
|
44 |
*
|
|
42 |
* |
|
43 |
* |
|
45 | 44 |
* @author a.mueller |
46 | 45 |
* |
47 | 46 |
*/ |
... | ... | |
52 | 51 |
static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE; |
53 | 52 |
// static final Source berlinModelSource = BerlinModelSources.euroMed(); |
54 | 53 |
static final Source berlinModelSource = BerlinModelSources.euroMed_PESI3(); |
55 |
|
|
54 |
|
|
56 | 55 |
// static final ICdmDataSource cdmDestination = CdmDestinations.cdm_pesi_euroMed(); |
57 | 56 |
// static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_mysql(); |
58 | 57 |
static final ICdmDataSource cdmDestination = CdmDestinations.cdm_local_test_mysql(); |
59 |
|
|
58 |
|
|
60 | 59 |
static final boolean includePesiExport = false; |
61 |
|
|
60 |
|
|
62 | 61 |
static final int sourceSecId = 7000000; //500000 |
63 | 62 |
static final UUID classificationUuid = UUID.fromString("5e05ebc5-6075-45ff-81df-4cefafafa4a3"); |
64 | 63 |
static final boolean useSingleClassification = true; |
65 |
|
|
64 |
|
|
66 | 65 |
//from PESI-transformer |
67 | 66 |
static UUID uuidSourceRefEuroMed = UUID.fromString("0603a84a-f024-4454-ab92-9e2ac0139126"); |
68 |
|
|
67 |
|
|
69 | 68 |
static final UUID featureTreeUuid = UUID.fromString("eff345e7-0619-4ec3-955d-997c1fafffc3"); |
70 |
static final Object[] featureKeyList = new Integer[]{1, 31, 4, 98, 41};
|
|
71 |
|
|
69 |
static final Object[] featureKeyList = new Integer[]{1, 31, 4, 98, 41}; |
|
70 |
|
|
72 | 71 |
// set to zero for unlimited nameFacts |
73 | 72 |
static final int maximumNumberOfNameFacts = 0; |
74 |
|
|
73 |
|
|
75 | 74 |
static final int partitionSize = 2500; |
76 |
|
|
75 |
|
|
77 | 76 |
//check - import |
78 | 77 |
static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK; |
79 | 78 |
|
80 | 79 |
//editor - import |
81 | 80 |
static final EDITOR editor = EDITOR.EDITOR_AS_EDITOR; |
82 |
|
|
81 |
|
|
83 | 82 |
//NomenclaturalCode |
84 | 83 |
static final NomenclaturalCode nomenclaturalCode = NomenclaturalCode.ICNAFP; |
85 | 84 |
|
86 | 85 |
//ignore null |
87 | 86 |
static final boolean ignoreNull = true; |
88 |
|
|
87 |
|
|
89 | 88 |
static final boolean switchSpeciesGroup = true; |
90 |
|
|
89 |
|
|
91 | 90 |
static boolean useClassification = true; |
92 |
|
|
93 |
|
|
91 |
|
|
92 |
|
|
94 | 93 |
static String taxonTable = "v_cdm_exp_taxaAll"; |
95 |
static String classificationQuery = " SELECT DISTINCT t.PTRefFk, r.RefCache FROM PTaxon t INNER JOIN Reference r ON t.PTRefFk = r.RefId WHERE t.PTRefFk = " + sourceSecId;
|
|
96 |
static String relPTaxonIdQuery = " SELECT r.RelPTaxonId " +
|
|
94 |
static String classificationQuery = " SELECT DISTINCT t.PTRefFk, r.RefCache FROM PTaxon t INNER JOIN Reference r ON t.PTRefFk = r.RefId WHERE t.PTRefFk = " + sourceSecId; |
|
95 |
static String relPTaxonIdQuery = " SELECT r.RelPTaxonId " + |
|
97 | 96 |
" FROM RelPTaxon AS r INNER JOIN v_cdm_exp_taxaDirect AS a ON r.PTNameFk2 = a.PTNameFk AND r.PTRefFk2 = a.PTRefFk "; |
98 | 97 |
static String nameIdTable = " v_cdm_exp_namesAll "; |
99 | 98 |
static String referenceIdTable = " v_cdm_exp_refAll "; |
100 | 99 |
static String factFilter = " factId IN ( SELECT factId FROM v_cdm_exp_factsAll )"; |
101 | 100 |
static String occurrenceFilter = " occurrenceId IN ( SELECT occurrenceId FROM v_cdm_exp_occurrenceAll )"; |
102 |
static String occurrenceSourceFilter = " occurrenceFk IN ( SELECT occurrenceId FROM v_cdm_exp_occurrenceAll )";
|
|
101 |
static String occurrenceSourceFilter = " occurrenceFk IN ( SELECT occurrenceId FROM v_cdm_exp_occurrenceAll )"; |
|
103 | 102 |
static String commonNameFilter = " commonNameId IN ( SELECT commonNameId FROM v_cdm_exp_commonNamesAll )"; |
104 | 103 |
static String webMarkerFilter = " TableNameFk <> 500 OR ( RIdentifierFk IN (SELECT RIdentifier FROM v_cdm_exp_taxaAll)) "; |
105 | 104 |
static String authorTeamFilter = null; // " authorTeamId IN (SELECT authorTeamId FROM v_cdm_exp_authorTeamsAll) "; |
106 |
static String authorFilter = null; // " authorId IN (SELECT authorId FROM v_cdm_exp_authorsAll) ";
|
|
107 |
|
|
105 |
static String authorFilter = null; // " authorId IN (SELECT authorId FROM v_cdm_exp_authorsAll) "; |
|
106 |
|
|
108 | 107 |
|
109 |
|
|
110 |
// **************** ALL *********************
|
|
108 |
|
|
109 |
// **************** ALL ********************* |
|
111 | 110 |
|
112 | 111 |
static final boolean doUser = true; |
113 | 112 |
//authors |
... | ... | |
119 | 118 |
static final boolean doRelNames = true; |
120 | 119 |
static final boolean doNameStatus = true; |
121 | 120 |
static final boolean doNameFacts = true; |
122 |
|
|
121 |
|
|
123 | 122 |
//taxa |
124 | 123 |
static final boolean doTaxa = true; |
125 | 124 |
static final boolean doRelTaxa = true; |
... | ... | |
128 | 127 |
static final boolean doCommonNames = false; //currently creates errors |
129 | 128 |
|
130 | 129 |
|
131 |
|
|
130 |
|
|
132 | 131 |
// **************** SELECTED ********************* |
133 | 132 |
|
134 | 133 |
// static final boolean doUser = true; |
... | ... | |
142 | 141 |
// static final boolean doNameStatus = false; |
143 | 142 |
// static final boolean doTypes = false; |
144 | 143 |
// static final boolean doNameFacts = false; |
145 |
//
|
|
146 |
// //taxa
|
|
144 |
// |
|
145 |
// //taxa |
|
147 | 146 |
// static final boolean doTaxa = false; |
148 | 147 |
// static final boolean doRelTaxa = false; |
149 | 148 |
// static final boolean doFacts = false; |
150 | 149 |
// static final boolean doOccurences = false; |
151 | 150 |
// static final boolean doCommonNames = false; |
152 |
//
|
|
151 |
// |
|
153 | 152 |
// //etc. |
154 | 153 |
// static final boolean doMarker = false; |
155 | 154 |
|
156 | 155 |
//always false |
157 |
static final boolean doTypes = false;
|
|
156 |
static final boolean doTypes = false; |
|
158 | 157 |
static final boolean doMarker = false; |
159 | 158 |
|
160 |
|
|
159 |
|
|
161 | 160 |
public void importEm2CDM (Source source, ICdmDataSource destination, DbSchemaValidation hbm2dll){ |
162 | 161 |
System.out.println("Start import from BerlinModel("+ source.getDatabase() + ") to " + destination.getDatabase() + " ..."); |
163 | 162 |
//make BerlinModel Source |
164 |
|
|
163 |
|
|
165 | 164 |
logger.warn("REMIND: Set publishFlag = 1 filter in 'v_cdm_exp_taxaDirect' view !! "); |
166 |
|
|
165 |
|
|
167 | 166 |
BerlinModelImportConfigurator config = BerlinModelImportConfigurator.NewInstance(source, destination); |
168 |
|
|
167 |
|
|
169 | 168 |
config.setClassificationUuid(classificationUuid); |
170 | 169 |
config.setSourceSecId(sourceSecId); |
171 |
|
|
170 |
|
|
172 | 171 |
config.setNomenclaturalCode(nomenclaturalCode); |
173 | 172 |
|
174 | 173 |
try { |
... | ... | |
178 | 177 |
e.printStackTrace(); |
179 | 178 |
return; |
180 | 179 |
} |
181 |
|
|
182 |
|
|
180 |
|
|
181 |
|
|
183 | 182 |
config.setIgnoreNull(ignoreNull); |
184 | 183 |
config.setDoAuthors(doAuthors); |
185 | 184 |
config.setDoReferences(doReferences); |
... | ... | |
190 | 189 |
config.setDoNameFacts(doNameFacts); |
191 | 190 |
config.setUseClassification(useClassification); |
192 | 191 |
config.setSourceRefUuid(uuidSourceRefEuroMed); |
193 |
|
|
192 |
|
|
194 | 193 |
config.setDoTaxa(doTaxa); |
195 | 194 |
config.setDoRelTaxa(doRelTaxa); |
196 | 195 |
config.setDoFacts(doFacts); |
197 | 196 |
config.setDoOccurrence(doOccurences); |
198 | 197 |
config.setDoCommonNames(doCommonNames); |
199 |
|
|
198 |
|
|
200 | 199 |
config.setDoMarker(doMarker); |
201 | 200 |
config.setDoUser(doUser); |
202 | 201 |
config.setEditor(editor); |
203 | 202 |
config.setDbSchemaValidation(hbm2dll); |
204 |
|
|
203 |
|
|
205 | 204 |
// maximum number of name facts to import |
206 | 205 |
config.setMaximumNumberOfNameFacts(maximumNumberOfNameFacts); |
207 |
|
|
206 |
|
|
208 | 207 |
// filter |
209 | 208 |
config.setTaxonTable(taxonTable); |
210 | 209 |
config.setClassificationQuery(classificationQuery); |
... | ... | |
219 | 218 |
config.setOccurrenceSourceFilter(occurrenceSourceFilter); |
220 | 219 |
config.setWebMarkerFilter(webMarkerFilter); |
221 | 220 |
config.setUseSingleClassification(useSingleClassification); |
222 |
|
|
221 |
|
|
223 | 222 |
config.setCheck(check); |
224 | 223 |
config.setEditor(editor); |
225 | 224 |
config.setRecordsPerTransaction(partitionSize); |
226 |
|
|
225 |
|
|
227 | 226 |
config.setSwitchSpeciesGroup(switchSpeciesGroup); |
228 |
|
|
227 |
|
|
229 | 228 |
// invoke import |
230 | 229 |
CdmDefaultImport<BerlinModelImportConfigurator> bmImport = new CdmDefaultImport<BerlinModelImportConfigurator>(); |
231 | 230 |
bmImport.invoke(config); |
232 |
|
|
231 |
|
|
233 | 232 |
if (doFacts && config.getCheck().equals(CHECK.CHECK_AND_IMPORT) || config.getCheck().equals(CHECK.IMPORT_WITHOUT_CHECK) ){ |
234 | 233 |
ICdmRepository app = bmImport.getCdmAppController(); |
235 |
|
|
234 |
|
|
236 | 235 |
//make feature tree |
237 |
FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, config.getFeatureMap(), featureKeyList); |
|
238 |
FeatureNode imageNode = FeatureNode.NewInstance(Feature.IMAGE()); |
|
239 |
tree.getRoot().addChild(imageNode); |
|
240 |
FeatureNode distributionNode = FeatureNode.NewInstance(Feature.DISTRIBUTION()); |
|
241 |
tree.getRoot().addChild(distributionNode, 2); |
|
236 |
FeatureTree<Feature> tree = TreeCreator.flatTree(featureTreeUuid, config.getFeatureMap(), featureKeyList); |
|
237 |
tree.getRoot().addChild(Feature.IMAGE()); |
|
238 |
tree.getRoot().addChild(Feature.DISTRIBUTION(), 2); |
|
242 | 239 |
app.getFeatureTreeService().saveOrUpdate(tree); |
243 | 240 |
} |
244 |
|
|
241 |
|
|
245 | 242 |
System.out.println("End import from BerlinModel ("+ source.getDatabase() + ")..."); |
246 | 243 |
|
247 | 244 |
logger.warn("REMIND: Set publishFlag back to <= 1 in 'v_cdm_exp_taxaDirect' view !! "); |
248 | 245 |
|
249 |
|
|
246 |
|
|
250 | 247 |
} |
251 |
|
|
248 |
|
|
252 | 249 |
/** |
253 | 250 |
* @param args |
254 | 251 |
*/ |
... | ... | |
256 | 253 |
EuroMedActivatorVibrant importActivator = new EuroMedActivatorVibrant(); |
257 | 254 |
Source source = berlinModelSource; |
258 | 255 |
ICdmDataSource cdmRepository = CdmDestinations.chooseDestination(args) != null ? CdmDestinations.chooseDestination(args) : cdmDestination; |
259 |
|
|
256 |
|
|
260 | 257 |
importActivator.importEm2CDM(source, cdmRepository, hbm2dll); |
261 | 258 |
} |
262 |
|
|
259 |
|
|
263 | 260 |
private static final String URLbase = "http://ww2.bgbm.org/EuroPlusMed/PTaxonDetail.asp?"; |
264 | 261 |
public static Method makeUrlForTaxon(TaxonBase<?> taxon, ResultSet rs){ |
265 | 262 |
Method result = null; |
... | ... | |
277 | 274 |
} catch (SQLException e) { |
278 | 275 |
logger.warn("Exception when trying to access result set for url creation."); |
279 | 276 |
} |
280 |
|
|
277 |
|
|
281 | 278 |
return result; |
282 | 279 |
} |
283 | 280 |
|
app-import/src/main/java/eu/etaxonomy/cdm/app/vibrant/EuroMedVibrantActivator.java | ||
---|---|---|
1 | 1 |
/** |
2 | 2 |
* Copyright (C) 2007 EDIT |
3 |
* European Distributed Institute of Taxonomy
|
|
3 |
* European Distributed Institute of Taxonomy |
|
4 | 4 |
* http://www.e-taxonomy.eu |
5 |
*
|
|
5 |
* |
|
6 | 6 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
7 | 7 |
* See LICENSE.TXT at the top of this package for the full license terms. |
8 | 8 |
*/ |
... | ... | |
32 | 32 |
import eu.etaxonomy.cdm.model.description.Feature; |
33 | 33 |
import eu.etaxonomy.cdm.model.name.NomenclaturalCode; |
34 | 34 |
import eu.etaxonomy.cdm.model.taxon.TaxonBase; |
35 |
import eu.etaxonomy.cdm.model.term.FeatureNode; |
|
36 | 35 |
import eu.etaxonomy.cdm.model.term.FeatureTree; |
37 | 36 |
|
38 | 37 |
|
39 | 38 |
/** |
40 | 39 |
* TODO add the following to a wiki page: |
41 |
* HINT: If you are about to import into a mysql data base running under windows and if you wish to dump and restore the resulting data bas under another operation systen
|
|
40 |
* HINT: If you are about to import into a mysql data base running under windows and if you wish to dump and restore the resulting data bas under another operation systen |
|
42 | 41 |
* you must set the mysql system variable lower_case_table_names = 0 in order to create data base with table compatible names. |
43 |
*
|
|
44 |
*
|
|
42 |
* |
|
43 |
* |
|
45 | 44 |
* @author a.mueller |
46 | 45 |
* |
47 | 46 |
*/ |
... | ... | |
52 | 51 |
static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE; |
53 | 52 |
// static final Source berlinModelSource = BerlinModelSources.euroMed(); |
54 | 53 |
static final Source berlinModelSource = BerlinModelSources.euroMed_PESI3(); |
55 |
|
|
54 |
|
|
56 | 55 |
// static final ICdmDataSource cdmDestination = CdmDestinations.cdm_pesi_euroMed(); |
57 | 56 |
// static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_mysql(); |
58 | 57 |
static final ICdmDataSource cdmDestination = CdmDestinations.cdm_local_test_mysql(); |
59 |
|
|
58 |
|
|
60 | 59 |
static final boolean includePesiExport = false; |
61 |
|
|
60 |
|
|
62 | 61 |
static final int sourceSecId = 7000000; //500000 |
63 | 62 |
static final UUID classificationUuid = UUID.fromString("5e05ebc5-6075-45ff-81df-4cefafafa4a3"); |
64 | 63 |
static final boolean useSingleClassification = true; |
65 |
|
|
64 |
|
|
66 | 65 |
//from PESI-transformer |
67 | 66 |
static UUID uuidSourceRefEuroMed = UUID.fromString("0603a84a-f024-4454-ab92-9e2ac0139126"); |
68 |
|
|
67 |
|
|
69 | 68 |
static final UUID featureTreeUuid = UUID.fromString("eff345e7-0619-4ec3-955d-997c1fafffc3"); |
70 |
static final Object[] featureKeyList = new Integer[]{1, 31, 4, 98, 41};
|
|
71 |
|
|
69 |
static final Object[] featureKeyList = new Integer[]{1, 31, 4, 98, 41}; |
|
70 |
|
|
72 | 71 |
// set to zero for unlimited nameFacts |
73 | 72 |
static final int maximumNumberOfNameFacts = 0; |
74 |
|
|
73 |
|
|
75 | 74 |
static final int partitionSize = 2500; |
76 |
|
|
75 |
|
|
77 | 76 |
//check - import |
78 | 77 |
static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK; |
79 | 78 |
|
80 | 79 |
//editor - import |
81 | 80 |
static final EDITOR editor = EDITOR.EDITOR_AS_EDITOR; |
82 |
|
|
81 |
|
|
83 | 82 |
//NomenclaturalCode |
84 | 83 |
static final NomenclaturalCode nomenclaturalCode = NomenclaturalCode.ICNAFP; |
85 | 84 |
|
86 | 85 |
//ignore null |
87 | 86 |
static final boolean ignoreNull = true; |
88 |
|
|
87 |
|
|
89 | 88 |
static final boolean switchSpeciesGroup = true; |
90 |
|
|
89 |
|
|
91 | 90 |
static boolean useClassification = true; |
92 |
|
|
93 |
|
|
91 |
|
|
92 |
|
|
94 | 93 |
static String taxonTable = "v_cdm_exp_taxaAll"; |
95 |
static String classificationQuery = " SELECT DISTINCT t.PTRefFk, r.RefCache FROM PTaxon t INNER JOIN Reference r ON t.PTRefFk = r.RefId WHERE t.PTRefFk = " + sourceSecId;
|
|
96 |
static String relPTaxonIdQuery = " SELECT r.RelPTaxonId " +
|
|
94 |
static String classificationQuery = " SELECT DISTINCT t.PTRefFk, r.RefCache FROM PTaxon t INNER JOIN Reference r ON t.PTRefFk = r.RefId WHERE t.PTRefFk = " + sourceSecId; |
|
95 |
static String relPTaxonIdQuery = " SELECT r.RelPTaxonId " + |
|
97 | 96 |
" FROM RelPTaxon AS r INNER JOIN v_cdm_exp_taxaDirect AS a ON r.PTNameFk2 = a.PTNameFk AND r.PTRefFk2 = a.PTRefFk "; |
98 | 97 |
static String nameIdTable = " v_cdm_exp_namesAll "; |
99 | 98 |
static String referenceIdTable = " v_cdm_exp_refAll "; |
100 | 99 |
static String factFilter = " factId IN ( SELECT factId FROM v_cdm_exp_factsAll )"; |
101 | 100 |
static String occurrenceFilter = " occurrenceId IN ( SELECT occurrenceId FROM v_cdm_exp_occurrenceAll )"; |
102 |
static String occurrenceSourceFilter = " occurrenceFk IN ( SELECT occurrenceId FROM v_cdm_exp_occurrenceAll )";
|
|
101 |
static String occurrenceSourceFilter = " occurrenceFk IN ( SELECT occurrenceId FROM v_cdm_exp_occurrenceAll )"; |
|
103 | 102 |
static String commonNameFilter = " commonNameId IN ( SELECT commonNameId FROM v_cdm_exp_commonNamesAll )"; |
104 | 103 |
static String webMarkerFilter = " TableNameFk <> 500 OR ( RIdentifierFk IN (SELECT RIdentifier FROM v_cdm_exp_taxaAll)) "; |
105 | 104 |
static String authorTeamFilter = null; // " authorTeamId IN (SELECT authorTeamId FROM v_cdm_exp_authorTeamsAll) "; |
106 |
static String authorFilter = null; // " authorId IN (SELECT authorId FROM v_cdm_exp_authorsAll) ";
|
|
107 |
|
|
105 |
static String authorFilter = null; // " authorId IN (SELECT authorId FROM v_cdm_exp_authorsAll) "; |
|
106 |
|
|
108 | 107 |
|
109 |
|
|
110 |
// **************** ALL *********************
|
|
108 |
|
|
109 |
// **************** ALL ********************* |
|
111 | 110 |
|
112 | 111 |
static final boolean doUser = true; |
113 | 112 |
//authors |
... | ... | |
119 | 118 |
static final boolean doRelNames = true; |
120 | 119 |
static final boolean doNameStatus = true; |
121 | 120 |
static final boolean doNameFacts = true; |
122 |
|
|
121 |
|
|
123 | 122 |
//taxa |
124 | 123 |
static final boolean doTaxa = true; |
125 | 124 |
static final boolean doRelTaxa = true; |
... | ... | |
128 | 127 |
static final boolean doCommonNames = false; //currently creates errors |
129 | 128 |
|
130 | 129 |
|
131 |
|
|
130 |
|
|
132 | 131 |
// **************** SELECTED ********************* |
133 | 132 |
|
134 | 133 |
// static final boolean doUser = true; |
... | ... | |
142 | 141 |
// static final boolean doNameStatus = false; |
143 | 142 |
// static final boolean doTypes = false; |
144 | 143 |
// static final boolean doNameFacts = false; |
145 |
//
|
|
146 |
// //taxa
|
|
144 |
// |
|
145 |
// //taxa |
|
147 | 146 |
// static final boolean doTaxa = false; |
148 | 147 |
// static final boolean doRelTaxa = false; |
149 | 148 |
// static final boolean doFacts = false; |
150 | 149 |
// static final boolean doOccurences = false; |
151 | 150 |
// static final boolean doCommonNames = false; |
152 |
//
|
|
151 |
// |
|
153 | 152 |
// //etc. |
154 | 153 |
// static final boolean doMarker = false; |
155 | 154 |
|
156 | 155 |
//always false |
157 |
static final boolean doTypes = false;
|
|
156 |
static final boolean doTypes = false; |
|
158 | 157 |
static final boolean doMarker = false; |
159 | 158 |
|
160 |
|
|
159 |
|
|
161 | 160 |
public void importEm2CDM (Source source, ICdmDataSource destination, DbSchemaValidation hbm2dll){ |
162 | 161 |
System.out.println("Start import from BerlinModel("+ source.getDatabase() + ") to " + destination.getDatabase() + " ..."); |
163 | 162 |
//make BerlinModel Source |
164 |
|
|
163 |
|
|
165 | 164 |
logger.warn("REMIND: Set publishFlag = 1 filter in 'v_cdm_exp_taxaDirect' view !! "); |
166 |
|
|
165 |
|
|
167 | 166 |
BerlinModelImportConfigurator config = BerlinModelImportConfigurator.NewInstance(source, destination); |
168 |
|
|
167 |
|
|
169 | 168 |
config.setClassificationUuid(classificationUuid); |
170 | 169 |
config.setSourceSecId(sourceSecId); |
171 |
|
|
170 |
|
|
172 | 171 |
config.setNomenclaturalCode(nomenclaturalCode); |
173 | 172 |
|
174 | 173 |
try { |
... | ... | |
178 | 177 |
e.printStackTrace(); |
179 | 178 |
return; |
180 | 179 |
} |
181 |
|
|
182 |
|
|
180 |
|
|
181 |
|
|
183 | 182 |
config.setIgnoreNull(ignoreNull); |
184 | 183 |
config.setDoAuthors(doAuthors); |
185 | 184 |
config.setDoReferences(doReferences); |
... | ... | |
190 | 189 |
config.setDoNameFacts(doNameFacts); |
191 | 190 |
config.setUseClassification(useClassification); |
192 | 191 |
config.setSourceRefUuid(uuidSourceRefEuroMed); |
193 |
|
|
192 |
|
|
194 | 193 |
config.setDoTaxa(doTaxa); |
195 | 194 |
config.setDoRelTaxa(doRelTaxa); |
196 | 195 |
config.setDoFacts(doFacts); |
197 | 196 |
config.setDoOccurrence(doOccurences); |
198 | 197 |
config.setDoCommonNames(doCommonNames); |
199 |
|
|
198 |
|
|
200 | 199 |
config.setDoMarker(doMarker); |
201 | 200 |
config.setDoUser(doUser); |
202 | 201 |
config.setEditor(editor); |
203 | 202 |
config.setDbSchemaValidation(hbm2dll); |
204 |
|
|
203 |
|
|
205 | 204 |
// maximum number of name facts to import |
206 | 205 |
config.setMaximumNumberOfNameFacts(maximumNumberOfNameFacts); |
207 |
|
|
206 |
|
|
208 | 207 |
// filter |
209 | 208 |
config.setTaxonTable(taxonTable); |
210 | 209 |
config.setClassificationQuery(classificationQuery); |
... | ... | |
219 | 218 |
config.setOccurrenceSourceFilter(occurrenceSourceFilter); |
220 | 219 |
config.setWebMarkerFilter(webMarkerFilter); |
221 | 220 |
config.setUseSingleClassification(useSingleClassification); |
222 |
|
|
221 |
|
|
223 | 222 |
config.setCheck(check); |
224 | 223 |
config.setEditor(editor); |
225 | 224 |
config.setRecordsPerTransaction(partitionSize); |
226 |
|
|
225 |
|
|
227 | 226 |
config.setSwitchSpeciesGroup(switchSpeciesGroup); |
228 |
|
|
227 |
|
|
229 | 228 |
// invoke import |
230 | 229 |
CdmDefaultImport<BerlinModelImportConfigurator> bmImport = new CdmDefaultImport<BerlinModelImportConfigurator>(); |
231 | 230 |
bmImport.invoke(config); |
232 |
|
|
231 |
|
|
233 | 232 |
if (doFacts && config.getCheck().equals(CHECK.CHECK_AND_IMPORT) || config.getCheck().equals(CHECK.IMPORT_WITHOUT_CHECK) ){ |
234 | 233 |
ICdmRepository app = bmImport.getCdmAppController(); |
235 |
|
|
234 |
|
|
236 | 235 |
//make feature tree |
237 |
FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, config.getFeatureMap(), featureKeyList); |
|
238 |
FeatureNode imageNode = FeatureNode.NewInstance(Feature.IMAGE()); |
|
239 |
tree.getRoot().addChild(imageNode); |
|
240 |
FeatureNode distributionNode = FeatureNode.NewInstance(Feature.DISTRIBUTION()); |
|
241 |
tree.getRoot().addChild(distributionNode, 2); |
|
236 |
FeatureTree<Feature> tree = TreeCreator.flatTree(featureTreeUuid, config.getFeatureMap(), featureKeyList); |
|
237 |
tree.getRoot().addChild(Feature.IMAGE()); |
|
238 |
tree.getRoot().addChild(Feature.DISTRIBUTION(), 2); |
|
242 | 239 |
app.getFeatureTreeService().saveOrUpdate(tree); |
243 | 240 |
} |
244 |
|
|
241 |
|
|
245 | 242 |
System.out.println("End import from BerlinModel ("+ source.getDatabase() + ")..."); |
246 | 243 |
|
247 | 244 |
logger.warn("REMIND: Set publishFlag back to <= 1 in 'v_cdm_exp_taxaDirect' view !! "); |
248 | 245 |
|
249 |
|
|
246 |
|
|
250 | 247 |
} |
251 |
|
|
248 |
|
|
252 | 249 |
/** |
253 | 250 |
* @param args |
254 | 251 |
*/ |
... | ... | |
256 | 253 |
EuroMedVibrantActivator importActivator = new EuroMedVibrantActivator(); |
257 | 254 |
Source source = berlinModelSource; |
258 | 255 |
ICdmDataSource cdmRepository = CdmDestinations.chooseDestination(args) != null ? CdmDestinations.chooseDestination(args) : cdmDestination; |
259 |
|
|
256 |
|
|
260 | 257 |
importActivator.importEm2CDM(source, cdmRepository, hbm2dll); |
261 | 258 |
} |
262 |
|
|
259 |
|
|
263 | 260 |
private static final String URLbase = "http://ww2.bgbm.org/EuroPlusMed/PTaxonDetail.asp?"; |
264 | 261 |
public static Method makeUrlForTaxon(TaxonBase<?> taxon, ResultSet rs){ |
265 | 262 |
Method result = null; |
... | ... | |
277 | 274 |
} catch (SQLException e) { |
278 | 275 |
logger.warn("Exception when trying to access result set for url creation."); |
279 | 276 |
} |
280 |
|
|
277 |
|
|
281 | 278 |
return result; |
282 | 279 |
} |
283 | 280 |
|
app-import/src/main/java/eu/etaxonomy/cdm/app/wp6/cichorieae/CichorieaeActivator.java | ||
---|---|---|
36 | 36 |
import eu.etaxonomy.cdm.model.name.NomenclaturalCode; |
37 | 37 |
import eu.etaxonomy.cdm.model.name.TaxonName; |
38 | 38 |
import eu.etaxonomy.cdm.model.reference.ISourceable; |
39 |
import eu.etaxonomy.cdm.model.term.FeatureNode; |
|
40 | 39 |
import eu.etaxonomy.cdm.model.term.FeatureTree; |
41 | 40 |
|
42 | 41 |
|
... | ... | |
224 | 223 |
logger.info(obj); |
225 | 224 |
|
226 | 225 |
//make feature tree |
227 |
FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, bmImportConfigurator.getFeatureMap(), featureKeyList); |
|
228 |
FeatureNode imageNode = FeatureNode.NewInstance(Feature.IMAGE()); |
|
229 |
tree.getRoot().addChild(imageNode); |
|
230 |
FeatureNode distributionNode = FeatureNode.NewInstance(Feature.DISTRIBUTION()); |
|
231 |
tree.getRoot().addChild(distributionNode, 2); |
|
226 |
FeatureTree<Feature> tree = TreeCreator.flatTree(featureTreeUuid, bmImportConfigurator.getFeatureMap(), featureKeyList); |
|
227 |
tree.getRoot().addChild(Feature.IMAGE()); |
|
228 |
tree.getRoot().addChild(Feature.DISTRIBUTION(), 2); |
|
232 | 229 |
app.getFeatureTreeService().saveOrUpdate(tree); |
233 | 230 |
} |
234 | 231 |
|
app-import/src/main/java/eu/etaxonomy/cdm/app/wp6/diptera/DipteraActivator.java | ||
---|---|---|
12 | 12 |
import java.lang.reflect.Method; |
13 | 13 |
import java.util.UUID; |
14 | 14 |
|
15 |
import org.apache.commons.lang3.StringUtils; |
|
15 | 16 |
import org.apache.log4j.Logger; |
16 | 17 |
|
17 | 18 |
import eu.etaxonomy.cdm.api.application.ICdmRepository; |
18 | 19 |
import eu.etaxonomy.cdm.app.berlinModelImport.BerlinModelSources; |
19 | 20 |
import eu.etaxonomy.cdm.app.berlinModelImport.TreeCreator; |
20 | 21 |
import eu.etaxonomy.cdm.app.common.CdmDestinations; |
21 |
import eu.etaxonomy.cdm.common.CdmUtils; |
|
22 | 22 |
import eu.etaxonomy.cdm.database.DbSchemaValidation; |
23 | 23 |
import eu.etaxonomy.cdm.database.ICdmDataSource; |
24 | 24 |
import eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportConfigurator; |
... | ... | |
32 | 32 |
import eu.etaxonomy.cdm.model.description.Feature; |
33 | 33 |
import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus; |
34 | 34 |
import eu.etaxonomy.cdm.model.name.NomenclaturalCode; |
35 |
import eu.etaxonomy.cdm.model.term.FeatureNode; |
|
36 | 35 |
import eu.etaxonomy.cdm.model.term.FeatureTree; |
37 | 36 |
|
38 | 37 |
|
... | ... | |
195 | 194 |
} |
196 | 195 |
//make feature tree |
197 | 196 |
app = bmImport.getCdmAppController(); |
198 |
FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, bmImportConfigurator.getFeatureMap(), featureKeyList); |
|
197 |
FeatureTree<Feature> tree = TreeCreator.flatTree(featureTreeUuid, bmImportConfigurator.getFeatureMap(), featureKeyList);
|
|
199 | 198 |
// add image |
200 |
FeatureNode imageNode = FeatureNode.NewInstance(Feature.IMAGE()); |
|
201 |
tree.getRoot().addChild(imageNode); |
|
199 |
tree.getRoot().addChild(Feature.IMAGE()); |
|
202 | 200 |
// add distribution |
203 |
FeatureNode distributionNode = FeatureNode.NewInstance(Feature.DISTRIBUTION()); |
|
204 |
tree.getRoot().addChild(distributionNode); |
|
201 |
tree.getRoot().addChild(Feature.DISTRIBUTION()); |
|
205 | 202 |
app.getFeatureTreeService().saveOrUpdate(tree); |
206 | 203 |
} |
207 | 204 |
System.out.println("End import from BerlinModel ("+ source.getDatabase() + ")..."); |
... | ... | |
223 | 220 |
if (updateCollections){ |
224 | 221 |
success = updater.updateCollections(destination); |
225 | 222 |
} |
226 |
|
|
227 |
|
|
228 | 223 |
} |
229 | 224 |
|
230 | 225 |
|
231 |
|
|
232 |
|
|
233 |
|
|
234 | 226 |
private static NameTypeDesignationStatus nameTypeDesignationStatueMethod(String note){ |
235 |
if (CdmUtils.isEmpty(note)){
|
|
227 |
if (StringUtils.isBlank(note)){
|
|
236 | 228 |
return null; |
237 | 229 |
} |
238 | 230 |
note = note.trim(); |
... | ... | |
250 | 242 |
logger.warn("NameTypeDesignationStatus could not be defined for: " + note); |
251 | 243 |
return null; |
252 | 244 |
} |
253 |
|
|
254 |
|
|
255 | 245 |
} |
256 | 246 |
|
257 | 247 |
} |
app-import/src/main/java/eu/etaxonomy/cdm/app/wp6/palmae/PalmaeActivator.java | ||
---|---|---|
122 | 122 |
logger.info("Make feature tree"); |
123 | 123 |
ICdmRepository app = tcsImport.getCdmAppController(); |
124 | 124 |
|
125 |
FeatureTree tree = getFeatureTree(); |
|
125 |
FeatureTree<Feature> tree = getFeatureTree();
|
|
126 | 126 |
app.getFeatureTreeService().saveOrUpdate(tree); |
127 | 127 |
System.out.println("End import from TCS ("+ source.toString() + ")..."); |
128 | 128 |
|
... | ... | |
136 | 136 |
} |
137 | 137 |
|
138 | 138 |
|
139 |
private FeatureTree getFeatureTree(){ |
|
140 |
|
|
141 |
FeatureTree result = FeatureTree.NewInstance(featureTreeUuid); |
|
142 |
FeatureNode root = result.getRoot(); |
|
143 |
|
|
144 |
FeatureNode newNode; |
|
145 |
newNode = FeatureNode.NewInstance(Feature.INTRODUCTION()); |
|
146 |
root.addChild(newNode); |
|
147 |
newNode = FeatureNode.NewInstance(Feature.DISTRIBUTION()); |
|
148 |
root.addChild(newNode); |
|
149 |
newNode = FeatureNode.NewInstance(Feature.BIOLOGY_ECOLOGY()); |
|
150 |
root.addChild(newNode); |
|
151 |
newNode = FeatureNode.NewInstance(Feature.CONSERVATION()); |
|
152 |
root.addChild(newNode); |
|
153 |
newNode = FeatureNode.NewInstance(Feature.COMMON_NAME()); |
|
154 |
root.addChild(newNode); |
|
155 |
newNode = FeatureNode.NewInstance(Feature.ETYMOLOGY()); |
|
156 |
root.addChild(newNode); |
|
157 |
newNode = FeatureNode.NewInstance(Feature.USES()); |
|
158 |
root.addChild(newNode); |
|
159 |
newNode = FeatureNode.NewInstance(Feature.CULTIVATION()); |
|
160 |
root.addChild(newNode); |
|
161 |
newNode = FeatureNode.NewInstance(Feature.DISCUSSION()); |
|
162 |
root.addChild(newNode); |
|
163 |
newNode = FeatureNode.NewInstance(Feature.DIAGNOSIS()); |
|
164 |
root.addChild(newNode); |
|
165 |
newNode = FeatureNode.NewInstance(Feature.DESCRIPTION()); |
|
166 |
root.addChild(newNode); |
|
167 |
newNode = FeatureNode.NewInstance(Feature.MATERIALS_EXAMINED()); |
|
168 |
root.addChild(newNode); |
|
169 |
newNode = FeatureNode.NewInstance(Feature.ANATOMY()); |
|
170 |
root.addChild(newNode); |
|
139 |
private FeatureTree<Feature> getFeatureTree(){ |
|
140 |
|
|
141 |
FeatureTree<Feature> result = FeatureTree.NewInstance(featureTreeUuid); |
|
142 |
FeatureNode<Feature> root = result.getRoot(); |
|
143 |
|
|
144 |
root.addChild(Feature.INTRODUCTION()); |
|
145 |
root.addChild(Feature.DISTRIBUTION()); |
|
146 |
root.addChild(Feature.BIOLOGY_ECOLOGY()); |
|
147 |
root.addChild(Feature.CONSERVATION()); |
|
148 |
root.addChild(Feature.COMMON_NAME()); |
|
149 |
root.addChild(Feature.ETYMOLOGY()); |
|
150 |
root.addChild(Feature.USES()); |
|
151 |
root.addChild(Feature.CULTIVATION()); |
|
152 |
root.addChild(Feature.DISCUSSION()); |
|
153 |
root.addChild(Feature.DIAGNOSIS()); |
|
154 |
root.addChild(Feature.DESCRIPTION()); |
|
155 |
root.addChild(Feature.MATERIALS_EXAMINED()); |
|
156 |
root.addChild(Feature.ANATOMY()); |
|
171 | 157 |
|
172 | 158 |
return result; |
173 | 159 |
|
app-import/src/main/java/eu/etaxonomy/cdm/app/wp6/palmae/PalmaePostImportUpdater.java | ||
---|---|---|
55 | 55 |
|
56 | 56 |
TransactionStatus tx = cdmApp.startTransaction(); |
57 | 57 |
|
58 |
FeatureTree tree = cdmApp.getFeatureTreeService().find(featureTreeUuid); |
|
59 |
FeatureNode root = tree.getRoot(); |
|
58 |
FeatureTree<Feature> tree = cdmApp.getFeatureTreeService().find(featureTreeUuid);
|
|
59 |
FeatureNode<Feature> root = tree.getRoot();
|
|
60 | 60 |
|
61 | 61 |
List<Feature> featureList = cdmApp.getTermService().list(Feature.class, null, null, null, null); |
62 | 62 |
for (Feature feature : featureList){ |
63 | 63 |
String label = feature.getLabel(); |
64 | 64 |
if (relationships.equals(label)){ |
65 |
FeatureNode newNode = FeatureNode.NewInstance(feature); |
|
66 |
root.addChild(newNode); |
|
65 |
root.addChild(feature); |
|
67 | 66 |
count++; |
68 | 67 |
}else if(taxonomicAccounts.equals(label)){ |
69 |
FeatureNode newNode = FeatureNode.NewInstance(feature); |
|
70 |
root.addChild(newNode); |
|
68 |
root.addChild(feature); |
|
71 | 69 |
count++; |
72 | 70 |
}else if(fossilRecord.equals(label)){ |
73 |
FeatureNode newNode = FeatureNode.NewInstance(feature); |
|
74 |
root.addChild(newNode); |
|
71 |
root.addChild(feature); |
|
75 | 72 |
count++; |
76 | 73 |
} |
77 | 74 |
} |
... | ... | |
131 | 128 |
} |
132 | 129 |
//add citation feature to feature tree |
133 | 130 |
UUID featureTreeUuid = PalmaeActivator.featureTreeUuid; |
134 |
FeatureTree tree = cdmApp.getFeatureTreeService().find(featureTreeUuid); |
|
135 |
FeatureNode root = tree.getRoot(); |
|
131 |
FeatureTree<Feature> tree = cdmApp.getFeatureTreeService().find(featureTreeUuid);
|
|
132 |
FeatureNode<Feature> root = tree.getRoot();
|
|
136 | 133 |
List<Feature> featureList = cdmApp.getTermService().list(Feature.class, null, null, null, null); |
137 | 134 |
count = 0; |
138 | 135 |
for (Feature feature : featureList){ |
139 | 136 |
if (feature.equals(Feature.CITATION())){ |
140 |
FeatureNode newNode = FeatureNode.NewInstance(feature); |
|
141 |
root.addChild(newNode); |
|
137 |
root.addChild(feature); |
|
142 | 138 |
count++; |
143 | 139 |
} |
144 | 140 |
} |
app-import/src/main/java/eu/etaxonomy/cdm/app/wp6/palmae/UseImport.java | ||
---|---|---|
65 | 65 |
import eu.etaxonomy.cdm.model.taxon.TaxonBase; |
66 | 66 |
import eu.etaxonomy.cdm.model.term.DefinedTerm; |
67 | 67 |
import eu.etaxonomy.cdm.model.term.DefinedTermBase; |
68 |
import eu.etaxonomy.cdm.model.term.FeatureNode; |
|
69 | 68 |
import eu.etaxonomy.cdm.model.term.FeatureTree; |
70 | 69 |
import eu.etaxonomy.cdm.model.term.TermType; |
71 | 70 |
import eu.etaxonomy.cdm.model.term.TermVocabulary; |
... | ... | |
764 | 763 |
} |
765 | 764 |
if(featureUseRecord == null|| featureUseSummary == null) { |
766 | 765 |
TermVocabulary<Feature> featureVocabulary = vocabularyService.find((UUID.fromString("b187d555-f06f-4d65-9e53-da7c93f8eaa8"))); |
767 |
FeatureTree palmWebFeatureTree = featureTreeService.find(UUID.fromString("72ccce05-7cc8-4dab-8e47-bf3f5fd848a0")); |
|
766 |
FeatureTree<Feature> palmWebFeatureTree = featureTreeService.find(UUID.fromString("72ccce05-7cc8-4dab-8e47-bf3f5fd848a0"));
|
|
768 | 767 |
//List<FeatureTree> featureTrees = CdmStore.getService(IFeatureTreeService.class).list(FeatureTree.class, null, null, null, null); |
769 | 768 |
|
770 | 769 |
if (featureUseRecord == null ) { |
... | ... | |
773 | 772 |
featureUseRecord.isSupportsCategoricalData(); |
774 | 773 |
featureUseRecord.setSupportsCategoricalData(true); |
775 | 774 |
featureVocabulary.addTerm(featureUseRecord); |
776 |
FeatureNode useRecFeatureNode = FeatureNode.NewInstance(featureUseRecord); |
|
777 |
palmWebFeatureTree.getRoot().addChild(useRecFeatureNode); |
|
775 |
palmWebFeatureTree.getRoot().addChild(featureUseRecord); |
|
778 | 776 |
} |
779 | 777 |
if (featureUseSummary == null) { |
780 | 778 |
featureUseSummary = Feature.NewInstance("Use", "Use", null); |
... | ... | |
783 | 781 |
featureUseSummary.setSupportsTextData(true); |
784 | 782 |
//TermVocabulary<Feature> featureVocabulary = (TermVocabulary<Feature>)CdmStore.getService(IVocabularyService.class).find((UUID.fromString("b187d555-f06f-4d65-9e53-da7c93f8eaa8"))); |
785 | 783 |
featureVocabulary.addTerm(featureUseSummary); |
786 |
FeatureNode useSumFeatureNode = FeatureNode.NewInstance(featureUseSummary); |
|
787 |
palmWebFeatureTree.getRoot().addChild(useSumFeatureNode); |
|
784 |
palmWebFeatureTree.getRoot().addChild(featureUseSummary); |
|
788 | 785 |
} |
789 | 786 |
|
790 | 787 |
vocabularyService.saveOrUpdate(featureVocabulary); |
app-import/src/main/java/eu/etaxonomy/cdm/io/berlinModel/in/BerlinModelFactsImport.java | ||
---|---|---|
70 | 70 |
import eu.etaxonomy.cdm.model.reference.ReferenceFactory; |
71 | 71 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
72 | 72 |
import eu.etaxonomy.cdm.model.taxon.TaxonBase; |
73 |
import eu.etaxonomy.cdm.model.term.FeatureNode; |
|
74 | 73 |
import eu.etaxonomy.cdm.model.term.FeatureTree; |
75 | 74 |
import eu.etaxonomy.cdm.model.term.Representation; |
76 | 75 |
import eu.etaxonomy.cdm.model.term.TermBase; |
... | ... | |
172 | 171 |
|
173 | 172 |
result.put(factCategoryId, feature); |
174 | 173 |
if (createFeatureTree && isPublicFeature(factCategoryId)){ |
175 |
featureTree.getRoot().addChild(FeatureNode.NewInstance(feature));
|
|
174 |
featureTree.getRoot().addChild(feature);
|
|
176 | 175 |
} |
177 | 176 |
} |
178 | 177 |
if (createFeatureTree){ |
179 |
featureTree.getRoot().addChild(FeatureNode.NewInstance(Feature.DISTRIBUTION()),2); |
|
180 |
featureTree.getRoot().addChild(FeatureNode.NewInstance(Feature.NOTES()), featureTree.getRoot().getChildCount()-1); |
|
178 |
featureTree.getRoot().addChild(Feature.DISTRIBUTION(),2); |
Also available in: Unified diff
ref #8257 remove factory method for term node creation in app-import