use of eu.esdihumboldt.hale.common.codelist.CodeList in project hale by halestudio.
the class SkosCodeListTest method testSKOSFromRDF2.
/**
* test rdf file consisting concept scheme and concepts
*
* @throws Exception throws exception if something wrong occurs
*/
@Test
public void testSKOSFromRDF2() throws Exception {
CodeList codeList = readCodeList(getResourceURI("/data/test2.rdf"));
Collection<CodeEntry> entries = codeList.getEntries();
assertFalse(entries.isEmpty());
assertEquals(entries.size(), 3);
assertNotNull(codeList.getLocation());
assertNotNull(codeList.getIdentifier());
assertEquals("Types of aquifers.", codeList.getDescription());
List<String> concepts = Arrays.asList("confined subartesian", "confined artesian", "unconfined");
for (CodeEntry entry : entries) {
assertTrue(concepts.contains(entry.getName()));
}
}
use of eu.esdihumboldt.hale.common.codelist.CodeList in project hale by halestudio.
the class SkosCodeListTest method testSKOSFromRDF5_language_en.
/**
* test read SKOS properties in preferred language (fallback).
*
* @throws Exception throws exception if something wrong occurs
*/
@Test
public void testSKOSFromRDF5_language_en() throws Exception {
CodeList codeList = readCodeList_WithLanguage(getResourceURI("/data/test4_lang_fallback.rdf"), "en");
Collection<CodeEntry> entries = codeList.getEntries();
assertFalse(entries.isEmpty());
assertEquals(entries.size(), 4);
assertNotNull(codeList.getLocation());
assertNotNull(codeList.getIdentifier());
CodeEntry entry = codeList.getEntryByIdentifier("EuroGeoNamesLocationTypeValue/1");
assertEquals("Countries, administrative units and other areas", entry.getName());
assertEquals("Country, territorial units of a country for administrative purposes and other manmade areas.", entry.getDescription());
}
use of eu.esdihumboldt.hale.common.codelist.CodeList in project hale by halestudio.
the class SkosCodeListTest method testSKOSFromRDF3.
/**
* test url saved as xml consisting concepts (case: fallback).
*
* @throws Exception throws exception if something wrong occurs
*/
@Test
public void testSKOSFromRDF3() throws Exception {
String id = "http://vocab.ices.dk/services/rdf/collection/PARAM/%25DNAtail";
CodeList codeList = readCodeList(getResourceURI("/data/test3.rdf"));
Collection<CodeEntry> entries = codeList.getEntries();
assertFalse(entries.isEmpty());
assertEquals(entries.size(), 4);
assertNotNull(codeList.getLocation());
assertNotNull(codeList.getIdentifier());
CodeEntry entry = codeList.getEntryByIdentifier(id);
assertEquals("% DNA in tail (a measure of the proportion of total DNA present in the comet tail)", entry.getName());
}
use of eu.esdihumboldt.hale.common.codelist.CodeList in project hale by halestudio.
the class CodeListValidator method validateCodeListValue.
private void validateCodeListValue(@Nullable Object value, @Nullable EntityDefinition entity) throws ValidationException {
CodeListAssociations associations = null;
if (projectService != null) {
associations = projectService.getProperty(CodeListAssociations.KEY_ASSOCIATIONS).as(CodeListAssociations.class);
}
if (value != null && entity != null && associations != null && codeLists != null) {
CodeListReference clRef = associations.getCodeList(entity);
if (clRef != null) {
CodeList cl = codeLists.findCodeList(clRef);
if (cl != null) {
String strValue = value.toString();
CodeEntry entry = cl.getEntryByIdentifier(strValue);
if (entry == null) {
throw new ValidationException(MessageFormat.format("Value ''{0}'' not found in associated code list", strValue));
}
} else {
log.warn("Code list " + clRef + " not found for validation");
}
}
}
}
Aggregations