From c16032b98a227980c5f3b38c52289a8f58ea4c95 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 1 Jul 2014 12:09:29 +0200 Subject: [PATCH] Consistent declaration of private static final logger variables Issue: SPR-11905 (cherry picked from commit 18131bf) --- .../aop/framework/JdkDynamicAopProxy.java | 4 +-- .../validation/ValidationUtils.java | 4 +-- ...lVariableTableParameterNameDiscoverer.java | 2 +- .../embedded/EmbeddedDatabaseFactory.java | 2 +- ...dlerMethodReturnValueHandlerComposite.java | 4 +-- .../support/AsyncRequestInterceptor.java | 19 +++++++++---- .../jpa/support/AsyncRequestInterceptor.java | 19 ++++++++----- .../async/CallableInterceptorChain.java | 5 ++-- .../async/DeferredResultInterceptorChain.java | 4 +-- .../ConcurrentWebSocketSessionDecorator.java | 27 +++++++++---------- .../standard/ServerEndpointExporter.java | 2 +- .../server/standard/SpringConfigurator.java | 18 +++++-------- .../HttpSessionHandshakeInterceptor.java | 4 +-- 13 files changed, 62 insertions(+), 52 deletions(-) diff --git a/spring-aop/src/main/java/org/springframework/aop/framework/JdkDynamicAopProxy.java b/spring-aop/src/main/java/org/springframework/aop/framework/JdkDynamicAopProxy.java index fff10682957..68a621419f2 100644 --- a/spring-aop/src/main/java/org/springframework/aop/framework/JdkDynamicAopProxy.java +++ b/spring-aop/src/main/java/org/springframework/aop/framework/JdkDynamicAopProxy.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -75,7 +75,7 @@ final class JdkDynamicAopProxy implements AopProxy, InvocationHandler, Serializa */ /** We use a static Log to avoid serialization issues */ - private static Log logger = LogFactory.getLog(JdkDynamicAopProxy.class); + private static final Log logger = LogFactory.getLog(JdkDynamicAopProxy.class); /** Config used to configure this proxy */ private final AdvisedSupport advised; diff --git a/spring-context/src/main/java/org/springframework/validation/ValidationUtils.java b/spring-context/src/main/java/org/springframework/validation/ValidationUtils.java index 9da8e3d26b8..5db89a4c5df 100644 --- a/spring-context/src/main/java/org/springframework/validation/ValidationUtils.java +++ b/spring-context/src/main/java/org/springframework/validation/ValidationUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -38,7 +38,7 @@ import org.springframework.util.StringUtils; */ public abstract class ValidationUtils { - private static Log logger = LogFactory.getLog(ValidationUtils.class); + private static final Log logger = LogFactory.getLog(ValidationUtils.class); /** diff --git a/spring-core/src/main/java/org/springframework/core/LocalVariableTableParameterNameDiscoverer.java b/spring-core/src/main/java/org/springframework/core/LocalVariableTableParameterNameDiscoverer.java index 73dbe2c8eb6..cc09fd80d3c 100644 --- a/spring-core/src/main/java/org/springframework/core/LocalVariableTableParameterNameDiscoverer.java +++ b/spring-core/src/main/java/org/springframework/core/LocalVariableTableParameterNameDiscoverer.java @@ -54,7 +54,7 @@ import org.springframework.util.ClassUtils; */ public class LocalVariableTableParameterNameDiscoverer implements ParameterNameDiscoverer { - private static Log logger = LogFactory.getLog(LocalVariableTableParameterNameDiscoverer.class); + private static final Log logger = LogFactory.getLog(LocalVariableTableParameterNameDiscoverer.class); // marker object for classes that do not have any debug info private static final Map NO_DEBUG_INFO_MAP = Collections.emptyMap(); diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseFactory.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseFactory.java index eeab9cc9eba..2df8b1fd468 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseFactory.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseFactory.java @@ -63,7 +63,7 @@ public class EmbeddedDatabaseFactory { */ public static final String DEFAULT_DATABASE_NAME = "testdb"; - private static Log logger = LogFactory.getLog(EmbeddedDatabaseFactory.class); + private static final Log logger = LogFactory.getLog(EmbeddedDatabaseFactory.class); private String databaseName = DEFAULT_DATABASE_NAME; diff --git a/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/HandlerMethodReturnValueHandlerComposite.java b/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/HandlerMethodReturnValueHandlerComposite.java index 5e7aff6bc8e..4c8059f4de4 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/HandlerMethodReturnValueHandlerComposite.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/HandlerMethodReturnValueHandlerComposite.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,7 +32,7 @@ import org.springframework.util.Assert; */ public class HandlerMethodReturnValueHandlerComposite implements HandlerMethodReturnValueHandler { - private static Log logger = LogFactory.getLog(HandlerMethodReturnValueHandlerComposite.class); + private static final Log logger = LogFactory.getLog(HandlerMethodReturnValueHandlerComposite.class); private final List returnValueHandlers = new ArrayList(); diff --git a/spring-orm-hibernate4/src/main/java/org/springframework/orm/hibernate4/support/AsyncRequestInterceptor.java b/spring-orm-hibernate4/src/main/java/org/springframework/orm/hibernate4/support/AsyncRequestInterceptor.java index 38879158544..30875ce3215 100644 --- a/spring-orm-hibernate4/src/main/java/org/springframework/orm/hibernate4/support/AsyncRequestInterceptor.java +++ b/spring-orm-hibernate4/src/main/java/org/springframework/orm/hibernate4/support/AsyncRequestInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -44,7 +44,7 @@ import java.util.concurrent.Callable; public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter implements DeferredResultProcessingInterceptor { - private static Log logger = LogFactory.getLog(AsyncRequestInterceptor.class); + private static final Log logger = LogFactory.getLog(AsyncRequestInterceptor.class); private final SessionFactory sessionFactory; @@ -52,11 +52,13 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte private volatile boolean timeoutInProgress; + public AsyncRequestInterceptor(SessionFactory sessionFactory, SessionHolder sessionHolder) { this.sessionFactory = sessionFactory; this.sessionHolder = sessionHolder; } + @Override public void preProcess(NativeWebRequest request, Callable task) { bindSession(); @@ -90,11 +92,17 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte } } + // Implementation of DeferredResultProcessingInterceptor methods - public void beforeConcurrentHandling(NativeWebRequest request, DeferredResult deferredResult) { } - public void preProcess(NativeWebRequest request, DeferredResult deferredResult) { } - public void postProcess(NativeWebRequest request, DeferredResult deferredResult, Object result) { } + public void beforeConcurrentHandling(NativeWebRequest request, DeferredResult deferredResult) { + } + + public void preProcess(NativeWebRequest request, DeferredResult deferredResult) { + } + + public void postProcess(NativeWebRequest request, DeferredResult deferredResult, Object result) { + } @Override public boolean handleTimeout(NativeWebRequest request, DeferredResult deferredResult) { @@ -106,4 +114,5 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte public void afterCompletion(NativeWebRequest request, DeferredResult deferredResult) { closeAfterTimeout(); } + } diff --git a/spring-orm/src/main/java/org/springframework/orm/jpa/support/AsyncRequestInterceptor.java b/spring-orm/src/main/java/org/springframework/orm/jpa/support/AsyncRequestInterceptor.java index 046bd8f6501..eabd41ecb44 100644 --- a/spring-orm/src/main/java/org/springframework/orm/jpa/support/AsyncRequestInterceptor.java +++ b/spring-orm/src/main/java/org/springframework/orm/jpa/support/AsyncRequestInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -44,7 +44,7 @@ import java.util.concurrent.Callable; public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter implements DeferredResultProcessingInterceptor { - private static Log logger = LogFactory.getLog(AsyncRequestInterceptor.class); + private static final Log logger = LogFactory.getLog(AsyncRequestInterceptor.class); private final EntityManagerFactory emFactory; @@ -58,6 +58,7 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte this.emHolder = emHolder; } + @Override public void preProcess(NativeWebRequest request, Callable task) { bindSession(); @@ -91,11 +92,17 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte } } + // Implementation of DeferredResultProcessingInterceptor methods - public void beforeConcurrentHandling(NativeWebRequest request, DeferredResult deferredResult) { } - public void preProcess(NativeWebRequest request, DeferredResult deferredResult) { } - public void postProcess(NativeWebRequest request, DeferredResult deferredResult, Object result) { } + public void beforeConcurrentHandling(NativeWebRequest request, DeferredResult deferredResult) { + } + + public void preProcess(NativeWebRequest request, DeferredResult deferredResult) { + } + + public void postProcess(NativeWebRequest request, DeferredResult deferredResult, Object result) { + } @Override public boolean handleTimeout(NativeWebRequest request, DeferredResult deferredResult) { @@ -107,5 +114,5 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte public void afterCompletion(NativeWebRequest request, DeferredResult deferredResult) { closeAfterTimeout(); } -} +} diff --git a/spring-web/src/main/java/org/springframework/web/context/request/async/CallableInterceptorChain.java b/spring-web/src/main/java/org/springframework/web/context/request/async/CallableInterceptorChain.java index ba3885330d0..3cf4f889f89 100644 --- a/spring-web/src/main/java/org/springframework/web/context/request/async/CallableInterceptorChain.java +++ b/spring-web/src/main/java/org/springframework/web/context/request/async/CallableInterceptorChain.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,7 +31,7 @@ import org.springframework.web.context.request.NativeWebRequest; */ class CallableInterceptorChain { - private static Log logger = LogFactory.getLog(CallableInterceptorChain.class); + private static final Log logger = LogFactory.getLog(CallableInterceptorChain.class); private final List interceptors; @@ -102,4 +102,5 @@ class CallableInterceptorChain { } } } + } diff --git a/spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResultInterceptorChain.java b/spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResultInterceptorChain.java index ffe9bb81265..fba37f178a0 100644 --- a/spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResultInterceptorChain.java +++ b/spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResultInterceptorChain.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,7 +29,7 @@ import org.springframework.web.context.request.NativeWebRequest; */ class DeferredResultInterceptorChain { - private static Log logger = LogFactory.getLog(DeferredResultInterceptorChain.class); + private static final Log logger = LogFactory.getLog(DeferredResultInterceptorChain.class); private final List interceptors; diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/handler/ConcurrentWebSocketSessionDecorator.java b/spring-websocket/src/main/java/org/springframework/web/socket/handler/ConcurrentWebSocketSessionDecorator.java index 5a32c0d36e7..fbca2ff04ca 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/handler/ConcurrentWebSocketSessionDecorator.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/handler/ConcurrentWebSocketSessionDecorator.java @@ -16,12 +16,6 @@ package org.springframework.web.socket.handler; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.springframework.web.socket.CloseStatus; -import org.springframework.web.socket.WebSocketMessage; -import org.springframework.web.socket.WebSocketSession; - import java.io.IOException; import java.util.Queue; import java.util.concurrent.LinkedBlockingQueue; @@ -29,6 +23,13 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import org.springframework.web.socket.CloseStatus; +import org.springframework.web.socket.WebSocketMessage; +import org.springframework.web.socket.WebSocketSession; + /** * Wraps a {@link org.springframework.web.socket.WebSocketSession} and guarantees @@ -44,7 +45,7 @@ import java.util.concurrent.locks.ReentrantLock; */ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorator { - private static Log logger = LogFactory.getLog(ConcurrentWebSocketSessionDecorator.class); + private static final Log logger = LogFactory.getLog(ConcurrentWebSocketSessionDecorator.class); private final Queue> buffer = new LinkedBlockingQueue>(); @@ -61,7 +62,7 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat private volatile boolean limitExceeded; - private volatile boolean shutDownInProgress; + private volatile boolean shutdownInProgress; private final Lock flushLock = new ReentrantLock(); @@ -87,7 +88,6 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat public void sendMessage(WebSocketMessage message) throws IOException { - if (isDisabled()) { return; } @@ -110,7 +110,7 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat } private boolean isDisabled() { - return (this.limitExceeded || this.shutDownInProgress); + return (this.limitExceeded || this.shutdownInProgress); } private boolean tryFlushMessageBuffer() throws IOException { @@ -140,17 +140,13 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat if (!isDisabled() && this.closeLock.tryLock()) { try { if (getTimeSinceSendStarted() > this.sendTimeLimit) { - String errorMessage = "Message send time " + getTimeSinceSendStarted() + " (ms) exceeded the allowed limit " + this.sendTimeLimit; - sessionLimitReached(errorMessage, CloseStatus.SESSION_NOT_RELIABLE); } else if (this.bufferSize.get() > this.bufferSizeLimit) { - String errorMessage = "The send buffer size " + this.bufferSize.get() + " bytes for " + "session '" + getId() + " exceeded the allowed limit " + this.bufferSizeLimit; - sessionLimitReached(errorMessage, (getTimeSinceSendStarted() >= 10000 ? CloseStatus.SESSION_NOT_RELIABLE : null)); } @@ -168,7 +164,8 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat @Override public void close(CloseStatus status) throws IOException { - this.shutDownInProgress = true; + this.shutdownInProgress = true; super.close(status); } + } diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/ServerEndpointExporter.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/ServerEndpointExporter.java index f5e9f17691c..48b394b9c26 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/ServerEndpointExporter.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/ServerEndpointExporter.java @@ -57,7 +57,7 @@ import org.springframework.util.ReflectionUtils; */ public class ServerEndpointExporter implements InitializingBean, BeanPostProcessor, ApplicationContextAware { - private static Log logger = LogFactory.getLog(ServerEndpointExporter.class); + private static final Log logger = LogFactory.getLog(ServerEndpointExporter.class); private final List> annotatedEndpointClasses = new ArrayList>(); diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/SpringConfigurator.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/SpringConfigurator.java index 9ee7cb77487..31a54287e0b 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/SpringConfigurator.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/server/standard/SpringConfigurator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -45,23 +45,21 @@ import org.springframework.web.context.WebApplicationContext; * * @author Rossen Stoyanchev * @since 4.0 - * * @see ServerEndpointExporter */ public class SpringConfigurator extends Configurator { - private static Log logger = LogFactory.getLog(SpringConfigurator.class); + private static final String NO_VALUE = ObjectUtils.identityToString(new Object()); + + private static final Log logger = LogFactory.getLog(SpringConfigurator.class); private static final Map, String>> cache = new ConcurrentHashMap, String>>(); - private static final String NO_VALUE = ObjectUtils.identityToString(new Object()); - @SuppressWarnings("unchecked") @Override public T getEndpointInstance(Class endpointClass) throws InstantiationException { - WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext(); if (wac == null) { String message = "Failed to find the root WebApplicationContext. Was ContextLoaderListener not used?"; @@ -99,7 +97,6 @@ public class SpringConfigurator extends Configurator { } private String getBeanNameByType(WebApplicationContext wac, Class endpointClass) { - String wacId = wac.getId(); Map, String> beanNamesByType = cache.get(wacId); @@ -116,15 +113,14 @@ public class SpringConfigurator extends Configurator { else { beanNamesByType.put(endpointClass, NO_VALUE); if (names.length > 1) { - String message = "Found multiple @ServerEndpoint's of type " + endpointClass + ", names=" + names; - logger.error(message); - throw new IllegalStateException(message); + throw new IllegalStateException("Found multiple @ServerEndpoint's of type [" + + endpointClass.getName() + "]: bean names " + names); } } } String beanName = beanNamesByType.get(endpointClass); - return NO_VALUE.equals(beanName) ? null : beanName; + return (NO_VALUE.equals(beanName) ? null : beanName); } } diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HttpSessionHandshakeInterceptor.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HttpSessionHandshakeInterceptor.java index dc8e9da55ae..a2e1e8bc6b5 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HttpSessionHandshakeInterceptor.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HttpSessionHandshakeInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -41,7 +41,7 @@ import org.springframework.web.socket.server.HandshakeInterceptor; */ public class HttpSessionHandshakeInterceptor implements HandshakeInterceptor { - private static Log logger = LogFactory.getLog(HttpSessionHandshakeInterceptor.class); + private static final Log logger = LogFactory.getLog(HttpSessionHandshakeInterceptor.class); private Collection attributeNames;