This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-servlets-resolver.git
The following commit(s) were added to refs/heads/master by this push:
new e0dee1e SLING-9999 - Remove cyclic dependency between scripting and
servlets features
e0dee1e is described below
commit e0dee1e7d7f60f56cd8e03bc50b91a0cb3d19e48
Author: Radu Cotescu <[email protected]>
AuthorDate: Tue Mar 2 14:19:43 2021 +0100
SLING-9999 - Remove cyclic dependency between scripting and servlets
features
* moved the o.a.s.servlets.resolver.bundle.tracker API to a dedicated bundle
---
README.md | 2 +-
pom.xml | 3 +-
.../internal => internal/bundle}/BundledHooks.java | 2 +-
.../bundle}/BundledRenderUnitCapabilityImpl.java | 6 +-
.../bundle}/BundledScriptServlet.java | 9 +--
.../bundle}/BundledScriptTracker.java | 12 +--
.../bundle}/RequestWrapper.java | 4 +-
.../bundle}/TypeProviderImpl.java | 6 +-
.../internal/resource/ServletResource.java | 2 +-
.../resolver/bundle/tracker/ResourceTypeTest.java | 87 ----------------------
.../bundle}/BundledHooksTest.java | 3 +-
.../bundle}/BundledScriptTrackerTest.java | 3 +-
.../resolver/it/ServletResolverTestSupport.java | 2 +-
13 files changed, 28 insertions(+), 113 deletions(-)
diff --git a/README.md b/README.md
index 2726a91..a44958e 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,7 @@ context. As such, scripts should be handled like code:
3. they have a _developer audience_.
### How
-Being built around a `BundleTrackerCustomizer` [2], the
`org.apache.sling.servlets.resolver.bundle.tracker.internal.BundledScriptTracker`
+Being built around a `BundleTrackerCustomizer` [2], the
`org.apache.sling.servlets.resolver.internal.bundle.BundledScriptTracker`
monitors the instance's bundles wired to the
`org.apache.sling.servlets.resolver` bundle and scans the ones providing a
`sling.servlet`
capability [3]. The wiring is created by placing a `Require-Capability` header
in the bundles that provide the `sling.servlet` capability:
diff --git a/pom.xml b/pom.xml
index bfb9f5a..74d51bb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -181,8 +181,9 @@
<dependencies>
<dependency>
<groupId>org.apache.sling</groupId>
- <artifactId>org.apache.sling.servlets.resolver.api</artifactId>
+ <artifactId>org.apache.sling.scripting.spi</artifactId>
<version>1.0.0-SNAPSHOT</version>
+ <scope>provided</scope>
</dependency>
<dependency>
diff --git
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledHooks.java
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledHooks.java
similarity index 97%
rename from
src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledHooks.java
rename to
src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledHooks.java
index 49ce2a8..48c39d8 100644
---
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledHooks.java
+++
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledHooks.java
@@ -16,7 +16,7 @@
~ specific language governing permissions and limitations
~ under the License.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal;
+package org.apache.sling.servlets.resolver.internal.bundle;
import java.util.Collection;
import java.util.Iterator;
diff --git
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledRenderUnitCapabilityImpl.java
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledRenderUnitCapabilityImpl.java
similarity index 96%
rename from
src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledRenderUnitCapabilityImpl.java
rename to
src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledRenderUnitCapabilityImpl.java
index 1d68f8e..645d83e 100644
---
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledRenderUnitCapabilityImpl.java
+++
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledRenderUnitCapabilityImpl.java
@@ -16,7 +16,7 @@
~ specific language governing permissions and limitations
~ under the License.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal;
+package org.apache.sling.servlets.resolver.internal.bundle;
import java.util.Arrays;
import java.util.Collections;
@@ -28,8 +28,8 @@ import java.util.Set;
import org.apache.sling.api.servlets.ServletResolverConstants;
import org.apache.sling.commons.osgi.PropertiesUtil;
-import
org.apache.sling.servlets.resolver.bundle.tracker.BundledRenderUnitCapability;
-import org.apache.sling.servlets.resolver.bundle.tracker.ResourceType;
+import org.apache.sling.scripting.spi.bundle.BundledRenderUnitCapability;
+import org.apache.sling.scripting.spi.bundle.ResourceType;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.osgi.framework.Version;
diff --git
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptServlet.java
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptServlet.java
similarity index 91%
rename from
src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptServlet.java
rename to
src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptServlet.java
index f8102b1..3d30662 100644
---
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptServlet.java
+++
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptServlet.java
@@ -16,7 +16,7 @@
~ specific language governing permissions and limitations
~ under the License.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal;
+package org.apache.sling.servlets.resolver.internal.bundle;
import java.io.IOException;
import java.io.InputStream;
@@ -33,10 +33,9 @@ import javax.servlet.ServletResponse;
import org.apache.sling.api.SlingConstants;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
-import org.apache.sling.servlets.resolver.bundle.tracker.BundledRenderUnit;
-import org.apache.sling.servlets.resolver.bundle.tracker.ResourceType;
-import org.apache.sling.servlets.resolver.bundle.tracker.TypeProvider;
-import
org.apache.sling.servlets.resolver.bundle.tracker.internal.request.RequestWrapper;
+import org.apache.sling.scripting.spi.bundle.BundledRenderUnit;
+import org.apache.sling.scripting.spi.bundle.ResourceType;
+import org.apache.sling.scripting.spi.bundle.TypeProvider;
import org.jetbrains.annotations.NotNull;
public class BundledScriptServlet extends GenericServlet {
diff --git
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptTracker.java
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTracker.java
similarity index 98%
rename from
src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptTracker.java
rename to
src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTracker.java
index 2831a23..6883088 100644
---
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptTracker.java
+++
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTracker.java
@@ -16,7 +16,7 @@
~ specific language governing permissions and limitations
~ under the License.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal;
+package org.apache.sling.servlets.resolver.internal.bundle;
import java.io.IOException;
import java.lang.reflect.InvocationHandler;
@@ -56,11 +56,11 @@ import org.apache.sling.api.resource.ResourceUtil;
import org.apache.sling.api.servlets.HttpConstants;
import org.apache.sling.api.servlets.ServletResolverConstants;
import org.apache.sling.commons.osgi.PropertiesUtil;
-import org.apache.sling.servlets.resolver.bundle.tracker.BundledRenderUnit;
-import
org.apache.sling.servlets.resolver.bundle.tracker.BundledRenderUnitCapability;
-import
org.apache.sling.servlets.resolver.bundle.tracker.BundledRenderUnitFinder;
-import org.apache.sling.servlets.resolver.bundle.tracker.ResourceType;
-import org.apache.sling.servlets.resolver.bundle.tracker.TypeProvider;
+import org.apache.sling.scripting.spi.bundle.BundledRenderUnit;
+import org.apache.sling.scripting.spi.bundle.BundledRenderUnitCapability;
+import org.apache.sling.scripting.spi.bundle.BundledRenderUnitFinder;
+import org.apache.sling.scripting.spi.bundle.ResourceType;
+import org.apache.sling.scripting.spi.bundle.TypeProvider;
import org.apache.sling.servlets.resolver.internal.resource.ServletMounter;
import org.jetbrains.annotations.NotNull;
import org.osgi.annotation.bundle.Capability;
diff --git
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/request/RequestWrapper.java
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/RequestWrapper.java
similarity index 96%
rename from
src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/request/RequestWrapper.java
rename to
src/main/java/org/apache/sling/servlets/resolver/internal/bundle/RequestWrapper.java
index 5e20069..5b1e24a 100644
---
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/request/RequestWrapper.java
+++
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/RequestWrapper.java
@@ -16,7 +16,7 @@
~ specific language governing permissions and limitations
~ under the License.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal.request;
+package org.apache.sling.servlets.resolver.internal.bundle;
import java.util.Set;
@@ -27,7 +27,7 @@ import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.request.RequestDispatcherOptions;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.wrappers.SlingHttpServletRequestWrapper;
-import org.apache.sling.servlets.resolver.bundle.tracker.ResourceType;
+import org.apache.sling.scripting.spi.bundle.ResourceType;
public class RequestWrapper extends SlingHttpServletRequestWrapper {
diff --git
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/TypeProviderImpl.java
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/TypeProviderImpl.java
similarity index 91%
rename from
src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/TypeProviderImpl.java
rename to
src/main/java/org/apache/sling/servlets/resolver/internal/bundle/TypeProviderImpl.java
index 63c67cf..ca9fdd9 100644
---
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/TypeProviderImpl.java
+++
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/TypeProviderImpl.java
@@ -16,12 +16,12 @@
~ specific language governing permissions and limitations
~ under the License.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal;
+package org.apache.sling.servlets.resolver.internal.bundle;
import java.util.Objects;
-import
org.apache.sling.servlets.resolver.bundle.tracker.BundledRenderUnitCapability;
-import org.apache.sling.servlets.resolver.bundle.tracker.TypeProvider;
+import org.apache.sling.scripting.spi.bundle.BundledRenderUnitCapability;
+import org.apache.sling.scripting.spi.bundle.TypeProvider;
import org.jetbrains.annotations.NotNull;
import org.osgi.framework.Bundle;
diff --git
a/src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletResource.java
b/src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletResource.java
index 883e40f..cf5112f 100644
---
a/src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletResource.java
+++
b/src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletResource.java
@@ -31,7 +31,7 @@ import org.apache.sling.api.resource.ResourceMetadata;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.api.wrappers.ValueMapDecorator;
-import
org.apache.sling.servlets.resolver.bundle.tracker.internal.BundledScriptServlet;
+import org.apache.sling.servlets.resolver.internal.bundle.BundledScriptServlet;
public class ServletResource extends AbstractResource {
diff --git
a/src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/ResourceTypeTest.java
b/src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/ResourceTypeTest.java
deleted file mode 100644
index 5464bd1..0000000
---
a/src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/ResourceTypeTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing,
- ~ software distributed under the License is distributed on an
- ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ~ KIND, either express or implied. See the License for the
- ~ specific language governing permissions and limitations
- ~ under the License.
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker;
-
-import org.apache.commons.lang3.StringUtils;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-
-public class ResourceTypeTest {
-
- @Test
- public void testSlashNoVersion() {
- ResourceType t1 = ResourceType.parseResourceType("a/b/c");
- assertEquals("a/b/c", t1.getType());
- assertEquals("c", t1.getResourceLabel());
- assertNull(t1.getVersion());
- }
-
- @Test
- public void testSlashVersion() {
- ResourceType t1 = ResourceType.parseResourceType("a/b/c/1.0.0");
- assertEquals("a/b/c", t1.getType());
- assertEquals("c", t1.getResourceLabel());
- assertEquals("1.0.0", t1.getVersion());
- }
-
- @Test
- public void testOneSegmentNoVersion() {
- ResourceType t1 = ResourceType.parseResourceType("a");
- assertEquals("a", t1.getType());
- assertEquals("a", t1.getResourceLabel());
- assertNull(t1.getVersion());
- }
-
- @Test
- public void testOneSegmentVersion() {
- ResourceType t1 = ResourceType.parseResourceType("a/1.2.3");
- assertEquals("a", t1.getType());
- assertEquals("a", t1.getResourceLabel());
- assertEquals("1.2.3", t1.getVersion());
- }
-
- @Test
- public void testDotNoVersion() {
- ResourceType t1 = ResourceType.parseResourceType("a.b.c");
- assertEquals("a.b.c", t1.getType());
- assertEquals("c", t1.getResourceLabel());
- assertNull(t1.getVersion());
- }
-
- @Test
- public void testDotVersion() {
- ResourceType t1 = ResourceType.parseResourceType("a.b.c/42.0.0");
- assertEquals("a.b.c", t1.getType());
- assertEquals("c", t1.getResourceLabel());
- assertEquals("42.0.0", t1.getVersion());
- }
-
- @Test(expected = IllegalArgumentException.class)
- public void testEmptyString() {
- ResourceType t1 = ResourceType.parseResourceType(StringUtils.EMPTY);
- }
-
- @Test(expected = IllegalArgumentException.class)
- public void testNull() {
- ResourceType t1 = ResourceType.parseResourceType(null);
- }
-
-}
diff --git
a/src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledHooksTest.java
b/src/test/java/org/apache/sling/servlets/resolver/internal/bundle/BundledHooksTest.java
similarity index 97%
rename from
src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledHooksTest.java
rename to
src/test/java/org/apache/sling/servlets/resolver/internal/bundle/BundledHooksTest.java
index 95ea271..1b2f8ee 100644
---
a/src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledHooksTest.java
+++
b/src/test/java/org/apache/sling/servlets/resolver/internal/bundle/BundledHooksTest.java
@@ -16,7 +16,7 @@
~ specific language governing permissions and limitations
~ under the License.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal;
+package org.apache.sling.servlets.resolver.internal.bundle;
import java.util.ArrayList;
import java.util.Arrays;
@@ -25,6 +25,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.sling.servlets.resolver.internal.bundle.BundledHooks;
import org.junit.Assert;
import org.junit.Test;
import org.osgi.framework.Bundle;
diff --git
a/src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptTrackerTest.java
b/src/test/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTrackerTest.java
similarity index 93%
rename from
src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptTrackerTest.java
rename to
src/test/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTrackerTest.java
index 429017b..198d04c 100644
---
a/src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptTrackerTest.java
+++
b/src/test/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTrackerTest.java
@@ -16,13 +16,14 @@
~ specific language governing permissions and limitations
~ under the License.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal;
+package org.apache.sling.servlets.resolver.internal.bundle;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.Servlet;
+import org.apache.sling.servlets.resolver.internal.bundle.BundledScriptTracker;
import org.junit.Test;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
diff --git
a/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java
b/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java
index 045654c..54a2269 100644
---
a/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java
+++
b/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java
@@ -91,7 +91,7 @@ public class ServletResolverTestSupport extends TestSupport {
slingServlets(),
mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.converter").version("1.0.12"),
// new Sling API dependency
testBundle("bundle.filename"),
-
mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.servlets.resolver.api").versionAsInProject(),
+
mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.scripting.spi").versionAsInProject(),
mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.servlet-helpers").versionAsInProject(),
junitBundles(),
newConfiguration("org.apache.felix.http")