diff --git a/src/main/java/sqltoregex/controller/SqlToRegexController.java b/src/main/java/sqltoregex/controller/SqlToRegexController.java index 2b8aeffb..bb81b49a 100644 --- a/src/main/java/sqltoregex/controller/SqlToRegexController.java +++ b/src/main/java/sqltoregex/controller/SqlToRegexController.java @@ -83,9 +83,29 @@ private SettingsForm addSettingsFormFields(Model model) { }))); model.addAttribute("timeFormats", getSynonymSetOf(DateAndTimeFormatSynonymGenerator.class, SettingsOption.TIMESYNONYMS, - SettingsType.ALL)); + SettingsType.ALL).stream().collect(Collectors.groupingBy(el -> { + String patternString = el.toPattern(); + Pattern pattern = Pattern.compile("[^a-zA-Z]"); + Matcher matcher = pattern.matcher(patternString); + + if (matcher.find()) { + return patternString.charAt(matcher.start()); + } else { + return " "; + } + }))); model.addAttribute("dateTimeFormats", getSynonymSetOf(DateAndTimeFormatSynonymGenerator.class, - SettingsOption.DATETIMESYNONYMS, SettingsType.ALL)); + SettingsOption.DATETIMESYNONYMS, SettingsType.ALL).stream().collect(Collectors.groupingBy(el -> { + String patternString = el.toPattern(); + Pattern pattern = Pattern.compile("[^a-zA-Z]"); + Matcher matcher = pattern.matcher(patternString); + + if (matcher.find()) { + return patternString.charAt(matcher.start()); + } else { + return " "; + } + }))); //special preprocessing to render comfortably on frontend Map> aggregateFunctionSynonymsMap = settingsManager.getSettingBySettingsOption( SettingsOption.AGGREGATEFUNCTIONLANG, StringSynonymGenerator.class, SettingsType.ALL) diff --git a/src/main/resources/static/config/properties.xml b/src/main/resources/static/config/properties.xml index f22e592e..57bf9eb6 100644 --- a/src/main/resources/static/config/properties.xml +++ b/src/main/resources/static/config/properties.xml @@ -71,6 +71,7 @@ yy/M/d yy|M|d yyyyMMdd + yyMMdd ALL;DEFAULT_SCHOOL @@ -81,6 +82,7 @@ H:m:s H/m/s H|m|s + H-m-s HH:mm HH/mm HH|mm @@ -88,9 +90,11 @@ H:m H/m H|m + H-m ALL;DEFAULT_SCHOOL + yyyyMMddhhmmss yyyy-MM-dd hh:mm:ss yyyy.MM.dd hh:mm:ss yyyy|MM|dd hh|mm|ss diff --git a/src/main/resources/templates/assets/settingsform/form.html b/src/main/resources/templates/assets/settingsform/form.html index eda9e9f4..17658d9d 100644 --- a/src/main/resources/templates/assets/settingsform/form.html +++ b/src/main/resources/templates/assets/settingsform/form.html @@ -86,21 +86,21 @@
-
+
+ th:each="setting : ${timeFormatsEntry.getValue()}">
- +

-
+
+ th:each="setting : ${dateTimeFormatsEntry.getValue()}">
- +