Revision 2a2eb365
Added by Andreas Müller over 4 years ago
cdm-pesi/src/main/java/eu/etaxonomy/cdm/app/pesi/validate/PesiErmsValidator.java | ||
---|---|---|
236 | 236 |
return equals("CommonName count ", countSrc, countDest, String.valueOf(-1)); |
237 | 237 |
} |
238 | 238 |
|
239 |
private final String countSynonymRelation = "SELECT count(*) FROM tu syn LEFT JOIN tu acc ON syn.tu_acctaxon = acc.id WHERE (syn.id <> acc.id AND syn.tu_acctaxon IS NOT NULL AND syn.id <> acc.tu_parent) AND syn.id " + moneraFilter;
|
|
240 |
private final String countParentRelation = "SELECT count(*)-1 FROM tu syn LEFT JOIN tu acc ON syn.tu_acctaxon = acc.id WHERE (syn.id = acc.id OR syn.tu_acctaxon IS NULL OR syn.id = acc.tu_parent) AND syn.id " + moneraFilter;
|
|
239 |
private final String countSynonymRelation = "SELECT count(*) FROM tu syn LEFT JOIN tu acc ON syn.tu_accfinal = acc.id WHERE (syn.id <> acc.id AND syn.tu_accfinal IS NOT NULL AND syn.id <> acc.tu_parent) AND syn.id " + moneraFilter;
|
|
240 |
private final String countParentRelation = "SELECT count(*)-1 FROM tu syn LEFT JOIN tu acc ON syn.tu_accfinal = acc.id WHERE (syn.id = acc.id OR syn.tu_accfinal IS NULL OR syn.id = acc.tu_parent) AND syn.id " + moneraFilter;
|
|
241 | 241 |
|
242 | 242 |
private final String countTaxon = "SELECT count(*) FROM tu WHERE id " + moneraFilter; |
243 | 243 |
private boolean testTaxaCount() { |
... | ... | |
268 | 268 |
+ " FROM tu t " |
269 | 269 |
+ " LEFT JOIN tu as tu1 on t.tu_parent = tu1.id " |
270 | 270 |
+ " LEFT JOIN (SELECT DISTINCT rank_id, rank_name FROM ranks WHERE NOT(rank_id = 30 AND rank_name = 'Phylum (Division)' OR rank_id = 40 AND rank_name = 'Subphylum (Subdivision)' OR rank_id = 122 AND rank_name='Subsection')) as r ON t.tu_rank = r.rank_id " |
271 |
+ " LEFT JOIN tu acc ON acc.id = t.tu_acctaxon "
|
|
271 |
+ " LEFT JOIN tu acc ON acc.id = t.tu_accfinal "
|
|
272 | 272 |
+ " LEFT JOIN status st ON st.status_id = t.tu_status " |
273 | 273 |
+ " LEFT JOIN tu type ON type.id = t.tu_typetaxon " |
274 | 274 |
+ " LEFT JOIN fossil fo ON t.tu_fossil = fo.fossil_id " |
... | ... | |
491 | 491 |
ResultSet srcRS = source.getResultSet("" |
492 | 492 |
+ " SELECT t.* " |
493 | 493 |
+ " FROM tu t " |
494 |
+ " WHERE t.id "+ moneraFilter + " AND tu_acctaxon <> id "
|
|
494 |
+ " WHERE t.id "+ moneraFilter + " AND tu_accfinal <> id "
|
|
495 | 495 |
+ " ORDER BY CAST(t.id as nvarchar(20)) "); |
496 | 496 |
ResultSet destRS = destination.getResultSet("SELECT rel.*, t1.IdInSource t1Id, t2.IdInSource t2Id " |
497 | 497 |
+ " FROM RelTaxon rel " |
... | ... | |
511 | 511 |
private boolean testSingleTaxonRelation(ResultSet srcRS, ResultSet destRS) throws SQLException { |
512 | 512 |
String id = String.valueOf(srcRS.getInt("id")); |
513 | 513 |
boolean success = equals("Taxon relation taxon1", "tu_id: " + srcRS.getInt("id"), destRS.getString("t1Id"), id); |
514 |
success &= equals("Taxon relation taxon2", "tu_id: " + srcRS.getInt("tu_acctaxon"), destRS.getString("t2Id"), id);
|
|
514 |
success &= equals("Taxon relation taxon2", "tu_id: " + srcRS.getInt("tu_accfinal"), destRS.getString("t2Id"), id);
|
|
515 | 515 |
success &= equals("Taxon relation qualifier fk", PesiTransformer.IS_SYNONYM_OF, destRS.getInt("RelTaxonQualifierFk"), id); |
516 | 516 |
success &= equals("Taxon relation qualifier cache", "is synonym of", destRS.getString("RelQualifierCache"), id); |
517 | 517 |
//TODO enable after next import |
Also available in: Unified diff
ref #1444 replace tu_acctaxon by tu_accfinal