SLING-1540 - currentNode might not be available
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1377808 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/espblog/src/main/resources/initial-content/apps/espblog/html.esp b/espblog/src/main/resources/initial-content/apps/espblog/html.esp
index 439255f..7ec0fd1 100644
--- a/espblog/src/main/resources/initial-content/apps/espblog/html.esp
+++ b/espblog/src/main/resources/initial-content/apps/espblog/html.esp
@@ -24,6 +24,11 @@
load("header.esp");
load("constants.esp");
+// SLING-1540 - currentNode might not be present
+if(typeof(currentNode) == 'undefined') {
+ currentNode = null;
+}
+
function render(attachmentNode) {
if(attachmentNode.getNode("jcr:content").getProperty("jcr:mimeType").getString().substring(0,5) == "image") {
%><p><img src="<%=attachmentNode%>"></p><%
@@ -35,10 +40,12 @@
function renderMedia(postNode, mediaFolderName) {
if(postNode.hasNode(mediaFolderName)) {
%><h3><%= mediaFolderName %></h3><%
- var nodes = currentNode.getNode(mediaFolderName).getNodes();
- for(i in nodes) {
- render(nodes[i]);
- }
+ if(currentNode) {
+ var nodes = currentNode.getNode(mediaFolderName).getNodes();
+ for(i in nodes) {
+ render(nodes[i]);
+ }
+ }
}
}
%>
@@ -60,11 +67,11 @@
<div class="main">
<h1><%= BLOG_TITLE %></h1>
<div id="postbody">
- <h2><%=currentNode.title ? currentNode.title : ""%></h2>
- <p><%=currentNode.posttext ? currentNode.posttext : ""%></p>
+ <h2><%=(currentNode && currentNode.title) ? currentNode.title : ""%></h2>
+ <p><%=(currentNode && currentNode.posttext) ? currentNode.posttext : ""%></p>
<%
- if(currentNode.hasNode("comments")) {
+ if(currentNode && currentNode.hasNode("comments")) {
%><h3>Comments</h3><%
comments = currentNode.getNode("comments").getNodes()
for (a in comments) {
@@ -83,7 +90,7 @@
}
%>
- <% if(currentNode.title) { %>
+ <% if(currentNode && currentNode.title) { %>
<h3>Comment on this post</h3>
<form class="hform" method="POST" action="<%=currentNode%>/comments/*">
<p>
@@ -99,8 +106,10 @@
<% } %>
</div>
<div id="resources">
- <% renderMedia(currentNode, "attachments"); %>
- <% renderMedia(currentNode, "thumbnails"); %>
+ <% if(currentNode) { %>
+ <% renderMedia(currentNode, "attachments"); %>
+ <% renderMedia(currentNode, "thumbnails"); %>
+ <% } %>
</div>
</div>
</body>
diff --git a/espblog/src/main/resources/initial-content/apps/espblog/xml.esp b/espblog/src/main/resources/initial-content/apps/espblog/xml.esp
index ea29d80..585e5e4 100644
--- a/espblog/src/main/resources/initial-content/apps/espblog/xml.esp
+++ b/espblog/src/main/resources/initial-content/apps/espblog/xml.esp
@@ -20,10 +20,17 @@
%>
<%
- var queryManager = currentNode.getSession().getWorkspace().getQueryManager();
- var query = queryManager.createQuery("/jcr:root/content/espblog/posts/element(*, nt:unstructured) order by @created descending", "xpath");
- var result = query.execute().getNodes();
-
+ // SLING-1540 - currentNode might not be present
+ if(typeof(currentNode) == 'undefined') {
+ currentNode = null;
+ }
+
+ var result = null;
+ if(currentNode) {
+ var queryManager = currentNode.getSession().getWorkspace().getQueryManager();
+ var query = queryManager.createQuery("/jcr:root/content/espblog/posts/element(*, nt:unstructured) order by @created descending", "xpath");
+ result = query.execute().getNodes();
+ }
%>
<rss version="2.0">
@@ -33,11 +40,11 @@
<description>RSS 2.0 feed of my Sling blog</description>
<%
- df = new java.text.SimpleDateFormat( "EEE', 'dd' 'MMM' 'yyyy' 'HH:mm:ss' 'Z", Packages.java.util.Locale.US);
- var counter = 0;
- while(result.hasNext() && counter < 10) {
- counter++;
- post = result.nextNode()
+ df = new java.text.SimpleDateFormat( "EEE', 'dd' 'MMM' 'yyyy' 'HH:mm:ss' 'Z", Packages.java.util.Locale.US);
+ var counter = 0;
+ while(result && result.hasNext() && counter < 10) {
+ counter++;
+ post = result.nextNode()
%>
<item>