@Before public void setup() { // set small list of source column names representing a source file to be mapped columns = new ArrayList<String>(); columns.add("identificationID"); columns.add("identificationQualifier"); columns.add("unknown"); columns.add("occurrenceID"); // create a new Extension, that represents the Darwin Core Occurrence Core Extension extension = new Extension(); extension.setRowType(Constants.DWC_ROWTYPE_OCCURRENCE); List<ExtensionProperty> extensionProperties = new ArrayList<ExtensionProperty>(); ExtensionProperty extensionProperty = new ExtensionProperty(); extensionProperty.setQualname(DwcTerm.occurrenceID.qualifiedName()); extensionProperties.add(extensionProperty); extension.setProperties(extensionProperties); // an ExtensionMapping to Extension Darwin Core Occurrence Core extensionMapping = new ExtensionMapping(); extensionMapping.setExtension(extension); // 2 translated fields pointing at same source column Set<PropertyMapping> fields = Sets.newHashSet(); PropertyMapping mappingCoreid = new PropertyMapping(); mappingCoreid.setTerm(DwcTerm.occurrenceID); mappingCoreid.setIndex(0); fields.add(mappingCoreid); extensionMapping.setFields(fields); // Resource resource = new Resource(); resource.setShortname("myResource"); resource.addMapping(extensionMapping); validator = new ExtensionMappingValidator(); }