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-scripting-bundle-tracker-it.git
The following commit(s) were added to refs/heads/master by this push:
new 6c68288 SLING-9394 - html scripts should be used to generate the
resource type
6c68288 is described below
commit 6c682884f5bba67af6507b1707baf0a16060dedf
Author: Radu Cotescu <[email protected]>
AuthorDate: Thu Apr 23 19:03:42 2020 +0200
SLING-9394 - html scripts should be used to generate the resource type
* added IT
---
.../content/examplebundle-precompiled-jsp.xml | 18 ++++++++
.../html.jsp} | 18 +++-----
.../selector.jsp} | 15 ++----
.../extends | 1 +
.../selector.jsp} | 15 ++----
.../tracker/it/ExampleBundlePrecompiledJSPIT.java | 30 ++++++++++++
.../ExampleBundlePrecompiledJSPTeleportedIT.java | 54 ++++++++++++++++++++++
7 files changed, 115 insertions(+), 36 deletions(-)
diff --git
a/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/resources/SLING-INF/content/examplebundle-precompiled-jsp.xml
b/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/resources/SLING-INF/content/examplebundle-precompiled-jsp.xml
index 66006d3..e85821f 100644
---
a/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/resources/SLING-INF/content/examplebundle-precompiled-jsp.xml
+++
b/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/resources/SLING-INF/content/examplebundle-precompiled-jsp.xml
@@ -26,3 +26,21 @@
<type>String</type>
</property>
</node>
+<node>
+<name>base</name>
+<primaryNodeType>nt:unstructured</primaryNodeType>
+<property>
+ <name>sling:resourceType</name>
+
<value>org.apache.sling.scripting.examplebundle.precompiled.jsp.base</value>
+ <type>String</type>
+</property>
+</node>
+<node>
+<name>extends</name>
+<primaryNodeType>nt:unstructured</primaryNodeType>
+<property>
+ <name>sling:resourceType</name>
+
<value>org.apache.sling.scripting.examplebundle.precompiled.jsp.extends</value>
+ <type>String</type>
+</property>
+</node>
diff --git
a/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/resources/SLING-INF/content/examplebundle-precompiled-jsp.xml
b/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/scripts/org.apache.sling.scripting.examplebundle.precompiled.jsp.base/html.jsp
similarity index 69%
copy from
examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/resources/SLING-INF/content/examplebundle-precompiled-jsp.xml
copy to
examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/scripts/org.apache.sling.scripting.examplebundle.precompiled.jsp.base/html.jsp
index 66006d3..fad2883 100644
---
a/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/resources/SLING-INF/content/examplebundle-precompiled-jsp.xml
+++
b/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/scripts/org.apache.sling.scripting.examplebundle.precompiled.jsp.base/html.jsp
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<%--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ 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
@@ -16,13 +15,8 @@
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
-<node>
- <name>hello</name>
- <primaryNodeType>nt:unstructured</primaryNodeType>
- <property>
- <name>sling:resourceType</name>
-
<value>org.apache.sling.scripting.examplebundle.precompiled.jsp.hello</value>
- <type>String</type>
- </property>
-</node>
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--%>
+<%@page session="false" pageEncoding="utf-8"%>
+<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.2"%>
+<h2 data-script="${javax_script_filename}">${resource.resourceType}</h2>
+<sling:call script="selector.jsp"/>
diff --git
a/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/resources/SLING-INF/content/examplebundle-precompiled-jsp.xml
b/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/scripts/org.apache.sling.scripting.examplebundle.precompiled.jsp.base/selector.jsp
similarity index 69%
copy from
examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/resources/SLING-INF/content/examplebundle-precompiled-jsp.xml
copy to
examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/scripts/org.apache.sling.scripting.examplebundle.precompiled.jsp.base/selector.jsp
index 66006d3..3108df7 100644
---
a/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/resources/SLING-INF/content/examplebundle-precompiled-jsp.xml
+++
b/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/scripts/org.apache.sling.scripting.examplebundle.precompiled.jsp.base/selector.jsp
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<%--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ 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
@@ -16,13 +15,5 @@
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
-<node>
- <name>hello</name>
- <primaryNodeType>nt:unstructured</primaryNodeType>
- <property>
- <name>sling:resourceType</name>
-
<value>org.apache.sling.scripting.examplebundle.precompiled.jsp.hello</value>
- <type>String</type>
- </property>
-</node>
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--%>
+<span id="base-selector" data-rt="${resource.resourceType}">selector.jsp</span>
diff --git
a/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/scripts/org.apache.sling.scripting.examplebundle.precompiled.jsp.extends/extends
b/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/scripts/org.apache.sling.scripting.examplebundle.precompiled.jsp.extends/extends
new file mode 100644
index 0000000..8794a9b
--- /dev/null
+++
b/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/scripts/org.apache.sling.scripting.examplebundle.precompiled.jsp.extends/extends
@@ -0,0 +1 @@
+org.apache.sling.scripting.examplebundle.precompiled.jsp.base
diff --git
a/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/resources/SLING-INF/content/examplebundle-precompiled-jsp.xml
b/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/scripts/org.apache.sling.scripting.examplebundle.precompiled.jsp.extends/selector.jsp
similarity index 69%
copy from
examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/resources/SLING-INF/content/examplebundle-precompiled-jsp.xml
copy to
examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/scripts/org.apache.sling.scripting.examplebundle.precompiled.jsp.extends/selector.jsp
index 66006d3..e3c177b 100644
---
a/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/resources/SLING-INF/content/examplebundle-precompiled-jsp.xml
+++
b/examples/org-apache-sling-scripting-examplebundle-precompiled-jsp/src/main/scripts/org.apache.sling.scripting.examplebundle.precompiled.jsp.extends/selector.jsp
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<%--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ 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
@@ -16,13 +15,5 @@
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
-<node>
- <name>hello</name>
- <primaryNodeType>nt:unstructured</primaryNodeType>
- <property>
- <name>sling:resourceType</name>
-
<value>org.apache.sling.scripting.examplebundle.precompiled.jsp.hello</value>
- <type>String</type>
- </property>
-</node>
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--%>
+<span id="extends-selector"
data-rt="${resource.resourceType}">selector.jsp</span>
diff --git
a/it/src/test/java/org/apache/sling/scripting/bundle/tracker/it/ExampleBundlePrecompiledJSPIT.java
b/it/src/test/java/org/apache/sling/scripting/bundle/tracker/it/ExampleBundlePrecompiledJSPIT.java
index 484d7f0..00dfc00 100644
---
a/it/src/test/java/org/apache/sling/scripting/bundle/tracker/it/ExampleBundlePrecompiledJSPIT.java
+++
b/it/src/test/java/org/apache/sling/scripting/bundle/tracker/it/ExampleBundlePrecompiledJSPIT.java
@@ -49,4 +49,34 @@ public class ExampleBundlePrecompiledJSPIT extends
AbstractEndpointTestBase {
assertEquals(expectedRT, w.attr(DATA_RT_ATTRIBUTE));
}
+ @Test
+ public void testBase() throws Exception {
+ final String expectedRT =
"org.apache.sling.scripting.examplebundle.precompiled.jsp.base";
+ Document document = getDocument(ROOT + "/base.html");
+ Elements h2 = document.select("h2");
+ assertEquals(expectedRT, h2.html());
+ final String expectedScriptDriver =
+
"org__002e__apache__002e__sling__002e__scripting__002e__examplebundle__002e__precompiled__002e__jsp__002e__base.html__002e__jsp";
+ assertTrue(h2.hasAttr(DATA_SCRIPT) &&
expectedScriptDriver.equals(h2.attr(DATA_SCRIPT)));
+ Elements selector = document.select("#base-selector");
+ assertEquals("Resource based servlet resolution failed.", 1,
selector.size());
+ assertEquals("selector.jsp", selector.html());
+ assertEquals(expectedRT, selector.attr(DATA_RT_ATTRIBUTE));
+ }
+
+ @Test
+ public void testExtends() throws Exception {
+ final String expectedRT =
"org.apache.sling.scripting.examplebundle.precompiled.jsp.extends";
+ Document document = getDocument(ROOT + "/extends.html");
+ Elements h2 = document.select("h2");
+ assertEquals(expectedRT, h2.html());
+ final String expectedScriptDriver =
+
"org__002e__apache__002e__sling__002e__scripting__002e__examplebundle__002e__precompiled__002e__jsp__002e__base.html__002e__jsp";
+ assertTrue(h2.hasAttr(DATA_SCRIPT) &&
expectedScriptDriver.equals(h2.attr(DATA_SCRIPT)));
+ Elements selector = document.select("#extends-selector");
+ assertEquals("Resource based servlet resolution failed.", 1,
selector.size());
+ assertEquals("selector.jsp", selector.html());
+ assertEquals(expectedRT, selector.attr(DATA_RT_ATTRIBUTE));
+ }
+
}
diff --git
a/it/src/test/java/org/apache/sling/scripting/bundle/tracker/it/ExampleBundlePrecompiledJSPTeleportedIT.java
b/it/src/test/java/org/apache/sling/scripting/bundle/tracker/it/ExampleBundlePrecompiledJSPTeleportedIT.java
index 774a75a..f789af8 100644
---
a/it/src/test/java/org/apache/sling/scripting/bundle/tracker/it/ExampleBundlePrecompiledJSPTeleportedIT.java
+++
b/it/src/test/java/org/apache/sling/scripting/bundle/tracker/it/ExampleBundlePrecompiledJSPTeleportedIT.java
@@ -64,4 +64,58 @@ public class ExampleBundlePrecompiledJSPTeleportedIT extends
AbstractTeleportedT
}
}
}
+
+ @Test
+ public void testBase() throws LoginException {
+ final String expectedRT =
"org.apache.sling.scripting.examplebundle.precompiled.jsp.base";
+ ResourceResolverFactory resourceResolverFactory =
teleporter.getService(ResourceResolverFactory.class);
+ try (ResourceResolver resolver =
resourceResolverFactory.getResourceResolver(AUTH_MAP)) {
+ Resource main = resolver.getResource("/apps/" + expectedRT);
+ assertNotNull(main);
+ assertTrue(main.getValueMap().isEmpty());
+ Map<String, Resource> children = collectResourceChildren(main);
+ assertEquals(6, children.size());
+
+ Set<String> expectedChildren = getChildrenForServletResource(
+ "/apps/" + expectedRT,
+ "html.jsp",
+ "html.jsp.servlet",
+ "html.servlet",
+ "selector.jsp",
+ "selector.html.servlet",
+ "selector.jsp.servlet"
+ );
+ assertEquals(expectedChildren, children.keySet());
+
+ for (Resource child : children.values()) {
+ assertEquals(child.getPath() + " does not have the expected
resource super type", "sling/bundle/resource",
+ child.getResourceSuperType());
+ }
+ }
+ }
+
+ @Test
+ public void testExtends() throws LoginException {
+ final String expectedRT =
"org.apache.sling.scripting.examplebundle.precompiled.jsp.extends";
+ ResourceResolverFactory resourceResolverFactory =
teleporter.getService(ResourceResolverFactory.class);
+ try (ResourceResolver resolver =
resourceResolverFactory.getResourceResolver(AUTH_MAP)) {
+ Resource main = resolver.getResource("/apps/" + expectedRT);
+ assertNotNull(main);
+ assertTrue(main.getValueMap().isEmpty());
+ Map<String, Resource> children = collectResourceChildren(main);
+ assertEquals(4, children.size());
+
+ Set<String> expectedChildren = getChildrenForServletResource(
+ "/apps/" + expectedRT,
+ "html.servlet",
+ "selector.jsp",
+ "selector.html.servlet",
+ "selector.jsp.servlet"
+ );
+ assertEquals(expectedChildren, children.keySet());
+
+
assertEquals("org.apache.sling.scripting.examplebundle.precompiled.jsp.base",
children.get("/apps/" + expectedRT + "/html" +
+ ".servlet").getResourceSuperType());
+ }
+ }
}