@Override public String getUri() { if (koodi != null) { return koodi.getKoodiUri(); } return null; }
/** * Construct versioned koodi uri (adds #version to the end of uri). * * @param koodiType * @return */ public static String createKoodiUriWithVersion(KoodiType koodiType) { return koodiType.getKoodiUri() + KOODI_URI_AND_VERSION_SEPARATOR + koodiType.getVersio(); }
@Override public String getValue() { if (koodi != null) { return koodi.getKoodiArvo(); } return null; }
protected KoodiType getSisaltyvaKoodi(KoodiType sourcekoodi, String targetKoodisto) { KoodiUriAndVersioType uriAndVersio = new KoodiUriAndVersioType(); uriAndVersio.setKoodiUri(sourcekoodi.getKoodiUri()); uriAndVersio.setVersio(sourcekoodi.getVersio()); List<KoodiType> relatedKoodis = koodiService.listKoodiByRelation(uriAndVersio, false, SuhteenTyyppiType.SISALTYY); for (KoodiType curKoodi : relatedKoodis) { if (curKoodi.getKoodisto().getKoodistoUri().equals(targetKoodisto)) { return curKoodi; } } return null; }
private String findName(String lang) { if (koodi != null) { for (KoodiMetadataType md : koodi.getMetadata()) { if (md.getKieli().name().equalsIgnoreCase(lang)) { return md.getNimi(); } } } return null; } }
/** * Convert Tarjonta koodi uri and version string to KoodiUriAndVersioType * object. * * @param koodiUriWithVersion * @return */ public static KoodiUriAndVersioType getKoodiUriAndVersioTypeByKoodiUriAndVersion(final String koodiUriWithVersion) { KoodiUriAndVersioType type = new KoodiUriAndVersioType(); type.setKoodiUri(getKoodiURIFromVersionedUri(koodiUriWithVersion)); type.setVersio(getKoodiVersionFromVersionedUri(koodiUriWithVersion)); return type; }
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); }
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 "kuvaus" (description) field. * * @param targetKoodiUri * @return */ public Map<String, String> getKoodiMetadataKuvaus(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 kuvaus = koodiMetadataType.getKuvaus(); String kieli = koodiMetadataType.getKieli().name(); result.put(convertKielikoodiToKieliUri(kieli), kuvaus); } } } return result; }
public KoodiMetadataType getAvailableKoodiMetadata(KoodiType koodi) { KoodiMetadataType kmdt = KoodistoHelper.getKoodiMetadataForLanguage(koodi, KieliType.FI); if (kmdt == null && !koodi.getMetadata().isEmpty()) { kmdt = koodi.getMetadata().get(0); } return kmdt; }
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; }
protected KoodiType getRinnasteinenKoodi(KoodiType koulutuskoodi, String targetKoodisto) { KoodiUriAndVersioType uriAndVersio = new KoodiUriAndVersioType(); uriAndVersio.setKoodiUri(koulutuskoodi.getKoodiUri()); uriAndVersio.setVersio(koulutuskoodi.getVersio()); List<KoodiType> relatedKoodis = koodiService.listKoodiByRelation(uriAndVersio, false, SuhteenTyyppiType.RINNASTEINEN); KoodiType targetKoodi = null; for (KoodiType curKoodi : relatedKoodis) { if (curKoodi.getKoodisto().getKoodistoUri().equals(targetKoodisto)) { targetKoodi = curKoodi; } } if (targetKoodi == null) { relatedKoodis = koodiService.listKoodiByRelation(uriAndVersio, true, SuhteenTyyppiType.RINNASTEINEN); for (KoodiType curKoodi : relatedKoodis) { if (curKoodi.getKoodisto().getKoodistoUri().equals(targetKoodisto)) { targetKoodi = curKoodi; } } } return targetKoodi; }
/** * 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; } }
public void cacheKoodisto(String koodisto, Integer version) { List<KoodiType> koodiTypes = cachingKoodistoClient.getKoodisForKoodisto(koodisto, version); for (KoodiType koodi : koodiTypes) { koodiMap.put(koodi.getKoodiUri() + "#" + koodi.getVersio(), koodi); // Also direct access without version (use latest code version) if (version == null) { koodiMap.put(koodi.getKoodiUri(), koodi); } } }
private boolean isTrue(final KoodiType koodiType) { return CODE_VALUE_TRUE.equals(koodiType.getKoodiArvo()); } }
@Override public int compare(KoodiType o1, KoodiType o2) { String k1 = o1.getKoodiArvo(); String k2 = o2.getKoodiArvo(); if (k1.length() != k2.length()) { return k1.length() - k2.length(); } return k1.compareTo(k2); } });
private String getOphTutkintotunniste(KoodiType ophTutkinto) { return StringUtils.leftPad(ophTutkinto.getKoodiArvo(), 6); }
private String getKelaTutkintoTunniste(KoodiType kelaTutkinto) { return StringUtils.leftPad(kelaTutkinto.getKoodiArvo(), 10); }
private String getKoulutusasteenYksiloivaTunniste(KoodiType kelaTutkinto) { KoodiType koulutuastekoodi = getSisaltyvaKoodi(kelaTutkinto, kelaKoulutusastekoodisto); return (koulutuastekoodi == null) ? StringUtils.leftPad("", 10, '0') : StringUtils.leftPad(koulutuastekoodi.getKoodiArvo(), 10, '0'); }
private String getOpintoalanYksiloivaTunniste(KoodiType kelaTutkinto) { KoodiType opintoalakoodi = getSisaltyvaKoodi(kelaTutkinto, kelaOpintoalakoodisto); return (opintoalakoodi == null) ? StringUtils.leftPad("", 10, '0') : StringUtils.leftPad(opintoalakoodi.getKoodiArvo(), 10, '0'); }