public String getNimiByKoodi(final KoodiType koodi, final Locale locale) { if (koodi != null) { // Get metadata KoodiMetadataType kmdt = getKoodiMetadataForLanguage(koodi, locale); if (kmdt != null) { return kmdt.getNimi(); } } return null; }
/** * Get koodi metadata by locale with language fallback to FI * * @param koodiType * @param locale * @return */ public static KoodiMetadataType getKoodiMetadataForLanguage(KoodiType koodiType, Locale locale) { KoodiMetadataType kmdt = KoodistoHelper.getKoodiMetadataForLanguage(koodiType, KoodistoHelper.getKieliForLocale(locale)); if (kmdt == null || (kmdt.getNimi() == null || kmdt.getNimi().length() == 0)) { // Try finnish if current locale is not found kmdt = KoodistoHelper.getKoodiMetadataForLanguage(koodiType, KieliType.FI); } return kmdt; }
/** * Get koodi metadata by locale with language fallback to FI * * @param koodiType * @param locale * @return */ public KoodiMetadataType getKoodiMetadataForLanguage(KoodiType koodiType, Locale locale) { KoodiMetadataType kmdt = KoodistoHelper.getKoodiMetadataForLanguage(koodiType, KoodistoHelper.getKieliForLocale(locale)); if (kmdt == null || (kmdt.getNimi() == null || kmdt.getNimi().length() == 0)) { // Try finnish if current locale is not found kmdt = KoodistoHelper.getKoodiMetadataForLanguage(koodiType, KieliType.FI); } return kmdt; }
public static Map<String, String> createTranslationsMap(final KoodiType koodiType) { List<KoodiMetadataType> metadata = koodiType.getMetadata(); Map<String, String> translations = new HashMap<String, String>(); for (KoodiMetadataType koodiMetadataType : metadata) { translations.put(koodiMetadataType.getKieli().value().toLowerCase(), koodiMetadataType.getNimi()); } return createTranslationsMap(translations); }
private String findName(String lang) { if (koodi != null) { for (KoodiMetadataType md : koodi.getMetadata()) { if (md.getKieli().name().equalsIgnoreCase(lang)) { return md.getNimi(); } } } return null; } }
public static void addKausikoodiTiedot(SolrInputDocument doc, String kausikoodi, TarjontaKoodistoHelper koodistoHelper) { if (kausikoodi == null) { return; } KoodiType koodi = koodistoHelper.getKoodiByUri(kausikoodi); if (koodi != null) { KoodiMetadataType metadata = IndexDataUtils.getKoodiMetadataForLanguage(koodi, new Locale("fi")); add(doc, KAUSI_FI, metadata.getNimi()); metadata = IndexDataUtils.getKoodiMetadataForLanguage(koodi, new Locale("sv")); add(doc, KAUSI_SV, metadata.getNimi()); metadata = IndexDataUtils.getKoodiMetadataForLanguage(koodi, new Locale("en")); add(doc, KAUSI_EN, metadata.getNimi()); add(doc, KAUSI_URI, koodi.getKoodiUri() + IndexDataUtils.KOODI_URI_AND_VERSION_SEPARATOR + koodi.getVersio()); } }
/** * Get multilanguage text from koodis metadata "nimi" (name) field. * * @param targetKoodiUri * @return */ public Map<String, String> getKoodiMetadataNimi(String targetKoodiUri) { Map<String, String> result = new HashMap<String, String>(); if (targetKoodiUri != null) { KoodiType targetKoodiType = getKoodiByUri(targetKoodiUri); if (targetKoodiType != null) { for (KoodiMetadataType koodiMetadataType : targetKoodiType.getMetadata()) { String nimi = koodiMetadataType.getNimi(); String kieli = koodiMetadataType.getKieli().name(); result.put(convertKielikoodiToKieliUri(kieli), nimi); } } } return result; } }