From 53539dd5df971aed2692a51da2ed9b5fe3eb5ec1 Mon Sep 17 00:00:00 2001 From: Tom Date: Fri, 7 Oct 2016 23:29:52 +0200 Subject: [PATCH] Remove non-transient loggers from wicket pages (issue #21?) Two Wicket pages in Gitblit had non-transient loggers. Replace them by transient ones. --- pom.xml | 2 +- .../com/gitblit/wicket/pages/RawPage.java | 31 ++++++++++++------- .../gitblit/wicket/pages/RepositoryPage.java | 14 +++------ 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/pom.xml b/pom.xml index 98638bb1..076311e8 100644 --- a/pom.xml +++ b/pom.xml @@ -232,7 +232,7 @@ limitations under the License. com/gitblit/wicket/pages/RootPage$*.class com/gitblit/wicket/pages/BasePage.class com/gitblit/wicket/pages/BasePage$*.class - com/gitblit/wicket/pages/BlobPage.class + com/gitblit/wicket/pages/BlobPage.class com/gitblit/wicket/pages/BlobPage$*.class com/gitblit/wicket/pages/LogoutPage.class com/gitblit/wicket/pages/LogoutPage$*.class diff --git a/src/main/java/com/gitblit/wicket/pages/RawPage.java b/src/main/java/com/gitblit/wicket/pages/RawPage.java index c4357478..bd901f24 100644 --- a/src/main/java/com/gitblit/wicket/pages/RawPage.java +++ b/src/main/java/com/gitblit/wicket/pages/RawPage.java @@ -45,7 +45,7 @@ public class RawPage extends SessionPage { - private final Logger logger = LoggerFactory.getLogger(getClass().getSimpleName()); + private transient Logger logger; String contentType; @@ -95,7 +95,7 @@ public void respond(RequestCycle requestCycle) { if (binary == null) { final String objectNotFound = MessageFormat.format("Raw page failed to find object {0} in {1}", objectId, repositoryName); - logger.error(objectNotFound); + logger().error(objectNotFound); throw new AbortWithWebErrorCodeException(HttpServletResponse.SC_NOT_FOUND, objectNotFound); } contentType = "application/octet-stream"; @@ -104,7 +104,7 @@ public void respond(RequestCycle requestCycle) { try { response.getOutputStream().write(binary); } catch (Exception e) { - logger.error("Failed to write binary response", e); + logger().error("Failed to write binary response", e); } } else { // standard raw blob view @@ -112,7 +112,7 @@ public void respond(RequestCycle requestCycle) { if (commit == null) { final String commitNotFound = MessageFormat.format("Raw page failed to find commit {0} in {1}", objectId, repositoryName); - logger.error(commitNotFound); + logger().error(commitNotFound); throw new AbortWithWebErrorCodeException(HttpServletResponse.SC_NOT_FOUND, commitNotFound); } @@ -148,7 +148,7 @@ public void respond(RequestCycle requestCycle) { // image blobs byte[] image = JGitUtils.getByteContent(r, commit.getTree(), blobPath, true); if (image == null) { - logger.error(blobNotFound); + logger().error(blobNotFound); throw new AbortWithWebErrorCodeException(HttpServletResponse.SC_NOT_FOUND, blobNotFound); } contentType = "image/" + extension.toLowerCase(); @@ -157,14 +157,14 @@ public void respond(RequestCycle requestCycle) { try { response.getOutputStream().write(image); } catch (IOException e) { - logger.error("Failed to write image response", e); + logger().error("Failed to write image response", e); } break; case 3: // binary blobs (download) byte[] binary = JGitUtils.getByteContent(r, commit.getTree(), blobPath, true); if (binary == null) { - logger.error(blobNotFound); + logger().error(blobNotFound); throw new AbortWithWebErrorCodeException(HttpServletResponse.SC_NOT_FOUND, blobNotFound); } contentType = "application/octet-stream"; @@ -193,7 +193,7 @@ public void respond(RequestCycle requestCycle) { try { response.getOutputStream().write(binary); } catch (IOException e) { - logger.error("Failed to write binary response", e); + logger().error("Failed to write binary response", e); } break; default: @@ -201,7 +201,7 @@ public void respond(RequestCycle requestCycle) { String content = JGitUtils.getStringContent(r, commit.getTree(), blobPath, encodings); if (content == null) { - logger.error(blobNotFound); + logger().error(blobNotFound); throw new AbortWithWebErrorCodeException(HttpServletResponse.SC_NOT_FOUND, blobNotFound); } contentType = "text/plain; charset=UTF-8"; @@ -209,7 +209,7 @@ public void respond(RequestCycle requestCycle) { try { response.getOutputStream().write(content.getBytes("UTF-8")); } catch (Exception e) { - logger.error("Failed to write text response", e); + logger().error("Failed to write text response", e); } } @@ -218,7 +218,7 @@ public void respond(RequestCycle requestCycle) { String content = JGitUtils.getStringContent(r, commit.getTree(), blobPath, encodings); if (content == null) { - logger.error(blobNotFound); + logger().error(blobNotFound); throw new AbortWithWebErrorCodeException(HttpServletResponse.SC_NOT_FOUND, blobNotFound); } contentType = "text/plain; charset=UTF-8"; @@ -226,7 +226,7 @@ public void respond(RequestCycle requestCycle) { try { response.getOutputStream().write(content.getBytes("UTF-8")); } catch (Exception e) { - logger.error("Failed to write text response", e); + logger().error("Failed to write text response", e); } } } @@ -235,6 +235,13 @@ public void respond(RequestCycle requestCycle) { }); } + protected Logger logger() { + if (logger == null) { + logger = LoggerFactory.getLogger(getClass()); + } + return logger; + } + @Override protected void setHeaders(WebResponse response) { super.setHeaders(response); diff --git a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java index 36c5ae16..ef68d786 100644 --- a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java +++ b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java @@ -42,8 +42,6 @@ import org.eclipse.jgit.lib.PersonIdent; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import com.gitblit.Constants; import com.gitblit.GitBlitException; @@ -78,8 +76,6 @@ public abstract class RepositoryPage extends RootPage { - protected final Logger logger = LoggerFactory.getLogger(getClass()); - private final String PARAM_STAR = "star"; protected final String projectName; @@ -93,7 +89,7 @@ public abstract class RepositoryPage extends RootPage { private Map submodules; private boolean showAdmin; - private boolean isOwner; + private final boolean isOwner; public RepositoryPage(PageParameters params) { super(params); @@ -144,7 +140,7 @@ public RepositoryPage(PageParameters params) { try { app().gitblit().reviseUser(user.username, user); } catch (GitBlitException e) { - logger.error("Failed to update user " + user.username, e); + logger().error("Failed to update user " + user.username, e); error(getString("gb.failedToUpdateUser"), false); } } @@ -269,12 +265,12 @@ protected boolean allowForkControls() { @Override protected void setupPage(String repositoryName, String pageName) { - + //This method should only be called once in the page lifecycle. //However, it must be called after the constructor has run, hence not in onInitialize //It may be attempted to be called again if an info or error message is displayed. if (get("projectTitle") != null) { return; } - + String projectName = StringUtils.getFirstPathElement(repositoryName); ProjectModel project = app().projects().getProjectModel(projectName); @@ -677,7 +673,7 @@ protected void onBeforeRender() { r.close(); r = null; } - + // setup page header and footer setupPage(getRepositoryName(), "/ " + getPageName());