diff --git a/spring-session-data-geode/src/main/java/org/springframework/session/data/gemfire/GemFireOperationsSessionRepository.java b/spring-session-data-geode/src/main/java/org/springframework/session/data/gemfire/GemFireOperationsSessionRepository.java index c84dd18..929dc04 100644 --- a/spring-session-data-geode/src/main/java/org/springframework/session/data/gemfire/GemFireOperationsSessionRepository.java +++ b/spring-session-data-geode/src/main/java/org/springframework/session/data/gemfire/GemFireOperationsSessionRepository.java @@ -19,7 +19,6 @@ package org.springframework.session.data.gemfire; import java.time.Duration; import java.util.HashMap; import java.util.Map; -import java.util.Optional; import org.apache.geode.cache.query.SelectResults; @@ -155,15 +154,19 @@ public class GemFireOperationsSessionRepository extends AbstractGemFireOperation */ public void save(@Nullable Session session) { - Optional.ofNullable(session) - .filter(this::isDirty) - .ifPresent(this::doSave); + if (isNonNullAndDirty(session)) { + doSave(session); + } } private boolean isDirty(@NonNull Session session) { return !(session instanceof GemFireSession) || ((GemFireSession) session).hasDelta(); } + private boolean isNonNullAndDirty(@Nullable Session session) { + return session != null && isDirty(session); + } + void doSave(@NonNull Session session) { // Save Session As GemFireSession