Revision cd79d676
Added by Andreas Müller about 5 years ago
cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/erms/ErmsTaxonImport.java | ||
---|---|---|
245 | 245 |
taxonName.setSpecificEpithet(parent1Name); |
246 | 246 |
getGenusAndInfraGenus(parent2Name, parent3Name, parent2Rank, taxonName); |
247 | 247 |
}else if (taxonName.getRank()== null){ |
248 |
logger.warn("rank super domain still needs to be implemented. Used domain instead."); |
|
249 | 248 |
if ("Biota".equalsIgnoreCase(tuName)){ |
250 | 249 |
Rank rank = Rank.DOMAIN(); //should be Superdomain |
251 | 250 |
taxonName.setRank(rank); |
... | ... | |
333 | 332 |
*/ |
334 | 333 |
private TaxonName getTaxonName(ResultSet rs, ErmsImportState state) throws SQLException { |
335 | 334 |
TaxonName result; |
336 |
Integer kingdomId = parseKingdomId(rs);
|
|
335 |
int kingdomId = parseKingdomId(rs);
|
|
337 | 336 |
Integer intRank = rs.getInt("tu_rank"); |
338 | 337 |
|
339 | 338 |
NomenclaturalCode nc = ErmsTransformer.kingdomId2NomCode(kingdomId); |
340 | 339 |
Rank rank = null; |
341 |
if (kingdomId != null){ |
|
342 |
rank = state.getRank(intRank, kingdomId); |
|
343 |
}else{ |
|
344 |
logger.warn("KingdomId is null"); |
|
345 |
} |
|
340 |
rank = state.getRank(intRank, kingdomId); |
|
341 |
|
|
346 | 342 |
if (rank == null){ |
347 | 343 |
logger.warn("Rank is null. KingdomId: " + kingdomId + ", rankId: " + intRank); |
348 | 344 |
} |
... | ... | |
369 | 365 |
* @throws SQLException |
370 | 366 |
*/ |
371 | 367 |
private int parseKingdomId(ResultSet rs) throws SQLException { |
372 |
Integer result = null; |
|
373 | 368 |
String treeString = rs.getString("tu_sp"); |
374 | 369 |
if (treeString != null){ |
375 |
if (StringUtils.isNotBlank(treeString) && treeString.length() > 1){
|
|
370 |
if (StringUtils.isNotBlank(treeString) && treeString.length() > 1){
|
|
376 | 371 |
String strKingdom = treeString.substring(1,2); |
377 | 372 |
|
378 | 373 |
if (! treeString.substring(0, 1).equals("#") && ! treeString.substring(2, 3).equals("#") ){ |
379 |
logger.warn("Tree string " + treeString + " has no recognized format"); |
|
374 |
String message = "Tree string " + treeString + " has no recognized format"; |
|
375 |
logger.warn(message); |
|
376 |
throw new RuntimeException(message); |
|
380 | 377 |
}else{ |
381 | 378 |
try { |
382 |
result = Integer.valueOf(strKingdom);
|
|
379 |
return Integer.valueOf(strKingdom);
|
|
383 | 380 |
} catch (NumberFormatException e) { |
384 |
logger.warn("Kingdom string " + strKingdom + "could not be recognized as a valid number"); |
|
381 |
String message = "Kingdom string " + strKingdom + "could not be recognized as a valid number"; |
|
382 |
logger.warn(message); |
|
383 |
throw new RuntimeException(message); |
|
385 | 384 |
} |
386 | 385 |
} |
386 |
}else{ |
|
387 |
String message = "Tree string for kingdom recognition is to short: " + treeString; |
|
388 |
logger.warn(message); |
|
389 |
throw new RuntimeException(message); |
|
387 | 390 |
} |
388 | 391 |
}else{ |
389 |
Integer tu_id = rs.getInt("id");
|
|
390 |
result = tu_id;
|
|
392 |
int tu_id = rs.getInt("id");
|
|
393 |
return tu_id;
|
|
391 | 394 |
} |
392 |
return result; |
|
393 | 395 |
} |
394 | 396 |
|
395 | 397 |
@Override |
Also available in: Unified diff
ref #1444 ref #7976 some changes to ERMS import