Changeset 5188
- Timestamp:
- 05/12/14 15:08:42 (10 years ago)
- Location:
- vlo/trunk/vlo-importer/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/trunk/vlo-importer/src/main/java/eu/clarin/cmdi/vlo/importer/LanguageCodePostProcessor.java
r5143 r5188 23 23 private final static Logger LOG = LoggerFactory.getLogger(LanguageCodePostProcessor.class); 24 24 25 protected static final String CODE_PREFIX = "code:"; 26 protected static final String LANG_NAME_PREFIX = "name:"; 25 27 protected static final String ISO639_3_PREFIX = "ISO639-3:"; 26 28 protected static final String SIL_CODE_PREFIX = "RFC1766:x-sil-"; … … 51 53 String result = value; 52 54 55 // input is already ISO 639-3? 56 if(getIso639ToLanguageNameMap().keySet().contains(value.toUpperCase())) 57 return CODE_PREFIX + value.toLowerCase(); 58 53 59 // deal with prefixes or language names 54 60 if (value.length() != 2 && value.length() != 3) { 55 61 if (value.startsWith(ISO639_3_PREFIX)) { 56 return value.substring(ISO639_3_PREFIX.length()).toLowerCase();62 return CODE_PREFIX + value.substring(ISO639_3_PREFIX.length()).toLowerCase(); 57 63 } else if (value.startsWith(SIL_CODE_PREFIX) || value.startsWith(SIL_CODE_PREFIX_alt)) { 58 64 result = value.substring(value.lastIndexOf("-")+1); … … 60 66 String isoCode = silToIso639Map.get(result.toLowerCase()); 61 67 if (isoCode != null) { 62 result = isoCode;68 result = CODE_PREFIX + isoCode; 63 69 } 64 70 } else if(getLanguageNameToIso639Map().containsKey(value)) { // (english) language name? 65 return getLanguageNameToIso639Map().get(value);71 return CODE_PREFIX + getLanguageNameToIso639Map().get(value); 66 72 } 67 73 } … … 71 77 if(silToIso639Map == null) 72 78 silToIso639Map = getSilToIso639Map(); 73 result = silToIso639Map.get(result.toLowerCase());79 result = CODE_PREFIX + silToIso639Map.get(result.toLowerCase()); 74 80 } 75 81 76 82 // convert ISO 639-2/T codes to ISO 639-3 77 83 if (getIso6392TToISO6393Map().containsKey(value.toLowerCase())) { 78 result = getIso6392TToISO6393Map().get(value.toLowerCase()); 79 } 80 84 result = CODE_PREFIX + getIso6392TToISO6393Map().get(value.toLowerCase()); 85 } 86 87 // language code not identified? -> language name 88 if(!result.startsWith(CODE_PREFIX) && !result.equals("")) 89 result = LANG_NAME_PREFIX + result; 81 90 return result; 82 91 } -
vlo/trunk/vlo-importer/src/main/java/eu/clarin/cmdi/vlo/importer/LanguageLinkPostProcessor.java
r5143 r5188 13 13 String result = langCode; 14 14 if (langCode != null) { 15 if(langCode.length() == 3) 15 if(langCode.startsWith(CODE_PREFIX)) { 16 langCode = langCode.substring(CODE_PREFIX.length()); 16 17 result = "<a href=\""+ MetadataImporter.config.getLanguageLinkPrefix() + langCode+"\">"+getLanguageNameForLanguageCode(langCode.toUpperCase())+"</a>"; 18 } else if(langCode.startsWith(LANG_NAME_PREFIX)) { 19 result = langCode.substring(LANG_NAME_PREFIX.length()); 20 } 17 21 } 18 22 return result; -
vlo/trunk/vlo-importer/src/main/java/eu/clarin/cmdi/vlo/importer/LanguageNamePostProcessor.java
r5143 r5188 22 22 if (value != null) { 23 23 String langCode = extractLanguageCode(value); 24 if(langCode.startsWith(CODE_PREFIX)) 25 langCode = langCode.substring(CODE_PREFIX.length()); 26 24 27 if (langCode.length() == 2) { 25 28 twoLetterCodesMap = getTwoLetterCountryCodeMap(); -
vlo/trunk/vlo-importer/src/test/java/eu/clarin/cmdi/vlo/importer/LanguageCodePostProcessorTest.java
r5143 r5188 20 20 public void testLanguageCode() { 21 21 PostProcessor processor = new LanguageCodePostProcessor(); 22 assertEquals(" nld", processor.process("NL"));23 assertEquals(" eng", processor.process("en"));24 assertEquals(" nld", processor.process("nl"));25 assertEquals(" fry", processor.process("fry"));26 assertEquals(" test", processor.process("test"));22 assertEquals("code:nld", processor.process("NL")); 23 assertEquals("code:eng", processor.process("en")); 24 assertEquals("code:nld", processor.process("nl")); 25 assertEquals("code:fry", processor.process("fry")); 26 assertEquals("name:test", processor.process("test")); 27 27 assertEquals("", processor.process("")); 28 28 assertEquals(null, processor.process(null)); 29 assertEquals(" fra", processor.process("ISO639-3:fra"));30 assertEquals(" deu", processor.process("RFC1766:x-sil-GER"));31 assertEquals(" RFC1766:sgn-NL", processor.process("RFC1766:sgn-NL"));32 assertEquals(" eus", processor.process("baq"));33 assertEquals(" eng", processor.process("eng"));34 assertEquals(" eng", processor.process("English"));35 assertEquals(" deu", processor.process("German"));36 assertEquals(" esn", processor.process("Salvadoran Sign Language"));29 assertEquals("code:fra", processor.process("ISO639-3:fra")); 30 assertEquals("code:deu", processor.process("RFC1766:x-sil-GER")); 31 assertEquals("name:RFC1766:sgn-NL", processor.process("RFC1766:sgn-NL")); 32 assertEquals("code:eus", processor.process("baq")); 33 assertEquals("code:eng", processor.process("eng")); 34 assertEquals("code:eng", processor.process("English")); 35 assertEquals("code:deu", processor.process("German")); 36 assertEquals("code:esn", processor.process("Salvadoran Sign Language")); 37 37 } 38 38
Note: See TracChangeset
for help on using the changeset viewer.