From 266a0493d376c0fa53d685a231dec1340528de11 Mon Sep 17 00:00:00 2001 From: Arturo Bernal Date: Sun, 17 Jul 2022 22:14:13 +0200 Subject: [PATCH] Use try-with-resources. --- .../wiki/search/LuceneSearchProvider.java | 5 +- .../wiki/tags/AttachmentsIteratorTag.java | 2 +- .../org/apache/wiki/tags/DiffLinkTag.java | 81 ++++++++++--------- .../org/apache/wiki/tags/EditLinkTag.java | 19 ++--- .../apache/wiki/tags/HistoryIteratorTag.java | 5 +- .../org/apache/wiki/tags/InsertDiffTag.java | 13 +-- .../org/apache/wiki/tags/InsertPageTag.java | 20 +++-- .../org/apache/wiki/tags/IteratorTag.java | 5 +- .../java/org/apache/wiki/tags/LinkTag.java | 59 +++++++------- .../java/org/apache/wiki/tags/LinkToTag.java | 63 ++++++++------- .../org/apache/wiki/tags/PageInfoLinkTag.java | 15 ++-- .../java/org/apache/wiki/tags/PluginTag.java | 7 +- .../org/apache/wiki/tags/RSSImageLinkTag.java | 33 ++++---- .../wiki/tags/SearchResultIteratorTag.java | 5 +- .../org/apache/wiki/tags/TranslateTag.java | 8 +- .../org/apache/wiki/tags/UploadLinkTag.java | 19 ++--- .../org/apache/wiki/tags/VariableTag.java | 39 ++++----- .../org/apache/wiki/ui/WikiServletFilter.java | 25 +++--- .../org/apache/wiki/xmlrpc/RPCServlet.java | 7 +- 19 files changed, 229 insertions(+), 201 deletions(-) diff --git a/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java b/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java index fabbef1d24..b943da135e 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/search/LuceneSearchProvider.java @@ -498,8 +498,9 @@ public Collection< SearchResult > findPages( final String query, final int flags String[] fragments = new String[ 0 ]; if( text != null && highlighter != null ) { - final TokenStream tokenStream = getLuceneAnalyzer().tokenStream( LUCENE_PAGE_CONTENTS, new StringReader( text ) ); - fragments = highlighter.getBestFragments( tokenStream, text, MAX_FRAGMENTS ); + try (TokenStream tokenStream = getLuceneAnalyzer().tokenStream(LUCENE_PAGE_CONTENTS, new StringReader(text))) { + fragments = highlighter.getBestFragments(tokenStream, text, MAX_FRAGMENTS); + } } final SearchResult result = new SearchResultImpl( page, score, fragments ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorTag.java index d95e83acfd..3923d995ce 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorTag.java @@ -108,7 +108,7 @@ public final int doStartTag() { public final int doAfterBody() { if( bodyContent != null ) { try { - final JspWriter out = getPreviousOut(); + JspWriter out = getPreviousOut(); out.print(bodyContent.getString()); bodyContent.clearBody(); } catch( final IOException e ) { diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/DiffLinkTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/DiffLinkTag.java index 01fce48c95..18caa46f0a 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/DiffLinkTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/DiffLinkTag.java @@ -93,52 +93,53 @@ public final int doWikiStartTag() throws IOException { } } - final JspWriter out = pageContext.getOut(); + try (JspWriter out = pageContext.getOut()) { - int r1; - int r2; + int r1; + int r2; - // In case the page does not exist, we fail silently. - if( !engine.getManager( PageManager.class ).wikiPageExists( pageName ) ) { - return SKIP_BODY; - } - - if( VER_LATEST.equals( getVersion() ) ) { - final Page latest = engine.getManager( PageManager.class ).getPage( pageName, WikiProvider.LATEST_VERSION ); - if( latest == null ) { - // This may occur if matchEnglishPlurals is on, and we access the wrong page name + // In case the page does not exist, we fail silently. + if (!engine.getManager(PageManager.class).wikiPageExists(pageName)) { return SKIP_BODY; } - r1 = latest.getVersion(); - } else if( VER_PREVIOUS.equals( getVersion() ) ) { - r1 = m_wikiContext.getPage().getVersion() - 1; - r1 = Math.max( r1, 1 ); - } else if( VER_CURRENT.equals( getVersion() ) ) { - r1 = m_wikiContext.getPage().getVersion(); - } else { - r1 = Integer.parseInt( getVersion() ); - } - if( VER_LATEST.equals( getNewVersion() ) ) { - final Page latest = engine.getManager( PageManager.class ).getPage( pageName, WikiProvider.LATEST_VERSION ); - r2 = latest.getVersion(); - } else if( VER_PREVIOUS.equals( getNewVersion() ) ) { - r2 = m_wikiContext.getPage().getVersion() - 1; - r2 = Math.max( r2, 1 ); - } else if( VER_CURRENT.equals( getNewVersion() ) ) { - r2 = m_wikiContext.getPage().getVersion(); - } else { - r2 = Integer.parseInt( getNewVersion() ); - } + if (VER_LATEST.equals(getVersion())) { + final Page latest = engine.getManager(PageManager.class).getPage(pageName, WikiProvider.LATEST_VERSION); + if (latest == null) { + // This may occur if matchEnglishPlurals is on, and we access the wrong page name + return SKIP_BODY; + } + r1 = latest.getVersion(); + } else if (VER_PREVIOUS.equals(getVersion())) { + r1 = m_wikiContext.getPage().getVersion() - 1; + r1 = Math.max(r1, 1); + } else if (VER_CURRENT.equals(getVersion())) { + r1 = m_wikiContext.getPage().getVersion(); + } else { + r1 = Integer.parseInt(getVersion()); + } - final String url = m_wikiContext.getURL( ContextEnum.PAGE_DIFF.getRequestContext(), pageName, "r1="+r1+"&r2="+r2 ); - switch( m_format ) { - case ANCHOR: - out.print(""); - break; - case URL: - out.print( url ); - break; + if (VER_LATEST.equals(getNewVersion())) { + final Page latest = engine.getManager(PageManager.class).getPage(pageName, WikiProvider.LATEST_VERSION); + r2 = latest.getVersion(); + } else if (VER_PREVIOUS.equals(getNewVersion())) { + r2 = m_wikiContext.getPage().getVersion() - 1; + r2 = Math.max(r2, 1); + } else if (VER_CURRENT.equals(getNewVersion())) { + r2 = m_wikiContext.getPage().getVersion(); + } else { + r2 = Integer.parseInt(getNewVersion()); + } + + final String url = m_wikiContext.getURL(ContextEnum.PAGE_DIFF.getRequestContext(), pageName, "r1=" + r1 + "&r2=" + r2); + switch (m_format) { + case ANCHOR: + out.print(""); + break; + case URL: + out.print(url); + break; + } } return EVAL_BODY_INCLUDE; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/EditLinkTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/EditLinkTag.java index e20e2900a2..06992a530a 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/EditLinkTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/EditLinkTag.java @@ -111,15 +111,16 @@ public final int doWikiStartTag() throws IOException { // // Finally, print out the correct link, according to what user commanded. // - final JspWriter out = pageContext.getOut(); - switch( m_format ) { - case ANCHOR: - out.print( "" ); - break; - case URL: - out.print( m_wikiContext.getURL( ContextEnum.PAGE_EDIT.getRequestContext(), pageName, versionString ) ); - break; + try (JspWriter out = pageContext.getOut()) { + switch (m_format) { + case ANCHOR: + out.print(""); + break; + case URL: + out.print(m_wikiContext.getURL(ContextEnum.PAGE_EDIT.getRequestContext(), pageName, versionString)); + break; + } } return EVAL_BODY_INCLUDE; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/HistoryIteratorTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/HistoryIteratorTag.java index f5194137f7..533574c965 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/HistoryIteratorTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/HistoryIteratorTag.java @@ -89,8 +89,9 @@ public final int doStartTag() { public final int doAfterBody() { if( bodyContent != null ) { try { - final JspWriter out = getPreviousOut(); - out.print(bodyContent.getString()); + try (JspWriter out = getPreviousOut()) { + out.print(bodyContent.getString()); + } bodyContent.clearBody(); } catch( final IOException e ) { LOG.error("Unable to get inner tag text", e); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertDiffTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertDiffTag.java index 3d64093b7e..e1bfe07ad9 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertDiffTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertDiffTag.java @@ -96,14 +96,15 @@ public final int doWikiStartTag() throws IOException { LOG.debug("Request diff between version "+verold+" and "+vernew); if( ctx.getPage() != null ) { - final JspWriter out = pageContext.getOut(); - final String diff = engine.getManager( DifferenceManager.class ).getDiff( ctx, vernew, verold); + try (JspWriter out = pageContext.getOut()) { + final String diff = engine.getManager(DifferenceManager.class).getDiff(ctx, vernew, verold); - if( diff.isEmpty() ) { - return EVAL_BODY_INCLUDE; - } + if (diff.isEmpty()) { + return EVAL_BODY_INCLUDE; + } - out.write( diff ); + out.write(diff); + } } return SKIP_BODY; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertPageTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertPageTag.java index f86f028ee9..a1bf6d1202 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertPageTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertPageTag.java @@ -110,14 +110,20 @@ public final int doWikiStartTag() throws IOException, ProviderException { LOG.debug("Inserting page "+insertedPage); - final JspWriter out = pageContext.getOut(); - final Page oldPage = m_wikiContext.setRealPage( insertedPage ); - - switch( m_mode ) { - case HTML: out.print( engine.getManager( RenderingManager.class ).getHTML( m_wikiContext, insertedPage ) ); break; - case PLAIN: out.print( engine.getManager( PageManager.class ).getText( insertedPage ) ); break; + final Page oldPage; + try (JspWriter out = pageContext.getOut()) { + oldPage = m_wikiContext.setRealPage(insertedPage); + + switch (m_mode) { + case HTML: + out.print(engine.getManager(RenderingManager.class).getHTML(m_wikiContext, insertedPage)); + break; + case PLAIN: + out.print(engine.getManager(PageManager.class).getText(insertedPage)); + break; + } } - + m_wikiContext.setRealPage( oldPage ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/IteratorTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/IteratorTag.java index 9f91c19a05..27e0dedf83 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/IteratorTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/IteratorTag.java @@ -131,8 +131,9 @@ public int doEndTag() { public int doAfterBody() { if( bodyContent != null ) { try { - final JspWriter out = getPreviousOut(); - out.print( bodyContent.getString() ); + try (JspWriter out = getPreviousOut()) { + out.print(bodyContent.getString()); + } bodyContent.clearBody(); } catch( final IOException e ) { LOG.error( "Unable to get inner tag text", e ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java index afdfa7b40e..2292a82984 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java @@ -335,41 +335,42 @@ public int doWikiStartTag() throws Exception { public int doEndTag() { try { final Engine engine = m_wikiContext.getEngine(); - final JspWriter out = pageContext.getOut(); - final String url = figureOutURL(); + try (JspWriter out = pageContext.getOut()) { + final String url = figureOutURL(); - final StringBuilder sb = new StringBuilder( 20 ); + final StringBuilder sb = new StringBuilder(20); - sb.append( (m_cssClass != null) ? "class=\""+m_cssClass+"\" " : "" ); - sb.append( (m_style != null) ? "style=\""+m_style+"\" " : "" ); - sb.append( (m_target != null ) ? "target=\""+m_target+"\" " : "" ); - sb.append( (m_title != null ) ? "title=\""+m_title+"\" " : "" ); - sb.append( (m_rel != null ) ? "rel=\""+m_rel+"\" " : "" ); - sb.append( (m_accesskey != null) ? "accesskey=\""+m_accesskey+"\" " : "" ); - sb.append( (m_tabindex != null) ? "tabindex=\""+m_tabindex+"\" " : "" ); + sb.append((m_cssClass != null) ? "class=\"" + m_cssClass + "\" " : ""); + sb.append((m_style != null) ? "style=\"" + m_style + "\" " : ""); + sb.append((m_target != null) ? "target=\"" + m_target + "\" " : ""); + sb.append((m_title != null) ? "title=\"" + m_title + "\" " : ""); + sb.append((m_rel != null) ? "rel=\"" + m_rel + "\" " : ""); + sb.append((m_accesskey != null) ? "accesskey=\"" + m_accesskey + "\" " : ""); + sb.append((m_tabindex != null) ? "tabindex=\"" + m_tabindex + "\" " : ""); - if( engine.getManager( PageManager.class ).getPage( m_pageName ) instanceof Attachment ) { - sb.append( engine.getManager( AttachmentManager.class ).forceDownload( m_pageName ) ? "download " : "" ); - } + if (engine.getManager(PageManager.class).getPage(m_pageName) instanceof Attachment) { + sb.append(engine.getManager(AttachmentManager.class).forceDownload(m_pageName) ? "download " : ""); + } - switch( m_format ) { - case URL: - out.print( url ); - break; - default: - case ANCHOR: - out.print(""); - break; - } + switch (m_format) { + case URL: + out.print(url); + break; + default: + case ANCHOR: + out.print(""); + break; + } - // Add any explicit body content. This is not the intended use of LinkTag, but happens to be the way it has worked previously. - if( m_bodyContent != null ) { - final String linktext = m_bodyContent.getString().trim(); - out.write( linktext ); - } + // Add any explicit body content. This is not the intended use of LinkTag, but happens to be the way it has worked previously. + if (m_bodyContent != null) { + final String linktext = m_bodyContent.getString().trim(); + out.write(linktext); + } - // Finish off by closing opened anchor - if( m_format == ANCHOR ) out.print(""); + // Finish off by closing opened anchor + if (m_format == ANCHOR) out.print(""); + } } catch( final Exception e ) { // Yes, we want to catch all exceptions here, including RuntimeExceptions LOG.error( "Tag failed", e ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkToTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkToTag.java index 1ea602c093..46c15b6cd3 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkToTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkToTag.java @@ -88,42 +88,43 @@ public int doWikiStartTag() throws IOException { } } - final JspWriter out = pageContext.getOut(); - final String url; - final String linkclass; - String forceDownload = ""; + try (JspWriter out = pageContext.getOut()) { + final String url; + final String linkclass; + String forceDownload = ""; - if( isattachment ) { - url = m_wikiContext.getURL( ContextEnum.PAGE_ATTACH.getRequestContext(), pageName, ( getVersion() != null ) ? "version=" + getVersion() : null ); - linkclass = "attachment"; + if (isattachment) { + url = m_wikiContext.getURL(ContextEnum.PAGE_ATTACH.getRequestContext(), pageName, (getVersion() != null) ? "version=" + getVersion() : null); + linkclass = "attachment"; - if( m_wikiContext.getEngine().getManager( AttachmentManager.class ).forceDownload( pageName ) ) { - forceDownload = "download "; - } + if (m_wikiContext.getEngine().getManager(AttachmentManager.class).forceDownload(pageName)) { + forceDownload = "download "; + } - } else { - final StringBuilder params = new StringBuilder(); - if( getVersion() != null ) { - params.append( "version=" ).append( getVersion() ); - } - if( getTemplate() != null ) { - params.append( params.length() > 0 ? "&" : "" ).append( "skin=" ).append( getTemplate() ); + } else { + final StringBuilder params = new StringBuilder(); + if (getVersion() != null) { + params.append("version=").append(getVersion()); + } + if (getTemplate() != null) { + params.append(params.length() > 0 ? "&" : "").append("skin=").append(getTemplate()); + } + + url = m_wikiContext.getURL(ContextEnum.PAGE_VIEW.getRequestContext(), pageName, params.toString()); + linkclass = "wikipage"; } - url = m_wikiContext.getURL( ContextEnum.PAGE_VIEW.getRequestContext(), pageName, params.toString() ); - linkclass = "wikipage"; - } - - switch( m_format ) { - case ANCHOR: - out.print( "" ); - break; - case URL: - out.print( url ); - break; + switch (m_format) { + case ANCHOR: + out.print(""); + break; + case URL: + out.print(url); + break; + } } return EVAL_BODY_INCLUDE; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/PageInfoLinkTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/PageInfoLinkTag.java index 1e64efd5c9..8984de209d 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/PageInfoLinkTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/PageInfoLinkTag.java @@ -69,12 +69,17 @@ public void setAccesskey( final String access ) } if( engine.getManager( PageManager.class ).wikiPageExists(pageName) ) { - final JspWriter out = pageContext.getOut(); - final String url = m_wikiContext.getURL( ContextEnum.PAGE_INFO.getRequestContext(), pageName ); + try (JspWriter out = pageContext.getOut()) { + final String url = m_wikiContext.getURL(ContextEnum.PAGE_INFO.getRequestContext(), pageName); - switch( m_format ) { - case ANCHOR: out.print(""); break; - case URL: out.print( url ); break; + switch (m_format) { + case ANCHOR: + out.print(""); + break; + case URL: + out.print(url); + break; + } } return EVAL_BODY_INCLUDE; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/PluginTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/PluginTag.java index e1acc7919e..88a8a8d691 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/PluginTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/PluginTag.java @@ -139,9 +139,10 @@ public int doAfterBody() { try { - final BodyContent bc = getBodyContent(); - - getPreviousOut().write( executePlugin( m_plugin, m_args, (bc != null) ? bc.getString() : null) ); + try (BodyContent bc = getBodyContent()) { + + getPreviousOut().write(executePlugin(m_plugin, m_args, (bc != null) ? bc.getString() : null)); + } } catch( final Exception e ) { diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/RSSImageLinkTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/RSSImageLinkTag.java index 2db5f93198..f314c40ffd 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/RSSImageLinkTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/RSSImageLinkTag.java @@ -88,23 +88,24 @@ public String getTitle() @Override public final int doWikiStartTag() throws IOException { final Engine engine = m_wikiContext.getEngine(); - final JspWriter out = pageContext.getOut(); - final ResourceBundle rb = Preferences.getBundle( m_wikiContext, InternationalizationManager.CORE_BUNDLE ); - if( engine.getManager( RSSGenerator.class ) != null && engine.getManager( RSSGenerator.class ).isEnabled() ) { - if( RSSGenerator.MODE_FULL.equals(m_mode) ) { - final String rssURL = engine.getGlobalRSSURL(); - if( rssURL != null ) { - out.print("" ); - out.print( "  "); + try (JspWriter out = pageContext.getOut()) { + final ResourceBundle rb = Preferences.getBundle(m_wikiContext, InternationalizationManager.CORE_BUNDLE); + if (engine.getManager(RSSGenerator.class) != null && engine.getManager(RSSGenerator.class).isEnabled()) { + if (RSSGenerator.MODE_FULL.equals(m_mode)) { + final String rssURL = engine.getGlobalRSSURL(); + if (rssURL != null) { + out.print(""); + out.print("  "); + } + } else { + final String page = m_pageName != null ? m_pageName : m_wikiContext.getPage().getName(); + final String params = "page=" + page + "&mode=" + m_mode; + out.print(""); + out.print("  "); } - } else { - final String page = m_pageName != null ? m_pageName : m_wikiContext.getPage().getName(); - final String params = "page="+page+"&mode="+m_mode; - out.print( "" ); - out.print( "  "); } } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/SearchResultIteratorTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/SearchResultIteratorTag.java index cb5ee1f5fc..4860d5d380 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/SearchResultIteratorTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/SearchResultIteratorTag.java @@ -119,8 +119,9 @@ private int nextResult() { public int doAfterBody() { if( bodyContent != null ) { try { - final JspWriter out = getPreviousOut(); - out.print(bodyContent.getString()); + try (JspWriter out = getPreviousOut()) { + out.print(bodyContent.getString()); + } bodyContent.clearBody(); } catch( final IOException e ) { LOG.error("Unable to get inner tag text", e); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/TranslateTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/TranslateTag.java index 05795f58d0..d98d487b4c 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/TranslateTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/TranslateTag.java @@ -49,9 +49,11 @@ public final int doAfterBody() throws JspException { context = context.deepClone(); // Get the page data. - final BodyContent bc = getBodyContent(); - String wikiText = bc.getString(); - bc.clearBody(); + String wikiText; + try (BodyContent bc = getBodyContent()) { + wikiText = bc.getString(); + bc.clearBody(); + } if( wikiText != null ) { wikiText = wikiText.trim(); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/UploadLinkTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/UploadLinkTag.java index cd5b01ab6c..38aaf5adb4 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/UploadLinkTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/UploadLinkTag.java @@ -50,15 +50,16 @@ public final int doWikiStartTag() throws IOException { } } - final JspWriter out = pageContext.getOut(); - final String url = m_wikiContext.getURL( ContextEnum.PAGE_UPLOAD.getRequestContext(), pageName ); - switch( m_format ) { - case ANCHOR: - out.print( "" ); - break; - case URL: - out.print( url ); - break; + try (JspWriter out = pageContext.getOut()) { + final String url = m_wikiContext.getURL(ContextEnum.PAGE_UPLOAD.getRequestContext(), pageName); + switch (m_format) { + case ANCHOR: + out.print(""); + break; + case URL: + out.print(url); + break; + } } return EVAL_BODY_INCLUDE; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/VariableTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/VariableTag.java index 4f746523d0..babeaa8bd5 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/VariableTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/VariableTag.java @@ -73,26 +73,27 @@ public void setDefault( final String arg ) @Override public final int doWikiStartTag() throws JspException, IOException { final Engine engine = m_wikiContext.getEngine(); - final JspWriter out = pageContext.getOut(); - String msg = null; - String value = null; - - try { - value = engine.getManager( VariableManager.class ).getValue( m_wikiContext, getVar() ); - } catch( final NoSuchVariableException e ) { - msg = "No such variable: " + e.getMessage(); - } catch( final IllegalArgumentException e ) { - msg = "Incorrect variable name: " + e.getMessage(); + try (JspWriter out = pageContext.getOut()) { + String msg = null; + String value = null; + + try { + value = engine.getManager(VariableManager.class).getValue(m_wikiContext, getVar()); + } catch (final NoSuchVariableException e) { + msg = "No such variable: " + e.getMessage(); + } catch (final IllegalArgumentException e) { + msg = "Incorrect variable name: " + e.getMessage(); + } + + if (value == null) { + value = m_default; + } + + if (value == null) { + value = msg; + } + out.write(TextUtil.replaceEntities(value)); } - - if( value == null ) { - value = m_default; - } - - if( value == null ) { - value = msg; - } - out.write( TextUtil.replaceEntities(value) ); return SKIP_BODY; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ui/WikiServletFilter.java b/jspwiki-main/src/main/java/org/apache/wiki/ui/WikiServletFilter.java index 7d2bb0004c..52ccb9f0d5 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/ui/WikiServletFilter.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/ui/WikiServletFilter.java @@ -107,18 +107,19 @@ public void doFilter( final ServletRequest request, final ServletResponse respon } if( m_engine == null ) { - final PrintWriter out = response.getWriter(); - out.print("Fatal problem with JSPWiki"); - out.print(""); - out.print("

JSPWiki has not been started

"); - out.print("

JSPWiki is not running. This is probably due to a configuration error in your jspwiki.properties file, "); - out.print("or a problem with your servlet container. Please double-check everything before issuing a bug report "); - out.print("at jspwiki.apache.org.

"); - out.print("

We apologize for the inconvenience. No, really, we do. We're trying to "); - out.print("JSPWiki as easy as we can, but there is only so much we have time to test "); - out.print("platforms.

"); - out.print( "

Please go to the installer to continue.

" ); - out.print(""); + try (PrintWriter out = response.getWriter()) { + out.print("Fatal problem with JSPWiki"); + out.print(""); + out.print("

JSPWiki has not been started

"); + out.print("

JSPWiki is not running. This is probably due to a configuration error in your jspwiki.properties file, "); + out.print("or a problem with your servlet container. Please double-check everything before issuing a bug report "); + out.print("at jspwiki.apache.org.

"); + out.print("

We apologize for the inconvenience. No, really, we do. We're trying to "); + out.print("JSPWiki as easy as we can, but there is only so much we have time to test "); + out.print("platforms.

"); + out.print("

Please go to the installer to continue.

"); + out.print(""); + } return; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCServlet.java b/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCServlet.java index d320ead111..508dc6fa60 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCServlet.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/RPCServlet.java @@ -124,9 +124,10 @@ public void doPost( final HttpServletRequest request, final HttpServletResponse response.setContentType( "text/xml; charset=utf-8" ); response.setContentLength( result.length ); - final OutputStream out = response.getOutputStream(); - out.write( result ); - out.flush(); + try (OutputStream out = response.getOutputStream()) { + out.write(result); + out.flush(); + } // LOG.debug("Result = "+new String(result) ); } catch( final IOException e ) {