# HG changeset patch # User Robert Casties # Date 1683821745 -7200 # Node ID 3e772f7f43e0bd5d514d2edea49b32cbaba441ff # Parent 7d1e61a6d91b650274431e5849e68c767d620aa9 ismi-date with long month names in xml dump. diff -r 7d1e61a6d91b -r 3e772f7f43e0 src/main/java/org/mpi/openmind/repository/utils/OM4StreamWriter.java --- a/src/main/java/org/mpi/openmind/repository/utils/OM4StreamWriter.java Fri Feb 10 10:21:29 2023 +0100 +++ b/src/main/java/org/mpi/openmind/repository/utils/OM4StreamWriter.java Thu May 11 18:15:45 2023 +0200 @@ -40,7 +40,7 @@ */ public class OM4StreamWriter { - protected static final String FORMAT_VERSION = "4.14"; + protected static final String FORMAT_VERSION = "4.15"; private static Logger logger = Logger.getLogger(OM4StreamWriter.class); @@ -539,7 +539,7 @@ writer.writeAttribute("date", date.getFromGregorian().getDateTime().toString(isodateFormatter)); } // textual date as content - writer.writeCharacters(date.toShortString()); + writer.writeCharacters(date.toLongerString()); writer.writeEndElement(); return true; } diff -r 7d1e61a6d91b -r 3e772f7f43e0 src/main/java/org/mpi/openmind/repository/utils/ismi/ISMICalendar.java --- a/src/main/java/org/mpi/openmind/repository/utils/ismi/ISMICalendar.java Fri Feb 10 10:21:29 2023 +0100 +++ b/src/main/java/org/mpi/openmind/repository/utils/ismi/ISMICalendar.java Thu May 11 18:15:45 2023 +0200 @@ -196,6 +196,52 @@ return str; } + /** + * Returns date as String in the form "YY MMMM DD". + * + * @return + */ + private String dateToString(ISMIDate date) { + int year = date.getYear(); + int month = date.getMonth(); + String monthName = "UNKNOWN"; + int day = date.getDayOfMonth(); + if (calendarType.equals(ISMICalendar.TYPE_GREGORIAN)) { + monthName = ISMIDate.gregorianMonths.get(month).replaceAll(" \\(\\d+\\)", ""); + } else if (calendarType.equals(ISMICalendar.TYPE_ISLAMIC)) { + monthName = ISMIDate.islamicMonths.get(month).replaceAll(" \\(\\d+\\)", ""); + } else if (calendarType.equals(ISMICalendar.TYPE_JULIAN)) { + monthName = ISMIDate.gregorianMonths.get(month).replaceAll(" \\(\\d+\\)", ""); + } + return String.format("%d %s %d", year, monthName, day); + } + + + public String toLongerString() { + String str = ""; + if (inputForm == null) return "UNKNOWN TYPE"; + if (inputForm.equals(INPUT_FORM_DATE)) { + // type date + str = dateToString(currentFrom); + } else if (inputForm.equals(INPUT_FORM_RANGE)) { + // type range + str = dateToString(currentFrom) + + " - " + + dateToString(currentUntil); + } else if (inputForm.equals(INPUT_FORM_YEAR)) { + // type year + str = currentYear.toString(); + } + if (calendarType.equals(TYPE_ISLAMIC)) { + str += " (islamic)"; + } else if (calendarType.equals(TYPE_JULIAN)) { + str += " (julian)"; + } else if (calendarType.equals(TYPE_GREGORIAN)) { + str += " (gregorian)"; + } + return str; + } + public String getFormattedRange(){ if(inputForm != null){ String from = this.fromGregorian.toString(); diff -r 7d1e61a6d91b -r 3e772f7f43e0 src/main/java/org/mpi/openmind/repository/utils/ismi/ISMIDate.java --- a/src/main/java/org/mpi/openmind/repository/utils/ismi/ISMIDate.java Fri Feb 10 10:21:29 2023 +0100 +++ b/src/main/java/org/mpi/openmind/repository/utils/ismi/ISMIDate.java Thu May 11 18:15:45 2023 +0200 @@ -17,9 +17,9 @@ public static String AMBIGUITY = "2"; - private static Map gregorianMonths = new HashMap(12); - private static Map islamicMonths = new HashMap(12); - private static Map julianMonths = new HashMap(12); + static Map gregorianMonths = new HashMap(12); + static Map islamicMonths = new HashMap(12); + static Map julianMonths = new HashMap(12); static{