public static final String DATA_TYPE_LEG_100 = "iapt-type-leg-100.xls";
public static final String DATA_NAME_TYPES = "iapt-name-types.xls";
public static final String DATA_SINGLE = "single.xls";
- public static final String DATA_FILE = DATA_FILE_0_100;
+ public static final String DATA_FILE = DATA_FILE_FULL;
//database validation status (create, update, validate ...)
static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;
DateTimeFormatter formatterYear = DateTimeFormat.forPattern("yyyy");
private Map<String, Collection> collectionMap = new HashMap<>();
+
private ExtensionType extensionTypeIAPTRegData = null;
+ private Set<String> nameSet = new HashSet<>();
+ private DefinedTermBase duplicateRegistration = null;
enum TypesName {
fieldUnit, holotype, isotype;
if(isFossil){
taxon.addMarker(Marker.NewInstance(markerTypeFossil(), true));
}
+ if(!nameSet.add(titleCacheStr)){
+ taxonName.addMarker(Marker.NewInstance(markerDuplicateRegistration(), true));
+ logger.warn(csvReportLine(regNumber, "Duplicate registration of", titleCacheStr));
+ }
+
// Types
if(!StringUtils.isEmpty(typeStr)){
return markerTypeFossil;
}
+ private MarkerType markerDuplicateRegistration(){
+ if(this.duplicateRegistration == null){
+ duplicateRegistration = MarkerType.NewInstance("duplicateRegistration", "duplicateRegistration", null);
+ getTermService().save(this.duplicateRegistration);
+ }
+ return markerTypeFossil;
+ }
+
private String csvReportLine(String regId, String message, String ... fields){
StringBuilder out = new StringBuilder("regID#");
out.append(regId).append(",\"").append(message).append('"');