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
.io
.pesi
.erms
.validation
;
12 import java
.sql
.ResultSet
;
13 import java
.sql
.SQLException
;
15 import org
.apache
.log4j
.Logger
;
17 import eu
.etaxonomy
.cdm
.io
.common
.IOValidator
;
18 import eu
.etaxonomy
.cdm
.io
.common
.Source
;
19 import eu
.etaxonomy
.cdm
.io
.pesi
.erms
.ErmsImportConfigurator
;
20 import eu
.etaxonomy
.cdm
.io
.pesi
.erms
.ErmsImportState
;
26 public class ErmsAreaImportValidator
implements IOValidator
<ErmsImportState
>{
27 private static final Logger logger
= Logger
.getLogger(ErmsAreaImportValidator
.class);
30 public boolean validate(ErmsImportState state
){
31 boolean result
= true;
32 ErmsImportConfigurator config
= state
.getConfig();
33 logger
.info("Checking for Areas not yet implemented");
34 // result &= checkTaxonStatus(config);
38 private boolean checkTaxonStatus(ErmsImportConfigurator bmiConfig
){
40 boolean result
= true;
41 Source source
= bmiConfig
.getSource();
42 String strSQL
= " SELECT RelPTaxon.RelQualifierFk, RelPTaxon.relPTaxonId, PTaxon.PTNameFk, PTaxon.PTRefFk, PTaxon_1.PTNameFk AS Expr1, PTaxon.RIdentifier, PTaxon_1.RIdentifier AS Expr3, Name.FullNameCache " +
44 " INNER JOIN PTaxon ON RelPTaxon.PTNameFk1 = PTaxon.PTNameFk AND RelPTaxon.PTRefFk1 = PTaxon.PTRefFk " +
45 " INNER JOIN PTaxon AS PTaxon_1 ON RelPTaxon.PTNameFk2 = PTaxon_1.PTNameFk AND RelPTaxon.PTRefFk2 = PTaxon_1.PTRefFk " +
46 " INNER JOIN Name ON PTaxon.PTNameFk = Name.NameId " +
47 " WHERE (dbo.PTaxon.StatusFk = 1) AND ((RelPTaxon.RelQualifierFk = 7) OR (RelPTaxon.RelQualifierFk = 6) OR (RelPTaxon.RelQualifierFk = 2)) ";
48 ResultSet rs
= source
.getResultSet(strSQL
);
49 boolean firstRow
= true;
54 System
.out
.println("========================================================");
55 logger
.warn("There are taxa that have a 'is synonym of' - relationship but having taxon status 'accepted'!");
56 System
.out
.println("========================================================");
58 int rIdentifier
= rs
.getInt("RIdentifier");
59 int nameFk
= rs
.getInt("PTNameFk");
60 int refFk
= rs
.getInt("PTRefFk");
61 int relPTaxonId
= rs
.getInt("relPTaxonId");
62 String taxonName
= rs
.getString("FullNameCache");
64 System
.out
.println("RIdentifier:" + rIdentifier
+ "\n name: " + nameFk
+
65 "\n taxonName: " + taxonName
+ "\n refId: " + refFk
+ "\n RelPTaxonId: " + relPTaxonId
);
66 result
= firstRow
= false;
69 System
.out
.println(" ");
73 } catch (SQLException e
) {