package org.gbif.occurrence.parsing.xml.rules; import org.gbif.api.vocabulary.OccurrenceSchemaType; import java.io.IOException; import java.net.URL; import java.util.Properties; import org.apache.commons.digester.Digester; import org.apache.commons.digester.RuleSet; public class Dwc10RuleSet extends AbstractDwcRuleSet implements RuleSet { private final String mappingFile = "mapping/indexMapping_dwc_1_0.properties"; public Dwc10RuleSet() throws IOException { mappingProps = new Properties(); URL url = ClassLoader.getSystemResource(mappingFile); mappingProps.load(url.openStream()); } @Override public String getNamespaceURI() { return OccurrenceSchemaType.DWC_1_0.toString(); } @Override public void addRuleInstances(Digester digester) { super.addRuleInstances(digester); addNonNullMethod(digester, "catalogueNumber", "setCatalogueNumber", 1); addNonNullParam(digester, "catalogueNumber", 0); addNonNullMethod(digester, "longitude", "setLongitude", 1); addNonNullParam(digester, "longitude", 0); addNonNullMethod(digester, "latitude", "setLatitude", 1); addNonNullParam(digester, "latitude", 0); addNonNullMethod(digester, "continentOrOcean", "setContinentOrOcean", 1); addNonNullParam(digester, "continentOrOcean", 0); addNonNullMethod(digester, "year", "setYear", 1); addNonNullParam(digester, "year", 0); addNonNullMethod(digester, "month", "setMonth", 1); addNonNullParam(digester, "month", 0); addNonNullMethod(digester, "day", "setDay", 1); addNonNullParam(digester, "day", 0); addNonNullMethod(digester, "yearIdentified", "setYearIdentified", 1); addNonNullParam(digester, "yearIdentified", 0); addNonNullMethod(digester, "monthIdentified", "setMonthIdentified", 1); addNonNullParam(digester, "monthIdentified", 0); addNonNullMethod(digester, "dayIdentified", "setDayIdentified", 1); addNonNullParam(digester, "dayIdentified", 0); } }