Project

General

Profile

« Previous | Next » 

Revision a124222b

Added by Katja Luther over 9 years ago

View differences:

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