From 78ac7b38614c84f1ab225ccc24587d258e1c526e Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Wed, 26 May 2021 16:17:21 -0700 Subject: [PATCH] Polish --- .../ApplicationAvailabilityBean.java | 45 +++++++------------ 1 file changed, 17 insertions(+), 28 deletions(-) diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/availability/ApplicationAvailabilityBean.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/availability/ApplicationAvailabilityBean.java index f565d61f63..d34b4cb53f 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/availability/ApplicationAvailabilityBean.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/availability/ApplicationAvailabilityBean.java @@ -64,45 +64,34 @@ public class ApplicationAvailabilityBean @Override public void onApplicationEvent(AvailabilityChangeEvent event) { - logStateChange(event); - Class stateType = getStateType(event.getState()); - this.events.put(stateType, event); - } - - private void logStateChange(AvailabilityChangeEvent event) { + Class type = getStateType(event.getState()); if (logger.isInfoEnabled()) { - StringBuilder message = createStateChangeMessage(event); - logger.info(message); + logger.info(getLogMessage(type, event)); } + this.events.put(type, event); } - private StringBuilder createStateChangeMessage(AvailabilityChangeEvent event) { - Class stateType = getStateType(event.getState()); + private Object getLogMessage(Class type, AvailabilityChangeEvent event) { + AvailabilityChangeEvent lastChangeEvent = getLastChangeEvent(type); StringBuilder message = new StringBuilder( - "Application availability state " + stateType.getSimpleName() + " changed"); - AvailabilityChangeEvent lastChangeEvent = getLastChangeEvent(stateType); - if (lastChangeEvent != null) { - message.append(" from " + lastChangeEvent.getState()); - } + "Application availability state " + type.getSimpleName() + " changed"); + message.append((lastChangeEvent != null) ? " from " + lastChangeEvent.getState() : ""); message.append(" to " + event.getState()); - Object source = event.getSource(); - if (source != null) { - if (source instanceof Throwable) { - message.append(": " + source); - } - else if (!(source instanceof ApplicationEventPublisher)) { - message.append(": " + source.getClass().getName()); - } - } + message.append(getSourceDescription(event.getSource())); return message; } + private String getSourceDescription(Object source) { + if (source == null || source instanceof ApplicationEventPublisher) { + return ""; + } + return ": " + ((source instanceof Throwable) ? source : source.getClass().getName()); + } + @SuppressWarnings("unchecked") private Class getStateType(AvailabilityState state) { - if (state instanceof Enum) { - return (Class) ((Enum) state).getDeclaringClass(); - } - return state.getClass(); + Class type = (state instanceof Enum) ? ((Enum) state).getDeclaringClass() : state.getClass(); + return (Class) type; } }