diff --git a/appointment-import/src/main/java/smash/appointment/parse/SubjectParser.java b/appointment-import/src/main/java/smash/appointment/parse/SubjectParser.java index e39009eed5c1b4bd1997da6bd6cf47614decbba2..cf2d904e2dff7bd2103c5a15eb0ce459f04973f5 100644 --- a/appointment-import/src/main/java/smash/appointment/parse/SubjectParser.java +++ b/appointment-import/src/main/java/smash/appointment/parse/SubjectParser.java @@ -193,8 +193,21 @@ public abstract class SubjectParser { if (result == null || result.trim().isEmpty()) { result = defaultDateString; } + result = fixDate(result); + return result; + } + + protected String fixDate(String result) { + result = result.replaceAll("\\?", ""); + result = result.replaceAll("jan", "01"); + result = result.replaceAll("fev", "02"); + result = result.replaceAll("mar", "03"); + result = result.replaceAll("avr", "04"); result = result.replaceAll("may", "05"); - result = result.replaceAll("oct", "08"); + result = result.replaceAll("aou", "08"); + result = result.replaceAll("cot", "08"); + result = result.replaceAll("sep", "09"); + result = result.replaceAll("oct", "10"); if (result.indexOf("/") >= 0) { String tmp[] = result.split("/"); result = tmp[2] + "-" + tmp[1] + "-" + tmp[0]; diff --git a/appointment-import/src/test/java/smash/appointment/parse/LihControlMappingParserTest.java b/appointment-import/src/test/java/smash/appointment/parse/LihControlMappingParserTest.java index a7214772f44d81048e54b06704a6c167f2fa25a5..8585f519ea336ecf99fe2a086a753afc6c2739f4 100644 --- a/appointment-import/src/test/java/smash/appointment/parse/LihControlMappingParserTest.java +++ b/appointment-import/src/test/java/smash/appointment/parse/LihControlMappingParserTest.java @@ -62,4 +62,15 @@ public class LihControlMappingParserTest extends TestBase { } + @Test + public void testFixDate() throws Exception { + DATE_FORMATTER.parse(processor.fixDate("2016-cot-31")); + DATE_FORMATTER.parse(processor.fixDate("25-11-1951")); + DATE_FORMATTER.parse(processor.fixDate("1957??-10-25")); + DATE_FORMATTER.parse(processor.fixDate("2016?-sep-12")); + DATE_FORMATTER.parse(processor.fixDate("2016-aou-26")); + DATE_FORMATTER.parse(processor.fixDate("2016-avr-14")); + DATE_FORMATTER.parse(processor.fixDate("2016-fev-03")); + } + }