Author: olli
Date: Thu Sep 18 10:39:36 2014
New Revision: 1625935

URL: http://svn.apache.org/r1625935
Log:
SLING-3912 improve sample (mostly natural templating)

Added:
    
sling/trunk/samples/fling/src/main/resources/apps/fling/page/fragments/head.html
Modified:
    
sling/trunk/samples/fling/src/main/java/org/apache/sling/samples/fling/internal/Activator.java
    
sling/trunk/samples/fling/src/main/resources/apps/fling/page/simple/html.html
    sling/trunk/samples/fling/src/main/resources/apps/fling/page/user/html.html
    sling/trunk/samples/fling/src/main/resources/content/fling.json

Modified: 
sling/trunk/samples/fling/src/main/java/org/apache/sling/samples/fling/internal/Activator.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/fling/src/main/java/org/apache/sling/samples/fling/internal/Activator.java?rev=1625935&r1=1625934&r2=1625935&view=diff
==============================================================================
--- 
sling/trunk/samples/fling/src/main/java/org/apache/sling/samples/fling/internal/Activator.java
 (original)
+++ 
sling/trunk/samples/fling/src/main/java/org/apache/sling/samples/fling/internal/Activator.java
 Thu Sep 18 10:39:36 2014
@@ -41,6 +41,7 @@ public class Activator implements Bundle
     public void stop(BundleContext bundleContext) throws Exception {
         if (serviceRegistration != null) {
             serviceRegistration.unregister();
+            serviceRegistration = null;
         }
     }
 

Added: 
sling/trunk/samples/fling/src/main/resources/apps/fling/page/fragments/head.html
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/fling/src/main/resources/apps/fling/page/fragments/head.html?rev=1625935&view=auto
==============================================================================
--- 
sling/trunk/samples/fling/src/main/resources/apps/fling/page/fragments/head.html
 (added)
+++ 
sling/trunk/samples/fling/src/main/resources/apps/fling/page/fragments/head.html
 Thu Sep 18 10:39:36 2014
@@ -0,0 +1,33 @@
+<?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
+    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.
+-->
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
+<head th:fragment="default">
+  <meta charset="UTF-8"/>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+  <title th:text="${page.title}">Page Title</title>
+  <link rel="stylesheet" 
href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"/>
+  <link rel="stylesheet" href="/fling/assets/css/fling.css"/>
+  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" 
type="text/javascript"></script>
+  <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js" 
type="text/javascript"></script>
+</head>
+<body>
+</body>
+</html>

Modified: 
sling/trunk/samples/fling/src/main/resources/apps/fling/page/simple/html.html
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/fling/src/main/resources/apps/fling/page/simple/html.html?rev=1625935&r1=1625934&r2=1625935&view=diff
==============================================================================
--- 
sling/trunk/samples/fling/src/main/resources/apps/fling/page/simple/html.html 
(original)
+++ 
sling/trunk/samples/fling/src/main/resources/apps/fling/page/simple/html.html 
Thu Sep 18 10:39:36 2014
@@ -19,35 +19,51 @@
 -->
 <!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" 
th:with="page=${resource.adaptTo(@org.apache.sling.samples.fling.Page@class)}">
-<head>
+<head th:replace="/apps/fling/page/fragments/head.html::default">
   <meta charset="UTF-8"/>
   <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
-  <title th:text="${page.title}">Page Title</title>
-  <link rel="stylesheet" 
href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"/>
-  <link rel="stylesheet" href="/fling/assets/css/fling.css"/>
+  <title>SIMPLE PAGE</title>
+  <link rel="stylesheet" 
href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"/>
+  <link rel="stylesheet" href="../../../../assets/css/fling.css"/>
+  <script 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"; 
type="text/javascript"></script>
+  <script 
src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"; 
type="text/javascript"></script>
 </head>
 <body>
 <div class="container">
   <nav class="nav-main">
     <div class="pull-left">
-      <div 
th:replace="/apps/fling/page/fragments/navigation.html::breadcrumb"></div>
+      <ul class="breadcrumb" style="direction: rtl" 
th:replace="/apps/fling/page/fragments/navigation.html::breadcrumb">
+        <li class="active dropdown">
+          <span>2rd BAR</span>
+        </li>
+        <li class="dropdown">
+          <a href="#" class="dropdown-toggle" role="button" 
data-toggle="dropdown"><span class="caret"></span></a>
+          <a href="#">1st FOO</a>
+          <ul class="dropdown-menu" role="menu">
+            <li role="presentation"><a role="menuitem" tabindex="-1" 
href="../simple/html.html">1st FOO CHILD</a></li>
+            <li role="presentation"><a role="menuitem" tabindex="-1" 
href="../simple/html.html">2nd FOO CHILD</a></li>
+            <li role="presentation"><a role="menuitem" tabindex="-1" 
href="../simple/html.html">3rd FOO CHILD</a></li>
+            <li role="presentation"><a role="menuitem" tabindex="-1" 
href="../simple/html.html">4th FOO CHILD</a></li>
+          </ul>
+        </li>
+      </ul>
     </div>
