public static KoodiType getKoodiByUriWithVersion(String uriWithVersion, KoodiService koodiService) { SearchKoodisCriteriaType searchCriteria; String[] koodiUriAndVersion = splitKoodiURI(uriWithVersion); int version = Integer.parseInt(koodiUriAndVersion[1]); String uri = koodiUriAndVersion[0]; if (version < 0) { searchCriteria = KoodiServiceSearchCriteriaBuilder.latestKoodisByUris(uri); } else { searchCriteria = KoodiServiceSearchCriteriaBuilder.koodiByUriAndVersion(uri, version); } List<KoodiType> queryResult = koodiService.searchKoodis(searchCriteria); return queryResult.isEmpty() ? null : queryResult.get(0); }
private static SearchKoodisCriteriaType buildCriteria(String uri, Integer version) { return (version != null ? KoodiServiceSearchCriteriaBuilder.koodiByUriAndVersion(uri, version) : KoodiServiceSearchCriteriaBuilder.latestValidAcceptedKoodiByUri(uri)); }
@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; }
public List<KoodiType> getKoodisByArvoAndKoodisto(String arvo, String koodistoUri) { try { SearchKoodistosCriteriaType koodistoSearchCriteria = KoodistoServiceSearchCriteriaBuilder.latestKoodistoByUri(koodistoUri); List<KoodistoType> koodistoResult = koodistoService.searchKoodistos(koodistoSearchCriteria); if(koodistoResult.size() != 1) { // FIXME: Throw something other than RuntimeException? throw new RuntimeException("No koodisto found for koodisto URI " + koodistoUri); } KoodistoType koodisto = koodistoResult.get(0); SearchKoodisByKoodistoCriteriaType koodiSearchCriteria = KoodiServiceSearchCriteriaBuilder.koodisByArvoAndKoodistoUriAndKoodistoVersio(arvo, koodistoUri, koodisto.getVersio()); return koodiService.searchKoodisByKoodisto(koodiSearchCriteria); } catch (Exception exp) { return null; } } /*
searchCriteria = KoodiServiceSearchCriteriaBuilder.latestKoodisByUris(uri); } else { searchCriteria = KoodiServiceSearchCriteriaBuilder.koodiByUriAndVersion(uri, version);