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());
+        }
+    }
 }

Reply via email to