You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2021/04/23 07:54:34 UTC

[sling-org-apache-sling-dynamic-include] branch master updated: SLING-10289 fix array configuration

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-dynamic-include.git


The following commit(s) were added to refs/heads/master by this push:
     new 078e416  SLING-10289 fix array configuration
078e416 is described below

commit 078e4162c8d759f28c998562b7ca847a31f0cf07
Author: Andreas Wurm <an...@basf.com>
AuthorDate: Fri Apr 9 20:02:23 2021 +0200

    SLING-10289 fix array configuration
    
    extended ConfigurationTest to verify multiple values work and changed
    the AttributeDefinitions to String Arrays
---
 .../java/org/apache/sling/dynamicinclude/Configuration.java | 13 +++++++++----
 .../org/apache/sling/dynamicinclude/ConfigurationTest.java  |  8 +++++---
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/src/main/java/org/apache/sling/dynamicinclude/Configuration.java b/src/main/java/org/apache/sling/dynamicinclude/Configuration.java
index 30cbce6..717209c 100755
--- a/src/main/java/org/apache/sling/dynamicinclude/Configuration.java
+++ b/src/main/java/org/apache/sling/dynamicinclude/Configuration.java
@@ -36,6 +36,7 @@ import org.osgi.service.component.annotations.Activate;
 import org.osgi.service.component.annotations.Component;
 import org.osgi.service.component.annotations.ConfigurationPolicy;
 import org.osgi.service.metatype.annotations.AttributeDefinition;
+import org.osgi.service.metatype.annotations.AttributeType;
 import org.osgi.service.metatype.annotations.Designate;
 import org.osgi.service.metatype.annotations.ObjectClassDefinition;
 import org.slf4j.Logger;
@@ -62,8 +63,10 @@ public class Configuration {
       @AttributeDefinition(name="Base path regular expression", description="This SDI configuration will work only for paths matching this value. If value starts with \\\"^\\\" sign, regex matching will be performed. Otherwise it will check for path prefix.")
       String include$_$filter_config_path() default "/content";
       
-      @AttributeDefinition(name="Resource types", description="Filter will replace components with selected resource types", cardinality = Integer.MAX_VALUE)
-      String include$_$filter_config_resource$_$types() default "";
+      @AttributeDefinition(name = "Resource types",
+          description = "Filter will replace components with selected resource types",
+          type = AttributeType.STRING)
+      String[] include$_$filter_config_resource$_$types() default {};
       
       @AttributeDefinition(name = "Include type", description = "Type of generated include tags")
       String include$_$filter_config_include$_$type() default "SSI";
@@ -83,8 +86,10 @@ public class Configuration {
       @AttributeDefinition(name = "Required header", description = "SDI will work only for requests with given header")
       String include$_$filter_config_required__header() default "Server-Agent=Communique-Dispatcher";
 
-      @AttributeDefinition(name = "Ignore URL params", description = "SDI will process the request even if it contains configured GET parameters", cardinality = Integer.MAX_VALUE)
-      String include$_$filter_config_ignoreUrlParams() default "";
+      @AttributeDefinition(name = "Ignore URL params",
+          description = "SDI will process the request even if it contains configured GET parameters",
+          type = AttributeType.STRING)
+      String[] include$_$filter_config_ignoreUrlParams() default {};
 
       @AttributeDefinition(name =  "Include path rewriting", description = "Check to enable include path rewriting")
       boolean include$_$filter_config_rewrite() default false;
diff --git a/src/test/java/org/apache/sling/dynamicinclude/ConfigurationTest.java b/src/test/java/org/apache/sling/dynamicinclude/ConfigurationTest.java
index 85cdf8a..ee9c29d 100644
--- a/src/test/java/org/apache/sling/dynamicinclude/ConfigurationTest.java
+++ b/src/test/java/org/apache/sling/dynamicinclude/ConfigurationTest.java
@@ -74,17 +74,18 @@ public class ConfigurationTest {
     properties.put("include-filter.config.add_comment", true);
     properties.put("include-filter.config.ttl", 60);
     properties.put("include-filter.config.enabled", true);
-    properties.put("include-filter.config.resource-types", new String[]{"test/resource/type"});
+    properties.put("include-filter.config.resource-types",
+        new String[] { "test/resource/type", "test/resource/type2" });
     properties.put("include-filter.config.required_header", "CustomHeader: value");
     properties.put("include-filter.config.selector", "cache");
     properties.put("include-filter.config.rewrite", true);
-    properties.put("include-filter.config.ignoreUrlParams", new String[] {"query"});
+    properties.put("include-filter.config.ignoreUrlParams", new String[] { "query", "query2" });
 
     context.registerInjectActivateService(tested, properties);
 
     assertThat(tested.getPathMatcher().getClass().isAssignableFrom(PrefixPathMatcher.class), is(true));
     assertThat(tested.getAddComment(), is(true));
-    assertThat(tested.getIgnoreUrlParams().size(), is(1));
+    assertThat(tested.getIgnoreUrlParams().size(), is(2));
     assertThat(tested.getIncludeSelector(), is("cache"));
     assertThat(tested.getIncludeTypeName(), is("ESI"));
     assertThat(tested.getRequiredHeader(), is("CustomHeader: value"));
@@ -93,5 +94,6 @@ public class ConfigurationTest {
     assertThat(tested.hasTtlSet(), is(true));
     assertThat(tested.isRewritePath(), is(true));
     assertThat(tested.isSupportedResourceType("test/resource/type"), is(true));
+    assertThat(tested.isSupportedResourceType("test/resource/type2"), is(true));
   }
 }