Project

General

Profile

« Previous | Next » 

Revision 4ce34990

Added by Andreas Müller almost 12 years ago

some cleaning up with status maps

View differences:

cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/out/PesiDescriptionExport.java
623 623
	 * Returns the <code>LanguageCache</code> attribute.
624 624
	 * @param descriptionElement The {@link DescriptionElementBase DescriptionElement}.
625 625
	 * @return The <code>LanguageCache</code> attribute.
626
	 * @throws UndefinedTransformerMethodException 
626 627
	 * @see MethodMapper
627 628
	 */
628 629
	@SuppressWarnings("unused")
629
	private static String getLanguageCache(DescriptionElementBase descriptionElement) {
630
	private static String getLanguageCache(DescriptionElementBase descriptionElement, PesiExportState state) throws UndefinedTransformerMethodException {
630 631
		Language language = getLanguage(descriptionElement);
631
		return PesiTransformer.language2LanguageCache(language);
632
		return state.getTransformer().getCacheByLanguage(language);
632 633
	}
633 634

  
634 635
	private static Language getLanguage(DescriptionElementBase descriptionElement) {
......
638 639
		if (descriptionElement.isInstanceOf(CommonTaxonName.class)) {
639 640
			CommonTaxonName commonTaxonName = CdmBase.deproxy(descriptionElement, CommonTaxonName.class);
640 641
			language = commonTaxonName.getLanguage();
641
			commonTaxonName = null;
642 642
		} else if (descriptionElement.isInstanceOf(TextData.class)) {
643 643
			TextData textData = CdmBase.deproxy(descriptionElement, TextData.class);
644 644
			multilanguageText = textData.getMultilanguageText();
645
			textData = null;
646 645
		} else if (descriptionElement.isInstanceOf(IndividualsAssociation.class)) {
647 646
			IndividualsAssociation individualsAssociation = CdmBase.deproxy(descriptionElement, IndividualsAssociation.class);
648 647
			multilanguageText = individualsAssociation.getDescription();
649
			individualsAssociation = null;
650 648
		} else if (descriptionElement.isInstanceOf(TaxonInteraction.class)) {
651 649
			TaxonInteraction taxonInteraction = CdmBase.deproxy(descriptionElement, TaxonInteraction.class);
652 650
			multilanguageText = taxonInteraction.getDescriptions();
653
			taxonInteraction = null;
654 651
		} else {
655 652
			logger.debug("Given descriptionElement does not support languages. Hence LanguageCache could not be determined: " + descriptionElement.getUuid());
656 653
		}
......
753 750
		
754 751
		mapping.addMapper(MethodMapper.NewInstance("NoteCategoryCache", this));
755 752
		mapping.addMapper(MethodMapper.NewInstance("LanguageFk", this));
756
		mapping.addMapper(MethodMapper.NewInstance("LanguageCache", this));
757
		
758
//		mapping.addMapper(DbLanguageMapper.NewInstance(CommonTaxonName.class, "Language", "LanguageFk", ! IS_CACHE));
759
//		mapping.addMapper(DbLanguageMapper.NewInstance(CommonTaxonName.class, "Language", "LanguageCache", IS_CACHE));
760
		
753
		mapping.addMapper(MethodMapper.NewInstance("LanguageCache", this, DescriptionElementBase.class, PesiExportState.class));
761 754
		
762 755
//		mapping.addMapper(MethodMapper.NewInstance("Region", this));
763 756
		mapping.addMapper(DbDescriptionElementTaxonMapper.NewInstance("taxonFk"));
cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/out/PesiNoteExport.java
402 402
	 * Returns the <code>LanguageCache</code> attribute.
403 403
	 * @param descriptionElement The {@link DescriptionElementBase DescriptionElement}.
404 404
	 * @return The <code>LanguageCache</code> attribute.
405
	 * @throws UndefinedTransformerMethodException 
405 406
	 * @see MethodMapper
406 407
	 */
407 408
	@SuppressWarnings("unused")
408
	private static String getLanguageCache(DescriptionElementBase descriptionElement) {
409
	private static String getLanguageCache(DescriptionElementBase descriptionElement, PesiExportState state) throws UndefinedTransformerMethodException {
409 410
		Language language = getLanguage(descriptionElement);
410

  
411
		return PesiTransformer.language2LanguageCache(language);
411
		return state.getTransformer().getCacheByLanguage(language);
412 412
	}
413 413

  
414 414
	private static Language getLanguage(DescriptionElementBase descriptionElement) {
cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/out/PesiSourceExport.java
234 234
	 * @see MethodMapper
235 235
	 */
236 236
	@SuppressWarnings("unused")
237
	private static String getSourceCategoryCache(Reference<?> reference) {
238
		String result = null;
239
		try {
240
		result = PesiTransformer.getSourceCategoryCache(reference);
241
		} catch (Exception e) {
242
			e.printStackTrace();
243
		}
244
		return result;
237
	private static String getSourceCategoryCache(Reference<?> reference, PesiExportState state) {
238
		return state.getTransformer().getCacheByReference(reference);
245 239
	}
246 240

  
247 241
	/**
......
439 433
		}
440 434
		
441 435
		mapping.addMapper(MethodMapper.NewInstance("SourceCategoryFK", this));
442
		mapping.addMapper(MethodMapper.NewInstance("SourceCategoryCache", this));
436
		mapping.addMapper(MethodMapper.NewInstance("SourceCategoryCache", this, Reference.class, PesiExportState.class));
443 437
		mapping.addMapper(MethodMapper.NewInstance("Name", this));
444 438
		mapping.addMapper(DbStringMapper.NewInstance("referenceAbstract", "Abstract"));
445 439
		mapping.addMapper(DbStringMapper.NewInstance("title", "Title"));
cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/out/PesiTransformer.java
126 126
	public static int REF_UNRESOLVED = 10;
127 127
	public static int REF_PUBLICATION = 11;
128 128

  
129
	public static String REF_STR_ARTICLE_IN_PERIODICAL = "Article in periodical";
130
	public static String REF_STR_PART_OF_OTHER = "Part of other";
131
	public static String REF_STR_BOOK = "Book";
132
	public static String REF_STR_DATABASE = "Database";
133
	public static String REF_STR_INFORMAL = "Informal";
134
	public static String REF_STR_NOT_APPLICABLE = "Not applicable";
135
	public static String REF_STR_WEBSITE = "Website";
136
	public static String REF_STR_PUBLISHED = "Published";
137
	public static String REF_STR_JOURNAL = "Journal";
138
	public static String REF_STR_UNRESOLVED = "Unresolved";
139
	public static String REF_STR_PUBLICATION = "Publication";
129
//	public static String REF_STR_ARTICLE_IN_PERIODICAL = "Article in periodical";
130
//	public static String REF_STR_PART_OF_OTHER = "Part of other";
131
//	public static String REF_STR_BOOK = "Book";
132
//	public static String REF_STR_DATABASE = "Database";
133
//	public static String REF_STR_INFORMAL = "Informal";
134
//	public static String REF_STR_NOT_APPLICABLE = "Not applicable";
135
//	public static String REF_STR_WEBSITE = "Website";
136
//	public static String REF_STR_PUBLISHED = "Published";
137
//	public static String REF_STR_JOURNAL = "Journal";
138
//	public static String REF_STR_UNRESOLVED = "Unresolved";
139
//	public static String REF_STR_PUBLICATION = "Publication";
140 140
	
141 141
	// NameStatus
142 142
	public static int NAME_ST_NOM_INVAL = 1;
......
178 178
	public static int T_STATUS_UNACCEPTED = 7;
179 179
	public static int T_STATUS_NOT_ACCEPTED = 8;
180 180
	
181
//	public static String T_STATUS_STR_ACCEPTED = "Accepted";
182
//	public static String T_STATUS_STR_SYNONYM = "Synonym";
183
//	public static String T_STATUS_STR_PARTIAL_SYN = "Partial Synonym";
184
//	public static String T_STATUS_STR_PRO_PARTE_SYN = "Pro Parte Synonym";
185
//	public static String T_STATUS_STR_UNRESOLVED = "Unresolved";
186
//	public static String T_STATUS_STR_ORPHANED = "Orphaned";
187
//	public static String T_STATUS_STR_UNACCEPTED = "Unaccepted";
188
//	public static String T_STATUS_STR_NOT_ACCEPTED = "NOT ACCEPTED: TAXONOMICALLY VALUELESS LOCAL OR SINGULAR BIOTYPE";
189
//	
190
	
191
	// TypeDesginationStatus
181
	// TypeDesginationStatus //	 -> not a table anymore
192 182
	public static int TYPE_BY_ORIGINAL_DESIGNATION = 1;
193 183
	public static int TYPE_BY_SUBSEQUENT_DESIGNATION = 2;
194 184
	public static int TYPE_BY_MONOTYPY = 3;
195
	
196 185
	public static String TYPE_STR_BY_ORIGINAL_DESIGNATION = "Type by original designation";
197 186
	public static String TYPE_STR_BY_SUBSEQUENT_DESIGNATION = "Type by subsequent designation";
198 187
	public static String TYPE_STR_BY_MONOTYPY = "Type by monotypy";
......
668 657
	public static int Language_Welsh = 60;
669 658
	public static int Language_Corsican = 61;
670 659

  
671
	public static String STR_LANGUAGE_ALBANIAN = "Albanian";
672
	public static String STR_LANGUAGE_ARABIC = "Arabic";
673
	public static String STR_LANGUAGE_ARMENIAN = "Armenian";
674
	public static String STR_LANGUAGE_AZERBAIJAN = "Azerbaijan";
675
	public static String STR_LANGUAGE_BELARUSIAN = "Belarusian";
676
	public static String STR_LANGUAGE_BULGARIAN = "Bulgarian";
677
	public static String STR_LANGUAGE_CATALAN = "Catalan";
678
	public static String STR_LANGUAGE_CROAT = "Croat";
679
	public static String STR_LANGUAGE_CZECH = "Czech";
680
	public static String STR_LANGUAGE_DANISH = "Danish";
681
	public static String STR_LANGUAGE_DUTCH = "Dutch";
682
	public static String STR_LANGUAGE_ENGLISH = "English";
683
	public static String STR_LANGUAGE_EUSKERA = "Euskera";
684
	public static String STR_LANGUAGE_ESTONIAN = "Estonian";
685
	public static String STR_LANGUAGE_FINNISH = "Finnish";
686
	public static String STR_LANGUAGE_FRENCH = "French";
687
	public static String STR_LANGUAGE_GEORGIAN = "Georgian";
688
	public static String STR_LANGUAGE_GERMAN = "German";
689
	public static String STR_LANGUAGE_GREEK = "Greek";
690
	public static String STR_LANGUAGE_HUNGARIAN = "Hungarian";
691
	public static String STR_LANGUAGE_ICELANDIC = "Icelandic";
692
	public static String STR_LANGUAGE_IRISH_GAELIC = "Irish Gaelic";
693
	public static String STR_LANGUAGE_ISRAEL_HEBREW = "Israel (Hebrew)";
694
	public static String STR_LANGUAGE_ITALIAN = "Italian";
695
	public static String STR_LANGUAGE_LATVIAN = "Latvian";
696
	public static String STR_LANGUAGE_LITHUANIAN = "Lithuanian";
697
	public static String STR_LANGUAGE_MACEDONIAN = "Macedonian";
698
	public static String STR_LANGUAGE_MALTESE = "Maltese";
699
	public static String STR_LANGUAGE_MOLDOVIAN = "Moldovian";
700
	public static String STR_LANGUAGE_NORWEGIAN = "Norwegian";
701
	public static String STR_LANGUAGE_POLISH = "Polish";
702
	public static String STR_LANGUAGE_PORTUGUESE = "Portuguese";
703
	public static String STR_LANGUAGE_ROUMANIAN = "Roumanian";
704
	public static String STR_LANGUAGE_RUSSIAN = "Russian";
705
	public static String STR_LANGUAGE_RUSSIAN_CAUCASIAN = "Russian Caucasian";
706
	public static String STR_LANGUAGE_RUSSIAN_ALTAIC_KALMYK_OIRAT = "Russian (Altaic, kalmyk-oirat)";
707
	public static String STR_LANGUAGE_RUSSIAN_ALTAIC_KARACHAY_BALKAR = "Russian (Altaic, karachay-balkar)";
708
	public static String STR_LANGUAGE_RUSSIAN_ALTAIC_KUMYK = "Russian (Altaic, kumyk)";
709
	public static String STR_LANGUAGE_RUSSIAN_ALTAIC_NOGAI = "Russian (Altaic, nogai)";
710
	public static String STR_LANGUAGE_RUSSIAN_ALTAIC_NORTH_AZERBAIJANI = "Russian (Altaic, north azerbaijani)";
711
	public static String STR_LANGUAGE_RUSSIAN_INDO_EUROPEAN_RUSSIAN = "Russian (Indo-european, russian)";
712
	public static String STR_LANGUAGE_RUSSIAN_INDO_EUROPEAN_KALMYK_OIRAT = "Russian (Indo-european, kalmyk-oirat)";
713
	public static String STR_LANGUAGE_RUSSIAN_INDO_EUROPEAN_OSETIN = "Russian (Indo-european, osetin)";
714
	public static String STR_LANGUAGE_RUSSIAN_NORTH_CAUCASIAN_ABAZA = "Russian (North caucasian, abaza)";
715
	public static String STR_LANGUAGE_RUSSIAN_NORTH_CAUCASIAN_ADYGHE = "Russian (North caucasian, adyghe)";
716
	public static String STR_LANGUAGE_RUSSIAN_NORTH_CAUCASIAN_CHECHEN = "Russian (North caucasian, chechen)";
717
	public static String STR_LANGUAGE_RUSSIAN_NORTH_CAUCASIAN_KABARDIAN = "Russian (North caucasian, kabardian)";
718
	public static String STR_LANGUAGE_RUSSIAN_NORTH_CAUCASIAN_LAK = "Russian (North caucasian, lak)";
719
	public static String STR_LANGUAGE_RUSSIAN_NORTH_CAUCASIAN_AVAR = "Russian (North caucasian, avar)";
720
	public static String STR_LANGUAGE_RUSSIAN_NORTH_CAUCASIAN_IN = "Russian (North caucasian, in)";
721
	public static String STR_LANGUAGE_RUSSIAN_URALIC_CHUVASH = "Russian (Uralic, chuvash)";
722
	public static String STR_LANGUAGE_RUSSIAN_URALIC_UDMURT = "Russian (Uralic, udmurt)";
723
	public static String STR_LANGUAGE_SERBIAN = "Serbian";
724
	public static String STR_LANGUAGE_SLOVAK = "Slovak";
725
	public static String STR_LANGUAGE_SLOVENE = "Slovene";
726
	public static String STR_LANGUAGE_SPANISH_CASTILLIAN = "Spanish, Castillian";
727
	public static String STR_LANGUAGE_SWEDISH = "Swedish";
728
	public static String STR_LANGUAGE_TURKISH = "Turkish";
729
	public static String STR_LANGUAGE_UKRAINE = "Ukraine";
730
	public static String STR_LANGUAGE_WELSH = "Welsh";
731
	public static String STR_LANGUAGE_CORSICAN = "Corsican";
732

  
733
	
734 660
	// FossilStatus
735 661
	public static int FOSSILSTATUS_RECENT_ONLY = 1;
736 662
	public static int FOSSILSTATUS_FOSSIL_ONLY = 2;
737 663
	public static int FOSSILSTATUS_RECENT_FOSSIL = 3;
664
	public static String STR_FOSSIL_ONLY = "fossil only";  //still used for Index Fungorum
738 665
	
739
	public static String STR_RECENT_ONLY = "recent only";
740
	public static String STR_FOSSIL_ONLY = "fossil only";
741
	public static String STR_RECENT_FOSSIL = "recent + fossil";
742

  
743 666
	// SourceUse
744 667
	public static int ORIGINAL_DESCRIPTION = 1;
745 668
	public static int BASIS_OF_RECORD = 2;
......
989 912
	private Map<Integer, String> taxRelQualifierCacheMap  = new HashMap<Integer, String>();
990 913
	private Map<Integer, String> taxRelZooQualifierCacheMap  = new HashMap<Integer, String>();
991 914
	private Map<Integer, String> sourceUseCacheMap  = new HashMap<Integer, String>();
992
	
915
	private Map<Integer, String> fossilStatusCacheMap  = new HashMap<Integer, String>();
916
	private Map<Integer, String> typeDesigStatusCacheMap  = new HashMap<Integer, String>();
917
	private Map<Integer, String> sourceCategoryCacheMap  = new HashMap<Integer, String>();
993 918
	
994 919
	private Source destination;
995 920
	
......
1016 941
			}
1017 942
			
1018 943
			//languageCache
1019
			sql = " SELECT AreaId, AreaName FROM Area ";
1020
			rs = destination.getResultSet(sql);
1021
			while (rs.next()){
1022
				Integer key = rs.getInt("AreaId");
1023
				String cache = rs.getString("AreaName");
1024
				if (StringUtils.isNotBlank(cache)){
1025
					this.languageCacheMap.put(key, cache);
1026
				} 
1027
			}
944
			fillSingleMap(languageCacheMap,"Area", "AreaName", "AreaId");
945

  
1028 946
			//feature / note category
1029
			sql = " SELECT NoteCategoryId, NoteCategory FROM NoteCategory ";
1030
			rs = destination.getResultSet(sql);
1031
			while (rs.next()){
1032
				Integer key = rs.getInt("NoteCategoryId");
1033
				String cache = rs.getString("NoteCategory");
1034
				if (StringUtils.isNotBlank(cache)){
1035
					this.featureCacheMap.put(key, cache);
1036
				} 
1037
			}
947
			fillSingleMap(featureCacheMap,"NoteCategory");
948
			
1038 949
			//nameStatusCache
1039
			sql = " SELECT NomStatusId, NomStatus FROM NameStatus ";
1040
			rs = destination.getResultSet(sql);
1041
			while (rs.next()){
1042
				Integer key = rs.getInt("NomStatusId");
1043
				String cache = rs.getString("NomStatus");
1044
				if (StringUtils.isNotBlank(cache)){
1045
					this.nameStatusCacheMap.put(key, cache);
1046
				} 
1047
			}
950
			fillSingleMap(nameStatusCacheMap,"NameStatus", "NomStatus");
951

  
1048 952
			//qualityStatusCache
1049
			sql = " SELECT QualityStatusId,QualityStatus FROM QualityStatus ";
1050
			rs = destination.getResultSet(sql);
1051
			while (rs.next()){
1052
				Integer key = rs.getInt("QualityStatusId");
1053
				String cache = rs.getString("QualityStatus");
1054
				if (StringUtils.isNotBlank(cache)){
1055
					this.qualityStatusCacheMap.put(key, cache);
1056
				} 
1057
			}
953
			fillSingleMap(qualityStatusCacheMap,"QualityStatus");
954

  
1058 955
			//taxonStatusCache
1059
			sql = " SELECT StatusId,Status FROM TaxonStatus ";
1060
			rs = destination.getResultSet(sql);
1061
			while (rs.next()){
1062
				Integer key = rs.getInt("StatusId");
1063
				String cache = rs.getString("Status");
1064
				if (StringUtils.isNotBlank(cache)){
1065
					this.taxonStatusCacheMap.put(key, cache);
1066
				} 
1067
			}
956
			fillSingleMap(taxonStatusCacheMap,"TaxonStatus", "Status");
957
			
958
			//sourceUse
959
			fillSingleMap(sourceUseCacheMap,"SourceUse");
960

  
961
			//fossil status
962
			fillSingleMap(fossilStatusCacheMap,"FossilStatus");
963
			
964
			//fossil status
965
			fillSingleMap(typeDesigStatusCacheMap,"FossilStatus");
966
			
967
			//source category
968
			fillSingleMap(sourceCategoryCacheMap,"SourceCategory", "Category", "SourceCategoryId");
969
			
1068 970
			//RelTaxonQualifier
1069 971
			sql = " SELECT QualifierId, Qualifier, ZoologQualifier FROM RelTaxonQualifier ";
1070 972
			rs = destination.getResultSet(sql);
......
1079 981
					this.taxRelZooQualifierCacheMap.put(key, zoologCache);
1080 982
				}
1081 983
			}
1082
			//sourceUse
1083
			sql = " SELECT SourceUseId,SourceUse FROM SourceUse ";
1084
			rs = destination.getResultSet(sql);
1085
			while (rs.next()){
1086
				Integer key = rs.getInt("SourceUseId");
1087
				String cache = rs.getString("SourceUse");
1088
				if (StringUtils.isNotBlank(cache)){
1089
					this.sourceUseCacheMap.put(key, cache);
1090
				} 
1091
			}
1092
			
1093
			
1094 984
					
1095 985
		} catch (SQLException e) {
1096 986
			logger.error("SQLException when trying to read area map", e);
......
1099 989
		
1100 990
	}
1101 991

  
992
	private void fillSingleMap(Map<Integer, String> map, String tableName) throws SQLException {
993
		fillSingleMap(map, tableName, tableName,  tableName + "Id");
994
	}
995
	
996
	private void fillSingleMap(Map<Integer, String> map, String tableName, String attr) throws SQLException {
997
			fillSingleMap(map, tableName, attr,  attr + "Id");
998
	}
999
	
1000
	private void fillSingleMap(Map<Integer, String> map, String tableName, String attr, String idAttr) throws SQLException {
1001
		String sql;
1002
		ResultSet rs;
1003
		sql = " SELECT %s, %s FROM %s ";
1004
		sql = String.format(sql, idAttr, attr, tableName);
1005
		rs = destination.getResultSet(sql);
1006
		while (rs.next()){
1007
			Integer key = rs.getInt(idAttr);
1008
			String cache = rs.getString(attr);
1009
			if (StringUtils.isNotBlank(cache)){
1010
				map.put(key, cache);
1011
			} 
1012
		}
1013
	}
1014

  
1102 1015
	/**
1103 1016
	 * Converts the databaseString to its abbreviation if its known.
1104 1017
	 * Otherwise the databaseString is returned.
......
1443 1356
		}
1444 1357
	}
1445 1358

  
1446
	/**
1447
	 * Returns the LanguageCache to a given Language.
1448
	 * @param language
1449
	 * @return
1450
	 */
1451
	public static String language2LanguageCache(Language language) {
1452
		if (language == null ) {
1453
			return null;
1454
		}
1455
		if (language.equals(Language.ALBANIAN())) {
1456
			return STR_LANGUAGE_ALBANIAN;
1457
		} else if (language.equals(Language.ARABIC())) {
1458
			return STR_LANGUAGE_ARABIC;
1459
		} else if (language.equals(Language.ARMENIAN())) {
1460
			return STR_LANGUAGE_ARMENIAN;
1461
		} else if (language.equals(Language.AZERBAIJANI())) {
1462
			return STR_LANGUAGE_AZERBAIJAN;
1463
		} else if (language.equals(Language.BELORUSSIAN())) {
1464
			return STR_LANGUAGE_BELARUSIAN;
1465
		} else if (language.equals(Language.BULGARIAN())) {
1466
			return STR_LANGUAGE_BULGARIAN;
1467
		} else if (language.equals(Language.CATALAN_VALENCIAN())) {
1468
			return STR_LANGUAGE_CATALAN;
1469
		} else if (language.equals(Language.CROATIAN())) {
1470
			return STR_LANGUAGE_CROAT;
1471
		} else if (language.equals(Language.CZECH())) {
1472
			return STR_LANGUAGE_CZECH;
1473
		} else if (language.equals(Language.DANISH())) {
1474
			return STR_LANGUAGE_DANISH;
1475
		} else if (language.equals(Language.DUTCH_MIDDLE())) {
1476
			return STR_LANGUAGE_DUTCH;
1477
		} else if (language.equals(Language.ENGLISH())) {
1478
			return STR_LANGUAGE_ENGLISH;
1479
//		} else if (language.equals(Language.)) {
1480
//			return STR_LANGUAGE_EUSKERA;
1481
		} else if (language.equals(Language.ESTONIAN())) {
1482
			return STR_LANGUAGE_ESTONIAN;
1483
		} else if (language.equals(Language.FINNISH())) {
1484
			return STR_LANGUAGE_FINNISH;
1485
		} else if (language.equals(Language.FRENCH())) {
1486
			return STR_LANGUAGE_FRENCH;
1487
		} else if (language.equals(Language.GEORGIAN())) {
1488
			return STR_LANGUAGE_GEORGIAN;
1489
		} else if (language.equals(Language.GERMAN())) {
1490
			return STR_LANGUAGE_GERMAN;
1491
		} else if (language.equals(Language.GREEK_MODERN())) {
1492
			return STR_LANGUAGE_GREEK;
1493
		} else if (language.equals(Language.HUNGARIAN())) {
1494
			return STR_LANGUAGE_HUNGARIAN;
1495
		} else if (language.equals(Language.ICELANDIC())) {
1496
			return STR_LANGUAGE_ICELANDIC;
1497
		} else if (language.equals(Language.IRISH())) {
1498
			return STR_LANGUAGE_IRISH_GAELIC;
1499
		} else if (language.equals(Language.HEBREW())) {
1500
			return STR_LANGUAGE_ISRAEL_HEBREW;
1501
		} else if (language.equals(Language.ITALIAN())) {
1502
			return STR_LANGUAGE_ITALIAN;
1503
		} else if (language.equals(Language.LATVIAN())) {
1504
			return STR_LANGUAGE_LATVIAN;
1505
		} else if (language.equals(Language.LITHUANIAN())) {
1506
			return STR_LANGUAGE_LITHUANIAN;
1507
		} else if (language.equals(Language.MACEDONIAN())) {
1508
			return STR_LANGUAGE_MACEDONIAN;
1509
		} else if (language.equals(Language.MALTESE())) {
1510
			return STR_LANGUAGE_MALTESE;
1511
		} else if (language.equals(Language.MOLDAVIAN())) {
1512
			return STR_LANGUAGE_MOLDOVIAN;
1513
		} else if (language.equals(Language.NORWEGIAN())) {
1514
			return STR_LANGUAGE_NORWEGIAN;
1515
		} else if (language.equals(Language.POLISH())) {
1516
			return STR_LANGUAGE_POLISH;
1517
		} else if (language.equals(Language.PORTUGUESE())) {
1518
			return STR_LANGUAGE_PORTUGUESE;
1519
		} else if (language.equals(Language.ROMANIAN())) {
1520
			return STR_LANGUAGE_ROUMANIAN;
1521
		} else if (language.equals(Language.RUSSIAN())) {
1522
			return STR_LANGUAGE_RUSSIAN;
1523
//		} else if (language.equals(Language.)) {
1524
//			return STR_LANGUAGE_RUSSIAN_CAUCASIAN;
1525
//		} else if (language.equals(Language.)) {
1526
//			return STR_LANGUAGE_RUSSIAN_ALTAIC_KALMYK_OIRAT;
1527
//		} else if (language.equals(Language.)) {
1528
//			return STR_LANGUAGE_RUSSIAN_ALTAIC_KARACHAY_BALKAR;
1529
//		} else if (language.equals(Language.)) {
1530
//			return STR_LANGUAGE_RUSSIAN_ALTAIC_KUMYK;
1531
//		} else if (language.equals(Language.)) {
1532
//			return STR_LANGUAGE_RUSSIAN_ALTAIC_NOGAI;
1533
//		} else if (language.equals(Language.)) {
1534
//			return STR_LANGUAGE_RUSSIAN_ALTAIC_NORTH_AZERBAIJANI;
1535
//		} else if (language.equals(Language.)) {
1536
//			return STR_LANGUAGE_RUSSIAN_INDO_EUROPEAN_RUSSIAN;
1537
//		} else if (language.equals(Language.)) {
1538
//			return STR_LANGUAGE_RUSSIAN_INDO_EUROPEAN_KALMYK_OIRAT;
1539
//		} else if (language.equals(Language.)) {
1540
//			return STR_LANGUAGE_RUSSIAN_INDO_EUROPEAN_OSETIN;
1541
//		} else if (language.equals(Language.)) {
1542
//			return STR_LANGUAGE_RUSSIAN_NORTH_CAUCASIAN_ABAZA;
1543
//		} else if (language.equals(Language.)) {
1544
//			return STR_LANGUAGE_RUSSIAN_NORTH_CAUCASIAN_ADYGHE;
1545
//		} else if (language.equals(Language.)) {
1546
//			return STR_LANGUAGE_RUSSIAN_NORTH_CAUCASIAN_CHECHEN;
1547
//		} else if (language.equals(Language.)) {
1548
//			return STR_LANGUAGE_RUSSIAN_NORTH_CAUCASIAN_KABARDIAN;
1549
//		} else if (language.equals(Language.)) {
1550
//			return STR_LANGUAGE_RUSSIAN_NORTH_CAUCASIAN_LAK;
1551
//		} else if (language.equals(Language.)) {
1552
//			return STR_LANGUAGE_RUSSIAN_NORTH_CAUCASIAN_AVAR;
1553
//		} else if (language.equals(Language.)) {
1554
//			return STR_LANGUAGE_RUSSIAN_NORTH_CAUCASIAN_IN;
1555
//		} else if (language.equals(Language.)) {
1556
//			return STR_LANGUAGE_RUSSIAN_URALIC_CHUVASH;
1557
//		} else if (language.equals(Language.)) {
1558
//			return STR_LANGUAGE_RUSSIAN_URALIC_UDMURT;
1559
		} else if (language.equals(Language.SERBIAN())) {
1560
			return STR_LANGUAGE_SERBIAN;
1561
		} else if (language.equals(Language.SLOVAK())) {
1562
			return STR_LANGUAGE_SLOVAK;
1563
		} else if (language.equals(Language.SLOVENIAN())) {
1564
			return STR_LANGUAGE_SLOVENE;
1565
		} else if (language.equals(Language.SPANISH_CATALAN())) {
1566
			return STR_LANGUAGE_SPANISH_CASTILLIAN;
1567
		} else if (language.equals(Language.SWEDISH())) {
1568
			return STR_LANGUAGE_SWEDISH;
1569
		} else if (language.equals(Language.TURKISH())) {
1570
			return STR_LANGUAGE_TURKISH;
1571
		} else if (language.equals(Language.UKRAINIAN())) {
1572
			return STR_LANGUAGE_UKRAINE;
1573
		} else if (language.equals(Language.WELSH())) {
1574
			return STR_LANGUAGE_WELSH;
1575
		} else if (language.equals(Language.CORSICAN())) {
1576
			return STR_LANGUAGE_CORSICAN;
1577
		} else {
1578
			logger.debug("Unknown Language: " + language.getTitleCache());
1579
			return null;
1580
		}
1581
	}
1582 1359
	
1583 1360
	/**
1584 1361
	 * Returns the identifier of the given Language.
......
2491 2268
	 * @param reference The {@link Reference Reference}.
2492 2269
	 * @return The {@link SourceCategoryCache SourceCategoryCache}.
2493 2270
	 */
2494
	public static String getSourceCategoryCache(Reference<?> reference) {
2271
	public String getCacheByReference(Reference<?> reference) {
2495 2272
		if (reference == null){
2496 2273
			return null;
2497
		} else if (reference.getType().equals(ReferenceType.Article)) {
2498
			return REF_STR_ARTICLE_IN_PERIODICAL;
2499
		} else if (reference.getType().equals(ReferenceType.Book)) {
2500
			return REF_STR_BOOK;
2501
		} else if (reference.getType().equals(ReferenceType.BookSection)) {
2502
			return REF_STR_PART_OF_OTHER;
2503
		} else if (reference.getType().equals(ReferenceType.Database)) {
2504
			return REF_STR_DATABASE;
2505
		} else if (reference.getType().equals(ReferenceType.WebPage)) {
2506
			return REF_STR_WEBSITE;
2507
		} else if (reference.getType().equals(ReferenceType.CdDvd)) {
2508
			return REF_STR_NOT_APPLICABLE;
2509
		} else if (reference.getType().equals(ReferenceType.Journal)) {
2510
			return REF_STR_JOURNAL;
2511
		} else if (reference.getType().equals(ReferenceType.Generic)) {
2512
			return REF_STR_UNRESOLVED;
2513
		} else if (reference.getType().equals(ReferenceType.PrintSeries)) {
2514
			return REF_STR_PUBLISHED;
2515
		} else if (reference.getType().equals(ReferenceType.Proceedings)) {
2516
			return REF_STR_PUBLISHED;
2517
		} else if (reference.getType().equals(ReferenceType.Patent)) {
2518
			return REF_STR_NOT_APPLICABLE;
2519
		} else if (reference.getType().equals(ReferenceType.PersonalCommunication)) {
2520
			return REF_STR_INFORMAL;
2521
		} else if (reference.getType().equals(ReferenceType.Report)) {
2522
			return REF_STR_NOT_APPLICABLE;
2523
		} else if (reference.getType().equals(ReferenceType.Thesis)) {
2524
			return REF_STR_NOT_APPLICABLE;
2525
		} else {
2526
			logger.warn("Reference type not yet supported in PESI: "+ reference.getType());
2527
			return null;
2274
		}else{
2275
			return this.sourceCategoryCacheMap.get(reference2SourceCategoryFK(reference)); 
2528 2276
		}
2529 2277
	}
2530 2278

  

Also available in: Unified diff