You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2023/06/03 09:06:12 UTC
[sling-org-apache-sling-resourceresolver] branch issues/SLING-11742 updated: Move vanity configuration to configurer class
This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch issues/SLING-11742
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceresolver.git
The following commit(s) were added to refs/heads/issues/SLING-11742 by this push:
new 446f7ec Move vanity configuration to configurer class
446f7ec is described below
commit 446f7ec776bc66ecb81582a80bf495c0e7f5ed3b
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Sat Jun 3 11:06:07 2023 +0200
Move vanity configuration to configurer class
---
.../impl/CommonResourceResolverFactoryImpl.java | 19 +-----------
.../impl/VanityPathConfigurer.java | 35 ++++++++++++++--------
2 files changed, 24 insertions(+), 30 deletions(-)
diff --git a/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java b/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java
index 8391a5d..d04942f 100644
--- a/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java
+++ b/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java
@@ -450,24 +450,7 @@ public class CommonResourceResolverFactoryImpl implements MapConfigurationProvid
@Override
public List<VanityPathConfig> getVanityPathConfig() {
- final List<String> includes = this.activator.getVanityPathConfigurer().getVanityPathAllowList();
- final List<String> excludes = this.activator.getVanityPathConfigurer().getVanityPathDenyList();
- if ( includes == null && excludes == null ) {
- return null;
- }
- final List<VanityPathConfig> configs = new ArrayList<>();
- if ( includes != null ) {
- for(final String val : includes) {
- configs.add(new VanityPathConfig(val, false));
- }
- }
- if ( excludes != null ) {
- for(final String val : excludes) {
- configs.add(new VanityPathConfig(val, true));
- }
- }
- Collections.sort(configs);
- return configs;
+ return this.activator.getVanityPathConfigurer().getVanityPathConfig();
}
@Override
diff --git a/src/main/java/org/apache/sling/resourceresolver/impl/VanityPathConfigurer.java b/src/main/java/org/apache/sling/resourceresolver/impl/VanityPathConfigurer.java
index e904a71..d4ff5b3 100644
--- a/src/main/java/org/apache/sling/resourceresolver/impl/VanityPathConfigurer.java
+++ b/src/main/java/org/apache/sling/resourceresolver/impl/VanityPathConfigurer.java
@@ -19,7 +19,10 @@
package org.apache.sling.resourceresolver.impl;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
+
+import org.apache.sling.resourceresolver.impl.mapping.MapConfigurationProvider.VanityPathConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -28,24 +31,35 @@ class VanityPathConfigurer {
private volatile ResourceResolverFactoryConfig config;
- /** Vanity path allow list */
- private volatile List<String> vanityPathAllowList;
-
- /** Vanity path deny list */
- private volatile List<String> vanityPathDenyList;
+ private volatile List<VanityPathConfig> vanityPathConfig;
public void setConfiguration(final ResourceResolverFactoryConfig c) {
this.config = c;
+ this.vanityPathConfig = null;
- this.vanityPathAllowList = this.configureVanityPathPrefixes(c.resource_resolver_vanitypath_allowlist(),
+ final List<String> includes = this.configureVanityPathPrefixes(c.resource_resolver_vanitypath_allowlist(),
c.resource_resolver_vanitypath_whitelist(),
"resource_resolver_vanitypath_allowlist",
"resource_resolver_vanitypath_whitelist");
- this.vanityPathDenyList = this.configureVanityPathPrefixes(c.resource_resolver_vanitypath_denylist(),
+ final List<String> excludes = this.configureVanityPathPrefixes(c.resource_resolver_vanitypath_denylist(),
c.resource_resolver_vanitypath_blacklist(),
"resource_resolver_vanitypath_denylist",
"resource_resolver_vanitypath_blacklist");
+ if ( includes != null || excludes != null ) {
+ this.vanityPathConfig = new ArrayList<>();
+ if ( includes != null ) {
+ for(final String val : includes) {
+ this.vanityPathConfig.add(new VanityPathConfig(val, false));
+ }
+ }
+ if ( excludes != null ) {
+ for(final String val : excludes) {
+ this.vanityPathConfig.add(new VanityPathConfig(val, true));
+ }
+ }
+ Collections.sort(this.vanityPathConfig);
+ }
}
public int getDefaultVanityPathRedirectStatus() {
@@ -60,13 +74,10 @@ class VanityPathConfigurer {
return this.config.resource_resolver_vanitypath_cache_in_background();
}
- public List<String> getVanityPathAllowList() {
- return this.vanityPathAllowList;
+ public List<VanityPathConfig> getVanityPathConfig() {
+ return this.vanityPathConfig;
}
- public List<String> getVanityPathDenyList() {
- return this.vanityPathDenyList;
- }
public boolean hasVanityPathPrecedence() {
return this.config.resource_resolver_vanity_precedence();