Author: cziegeler Date: Tue Nov 3 23:32:14 2009 New Revision: 832603 URL: http://svn.apache.org/viewvc?rev=832603&view=rev Log: Remove redundant null check
Modified: sling/trunk/contrib/scripting/jst/src/main/java/org/apache/sling/scripting/jst/HtmlCodeGenerator.java Modified: sling/trunk/contrib/scripting/jst/src/main/java/org/apache/sling/scripting/jst/HtmlCodeGenerator.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/jst/src/main/java/org/apache/sling/scripting/jst/HtmlCodeGenerator.java?rev=832603&r1=832602&r2=832603&view=diff ============================================================================== --- sling/trunk/contrib/scripting/jst/src/main/java/org/apache/sling/scripting/jst/HtmlCodeGenerator.java (original) +++ sling/trunk/contrib/scripting/jst/src/main/java/org/apache/sling/scripting/jst/HtmlCodeGenerator.java Tue Nov 3 23:32:14 2009 @@ -46,15 +46,15 @@ import org.w3c.dom.Document; import org.xml.sax.InputSource; -/** Generates HTML code for JST templates */ +/** Generates HTML code for JST templates */ class HtmlCodeGenerator { private final List<String> libraryScripts = new LinkedList<String>(); private final HtmlContentRenderer htmlRenderer; private final Logger log = LoggerFactory.getLogger(getClass()); - + // TODO should be configurable or synced with the actual location public final static String SLING_JS_PATH = "/system/sling.js"; - + /** Property names to use to build the page title, in order of preference */ public final static String [] TITLE_PROPERTY_NAMES = { "title", @@ -66,21 +66,21 @@ libraryScripts.add(SLING_JS_PATH); htmlRenderer = new HtmlContentRenderer(); } - - /** Generate HTML code for the given request and script path */ - void generateHtml(SlingHttpServletRequest request, String scriptPath, - InputStream scriptStream, PrintWriter output) + + /** Generate HTML code for the given request and script path */ + void generateHtml(SlingHttpServletRequest request, String scriptPath, + InputStream scriptStream, PrintWriter output) throws RepositoryException, JSONException, ScriptException, IOException { - + // access our data (need a Node) final Resource r = request.getResource(); final Node n = r.adaptTo(Node.class); final String pageTitle = getTitle(r, n); - - // Parse script using the NekoHTML permissive HTML parser + + // Parse script using the NekoHTML permissive HTML parser final DOMParser parser = new DOMParser(); try { - parser.setFeature("http://xml.org/sax/features/namespaces", false); + parser.setFeature("http://xml.org/sax/features/namespaces", false); parser.setProperty("http://cyberneko.org/html/properties/names/elems", "lower"); parser.setProperty("http://cyberneko.org/html/properties/names/attrs", "lower"); parser.parse(new InputSource(scriptStream)); @@ -90,7 +90,7 @@ throw se; } final Document template = parser.getDocument(); - + // compute default rendering final StringWriter defaultRendering = new StringWriter(); if(n!=null) { @@ -98,7 +98,7 @@ htmlRenderer.render(pw, r, n, pageTitle); pw.flush(); } - + // compute currentNode values in JSON format final StringWriter jsonData = new StringWriter(); if(n != null) { @@ -106,15 +106,11 @@ final JsonItemWriter j = new JsonItemWriter(null); final int maxRecursionLevels = 1; pw.print("var currentNode="); - if(n!=null) { - j.dump(n, pw, maxRecursionLevels); - } else { - pw.print("{}"); - } + j.dump(n, pw, maxRecursionLevels); pw.print(";"); pw.flush(); } - + // run XSLT transform on script, passing parameter // for our computed values final String xslt = "/xslt/script-transform.xsl"; @@ -133,26 +129,26 @@ final Result result = new StreamResult(output); final DOMSource source = new DOMSource(template); t.transform(source, result); - + } catch (Exception e) { final ScriptException se = new ScriptException("Error in XSLT transform for " + scriptPath); se.initCause(e); throw se; - + } finally { xslTransform.close(); } } - + /** Return the full path to supplied resource */ static String fullPath (SlingHttpServletRequest request, String path) { return SlingRequestPaths.getContextPath(request) + SlingRequestPaths.getServletPath(request) + path; } - - /** Return the title to use for the generated page */ + + /** Return the title to use for the generated page */ protected String getTitle(Resource r, Node n) { String title = null; - + if(n != null) { for(String name : TITLE_PROPERTY_NAMES) { try { @@ -162,20 +158,20 @@ title = s; break; } - } + } } catch(RepositoryException re) { log.warn("RepositoryException in getTitle()", re); } } } - + if(title == null) { title = r.getPath(); if(title.startsWith("/")) { title = title.substring(1); } } - + return title; } }