straighten pages and templates

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1738370 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/fling/src/main/java/org/apache/sling/samples/fling/Page.java b/fling/src/main/java/org/apache/sling/samples/fling/page/Page.java
similarity index 91%
rename from fling/src/main/java/org/apache/sling/samples/fling/Page.java
rename to fling/src/main/java/org/apache/sling/samples/fling/page/Page.java
index 91eea4c..02ed258 100644
--- a/fling/src/main/java/org/apache/sling/samples/fling/Page.java
+++ b/fling/src/main/java/org/apache/sling/samples/fling/page/Page.java
@@ -16,20 +16,22 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.samples.fling;
+package org.apache.sling.samples.fling.page;
 
 import javax.inject.Inject;
 
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.models.annotations.Model;
 import org.apache.sling.models.annotations.Optional;
+import org.apache.sling.models.annotations.injectorspecific.Self;
 
 import static org.apache.sling.query.SlingQuery.$;
 
 @Model(adaptables = Resource.class)
 public class Page {
 
-    private final Resource resource;
+    @Self
+    protected Resource resource;
 
     @Inject
     private String title;
@@ -38,8 +40,7 @@
     @Optional
     private String content;
 
-    public Page(final Resource resource) {
-        this.resource = resource;
+    public Page() {
     }
 
     public String getName() {
diff --git a/fling/src/main/java/org/apache/sling/samples/fling/UserPage.java b/fling/src/main/java/org/apache/sling/samples/fling/page/UserPage.java
similarity index 91%
rename from fling/src/main/java/org/apache/sling/samples/fling/UserPage.java
rename to fling/src/main/java/org/apache/sling/samples/fling/page/UserPage.java
index 7d0b2d0..eed89d6 100644
--- a/fling/src/main/java/org/apache/sling/samples/fling/UserPage.java
+++ b/fling/src/main/java/org/apache/sling/samples/fling/page/UserPage.java
@@ -16,13 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.samples.fling;
+package org.apache.sling.samples.fling.page;
 
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 
+import javax.annotation.PostConstruct;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.jcr.Value;
@@ -36,12 +37,15 @@
 @Model(adaptables = Resource.class)
 public class UserPage extends Page {
 
-    private final User user;
+    private User user;
 
-    private final Map<String, String> userProperties;
+    private Map<String, String> userProperties;
 
-    public UserPage(Resource resource) throws Exception {
-        super(resource);
+    public UserPage() {
+    }
+
+    @PostConstruct
+    public void init() throws Exception {
         final Session session = resource.getResourceResolver().adaptTo(Session.class);
         final UserManager userManager = AccessControlUtil.getUserManager(session);
         user = (User) userManager.getAuthorizable(session.getUserID());
diff --git a/fling/src/main/resources/apps/fling/page/simple/html.html b/fling/src/main/resources/apps/fling/page/simple/html.html
index 5f6ba7c..41f0e0e 100644
--- a/fling/src/main/resources/apps/fling/page/simple/html.html
+++ b/fling/src/main/resources/apps/fling/page/simple/html.html
@@ -17,39 +17,16 @@
     specific language governing permissions and limitations
     under the License.
 -->
-<html data-th-with="page=${resource.adaptTo(@org.apache.sling.samples.fling.Page@class)}">
+<html data-th-with="page=${resource.adaptTo(@org.apache.sling.samples.fling.page.Page@class)}">
 <head data-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>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">
-      <ul class="breadcrumb" style="direction: rtl" data-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>
+      <ul class="breadcrumb" style="direction: rtl" data-th-replace="/apps/fling/page/fragments/navigation.html::breadcrumb"></ul>
     </div>
-    <ul class="nav nav-pills" role="tablist" data-th-replace="/apps/fling/page/fragments/navigation.html::children">
-      <li><a href="../user/html.html">3rd BAZ</a></li>
-    </ul>
+    <ul class="nav nav-pills" role="tablist" data-th-replace="/apps/fling/page/fragments/navigation.html::children"></ul>
   </nav>
   <div class="panel panel-primary">
     <div class="panel-heading">
@@ -59,9 +36,7 @@
       <div data-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" data-th-attr="src='/fling/assets/images/feather.png'"/>
     </div>
-    <div class="panel-footer" data-th-replace="/apps/fling/page/fragments/panel.html::footer">
-      <span>user | auth type</span>
-    </div>
+    <div class="panel-footer" data-th-replace="/apps/fling/page/fragments/panel.html::footer"></div>
   </div>
 </div>
 </body>
diff --git a/fling/src/main/resources/apps/fling/page/user/html.html b/fling/src/main/resources/apps/fling/page/user/html.html
index ca09290..6f594c7 100644
--- a/fling/src/main/resources/apps/fling/page/user/html.html
+++ b/fling/src/main/resources/apps/fling/page/user/html.html
@@ -17,39 +17,16 @@
     specific language governing permissions and limitations
     under the License.
 -->
-<html data-th-with="page=${resource.adaptTo(@org.apache.sling.samples.fling.UserPage@class)}">
+<html data-th-with="page=${resource.adaptTo(@org.apache.sling.samples.fling.page.UserPage@class)}">
 <head data-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>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">
-      <ul class="breadcrumb" style="direction: rtl" data-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>
+      <ul class="breadcrumb" style="direction: rtl" data-th-replace="/apps/fling/page/fragments/navigation.html::breadcrumb"></ul>
     </div>
-    <ul class="nav nav-pills" role="tablist" data-th-replace="/apps/fling/page/fragments/navigation.html::children">
-      <li><a href="../user/html.html">3rd BAZ</a></li>
-    </ul>
+    <ul class="nav nav-pills" role="tablist" data-th-replace="/apps/fling/page/fragments/navigation.html::children"></ul>
   </nav>
   <div class="panel panel-primary">
     <div class="panel-heading">
@@ -80,9 +57,7 @@
       </form>
       <img src="../../../../assets/images/feather.png" width="355" height="111" data-th-attr="src='/fling/assets/images/feather.png'"/>
     </div>
-    <div class="panel-footer" data-th-replace="/apps/fling/page/fragments/panel.html::footer">
-      <span>user | auth type</span>
-    </div>
+    <div class="panel-footer" data-th-replace="/apps/fling/page/fragments/panel.html::footer"></div>
   </div>
 </div>
 </body>