You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2021/12/22 22:02:48 UTC

[sling-org-apache-sling-caconfig-spi] branch master updated: SLING-8849 Add ConfigurationInjectResourceDetectionStrategy that can be used to detect a Resource based on the current request (#1)

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

sseifert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-caconfig-spi.git


The following commit(s) were added to refs/heads/master by this push:
     new 2014557  SLING-8849 Add ConfigurationInjectResourceDetectionStrategy that can be used to detect a Resource based on the current request (#1)
2014557 is described below

commit 20145572b40ac3a2177f948ad5053365b168cedb
Author: henrykuijpers <he...@gmail.com>
AuthorDate: Wed Dec 22 23:02:42 2021 +0100

    SLING-8849 Add ConfigurationInjectResourceDetectionStrategy that can be used to detect a Resource based on the current request (#1)
    
    Co-authored-by: Henry Kuijpers <He...@amplexor.com>
    Co-authored-by: Stefan Seifert <st...@users.noreply.github.com>
---
 ...figurationInjectResourceDetectionStrategy.java} | 25 +++++++++++++++++++---
 .../apache/sling/caconfig/spi/package-info.java    |  2 +-
 2 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/apache/sling/caconfig/spi/package-info.java b/src/main/java/org/apache/sling/caconfig/spi/ConfigurationInjectResourceDetectionStrategy.java
similarity index 50%
copy from src/main/java/org/apache/sling/caconfig/spi/package-info.java
copy to src/main/java/org/apache/sling/caconfig/spi/ConfigurationInjectResourceDetectionStrategy.java
index c636c0a..7ac7b13 100644
--- a/src/main/java/org/apache/sling/caconfig/spi/package-info.java
+++ b/src/main/java/org/apache/sling/caconfig/spi/ConfigurationInjectResourceDetectionStrategy.java
@@ -16,8 +16,27 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+package org.apache.sling.caconfig.spi;
+
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.api.resource.Resource;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+import org.osgi.annotation.versioning.ConsumerType;
+
 /**
- * SPI for applications hooking into the configuration infrastructure for parameterizing and customizing.
+ * Defines how to look up the current context resource to be used for getting the context-aware configurations
+ * for injecting into Sling Models or for Sling Scripting (BindingsValuesProvider).
  */
-@org.osgi.annotation.versioning.Version("2.1.2")
-package org.apache.sling.caconfig.spi;
+@ConsumerType
+public interface ConfigurationInjectResourceDetectionStrategy {
+
+    /**
+     * Detects the resource that is associated with the given request.
+     * @param request Sling request
+     * @return Detected Resource or {@code null} if this strategy did not detect an applicable resources.
+     */
+    @Nullable
+    Resource detectResource(@NotNull SlingHttpServletRequest request);
+
+}
diff --git a/src/main/java/org/apache/sling/caconfig/spi/package-info.java b/src/main/java/org/apache/sling/caconfig/spi/package-info.java
index c636c0a..2361c12 100644
--- a/src/main/java/org/apache/sling/caconfig/spi/package-info.java
+++ b/src/main/java/org/apache/sling/caconfig/spi/package-info.java
@@ -19,5 +19,5 @@
 /**
  * SPI for applications hooking into the configuration infrastructure for parameterizing and customizing.
  */
-@org.osgi.annotation.versioning.Version("2.1.2")
+@org.osgi.annotation.versioning.Version("2.2.0")
 package org.apache.sling.caconfig.spi;