-    <div 
th:replace="/apps/fling/page/fragments/navigation.html::children"></div>
+    <ul class="nav nav-pills" role="tablist" 
th:replace="/apps/fling/page/fragments/navigation.html::children">
+      <li><a href="../user/html.html">3rd BAZ</a></li>
+    </ul>
   </nav>
   <div class="panel panel-primary">
     <div class="panel-heading">
-      <span th:text="${page.title}"></span>
+      <span th:text="${page.title}">SIMPLE PAGE</span>
     </div>
     <div class="panel-body">
-      <div th:utext="${page.content}"></div>
-      <img src="/fling/assets/images/feather.png" width="355" height="111"/>
+      <div th:utext="${page.content}"><p>Lorem ipsum dolor sit amet, 
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore 
et dolore magna aliquyam erat, sed diam voluptua.</p><pre>At vero eos et 
accusam et justo duo dolores et ea rebum.</pre></div>
+      <img src="../../../../assets/images/feather.png" width="355" 
height="111" th:attr="src='/fling/assets/images/feather.png'"/>
     </div>
     <div class="panel-footer" 
th:replace="/apps/fling/page/fragments/panel.html::footer">
       <span>user | auth type</span>
     </div>
   </div>
 </div>
-<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" 
type="text/javascript"></script>
-<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js" 
type="text/javascript"></script>
 </body>
 </html>

Modified: 
sling/trunk/samples/fling/src/main/resources/apps/fling/page/user/html.html
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/fling/src/main/resources/apps/fling/page/user/html.html?rev=1625935&r1=1625934&r2=1625935&view=diff
==============================================================================
--- sling/trunk/samples/fling/src/main/resources/apps/fling/page/user/html.html 
(original)
+++ sling/trunk/samples/fling/src/main/resources/apps/fling/page/user/html.html 
Thu Sep 18 10:39:36 2014
@@ -19,48 +19,72 @@
 -->
 <!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" 
th:with="page=${resource.adaptTo(@org.apache.sling.samples.fling.UserPage@class)}">
-<head>
+<head th:replace="/apps/fling/page/fragments/head.html::default">
   <meta charset="UTF-8"/>
   <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
-  <title th:text="${page.title}">Page Title</title>
-  <link rel="stylesheet" 
href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"/>
-  <link rel="stylesheet" href="/fling/assets/css/fling.css"/>
+  <title>USER PAGE</title>
+  <link rel="stylesheet" 
href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"/>
+  <link rel="stylesheet" href="../../../../assets/css/fling.css"/>
+  <script 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"; 
type="text/javascript"></script>
+  <script 
src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"; 
type="text/javascript"></script>
 </head>
 <body>
 <div class="container">
   <nav class="nav-main">
     <div class="pull-left">
-      <div 
th:replace="/apps/fling/page/fragments/navigation.html::breadcrumb"></div>
+      <ul class="breadcrumb" style="direction: rtl" 
th:replace="/apps/fling/page/fragments/navigation.html::breadcrumb">
+        <li class="active dropdown">
+          <span>2rd BAR</span>
+        </li>
+        <li class="dropdown">
+          <a href="#" class="dropdown-toggle" role="button" 
data-toggle="dropdown"><span class="caret"></span></a>
+          <a href="../simple/html.html">1st FOO</a>
+          <ul class="dropdown-menu" role="menu">
+            <li role="presentation"><a role="menuitem" tabindex="-1" 
href="../simple/html.html">1st FOO CHILD</a></li>
+            <li role="presentation"><a role="menuitem" tabindex="-1" 
href="../simple/html.html">2nd FOO CHILD</a></li>
+            <li role="presentation"><a role="menuitem" tabindex="-1" 
href="../simple/html.html">3rd FOO CHILD</a></li>
+            <li role="presentation"><a role="menuitem" tabindex="-1" 
href="../simple/html.html">4th FOO CHILD</a></li>
+          </ul>
+        </li>
+      </ul>
     </div>
-    <div 
th:replace="/apps/fling/page/fragments/navigation.html::children"></div>
+    <ul class="nav nav-pills" role="tablist" 
th:replace="/apps/fling/page/fragments/navigation.html::children">
+      <li><a href="../user/html.html">3rd BAZ</a></li>
+    </ul>
   </nav>
   <div class="panel panel-primary">
     <div class="panel-heading">
-      <span th:text="${page.title}"></span>
+      <span th:text="${page.title}">USER PAGE</span>
     </div>
     <div class="panel-body" th:with="user=${page.user}">
       <form role="form">
         <div class="form-group">
           <label>User ID of current JCR session</label>
-          <input type="text" class="form-control" readonly="readonly" 
th:attr="value=${user.getID()}"/>
+          <input type="text" class="form-control" readonly="readonly" 
value="dummy" th:attr="value=${user.getID()}"/>
         </div>
         <div class="form-group">
           <label>principal name</label>
