You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by je...@apache.org on 2015/12/22 22:08:14 UTC
[02/17] incubator-geode git commit: GEODE-14: Initial integration of
gemfire-modules subproject
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/PeerToPeerSessionCache.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/PeerToPeerSessionCache.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/PeerToPeerSessionCache.java
deleted file mode 100644
index df9c152..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/PeerToPeerSessionCache.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.session.catalina;
-
-import java.util.Set;
-
-
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.GemFireCache;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.RegionFactory;
-import com.gemstone.gemfire.cache.RegionShortcut;
-import com.gemstone.gemfire.cache.execute.Execution;
-import com.gemstone.gemfire.cache.execute.FunctionService;
-import com.gemstone.gemfire.cache.execute.ResultCollector;
-import com.gemstone.gemfire.modules.session.catalina.callback.LocalSessionCacheLoader;
-import com.gemstone.gemfire.modules.session.catalina.callback.LocalSessionCacheWriter;
-import com.gemstone.gemfire.modules.session.catalina.callback.SessionExpirationCacheListener;
-import com.gemstone.gemfire.modules.util.RegionConfiguration;
-import com.gemstone.gemfire.modules.util.RegionHelper;
-import com.gemstone.gemfire.modules.util.SessionCustomExpiry;
-import com.gemstone.gemfire.modules.util.TouchPartitionedRegionEntriesFunction;
-import com.gemstone.gemfire.modules.util.TouchReplicatedRegionEntriesFunction;
-import javax.servlet.http.HttpSession;
-
-public class PeerToPeerSessionCache extends AbstractSessionCache {
-
- private Cache cache;
-
- protected static final String DEFAULT_REGION_ATTRIBUTES_ID = RegionShortcut.REPLICATE.toString();
-
- protected static final boolean DEFAULT_ENABLE_LOCAL_CACHE = false;
-
- public PeerToPeerSessionCache(SessionManager sessionManager, Cache cache) {
- super(sessionManager);
- this.cache = cache;
- }
-
- @Override
- public void initialize() {
- // Register Functions
- registerFunctions();
-
- // Create or retrieve the region
- createOrRetrieveRegion();
-
- // If local cache is enabled, create the local region fronting the session region
- // and set it as the operating region; otherwise, use the session region directly
- // as the operating region.
- this.operatingRegion = getSessionManager().getEnableLocalCache()
- ? createOrRetrieveLocalRegion()
- : this.sessionRegion;
-
- // Create or retrieve the statistics
- createStatistics();
- }
-
- @Override
- public String getDefaultRegionAttributesId() {
- return DEFAULT_REGION_ATTRIBUTES_ID;
- }
-
- @Override
- public boolean getDefaultEnableLocalCache() {
- return DEFAULT_ENABLE_LOCAL_CACHE;
- }
-
- @Override
- public void touchSessions(Set<String> sessionIds) {
- // Get the region attributes id to determine the region type. This is
- // problematic since the region attributes id doesn't really define the
- // region type. This should look at the actual session region.
- String regionAttributesID = getSessionManager().getRegionAttributesId().toLowerCase();
-
- // Invoke the appropriate function depending on the type of region
- ResultCollector collector = null;
- if (regionAttributesID.startsWith("partition")) {
- // Execute the partitioned touch function on the primary server(s)
- Execution execution = FunctionService.onRegion(getSessionRegion()).withFilter(sessionIds);
- collector = execution.execute(TouchPartitionedRegionEntriesFunction.ID, true, false, true);
- } else {
- // Execute the member touch function on all the server(s)
- Execution execution = FunctionService.onMembers(
- getCache().getDistributedSystem()).withArgs(
- new Object[] { this.sessionRegion.getFullPath(), sessionIds });
- collector = execution.execute(TouchReplicatedRegionEntriesFunction.ID, true, false, false);
- }
-
- // Get the result
- try {
- collector.getResult();
- } catch (Exception e) {
- // If an exception occurs in the function, log it.
- getSessionManager().getLogger().warn("Caught unexpected exception:", e);
- }
- }
-
- @Override
- public boolean isPeerToPeer() {
- return true;
- }
-
- @Override
- public boolean isClientServer() {
- return false;
- }
-
- @Override
- public Set<String> keySet() {
- return getSessionRegion().keySet();
- }
-
- @Override
- public int size() {
- return getSessionRegion().size();
- }
-
- @Override
- public GemFireCache getCache() {
- return this.cache;
- }
-
- /**
- * For peer-to-peer the backing cache *is* what's embedded in tomcat so it's always available
- * @return
- */
- @Override
- public boolean isBackingCacheAvailable() {
- return true;
- }
-
- private void registerFunctions() {
- // Register the touch partitioned region entries function if it is not already registered
- if (!FunctionService.isRegistered(TouchPartitionedRegionEntriesFunction.ID)) {
- FunctionService.registerFunction(new TouchPartitionedRegionEntriesFunction());
- }
-
- // Register the touch replicated region entries function if it is not already registered
- if (!FunctionService.isRegistered(TouchReplicatedRegionEntriesFunction.ID)) {
- FunctionService.registerFunction(new TouchReplicatedRegionEntriesFunction());
- }
- }
-
- @SuppressWarnings("unchecked")
- protected void createOrRetrieveRegion() {
- // Create the RegionConfiguration
- RegionConfiguration configuration = createRegionConfiguration();
- configuration.setSessionExpirationCacheListener(true);
-
- // Attempt to retrieve the region
- // If it already exists, validate it
- // If it doesn't already exist, create it
- Region region = this.cache.getRegion(getSessionManager().getRegionName());
- if (region == null) {
- // Create the region
- region = RegionHelper.createRegion((Cache) getCache(), configuration);
- if (getSessionManager().getLogger().isDebugEnabled()) {
- getSessionManager().getLogger().debug("Created new session region: " + region);
- }
- } else {
- // Validate the existing region
- if (getSessionManager().getLogger().isDebugEnabled()) {
- getSessionManager().getLogger().debug("Retrieved existing session region: " + region);
- }
- RegionHelper.validateRegion((Cache) getCache(), configuration, region);
- }
-
- // Set the session region
- this.sessionRegion = region;
- }
-
- private Region<String, HttpSession> createOrRetrieveLocalRegion() {
- // Attempt to retrieve the fronting region
- String frontingRegionName = this.sessionRegion.getName() + "_local";
- Region<String, HttpSession> frontingRegion = this.cache.getRegion(frontingRegionName);
- if (frontingRegion == null) {
- // Create the region factory
- RegionFactory<String,HttpSession> factory = this.cache.createRegionFactory(RegionShortcut.LOCAL_HEAP_LRU);
-
- // Add the cache loader and writer
- factory.setCacheLoader(new LocalSessionCacheLoader(this.sessionRegion));
- factory.setCacheWriter(new LocalSessionCacheWriter(this.sessionRegion));
-
- // Set the expiration time, action and listener if necessary
- int maxInactiveInterval = getSessionManager().getMaxInactiveInterval();
- if (maxInactiveInterval != RegionConfiguration.DEFAULT_MAX_INACTIVE_INTERVAL) {
- factory.setStatisticsEnabled(true);
- factory.setCustomEntryIdleTimeout(new SessionCustomExpiry());
- factory.addCacheListener(new SessionExpirationCacheListener());
- }
-
- // Create the region
- frontingRegion = factory.create(frontingRegionName);
- if (getSessionManager().getLogger().isDebugEnabled()) {
- getSessionManager().getLogger().debug("Created new local session region: " + frontingRegion);
- }
- } else {
- if (getSessionManager().getLogger().isDebugEnabled()) {
- getSessionManager().getLogger().debug("Retrieved existing local session region: " + frontingRegion);
- }
- }
- return frontingRegion;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/SessionCache.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/SessionCache.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/SessionCache.java
deleted file mode 100644
index a14ee8b..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/SessionCache.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.session.catalina;
-
-import java.util.Set;
-
-import com.gemstone.gemfire.cache.GemFireCache;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.modules.session.catalina.internal.DeltaSessionStatistics;
-import javax.servlet.http.HttpSession;
-import org.apache.catalina.Session;
-
-public interface SessionCache {
-
- public void initialize();
-
- public String getDefaultRegionAttributesId();
-
- public boolean getDefaultEnableLocalCache();
-
- public String getSessionRegionName();
-
- public String getOperatingRegionName();
-
- public void putSession(Session session);
-
- public HttpSession getSession(String sessionId);
-
- public void destroySession(String sessionId);
-
- public void touchSessions(Set<String> sessionIds);
-
- public DeltaSessionStatistics getStatistics();
-
- public GemFireCache getCache();
-
- public Region<String,HttpSession> getSessionRegion();
-
- public Region<String,HttpSession> getOperatingRegion();
-
- public boolean isPeerToPeer();
-
- public boolean isClientServer();
-
- public Set<String> keySet();
-
- public int size();
-
- public boolean isBackingCacheAvailable();
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/SessionManager.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/SessionManager.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/SessionManager.java
deleted file mode 100644
index 1df8aab..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/SessionManager.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.session.catalina;
-
-import org.apache.juli.logging.Log;
-
-public interface SessionManager {
-
- public String getRegionName();
-
- public String getRegionAttributesId();
-
- public int getMaxInactiveInterval();
-
- public boolean getEnableGatewayReplication();
-
- public boolean getEnableGatewayDeltaReplication();
-
- public boolean getEnableDebugListener();
-
- public boolean getEnableLocalCache();
-
- public boolean isCommitValveEnabled();
-
- public boolean isCommitValveFailfastEnabled();
-
- public boolean isBackingCacheAvailable();
-
- public boolean getPreferDeserializedForm();
-
- public String getStatisticsName();
-
- public Log getLogger();
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/Tomcat6DeltaSessionManager.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/Tomcat6DeltaSessionManager.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/Tomcat6DeltaSessionManager.java
deleted file mode 100644
index 17b03ec..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/Tomcat6DeltaSessionManager.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.session.catalina;
-
-import org.apache.catalina.LifecycleException;
-
-public class Tomcat6DeltaSessionManager extends DeltaSessionManager {
-
- /**
- * Prepare for the beginning of active use of the public methods of this
- * component. This method should be called after <code>configure()</code>,
- * and before any of the public methods of the component are utilized.
- *
- * @exception LifecycleException if this component detects a fatal error
- * that prevents this component from being used
- */
- @Override
- public void start() throws LifecycleException {
- if (getLogger().isDebugEnabled()) {
- getLogger().debug(this + ": Starting");
- }
- if (this.started.get()) {
- return;
- }
- this.lifecycle.fireLifecycleEvent(START_EVENT, null);
- try {
- init();
- } catch (Throwable t) {
- getLogger().error(t.getMessage(), t);
- }
-
- // Register our various valves
- registerJvmRouteBinderValve();
-
- if (isCommitValveEnabled()) {
- registerCommitSessionValve();
- }
-
- // Initialize the appropriate session cache interface
- initializeSessionCache();
-
- // Create the timer and schedule tasks
- scheduleTimerTasks();
-
- this.started.set(true);
- }
-
- /**
- * Gracefully terminate the active use of the public methods of this
- * component. This method should be the last one called on a given
- * instance of this component.
- *
- * @exception LifecycleException if this component detects a fatal error
- * that needs to be reported
- */
- @Override
- public void stop() throws LifecycleException {
- if (getLogger().isDebugEnabled()) {
- getLogger().debug(this + ": Stopping");
- }
- this.started.set(false);
- this.lifecycle.fireLifecycleEvent(STOP_EVENT, null);
-
- // StandardManager expires all Sessions here.
- // All Sessions are not known by this Manager.
-
- // Require a new random number generator if we are restarted
- this.random = null;
-
- // Remove from RMI registry
- if (this.initialized) {
- destroy();
- }
-
- // Clear any sessions to be touched
- getSessionsToTouch().clear();
-
- // Cancel the timer
- cancelTimer();
-
- // Unregister the JVM route valve
- unregisterJvmRouteBinderValve();
-
- if (isCommitValveEnabled()) {
- unregisterCommitSessionValve();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/callback/LocalSessionCacheLoader.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/callback/LocalSessionCacheLoader.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/callback/LocalSessionCacheLoader.java
deleted file mode 100644
index ff1ab0b..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/callback/LocalSessionCacheLoader.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.session.catalina.callback;
-
-import java.util.Properties;
-
-import com.gemstone.gemfire.cache.CacheLoader;
-import com.gemstone.gemfire.cache.CacheLoaderException;
-import com.gemstone.gemfire.cache.Declarable;
-import com.gemstone.gemfire.cache.LoaderHelper;
-import com.gemstone.gemfire.cache.Region;
-import javax.servlet.http.HttpSession;
-
-public class LocalSessionCacheLoader implements CacheLoader<String, HttpSession>,
- Declarable {
-
- private final Region<String,HttpSession> backingRegion;
-
- public LocalSessionCacheLoader(Region<String,HttpSession> backingRegion) {
- this.backingRegion = backingRegion;
- }
-
- public HttpSession load(LoaderHelper<String,HttpSession> helper) throws CacheLoaderException {
- return this.backingRegion.get(helper.getKey());
- }
-
- public void close() {}
-
- public void init(Properties p) {}
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/callback/LocalSessionCacheWriter.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/callback/LocalSessionCacheWriter.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/callback/LocalSessionCacheWriter.java
deleted file mode 100644
index 458c8e8..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/callback/LocalSessionCacheWriter.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.session.catalina.callback;
-
-import java.util.Properties;
-
-import org.apache.catalina.Session;
-
-import com.gemstone.gemfire.cache.CacheWriterException;
-import com.gemstone.gemfire.cache.Declarable;
-import com.gemstone.gemfire.cache.EntryEvent;
-import com.gemstone.gemfire.cache.EntryNotFoundException;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.util.CacheWriterAdapter;
-import javax.servlet.http.HttpSession;
-
-public class LocalSessionCacheWriter extends
- CacheWriterAdapter<String, HttpSession> implements Declarable {
-
- private final Region<String,HttpSession> backingRegion;
-
- public LocalSessionCacheWriter(Region<String,HttpSession> backingRegion) {
- this.backingRegion = backingRegion;
- }
-
- public void beforeCreate(EntryEvent<String,HttpSession> event) throws CacheWriterException {
- this.backingRegion.put(event.getKey(), event.getNewValue(), event.getCallbackArgument());
- }
-
- public void beforeUpdate(EntryEvent<String,HttpSession> event) throws CacheWriterException {
- this.backingRegion.put(event.getKey(), event.getNewValue(), event.getCallbackArgument());
- }
-
- public void beforeDestroy(EntryEvent<String,HttpSession> event) throws CacheWriterException {
- try {
- this.backingRegion.destroy(event.getKey(), event.getCallbackArgument());
- } catch (EntryNotFoundException e) {
- // I think it is safe to ignore this exception. The entry could have
- // expired already in the backing region.
- }
- }
-
- public void close() {}
-
- public void init(Properties p) {}
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/callback/SessionExpirationCacheListener.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/callback/SessionExpirationCacheListener.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/callback/SessionExpirationCacheListener.java
deleted file mode 100644
index d5f9bf5..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/callback/SessionExpirationCacheListener.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.session.catalina.callback;
-
-import com.gemstone.gemfire.cache.Declarable;
-import com.gemstone.gemfire.cache.EntryEvent;
-import com.gemstone.gemfire.cache.Operation;
-
-import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
-import com.gemstone.gemfire.modules.session.catalina.DeltaSession;
-import com.gemstone.gemfire.modules.session.catalina.DeltaSessionManager;
-import com.gemstone.gemfire.modules.util.ContextMapper;
-
-import java.util.Properties;
-
-import javax.servlet.http.HttpSession;
-
-public class SessionExpirationCacheListener extends CacheListenerAdapter<String,HttpSession> implements Declarable {
-
- public void afterDestroy(EntryEvent<String,HttpSession> event) {
- // A Session expired. If it was destroyed by GemFire expiration, process it.
- // If it was destroyed via Session.invalidate, ignore it since it has
- // already been processed.
- DeltaSession session = null;
- if (event.getOperation() == Operation.EXPIRE_DESTROY) {
- session = (DeltaSession) event.getOldValue();
- } else {
- /*
- * This comes into play when we're dealing with an empty client proxy. We
- * need the actual destroyed object to come back from the server so that
- * any associated listeners can fire correctly. Having the destroyed
- * object come back as the callback arg depends on setting the property
- * gemfire.EXPIRE_SENDS_ENTRY_AS_CALLBACK.
- */
- Object callback = event.getCallbackArgument();
- if (callback != null && callback instanceof DeltaSession) {
- session = (DeltaSession) callback;
- DeltaSessionManager m = ContextMapper.getContext(
- session.getContextName());
- if (m != null) {
- session.setOwner(m);
- }
- }
- }
- if (session != null) {
- session.processExpired();
- }
- }
-
- public void init(Properties p) {}
-
- public boolean equals(Object obj) {
- // This method is only implemented so that RegionAttributesCreation.sameAs
- // works properly.
- if (this == obj) {
- return true;
- }
-
- if (obj == null || !(obj instanceof SessionExpirationCacheListener)) {
- return false;
- }
-
- return true;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionAttributeEvent.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionAttributeEvent.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionAttributeEvent.java
deleted file mode 100644
index 70f5376..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionAttributeEvent.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.gemstone.gemfire.modules.session.catalina.internal;
-
-import com.gemstone.gemfire.DataSerializable;
-import com.gemstone.gemfire.modules.session.catalina.DeltaSession;
-
-public interface DeltaSessionAttributeEvent extends DataSerializable {
-
- public void apply(DeltaSession session);
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionAttributeEventBatch.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionAttributeEventBatch.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionAttributeEventBatch.java
deleted file mode 100644
index b0d8681..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionAttributeEventBatch.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.session.catalina.internal;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import com.gemstone.gemfire.DataSerializer;
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.modules.gatewaydelta.AbstractGatewayDeltaEvent;
-import com.gemstone.gemfire.modules.session.catalina.DeltaSession;
-
-@SuppressWarnings("serial")
-public class DeltaSessionAttributeEventBatch extends AbstractGatewayDeltaEvent {
-
- private List<DeltaSessionAttributeEvent> eventQueue;
-
- public DeltaSessionAttributeEventBatch() {
- }
-
- public DeltaSessionAttributeEventBatch(String regionName, String sessionId, List<DeltaSessionAttributeEvent> eventQueue) {
- super(regionName, sessionId);
- this.eventQueue = eventQueue;
- }
-
- public List<DeltaSessionAttributeEvent> getEventQueue() {
- return this.eventQueue;
- }
-
- public void apply(Cache cache) {
- Region<String,DeltaSession> region = getRegion(cache);
- DeltaSession session = region.get(this.key);
- if (session == null) {
- StringBuilder builder = new StringBuilder();
- builder
- .append("Session ")
- .append(this.key)
- .append(" was not found while attempting to apply ")
- .append(this);
- cache.getLogger().warning(builder.toString());
- } else {
- session.applyAttributeEvents(region, this.eventQueue);
- if (cache.getLogger().fineEnabled()) {
- StringBuilder builder = new StringBuilder();
- builder
- .append("Applied ")
- .append(this);
- cache.getLogger().fine(builder.toString());
- }
- }
- }
-
- public void fromData(DataInput in) throws IOException, ClassNotFoundException {
- super.fromData(in);
- this.eventQueue = DataSerializer.readArrayList(in);
- }
-
- public void toData(DataOutput out) throws IOException {
- super.toData(out);
- DataSerializer.writeArrayList((ArrayList) this.eventQueue, out);
- }
-
- public String toString() {
- return new StringBuilder()
- .append("DeltaSessionAttributeEventBatch[")
- .append("regionName=")
- .append(this.regionName)
- .append("; sessionId=")
- .append(this.key)
- .append("; numberOfEvents=")
- .append(this.eventQueue.size())
- .append("]")
- .toString();
- }
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionDestroyAttributeEvent.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionDestroyAttributeEvent.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionDestroyAttributeEvent.java
deleted file mode 100644
index a8ee4fa..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionDestroyAttributeEvent.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.session.catalina.internal;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-import com.gemstone.gemfire.DataSerializable;
-import com.gemstone.gemfire.DataSerializer;
-import com.gemstone.gemfire.Instantiator;
-import com.gemstone.gemfire.modules.session.catalina.DeltaSession;
-
-
-@SuppressWarnings("serial")
-public class DeltaSessionDestroyAttributeEvent implements DeltaSessionAttributeEvent {
-
- private String attributeName;
-
- public DeltaSessionDestroyAttributeEvent() {
- }
-
- public DeltaSessionDestroyAttributeEvent(String attributeName) {
- this.attributeName = attributeName;
- }
-
- public String getAttributeName() {
- return this.attributeName;
- }
-
- public void apply(DeltaSession session) {
- session.localDestroyAttribute(this.attributeName);
- }
-
- public void fromData(DataInput in) throws IOException, ClassNotFoundException {
- this.attributeName = DataSerializer.readString(in);
- }
-
- public void toData(DataOutput out) throws IOException {
- DataSerializer.writeString(this.attributeName, out);
- }
-
- public static void registerInstantiator(int id) {
- Instantiator.register(new Instantiator(DeltaSessionDestroyAttributeEvent.class, id) {
- public DataSerializable newInstance() {
- return new DeltaSessionDestroyAttributeEvent();
- }
- });
- }
-
- public String toString() {
- return new StringBuilder()
- .append("DeltaSessionDestroyAttributeEvent[")
- .append("attributeName=")
- .append(this.attributeName)
- .append("]")
- .toString();
- }
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionStatistics.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionStatistics.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionStatistics.java
deleted file mode 100644
index 43c8df5..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionStatistics.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.session.catalina.internal;
-
-import com.gemstone.gemfire.StatisticDescriptor;
-import com.gemstone.gemfire.Statistics;
-import com.gemstone.gemfire.StatisticsFactory;
-import com.gemstone.gemfire.StatisticsType;
-import com.gemstone.gemfire.StatisticsTypeFactory;
-import com.gemstone.gemfire.internal.StatisticsTypeFactoryImpl;
-
-public class DeltaSessionStatistics {
-
- public static final String typeName = "SessionStatistics";
-
- private static final StatisticsType type;
-
- private static final String SESSIONS_CREATED = "sessionsCreated";
- private static final String SESSIONS_INVALIDATED= "sessionsInvalidated";
- private static final String SESSIONS_EXPIRED= "sessionsExpired";
-
- private static final int sessionsCreatedId;
- private static final int sessionsInvalidatedId;
- private static final int sessionsExpiredId;
-
- static {
- // Initialize type
- StatisticsTypeFactory f = StatisticsTypeFactoryImpl.singleton();
- type = f.createType(typeName, typeName,
- new StatisticDescriptor[] {
- f.createIntCounter(SESSIONS_CREATED, "The number of sessions created", "operations"),
- f.createIntCounter(SESSIONS_INVALIDATED, "The number of sessions invalidated by invoking invalidate", "operations"),
- f.createIntCounter(SESSIONS_EXPIRED, "The number of sessions invalidated by timeout", "operations"),
- }
- );
-
- // Initialize id fields
- sessionsCreatedId = type.nameToId(SESSIONS_CREATED);
- sessionsInvalidatedId = type.nameToId(SESSIONS_INVALIDATED);
- sessionsExpiredId = type.nameToId(SESSIONS_EXPIRED);
- }
-
- private final Statistics stats;
-
- public DeltaSessionStatistics(StatisticsFactory factory, String applicationName) {
- this.stats = factory.createAtomicStatistics(type, typeName + "_" + applicationName);
- }
-
- public void close() {
- this.stats.close();
- }
-
- public int getSessionsCreated() {
- return this.stats.getInt(sessionsCreatedId);
- }
-
- public void incSessionsCreated() {
- this.stats.incInt(sessionsCreatedId, 1);
- }
-
- public int getSessionsInvalidated() {
- return this.stats.getInt(sessionsInvalidatedId);
- }
-
- public void incSessionsInvalidated() {
- this.stats.incInt(sessionsInvalidatedId, 1);
- }
-
- public int getSessionsExpired() {
- return this.stats.getInt(sessionsExpiredId);
- }
-
- public void incSessionsExpired() {
- this.stats.incInt(sessionsExpiredId, 1);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionUpdateAttributeEvent.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionUpdateAttributeEvent.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionUpdateAttributeEvent.java
deleted file mode 100644
index 93fdac4..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/session/catalina/internal/DeltaSessionUpdateAttributeEvent.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.session.catalina.internal;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-import com.gemstone.gemfire.DataSerializable;
-import com.gemstone.gemfire.DataSerializer;
-import com.gemstone.gemfire.Instantiator;
-import com.gemstone.gemfire.modules.session.catalina.DeltaSession;
-
-@SuppressWarnings("serial")
-public class DeltaSessionUpdateAttributeEvent implements DeltaSessionAttributeEvent {
-
- private String attributeName;
-
- private Object attributeValue;
-
- public DeltaSessionUpdateAttributeEvent() {
- }
-
- public DeltaSessionUpdateAttributeEvent(String attributeName, Object attributeValue) {
- this.attributeName = attributeName;
- this.attributeValue = attributeValue;
- }
-
- public String getAttributeName() {
- return this.attributeName;
- }
-
- public Object getAttributeValue() {
- return this.attributeValue;
- }
-
- public void apply(DeltaSession session) {
- session.localUpdateAttribute(this.attributeName, this.attributeValue);
- }
-
- public void fromData(DataInput in) throws IOException, ClassNotFoundException {
- this.attributeName = DataSerializer.readString(in);
- this.attributeValue = DataSerializer.readObject(in);
- }
-
- public void toData(DataOutput out) throws IOException {
- DataSerializer.writeString(this.attributeName, out);
- DataSerializer.writeObject(this.attributeValue, out);
- }
-
- public static void registerInstantiator(int id) {
- Instantiator.register(new Instantiator(DeltaSessionUpdateAttributeEvent.class, id) {
- public DataSerializable newInstance() {
- return new DeltaSessionUpdateAttributeEvent();
- }
- });
- }
-
- public String toString() {
- return new StringBuilder()
- .append("DeltaSessionUpdateAttributeEvent[")
- .append("attributeName=")
- .append(this.attributeName)
- .append("; attributeValue=")
- .append(this.attributeValue)
- .append("]")
- .toString();
- }
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/Banner.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/Banner.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/Banner.java
deleted file mode 100644
index 9e3332d..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/Banner.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.util;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Properties;
-
-import com.gemstone.gemfire.internal.GemFireVersion;
-
-public class Banner {
-
- private static String VERSION = "unknown";
-
- private static Properties props = new Properties();
-
- static {
- InputStream is = Banner.class.getResourceAsStream("/modules-version.properties");
- try {
- props.load(is);
- VERSION = props.getProperty("version");
- } catch (IOException e) {
- }
- }
-
- public static String getString() {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
- print(pw);
- pw.close();
- return sw.toString();
- }
-
- private static void print(PrintWriter pw) {
- pw.println("GemFire Modules");
- pw.print("Modules version: ");
- pw.println(VERSION);
- GemFireVersion.print(pw);
- }
-
- private Banner() {}
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/BootstrappingFunction.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/BootstrappingFunction.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/BootstrappingFunction.java
deleted file mode 100644
index d749d2e..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/BootstrappingFunction.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.util;
-
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.CacheFactory;
-import com.gemstone.gemfire.cache.execute.Execution;
-import com.gemstone.gemfire.cache.execute.Function;
-import com.gemstone.gemfire.cache.execute.FunctionContext;
-import com.gemstone.gemfire.cache.execute.FunctionService;
-import com.gemstone.gemfire.cache.execute.ResultCollector;
-import com.gemstone.gemfire.distributed.internal.DM;
-import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
-import com.gemstone.gemfire.distributed.internal.MembershipListener;
-import com.gemstone.gemfire.distributed.internal.membership.InternalDistributedMember;
-
-import java.util.List;
-import java.util.Set;
-
-public class BootstrappingFunction implements Function, MembershipListener {
-
- private static final long serialVersionUID = 1856043174458190605L;
-
- public static final String ID = "bootstrapping-function";
-
- private static final int TIME_TO_WAIT_FOR_CACHE = Integer.getInteger("gemfiremodules.timeToWaitForCache", 30000);
-
- @Override
- public void execute(FunctionContext context) {
- // Verify that the cache exists before continuing.
- // When this function is executed by a remote membership listener, it is
- // being invoked before the cache is started.
- Cache cache = verifyCacheExists();
-
- // Register as membership listener
- registerAsMembershipListener(cache);
-
- // Register functions
- registerFunctions();
-
- // Return status
- context.getResultSender().lastResult(Boolean.TRUE);
- }
-
- private Cache verifyCacheExists() {
- int timeToWait = 0;
- Cache cache = null;
- while (timeToWait < TIME_TO_WAIT_FOR_CACHE) {
- try {
- cache = CacheFactory.getAnyInstance();
- break;
- } catch (Exception ignore) {
- //keep trying and hope for the best
- }
- try {
- Thread.sleep(250);
- } catch (InterruptedException ie) {
- Thread.currentThread().interrupt();
- break;
- }
- timeToWait += 250;
- }
-
- if (cache == null) {
- cache = new CacheFactory().create();
- }
-
- return cache;
- }
-
- private void registerAsMembershipListener(Cache cache) {
- DM dm = ((InternalDistributedSystem) cache.getDistributedSystem()).getDistributionManager();
- dm.addMembershipListener(this);
- }
-
- private void registerFunctions() {
- // Synchronize so that these functions aren't registered twice. The
- // constructor for the CreateRegionFunction creates a meta region.
- synchronized (ID) {
- // Register the create region function if it is not already registered
- if (!FunctionService.isRegistered(CreateRegionFunction.ID)) {
- FunctionService.registerFunction(new CreateRegionFunction());
- }
-
- // Register the touch partitioned region entries function if it is not already registered
- if (!FunctionService.isRegistered(TouchPartitionedRegionEntriesFunction.ID)) {
- FunctionService.registerFunction(new TouchPartitionedRegionEntriesFunction());
- }
-
- // Register the touch replicated region entries function if it is not already registered
- if (!FunctionService.isRegistered(TouchReplicatedRegionEntriesFunction.ID)) {
- FunctionService.registerFunction(new TouchReplicatedRegionEntriesFunction());
- }
-
- // Register the region size function if it is not already registered
- if (!FunctionService.isRegistered(RegionSizeFunction.ID)) {
- FunctionService.registerFunction(new RegionSizeFunction());
- }
- }
- }
-
- private void bootstrapMember(InternalDistributedMember member) {
- // Create and execute the function
- Cache cache = CacheFactory.getAnyInstance();
- Execution execution = FunctionService.onMember(cache.getDistributedSystem(), member);
- ResultCollector collector = execution.execute(this);
-
- // Get the result. Nothing is being done with it.
- try {
- collector.getResult();
- } catch (Exception e) {
- // If an exception occurs in the function, log it.
- cache.getLogger().warning("Caught unexpected exception:", e);
- }
- }
-
- @Override
- public String getId() {
- return ID;
- }
-
- @Override
- public boolean hasResult() {
- return true;
- }
-
- @Override
- public boolean isHA() {
- return false;
- }
-
- @Override
- public boolean optimizeForWrite() {
- return false;
- }
-
- public int hashCode() {
- // This method is only implemented so that multiple instances of this class
- // don't get added as membership listeners.
- return ID.hashCode();
- }
-
- public boolean equals(Object obj) {
- // This method is only implemented so that multiple instances of this class
- // don't get added as membership listeners.
- if (this == obj) {
- return true;
- }
-
- if (obj == null || !(obj instanceof BootstrappingFunction)) {
- return false;
- }
-
- return true;
- }
-
- @Override
- public void memberDeparted(InternalDistributedMember id, boolean crashed) {
- }
-
- @Override
- public void memberJoined(InternalDistributedMember id) {
- bootstrapMember(id);
- }
-
- @Override
- public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
- }
-
- @Override
- public void quorumLost(Set<InternalDistributedMember> internalDistributedMembers,
- List<InternalDistributedMember> internalDistributedMembers2) {
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/ClassLoaderObjectInputStream.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/ClassLoaderObjectInputStream.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/ClassLoaderObjectInputStream.java
deleted file mode 100644
index 6dc991a..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/ClassLoaderObjectInputStream.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.util;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectStreamClass;
-
-/**
- * This class is used when session attributes need to be reconstructed with a
- * new classloader.
- */
-public class ClassLoaderObjectInputStream extends ObjectInputStream {
-
- private final ClassLoader loader;
-
- public ClassLoaderObjectInputStream(InputStream in,
- ClassLoader loader) throws IOException {
- super(in);
- this.loader = loader;
- }
-
- @Override
- public Class<?> resolveClass(
- ObjectStreamClass desc) throws ClassNotFoundException {
- return Class.forName(desc.getName(), false, loader);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/ContextMapper.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/ContextMapper.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/ContextMapper.java
deleted file mode 100644
index d1a5404..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/ContextMapper.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.gemstone.gemfire.modules.util;
-
-import com.gemstone.gemfire.modules.session.catalina.DeltaSessionManager;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * This basic singleton class maps context paths to manager instances.
- *
- * This class exists for a particular corner case described here. Consider a
- * client-server environment with empty client regions *and* the need to fire
- * HttpSessionListener destroy events. When a session expires, in this scenario,
- * the Gemfire destroy events originate on the server and, with some Gemfire
- * hackery, the destroyed object ends up as the event's callback argument. At
- * the point that the CacheListener then gets the event, the re-constituted
- * session object has no manager associated and so we need to re-attach a
- * manager to it so that events can be fired correctly.
- */
-
-public class ContextMapper {
-
- private static Map<String, DeltaSessionManager> managers =
- new HashMap<String, DeltaSessionManager>();
-
- private ContextMapper() {
- // This is a singleton
- }
-
- public static void addContext(String path, DeltaSessionManager manager) {
- managers.put(path, manager);
- }
-
- public static DeltaSessionManager getContext(String path) {
- return managers.get(path);
- }
-
- public static DeltaSessionManager removeContext(String path) {
- return managers.remove(path);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/CreateRegionFunction.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/CreateRegionFunction.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/CreateRegionFunction.java
deleted file mode 100644
index 65c2c51..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/CreateRegionFunction.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.util;
-
-import com.gemstone.gemfire.cache.*;
-
-import com.gemstone.gemfire.cache.client.ClientCache;
-import com.gemstone.gemfire.cache.execute.*;
-import com.gemstone.gemfire.cache.partition.PartitionRegionHelper;
-
-import com.gemstone.gemfire.distributed.DistributedLockService;
-
-import com.gemstone.gemfire.distributed.internal.locks.DistributedMemberLock;
-
-import com.gemstone.gemfire.internal.cache.PartitionedRegion;
-
-import com.gemstone.gemfire.internal.cache.xmlcache.CacheXmlGenerator;
-import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-
-import java.util.Properties;
-
-public class CreateRegionFunction implements Function, Declarable {
-
- private static final long serialVersionUID = -9210226844302128969L;
-
- private final Cache cache;
-
- private final Region<String,RegionConfiguration> regionConfigurationsRegion;
-
- public static final String ID = "create-region-function";
-
- private static final boolean DUMP_SESSION_CACHE_XML =
- Boolean.getBoolean("gemfiremodules.dumpSessionCacheXml");
-
- private static final String REGION_CONFIGURATION_METADATA_REGION = "__regionConfigurationMetadata";
-
- public CreateRegionFunction() {
- this(CacheFactory.getAnyInstance());
- }
-
- public CreateRegionFunction(Cache cache) {
- this.cache = cache;
- this.regionConfigurationsRegion = createRegionConfigurationMetadataRegion();
- }
-
- public CreateRegionFunction(ClientCache cache) {
- this.cache = null;
- this.regionConfigurationsRegion = null;
- }
-
- public void execute(FunctionContext context) {
- RegionConfiguration configuration = (RegionConfiguration) context.getArguments();
- if (this.cache.getLogger().fineEnabled()) {
- StringBuilder builder = new StringBuilder();
- builder
- .append("Function ")
- .append(ID)
- .append(" received request: ")
- .append(configuration);
- this.cache.getLogger().fine(builder.toString());
- }
-
- // Create or retrieve region
- RegionStatus status = createOrRetrieveRegion(configuration);
-
- // Dump XML
- if (DUMP_SESSION_CACHE_XML) {
- writeCacheXml();
- }
- // Return status
- context.getResultSender().lastResult(status);
- }
-
- private RegionStatus createOrRetrieveRegion(RegionConfiguration configuration) {
- RegionStatus status = null;
- String regionName = configuration.getRegionName();
- if (this.cache.getLogger().fineEnabled()) {
- this.cache.getLogger().fine("Function " + ID + " retrieving region named: " + regionName);
- }
- Region region = this.cache.getRegion(regionName);
- if (region == null) {
- status = createRegion(configuration);
- } else {
- status = RegionStatus.VALID;
- try {
- RegionHelper.validateRegion(this.cache, configuration, region);
- } catch (Exception e) {
- if (!e.getMessage()
- .equals(
- LocalizedStrings.RegionAttributesCreation_CACHELISTENERS_ARE_NOT_THE_SAME
- .toLocalizedString())) {
- this.cache.getLogger().warning(e);
- }
- status = RegionStatus.INVALID;
- }
- }
- return status;
- }
-
- public String getId() {
- return ID;
- }
-
- public boolean optimizeForWrite() {
- return false;
- }
-
- public boolean isHA() {
- return true;
- }
-
- public boolean hasResult() {
- return true;
- }
-
- public void init(Properties properties) {
- }
-
- private RegionStatus createRegion(RegionConfiguration configuration) {
- // Get a distributed lock
- DistributedMemberLock dml = getDistributedLock();
- if (this.cache.getLogger().fineEnabled()) {
- this.cache.getLogger().fine(this + ": Attempting to lock " + dml);
- }
- long start=0, end=0;
- RegionStatus status = null;
- try {
- if (this.cache.getLogger().fineEnabled()) {
- start = System.currentTimeMillis();
- }
- // Obtain a lock on the distributed lock
- dml.lockInterruptibly();
- if (this.cache.getLogger().fineEnabled()) {
- end = System.currentTimeMillis();
- this.cache.getLogger().fine(this + ": Obtained lock on " + dml + " in " + (end-start) + " ms");
- }
-
- // Attempt to get the region again after the lock has been obtained
- String regionName = configuration.getRegionName();
- Region region = this.cache.getRegion(regionName);
-
- // If it exists now, validate it.
- // Else put an entry into the sessionRegionConfigurationsRegion
- // while holding the lock. This will create the region in all VMs.
- if (region == null) {
- this.regionConfigurationsRegion.put(regionName, configuration);
-
- // Retrieve the region after creating it
- region = this.cache.getRegion(regionName);
- // If the region is null now, it wasn't created for some reason
- // (e.g. the region attributes id were invalid)
- if (region == null) {
- status = RegionStatus.INVALID;
- } else {
- // Create the PR buckets if necessary)
- if (region instanceof PartitionedRegion) {
- PartitionedRegion pr = (PartitionedRegion) region;
- createBuckets(pr);
- }
- status = RegionStatus.VALID;
- }
- } else {
- status = RegionStatus.VALID;
- try {
- RegionHelper.validateRegion(this.cache, configuration, region);
- } catch (Exception e) {
- if (!e.getMessage()
- .equals(
- LocalizedStrings.RegionAttributesCreation_CACHELISTENERS_ARE_NOT_THE_SAME
- .toLocalizedString())) {
- this.cache.getLogger().warning(e);
- }
- status = RegionStatus.INVALID;
- }
- }
- } catch(Exception e) {
- StringBuilder builder = new StringBuilder();
- builder
- .append(this)
- .append(": Caught Exception attempting to create region named ")
- .append(configuration.getRegionName())
- .append(":");
- this.cache.getLogger().warning(builder.toString(), e);
- status = RegionStatus.INVALID;
- }
- finally {
- // Unlock the distributed lock
- try {
- dml.unlock();
- }
- catch (Exception e) {}
- }
- return status;
- }
-
- private void createBuckets(PartitionedRegion region) {
- PartitionRegionHelper.assignBucketsToPartitions(region);
- }
-
- private Region<String,RegionConfiguration> createRegionConfigurationMetadataRegion() {
- // a sessionFactory in hibernate could have been re-started
- // so, it is possible that this region exists already
- Region<String, RegionConfiguration> r = this.cache
- .getRegion(REGION_CONFIGURATION_METADATA_REGION);
- if (r != null) {
- return r;
- }
- RegionFactory<String, RegionConfiguration> factory = this.cache
- .createRegionFactory(RegionShortcut.REPLICATE);
- factory.addCacheListener(new RegionConfigurationCacheListener());
- return factory.create(REGION_CONFIGURATION_METADATA_REGION);
- }
-
- private void writeCacheXml() {
- File file = new File("cache-" + System.currentTimeMillis() + ".xml");
- try {
- PrintWriter pw = new PrintWriter(new FileWriter(file), true);
- CacheXmlGenerator.generate(this.cache, pw);
- pw.close();
- } catch (IOException e) {}
- }
-
- private DistributedMemberLock getDistributedLock() {
- String dlsName = this.regionConfigurationsRegion.getName();
- DistributedLockService lockService = initializeDistributedLockService(dlsName);
- String lockToken = dlsName + "_token";
- return new DistributedMemberLock(lockService, lockToken);
- }
-
- private DistributedLockService initializeDistributedLockService(String dlsName) {
- DistributedLockService lockService = DistributedLockService.getServiceNamed(dlsName);
- if (lockService == null) {
- lockService = DistributedLockService.create(dlsName, this.cache.getDistributedSystem());
- }
- return lockService;
- }
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/DebugCacheListener.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/DebugCacheListener.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/DebugCacheListener.java
deleted file mode 100644
index 8f1d4d3..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/DebugCacheListener.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.util;
-
-import java.util.Properties;
-
-import com.gemstone.gemfire.cache.Declarable;
-import com.gemstone.gemfire.cache.EntryEvent;
-import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
-
-@SuppressWarnings("unchecked")
-public class DebugCacheListener extends CacheListenerAdapter implements Declarable {
-
- public void afterCreate(EntryEvent event) {
- log(event);
- }
-
- public void afterUpdate(EntryEvent event) {
- log(event);
- }
-
- public void afterInvalidate(EntryEvent event) {
- log(event);
- }
-
- public void afterDestroy(EntryEvent event) {
- log(event);
- }
-
- private void log(EntryEvent event) {
- StringBuilder builder = new StringBuilder();
- builder
- .append("DebugCacheListener: Received ")
- .append(event.getOperation())
- .append(" for key=")
- .append(event.getKey());
- if (event.getNewValue() != null) {
- builder
- .append("; value=")
- .append(event.getNewValue());
- }
- event.getRegion().getCache().getLogger().info(builder.toString());
- }
-
- public void init(Properties p) {}
-
- public boolean equals(Object obj) {
- // This method is only implemented so that RegionCreator.validateRegion works properly.
- // The CacheListener comparison fails because two of these instances are not equal.
- if (this == obj) {
- return true;
- }
-
- if (obj == null || !(obj instanceof DebugCacheListener)) {
- return false;
- }
-
- return true;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/ModuleStatistics.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/ModuleStatistics.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/ModuleStatistics.java
deleted file mode 100644
index 5b3a9fe..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/ModuleStatistics.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.util;
-
-import com.gemstone.gemfire.StatisticDescriptor;
-import com.gemstone.gemfire.Statistics;
-import com.gemstone.gemfire.StatisticsFactory;
-import com.gemstone.gemfire.StatisticsType;
-import com.gemstone.gemfire.StatisticsTypeFactory;
-import com.gemstone.gemfire.distributed.DistributedSystem;
-import com.gemstone.gemfire.internal.StatisticsTypeFactoryImpl;
-
-/**
- * Statistics for modules.
- *
- * @author sbawaska
- */
-public class ModuleStatistics {
-
- private static final StatisticsType type;
-
- private static final int cacheHitsId;
-
- private static final int cacheMissesId;
-
- private static final int hibernateEntityDestroyJobsScheduledId;
-
- static {
- StatisticsTypeFactory f = StatisticsTypeFactoryImpl.singleton();
- type = f
- .createType(
- "pluginStats",
- "statistics for hibernate plugin and hibernate L2 cache",
- new StatisticDescriptor[]{
- f.createLongCounter("cacheHits",
- "number of times an entity was found in L2 cache", "count"),
- f.createLongCounter("cacheMisses",
- "number of times an entity was NOT found in l2 cache",
- "count"),
- f.createLongCounter(
- "hibernateEntityDestroyJobsScheduled",
- "number of entities scheduled for destroy because of version conflict with a remote member",
- "jobs")});
-
- cacheHitsId = type.nameToId("cacheHits");
- cacheMissesId = type.nameToId("cacheMisses");
- hibernateEntityDestroyJobsScheduledId = type
- .nameToId("hibernateEntityDestroyJobsScheduled");
- }
-
- private final Statistics stats;
-
- private static ModuleStatistics instance;
-
- private ModuleStatistics(StatisticsFactory factory) {
- this.stats = factory.createAtomicStatistics(type, "PluginStatistics");
- }
-
- public static ModuleStatistics getInstance(DistributedSystem system) {
- synchronized (ModuleStatistics.class) {
- if (instance == null) {
- instance = new ModuleStatistics(system);
- }
- }
- return instance;
- }
-
- public void incCacheHit() {
- stats.incLong(cacheHitsId, 1);
- }
-
- public long getCacheHits() {
- return stats.getLong(cacheHitsId);
- }
-
- public void incCacheMiss() {
- stats.incLong(cacheMissesId, 1);
- }
-
- public long getCacheMiss() {
- return stats.getLong(cacheMissesId);
- }
-
- public void incHibernateDestroyJobsScheduled() {
- stats.incLong(hibernateEntityDestroyJobsScheduledId, 1);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/RegionConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/RegionConfiguration.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/RegionConfiguration.java
deleted file mode 100644
index 6a82cbb..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/RegionConfiguration.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.util;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.io.InputStream;
-
-import com.gemstone.gemfire.DataSerializable;
-import com.gemstone.gemfire.DataSerializer;
-import com.gemstone.gemfire.Instantiator;
-import com.gemstone.gemfire.cache.CacheWriter;
-import com.gemstone.gemfire.cache.CustomExpiry;
-
-/**
- * Class <code>RegionConfiguration</code> encapsulates the configuration
- * attributes for a <code>Region</code> to be created on the server.
- *
- * @author Barry Oglesby
- *
- * @since 6.5
- */
-@SuppressWarnings({"serial","unchecked"})
-public class RegionConfiguration implements DataSerializable {
-
- /**
- * The name of the <code>Region</code> to be created
- */
- private String regionName;
-
- /**
- * The id of the <code>RegionAttributes</code> to be used
- */
- private String regionAttributesId;
-
- /**
- * The default max inactive interval. The default value is -1.
- */
- public static final int DEFAULT_MAX_INACTIVE_INTERVAL = -1;
-
- /**
- * The maximum time interval in seconds before entries are expired
- */
- private int maxInactiveInterval = DEFAULT_MAX_INACTIVE_INTERVAL;
-
- /**
- * The <code>CustomExpiry</code> to be used
- */
- private CustomExpiry customExpiry;
-
- /**
- * Whether delta replication across a <code>Gateway</code> is enabled.
- */
- private boolean enableGatewayDeltaReplication = false;
-
- /**
- * Whether replication across a <code>Gateway</code> is enabled.
- */
- private boolean enableGatewayReplication = false;
-
- /**
- * Whether to add a <code>DebugCacheListener</code> to the <code>Region</code>.
- */
- private boolean enableDebugListener = false;
-
- /**
- * Whether to add a cache listener for session expiration events
- */
- private boolean enableSessionExpirationCacheListener = false;
-
- /**
- * name for the CacheWriter to be associated with this region. This cache writer must have a
- * zero arg constructor and must be present on the classpath on the server.
- */
- private String cacheWriterName;
-
- /**
- * Default constructor used by the <code>DataSerialiable</code> interface
- */
- public RegionConfiguration() {}
-
- /**
- * Sets the name of the <code>Region</code> to be created
- *
- * @param regionName
- * The name of the <code>Region</code> to be created
- */
- public void setRegionName(String regionName) {
- this.regionName = regionName;
- }
-
- /**
- * Returns the name of the <code>Region</code> to be created
- *
- * @return the name of the <code>Region</code> to be created
- */
- public String getRegionName() {
- return this.regionName;
- }
-
- /**
- * Sets the id of the <code>RegionAttributes</code> to be used
- *
- * @param regionAttributesId
- * The id of the <code>RegionAttributes</code> to be used
- */
- public void setRegionAttributesId(String regionAttributesId) {
- this.regionAttributesId = regionAttributesId;
- }
-
- /**
- * Returns the id of the <code>RegionAttributes</code> to be used
- *
- * @return the id of the <code>RegionAttributes</code> to be used
- */
- public String getRegionAttributesId() {
- return this.regionAttributesId;
- }
-
- /**
- * Sets the maximum time interval in seconds before entries are expired
- *
- * @param maxInactiveInterval
- * The maximum time interval in seconds before entries are expired
- */
- public void setMaxInactiveInterval(int maxInactiveInterval) {
- this.maxInactiveInterval = maxInactiveInterval;
- }
-
- /**
- * Returns the maximum time interval in seconds entries are expired
- *
- * @return the maximum time interval in seconds before entries are expired
- */
- public int getMaxInactiveInterval() {
- return this.maxInactiveInterval;
- }
-
- /**
- * Sets the <code>CustomExpiry</code> to be used
- *
- * @param customExpiry
- * The <code>CustomExpiry</code> to be used
- */
- public void setCustomExpiry(CustomExpiry customExpiry) {
- this.customExpiry = customExpiry;
- }
-
- /**
- * Returns the <code>CustomExpiry</code> to be used
- *
- * @return the <code>CustomExpiry</code> to be used
- */
- public CustomExpiry getCustomExpiry() {
- return this.customExpiry;
- }
-
- /**
- * Enables/disables delta replication across a <code>Gateway</code>.
- *
- * @param enableGatewayDeltaReplication
- * true to enable, false to disable gateway delta replication.
- */
- public void setEnableGatewayDeltaReplication(boolean enableGatewayDeltaReplication) {
- this.enableGatewayDeltaReplication = enableGatewayDeltaReplication;
- }
-
- /**
- * Returns whether delta replication across a <code>Gateway</code> is enabled.
- *
- * @return whether delta replication across a <code>Gateway</code> is enabled
- */
- public boolean getEnableGatewayDeltaReplication() {
- return this.enableGatewayDeltaReplication;
- }
-
- /**
- * Enables/disables replication across a <code>Gateway</code>.
- *
- * @param enableGatewayReplication
- * true to enable, false to disable gateway replication.
- */
- public void setEnableGatewayReplication(boolean enableGatewayReplication) {
- this.enableGatewayReplication = enableGatewayReplication;
- }
-
- /**
- * Returns whether replication across a <code>Gateway</code> is enabled.
- *
- * @return whether replication across a <code>Gateway</code> is enabled
- */
- public boolean getEnableGatewayReplication() {
- return this.enableGatewayReplication;
- }
-
- /**
- * Enables/disables a debug <code>CacheListener</code>.
- *
- * @param enableDebugListener
- * true to enable, false to disable debug <code>CacheListener</code>.
- */
- public void setEnableDebugListener(boolean enableDebugListener) {
- this.enableDebugListener = enableDebugListener;
- }
-
- /**
- * Returns whether a debug <code>CacheListener</code> is enabled.
- *
- * @return whether a debug <code>CacheListener</code> is enabled
- */
- public boolean getEnableDebugListener() {
- return this.enableDebugListener;
- }
-
- public void setSessionExpirationCacheListener(boolean enableSessionExpirationCacheListener) {
- this.enableSessionExpirationCacheListener = enableSessionExpirationCacheListener;
- }
-
- public boolean getSessionExpirationCacheListener() {
- return this.enableSessionExpirationCacheListener;
- }
-
- public void toData(DataOutput out) throws IOException {
- DataSerializer.writeString(this.regionName, out);
- DataSerializer.writeString(this.regionAttributesId, out);
- DataSerializer.writePrimitiveInt(this.maxInactiveInterval, out);
- DataSerializer.writeObject(this.customExpiry, out);
- DataSerializer.writeBoolean(this.enableGatewayDeltaReplication, out);
- DataSerializer.writeBoolean(this.enableGatewayReplication, out);
- DataSerializer.writeBoolean(this.enableDebugListener, out);
- DataSerializer.writeString(this.cacheWriterName, out);
- DataSerializer.writeBoolean(this.enableSessionExpirationCacheListener, out);
- }
-
- public void fromData(DataInput in) throws IOException, ClassNotFoundException {
- this.regionName = DataSerializer.readString(in);
- this.regionAttributesId = DataSerializer.readString(in);
- this.maxInactiveInterval = DataSerializer.readPrimitiveInt(in);
- this.customExpiry = DataSerializer.readObject(in);
- this.enableGatewayDeltaReplication = DataSerializer.readBoolean(in);
- this.enableGatewayReplication = DataSerializer.readBoolean(in);
- this.enableDebugListener = DataSerializer.readBoolean(in);
- this.cacheWriterName = DataSerializer.readString(in);
-
- // This allows for backwards compatibility with 2.1 clients
- if (((InputStream)in).available() > 0) {
- this.enableSessionExpirationCacheListener = DataSerializer.readBoolean(in);
- } else {
- this.enableSessionExpirationCacheListener = false;
- }
- }
-
- /**
- * Registers an <code>Instantiator</code> for the
- * <code>SessionConfiguration</code> class
- */
- public static void registerInstantiator(int id) {
- Instantiator.register(new Instantiator(RegionConfiguration.class, id) {
- public DataSerializable newInstance() {
- return new RegionConfiguration();
- }
- });
- }
-
- public String toString() {
- return new StringBuilder()
- .append("RegionConfiguration[")
- .append("regionName=")
- .append(this.regionName)
- .append("; regionAttributesId=")
- .append(this.regionAttributesId)
- .append("; maxInactiveInterval=")
- .append(this.maxInactiveInterval)
- .append("; enableGatewayDeltaReplication=")
- .append(this.enableGatewayDeltaReplication)
- .append("; enableGatewayReplication=")
- .append(this.enableGatewayReplication)
- .append("; enableDebugListener=")
- .append(this.enableDebugListener)
- .append("; enableSessionExpirationCacheListener=")
- .append(this.enableSessionExpirationCacheListener)
- .append("; cacheWriter=")
- .append(this.cacheWriterName)
- .append("]")
- .toString();
- }
-
- /**
- * set the fully qualified name of the {@link CacheWriter} to be created on
- * the server. The cacheWriter must have a zero arg constructor, and must be
- * present on the classpath on the server.
- * @param cacheWriterName fully qualified class name of the cacheWriter
- */
- public void setCacheWriterName(String cacheWriterName) {
- this.cacheWriterName = cacheWriterName;
- }
-
- public String getCacheWriterName() {
- return cacheWriterName;
- }
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/63bc5f03/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/RegionConfigurationCacheListener.java
----------------------------------------------------------------------
diff --git a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/RegionConfigurationCacheListener.java b/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/RegionConfigurationCacheListener.java
deleted file mode 100644
index 2883b0a..0000000
--- a/modules/gemfire-modules/src/main/java/com/gemstone/gemfire/modules/util/RegionConfigurationCacheListener.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.modules.util;
-
-import com.gemstone.gemfire.cache.*;
-
-import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
-import java.util.Properties;
-
-public class RegionConfigurationCacheListener extends CacheListenerAdapter<String,RegionConfiguration> implements Declarable {
-
- private Cache cache;
-
- public RegionConfigurationCacheListener() {
- this.cache = CacheFactory.getAnyInstance();
- }
-
- public void afterCreate(EntryEvent<String,RegionConfiguration> event) {
- RegionConfiguration configuration = event.getNewValue();
- if (this.cache.getLogger().fineEnabled()) {
- this.cache.getLogger().fine("RegionConfigurationCacheListener received afterCreate for region " + event.getKey());
- }
- // Create region
- // this is a replicate region, and many VMs can be doing create region
- // simultaneously, so ignore the RegionExistsException
- try {
- Region region = RegionHelper.createRegion(this.cache, configuration);
- if (this.cache.getLogger().fineEnabled()) {
- this.cache.getLogger().fine("RegionConfigurationCacheListener created region: " + region);
- }
- } catch (RegionExistsException exists) {
- // ignore
- this.cache.getLogger().fine("Region with configuration "+configuration+" existed");
- }
- }
-
- @Override
- public void afterUpdate(EntryEvent<String, RegionConfiguration> event) {
- // a region could have been destroyed and then
- // re-created, we want to create region again
- // on remote nodes
- afterCreate(event);
- }
-
- public void afterRegionCreate(RegionEvent<String,RegionConfiguration> event) {
- StringBuilder builder1=null, builder2=null;
- Region<String,RegionConfiguration> region = event.getRegion();
- if (this.cache.getLogger().fineEnabled()) {
- builder1 = new StringBuilder();
- int regionSize = region.size();
- if (regionSize > 0) {
- builder1
- .append("RegionConfigurationCacheListener region ")
- .append(region.getName())
- .append(" has been initialized with the following ")
- .append(regionSize)
- .append(" region configurations:\n");
- builder2 = new StringBuilder();
- builder2
- .append("RegionConfigurationCacheListener created the following ")
- .append(regionSize)
- .append(" regions:\n");
- } else {
- builder1
- .append("RegionConfigurationCacheListener region ")
- .append(region.getName())
- .append(" has been initialized with no region configurations");
- }
- }
- for (RegionConfiguration configuration : region.values()) {
- if (this.cache.getLogger().fineEnabled()) {
- builder1
- .append("\t")
- .append(configuration);
- }
- try {
- Region createRegion = RegionHelper.createRegion(this.cache, configuration);
- if (this.cache.getLogger().fineEnabled()) {
- builder2
- .append("\t")
- .append(createRegion);
- }
- } catch (RegionExistsException exists) {
- // could have been concurrently created by another function
- if (this.cache.getLogger().fineEnabled()) {
- builder2.append("\t").append(" region existed");
- }
- }
-
- }
- if (this.cache.getLogger().fineEnabled()) {
- this.cache.getLogger().fine(builder1.toString());
- if (builder2 != null) {
- this.cache.getLogger().fine(builder2.toString());
- }
- }
- }
-
- public void init(Properties p) {
- }
-}