(no commit message)
authorAndreas Müller <a.mueller@bgbm.org>
Wed, 16 Jul 2008 08:19:00 +0000 (08:19 +0000)
committerAndreas Müller <a.mueller@bgbm.org>
Wed, 16 Jul 2008 08:19:00 +0000 (08:19 +0000)
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/berlinModel/BerlinModelTaxonNameRelationIO.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/tcs/TcsImportConfigurator.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/tcs/TcsTaxonIO.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/tcs/TcsTransformer.java

index a0041f835c3d5ab11f6db38d8ea92cf605d2f5c7..2b99d2fa089fdb260e385c1df2dc976dc6fbf3e8 100644 (file)
@@ -7,6 +7,8 @@ import static eu.etaxonomy.cdm.io.berlinModel.BerlinModelTransformer.NAME_REL_IS
 import static eu.etaxonomy.cdm.io.berlinModel.BerlinModelTransformer.NAME_REL_IS_REJECTED_TYPE_OF;\r
 import static eu.etaxonomy.cdm.io.berlinModel.BerlinModelTransformer.NAME_REL_IS_REPLACED_SYNONYM_FOR;\r
 import static eu.etaxonomy.cdm.io.berlinModel.BerlinModelTransformer.NAME_REL_IS_TYPE_OF;\r
+import static eu.etaxonomy.cdm.io.berlinModel.BerlinModelTransformer.NAME_REL_IS_LECTOTYPE_OF;\r
+import static eu.etaxonomy.cdm.io.berlinModel.BerlinModelTransformer.NAME_REL_TYPE_NOT_DESIGNATED;\r
 \r
 import java.sql.ResultSet;\r
 import java.sql.SQLException;\r