-          <input type="text" class="form-control" readonly="readonly" 
th:attr="value=${user.getPrincipal().getName()}"/>
+          <input type="text" class="form-control" readonly="readonly" 
value="dummy" th:attr="value=${user.getPrincipal().getName()}"/>
         </div>
         <div class="form-group" th:each="property : ${page.userProperties}">
           <label th:text="${property.key}">key</label>
-          <input type="text" class="form-control" readonly="readonly" 
th:attr="value=${property.value}"/>
+          <input type="text" class="form-control" readonly="readonly" 
value="value" th:attr="value=${property.value}"/>
+        </div>
+        <div class="form-group" th:remove="all">
+          <label>firstName</label>
+          <input type="text" class="form-control" readonly="readonly" 
value="Foo"/>
+        </div>
+        <div class="form-group" th:remove="all">
+          <label>lastName</label>
+          <input type="text" class="form-control" readonly="readonly" 
value="Bar"/>
         </div>
       </form>
-      <img src="/fling/assets/images/feather.png" width="355" height="111"/>
+      <img src="../../../../assets/images/feather.png" width="355" 
height="111" th:attr="src='/fling/assets/images/feather.png'"/>
     </div>
     <div class="panel-footer" 
th:replace="/apps/fling/page/fragments/panel.html::footer">
       <span>user | auth type</span>
     </div>
   </div>
 </div>
-<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" 
type="text/javascript"></script>
-<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js" 
type="text/javascript"></script>
 </body>
 </html>

Modified: sling/trunk/samples/fling/src/main/resources/content/fling.json
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/fling/src/main/resources/content/fling.json?rev=1625935&r1=1625934&r2=1625935&view=diff
==============================================================================
--- sling/trunk/samples/fling/src/main/resources/content/fling.json (original)
+++ sling/trunk/samples/fling/src/main/resources/content/fling.json Thu Sep 18 
10:39:36 2014
@@ -19,7 +19,7 @@
         "jcr:primaryType": "nt:unstructured",
         "sling:resourceType": "fling:page:simple",
         "title": "Sling Scripting Thymeleaf",
-        "content": "<p><em>Sling Scripting Thymeleaf</em> with <em>Sling 
Models</em> and <code>adaptTo()</code> to render resources:</p><pre>&lt;html 
xmlns=\"http://www.w3.org/1999/xhtml\"; xml:lang=\"en\"\n      
th:with=\"page=${resource.adaptTo(@org.apache.sling.samples.fling.Page@class)}\"&gt;\n&lt;head&gt;\n
  &lt;meta charset=\"UTF-8\"/&gt;\n  &lt;meta name=\"viewport\" 
content=\"width=device-width, initial-scale=1.0\"/&gt;\n  &lt;title 
th:text=\"${page.title}\"&gt;Page Title&lt;/title&gt;\n[...]</pre><p><em>Sling 
Scripting Thymeleaf</em> with <em>Sling i18n</em> for localized 
messages:</p><pre>&lt;a href=\"/system/sling/logout.html\" 
th:text=\"#{action.logout}\"&gt;logout&lt;/a&gt;</pre><pre>{\n    \"en\": {\n   
     \"jcr:mixinTypes\": [\n            \"mix:language\"\n        ],\n        
\"jcr:language\": \"en\",\n        \"sling:basename\": 
\"org.apache.sling.samples.fling\",\n        \"action.logout\": {\n            
\"jcr:primaryType\": \"sling:MessageEntry\",\n            \
 "sling:key\": \"action.logout\",\n            \"sling:message\": \"logout\"\n  
      },\n        [...]\n    }\n}\n</pre>"
+        "content": "<p><em>Sling Scripting Thymeleaf</em> with <em>Sling 
Models</em> and <code>adaptTo()</code> to render resources:</p><pre>&lt;html 
xmlns=\"http://www.w3.org/1999/xhtml\"; xml:lang=\"en\"\n      
th:with=\"page=${resource.adaptTo(@org.apache.sling.samples.fling.Page@class)}\"&gt;\n&lt;head&gt;\n
  &lt;meta charset=\"UTF-8\"/&gt;\n  &lt;meta name=\"viewport\" 
content=\"width=device-width, initial-scale=1.0\"/&gt;\n  &lt;title 
th:text=\"${page.title}\"&gt;Page Title&lt;/title&gt;\n[...]</pre><p><em>Sling 
Scripting Thymeleaf</em> with <em>Sling i18n</em> for localized 
messages:</p><pre>&lt;a href=\"/system/sling/logout\" 
th:text=\"#{action.logout}\"&gt;logout&lt;/a&gt;</pre><pre>{\n    \"en\": {\n   
     \"jcr:mixinTypes\": [\n            \"mix:language\"\n        ],\n        
\"jcr:language\": \"en\",\n        \"sling:basename\": 
\"org.apache.sling.samples.fling\",\n        \"action.logout\": {\n            
\"jcr:primaryType\": \"sling:MessageEntry\",\n            \"slin
 g:key\": \"action.logout\",\n            \"sling:message\": \"logout\"\n       
 },\n        [...]\n    }\n}\n</pre>"
     },
     "auth": {
         "jcr:primaryType": "nt:unstructured",


Reply via email to