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>