// TODO: fix to compare provided eventDate and reproductiveState with data from FNA
public void validateFloweringTime(String scientificName, String eventDate, String reproductiveState, String country, String kingdom, String latitude, String longitude) {
		HashMap<String, String> initialValues = new HashMap<String, String>();
		initialValues.put("eventDate", eventDate);
		initialValues.put("scientificName", scientificName);
		initialValues.put("reproductive", reproductiveState);
		initialValues.put("country", country);
		initialValues.put("kingdom", kingdom);
		initialValues.put("latitude", latitude);
		initialValues.put("longitude", longitude);
		initDate(new CurationStep("Validate Collecting Event Date: check dwc:eventDate against reproductive state. ", initialValues));
		// TODO: fix to compare provided eventDate and reproductiveState with data from FNA
	    Vector<String> months = new Vector<String>();
		Vector<String> foundFloweringTime = null;
		if(authoritativeFloweringTimeMap != null && authoritativeFloweringTimeMap.containsKey(scientificName.toLowerCase())){
			foundFloweringTime = authoritativeFloweringTimeMap.get(scientificName.toLowerCase()); 
		}
		if(foundFloweringTime == null){
			setCurationStatus(CurationComment.UNABLE_DETERMINE_VALIDITY);
			addToComment("Can't find the flowering time of the "+scientificName+" in the current available phenology data from FNA.");
			correctedFloweringTime = null;
		}else{
			if(months==null || !months.containsAll(foundFloweringTime) || !foundFloweringTime.containsAll(months) ){
				setCurationStatus(CurationComment.UNABLE_CURATED);
				addToComment("Provided event date and flowering state is inconsistent with known flowering times for species according to FNA.");
			}else{
				setCurationStatus(CurationComment.CORRECT);
				addToComment("The event date and flowering state is consistent with authoritative data from FNA");
				correctedFloweringTime = months; 				
			}
		}
	}
initialValues.put("longitude", longitude);
initDate(new CurationStep("Validate Collecting Event Date: check dwc:eventDate against reproductive state. ", initialValues));
// TODO: fix to compare provided eventDate and reproductiveState with data from FNA
Vector<String> months = new Vector<String>();
Vector<String> foundFloweringTime = null;
public void validateFloweringTime(String scientificName, String eventDate, String reproductiveState, String country, String kingdom, String latitude, String longitude) {
HashMap<String, String> initialValues = new HashMap<String, String>();
initialValues.put("eventDate", eventDate);
initialValues.put("scientificName", scientificName);
initialValues.put("reproductive", reproductiveState);
initialValues.put("country", country);
initialValues.put("kingdom", kingdom);
initialValues.put("latitude", latitude);
initialValues.put("longitude", longitude);
initDate(new CurationStep("Validate Collecting Event Date: check dwc:eventDate against reproductive state. ", initialValues));
// TODO: fix to compare provided eventDate and reproductiveState with data from FNA
Vector<String> months = new Vector<String>();
Vector<String> foundFloweringTime = null;
if(authoritativeFloweringTimeMap != null && authoritativeFloweringTimeMap.containsKey(scientificName.toLowerCase())){
foundFloweringTime = authoritativeFloweringTimeMap.get(scientificName.toLowerCase());
}
if(foundFloweringTime == null){
setCurationStatus(CurationComment.UNABLE_DETERMINE_VALIDITY);
addToComment("Can't find the flowering time of the "+scientificName+" in the current available phenology data from FNA.");
correctedFloweringTime = null;
}else{
public void validateFloweringTime(String scientificName, String eventDate, String reproductiveState, String country, String kingdom, String latitude, String longitude) {
HashMap<String, String> initialValues = new HashMap<String, String>();
initialValues.put("eventDate", eventDate);
initialValues.put("scientificName", scientificName);
initialValues.put("reproductive", reproductiveState);
initialValues.put("country", country);
initialValues.put("kingdom", kingdom);
initialValues.put("latitude", latitude);
initialValues.put("longitude", longitude);
initDate(new CurationStep("Validate Collecting Event Date: check dwc:eventDate against reproductive state. ", initialValues));
// TODO: fix to compare provided eventDate and reproductiveState with data from FNA
Vector<String> months = new Vector<String>();
Vector<String> foundFloweringTime = null;
if(authoritativeFloweringTimeMap != null && authoritativeFloweringTimeMap.containsKey(scientificName.toLowerCase())){
foundFloweringTime = authoritativeFloweringTimeMap.get(scientificName.toLowerCase());
}
if(foundFloweringTime == null){
setCurationStatus(CurationComment.UNABLE_DETERMINE_VALIDITY);
addToComment("Can't find the flowering time of the "+scientificName+" in the current available phenology data from FNA.");
correctedFloweringTime = null;
}else{
if(months==null || !months.containsAll(foundFloweringTime) || !foundFloweringTime.containsAll(months) ){
setCurationStatus(CurationComment.UNABLE_CURATED);
addToComment("Provided event date and flowering state is inconsistent with known flowering times for species according to FNA.");
}else{
setCurationStatus(CurationComment.CORRECT);
addToComment("The event date and flowering state is consistent with authoritative data from FNA");
correctedFloweringTime = months;
}
}
}