@@ -92,12 +94,21 @@ public class BerlinModelTaxonNameRelationIO extends BerlinModelIOBase {
                                                String rule = null;  //TODO\r
                                                nameFrom.addRelationshipToName(nameTo, NameRelationshipType.REPLACED_SYNONYM(), rule) ;\r
                                                //TODO reference\r
-                                       }else if (relQualifierFk == NAME_REL_IS_TYPE_OF || relQualifierFk == NAME_REL_IS_REJECTED_TYPE_OF ||  relQualifierFk == NAME_REL_IS_CONSERVED_TYPE_OF ){\r
+                                       }else if (relQualifierFk == NAME_REL_IS_TYPE_OF || relQualifierFk == NAME_REL_IS_REJECTED_TYPE_OF ||  relQualifierFk == NAME_REL_IS_CONSERVED_TYPE_OF || relQualifierFk == NAME_REL_IS_LECTOTYPE_OF || relQualifierFk == NAME_REL_TYPE_NOT_DESIGNATED ){\r
                                                //TODO\r
                                                String originalNameString = null;\r
                                                boolean isRejectedType = (relQualifierFk == NAME_REL_IS_REJECTED_TYPE_OF);\r
                                                boolean isConservedType = (relQualifierFk == NAME_REL_IS_CONSERVED_TYPE_OF);\r
-                                               nameTo.addNameTypeDesignation(nameFrom, citation, microcitation, originalNameString, isRejectedType, isConservedType);\r
+                                               boolean isLectoType = (relQualifierFk == NAME_REL_IS_LECTOTYPE_OF);\r
+                                               boolean isNotDesignated = (relQualifierFk == NAME_REL_TYPE_NOT_DESIGNATED);\r
+                                               \r
+                                               ReferenceBase lectoReference = null;\r
+                                               String microReferenceBase = null;\r
+                                               if (isLectoType){\r
+                                                       lectoReference = citation;\r
+                                                       microReferenceBase = microcitation;\r
+                                               }\r
+                                               nameTo.addNameTypeDesignation(nameFrom, citation, microcitation, originalNameString, isRejectedType, isConservedType, isLectoType, lectoReference, microReferenceBase, isNotDesignated);\r
                                        }else if (relQualifierFk == NAME_REL_IS_ORTHOGRAPHIC_VARIANT_OF){\r
                                                String rule = null;  //TODO\r
                                                nameFrom.addRelationshipToName(nameTo, NameRelationshipType.ORTHOGRAPHIC_VARIANT(), rule) ;\r
index 0ffb87c61af122eef410efa02386a70e1aa70bb7..f25ae83059c888e01f4095b9d64f8e51e1b41a01 100644 (file)
@@ -33,7 +33,6 @@ public class TcsImportConfigurator extends ImportConfiguratorBase implements IIm
                iCdmIoArray = new ICdmIO []{\r
                                new TcsReferenceIO(false)\r
                                , new TcsTaxonNameIO(! this.isDoTaxonNames())\r
-                               , new TcsTaxonNameIO(! this.isDoTaxonNames())\r
                                , new TcsTaxonNameRelationsIO(! this.isDoRelNames())\r
                                , new TcsTaxonIO(! this.isDoTaxa())\r
                                , new TcsTaxonRelationsIO(! this.isDoRelTaxa())\r
index abefdcb81bbda2051be4a257e05ac8220bf952f3..b9d8983da1cd1a01dd25faf36ba30d8886781399 100644 (file)
@@ -27,6 +27,13 @@ import eu.etaxonomy.cdm.io.common.IImportConfigurator;
 import eu.etaxonomy.cdm.io.common.MapWrapper;\r
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
 import eu.etaxonomy.cdm.model.common.RelationshipTermBase;\r
+import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
+import eu.etaxonomy.cdm.model.description.Distribution;\r
+import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;\r
+import eu.etaxonomy.cdm.model.description.PresenceTerm;\r
+import eu.etaxonomy.cdm.model.location.NamedArea;\r
+import eu.etaxonomy.cdm.model.location.TdwgArea;\r
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
 import eu.etaxonomy.cdm.model.reference.Generic;\r
 import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
@@ -90,6 +97,9 @@ public class TcsTaxonIO  extends CdmIoBase implements ICdmIO {
                Namespace taxonConceptNamespace = root.getNamespace(prefix);\r
                prefix = "tcom";\r
                Namespace commonNamespace = root.getNamespace(prefix);\r
+               prefix = "tgeo";\r
+               Namespace geoNamespace = root.getNamespace(prefix);\r
+\r
                \r
                xmlElementName = "TaxonConcept";\r
                elementNamespace = taxonConceptNamespace;\r
@@ -98,7 +108,7 @@ public class TcsTaxonIO  extends CdmIoBase implements ICdmIO {
                ITaxonService taxonService = cdmApp.getTaxonService();\r
                \r
                int i = 0;\r
-               //for each taxonName\r
+               //for each taxonConcept\r
                for (Element elTaxonConcept : elTaxonConcepts){\r
                        if ((i++ % modCount) == 0){ logger.info("Taxa handled: " + (i-1));}\r
                        \r
@@ -135,6 +145,7 @@ public class TcsTaxonIO  extends CdmIoBase implements ICdmIO {
 //                     cdmAttrName = "isPrimary";\r
 //                     Boolean primary = ImportHelper.addXmlBooleanValue(elTaxonConcept, taxon, xmlElementName, elementNamespace, cdmAttrName);\r
                        \r
+                       makeGeo(elTaxonConcept, geoNamespace, rdfNamespace);\r
                        taxonMap.put(taxonAbout, taxonBase);\r
                        \r
                }\r
@@ -146,7 +157,7 @@ public class TcsTaxonIO  extends CdmIoBase implements ICdmIO {
        }\r
        \r
        \r
-       private static boolean hasIsSynonymRelation(Element taxonConcept, Namespace rdfNamespace){\r
+       private boolean hasIsSynonymRelation(Element taxonConcept, Namespace rdfNamespace){\r
                boolean result = false;\r
                if (taxonConcept == null || ! "TaxonConcept".equalsIgnoreCase(taxonConcept.getName()) ){\r
                        return false;\r
@@ -166,4 +177,29 @@ public class TcsTaxonIO  extends CdmIoBase implements ICdmIO {
                return result;\r
        }\r
        \r
+       private boolean makeGeo(Element elConcept, Namespace geoNamespace, Namespace rdfNamespace){\r
+               boolean result = true;\r
+               String xmlElementName = "code";\r
+               List<Element> elGeos = elConcept.getChildren(xmlElementName, geoNamespace);\r
+\r
+               int i = 0;\r
+               //for each geoTag\r
+               for (Element elGeo : elGeos){\r
+                       if ((i++ % modCount) == 0){ logger.info("Geocodes handled: " + (i-1));}\r
+                       \r
+                       String strGeoRegion = elGeo.getAttributeValue("resource", rdfNamespace);\r
+                       strGeoRegion = strGeoRegion.replace("http://rs.tdwg.org/ontology/voc/GeographicRegion#", "");\r
+                       NamedArea namedArea = TdwgArea.getAreaByTdwgLabel(strGeoRegion);\r
+                       PresenceAbsenceTermBase status = null;\r
+                       DescriptionElementBase distribution = Distribution.NewInstance(namedArea, status);\r
+                       \r
+                       System.out.println(namedArea);\r
+               \r
+               \r
+               }\r
+               //<tgeo:code rdf:resource="http://rs.tdwg.org/ontology/voc/GeographicRegion#ECU"/>\r
+\r
+               return result;\r
+       }\r
+       \r
 }\r
index 87148621040307f42a9ab0d7a8a6a3f63dbacca3..df6647469f445de020231f2c16c847034ec3b594 100644 (file)
@@ -4,6 +4,7 @@ import org.apache.log4j.Logger;
 \r
 import eu.etaxonomy.cdm.model.common.RelationshipBase;\r
 import eu.etaxonomy.cdm.model.common.RelationshipTermBase;\r
+import eu.etaxonomy.cdm.model.location.NamedArea;\r
 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;\r
 import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;\r
 import eu.etaxonomy.cdm.model.name.Rank;\r
@@ -16,96 +17,7 @@ import eu.etaxonomy.cdm.strategy.exceptions.UnknownCdmTypeException;
 public final class TcsTransformer {\r
        private static final Logger logger = Logger.getLogger(TcsTransformer.class);\r
  \r
-       //REFERENCES\r
-       public static int REF_ARTICLE = 1;\r
-       public static int REF_PART_OF_OTHER_TITLE = 2;\r
-       public static int REF_BOOK = 3;\r
-       public static int REF_DATABASE = 4;\r
-       public static int REF_INFORMAL = 5;\r
-       public static int REF_NOT_APPLICABLE = 6;\r
-       public static int REF_WEBSITE = 7;\r
-       public static int REF_CD = 8;\r
-       public static int REF_JOURNAL = 9;\r
-       public static int REF_UNKNOWN = 10;\r
 \r
-       \r
-       //NameStatus\r
-       public static int NAME_ST_NOM_INVAL = 1;\r
-       public static int NAME_ST_NOM_ILLEG = 2;\r
-       public static int NAME_ST_NOM_NUD = 3;\r
-       public static int NAME_ST_NOM_REJ = 4;\r
-       public static int NAME_ST_NOM_REJ_PROP = 5;\r
-       public static int NAME_ST_NOM_UTIQUE_REJ = 6;\r
-       public static int NAME_ST_NOM_UTIQUE_REJ_PROP = 7;\r
-       public static int NAME_ST_NOM_CONS = 8;\r
-       public static int NAME_ST_NOM_CONS_PROP = 9;\r
-       public static int NAME_ST_ORTH_CONS = 10;\r
-       public static int NAME_ST_ORTH_CONS_PROP = 11;\r
-       public static int NAME_ST_NOM_SUPERFL = 12;\r
-       public static int NAME_ST_NOM_AMBIG = 13;\r
-       public static int NAME_ST_NOM_PROVIS = 14;\r
-       public static int NAME_ST_NOM_DUB = 15;\r
-       public static int NAME_ST_NOM_NOV = 16;\r
-       public static int NAME_ST_NOM_CONFUS = 17;\r
-       public static int NAME_ST_NOM_ALTERN = 18;\r
-       public static int NAME_ST_COMB_INVAL = 19;\r
-       \r
-       \r
-       //NameRelationShip\r
-       public static int NAME_REL_IS_BASIONYM_FOR = 1;\r
-       public static int NAME_REL_IS_LATER_HOMONYM_OF = 2;\r
-       public static int NAME_REL_IS_REPLACED_SYNONYM_FOR = 3;\r
-       public static int NAME_REL_IS_VALIDATION_OF = 4;\r
-       public static int NAME_REL_IS_LATER_VALIDATION_OF = 5;\r
-       public static int NAME_REL_IS_TYPE_OF = 6;\r
-       public static int NAME_REL_IS_CONSERVED_TYPE_OF =7;\r
-       public static int NAME_REL_IS_REJECTED_TYPE_OF = 8;\r
-       public static int NAME_REL_IS_FIRST_PARENT_OF = 9;\r
-       public static int NAME_REL_IS_SECOND_PARENT_OF = 10;\r
-       public static int NAME_REL_IS_FEMALE_PARENT_OF = 11;\r
-       public static int NAME_REL_IS_MALE_PARENT_OF = 12;\r
-       public static int NAME_REL_IS_CONSERVED_AGAINST =13;\r
-       public static int NAME_REL_IS_REJECTED_IN_FAVOUR_OF = 14;\r
-       public static int NAME_REL_IS_TREATED_AS_LATER_HOMONYM_OF = 15;\r
-       public static int NAME_REL_IS_ORTHOGRAPHIC_VARIANT_OF = 16;\r
-       public static int NAME_REL_HAS_SAME_TYPE_AS = 18;\r
-       public static int NAME_REL_IS_LECTOTYPE_OF = 61;\r
-       public static int NAME_REL_TYPE_NOT_DESIGNATED = 62;\r
-       \r
-       //NameFacts\r
-       public static String NAME_FACT_PROTOLOGUE = "Protologue";\r
-       public static String NAME_FACT_ALSO_PUBLISHED_IN = "Also published in";\r
-       \r
-       //TaxonRelationShip\r
-       public static int TAX_REL_IS_INCLUDED_IN = 1;\r
-       public static int TAX_REL_IS_SYNONYM_OF = 2;\r
-       public static int TAX_REL_IS_MISAPPLIED_NAME_OF = 3;\r
-       public static int TAX_REL_IS_HETEROTYPIC_SYNONYM_OF = 6;\r
-       public static int TAX_REL_IS_HOMOTYPIC_SYNONYM_OF = 7;\r
-       \r
-\r
-       //TaxonStatus\r
-       public static int T_STATUS_ACCEPTED = 1;\r
-       public static int T_STATUS_SYNONYM = 2;\r
-       public static int T_STATUS_PARTIAL_SYN = 3;\r
-       public static int T_STATUS_PRO_PARTE_SYN = 4;\r
-       public static int T_STATUS_UNRESOLVED = 5;\r
-       public static int T_STATUS_ORPHANED = 6;\r
-       \r
-       \r
-       //Facts\r
-       public static int FACT_DESCRIPTION = 1;\r
-       public static int FACT_GROWTH_FORM = 2;\r
-       public static int FACT_HARDINESS = 3;\r
-       public static int FACT_ECOLOGY = 4;\r
-       public static int FACT_PHENOLOGY = 5;\r
-       public static int FACT_KARYOLOGY = 6;\r
-       public static int FACT_ILLUSTRATION = 7;\r
-       public static int FACT_IDENTIFICATION = 8;\r
-       public static int FACT_OBSERVATION = 9;\r
-       public static int FACT_DISTIRBUTION_EM = 10;\r
-       public static int FACT_DISTIRBUTION_WORLD = 11;\r
-       \r
        //TypeDesignation\r
        public static TypeDesignationStatus typeStatusId2TypeStatus (int typeStatusId)  throws UnknownCdmTypeException{\r
                switch (typeStatusId){\r
@@ -318,4 +230,23 @@ public final class TcsTransformer {
                }\r
        }\r
        \r
+//     \r
+//     /** Creates an NameArea by a TDWG Label\r
+//      */\r
+//     public static NamedArea strTdwgArea2NamedArea (String tdwgArea) throws UnknownCdmTypeException{\r
+//     \r
+//             if (tdwgArea == null){ return null;\r
+//             }else if ("Valid".equalsIgnoreCase(tdwgArea)){return NamedArea.VALID();\r
+//             \r
+//             }else if ("Alternative".equalsIgnoreCase(tdwgArea)){return NamedArea.ALTERNATIVE();\r
+//             }else if ("nom. altern.".equalsIgnoreCase(tdwgArea)){return NamedArea.ALTERNATIVE();\r
+//             \r
+//             }else if ("Provisional".equalsIgnoreCase(tdwgArea)){return NamedArea.PROVISIONAL();\r
+//             }else if ("nom. provis.".equalsIgnoreCase(tdwgArea)){return NamedArea.PROVISIONAL();\r
+//             }\r
+//             else {\r
+//                     throw new UnknownCdmTypeException("Unknown Nomenclatural status type " + nomStatus);\r
+//             }\r
+//     }\r
+       \r
 }\r