You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2019/09/29 11:09:36 UTC
[isis] 03/05: ISIS-2086: cleans up implementation of
PatternsConverter component
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-2086
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 264f9f0c3b88fdbf4da624af7b2c98d417d3c9cc
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sun Sep 29 11:53:16 2019 +0100
ISIS-2086: cleans up implementation of PatternsConverter component
(cherry picked from commit 8a69f3d5ce52e2eb66c0a03633144a469f6f2221)
---
.../org/apache/isis/config/IsisConfiguration.java | 26 +++++++++++++++-------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
index dc6420a..9a5d947 100644
--- a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
@@ -441,30 +441,40 @@ public class IsisConfiguration {
return toPatternMap(source);
}
- private final static Pattern CSS_CLASS_REGEX_PATTERN = Pattern.compile("([^:]+):(.+)");
+ /**
+ * The pattern matches definitions like:
+ * <ul>
+ * <li>methodNameRegex:value</li>
+ * </ul>
+ *
+ * <p>
+ * Used for associating cssClass and cssClassFa (font awesome icon) values to method pattern names.
+ * </p>
+ */
+ private final static Pattern PATTERN_FOR_COLON_SEPARATED_PAIR = Pattern.compile("(?<methodRegex>[^:]+):(?<value>.+)");
private static Map<Pattern, String> toPatternMap(String cssClassPatterns) {
- final Map<Pattern,String> cssClassByPattern = _Maps.newLinkedHashMap();
+ final Map<Pattern,String> valueByPattern = _Maps.newLinkedHashMap();
if(cssClassPatterns != null) {
final StringTokenizer regexToCssClasses = new StringTokenizer(cssClassPatterns, ConfigurationConstants.LIST_SEPARATOR);
- final Map<String,String> cssClassByRegex = _Maps.newLinkedHashMap();
+ final Map<String,String> valueByRegex = _Maps.newLinkedHashMap();
while (regexToCssClasses.hasMoreTokens()) {
String regexToCssClass = regexToCssClasses.nextToken().trim();
if (_Strings.isNullOrEmpty(regexToCssClass)) {
continue;
}
- final Matcher matcher = CSS_CLASS_REGEX_PATTERN.matcher(regexToCssClass);
+ final Matcher matcher = PATTERN_FOR_COLON_SEPARATED_PAIR.matcher(regexToCssClass);
if(matcher.matches()) {
- cssClassByRegex.put(matcher.group(1), matcher.group(2));
+ valueByRegex.put(matcher.group("methodRegex"), matcher.group("value"));
}
}
- for (Map.Entry<String, String> entry : cssClassByRegex.entrySet()) {
+ for (Map.Entry<String, String> entry : valueByRegex.entrySet()) {
final String regex = entry.getKey();
final String cssClass = entry.getValue();
- cssClassByPattern.put(Pattern.compile(regex), cssClass);
+ valueByPattern.put(Pattern.compile(regex), cssClass);
}
}
- return cssClassByPattern;
+ return valueByPattern;
}
}