package model.manager.excel.reports.in; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import model.manager.excel.interfaces.ImportConverter; import org.celllife.idart.commonobjects.iDartProperties; import org.celllife.idart.misc.iDARTUtil; public class DateConverter implements ImportConverter<Date> { private final SimpleDateFormat sdf = new SimpleDateFormat(iDartProperties.importDateFormat); @Override public Date convert(String rawValue) { Date date = null; if (rawValue == null) return date; date = iDARTUtil.parse(Date.class, rawValue); if (date == null) date = parse(null, rawValue); if (date == null) date = parse("yyyy/MM/dd", rawValue); if (date == null) date = parse("dd-MM-yyyy", rawValue); return date; } private Date parse(String pattern, String rawValue) { if (pattern != null){ sdf.applyPattern(pattern); } try { return sdf.parse(rawValue); } catch (ParseException pee) { return null; } } @Override public String getDescription() { return "A date"; } }