diff --git a/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/AbstractGemFireIntegrationTests.java b/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/AbstractGemFireIntegrationTests.java index 486cab6..72bf221 100644 --- a/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/AbstractGemFireIntegrationTests.java +++ b/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/AbstractGemFireIntegrationTests.java @@ -105,7 +105,6 @@ public abstract class AbstractGemFireIntegrationTests { System.setProperty("gemfire.Query.VERBOSE", String.valueOf(isQueryDebuggingEnabled())); } - /* (non-Javadoc) */ protected static String buildClassPathContainingJarFiles(String... jarFilenames) { StringBuilder classpath = new StringBuilder(); @@ -123,7 +122,6 @@ public abstract class AbstractGemFireIntegrationTests { return classpath.toString(); } - /* (non-Javadoc) */ private static Optional findClassInFileSystem(Class type) { return Optional.ofNullable(type) @@ -131,18 +129,15 @@ public abstract class AbstractGemFireIntegrationTests { .map(resourceName -> type.getClassLoader().getResource(resourceName)); } - /* (non-Javadoc) */ private static Optional findJarInClasspath(String jarFilename) { return stream(nullSafeArray(System.getProperty("java.class.path").split(File.pathSeparator), String.class)) .filter(element -> element.contains(jarFilename)).findFirst(); } - /* (non-Javadoc) */ private static String getResourceName(Class type) { return type.getName().replaceAll("\\.", "/").concat(".class"); } - /* (non-Javadoc) */ protected static File createDirectory(String pathname) { File directory = new File(WORKING_DIRECTORY, pathname); @@ -155,12 +150,10 @@ public abstract class AbstractGemFireIntegrationTests { return directory; } - /* (non-Javadoc) */ protected static List createJavaProcessCommandLine(Class type, String... args) { return createJavaProcessCommandLine(System.getProperty("java.class.path"), type, args); } - /* (non-Javadoc) */ protected static List createJavaProcessCommandLine(String classpath, Class type, String... args) { List commandLine = new ArrayList<>(); @@ -185,12 +178,10 @@ public abstract class AbstractGemFireIntegrationTests { return commandLine; } - /* (non-Javadoc) */ private static List extractJvmArguments(String... args) { return stream(args).filter(arg -> arg.startsWith("-")).collect(Collectors.toList()); } - /* (non-Javadoc) */ private static List extractProgramArguments(String... args) { return stream(args).filter(arg -> !arg.startsWith("-")).collect(Collectors.toList()); } @@ -234,33 +225,27 @@ public abstract class AbstractGemFireIntegrationTests { return run(createJavaProcessCommandLine(resolveClasspath(classpath, type), type, args), directory); } - /* (non-Javadoc) */ private static Process run(List command, File directory) throws IOException { return new ProcessBuilder().command(command).directory(directory).inheritIO().redirectErrorStream(true).start(); } - /* (non-Javadoc) */ protected static void unregisterAllDataSerializers() { stream(nullSafeArray(InternalDataSerializer.getSerializers(), DataSerializer.class)) .map(DataSerializer::getId).forEach(InternalDataSerializer::unregister); } - /* (non-Javadoc) */ protected static boolean waitForCacheServerToStart(CacheServer cacheServer) { return waitForCacheServerToStart(cacheServer, DEFAULT_WAIT_DURATION); } - /* (non-Javadoc) */ protected static boolean waitForCacheServerToStart(CacheServer cacheServer, long duration) { return waitForCacheServerToStart(cacheServer.getBindAddress(), cacheServer.getPort(), duration); } - /* (non-Javadoc) */ protected static boolean waitForCacheServerToStart(String host, int port) { return waitForCacheServerToStart(host, port, DEFAULT_WAIT_DURATION); } - /* (non-Javadoc) */ protected static boolean waitForCacheServerToStart(final String host, final int port, long duration) { return waitOnCondition(new Condition() { @@ -291,12 +276,10 @@ public abstract class AbstractGemFireIntegrationTests { // NOTE this method would not be necessary except Spring Sessions' build does not fork // the test JVM // for every test class. - /* (non-Javadoc) */ protected static boolean waitForClientCacheToClose() { return waitForClientCacheToClose(DEFAULT_WAIT_DURATION); } - /* (non-Javadoc) */ protected static boolean waitForClientCacheToClose(long duration) { try { @@ -314,12 +297,10 @@ public abstract class AbstractGemFireIntegrationTests { } - /* (non-Javadoc) */ protected static boolean waitForProcessToStart(Process process, File directory) { return waitForProcessToStart(process, directory, DEFAULT_WAIT_DURATION); } - /* (non-Javadoc) */ @SuppressWarnings("all") protected static boolean waitForProcessToStart(Process process, File directory, long duration) { @@ -334,12 +315,10 @@ public abstract class AbstractGemFireIntegrationTests { return process.isAlive(); } - /* (non-Javadoc) */ protected static int waitForProcessToStop(Process process, File directory) { return waitForProcessToStop(process, directory, DEFAULT_WAIT_DURATION); } - /* (non-Javadoc) */ protected static int waitForProcessToStop(Process process, File directory, long duration) { long timeout = (System.currentTimeMillis() + duration); @@ -358,12 +337,10 @@ public abstract class AbstractGemFireIntegrationTests { return (process.isAlive() ? -1 : process.exitValue()); } - /* (non-Javadoc) */ protected static boolean waitOnCondition(Condition condition) { return waitOnCondition(condition, DEFAULT_WAIT_DURATION); } - /* (non-Javadoc) */ @SuppressWarnings("all") protected static boolean waitOnCondition(Condition condition, long duration) { @@ -383,7 +360,6 @@ public abstract class AbstractGemFireIntegrationTests { return condition.evaluate(); } - /* (non-Javadoc) */ @SuppressWarnings("all") protected static File writeProcessControlFile(File path) throws IOException { @@ -398,14 +374,12 @@ public abstract class AbstractGemFireIntegrationTests { return processControl; } - /* (non-Javadoc) */ protected void assertValidSession(Session session) { assertThat(session).isNotNull(); assertThat(session.getId()).isNotEmpty(); assertThat(session.isExpired()).isFalse(); } - /* (non-Javadoc) */ protected void assertRegion(Region actualRegion, String expectedName, DataPolicy expectedDataPolicy) { assertThat(actualRegion).isNotNull(); assertThat(actualRegion.getName()).isEqualTo(expectedName); @@ -414,19 +388,16 @@ public abstract class AbstractGemFireIntegrationTests { assertThat(actualRegion.getAttributes().getDataPolicy()).isEqualTo(expectedDataPolicy); } - /* (non-Javadoc) */ protected void assertIndex(Index index, String expectedExpression, String expectedFromClause) { assertThat(index).isNotNull(); assertThat(index.getIndexedExpression()).isEqualTo(expectedExpression); assertThat(index.getFromClause()).isEqualTo(expectedFromClause); } - /* (non-Javadoc) */ protected void assertEntryIdleTimeout(Region region, ExpirationAction expectedAction, int expectedTimeout) { assertEntryIdleTimeout(region.getAttributes().getEntryIdleTimeout(), expectedAction, expectedTimeout); } - /* (non-Javadoc) */ protected void assertEntryIdleTimeout(ExpirationAttributes actualExpirationAttributes, ExpirationAction expectedAction, int expectedTimeout) { @@ -435,22 +406,18 @@ public abstract class AbstractGemFireIntegrationTests { assertThat(actualExpirationAttributes.getTimeout()).isEqualTo(expectedTimeout); } - /* (non-Javadoc) */ protected boolean enableQueryDebugging() { return DEFAULT_ENABLE_QUERY_DEBUGGING; } - /* (non-Javadoc) */ protected boolean isQueryDebuggingEnabled() { return (GEMFIRE_QUERY_DEBUG || enableQueryDebugging()); } - /* (non-Javadoc) */ protected List listRegions(GemFireCache gemfireCache) { return gemfireCache.rootRegions().stream().map(Region::getFullPath).collect(Collectors.toList()); } - /* (non-Javadoc) */ @SuppressWarnings("unchecked") protected T createSession() { @@ -461,7 +428,6 @@ public abstract class AbstractGemFireIntegrationTests { return session; } - /* (non-Javadoc) */ @SuppressWarnings("unchecked") protected T createSession(String principalName) { @@ -472,32 +438,27 @@ public abstract class AbstractGemFireIntegrationTests { return (T) session; } - /* (non-Javadoc) */ @SuppressWarnings("all") protected T delete(T session) { this.gemfireSessionRepository.delete(session); return session; } - /* (non-Javadoc) */ protected T expire(T session) { session.setLastAccessedTime(Instant.ofEpochMilli(0L)); return session; } - /* (non-Javadoc) */ @SuppressWarnings("unchecked") protected T get(String sessionId) { return (T) this.gemfireSessionRepository.findById(sessionId); } - /* (non-Javadoc) */ protected T save(T session) { this.gemfireSessionRepository.save(session); return session; } - /* (non-Javadoc) */ protected T touch(T session) { session.setLastAccessedTime(Instant.now()); return session; @@ -514,7 +475,6 @@ public abstract class AbstractGemFireIntegrationTests { private volatile AbstractSessionEvent sessionEvent; - /* (non-Javadoc) */ @SuppressWarnings("unchecked") public T getSessionEvent() { @@ -525,12 +485,10 @@ public abstract class AbstractGemFireIntegrationTests { return sessionEvent; } - /* (non-Javadoc) */ public void onApplicationEvent(AbstractSessionEvent event) { this.sessionEvent = event; } - /* (non-Javadoc) */ public T waitForSessionEvent(long duration) { waitOnCondition(() -> (SessionEventListener.this.sessionEvent != null), duration); diff --git a/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/ClientServerGemFireOperationsSessionRepositoryIntegrationTests.java b/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/ClientServerGemFireOperationsSessionRepositoryIntegrationTests.java index ed7c30c..b7cc216 100644 --- a/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/ClientServerGemFireOperationsSessionRepositoryIntegrationTests.java +++ b/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/ClientServerGemFireOperationsSessionRepositoryIntegrationTests.java @@ -65,6 +65,7 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.util.FileSystemUtils; +import org.springframework.util.ObjectUtils; import org.springframework.util.SocketUtils; /** @@ -227,10 +228,13 @@ public class ClientServerGemFireOperationsSessionRepositoryIntegrationTests assertThat(savedSession).isEqualTo(expectedSession); - sessionEvent = this.sessionEventListener.waitForSessionEvent( - TimeUnit.SECONDS.toMillis(MAX_INACTIVE_INTERVAL_IN_SECONDS + 1)); + sessionEvent = this.sessionEventListener + .waitForSessionEvent(TimeUnit.SECONDS.toMillis(MAX_INACTIVE_INTERVAL_IN_SECONDS + 5)); + + assertThat(sessionEvent) + .describedAs("SessionEvent was type [%s]", ObjectUtils.nullSafeClassName(sessionEvent)) + .isInstanceOf(SessionExpiredEvent.class); - assertThat(sessionEvent).isInstanceOf(SessionExpiredEvent.class); assertThat(sessionEvent.getSessionId()).isEqualTo(expectedSession.getId()); Session expiredSession = this.gemfireSessionRepository.findById(expectedSession.getId()); @@ -304,8 +308,7 @@ public class ClientServerGemFireOperationsSessionRepositoryIntegrationTests } } - @CacheServerApplication(name = "ClientServerGemFireOperationsSessionRepositoryIntegrationTests", - logLevel = "warning") + @CacheServerApplication(name = "ClientServerGemFireOperationsSessionRepositoryIntegrationTests", logLevel = "warning") @EnableGemFireHttpSession(regionName = TEST_SESSION_REGION_NAME, maxInactiveIntervalInSeconds = MAX_INACTIVE_INTERVAL_IN_SECONDS) @SuppressWarnings("unused") diff --git a/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/ClientServerProxyRegionSessionOperationsIntegrationTests.java b/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/ClientServerProxyRegionSessionOperationsIntegrationTests.java index d42079b..f62856b 100644 --- a/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/ClientServerProxyRegionSessionOperationsIntegrationTests.java +++ b/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/ClientServerProxyRegionSessionOperationsIntegrationTests.java @@ -160,7 +160,7 @@ public class ClientServerProxyRegionSessionOperationsIntegrationTests extends Ab // EXPIRE sessionEvent = this.sessionEventListener.waitForSessionEvent( - TimeUnit.SECONDS.toMillis(MAX_INACTIVE_INTERVAL_IN_SECONDS + 1)); + TimeUnit.SECONDS.toMillis(MAX_INACTIVE_INTERVAL_IN_SECONDS + 5)); assertThat(sessionEvent).isInstanceOf(SessionExpiredEvent.class); assertThat(sessionEvent.getSessionId()).isEqualTo(session.getId()); diff --git a/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/MultiPoolClientServerGemFireOperationsSessionRepositoryIntegrationTests.java b/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/MultiPoolClientServerGemFireOperationsSessionRepositoryIntegrationTests.java index 9fa03e3..348f6c3 100644 --- a/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/MultiPoolClientServerGemFireOperationsSessionRepositoryIntegrationTests.java +++ b/spring-session-data-geode/src/integration-test/java/org/springframework/session/data/gemfire/MultiPoolClientServerGemFireOperationsSessionRepositoryIntegrationTests.java @@ -186,7 +186,7 @@ public class MultiPoolClientServerGemFireOperationsSessionRepositoryIntegrationT this.sessionEventListener.getSessionEvent(); sessionEvent = this.sessionEventListener.waitForSessionEvent( - TimeUnit.SECONDS.toMillis(MAX_INACTIVE_INTERVAL_IN_SECONDS + 1)); + TimeUnit.SECONDS.toMillis(MAX_INACTIVE_INTERVAL_IN_SECONDS + 5)); assertThat(sessionEvent).isInstanceOf(SessionExpiredEvent.class); assertThat(sessionEvent.getSessionId()).isEqualTo(expectedSession.getId()); diff --git a/spring-session-data-geode/src/main/java/org/springframework/session/data/gemfire/AbstractGemFireOperationsSessionRepository.java b/spring-session-data-geode/src/main/java/org/springframework/session/data/gemfire/AbstractGemFireOperationsSessionRepository.java index d819833..c4cdf40 100644 --- a/spring-session-data-geode/src/main/java/org/springframework/session/data/gemfire/AbstractGemFireOperationsSessionRepository.java +++ b/spring-session-data-geode/src/main/java/org/springframework/session/data/gemfire/AbstractGemFireOperationsSessionRepository.java @@ -299,27 +299,22 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi region.getAttributesMutator().addCacheListener(this); } - /* (non-Javadoc) */ boolean isCreate(EntryEvent event) { return isCreate(event.getOperation()) && isNotUpdate(event) && isSession(event.getNewValue()); } - /* (non-Javadoc) */ private boolean isCreate(Operation operation) { return operation.isCreate() && !Operation.LOCAL_LOAD_CREATE.equals(operation); } - /* (non-Javadoc) */ private boolean isNotUpdate(EntryEvent event) { return isNotProxyRegion() || !this.cachedSessionIds.contains(ObjectUtils.nullSafeHashCode(event.getKey())); } - /* (non-Javadoc) */ private boolean isNotProxyRegion() { return !isProxyRegion(); } - /* (non-Javadoc) */ private boolean isProxyRegion() { return GemFireUtils.isProxy(((GemfireAccessor) getTemplate()).getRegion()); } @@ -517,22 +512,18 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi publishEvent(newSessionExpiredEvent(session)); } - /* (non-Javadoc) */ private SessionCreatedEvent newSessionCreatedEvent(Session session) { return new SessionCreatedEvent(this, session); } - /* (non-Javadoc) */ private SessionDeletedEvent newSessionDeletedEvent(Session session) { return new SessionDeletedEvent(this, session); } - /* (non-Javadoc) */ private SessionDestroyedEvent newSessionDestroyedEvent(Session session) { return new SessionDestroyedEvent(this, session); } - /* (non-Javadoc) */ private SessionExpiredEvent newSessionExpiredEvent(Session session) { return new SessionExpiredEvent(this, session); } @@ -588,7 +579,6 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi return new DeltaCapableGemFireSessionAttributes(); } - /* (non-Javadoc) */ public synchronized void toDelta(DataOutput out) throws IOException { out.writeUTF(getId()); @@ -598,7 +588,6 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi clearDelta(); } - /* (non-Javadoc) */ public synchronized void fromDelta(DataInput in) throws IOException { setId(in.readUTF()); @@ -636,19 +625,16 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi private transient final T sessionAttributes = newSessionAttributes(this); - /* (non-Javadoc) */ protected GemFireSession() { this(generateId()); } - /* (non-Javadoc) */ protected GemFireSession(String id) { this.id = validateId(id); this.creationTime = Instant.now(); this.lastAccessedTime = this.creationTime; } - /* (non-Javadoc) */ protected GemFireSession(Session session) { Assert.notNull(session, "The Session to copy cannot be null"); @@ -660,17 +646,14 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi this.sessionAttributes.from(session); } - /* (non-Javadoc) */ public static GemFireSession copy(Session session) { return (isUsingDataSerialization() ? new DeltaCapableGemFireSession(session) : new GemFireSession(session)); } - /* (non-Javadoc) */ public static GemFireSession create() { return create(DEFAULT_MAX_INACTIVE_INTERVAL); } - /* (non-Javadoc) */ public static GemFireSession create(Duration maxInactiveInterval) { GemFireSession session = @@ -681,7 +664,6 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi return session; } - /* (non-Javadoc) */ @SuppressWarnings("unchecked") public static T from(Session session) { return (T) (session instanceof GemFireSession ? (GemFireSession) session : copy(session)); @@ -697,7 +679,6 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi return UUID.randomUUID().toString(); } - /* (non-Javadoc) */ private static String validateId(String id) { return Optional.ofNullable(id).filter(StringUtils::hasText) .orElseThrow(() -> newIllegalArgumentException("ID is required")); @@ -708,7 +689,6 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi return (T) new GemFireSessionAttributes(lock); } - /* (non-Javadoc) */ @Override public synchronized String changeSessionId() { @@ -719,23 +699,19 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi return getId(); } - /* (non-Javadoc) */ public synchronized void clearDelta() { this.delta = false; } - /* (non-Javadoc) */ public synchronized boolean hasDelta() { return (this.delta || this.sessionAttributes.hasDelta()); } - /* (non-Javadoc) */ @SuppressWarnings("unused") protected void triggerDelta() { triggerDelta(true); } - /* (non-Javadoc) */ protected synchronized void triggerDelta(boolean condition) { this.delta |= condition; } @@ -744,42 +720,34 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi this.id = validateId(id); } - /* (non-Javadoc) */ public synchronized String getId() { return this.id; } - /* (non-Javadoc) */ public void setAttribute(String attributeName, Object attributeValue) { this.sessionAttributes.setAttribute(attributeName, attributeValue); } - /* (non-Javadoc) */ public void removeAttribute(String attributeName) { this.sessionAttributes.removeAttribute(attributeName); } - /* (non-Javadoc) */ public T getAttribute(String attributeName) { return this.sessionAttributes.getAttribute(attributeName); } - /* (non-Javadoc) */ public Set getAttributeNames() { return this.sessionAttributes.getAttributeNames(); } - /* (non-Javadoc) */ public T getAttributes() { return this.sessionAttributes; } - /* (non-Javadoc) */ public synchronized Instant getCreationTime() { return this.creationTime; } - /* (non-Javadoc) */ public synchronized boolean isExpired() { Instant lastAccessedTime = getLastAccessedTime(); @@ -790,44 +758,36 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi && Instant.now().minus(maxInactiveInterval).isAfter(lastAccessedTime)); } - /* (non-Javadoc) */ private boolean isExpirationDisabled(Duration duration) { return (duration == null || duration.isNegative() || duration.isZero()); } - /* (non-Javadoc) */ private boolean isExpirationEnabled(Duration duration) { return !isExpirationDisabled(duration); } - /* (non-Javadoc) */ public synchronized void setLastAccessedTime(Instant lastAccessedTime) { triggerDelta(!ObjectUtils.nullSafeEquals(this.lastAccessedTime, lastAccessedTime)); this.lastAccessedTime = lastAccessedTime; } - /* (non-Javadoc) */ public synchronized Instant getLastAccessedTime() { return this.lastAccessedTime; } - /* (non-Javadoc) */ public synchronized void setMaxInactiveInterval(Duration maxInactiveIntervalInSeconds) { triggerDelta(!ObjectUtils.nullSafeEquals(this.maxInactiveInterval, maxInactiveIntervalInSeconds)); this.maxInactiveInterval = maxInactiveIntervalInSeconds; } - /* (non-Javadoc) */ public synchronized Duration getMaxInactiveInterval() { return Optional.ofNullable(this.maxInactiveInterval).orElse(DEFAULT_MAX_INACTIVE_INTERVAL); } - /* (non-Javadoc) */ public synchronized void setPrincipalName(String principalName) { setAttribute(PRINCIPAL_NAME_INDEX_NAME, principalName); } - /* (non-Javadoc) */ public synchronized String getPrincipalName() { String principalName = getAttribute(PRINCIPAL_NAME_INDEX_NAME); @@ -847,13 +807,11 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi return principalName; } - /* (non-Javadoc) */ @SuppressWarnings("all") public int compareTo(Session session) { return getCreationTime().compareTo(session.getCreationTime()); } - /* (non-Javadoc) */ @Override public boolean equals(final Object obj) { @@ -870,7 +828,6 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi return this.getId().equals(that.getId()); } - /* (non-Javadoc) */ @Override public int hashCode() { @@ -881,7 +838,6 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi return hashValue; } - /* (non-Javadoc) */ @Override public synchronized String toString() { @@ -897,14 +853,12 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi private transient final Map sessionAttributeDeltas = new HashMap<>(); - public DeltaCapableGemFireSessionAttributes() { - } + public DeltaCapableGemFireSessionAttributes() { } public DeltaCapableGemFireSessionAttributes(Object lock) { super(lock); } - /* (non-Javadoc) */ public Object setAttribute(String attributeName, Object attributeValue) { synchronized (getLock()) { @@ -925,7 +879,6 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi } } - /* (non-Javadoc) */ @Override public Object removeAttribute(String attributeName) { @@ -940,7 +893,6 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi } } - /* (non-Javadoc) */ public void toDelta(DataOutput out) throws IOException { synchronized (getLock()) { @@ -956,12 +908,10 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi } } - /* (non-Javadoc) */ protected void writeObject(Object value, DataOutput out) throws IOException { DataSerializer.writeObject(value, out); } - /* (non-Javadoc) */ @Override public boolean hasDelta() { @@ -970,7 +920,6 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi } } - /* (non-Javadoc) */ public void fromDelta(DataInput in) throws InvalidDeltaException, IOException { synchronized (getLock()) { @@ -994,12 +943,10 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi } } - /* (non-Javadoc) */ protected T readObject(DataInput in) throws ClassNotFoundException, IOException { return DataSerializer.readObject(in); } - /* (non-Javadoc) */ @Override public void clearDelta() { @@ -1028,32 +975,26 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi private transient final Object lock; - /* (non-Javadoc) */ protected GemFireSessionAttributes() { this.lock = this; } - /* (non-Javadoc) */ protected GemFireSessionAttributes(Object lock) { this.lock = (lock != null ? lock : this); } - /* (non-Javadoc) */ public static GemFireSessionAttributes create() { return new GemFireSessionAttributes(); } - /* (non-Javadoc) */ public static GemFireSessionAttributes create(Object lock) { return new GemFireSessionAttributes(lock); } - /* (non-Javadoc) */ protected Object getLock() { return this.lock; } - /* (non-Javadoc) */ public Object setAttribute(String attributeName, Object attributeValue) { synchronized (getLock()) { return (attributeValue != null ? this.sessionAttributes.put(attributeName, attributeValue) @@ -1061,14 +1002,12 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi } } - /* (non-Javadoc) */ public Object removeAttribute(String attributeName) { synchronized (getLock()) { return this.sessionAttributes.remove(attributeName); } } - /* (non-Javadoc) */ @SuppressWarnings("unchecked") public T getAttribute(String attributeName) { synchronized (getLock()) { @@ -1076,14 +1015,12 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi } } - /* (non-Javadoc) */ public Set getAttributeNames() { synchronized (getLock()) { return Collections.unmodifiableSet(new HashSet<>(this.sessionAttributes.keySet())); } } - /* (non-Javadoc); NOTE: entrySet implementation is not Thread-safe. */ @Override @SuppressWarnings("all") public Set> entrySet() { @@ -1103,11 +1040,9 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi }; } - /* (non-Javadoc) */ public void clearDelta() { } - /* (non-Javadoc) */ public void from(Session session) { synchronized (getLock()) { @@ -1116,7 +1051,6 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi } } - /* (non-Javadoc) */ public void from(Map map) { synchronized (getLock()) { @@ -1124,7 +1058,6 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi } } - /* (non-Javadoc) */ public void from(GemFireSessionAttributes sessionAttributes) { synchronized (getLock()) { @@ -1133,7 +1066,6 @@ public abstract class AbstractGemFireOperationsSessionRepository extends CacheLi } } - /* (non-Javadoc) */ public boolean hasDelta() { return false; }