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; }
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; }
@Override public Map<String, String> getCachedKoodistoLanguageCodes() { if (cachedlanguages == null) { cachedlanguages = new HashMap<String, String>(); List<KoodiType> searchKoodisByKoodisto = koodiService.searchKoodisByKoodisto(KoodiServiceSearchCriteriaBuilder.koodisByKoodistoUri(KOODISTO_LANGUAGE_URI)); for (KoodiType koodi : searchKoodisByKoodisto) { cachedlanguages.put(koodi.getKoodiUri(), koodi.getKoodiArvo()); } } return cachedlanguages; }
/** * 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(); }
int i = 0; for (KoodiType koodi : koulut) { if (koodi.getKoodiArvo().equals(AMMATTIKORKEAKOLU) || koodi.getKoodiArvo().equals(YLIOPISTO) || koodi.getKoodiArvo().equals(SOTILASKORKEAKOULU) || koodi.getKoodiArvo().equals(VALIAIKAINEN_AMK)) { if (i++ >= fetchLimit) { break; List<KoodiType> ylakoodit = koodiService.getYlakoodis(koodi.getKoodiUri()); LOGGER.debug("Getting korkeakoulukoodit. Koulukoodi: {}", koodi.getKoodiArvo()); LOGGER.debug("Ylakoodeja: {}", ylakoodit.size()); int j = 0; for (KoodiType ylakoodi : ylakoodit) { if (ylakoodi.getKoodisto().getKoodistoUri().equals("oppilaitosnumero") && !ylakoodi.getTila().equals(TilaType.PASSIIVINEN)) { if (j++ >= fetchLimit) { break; lukioNumerot.add(ylakoodi.getKoodiArvo());
@Override public SubjectRow apply(final KoodiType koodiType) { Map<String, String> translationsMap = TranslationsUtil.createTranslationsMap(koodiType); String koodiArvo = koodiType.getKoodiArvo(); boolean optional = false; boolean highSchool = false; boolean comprehensiveSchool = false; boolean language = false; KoodiUriAndVersioType koodi = new KoodiUriAndVersioType(); koodi.setKoodiUri(koodiType.getKoodiUri()); koodi.setVersio(koodiType.getVersio()); if (koodiService != null) { List<KoodiType> koodiTypes = koodiService.getAlakoodis(koodi.getKoodiUri()); for (KoodiType type : koodiTypes) { String koodistoUri = type.getKoodisto().getKoodistoUri(); if (CODE_OPPIAINEENVALINNAISUUS.equals(koodistoUri)) { optional = isTrue(type); } else if (CODE_ONLUKIONOPPIAINE.equals(koodistoUri)) { highSchool = isTrue(type); } else if (CODE_ONPERUSASTEENOPPIAINE.equals(koodistoUri)) { comprehensiveSchool = isTrue(type); } else if (CODE_OPPIAINEENKIELISYYS.equals(koodistoUri)) { language = isTrue(type); } } } SubjectRow subjectRow = new SubjectRow(koodiArvo, new I18nText(translationsMap), optional, highSchool, comprehensiveSchool, language); subjectRow.toString(); return subjectRow; }
@Override public String getValue() { if (koodi != null) { return koodi.getKoodiArvo(); } return null; }
@Override public KoodiValue searchKoodiRelation(final String uri) { VersionedUri parse = VersionedUri.parse(uri); KoodiType lookupKoodiType = lookupKoodiType(parse.getUri(), parse.getVersio()); KoodiUriAndVersioType koodiVersionType = new KoodiUriAndVersioType(); final String koodiUri = lookupKoodiType.getKoodiUri(); final int koodiVersion = lookupKoodiType.getVersio(); koodiVersionType.setKoodiUri(koodiUri); koodiVersionType.setVersio(koodiVersion); List<KoodiType> koodis = null; try { koodis = koodiService.listKoodiByRelation(koodiVersionType, true, SuhteenTyyppiType.SISALTYY); } catch (Exception e) { log.warn("{}, version uri :'{}'", e.getMessage(), koodiUri + "#" + koodiVersion); } if (koodis == null || koodis.isEmpty()) { return null; } else if (koodis.size() > 1) { throw new IllegalStateException("multiple koodis returned for uri: " + koodiUri + ", koodiVersion: " + koodiVersion); } KoodiType koodi = koodis.get(0); if (koodi.getTila() != TilaType.HYVAKSYTTY) { throw new IllegalStateException("koodi has invalid state, uri: " + koodiUri + ", koodiVersion: " + koodiVersion + ", state: " + koodi.getTila()); } return new KoodiValueImpl(lookupKoodiType(koodiUri, koodiVersion)); }
if (koodiType.getKoodisto().getKoodistoUri().equals("kieli")) { result = koodiType.getKoodiUri(); break;
@Override public String getUri() { if (koodi != null) { return koodi.getKoodiUri(); } return null; }
private KoodiType lookupKoodiType(String koodiUri, Integer koodiVersion) { List<KoodiType> koodis = null; try { koodis = koodiService.searchKoodis(buildCriteria(koodiUri, koodiVersion)); } catch (Exception e) { log.warn("{}, version uri :'{}'", e.getMessage(), koodiUri + "#" + koodiVersion); } if (koodis == null || koodis.isEmpty()) { return null; } else if (koodis.size() > 1) { throw new IllegalStateException("multiple koodis returned for uri: " + koodiUri + ", koodiVersion: " + koodiVersion); } KoodiType koodi = koodis.get(0); if (koodi.getTila() != TilaType.HYVAKSYTTY) { throw new IllegalStateException("koodi has invalid state, uri: " + koodiUri + ", koodiVersion: " + koodiVersion + ", state: " + koodi.getTila()); } return koodi; }
StringUtils.leftPad("", 3),//Ammattitutkinto StringUtils.leftPad("", 10),//KAS_ID getKoodiPvm(kelaTutkinto.getVoimassaLoppuPvm()),//Loppupaiva, voimassaolon loppu StringUtils.leftPad("", 1),//TUT_HYVAKSYTTY StringUtils.leftPad("", 1),//Kehityssuunnitelman mukainen tutkinto
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); } } }
int i = 0; for (KoodiType koodi : koulut) { if (koodi.getKoodiArvo().equals(LUKIO) || koodi.getKoodiArvo().equals(LUKIO_JA_PERUSKOULU) || koodi.getKoodiArvo().equals(KANSANOPISTO)) { if (i++ >= fetchLimit) { break; List<KoodiType> ylakoodit = koodiService.getYlakoodis(koodi.getKoodiUri()); LOGGER.debug("Getting lukiokoodit. Koulukoodi: {}", koodi.getKoodiArvo()); LOGGER.debug("Ylakoodeja: {}", ylakoodit.size()); int j = 0; for (KoodiType ylakoodi : ylakoodit) { if (ylakoodi.getKoodisto().getKoodistoUri().equals("oppilaitosnumero") && !ylakoodi.getTila().equals(TilaType.PASSIIVINEN) ) { if (j++ >= fetchLimit) { break; lukioNumerot.add(ylakoodi.getKoodiArvo());
private boolean isTrue(final KoodiType koodiType) { return CODE_VALUE_TRUE.equals(koodiType.getKoodiArvo()); } }
LOG.debug(" considering: {}", relatedKoodi.getKoodiUri()); if (targetKoodistoName.equals(relatedKoodi.getKoodisto().getKoodistoUri())) { LOG.debug(" -- OK!"); result.add(relatedKoodi); } else { LOG.debug(" -- no since {} != {}", targetKoodistoName, relatedKoodi.getKoodisto().getKoodistoUri()); LOG.debug(" --> result, koodi {} has following relations to koodisto {}", koodiUri, targetKoodistoName); for (KoodiType koodiType : result) { LOG.debug("--> {}#{}", koodiType.getKoodiUri(), koodiType.getVersio());
@Override public Option apply(final KoodiType koodiType) { String version = withVersion ? "#" + koodiType.getVersio() : ""; return (Option) new OptionBuilder().setValue(koodiType.getKoodiUri() + version).i18nText(new I18nText(TranslationsUtil.createTranslationsMap(koodiType))).build(); } })));
@Override public List<Code> getYliopistokoulutukset() { List<KoodiType> tutkintotyypit = getKoodiTypes(CODE_TUTKINTOTYYPPI); List<KoodiType> yliopistoKoulutukset = new ArrayList<KoodiType>(); for (KoodiType koodi : tutkintotyypit) { if (koodi.getKoodiArvo().equals(TOHTORIN_TUTKINTO) || koodi.getKoodiArvo().equals(LISENSIAATIN_TUTKINTO) || koodi.getKoodiArvo().equals(YLEMPI_KORKEAKOULUTUTKINTO) || koodi.getKoodiArvo().equals(ALEMPI_KORKEAKOULUTUTKINTO)) { List<KoodiType> ylakoodit = koodiService.getYlakoodis(koodi.getKoodiUri()); yliopistoKoulutukset.addAll(ylakoodit); } } return Lists.transform(yliopistoKoulutukset, new KoodiTypeToCodeFunction()); }
@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 findName(String lang) { if (koodi != null) { for (KoodiMetadataType md : koodi.getMetadata()) { if (md.getKieli().name().equalsIgnoreCase(lang)) { return md.getNimi(); } } } return null; } }