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:37 UTC
[isis] 04/05: ISIS-2086: refactors
"isis.reflector.facet.cssClassFa.patterns" to type-safe
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 31d1dd1506cf1cce758615cfdbef3d7e1204e1be
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sun Sep 29 11:56:34 2019 +0100
ISIS-2086: refactors "isis.reflector.facet.cssClassFa.patterns" to type-safe
also registers IsisConfiguration.PatternsConverter as a managed bean
(cherry picked from commit 537148a800aeb16533aab6ec3f0cf2b3d895f7c9)
---
.../org/apache/isis/config/IsisConfigModule.java | 9 +++----
.../org/apache/isis/config/IsisConfiguration.java | 7 +++++-
.../annotprop/CssClassFaFacetOnMemberFactory.java | 28 +---------------------
3 files changed, 12 insertions(+), 32 deletions(-)
diff --git a/core/config/src/main/java/org/apache/isis/config/IsisConfigModule.java b/core/config/src/main/java/org/apache/isis/config/IsisConfigModule.java
index bcb5077..18bbe2a 100644
--- a/core/config/src/main/java/org/apache/isis/config/IsisConfigModule.java
+++ b/core/config/src/main/java/org/apache/isis/config/IsisConfigModule.java
@@ -20,12 +20,13 @@ package org.apache.isis.config;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
@Configuration
-//@Import({
-// IsisConfiguration.class // not required
-//XXX if this module would contribute any managed beans, these would go here
-//})
+@Import({
+ //IsisConfiguration.class // not required
+ IsisConfiguration.PatternsConverter.class
+})
@EnableConfigurationProperties(IsisConfiguration.class)
public class IsisConfigModule {
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 9a5d947..98864df 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
@@ -94,12 +94,17 @@ public class IsisConfiguration {
}
}
- // isis.reflector.facet.cssClass.patterns
private final CssClass cssClass = new CssClass();
@Data
public static class CssClass {
private Map<Pattern, String> patterns = new HashMap<>();
}
+ private final CssClassFa cssClassFa = new CssClassFa();
+ @Data
+ public static class CssClassFa {
+ private Map<Pattern, String> patterns = new HashMap<>();
+ }
+
private final DomainObjectAnnotation domainObjectAnnotation = new DomainObjectAnnotation();
@Data
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
index 284bf44..e8ed533 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
@@ -97,36 +97,10 @@ public class CssClassFaFacetOnMemberFactory extends FacetFactoryAbstract impleme
}
private Map<Pattern, String> faIconByPattern;
-
private Map<Pattern, String> getFaIconByPattern() {
if (faIconByPattern == null) {
// build lazily
- final String cssClassFaPatterns = getConfigurationLegacy().getString("isis.reflector.facet.cssClassFa.patterns");
- this.faIconByPattern = buildFaIconByPattern(cssClassFaPatterns);
- }
- return faIconByPattern;
- }
-
- private static Map<Pattern, String> buildFaIconByPattern(String cssClassFaPatterns) {
- final Map<Pattern, String> faIconByPattern = _Maps.newLinkedHashMap();
- if (cssClassFaPatterns != null) {
- final StringTokenizer regexToFaIcons = new StringTokenizer(cssClassFaPatterns, ConfigurationConstants.LIST_SEPARATOR);
- final Map<String, String> faIconByRegex = _Maps.newLinkedHashMap();
- while (regexToFaIcons.hasMoreTokens()) {
- String regexToFaIcon = regexToFaIcons.nextToken().trim();
- if (_Strings.isNullOrEmpty(regexToFaIcon)) {
- continue;
- }
- final Matcher matcher = FA_ICON_REGEX_PATTERN.matcher(regexToFaIcon);
- if (matcher.matches()) {
- faIconByRegex.put(matcher.group(1), matcher.group(2));
- }
- }
- for (Map.Entry<String, String> entry : faIconByRegex.entrySet()) {
- final String regex = entry.getKey();
- final String faIcon = entry.getValue();
- faIconByPattern.put(Pattern.compile(regex), faIcon);
- }
+ this.faIconByPattern = getConfiguration().getReflector().getFacet().getCssClassFa().getPatterns();
}
return faIconByPattern;
}