Revision a124222b
Added by Katja Luther over 9 years ago
cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/out/PesiTransformer.java | ||
---|---|---|
1 | 1 |
// $Id$ |
2 | 2 |
/** |
3 | 3 |
* Copyright (C) 2009 EDIT |
4 |
* European Distributed Institute of Taxonomy
|
|
4 |
* European Distributed Institute of Taxonomy |
|
5 | 5 |
* http://www.e-taxonomy.eu |
6 |
*
|
|
6 |
* |
|
7 | 7 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
8 | 8 |
* See LICENSE.TXT at the top of this package for the full license terms. |
9 | 9 |
*/ |
... | ... | |
37 | 37 |
import eu.etaxonomy.cdm.model.description.Feature; |
38 | 38 |
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase; |
39 | 39 |
import eu.etaxonomy.cdm.model.description.PresenceTerm; |
40 |
import eu.etaxonomy.cdm.model.location.NamedArea; |
|
41 | 40 |
import eu.etaxonomy.cdm.model.location.Country; |
41 |
import eu.etaxonomy.cdm.model.location.NamedArea; |
|
42 | 42 |
import eu.etaxonomy.cdm.model.name.HybridRelationshipType; |
43 | 43 |
import eu.etaxonomy.cdm.model.name.NameRelationshipType; |
44 | 44 |
import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus; |
... | ... | |
67 | 67 |
private static final Logger logger = Logger.getLogger(PesiTransformer.class); |
68 | 68 |
|
69 | 69 |
public static final String AUCT_STRING = "auct."; |
70 |
|
|
71 |
|
|
70 |
|
|
71 |
|
|
72 | 72 |
//source identifiers |
73 | 73 |
public static final int SOURCE_EM = 1; |
74 | 74 |
public static final int SOURCE_FE = 2; |
75 | 75 |
public static final int SOURCE_IF = 3; |
76 | 76 |
public static final int SOURCE_ERMS = 4; |
77 |
|
|
77 |
|
|
78 | 78 |
//sourceRefUUIDs |
79 | 79 |
public static final UUID uuidSourceRefFaunaEuropaea = UUID.fromString("6786d863-75d4-4796-b916-c1c3dff4cb70"); |
80 | 80 |
public static final UUID uuidSourceRefErms = UUID.fromString("7744bc26-f914-42c4-b54a-dd2a030a8bb7"); |
81 | 81 |
public static final UUID uuidSourceRefIndexFungorum = UUID.fromString("8de25d27-7d40-47f4-af3b-59d64935a843"); |
82 | 82 |
public static final UUID uuidSourceRefAuct = UUID.fromString("5f79f96c-c100-4cd8-b78e-2b2dacf09a23"); |
83 |
|
|
83 |
|
|
84 | 84 |
public static final String SOURCE_STR_EM = "E+M"; |
85 | 85 |
public static final String SOURCE_STR_FE = "FaEu"; |
86 | 86 |
public static final String SOURCE_STR_IF = "IF"; |
... | ... | |
91 | 91 |
public static int QUALITY_STATUS_ADD_BY_DBMT= 2; |
92 | 92 |
public static int QUALITY_STATUS_CHECKED_EDITOR = 3; |
93 | 93 |
public static int QUALITY_STATUS_EDITED_BY_DBMT = 4; |
94 |
|
|
94 |
|
|
95 | 95 |
// marker type |
96 | 96 |
public static final UUID uuidMarkerGuidIsMissing = UUID.fromString("24e70843-05e2-44db-954b-84df0d23ea20"); |
97 | 97 |
public static final UUID uuidMarkerTypeHasNoLastAction = UUID.fromString("99652d5a-bc92-4251-b57d-0fec4d258ab7"); |
98 | 98 |
// public static final UUID uuidMarkerFossil = UUID.fromString("761ce108-031a-4e07-b444-f8d757070312"); |
99 |
|
|
100 |
|
|
99 |
|
|
100 |
|
|
101 | 101 |
//extension type uuids |
102 | 102 |
public static final UUID cacheCitationUuid = UUID.fromString("29656168-32d6-4301-9067-d57c63be5c67"); |
103 | 103 |
//public static final UUID expertUserIdUuid = UUID.fromString("e25813d3-c67c-4585-9aa0-970fafde50b4"); |
104 | 104 |
//public static final UUID speciesExpertUserIdUuid = UUID.fromString("6d42abd8-8894-4980-ae07-e918affd4172"); |
105 | 105 |
public static final UUID expertNameUuid = BerlinModelTransformer.uuidExpertName; |
106 |
public static final UUID speciesExpertNameUuid = BerlinModelTransformer.uuidSpeciesExpertName;
|
|
106 |
public static final UUID speciesExpertNameUuid = BerlinModelTransformer.uuidSpeciesExpertName; |
|
107 | 107 |
public static final UUID lastActionDateUuid = UUID.fromString("8d0a7d81-bb83-4576-84c3-8c906ef039b2"); |
108 | 108 |
public static final UUID lastActionUuid = UUID.fromString("bc20d5bc-6161-4279-9499-89ea26ce5f6a"); |
109 | 109 |
public static final UUID taxCommentUuid = UUID.fromString("8041a752-0479-4626-ab1b-b266b751f816"); |
... | ... | |
123 | 123 |
public static int REF_UNRESOLVED = 10; |
124 | 124 |
public static int REF_PUBLICATION = 11; |
125 | 125 |
public static String REF_STR_UNRESOLVED = "unresolved"; |
126 |
|
|
126 |
|
|
127 | 127 |
// NameStatus |
128 | 128 |
public static int NAME_ST_NOM_INVAL = 1; |
129 | 129 |
public static int NAME_ST_NOM_ILLEG = 2; |
... | ... | |
163 | 163 |
public static int T_STATUS_ORPHANED = 6; |
164 | 164 |
public static int T_STATUS_UNACCEPTED = 7; |
165 | 165 |
public static int T_STATUS_NOT_ACCEPTED = 8; |
166 |
|
|
166 |
|
|
167 | 167 |
// TypeDesginationStatus // -> not a table anymore |
168 | 168 |
public static int TYPE_BY_ORIGINAL_DESIGNATION = 1; |
169 | 169 |
public static int TYPE_BY_SUBSEQUENT_DESIGNATION = 2; |
... | ... | |
171 | 171 |
public static String TYPE_STR_BY_ORIGINAL_DESIGNATION = "Type by original designation"; |
172 | 172 |
public static String TYPE_STR_BY_SUBSEQUENT_DESIGNATION = "Type by subsequent designation"; |
173 | 173 |
public static String TYPE_STR_BY_MONOTYPY = "Type by monotypy"; |
174 |
|
|
174 |
|
|
175 | 175 |
// RelTaxonQualifier |
176 | 176 |
public static int IS_BASIONYM_FOR = 1; |
177 | 177 |
public static int IS_LATER_HOMONYM_OF = 2; |
... | ... | |
208 | 208 |
public static int IS_INFERRED_GENUS_FOR = 302; |
209 | 209 |
public static int IS_POTENTIAL_COMBINATION_FOR = 303; |
210 | 210 |
|
211 |
|
|
211 |
|
|
212 | 212 |
//namespaces |
213 | 213 |
public static String STR_NAMESPACE_NOMINAL_TAXON = "Nominal taxon from TAX_ID:"; |
214 | 214 |
public static String STR_NAMESPACE_INFERRED_EPITHET = "Inferred epithet from TAX_ID:"; |
... | ... | |
225 | 225 |
public static int KINGDOM_BACTERIA = 6; |
226 | 226 |
public static int KINGDOM_CHROMISTA = 7; |
227 | 227 |
|
228 |
// Kingdoms |
|
229 |
public static Map<String, Integer> pesiKingdomMap = new HashMap<String, Integer>(); |
|
230 |
|
|
231 |
|
|
232 |
public static String KINGDOM_PLANTAE_STRING = "Plantae"; |
|
233 |
public static String KINGDOM_FUNGI_STRING = "Fungi"; |
|
234 |
public static String KINGDOM_PROTOZOA_STRING = "Protozoa"; |
|
235 |
public static String kINGDOM_BACTERIA_STRING = "Bacteria"; |
|
236 |
public static String KINGDOM_CHROMISTA_STRING = "Chromista"; |
|
237 |
|
|
228 | 238 |
// Animalia Ranks |
229 | 239 |
public static int Animalia_Kingdom = 10; |
230 | 240 |
public static int Animalia_Subkingdom = 20; |
... | ... | |
293 | 303 |
public static int Plantae_Forma_spec = 275; |
294 | 304 |
public static int Plantae_Taxa_infragen = 280; |
295 | 305 |
public static int Plantae_Taxa_infraspec = 285; |
296 |
|
|
306 |
|
|
297 | 307 |
// Fungi Ranks |
298 | 308 |
public static int Fungi_Kingdom = 10; |
299 | 309 |
public static int Fungi_Subkingdom = 20; |
... | ... | |
317 | 327 |
public static int Fungi_Subvariety = 250; |
318 | 328 |
public static int Fungi_Forma = 260; |
319 | 329 |
public static int Fungi_Subforma = 270; |
320 |
|
|
330 |
public static int Fungi_Forma_spec = 275; |
|
331 |
|
|
321 | 332 |
//Protozoa Ranks |
322 | 333 |
public static int Protozoa_Kingdom = 10; |
323 | 334 |
public static int Protozoa_Subkingdom = 20; |
... | ... | |
342 | 353 |
public static int Protozoa_Subspecies = 230; |
343 | 354 |
public static int Protozoa_Variety = 240; |
344 | 355 |
public static int Protozoa_Forma = 260; |
345 |
|
|
356 |
|
|
346 | 357 |
// Bacteria Ranks |
347 | 358 |
public static int Bacteria_Kingdom = 10; |
348 | 359 |
public static int Bacteria_Subkingdom = 20; |
... | ... | |
396 | 407 |
public static int Chromista_Variety = 240; |
397 | 408 |
public static int Chromista_Subvariety = 250; |
398 | 409 |
public static int Chromista_Forma = 260; |
399 |
|
|
410 |
|
|
400 | 411 |
// NoteCategory |
401 | 412 |
public static int NoteCategory_description = 1; |
402 | 413 |
public static int NoteCategory_ecology = 4; |
... | ... | |
451 | 462 |
public static int NoteCategory_Use = 302; |
452 | 463 |
public static int NoteCategory_Comments = 303; |
453 | 464 |
|
454 |
|
|
465 |
|
|
455 | 466 |
// Language |
456 | 467 |
public static int Language_Albanian = 1; |
457 | 468 |
public static int Language_Arabic = 2; |
... | ... | |
520 | 531 |
public static int FOSSILSTATUS_FOSSIL_ONLY = 2; |
521 | 532 |
public static int FOSSILSTATUS_RECENT_FOSSIL = 3; |
522 | 533 |
public static String STR_FOSSIL_ONLY = "fossil only"; //still used for Index Fungorum |
523 |
|
|
534 |
|
|
524 | 535 |
// SourceUse |
525 | 536 |
public static int ORIGINAL_DESCRIPTION = 1; |
526 | 537 |
public static int BASIS_OF_RECORD = 2; |
... | ... | |
732 | 743 |
public static int AREA_TURKISH_EXCLUSIVE_ECONOMIC_ZONE = 197; |
733 | 744 |
public static int AREA_DANISH_EXCLUSIVE_ECONOMIC_ZONE = 198; |
734 | 745 |
public static int AREA_TRANSCAUCASUS = 199; |
735 |
|
|
746 |
|
|
736 | 747 |
public static int AREA_GEORGIA_G = 200; |
737 | 748 |
public static int AREA_ABKHAZIA = 201; |
738 | 749 |
public static int AREA_ADZARIA = 202; |
739 |
|
|
750 |
|
|
740 | 751 |
public static int AREA_UNITED_KINGDOM = 203; |
741 | 752 |
public static int AREA_DENMARK_COUNTRY = 204; |
742 | 753 |
public static int AREA_TURKEY_COUNTRY = 205; |
... | ... | |
754 | 765 |
public static int STATUS_MANAGED = 7; |
755 | 766 |
public static int STATUS_DOUBTFUL = 8; |
756 | 767 |
|
757 |
private Map<String, Integer> tdwgKeyMap = new HashMap<String, Integer>(); |
|
758 |
private Map<Integer, String> areaCacheMap = new HashMap<Integer, String>(); |
|
759 |
private Map<Integer, String> languageCacheMap = new HashMap<Integer, String>(); |
|
760 |
private Map<Integer, String> featureCacheMap = new HashMap<Integer, String>(); |
|
761 |
private Map<Integer, String> nameStatusCacheMap = new HashMap<Integer, String>(); |
|
762 |
private Map<Integer, String> qualityStatusCacheMap = new HashMap<Integer, String>(); |
|
763 |
private Map<Integer, String> taxonStatusCacheMap = new HashMap<Integer, String>(); |
|
764 |
private Map<Integer, String> taxRelQualifierCacheMap = new HashMap<Integer, String>(); |
|
765 |
private Map<Integer, String> taxRelZooQualifierCacheMap = new HashMap<Integer, String>(); |
|
766 |
private Map<Integer, String> sourceUseCacheMap = new HashMap<Integer, String>(); |
|
767 |
private Map<Integer, String> fossilStatusCacheMap = new HashMap<Integer, String>(); |
|
768 |
private Map<Integer, String> typeDesigStatusCacheMap = new HashMap<Integer, String>(); |
|
769 |
private Map<Integer, String> sourceCategoryCacheMap = new HashMap<Integer, String>(); |
|
770 |
private Map<Integer, String> occurrenceStatusCacheMap = new HashMap<Integer, String>(); |
|
771 |
private Map<Integer, Map<Integer, String>> rankCacheMap = new HashMap<Integer, Map<Integer, String>>(); |
|
772 |
private Map<Integer, Map<Integer, String>> rankAbbrevCacheMap = new HashMap<Integer, Map<Integer, String>>(); |
|
773 |
|
|
774 |
|
|
775 |
private Source destination; |
|
776 |
|
|
768 |
private final Map<String, Integer> tdwgKeyMap = new HashMap<String, Integer>();
|
|
769 |
private final Map<Integer, String> areaCacheMap = new HashMap<Integer, String>();
|
|
770 |
private final Map<Integer, String> languageCacheMap = new HashMap<Integer, String>();
|
|
771 |
private final Map<Integer, String> featureCacheMap = new HashMap<Integer, String>();
|
|
772 |
private final Map<Integer, String> nameStatusCacheMap = new HashMap<Integer, String>();
|
|
773 |
private final Map<Integer, String> qualityStatusCacheMap = new HashMap<Integer, String>();
|
|
774 |
private final Map<Integer, String> taxonStatusCacheMap = new HashMap<Integer, String>();
|
|
775 |
private final Map<Integer, String> taxRelQualifierCacheMap = new HashMap<Integer, String>();
|
|
776 |
private final Map<Integer, String> taxRelZooQualifierCacheMap = new HashMap<Integer, String>();
|
|
777 |
private final Map<Integer, String> sourceUseCacheMap = new HashMap<Integer, String>();
|
|
778 |
private final Map<Integer, String> fossilStatusCacheMap = new HashMap<Integer, String>();
|
|
779 |
private final Map<Integer, String> typeDesigStatusCacheMap = new HashMap<Integer, String>();
|
|
780 |
private final Map<Integer, String> sourceCategoryCacheMap = new HashMap<Integer, String>();
|
|
781 |
private final Map<Integer, String> occurrenceStatusCacheMap = new HashMap<Integer, String>();
|
|
782 |
private final Map<Integer, Map<Integer, String>> rankCacheMap = new HashMap<Integer, Map<Integer, String>>();
|
|
783 |
private final Map<Integer, Map<Integer, String>> rankAbbrevCacheMap = new HashMap<Integer, Map<Integer, String>>();
|
|
784 |
|
|
785 |
|
|
786 |
private final Source destination;
|
|
787 |
|
|
777 | 788 |
public PesiTransformer(Source destination) { |
778 | 789 |
super(); |
779 | 790 |
this.destination = destination; |
... | ... | |
789 | 800 |
String tdwg = rs.getString("AreaTdwgCode"); |
790 | 801 |
Integer id = rs.getInt("AreaId"); |
791 | 802 |
String label = rs.getString("AreaName"); |
792 |
|
|
803 |
|
|
793 | 804 |
if (StringUtils.isNotBlank(tdwg)){ |
794 | 805 |
this.tdwgKeyMap.put(tdwg, id); |
795 | 806 |
} |
796 | 807 |
this.areaCacheMap.put(id, label); |
797 | 808 |
} |
798 |
|
|
809 |
|
|
799 | 810 |
//rankCache |
800 |
sql = " SELECT KingdomId, RankId, Rank, RankAbbrev FROM Rank"; |
|
811 |
sql = " SELECT KingdomId, RankId, Rank, RankAbbrev, Kingdom FROM Rank";
|
|
801 | 812 |
rs = destination.getResultSet(sql); |
802 | 813 |
while (rs.next()){ |
803 | 814 |
String rank = rs.getString("Rank"); |
804 | 815 |
String abbrev = rs.getString("RankAbbrev"); |
805 | 816 |
Integer rankId = rs.getInt("RankId"); |
806 | 817 |
Integer kingdomId = rs.getInt("KingdomId"); |
807 |
|
|
818 |
String kingdom = rs.getString("Kingdom"); |
|
819 |
|
|
808 | 820 |
//rank str |
809 | 821 |
Map<Integer, String> kingdomMap = rankCacheMap.get(kingdomId); |
810 | 822 |
if (kingdomMap == null){ |
... | ... | |
812 | 824 |
rankCacheMap.put(kingdomId, kingdomMap); |
813 | 825 |
} |
814 | 826 |
kingdomMap.put(rankId, rank); |
815 |
|
|
827 |
|
|
828 |
if (rank.equals("Kingdom")){ |
|
829 |
pesiKingdomMap.put(kingdom, kingdomId); |
|
830 |
} |
|
831 |
|
|
816 | 832 |
//rank abbrev |
817 | 833 |
Map<Integer, String> kingdomAbbrevMap = rankAbbrevCacheMap.get(kingdomId); |
818 | 834 |
if (kingdomAbbrevMap == null){ |
... | ... | |
822 | 838 |
if (StringUtils.isNotBlank(abbrev)){ |
823 | 839 |
kingdomAbbrevMap.put(rankId, abbrev); |
824 | 840 |
} |
825 |
|
|
841 |
|
|
826 | 842 |
} |
827 |
|
|
843 |
|
|
844 |
|
|
845 |
|
|
846 |
|
|
828 | 847 |
//languageCache |
829 | 848 |
fillSingleMap(languageCacheMap,"Language"); |
830 | 849 |
|
831 | 850 |
//feature / note category |
832 | 851 |
fillSingleMap(featureCacheMap,"NoteCategory"); |
833 |
|
|
852 |
|
|
834 | 853 |
//nameStatusCache |
835 | 854 |
fillSingleMap(nameStatusCacheMap,"NameStatus", "NomStatus"); |
836 | 855 |
|
... | ... | |
839 | 858 |
|
840 | 859 |
//taxonStatusCache |
841 | 860 |
fillSingleMap(taxonStatusCacheMap,"TaxonStatus", "Status"); |
842 |
|
|
861 |
|
|
843 | 862 |
//sourceUse |
844 | 863 |
fillSingleMap(sourceUseCacheMap,"SourceUse"); |
845 | 864 |
|
846 | 865 |
//fossil status |
847 | 866 |
fillSingleMap(fossilStatusCacheMap,"FossilStatus"); |
848 |
|
|
867 |
|
|
849 | 868 |
//fossil status |
850 | 869 |
fillSingleMap(typeDesigStatusCacheMap,"FossilStatus"); |
851 | 870 |
|
852 | 871 |
//fossil status |
853 | 872 |
fillSingleMap(occurrenceStatusCacheMap,"OccurrenceStatus"); |
854 |
|
|
873 |
|
|
855 | 874 |
//source category |
856 | 875 |
fillSingleMap(sourceCategoryCacheMap,"SourceCategory", "Category", "SourceCategoryId"); |
857 |
|
|
876 |
|
|
858 | 877 |
//RelTaxonQualifier |
859 | 878 |
sql = " SELECT QualifierId, Qualifier, ZoologQualifier FROM RelTaxonQualifier "; |
860 | 879 |
rs = destination.getResultSet(sql); |
... | ... | |
869 | 888 |
this.taxRelZooQualifierCacheMap.put(key, zoologCache); |
870 | 889 |
} |
871 | 890 |
} |
872 |
rs = null;
|
|
891 |
rs = null; |
|
873 | 892 |
} catch (SQLException e) { |
874 | 893 |
logger.error("SQLException when trying to read area map", e); |
875 | 894 |
e.printStackTrace(); |
876 | 895 |
} |
877 |
|
|
896 |
|
|
878 | 897 |
} |
879 | 898 |
|
880 | 899 |
private void fillSingleMap(Map<Integer, String> map, String tableName) throws SQLException { |
881 | 900 |
fillSingleMap(map, tableName, tableName, tableName + "Id"); |
882 | 901 |
} |
883 |
|
|
902 |
|
|
884 | 903 |
private void fillSingleMap(Map<Integer, String> map, String tableName, String attr) throws SQLException { |
885 | 904 |
fillSingleMap(map, tableName, attr, attr + "Id"); |
886 | 905 |
} |
887 |
|
|
906 |
|
|
888 | 907 |
private void fillSingleMap(Map<Integer, String> map, String tableName, String attr, String idAttr) throws SQLException { |
889 | 908 |
String sql; |
890 | 909 |
ResultSet rs; |
... | ... | |
896 | 915 |
String cache = rs.getString(attr); |
897 | 916 |
if (StringUtils.isNotBlank(cache)){ |
898 | 917 |
map.put(key, cache); |
899 |
}
|
|
918 |
} |
|
900 | 919 |
} |
901 | 920 |
} |
902 | 921 |
|
... | ... | |
914 | 933 |
return result; |
915 | 934 |
} |
916 | 935 |
|
917 |
|
|
936 |
|
|
918 | 937 |
/** |
919 | 938 |
* Returns the OccurrenceStatusId for a given PresenceAbsenceTerm. |
920 | 939 |
* @param term |
921 | 940 |
* @return |
922 |
* @throws UnknownCdmTypeException
|
|
941 |
* @throws UnknownCdmTypeException |
|
923 | 942 |
*/ |
924 | 943 |
public static Integer presenceAbsenceTerm2OccurrenceStatusId(PresenceAbsenceTermBase<?> term) { |
925 | 944 |
Integer result = null; |
... | ... | |
928 | 947 |
//present |
929 | 948 |
}else if (term.isInstanceOf(PresenceTerm.class)) { |
930 | 949 |
PresenceTerm presenceTerm = CdmBase.deproxy(term, PresenceTerm.class); |
931 |
if (presenceTerm.equals(PresenceTerm.PRESENT()) ||
|
|
932 |
presenceTerm.equals(PresenceTerm.INTRODUCED_DOUBTFULLY_INTRODUCED()) ||
|
|
950 |
if (presenceTerm.equals(PresenceTerm.PRESENT()) || |
|
951 |
presenceTerm.equals(PresenceTerm.INTRODUCED_DOUBTFULLY_INTRODUCED()) || |
|
933 | 952 |
presenceTerm.equals(PresenceTerm.NATIVE_DOUBTFULLY_NATIVE())) { |
934 | 953 |
result = STATUS_PRESENT; |
935 | 954 |
} else if (presenceTerm.equals(PresenceTerm.NATIVE())) { |
936 | 955 |
result = STATUS_NATIVE; |
937 |
} else if (presenceTerm.equals(PresenceTerm.INTRODUCED()) ||
|
|
956 |
} else if (presenceTerm.equals(PresenceTerm.INTRODUCED()) || |
|
938 | 957 |
presenceTerm.equals(PresenceTerm.INTRODUCED_ADVENTITIOUS()) || |
939 | 958 |
presenceTerm.equals(PresenceTerm.INTRODUCED_UNCERTAIN_DEGREE_OF_NATURALISATION())) { |
940 | 959 |
result = STATUS_INTRODUCED; |
941 |
} else if (presenceTerm.equals(PresenceTerm.NATURALISED())
|
|
960 |
} else if (presenceTerm.equals(PresenceTerm.NATURALISED()) |
|
942 | 961 |
|| presenceTerm.equals(PresenceTerm.INTRODUCED_NATURALIZED())) { |
943 | 962 |
result = STATUS_NATURALISED; |
944 | 963 |
} else if (presenceTerm.equals(PresenceTerm.INVASIVE())) { |
... | ... | |
952 | 971 |
} else { |
953 | 972 |
logger.error("PresenceTerm could not be translated to datawarehouse occurrence status id: " + presenceTerm.getLabel()); |
954 | 973 |
} |
955 |
//absent
|
|
974 |
//absent |
|
956 | 975 |
} else if (term.isInstanceOf(AbsenceTerm.class)) { |
957 | 976 |
AbsenceTerm absenceTerm = CdmBase.deproxy(term, AbsenceTerm.class); |
958 | 977 |
if (absenceTerm.equals(AbsenceTerm.ABSENT()) || absenceTerm.equals(AbsenceTerm.NATIVE_FORMERLY_NATIVE()) || |
... | ... | |
965 | 984 |
} |
966 | 985 |
return result; |
967 | 986 |
} |
968 |
|
|
987 |
|
|
969 | 988 |
|
970 | 989 |
@Override |
971 | 990 |
public String getCacheByPresenceAbsenceTerm(PresenceAbsenceTermBase status) throws UndefinedTransformerMethodException { |
972 | 991 |
if (status == null){ |
973 | 992 |
return null; |
974 | 993 |
}else{ |
975 |
return this.occurrenceStatusCacheMap.get(getKeyByPresenceAbsenceTerm(status));
|
|
994 |
return this.occurrenceStatusCacheMap.get(getKeyByPresenceAbsenceTerm(status)); |
|
976 | 995 |
} |
977 | 996 |
} |
978 |
|
|
997 |
|
|
979 | 998 |
@Override |
980 | 999 |
public Object getKeyByPresenceAbsenceTerm(PresenceAbsenceTermBase status) throws UndefinedTransformerMethodException { |
981 | 1000 |
return presenceAbsenceTerm2OccurrenceStatusId(status); |
982 | 1001 |
} |
983 |
|
|
984 |
|
|
985 |
|
|
1002 |
|
|
1003 |
|
|
1004 |
|
|
986 | 1005 |
@Override |
987 | 1006 |
public String getCacheByNamedArea(NamedArea namedArea) throws UndefinedTransformerMethodException { |
988 | 1007 |
NamedArea area = CdmBase.deproxy(namedArea, NamedArea.class); |
989 | 1008 |
if (area == null){ |
990 | 1009 |
return null; |
991 | 1010 |
}else{ |
992 |
return this.areaCacheMap.get(getKeyByNamedArea(area));
|
|
1011 |
return this.areaCacheMap.get(getKeyByNamedArea(area)); |
|
993 | 1012 |
} |
994 | 1013 |
} |
995 |
|
|
996 |
|
|
1014 |
|
|
1015 |
|
|
997 | 1016 |
@Override |
998 | 1017 |
public Object getKeyByNamedArea(NamedArea area) throws UndefinedTransformerMethodException { |
999 | 1018 |
NamedArea namedArea = CdmBase.deproxy(area, NamedArea.class); |
... | ... | |
1044 | 1063 |
// else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidIbizaWithFormentera)) { return AREA_IBIZA_WITH_FORMENTERA; } |
1045 | 1064 |
// else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidMallorca)) { return AREA_MALLORCA; } |
1046 | 1065 |
// else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidMenorca)) { return AREA_MENORCA; } |
1047 |
//
|
|
1066 |
// |
|
1048 | 1067 |
// else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidUssr)) { return AREA_FORMER_USSR; } |
1049 | 1068 |
// else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidRussiaBaltic)) { return AREA_RUSSIA_BALTIC; } |
1050 | 1069 |
// else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidRussiaSouthEast)) { return AREA_RUSSIA_SOUTHEAST; } |
1051 | 1070 |
// else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidRussiaSouthWest)) { return AREA_RUSSIA_SOUTHWEST; } |
1052 | 1071 |
// else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidRussiaCentral)) { return AREA_RUSSIA_CENTRAL; } |
1053 | 1072 |
// else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidRussiaNorthern)) { return AREA_RUSSIA_NORTHERN; } |
1054 |
//
|
|
1073 |
// |
|
1055 | 1074 |
// else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidTurkey)) { return AREA_TURKEY; } |
1056 | 1075 |
// else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidEastAegeanIslands)) { return AREA_EAST_AEGEAN_ISLANDS; } |
1057 | 1076 |
// else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidTurkishEastAegeanIslands)) { return AREA_TURKISH_EAST_AEGEAN_ISLANDS; } |
... | ... | |
1060 | 1079 |
// else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidCaucasia)) { return AREA_CAUCASUS_REGION; } |
1061 | 1080 |
// else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidUkraineAndCrimea)) { return AREA_UKRAINE_INCLUDING_CRIMEA; } |
1062 | 1081 |
// else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidAzerbaijanNakhichevan)) { return AREA_AZERBAIJAN_INCLUDING_NAKHICHEVAN; } |
1063 |
|
|
1064 |
if (namedArea.getUuid().equals(BerlinModelTransformer.uuidEM)) {
|
|
1065 |
// logger.warn("E+M area not available in PESI");
|
|
1082 |
|
|
1083 |
if (namedArea.getUuid().equals(BerlinModelTransformer.uuidEM)) { |
|
1084 |
// logger.warn("E+M area not available in PESI"); |
|
1066 | 1085 |
return null; |
1067 | 1086 |
} |
1068 | 1087 |
else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidEUR)) { logger.warn("EUR area not available in PESI"); return null; } |
... | ... | |
1125 | 1144 |
else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidGa_C)) { return AREA_CHANNEL_ISLANDS; } |
1126 | 1145 |
else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidGa_F)) { return AREA_FRENCH_MAINLAND; } |
1127 | 1146 |
else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidGa_M)) { return AREA_MONACO; } |
1128 |
|
|
1147 |
|
|
1129 | 1148 |
else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidGe)) { return AREA_GERMANY; } |
1130 | 1149 |
else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidGg)) { return AREA_GEORGIA; } |
1131 |
|
|
1150 |
|
|
1132 | 1151 |
else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidGg_G)) { return AREA_GEORGIA_G; } |
1133 | 1152 |
else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidGg_A)) { return AREA_ABKHAZIA; } |
1134 | 1153 |
else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidGg_D)) { return AREA_ADZARIA; } |
1135 |
|
|
1154 |
|
|
1136 | 1155 |
else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidGr)) { return AREA_GREECE_WITH_CYCLADES_AND_MORE_ISLANDS; } |
1137 | 1156 |
else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidHb)) { return AREA_IRELAND; } |
1138 | 1157 |
else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidHb_E)) { return AREA_REPUBLIC_OF_IRELAND; } |
... | ... | |
1205 | 1224 |
else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidUk)) { return AREA_UKRAINE_INCLUDING_CRIMEA; } |
1206 | 1225 |
else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidUk_K)) { return AREA_CRIMEA; } |
1207 | 1226 |
else if (namedArea.getUuid().equals(BerlinModelTransformer.uuidUk_U)) { return AREA_UKRAINE; } |
1208 |
|
|
1209 |
|
|
1210 |
|
|
1227 |
|
|
1228 |
|
|
1229 |
|
|
1211 | 1230 |
//FE |
1212 | 1231 |
else if (namedArea.getUuid().equals(FaunaEuropaeaTransformer.uuidAreaAFR)) { return AREA_AFRO_TROPICAL_REGION; } |
1213 | 1232 |
else if (namedArea.getUuid().equals(FaunaEuropaeaTransformer.uuidAreaAUS)) { return AREA_AUSTRALIAN_REGION; } |
... | ... | |
1225 | 1244 |
else if (namedArea.getUuid().equals(FaunaEuropaeaTransformer.uuidAreaUA)) { return AREA_UKRAINE_INCLUDING_CRIMEA; } |
1226 | 1245 |
else if (namedArea.getUuid().equals(FaunaEuropaeaTransformer.uuidAreaRU_FJL)) { return AREA_FRANZ_JOSEF_LAND; } |
1227 | 1246 |
else if (namedArea.getUuid().equals(FaunaEuropaeaTransformer.uuidAreaRU_NOZ)) { return AREA_NOVAYA_ZEMLYA; } |
1228 |
|
|
1247 |
|
|
1229 | 1248 |
|
1230 | 1249 |
//ERMS |
1231 | 1250 |
else if (namedArea.getUuid().equals(ErmsTransformer.uuidEuropeanMarineWaters)) { return AREA_EUROPEAN_MARINE_WATERS; } |
... | ... | |
1281 | 1300 |
else if (namedArea.getUuid().equals(ErmsTransformer.uuidBalearSea)) { return AREA_BALEAR_SEA; } |
1282 | 1301 |
else if (namedArea.getUuid().equals(ErmsTransformer.uuidTurkishExclusiveEconomicZone)) { return AREA_TURKISH_EXCLUSIVE_ECONOMIC_ZONE; } |
1283 | 1302 |
else if (namedArea.getUuid().equals(ErmsTransformer.uuidDanishExclusiveEconomicZone)) { return AREA_DANISH_EXCLUSIVE_ECONOMIC_ZONE; } |
1284 |
|
|
1285 | 1303 |
else { |
1286 | 1304 |
logger.warn("Unknown NamedArea Area: " + area.getTitleCache()); |
1287 | 1305 |
} |
... | ... | |
1289 | 1307 |
} |
1290 | 1308 |
return null; |
1291 | 1309 |
} |
1292 |
|
|
1310 |
|
|
1293 | 1311 |
|
1294 | 1312 |
/** |
1295 | 1313 |
* Returns the PESI SourceUseId for a given CDM sourceUseId. |
... | ... | |
1307 | 1325 |
return result; |
1308 | 1326 |
} |
1309 | 1327 |
|
1310 |
|
|
1328 |
|
|
1311 | 1329 |
/** |
1312 | 1330 |
* Returns the FossilStatusCache to a given Fossil. |
1313 | 1331 |
* @param fossil |
... | ... | |
1327 | 1345 |
Integer result = null; |
1328 | 1346 |
return result; |
1329 | 1347 |
} |
1330 |
|
|
1331 |
|
|
1332 |
|
|
1348 |
|
|
1349 |
|
|
1350 |
|
|
1333 | 1351 |
@Override |
1334 | 1352 |
public Object getKeyByLanguage(Language language) throws UndefinedTransformerMethodException { |
1335 | 1353 |
return language2LanguageId(language); |
... | ... | |
1340 | 1358 |
if (language == null){ |
1341 | 1359 |
return null; |
1342 | 1360 |
}else{ |
1343 |
return this.languageCacheMap.get(getKeyByLanguage(language));
|
|
1361 |
return this.languageCacheMap.get(getKeyByLanguage(language)); |
|
1344 | 1362 |
} |
1345 | 1363 |
} |
1346 | 1364 |
|
1347 |
|
|
1365 |
|
|
1348 | 1366 |
/** |
1349 | 1367 |
* Returns the identifier of the given Language. |
1350 | 1368 |
* @param language |
... | ... | |
1481 | 1499 |
return null; |
1482 | 1500 |
} |
1483 | 1501 |
} |
1484 |
|
|
1502 |
|
|
1485 | 1503 |
/** |
1486 | 1504 |
* Returns the NodeCategoryCache for a given TextData. |
1487 | 1505 |
* @param feature |
1488 | 1506 |
* @return |
1489 | 1507 |
*/ |
1490 |
public String getCacheByFeature(Feature feature) { |
|
1508 |
@Override |
|
1509 |
public String getCacheByFeature(Feature feature) { |
|
1491 | 1510 |
if (feature == null){ |
1492 | 1511 |
return null; |
1493 | 1512 |
}else{ |
1494 |
return this.featureCacheMap.get(feature2NoteCategoryFk(feature));
|
|
1513 |
return this.featureCacheMap.get(feature2NoteCategoryFk(feature)); |
|
1495 | 1514 |
} |
1496 | 1515 |
} |
1497 | 1516 |
|
... | ... | |
1577 | 1596 |
return NoteCategory_Comments; |
1578 | 1597 |
} else if (feature.getUuid().equals(BerlinModelTransformer.uuidFeatureConservationStatus)){ |
1579 | 1598 |
return NoteCategory_Conservation_Status; |
1580 |
|
|
1599 |
|
|
1581 | 1600 |
//E+M |
1582 | 1601 |
} else if (feature.getUuid().equals(BerlinModelTransformer.uuidFeatureDistrEM)){ |
1583 | 1602 |
return NoteCategory_general_distribution_euromed; |
... | ... | |
1591 | 1610 |
return NoteCategory_Inedited; |
1592 | 1611 |
} else if (feature.getUuid().equals(BerlinModelTransformer.uuidFeatureCommentsEditing)){ |
1593 | 1612 |
return NoteCategory_Comments_on_editing_process; |
1594 |
|
|
1595 |
|
|
1613 |
|
|
1614 |
|
|
1596 | 1615 |
// TODO: Unknown NoteCategories |
1597 | 1616 |
// NoteCategory_Common_names = 12; |
1598 | 1617 |
// NoteCategory_Maps =14; |
... | ... | |
1625 | 1644 |
if (rank == null){ |
1626 | 1645 |
return null; |
1627 | 1646 |
}else{ |
1628 |
return this.rankCacheMap.get(pesiKingdomId).get(rank2RankId(rank, pesiKingdomId));
|
|
1647 |
return this.rankCacheMap.get(pesiKingdomId).get(rank2RankId(rank, pesiKingdomId)); |
|
1629 | 1648 |
} |
1630 | 1649 |
} |
1631 |
|
|
1650 |
|
|
1632 | 1651 |
/** |
1633 | 1652 |
* Returns the abbreviation for a given rank. |
1634 | 1653 |
* Currently unused. |
... | ... | |
1640 | 1659 |
if (rank == null){ |
1641 | 1660 |
return null; |
1642 | 1661 |
}else{ |
1643 |
return this.rankAbbrevCacheMap.get(pesiKingdomId).get(rank2RankId(rank, pesiKingdomId));
|
|
1662 |
return this.rankAbbrevCacheMap.get(pesiKingdomId).get(rank2RankId(rank, pesiKingdomId)); |
|
1644 | 1663 |
} |
1645 | 1664 |
} |
1646 | 1665 |
|
... | ... | |
1659 | 1678 |
} else if (nomenclaturalCode.equals(NomenclaturalCode.ICNB)) { |
1660 | 1679 |
result = KINGDOM_BACTERIA; |
1661 | 1680 |
// } else if (nomenclaturalCode.equals(NomenclaturalCode.)) { // Biota |
1662 |
// result =
|
|
1681 |
// result = |
|
1663 | 1682 |
} else { |
1664 | 1683 |
logger.error("NomenclaturalCode not yet considered: " + nomenclaturalCode.getUuid() + " (" + nomenclaturalCode.getTitleCache() + ")"); |
1665 | 1684 |
} |
1666 | 1685 |
return result; |
1667 | 1686 |
} |
1668 |
|
|
1687 |
|
|
1669 | 1688 |
/** |
1670 | 1689 |
* Returns the RankId for a Rank. |
1671 | 1690 |
* @param rank |
... | ... | |
1676 | 1695 |
if (rank == null) { |
1677 | 1696 |
return null; |
1678 | 1697 |
} |
1679 |
|
|
1698 |
|
|
1680 | 1699 |
// We differentiate between Animalia and Plantae only for now. |
1681 | 1700 |
if (pesiKingdomId != null && pesiKingdomId.intValue() == KINGDOM_ANIMALIA) { |
1682 | 1701 |
if (rank.equals(Rank.KINGDOM())) { |
... | ... | |
1790 | 1809 |
} else if (rank.equals(Rank.SPECIESGROUP())) { |
1791 | 1810 |
logger.warn("Rank Species Group not yet implemented"); |
1792 | 1811 |
result = null; |
1793 |
} else if (rank.getUuid().equals(BerlinModelTransformer.uuidRankCollSpecies)) {
|
|
1812 |
} else if (rank.getUuid().equals(BerlinModelTransformer.uuidRankCollSpecies)) { |
|
1794 | 1813 |
result = Plantae_Coll_Species; |
1795 | 1814 |
} else if (rank.equals(Rank.SPECIES())) { |
1796 | 1815 |
result = Plantae_Species; |
... | ... | |
1814 | 1833 |
result = Plantae_Subforma; |
1815 | 1834 |
// } else if (rank.equals(Rank.)) { // not yet specified |
1816 | 1835 |
// result = Plantae_Forma_spec; |
1817 |
} else if (rank.equals(Rank.INFRAGENERICTAXON())) {
|
|
1836 |
} else if (rank.equals(Rank.INFRAGENERICTAXON())) { |
|
1818 | 1837 |
result = Plantae_Taxa_infragen; |
1819 |
} else if (rank.equals(Rank.INFRASPECIFICTAXON())) {
|
|
1838 |
} else if (rank.equals(Rank.INFRASPECIFICTAXON())) { |
|
1820 | 1839 |
result = Plantae_Taxa_infraspec; |
1821 | 1840 |
} else { |
1822 | 1841 |
//TODO Exception |
... | ... | |
1847 | 1866 |
else if (rank.equals(Rank.SUBSPECIES())) { result = Bacteria_Subspecies; } |
1848 | 1867 |
else if (rank.equals(Rank.VARIETY())) { result = Bacteria_Variety; } |
1849 | 1868 |
else if (rank.equals(Rank.FORM())) { result = Bacteria_Forma; } |
1850 |
} else { |
|
1869 |
} else if (pesiKingdomId != null && pesiKingdomId.intValue() == KINGDOM_FUNGI) { |
|
1870 |
if (rank.equals(Rank.KINGDOM())) { result = Fungi_Kingdom; } |
|
1871 |
else if (rank.equals(Rank.SUBKINGDOM())) { result = Fungi_Subkingdom; } |
|
1872 |
else if (rank.equals(Rank.DIVISION())) { result = Fungi_Division;} |
|
1873 |
else if (rank.equals(Rank.SUBDIVISION())) { result = Fungi_Subdivision;} |
|
1874 |
else if (rank.equals(Rank.CLASS())) { result = Fungi_Class; } |
|
1875 |
else if (rank.equals(Rank.SUBCLASS())) { result = Fungi_Subclass; } |
|
1876 |
else if (rank.equals(Rank.ORDER())) { result = Fungi_Order; } |
|
1877 |
else if (rank.equals(Rank.SUBORDER())) { result = Fungi_Suborder; } |
|
1878 |
|
|
1879 |
else if (rank.equals(Rank.FAMILY())) { result = Fungi_Family; } |
|
1880 |
else if (rank.equals(Rank.SUBFAMILY())) { result = Fungi_Subfamily; } |
|
1881 |
else if (rank.equals(Rank.TRIBE())) { result = Fungi_Tribe; } |
|
1882 |
else if (rank.equals(Rank.SUBTRIBE())) { result = Fungi_Subtribe; } |
|
1883 |
else if (rank.equals(Rank.GENUS())) { result = Fungi_Genus; } |
|
1884 |
else if (rank.equals(Rank.SUBGENUS())) { result = Fungi_Subgenus; } |
|
1885 |
else if (rank.equals(Rank.SECTION_BOTANY())) { result = Fungi_Section;} |
|
1886 |
else if (rank.equals(Rank.SUBSECTION_BOTANY())) { result = Fungi_Subsection;} |
|
1887 |
else if (rank.equals(Rank.SPECIES())) { result = Fungi_Species; } |
|
1888 |
else if (rank.equals(Rank.SUBSPECIES())) { result = Fungi_Subspecies; } |
|
1889 |
else if (rank.equals(Rank.VARIETY())) { result = Fungi_Variety; } |
|
1890 |
else if (rank.equals(Rank.SUBVARIETY())) { result = Fungi_Subvariety; } |
|
1891 |
else if (rank.equals(Rank.FORM())) { result = Fungi_Forma; } |
|
1892 |
else if (rank.equals(Rank.SUBFORM())) { result = Fungi_Subforma;} |
|
1893 |
}else if (pesiKingdomId != null && pesiKingdomId.intValue() == KINGDOM_CHROMISTA) { |
|
1894 |
if (rank.equals(Rank.KINGDOM())) { result = Chromista_Kingdom; } |
|
1895 |
else if (rank.equals(Rank.SUBKINGDOM())) { result = Chromista_Subkingdom; } |
|
1896 |
|
|
1897 |
else if (rank.equals(Rank.CLASS())) { result = Chromista_Class; } |
|
1898 |
else if (rank.equals(Rank.SUBCLASS())) { result = Chromista_Subclass; } |
|
1899 |
else if (rank.equals(Rank.ORDER())) { result = Chromista_Order; } |
|
1900 |
else if (rank.equals(Rank.SUBORDER())) { result = Chromista_Suborder; } |
|
1901 |
else if (rank.equals(Rank.INFRAORDER())) { result = Chromista_Infraorder; } |
|
1902 |
else if (rank.equals(Rank.SUPERFAMILY())) { result = Chromista_Superfamily; } |
|
1903 |
else if (rank.equals(Rank.FAMILY())) { result = Chromista_Family; } |
|
1904 |
else if (rank.equals(Rank.SUBFAMILY())) { result = Chromista_Subfamily; } |
|
1905 |
else if (rank.equals(Rank.TRIBE())) { result = Chromista_Tribe; } |
|
1906 |
else if (rank.equals(Rank.SUBTRIBE())) { result = Chromista_Subtribe; } |
|
1907 |
else if (rank.equals(Rank.GENUS())) { result = Chromista_Genus; } |
|
1908 |
else if (rank.equals(Rank.SUBGENUS())) { result = Chromista_Subgenus; } |
|
1909 |
else if (rank.equals(Rank.SECTION_BOTANY())) { result = Chromista_Section;} |
|
1910 |
else if (rank.equals(Rank.SUBSECTION_BOTANY())) { result = Chromista_Subsection;} |
|
1911 |
else if (rank.equals(Rank.SPECIES())) { result = Chromista_Species; } |
|
1912 |
else if (rank.equals(Rank.SUBSPECIES())) { result = Chromista_Subspecies; } |
|
1913 |
else if (rank.equals(Rank.VARIETY())) { result = Chromista_Variety; } |
|
1914 |
else if (rank.equals(Rank.SUBVARIETY())) { result = Chromista_Subvariety; } |
|
1915 |
else if (rank.equals(Rank.FORM())) { result = Chromista_Forma; } |
|
1916 |
|
|
1917 |
|
|
1918 |
|
|
1919 |
}else{ |
|
1851 | 1920 |
//TODO Exception |
1852 | 1921 |
logger.warn("Kingdom not yet supported in CDM: "+ pesiKingdomId); |
1853 | 1922 |
return null; |
1854 | 1923 |
} |
1855 | 1924 |
return result; |
1925 |
|
|
1856 | 1926 |
} |
1857 | 1927 |
|
1858 | 1928 |
/** |
1859 |
*
|
|
1929 |
* |
|
1860 | 1930 |
* @param nameTypeDesignationStatus |
1861 | 1931 |
* @return |
1862 | 1932 |
*/ |
... | ... | |
1879 | 1949 |
} |
1880 | 1950 |
|
1881 | 1951 |
/** |
1882 |
*
|
|
1952 |
* |
|
1883 | 1953 |
* @param nameTypeDesignationStatus |
1884 | 1954 |
* @return |
1885 | 1955 |
*/ |
... | ... | |
1909 | 1979 |
public static Integer taxonBase2statusFk (TaxonBase<?> taxonBase){ |
1910 | 1980 |
if (taxonBase == null){ |
1911 | 1981 |
return null; |
1912 |
}
|
|
1982 |
} |
|
1913 | 1983 |
if (taxonBase.isInstanceOf(Taxon.class)){ |
1914 | 1984 |
Taxon taxon = CdmBase.deproxy(taxonBase, Taxon.class); |
1915 | 1985 |
if (taxon.getTaxonNodes().size() == 0){ |
... | ... | |
1923 | 1993 |
logger.warn("Unknown "); |
1924 | 1994 |
return T_STATUS_UNRESOLVED; |
1925 | 1995 |
} |
1926 |
//TODO
|
|
1996 |
//TODO |
|
1927 | 1997 |
// public static int T_STATUS_PARTIAL_SYN = 3; |
1928 | 1998 |
// public static int T_STATUS_PRO_PARTE_SYN = 4; |
1929 | 1999 |
// public static int T_STATUS_UNRESOLVED = 5; |
... | ... | |
1931 | 2001 |
} |
1932 | 2002 |
|
1933 | 2003 |
// /** |
1934 |
// *
|
|
2004 |
// * |
|
1935 | 2005 |
// * @param taxonBase |
1936 | 2006 |
// * @return |
1937 | 2007 |
// */ |
... | ... | |
1950 | 2020 |
// logger.warn("Unknown "); |
1951 | 2021 |
// return T_STATUS_STR_UNRESOLVED; |
1952 | 2022 |
// } |
1953 |
// //TODO
|
|
2023 |
// //TODO |
|
1954 | 2024 |
// public static int T_STATUS_STR_PARTIAL_SYN = 3; |
1955 | 2025 |
// public static int T_STATUS_STR_PRO_PARTE_SYN = 4; |
1956 | 2026 |
// public static int T_STATUS_STR_UNRESOLVED = 5; |
1957 | 2027 |
// public static int T_STATUS_STR_ORPHANED = 6; |
1958 | 2028 |
// } |
1959 |
|
|
2029 |
|
|
1960 | 2030 |
/** |
1961 | 2031 |
* Returns the {@link SourceCategory SourceCategory} representation of the given {@link ReferenceType ReferenceType} in PESI. |
1962 | 2032 |
* @param reference The {@link Reference Reference}. |
... | ... | |
2000 | 2070 |
return null; |
2001 | 2071 |
} |
2002 | 2072 |
} |
2003 |
|
|
2073 |
|
|
2004 | 2074 |
/** |
2005 | 2075 |
* Returns the {@link SourceCategoryCache SourceCategoryCache}. |
2006 | 2076 |
* @param reference The {@link Reference Reference}. |
... | ... | |
2010 | 2080 |
if (reference == null){ |
2011 | 2081 |
return null; |
2012 | 2082 |
}else{ |
2013 |
return this.sourceCategoryCacheMap.get(reference2SourceCategoryFK(reference));
|
|
2083 |
return this.sourceCategoryCacheMap.get(reference2SourceCategoryFK(reference)); |
|
2014 | 2084 |
} |
2015 | 2085 |
} |
2016 | 2086 |
|
2017 | 2087 |
/** |
2018 |
*
|
|
2088 |
* |
|
2019 | 2089 |
* @param status |
2020 | 2090 |
* @return |
2021 | 2091 |
*/ |
2022 |
public String getCacheByNomStatus(NomenclaturalStatusType status) { |
|
2092 |
@Override |
|
2093 |
public String getCacheByNomStatus(NomenclaturalStatusType status) { |
|
2023 | 2094 |
if (status == null){ |
2024 | 2095 |
return null; |
2025 | 2096 |
}else{ |
2026 |
return this.nameStatusCacheMap.get(nomStatus2nomStatusFk(status));
|
|
2097 |
return this.nameStatusCacheMap.get(nomStatus2nomStatusFk(status)); |
|
2027 | 2098 |
} |
2028 | 2099 |
} |
2029 |
|
|
2100 |
|
|
2030 | 2101 |
/** |
2031 |
*
|
|
2102 |
* |
|
2032 | 2103 |
* @param status |
2033 | 2104 |
* @return |
2034 | 2105 |
*/ |
... | ... | |
2044 | 2115 |
}else if (status.equals(NomenclaturalStatusType.UTIQUE_REJECTED())) {return NAME_ST_NOM_UTIQUE_REJ; |
2045 | 2116 |
}else if (status.equals(NomenclaturalStatusType.UTIQUE_REJECTED_PROP())) {return NAME_ST_NOM_UTIQUE_REJ_PROP; |
2046 | 2117 |
}else if (status.equals(NomenclaturalStatusType.CONSERVED())) {return NAME_ST_NOM_CONS; |
2047 |
|
|
2118 |
|
|
2048 | 2119 |
}else if (status.equals(NomenclaturalStatusType.CONSERVED_PROP())) {return NAME_ST_NOM_CONS_PROP; |
2049 | 2120 |
}else if (status.equals(NomenclaturalStatusType.ORTHOGRAPHY_CONSERVED())) {return NAME_ST_ORTH_CONS; |
2050 | 2121 |
}else if (status.equals(NomenclaturalStatusType.ORTHOGRAPHY_CONSERVED_PROP())) {return NAME_ST_ORTH_CONS_PROP; |
... | ... | |
2053 | 2124 |
}else if (status.equals(NomenclaturalStatusType.PROVISIONAL())) {return NAME_ST_NOM_PROVIS; |
2054 | 2125 |
}else if (status.equals(NomenclaturalStatusType.DOUBTFUL())) {return NAME_ST_NOM_DUB; |
2055 | 2126 |
}else if (status.equals(NomenclaturalStatusType.NOVUM())) {return NAME_ST_NOM_NOV; |
2056 |
|
|
2127 |
|
|
2057 | 2128 |
}else if (status.equals(NomenclaturalStatusType.CONFUSUM())) {return NAME_ST_NOM_CONFUS; |
2058 | 2129 |
}else if (status.equals(NomenclaturalStatusType.ALTERNATIVE())) {return NAME_ST_NOM_ALTERN; |
2059 | 2130 |
}else if (status.equals(NomenclaturalStatusType.COMBINATION_INVALID())) {return NAME_ST_COMB_INVAL; |
2060 | 2131 |
}else if (status.equals(NomenclaturalStatusType.LEGITIMATE())) {return NAME_ST_LEGITIMATE; |
2061 |
|
|
2132 |
|
|
2062 | 2133 |
}else if (status.getUuid().equals(BerlinModelTransformer.uuidNomStatusCombIned)) {return NAME_ST_COMB_INED; |
2063 | 2134 |
}else if (status.getUuid().equals(BerlinModelTransformer.uuidNomStatusNomOrthCons)) {return NAME_ST_NOM_AND_ORTH_CONS; |
2064 | 2135 |
}else if (status.getUuid().equals(BerlinModelTransformer.uuidNomStatusSpNovIned)) {return NAME_ST_SP_NOV_INED; |
2065 |
|
|
2066 |
|
|
2136 |
|
|
2137 |
|
|
2067 | 2138 |
// The following are non-existent in CDM |
2068 | 2139 |
// }else if (status.equals(NomenclaturalStatusType.)) {return NAME_ST_COMB_AND_STAT_INED; |
2069 | 2140 |
// }else if (status.equals(NomenclaturalStatusType.)) {return NAME_ST_NOM_NOV_INED; |
... | ... | |
2078 | 2149 |
return null; |
2079 | 2150 |
} |
2080 | 2151 |
} |
2081 |
|
|
2152 |
|
|
2082 | 2153 |
/** |
2083 | 2154 |
* Returns the RelTaxonQualifierCache for a given taxonRelation. |
2084 | 2155 |
* @param relation |
... | ... | |
2088 | 2159 |
if (relation == null){ |
2089 | 2160 |
return null; |
2090 | 2161 |
}else{ |
2091 |
String result;
|
|
2162 |
String result; |
|
2092 | 2163 |
Integer key = taxonRelation2RelTaxonQualifierFk(relation); |
2093 | 2164 |
if (code.equals(NomenclaturalCode.ICZN)){ |
2094 | 2165 |
result = this.taxRelZooQualifierCacheMap.get(key); |
2095 | 2166 |
if (result == null){ |
2096 |
this.taxRelQualifierCacheMap.get(key);
|
|
2167 |
this.taxRelQualifierCacheMap.get(key); |
|
2097 | 2168 |
} |
2098 | 2169 |
}else{ |
2099 |
result = this.taxRelQualifierCacheMap.get(key);
|
|
2170 |
result = this.taxRelQualifierCacheMap.get(key); |
|
2100 | 2171 |
} |
2101 | 2172 |
return result; |
2102 | 2173 |
} |
2103 | 2174 |
} |
2104 |
|
|
2175 |
|
|
2105 | 2176 |
/** |
2106 | 2177 |
* Returns the RelTaxonQualifierFk for a TaxonRelation. |
2107 | 2178 |
* @param relation |
... | ... | |
2191 | 2262 |
|
2192 | 2263 |
return null; |
2193 | 2264 |
} |
2194 |
|
|
2265 |
|
|
2195 | 2266 |
/** |
2196 | 2267 |
* Returns the StatusFk for a given StatusCache. |
2197 | 2268 |
* @param StatusCache |
... | ... | |
2210 | 2281 |
} else { |
2211 | 2282 |
logger.error("StatusFk could not be determined. StatusCache unknown: " + StatusCache); |
2212 | 2283 |
} |
2213 |
|
|
2284 |
|
|
2214 | 2285 |
return result; |
2215 | 2286 |
} |
2216 |
|
|
2287 |
|
|
2217 | 2288 |
/** |
2218 | 2289 |
* Returns the FossilStatusFk for a given FossilStatusCache. |
2219 | 2290 |
* @param fossilStatusCache |
... | ... | |
2230 | 2301 |
} else { |
2231 | 2302 |
logger.error("FossilStatusFk could not be determined. FossilStatusCache unknown: " + fossilStatusCache); |
2232 | 2303 |
} |
2233 |
|
|
2304 |
|
|
2234 | 2305 |
return result; |
2235 | 2306 |
} |
2236 | 2307 |
|
... | ... | |
2250 | 2321 |
} |
2251 | 2322 |
return result; |
2252 | 2323 |
} |
2253 |
|
|
2324 |
|
|
2254 | 2325 |
/** |
2255 | 2326 |
* Returns the NoteCategoryCache for a given UUID representing an ExtensionType. |
2256 | 2327 |
* @param uuid |
... | ... | |
2289 | 2360 |
return null; |
2290 | 2361 |
} |
2291 | 2362 |
}else{ |
2292 |
return null; // TODO needs to be implemented for others
|
|
2363 |
return null; // TODO needs to be implemented for others |
|
2293 | 2364 |
} |
2294 | 2365 |
} |
2295 | 2366 |
|
2296 |
|
|
2367 |
|
|
2297 | 2368 |
private static Set<String> getAllQualityStatus(TaxonNameBase<?, ?> taxonName) { |
2298 | 2369 |
Set<String> result = new HashSet<String>(); |
2299 | 2370 |
for (TaxonBase<?> taxonBase : taxonName.getTaxonBases()){ |
... | ... | |
2307 | 2378 |
if (qualityStatusId == null){ |
2308 | 2379 |
return null; |
2309 | 2380 |
}else{ |
2310 |
return this.qualityStatusCacheMap.get(qualityStatusId);
|
|
2381 |
return this.qualityStatusCacheMap.get(qualityStatusId); |
|
2311 | 2382 |
} |
2312 | 2383 |
} |
2313 |
|
|
2384 |
|
|
2314 | 2385 |
|
2315 | 2386 |
public Object getSourceUseCacheByKey(Integer sourceUseFk) { |
2316 | 2387 |
if (sourceUseFk == null){ |
2317 | 2388 |
return null; |
2318 | 2389 |
}else{ |
2319 |
return this.sourceUseCacheMap.get(sourceUseFk);
|
|
2390 |
return this.sourceUseCacheMap.get(sourceUseFk); |
|
2320 | 2391 |
} |
2321 | 2392 |
} |
2322 |
|
|
2393 |
|
|
2323 | 2394 |
@Override |
2324 | 2395 |
public String getTaxonStatusCacheByKey(Integer taxonStatusId) throws UndefinedTransformerMethodException { |
2325 | 2396 |
if (taxonStatusId == null){ |
2326 | 2397 |
return null; |
2327 | 2398 |
}else{ |
2328 |
return this.taxonStatusCacheMap.get(taxonStatusId);
|
|
2399 |
return this.taxonStatusCacheMap.get(taxonStatusId); |
|
2329 | 2400 |
} |
2330 | 2401 |
} |
2331 | 2402 |
|
... | ... | |
2343 | 2414 |
if (sources.get(SOURCE_ERMS)){ |
2344 | 2415 |
result = CdmUtils.concat(",", result, SOURCE_STR_ERMS); |
2345 | 2416 |
} |
2346 |
|
|
2417 |
|
|
2347 | 2418 |
return result; |
2348 | 2419 |
} |
2349 | 2420 |
|
2421 |
/** |
|
2422 |
* @param titleCache |
|
2423 |
*/ |
|
2424 |
public static Integer pesiKingdomId(String titleCache) { |
|
2425 |
return pesiKingdomMap.get(titleCache); |
|
2426 |
|
|
2427 |
} |
|
2428 |
|
|
2429 |
|
|
2350 | 2430 |
|
2351 |
|
|
2352 | 2431 |
} |
Also available in: Unified diff