geode-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aba...@apache.org
Subject [49/51] [partial] incubator-geode git commit: GEODE-917: rename gemfire subprojects to geode
Date Wed, 17 Feb 2016 18:23:53 GMT
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireCacheListener.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireCacheListener.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireCacheListener.java
deleted file mode 100644
index e684c7d..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireCacheListener.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate;
-
-import java.util.Properties;
-
-import com.gemstone.gemfire.cache.Declarable;
-import com.gemstone.gemfire.cache.EntryEvent;
-import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
-
-public class GemFireCacheListener extends CacheListenerAdapter implements
-    Declarable {
-
-  @Override
-  public void afterCreate(EntryEvent event) {
-    System.out.println("Create : " + event.getKey() + " / "
-        + event.getNewValue());
-  }
-
-  @Override
-  public void afterDestroy(EntryEvent event) {
-    System.out.println("Destroy : " + event.getKey());
-  }
-
-  @Override
-  public void afterInvalidate(EntryEvent event) {
-    System.out.println("Invalidate : " + event.getKey());
-  }
-
-  @Override
-  public void afterUpdate(EntryEvent event) {
-    System.out.println("Update : " + event.getKey() + " / "
-        + event.getNewValue());
-  }
-
-  public void init(Properties props) {
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireCacheProvider.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireCacheProvider.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireCacheProvider.java
deleted file mode 100644
index 9cd6c88..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireCacheProvider.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate;
-
-import com.gemstone.gemfire.cache.CacheFactory;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.RegionShortcut;
-import com.gemstone.gemfire.cache.execute.FunctionService;
-import com.gemstone.gemfire.distributed.DistributedLockService;
-import com.gemstone.gemfire.internal.logging.LogService;
-import com.gemstone.gemfire.modules.util.CreateRegionFunction;
-import com.gemstone.gemfire.modules.util.RegionConfiguration;
-import org.apache.logging.log4j.Logger;
-import org.hibernate.cache.Cache;
-import org.hibernate.cache.CacheException;
-import org.hibernate.cache.CacheProvider;
-import org.hibernate.cache.Timestamper;
-
-import java.util.Iterator;
-import java.util.Properties;
-
-@SuppressWarnings("deprecation")
-public class GemFireCacheProvider implements CacheProvider {
-
-  private static final Logger logger = LogService.getLogger();
-
-  protected com.gemstone.gemfire.cache.Cache _cache;
-
-  private DistributedLockService distributedLockService;
-
-  private Properties regionAttributes = new Properties();
-
-  private final String DEFAULT_REGION_TYPE = RegionShortcut.REPLICATE_HEAP_LRU
-      .name();
-
-  private final String HIBERNATE_DLOCK_SERVICE_NAME = "hibernate-cache-lock-service";
-  /**
-   * Configure the cache
-   * 
-   * @param regionName
-   *          the name of the cache region
-   * @param properties
-   *          configuration settings
-   * @throws CacheException
-   */
-  public Cache buildCache(String regionName, Properties properties)
-      throws CacheException {
-    logger.info("GemFireCacheProvider: Creating cache: " + regionName);
-    Region region = retrieveOrCreateRegion(regionName);
-    Cache cache = null;
-    if (region == null) {
-      // Doh, blow up
-      throw new RuntimeException("Couldn't find cache region : " + regionName);
-    }
-    else {
-      cache = new GemFireCache(region, this.distributedLockService);
-    }
-    logger.info("GemFireCacheProvider: Created cache: " + regionName + "->" + cache);
-    return cache;
-  }
-
-  public boolean isMinimalPutsEnabledByDefault() {
-    return false;
-  }
-
-  /**
-   * Generate a timestamp
-   */
-  public long nextTimestamp() {
-    return Timestamper.next();
-  }
-
-  /**
-   * Returns the region if already created, otherwise first tries to create it
-   * from cache.xml, if not specified in cache.xml, create the region from the
-   * properties specified in hibernate.cfg.xml. Two types of properties can be
-   * specified in hibernate.cfg.xml
-   * <ol>
-   * <li>gemfire.default-region-attributes-id: the default region type to
-   * create. (default value for this is REPLICATE)
-   * <li>gemfire.region-attributes-for:fullyQualifiedRegionName when a region
-   * wants to override the default region type
-   * </ol>
-   * 
-   * @param regionName
-   * @return the region
-   */
-  protected Region retrieveOrCreateRegion(String regionName) {
-    // TODO client regions
-    Region r = _cache.getRegion(regionName);
-    if (r == null) {
-      String regionType = getRegionType(regionName);
-      r = _cache.createRegionFactory(RegionShortcut.valueOf(regionType))
-          .create(regionName);
-      RegionConfiguration regionConfig = new RegionConfiguration();
-      regionConfig.setRegionName(regionName);
-      regionConfig.setRegionAttributesId(regionType);
-      FunctionService.onMembers(_cache.getDistributedSystem())
-          .withArgs(regionConfig).execute(CreateRegionFunction.ID).getResult();
-    }
-    return r;
-  }
-
-  /**
-   * returns the type of region to create by consulting the properties specified
-   * in hibernate.cfg.xml
-   * 
-   * @see #retrieveOrCreateRegion(String)
-   * @param regionName
-   * @return string representation of {@link RegionShortcut}
-   */
-  private String getRegionType(String regionName) {
-    String rType = regionAttributes
-        .getProperty("gemfire.default-region-attributes-id");
-    if (rType == null) {
-      rType = DEFAULT_REGION_TYPE;
-    }
-    // iterate to find overridden property for a region
-    Iterator<Object> it = regionAttributes.keySet().iterator();
-    while (it.hasNext()) {
-      String current = (String)it.next();
-      if (current.contains(regionName)) {
-        rType = regionAttributes.getProperty(current);
-        break;
-      }
-    }
-    return rType.toUpperCase();
-  }
-
-  /**
-   * Callback to perform any necessary initialization of the underlying cache
-   * implementation during SessionFactory construction.
-   * 
-   * @param properties
-   *          current configuration settings.
-   */
-  public void start(Properties properties) throws CacheException {
-    logger.info("GemFireCacheProvider: Creating cache provider");
-
-    // We have to strip out any unknown properties, do so here
-    Properties gemfireOnlyProperties = new Properties();
-    for (Object keyObj : properties.keySet()) {
-      String key = (String)keyObj;
-      if (key.contains("region-attributes")) {
-        regionAttributes.put(key, properties.get(key));
-      }
-      else if (key.startsWith("gemfire.")) {
-        gemfireOnlyProperties.setProperty(key.replace("gemfire.", ""),
-            properties.getProperty(key));
-      }
-    }
-
-    // Create cache and d-lock service
-    try {
-      _cache = new CacheFactory(gemfireOnlyProperties).create();
-      DistributedLockService existing = DistributedLockService.getServiceNamed(HIBERNATE_DLOCK_SERVICE_NAME);
-      if (existing == null) {
-        this.distributedLockService = DistributedLockService.create(
-            HIBERNATE_DLOCK_SERVICE_NAME, _cache.getDistributedSystem());
-      } else {
-        this.distributedLockService = existing;
-      }
-    } 
-    catch (com.gemstone.gemfire.cache.CacheException e) {
-      throw new CacheException(e);
-    }
-
-    FunctionService.registerFunction(new CreateRegionFunction());
-
-    logger.info("GemFireCacheProvider: Done creating cache provider");
-  }
-
-  /**
-   * Callback to perform any necessary cleanup of the underlying cache
-   * implementation during SessionFactory.close().
-   */
-  public void stop() {
-    logger.info("GemFireCacheProvider: Stopping");
-    _cache.close();
-    logger.info("GemFireCacheProvider: Stopped");
-  }
-
-  public static Logger getLogger() {
-    return logger;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireQueryCacheFactory.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireQueryCacheFactory.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireQueryCacheFactory.java
deleted file mode 100644
index c019436..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireQueryCacheFactory.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate;
-
-import java.util.Properties;
-
-import org.hibernate.HibernateException;
-import org.hibernate.cache.QueryCache;
-import org.hibernate.cache.QueryCacheFactory;
-import org.hibernate.cache.UpdateTimestampsCache;
-import org.hibernate.cfg.Settings;
-
-/**
- * Defines a factory for query cache instances. These factories are responsible
- * for creating individual QueryCache instances.
- * 
- */
-public class GemFireQueryCacheFactory implements QueryCacheFactory {
-  public QueryCache getQueryCache(String regionName,
-      UpdateTimestampsCache updateTimestampsCache, Settings settings,
-      Properties props) throws HibernateException {
-    return new org.hibernate.cache.StandardQueryCache(settings, props,
-        updateTimestampsCache, regionName);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireRegionFactory.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireRegionFactory.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireRegionFactory.java
deleted file mode 100644
index 97e5fdf..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/GemFireRegionFactory.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate;
-
-import java.util.HashSet;
-import java.util.Properties;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import org.hibernate.cache.CacheDataDescription;
-import org.hibernate.cache.CacheException;
-import org.hibernate.cache.CollectionRegion;
-import org.hibernate.cache.EntityRegion;
-import org.hibernate.cache.QueryResultsRegion;
-import org.hibernate.cache.RegionFactory;
-import org.hibernate.cache.Timestamper;
-import org.hibernate.cache.TimestampsRegion;
-import org.hibernate.cache.access.AccessType;
-import org.hibernate.cfg.Settings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.GemFireCache;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.RegionShortcut;
-import com.gemstone.gemfire.cache.client.ClientCache;
-import com.gemstone.gemfire.cache.client.ClientRegionShortcut;
-import com.gemstone.gemfire.distributed.internal.DistributionConfig;
-import com.gemstone.gemfire.distributed.internal.DistributionConfigImpl;
-import com.gemstone.gemfire.modules.hibernate.internal.ClientServerRegionFactoryDelegate;
-import com.gemstone.gemfire.modules.hibernate.internal.EntityWrapper;
-import com.gemstone.gemfire.modules.hibernate.internal.GemFireCollectionRegion;
-import com.gemstone.gemfire.modules.hibernate.internal.GemFireEntityRegion;
-import com.gemstone.gemfire.modules.hibernate.internal.GemFireQueryResultsRegion;
-import com.gemstone.gemfire.modules.hibernate.internal.RegionFactoryDelegate;
-import com.gemstone.gemfire.modules.util.Banner;
-
-public class GemFireRegionFactory implements RegionFactory {
-
-    
-  private static final String GEMFIRE_QUERY_RESULTS_REGION_NAME = "gemfire.hibernateQueryResults";
-
-  private static final String GEMFIRE_TIMESTAMPS_REGION_NAME = "gemfire.hibernateTimestamps";
-
-  private GemFireCache _cache;
-
-  private RegionFactoryDelegate delegate;
-
-  // TODO get rid of this
-  private boolean isClient;
-  
-  private final Logger log = LoggerFactory.getLogger(getClass());
-
-  private final ExecutorService executorService = Executors.newSingleThreadExecutor();
-
-  private Set<String> gemfireAttributes;
-  
-  /**
-   * maps the entity to the region that stores it.
-   */
-  private ConcurrentMap<String, GemFireEntityRegion> entityRegionMap = new ConcurrentHashMap<String, GemFireEntityRegion>();
-  
-  public GemFireRegionFactory(Properties props) {
-    log.debug("props:" + props);
-  }
-
-  public ExecutorService getExecutorService() {
-    return this.executorService;
-  }
-  
-  @Override
-  public void start(Settings settings, Properties properties)
-      throws CacheException {
-    log.info("Initializing " + Banner.getString());
-    extractGemFireProperties(properties);
-    _cache = delegate.startCache();
-  }
-
-  private void extractGemFireProperties(Properties properties) {
-    // We have to strip out any unknown properties, do so here
-    Properties gemfireProperties = new Properties();
-    Properties regionProperties = new Properties();
-    for (Object keyObj : properties.keySet()) {
-      String key = (String)keyObj;
-      if (key.contains("region-attributes")) {
-        regionProperties.put(key, properties.get(key));
-      }
-      else if (key.equals("gemfire.cache-topology")) {
-        if (properties.getProperty(key).trim()
-            .equalsIgnoreCase("client-server")) {
-          isClient = true;
-        }
-      }
-      else if (key.startsWith("gemfire.") && isGemFireAttribute(key)) {
-        gemfireProperties.setProperty(key.replace("gemfire.", ""),
-            properties.getProperty(key));
-      }
-    }
-    if (isClient) {
-      delegate = new ClientServerRegionFactoryDelegate(gemfireProperties, regionProperties);
-    } else {
-      delegate = new RegionFactoryDelegate(gemfireProperties, regionProperties);
-    }
-  }
-
-  private boolean isGemFireAttribute(String key) {
-    String gfKey = key.replace("gemfire.", "");
-    Set<String> gemfireAttributes = getGemFireAttributesNames();
-    return gemfireAttributes.contains(gfKey);
-  }
-
-  private Set<String> getGemFireAttributesNames() {
-    if (this.gemfireAttributes == null) {
-      //used only to get the list of all gemfire properties
-      DistributionConfig dConfig = new DistributionConfigImpl(new Properties());
-      String[] gemfireAttributeNames = dConfig.getAttributeNames();
-      gemfireAttributes = new HashSet<String>();
-      for (String attrName : gemfireAttributeNames) {
-        gemfireAttributes.add(attrName);
-      }
-    }
-    return gemfireAttributes;
-  }
-  
-  @Override
-  public void stop() {
-    // we do not want to close the cache, as there may be other
-    // applications/webapps
-    // using this cache. TODO do we want to close the regions that are created
-    // by this application?
-  }
-
-  @Override
-  public boolean isMinimalPutsEnabledByDefault() {
-    // minimal puts is better for clustered cache
-    return true;
-  }
-
-  @Override
-  public AccessType getDefaultAccessType() {
-    return AccessType.NONSTRICT_READ_WRITE;
-  }
-
-  @Override
-  public long nextTimestamp() {
-    log.debug("nextTimestamp called");
-    // TODO use gemfire cache time here. (which tries to minimize clock skews)
-    return Timestamper.next();
-  }
-
-  @Override
-  public EntityRegion buildEntityRegion(String regionName,
-      Properties properties, CacheDataDescription metadata)
-      throws CacheException {
-    // create the backing region
-    log.debug("creating Entity region {} ", regionName);
-    Region<Object, EntityWrapper> region = delegate.createRegion(regionName);
-    GemFireEntityRegion r = new GemFireEntityRegion(region, isClient, metadata, this);
-    this.entityRegionMap.put(regionName, r);
-    return r;
-  }
-
-  @Override
-  public CollectionRegion buildCollectionRegion(String regionName,
-      Properties properties, CacheDataDescription metadata)
-      throws CacheException {
-    log.debug("creating collection region {}",regionName);
-    Region<Object, EntityWrapper> region = delegate.createRegion(regionName);
-    return new GemFireCollectionRegion(region, isClient, metadata, this);
-  }
-
-  @Override
-  public QueryResultsRegion buildQueryResultsRegion(String regionName,
-      Properties properties) throws CacheException {
-    log.debug("Creating a query results region");
-    Region region = getLocalRegionForQueryCache();
-    return new GemFireQueryResultsRegion(region);
-  }
-
-  private Region getLocalRegionForQueryCache() {
-    return getLocalRegion(GEMFIRE_QUERY_RESULTS_REGION_NAME);
-  }
-  
-  private Region getLocalRegionForTimestampsCache() {
-    return getLocalRegion(GEMFIRE_TIMESTAMPS_REGION_NAME);
-  }
-  
-  private Region getLocalRegion(String regionName) {
-    Region region = _cache.getRegion(regionName);
-    if (region != null) {
-      return region;
-    }
-    if (isClient) {
-      ClientCache cc = (ClientCache)_cache;
-      region = cc.createClientRegionFactory(ClientRegionShortcut.LOCAL_HEAP_LRU).create(regionName);
-    } else {
-      Cache c = (Cache)_cache;
-      region = c.createRegionFactory(RegionShortcut.LOCAL_HEAP_LRU).create(regionName);
-    }
-    return region;
-  }
-  
-  @Override
-  public TimestampsRegion buildTimestampsRegion(String regionName,
-      Properties properties) throws CacheException {
-    Region region = getLocalRegionForTimestampsCache();
-    return new GemFireQueryResultsRegion(region);
-  }
-
-  /**
-   * Given an entity name, gets the region used to store
-   * that entity.
-   * @param name name of the entity
-   * @return the entity region for the given entity name
-   */
-  public GemFireEntityRegion getEntityRegion(String name) {
-    return this.entityRegionMap.get(name);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/Access.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/Access.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/Access.java
deleted file mode 100644
index 86c6786..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/Access.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate.internal;
-
-import com.gemstone.gemfire.cache.CacheWriterException;
-import com.gemstone.gemfire.cache.EntryExistsException;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.client.ServerOperationException;
-import org.hibernate.cache.CacheException;
-import org.hibernate.cache.EntityRegion;
-import org.hibernate.cache.access.EntityRegionAccessStrategy;
-import org.hibernate.cache.access.SoftLock;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public abstract class Access implements EntityRegionAccessStrategy {
-
-  private final GemFireEntityRegion region;
-
-  /**Thread local to remember the status of insert, which can be returned in afterInsert*/
-  private ThreadLocal<Map<Object, Boolean>> createStatus = new ThreadLocal<Map<Object, Boolean>>() {
-    @Override
-    protected Map<Object, Boolean> initialValue() {
-      return new HashMap<Object, Boolean>();
-    }
-  };
-
-  private Logger log = LoggerFactory.getLogger(getClass());
-
-  public Access(GemFireEntityRegion region) {
-    this.region = region;
-  }
-
-  @Override
-  public EntityRegion getRegion() {
-    return this.region;
-  }
-
-  @Override
-  public Object get(Object key, long txTimestamp) throws CacheException {
-    KeyWrapper wKey = getWrappedKey(key);
-    if (this.region.isRegisterInterestRequired()) {
-      this.region.registerInterest(wKey);
-    }
-    // first check to see if we have pre-fetched this entity
-    EntityWrapper wrapper = this.region.get(wKey);
-    if (wrapper == null) {
-      wrapper = this.region.getGemFireRegion().get(wKey);
-    }
-    if (wrapper == null) {
-      this.region.getStats().incCacheMiss();
-      log.debug("Cache miss for {} count: {}",wKey, this.region.getStats().getCacheMiss());
-      return null;
-    } else {
-      this.region.getStats().incCacheHit();
-      log.debug("cache hit {} count: {} ", wKey, this.region.getStats().getCacheHits());
-    }
-    return wrapper.getEntity();
-  }
-
-  @Override
-  public boolean putFromLoad(Object key, Object value, long txTimestamp,
-      Object version) throws CacheException {
-    return putFromLoad(key, value, txTimestamp, version, true);
-  }
-
-  @Override
-  public boolean putFromLoad(Object key, Object value, long txTimestamp,
-      Object version, boolean minimalPutOverride) throws CacheException {
-    return create(key, value);
-  }
-
-  private boolean create(Object key, Object value) {
-    KeyWrapper wKey = getWrappedKey(key);
-    EntityWrapper wrapper = new EntityWrapper(value, 1L);
-    log.debug("putting a new entry from load {} value: {}",wKey, wrapper);
-    boolean remove = false;
-    try {
-      this.region.getGemFireRegion().create(wKey, wrapper);
-    } catch (EntryExistsException ee) {
-      log.debug("key {} exists in the cache already, destroying", wKey);
-      remove = true;
-    } catch (CacheWriterException writerEx) {
-      this.region.getStats().incHibernateDestroyJobsScheduled();
-      log.debug("caught a CacheWriterException {} ",writerEx.getMessage());
-      remove = true;
-    } catch (ServerOperationException serverEx) {
-      if (serverEx.getCause() instanceof CacheWriterException) {
-        this.region.getStats().incHibernateDestroyJobsScheduled();
-        log.debug("caught a ServerOperationException caused by CacheWriterException {} ",serverEx.getMessage());
-      } else {
-        throw serverEx;
-      }
-      remove = true;
-    }
-    if (remove) {
-      this.region.getGemFireRegion().remove(wKey);
-      return false;
-    }
-    return true;
-  }
-
-  @Override
-  public SoftLock lockItem(Object key, Object version) throws CacheException {
-    KeyWrapper wKey = getWrappedKey(key);
-    EntityWrapper wrapper = this.region.getGemFireRegion().get(wKey);
-    Long ver = wrapper == null ? 0L : wrapper.getVersion();
-    log.debug("lockItem:key: {} entityVersion: {}", new Object[] { wKey, ver });
-    return new EntityVersionImpl(ver);
-  }
-
-  @Override
-  public SoftLock lockRegion() throws CacheException {
-    return null;
-  }
-
-  @Override
-  public void unlockItem(Object key, SoftLock lock) throws CacheException {
-    log.debug("unlockItem:key:" + key + " lock:" + lock);
-  }
-
-  @Override
-  public void unlockRegion(SoftLock lock) throws CacheException {
-  }
-
-  @Override
-  public boolean insert(Object key, Object value, Object version)
-      throws CacheException {
-    log.debug("insert:key:{} value:{} version:{}",
-        new Object[]{key, value, version});
-    boolean retVal = create(key, value);
-    createStatus.get().put(key, retVal);
-    return retVal;
-  }
-
-  @Override
-  public boolean afterInsert(Object key, Object value, Object version)
-      throws CacheException {
-    log.info("afterInsert:key:{} value:{} version:{}",
-        new Object[]{key, value, version});
-    return createStatus.get().remove(key);
-  }
-
-  @Override
-  public boolean update(Object key, Object value, Object currentVersion,
-      Object previousVersion) throws CacheException {
-    KeyWrapper wKey = getWrappedKey(key);
-    EntityWrapper oldWrapper = this.region.getGemFireRegion().get(wKey);
-    Long version = oldWrapper == null ? 1L : oldWrapper.getVersion() + 1;
-    EntityWrapper wrapper = new EntityWrapper(value, version);
-    log.debug("put:key:{} value:{} version:{}", new Object[] { wKey, value,
-        version });
-    boolean remove = false;
-    try {
-      if (oldWrapper == null) {
-        remove = this.region.getGemFireRegion().putIfAbsent(wKey, wrapper) != null;
-      } else {
-        remove = !this.region.getGemFireRegion().replace(wKey, oldWrapper, wrapper);
-      }
-    } catch (CacheWriterException writerEx) {
-      this.region.getStats().incHibernateDestroyJobsScheduled();
-      log.debug("caught a CacheWriterException {} ",writerEx.getMessage());
-      remove = true;
-    } catch (ServerOperationException serverEx) {
-      if (serverEx.getCause() instanceof CacheWriterException) {
-        this.region.getStats().incHibernateDestroyJobsScheduled();
-        log.debug("caught a ServerOperationException caused by CacheWriterException {} ",serverEx.getMessage());
-        remove = true;
-      } else {
-        throw serverEx;
-      }
-    }
-    if (remove) {
-      this.region.getGemFireRegion().remove(wKey);
-      return false;
-    }
-    log.debug("put for key {} succeded", wKey);
-    return true;
-  }
-
-  @Override
-  public boolean afterUpdate(Object key, Object value, Object currentVersion,
-      Object previousVersion, SoftLock lock) throws CacheException {
-    log.debug("afterUpdate:key:{} value:{} currVersion:{} previousVersion:{}",
-        new Object[] {key, value, currentVersion, previousVersion});
-    KeyWrapper wKey = getWrappedKey(key);
-    EntityWrapper wrapper = this.region.getGemFireRegion().get(wKey);
-    if (wrapper == null) {
-      // this entry was destroyed during update
-      return false;
-    }
-    Long version = wrapper.getVersion();
-    Long expectedVersion = ((EntityVersion)lock).getVersion() + 1;
-    log.debug("afterPut:key:{} value:{} version:{} expected: {}",
-        new Object[] { wKey, value, version, expectedVersion });
-    if (wrapper.getVersion() != expectedVersion) {
-      log.debug(
-          "for key {} expected version to be {} but was {}, so destroying the key",
-          new Object[] { wKey, expectedVersion, version });
-      this.region.getGemFireRegion().remove(wKey);
-      return false;
-    }
-    return true;
-  }
-
-  @Override
-  public void remove(Object key) throws CacheException {
-    log.debug("removing key {} ",key);
-    this.region.getGemFireRegion().remove(getWrappedKey(key));
-  }
-
-  @Override
-  public void removeAll() throws CacheException {
-    log.debug("removing all keys");
-    this.region.getGemFireRegion().clear();
-  }
-
-  @Override
-  public void evict(Object key) throws CacheException {
-    // TODO we should implement a method on Region to evict
-    // a particular entry, destroying is inefficient
-    log.debug("removing key {} ",key);
-    this.region.getGemFireRegion().remove(getWrappedKey(key));
-  }
-
-  @Override
-  public void evictAll() throws CacheException {
-    log.debug("removing all keys");
-    this.region.getGemFireRegion().clear();
-  }
-
-  protected Region<Object, EntityWrapper> getGemFireRegion() {
-    return this.region.getGemFireRegion();
-  }
-  
-  protected KeyWrapper getWrappedKey(Object key) {
-    return new KeyWrapper(key);
-  }
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/ClientServerRegionFactoryDelegate.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/ClientServerRegionFactoryDelegate.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/ClientServerRegionFactoryDelegate.java
deleted file mode 100644
index 980e6ab..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/ClientServerRegionFactoryDelegate.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Properties;
-import java.util.StringTokenizer;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.gemstone.gemfire.cache.GemFireCache;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.RegionShortcut;
-import com.gemstone.gemfire.cache.client.ClientCache;
-import com.gemstone.gemfire.cache.client.ClientCacheFactory;
-import com.gemstone.gemfire.cache.client.ClientRegionFactory;
-import com.gemstone.gemfire.cache.client.ClientRegionShortcut;
-import com.gemstone.gemfire.cache.execute.FunctionService;
-import com.gemstone.gemfire.modules.util.BootstrappingFunction;
-import com.gemstone.gemfire.modules.util.CreateRegionFunction;
-import com.gemstone.gemfire.modules.util.RegionConfiguration;
-
-public class ClientServerRegionFactoryDelegate extends RegionFactoryDelegate {
-
-  private static final String DEFAULT_SERVER_REGION_TYPE = RegionShortcut.PARTITION.name();
-
-  private static final String DEFAULT_CLIENT_REGION_TYPE = ClientRegionShortcut.PROXY.name();
-
-  private ClientCache clientCache;
-  
-  public ClientServerRegionFactoryDelegate(Properties gemfireProperties,
-      Properties regionProperties) {
-    super(gemfireProperties, regionProperties);
-  }
-
-  @Override
-  public GemFireCache startCache() {
-    log.info("Creating a GemFire client cache");
-    String locatorsString = (String)gemfireProperties.remove("locators");
-    checkExistingCache();
-    ClientCacheFactory ccf = new ClientCacheFactory(gemfireProperties).setPoolSubscriptionEnabled(true);
-    List<LocatorHolder> locators = getLocatorsMap(locatorsString);
-    for (LocatorHolder locHolder : locators) {
-      log.debug("adding pool locator with host {} port {}", locHolder.host, locHolder.port);
-      ccf.addPoolLocator(locHolder.host, locHolder.port);
-    }
-    this.clientCache = ccf.create();
-    
-    log.debug("GemFire client cache creation completed");
-    // bootstrap the servers
-    FunctionService.onServers(this.clientCache).execute(new BootstrappingFunction()).getResult();
-    FunctionService.registerFunction(new CreateRegionFunction(this.clientCache));
-    return this.clientCache;
-  }
-
-  private List<LocatorHolder> getLocatorsMap(String locatorsString) {
-    List<LocatorHolder> retval = new ArrayList<LocatorHolder>();
-    if (locatorsString == null || locatorsString.isEmpty()) {
-      return retval;
-    }
-    StringTokenizer st = new StringTokenizer(locatorsString, ",");
-    while (st.hasMoreTokens()) {
-      String locator = st.nextToken();
-      int portIndex = locator.indexOf('[');
-      if (portIndex < 1) {
-        portIndex = locator.lastIndexOf(':');
-      }
-      // starting in 5.1.0.4 we allow '@' as the bind-addr separator
-      // to let people use IPv6 numeric addresses (which contain colons)
-      int bindAddrIdx = locator.lastIndexOf('@', portIndex - 1);
-      
-      if (bindAddrIdx < 0) {
-        bindAddrIdx = locator.lastIndexOf(':', portIndex - 1);
-      }
-
-      String host = locator.substring(0,
-          bindAddrIdx > -1 ? bindAddrIdx : portIndex);
-
-      if (host.indexOf(':') >= 0) {
-        bindAddrIdx = locator.lastIndexOf('@');
-        host = locator.substring(0, bindAddrIdx > -1 ? bindAddrIdx : portIndex);
-      }
-      int lastIndex = locator.lastIndexOf(']');
-      if (lastIndex == -1) {
-        if (locator.indexOf('[') >= 0) {
-          throw new IllegalArgumentException("Invalid locator");
-        } else {
-          // Using host:port syntax
-          lastIndex = locator.length();
-        }
-      }
-      String port = locator.substring(portIndex + 1, lastIndex);
-      int portVal = 0;
-      try {
-        portVal = Integer.parseInt(port);
-        if (portVal < 1 || portVal > 65535) {
-          throw new IllegalArgumentException("port should be grater than zero and less than 65536");
-        }
-      } catch (NumberFormatException ex) {
-        throw new IllegalArgumentException("Invalid Locator");
-      }
-      retval.add(new LocatorHolder(host, portVal));
-    }
-    return retval;
-  }
-
-  @Override
-  public Region<Object, EntityWrapper> createRegion(String regionName) {
-    // first create the region on the server
-    String serverRegionType = getServerRegionType(regionName);
-    RegionConfiguration regionConfig = new RegionConfiguration();
-    regionConfig.setRegionName(regionName);
-    regionConfig.setRegionAttributesId(serverRegionType);
-    regionConfig.setCacheWriterName(EntityRegionWriter.class.getCanonicalName());
-    FunctionService.onServer(this.clientCache).withArgs(regionConfig)
-        .execute(CreateRegionFunction.ID).getResult();
-    // now create region on the client
-    Region<Object, EntityWrapper> r = this.clientCache.getRegion(regionName);
-    if (r != null) {
-      return r;
-    }
-    String clientRegionType = getClientRegionType(regionName);
-    ClientRegionFactory<Object, EntityWrapper> rf = this.clientCache
-        .createClientRegionFactory(ClientRegionShortcut
-            .valueOf(clientRegionType));
-    r = rf.create(regionName);
-    return r;
-  }
-
-  private String getClientRegionType(String regionName) {
-    String rType = getOverridenClientRegionType(regionName);
-    if (rType != null) {
-      return rType.toUpperCase();
-    }
-    rType = regionProperties.getProperty("gemfire.default-client-region-attributes-id");
-    if (rType == null) {
-      rType = DEFAULT_CLIENT_REGION_TYPE;
-    }
-    return rType.toUpperCase();
-  }
-
-  private String getServerRegionType(String regionName) {
-    String rType = getOverridenServerRegionType(regionName);
-    if (rType != null) {
-      return rType.toUpperCase();
-    }
-    rType = regionProperties.getProperty("gemfire.default-region-attributes-id");
-    if (rType == null) {
-      rType = DEFAULT_SERVER_REGION_TYPE;
-    }
-    return rType.toUpperCase();
-  }
-
-  private String getOverridenServerRegionType(String regionName) {
-    String rType = null;
-    Iterator<Object> it = regionProperties.keySet().iterator();
-    while (it.hasNext()) {
-      String current = (String)it.next();
-      if (current.contains(regionName) && !current.contains("client")) {
-        rType = regionProperties.getProperty(current);
-        break;
-      }
-    }
-    return rType;
-  }
-
-  private String getOverridenClientRegionType(String regionName) {
-    String rType = null;
-    Iterator<Object> it = regionProperties.keySet().iterator();
-    while (it.hasNext()) {
-      String current = (String)it.next();
-      if (current.contains(regionName) && current.contains("client")) {
-        rType = regionProperties.getProperty(current);
-        break;
-      }
-    }
-    return rType;
-  }
-  
-  private static class LocatorHolder {
-    private String host;
-    private int port;
-    private LocatorHolder(String host, int port) {
-      this.host = host;
-      this.port = port;
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/CollectionAccess.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/CollectionAccess.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/CollectionAccess.java
deleted file mode 100644
index f1898d8..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/CollectionAccess.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate.internal;
-
-import java.io.Serializable;
-import java.lang.reflect.Field;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.hibernate.cache.CacheException;
-import org.hibernate.cache.CollectionRegion;
-import org.hibernate.cache.access.CollectionRegionAccessStrategy;
-import org.hibernate.cache.access.SoftLock;
-import org.hibernate.cache.entry.CollectionCacheEntry;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.gemstone.gemfire.cache.CacheWriterException;
-import com.gemstone.gemfire.cache.EntryExistsException;
-import com.gemstone.gemfire.cache.EntryNotFoundException;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.client.ServerOperationException;
-
-public class CollectionAccess implements
-    CollectionRegionAccessStrategy {
-
-  private final GemFireCollectionRegion region;
-  
-  private Logger log = LoggerFactory.getLogger(getClass());
-  
-  /**
-   * if we know the entity whose ids are stored in this
-   * collection, we can prefetch those entities using
-   * getAll. This field stores that child entity name.
-   */
-  private String childEntityName;
-  
-  public CollectionAccess(GemFireCollectionRegion region) {
-    this.region = region;
-    String regionName = this.region.getGemFireRegion().getName().trim();
-    regionName = regionName.replace("\\/", "");
-    int lastPeriod = regionName.lastIndexOf('.');
-    if (lastPeriod < 0) {
-      log.info("Eager prefetching disabled for region: {}", this.region.getName());
-      return;
-    }
-    String entityName = regionName.substring(0, lastPeriod);
-    String collectionFieldName = regionName.substring(lastPeriod+1);
-    log.debug("entity name: {}, collectionFieldName: {}", entityName, collectionFieldName);
-    try {
-      Class parentClass = Class.forName(entityName);
-      Field[] fields = parentClass.getDeclaredFields();
-      for (Field field : fields) {
-        log.debug("genericType: {}", field.getGenericType());
-        if (field.getName().equals(collectionFieldName)) {
-          String genericString = field.toGenericString();
-          log.debug("genericType: for required field name: {}", field.toGenericString());
-          int startDependentEntityIndex = genericString.indexOf("<");
-          if (startDependentEntityIndex != -1 &&
-              genericString.indexOf("<", startDependentEntityIndex+1) == -1) {
-            int childDependentEntityIndex = genericString.indexOf(">");
-            this.childEntityName = genericString.substring(startDependentEntityIndex+1, childDependentEntityIndex);
-            log.debug("For Collection {} using child entity: {}", this.region.getGemFireRegion().getName(), this.childEntityName);
-          }
-        }
-      }
-    }
-    catch (ClassNotFoundException e) {
-      //ok to ignore, we will not use pre-fetching
-    }
-    if (this.childEntityName == null) {
-      log.info("Eager prefetching disabled for region: {}", this.region.getName());
-    }
-  }
-  
-  @Override
-  public CollectionRegion getRegion() {
-    return this.region;
-  }
-
-  @Override
-  public Object get(Object key, long txTimestamp) throws CacheException {
-    EntityWrapper wrapper = this.region.getGemFireRegion().get(key);
-    if (wrapper == null) {
-      this.region.getStats().incCacheMiss();
-      log.debug("Cache miss for {} ts: {}",key, txTimestamp);
-      return null;
-    } else {
-      this.region.getStats().incCacheHit();
-      log.debug("cache hit {} count: {} ", key, this.region.getStats().getCacheHits());
-      // do pre-fetching
-      if (isPrefetchPossible()) {
-        log.debug("for key: {} prefetching entries: {}", key, wrapper.getEntity());
-        prefetchKeys((CollectionCacheEntry)wrapper.getEntity());
-      }
-    }
-    return wrapper.getEntity();
-  }
-
-  private void prefetchKeys(CollectionCacheEntry entry) {
-    StringBuilder builder = new StringBuilder(this.childEntityName+"#");
-    Serializable[] childEntityKeys = entry.getState();
-    Set<String> getAllSet = new HashSet<String>();
-    for (Serializable id : childEntityKeys) {
-      String key = builder.append(id).toString();
-      log.debug("adding key {} to getAll set", key);
-      getAllSet.add(key);
-    }
-    GemFireEntityRegion childRegion = this.region.regionFactory.getEntityRegion(this.childEntityName);
-    log.debug("prefetching {} keys", getAllSet.size());
-    if (!getAllSet.isEmpty() && childRegion != null) {
-      childRegion.getAll(getAllSet);
-    }
-  }
-
-  private boolean isPrefetchPossible() {
-    return this.childEntityName != null;
-  }
-
-  private void printRegionContents(Region<Object, EntityWrapper> r) {
-    log.debug("printing contents of {} ",r);
-    for (Object k : r.keySet()) {
-      log.debug("key {} value {} ",k,r.get(k));
-    }
-  }
-  
-  @Override
-  public boolean putFromLoad(Object key, Object value, long txTimestamp,
-      Object version) throws CacheException {
-    return putFromLoad(key, value, txTimestamp, version, true);
-  }
-
-  @Override
-  public boolean putFromLoad(Object key, Object value, long txTimestamp,
-      Object version, boolean minimalPutOverride) throws CacheException {
-    EntityWrapper wrapper = new EntityWrapper(value, 1L);
-    log.debug("putting a new collection entry from load {} value: {}",key, wrapper);
-    boolean remove = false;
-    try {
-      this.region.getGemFireRegion().create(key, wrapper);
-    } catch (EntryExistsException ee) {
-      log.debug("key {} exists in the cache already, destroying", key);
-      remove = true;
-    } catch (CacheWriterException writerEx) {
-      this.region.getStats().incHibernateDestroyJobsScheduled();
-      log.debug("caught a CacheWriterException {} ",writerEx.getMessage());
-      remove = true;
-    } catch (ServerOperationException serverEx) {
-      if (serverEx.getCause() instanceof CacheWriterException) {
-        this.region.getStats().incHibernateDestroyJobsScheduled();
-        log.debug("caught a ServerOperationException caused by CacheWriterException {} ",serverEx.getMessage());
-      } else {
-        throw serverEx;
-      }
-      remove = true;
-    }
-    if (remove) {
-      this.region.getGemFireRegion().remove(key);
-      return false;
-    }
-    return true;
-  }
-
-  @Override
-  public SoftLock lockItem(Object key, Object version) throws CacheException {
-    // there are no updates to the collectionCache,
-    // so no need to lock/version
-    return null;
-  }
-
-  @Override
-  public SoftLock lockRegion() throws CacheException {
-    return null;
-  }
-
-  @Override
-  public void unlockItem(Object key, SoftLock lock) throws CacheException {
-  }
-
-  @Override
-  public void unlockRegion(SoftLock lock) throws CacheException {
-  }
-
-  @Override
-  public void remove(Object key) throws CacheException {
-    log.debug("removing key {}",key);
-    this.region.getGemFireRegion().remove(key);
-  }
-
-  @Override
-  public void removeAll() throws CacheException {
-    log.debug("removing all keys");
-    this.region.getGemFireRegion().clear();
-  }
-
-  @Override
-  public void evict(Object key) throws CacheException {
-    // TODO we should implement a method on Region to evict
-    // a particular entry, destroying is inefficient
-    log.debug("removing key {}", key);
-    this.region.getGemFireRegion().remove(key);
-  }
-
-  @Override
-  public void evictAll() throws CacheException {
-    log.debug("removing all keys");
-    this.region.getGemFireRegion().clear();
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityRegionWriter.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityRegionWriter.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityRegionWriter.java
deleted file mode 100644
index 5a4e5e1..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityRegionWriter.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate.internal;
-
-
-import java.util.Properties;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.gemstone.gemfire.cache.CacheWriterException;
-import com.gemstone.gemfire.cache.Declarable;
-import com.gemstone.gemfire.cache.EntryEvent;
-import com.gemstone.gemfire.cache.util.CacheWriterAdapter;
-
-public class EntityRegionWriter extends CacheWriterAdapter implements Declarable {
-  
-  private Logger log = LoggerFactory.getLogger(getClass());
-  
-//  @Override
-//  public void beforeCreate(EntryEvent event) {
-//    event.getRegion().getCache().getLogger().info("GFE:Writer invoked for beforeCreate:"+event);
-//      final Object key = event.getKey();
-//      EntityWrapper val = (EntityWrapper)event.getNewValue();
-//      EntityWrapper oldVal = (EntityWrapper)event.getOldValue();
-//      log.debug("beforeCreate: key:"+key+" val:"+val.getEntity()+" ver:"+val.getVersion()+" region:"+event.getRegion().getName()+" oldVal:"+oldVal+" this:"+System.identityHashCode(this));
-//  }
-  
-  @Override
-  public void beforeUpdate(EntryEvent event) {
-    log.debug("Writer invoked for beforeUpdate:{}",event);
-    final Object key = event.getKey();
-    EntityWrapper val = (EntityWrapper)event.getNewValue();
-    if (val.getVersion() < 0) {
-      // no need for version check for NonStrictReadWrite
-      // this is needed because CacheEntry does not implement equals
-      return;
-    }
-    EntityWrapper oldVal = (EntityWrapper)event.getOldValue();
-    // if same entity was loaded from two different VMs,
-    // i.e. version same and entity equal then no need to destroy
-    //
-    if (oldVal.getVersion() == val.getVersion()) {
-      if (val.getEntity().equals(oldVal.getEntity())) {
-        // since CacheEntry does not override equals
-        // this check is probably of no use
-        return;
-      }
-    } else if (oldVal.getVersion() < val.getVersion()) {
-      return;
-    }
-    log.debug("For key {} old version was {} new version was {}", new Object[] {key, oldVal.getVersion(), val.getVersion()});
-    throw new CacheWriterException("key "+key+" had a newer version");
-  }
-  
-  @Override
-  public boolean equals(Object obj) {
-    // This method is only implemented so that RegionCreator.validateRegion works properly.
-    // The CacheWriter comparison fails because two of these instances are not equal.
-    if (this == obj) {
-      return true;
-    }
-
-    if (obj == null || !(obj instanceof EntityRegionWriter)) {
-      return false;
-    }
-    return true;
-  }
-
-  @Override
-  public void init(Properties arg0) {
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityVersion.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityVersion.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityVersion.java
deleted file mode 100644
index abfb675..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityVersion.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate.internal;
-
-import org.hibernate.cache.access.SoftLock;
-
-/**
- * 
- * @author sbawaska
- */
-public interface EntityVersion extends SoftLock {
-
-  public Long getVersion();
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityVersionImpl.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityVersionImpl.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityVersionImpl.java
deleted file mode 100644
index ad160e4..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityVersionImpl.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate.internal;
-
-/**
- * 
- * @author sbawaska
- */
-public class EntityVersionImpl implements EntityVersion {
-
-  private final Long version;
-
-  public EntityVersionImpl(Long version) {
-    this.version = version;
-  }
-
-  @Override
-  public Long getVersion() {
-    return this.version;
-  }
-
-  @Override
-  public boolean equals(Object obj) {
-    if (obj instanceof EntityVersionImpl) {
-      EntityVersionImpl other = (EntityVersionImpl)obj;
-      if (this.version.equals(other.version)) {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  @Override
-  public int hashCode() {
-    return this.version.hashCode();
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityWrapper.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityWrapper.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityWrapper.java
deleted file mode 100644
index ab92dea..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/EntityWrapper.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate.internal;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-import com.gemstone.gemfire.DataSerializable;
-import com.gemstone.gemfire.DataSerializer;
-
-public class EntityWrapper implements DataSerializable {
-
-  private static final long serialVersionUID = 8616754027252339041L;
-
-  private Object entity;
-
-  private long version;
-
-  public EntityWrapper(Object entity, long version) {
-    this.entity = entity;
-    this.version = version;
-  }
-
-  /**
-   * for {@link DataSerializer}
-   */
-  public EntityWrapper() {
-  }
-  
-  public long getVersion() {
-    return version;
-  }
-
-  public Object getEntity() {
-    return entity;
-  }
-
-  @Override
-  public boolean equals(Object obj) {
-    if (obj instanceof EntityWrapper) {
-      EntityWrapper other = (EntityWrapper)obj;
-      if (this.version == other.version) {
-        //CacheEntry does not override equals, hence cannot be used in this comparison
-        return true;
-      }
-    }
-    return false;
-  }
-
-  @Override
-  public int hashCode() {
-    return Long.valueOf(this.version).hashCode();
-  }
-
-  @Override
-  public String toString() {
-    return new StringBuilder()
-        .append("EntityWrapper@" + System.identityHashCode(this))
-        .append(" Entity:" + this.entity).append(" version:" + this.version)
-        .toString();
-  }
-
-  @Override
-  public void toData(DataOutput out) throws IOException {
-    out.writeLong(this.version);
-    DataSerializer.writeObject(this.entity, out);
-  }
-
-  @Override
-  public void fromData(DataInput in) throws IOException, ClassNotFoundException {
-    this.version = in.readLong();
-    this.entity = DataSerializer.readObject(in);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireBaseRegion.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireBaseRegion.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireBaseRegion.java
deleted file mode 100644
index 9e77a98..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireBaseRegion.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate.internal;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ExecutorService;
-
-import org.hibernate.cache.CacheDataDescription;
-import org.hibernate.cache.CacheException;
-import org.hibernate.cache.Region;
-import org.hibernate.cache.Timestamper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.gemstone.gemfire.distributed.DistributedSystem;
-import com.gemstone.gemfire.internal.cache.LocalRegion;
-import com.gemstone.gemfire.modules.hibernate.GemFireRegionFactory;
-import com.gemstone.gemfire.modules.util.ModuleStatistics;
-
-public class GemFireBaseRegion implements Region {
-
-  /**
-   * the backing region
-   */
-  protected final com.gemstone.gemfire.cache.Region<Object, EntityWrapper> region;
-
-  /**
-   * to determine if the operation should be forwarded to server
-   */
-  protected final boolean isClientRegion;
-
-  protected final CacheDataDescription metadata;
-
-  private final Logger log = LoggerFactory.getLogger(getClass());
-
-  protected final GemFireRegionFactory regionFactory;
-  
-  protected final ModuleStatistics stats;
-  
-  public GemFireBaseRegion(com.gemstone.gemfire.cache.Region<Object, EntityWrapper> region,
-      boolean isClient, CacheDataDescription metadata, GemFireRegionFactory regionFactory) {
-    this.region = region;
-    this.isClientRegion = isClient;
-    this.metadata = metadata;
-    this.regionFactory = regionFactory;
-    DistributedSystem system = ((LocalRegion)region).getSystem();
-    this.stats = ModuleStatistics.getInstance(system);
-
-  }
-
-  public com.gemstone.gemfire.cache.Region<Object, EntityWrapper> getGemFireRegion() {
-    return this.region;
-  }
-
-  public ModuleStatistics getStats() {
-    return this.stats;
-  }
-  
-  public ExecutorService getExecutorService() {
-    return this.regionFactory.getExecutorService();
-  }
-
-  @Override
-  public String getName() {
-    return this.region.getName();
-  }
-
-  @Override
-  public void destroy() throws CacheException {
-    if (!this.region.isDestroyed()) {
-      this.region.localDestroyRegion();
-    }
-  }
-
-  /*
-   * I did not see any useful callers from hibernate-core
-   */
-  @Override
-  public boolean contains(Object key) {
-    log.debug("contains key called for :" + key);
-    if (isClientRegion) {
-      // TODO should this be done?
-      return this.region.containsKeyOnServer(key);
-    }
-    return this.region.containsKey(key);
-  }
-
-  @Override
-  public long getSizeInMemory() {
-    return 0;
-  }
-
-  @Override
-  public long getElementCountInMemory() {
-    return this.region.size();
-  }
-
-  @Override
-  public long getElementCountOnDisk() {
-    LocalRegion lr = (LocalRegion)this.region;
-    if (lr.getDiskRegion() != null) {
-      return lr.getDiskRegion().getNumOverflowOnDisk();
-    }
-    return 0;
-  }
-
-  @Override
-  public Map<Object, EntityWrapper> toMap() {
-    return Collections.unmodifiableMap(this.region);
-  }
-
-  /*
-   * only used by updateTimestamps cache
-   */
-  @Override
-  public long nextTimestamp() {
-    log.debug("nextTimestamp called");
-    return Timestamper.next();
-  }
-  
-  /*
-   * this is used by updateTimestamps cache only
-   */
-  @Override
-  public int getTimeout() {
-    return 60*1000; // all other cache providers have same value
-  }
-  
-  @Override
-  public boolean equals(Object obj) {
-    if (obj instanceof GemFireBaseRegion) {
-      GemFireBaseRegion other = (GemFireBaseRegion)obj;
-      if (this.region.getName().equals(other.region.getName())
-          && this.isClientRegion == other.isClientRegion) {
-        return true;
-      }
-    }
-    return false;
-  }
-  
-  @Override
-  public int hashCode() {
-    return this.region.hashCode() + (this.isClientRegion ? 1 : 0);
-  }
-  
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireCollectionRegion.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireCollectionRegion.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireCollectionRegion.java
deleted file mode 100644
index 620a332..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireCollectionRegion.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate.internal;
-
-import org.hibernate.cache.CacheDataDescription;
-import org.hibernate.cache.CacheException;
-import org.hibernate.cache.CollectionRegion;
-import org.hibernate.cache.access.AccessType;
-import org.hibernate.cache.access.CollectionRegionAccessStrategy;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.modules.hibernate.GemFireRegionFactory;
-
-public class GemFireCollectionRegion extends GemFireBaseRegion implements CollectionRegion {
-
-  private Logger log = LoggerFactory.getLogger(getClass());
-  
-  public GemFireCollectionRegion(Region<Object, EntityWrapper> region,
-      boolean isClient, CacheDataDescription metadata,
-      GemFireRegionFactory regionFactory) {
-    super(region, isClient, metadata, regionFactory);
-  }
-
-  @Override
-  public boolean isTransactionAware() {
-    // TODO Auto-generated method stub
-    return false;
-  }
-
-  @Override
-  public CacheDataDescription getCacheDataDescription() {
-    // TODO Auto-generated method stub
-    return null;
-  }
-
-  @Override
-  public CollectionRegionAccessStrategy buildAccessStrategy(
-      AccessType accessType) throws CacheException {
-    log.debug("creating collection access for region:"+this.region.getName());
-    return new CollectionAccess(this);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireEntityRegion.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireEntityRegion.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireEntityRegion.java
deleted file mode 100644
index 22ac466..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireEntityRegion.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate.internal;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ExecutorService;
-
-import org.hibernate.cache.CacheDataDescription;
-import org.hibernate.cache.CacheException;
-import org.hibernate.cache.EntityRegion;
-import org.hibernate.cache.access.AccessType;
-import org.hibernate.cache.access.EntityRegionAccessStrategy;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.distributed.DistributedSystem;
-import com.gemstone.gemfire.internal.cache.LocalRegion;
-import com.gemstone.gemfire.modules.hibernate.GemFireRegionFactory;
-import com.gemstone.gemfire.modules.util.ModuleStatistics;
-
-public class GemFireEntityRegion extends GemFireBaseRegion implements EntityRegion {
-
-  private final Logger log = LoggerFactory.getLogger(getClass());
-  
-  private final boolean USE_JTA = Boolean.getBoolean("gemfiremodules.useJTA");
-  
-  /**
-   * keys for which interest has been registered already
-   */
-  private ConcurrentMap<Object, Boolean> registeredKeys = new ConcurrentHashMap<Object, Boolean>();
-
-  /**
-   * map to store the entries that were pre-fetched when the underlying region has no local storage
-   */
-  protected ConcurrentMap<Object, EntityWrapper> preFetchMap = new ConcurrentHashMap<Object, EntityWrapper>();
-  
-  public GemFireEntityRegion(Region<Object, EntityWrapper> region,
-      boolean isClient, CacheDataDescription metadata, GemFireRegionFactory regionFactory) {
-    super(region, isClient, metadata, regionFactory);
-  }
-
-  @Override
-  public boolean isTransactionAware() {
-    // there are no colocation guarantees while using hibernate
-    // so return false for a PartitionedRegion for now
-    if (USE_JTA) {
-      return true;
-    }
-    return false;
-  }
-
-  @Override
-  public CacheDataDescription getCacheDataDescription() {
-    return this.metadata;
-  }
-
-  @Override
-  public EntityRegionAccessStrategy buildAccessStrategy(AccessType accessType)
-      throws CacheException {
-    if (AccessType.READ_ONLY.equals(accessType)) {
-      log.info("creating read-only access for region: " + this.getName());
-      return new ReadOnlyAccess(this);
-    }
-    else if (AccessType.NONSTRICT_READ_WRITE.equals(accessType)) {
-      log.info("creating nonstrict-read-write access for region: "
-          + this.getName());
-      return new NonStrictReadWriteAccess(this);
-    }
-    else if (AccessType.READ_WRITE.equals(accessType)) {
-    	log.info("creating read-write access for region: "
-    	          + this.getName());
-      return new ReadWriteAccess(this);
-    }
-    else if (AccessType.TRANSACTIONAL.equals(accessType)) {
-    	log.info("creating transactional access for region: "
-    	          + this.getName());
-      return new TransactionalAccess(this);
-    }
-    throw new UnsupportedOperationException("Unknown access type: "
-        + accessType);
-  }
-
-  /**
-   * Should this region should register interest in keys.
-   * @return true for client regions with storage
-   */
-  public boolean isRegisterInterestRequired() {
-    return this.isClientRegion && this.region.getAttributes().getDataPolicy().withStorage();
-  }
-  
-  /**
-   * register interest in this key, if not already registered
-   * @param key
-   */
-  public void registerInterest(Object key) {
-    if (!this.registeredKeys.containsKey(key)) {
-      this.region.registerInterest(key);
-      this.registeredKeys.put(key, Boolean.TRUE);
-      log.debug("registered interest in key{}", key);
-    }
-  }
-  
-  public void registerInterest(Collection<?> list) {
-    // build a list of keys for which interest is not
-    // already registered
-    List<Object> interestList = new ArrayList<Object>();
-    for (Object o : list) {
-      if (!this.registeredKeys.containsKey(o)) {
-        interestList.add(o);
-      }
-    }
-    // register interest in this list
-    this.region.registerInterest(interestList);
-    log.debug("registered interest in {} keys", interestList.size());
-  }
-  
-  /**
-   * wraps the keys in {@link KeyWrapper} and calls getAll
-   * on the underlying GemFire region. When the underlying region
-   * is a proxy region, the fetched entries are stored in a local
-   * map.
-   * @param keys
-   */
-  public void getAll(Collection<?> keys) {
-    Set<KeyWrapper> wrappedKeys = new HashSet<KeyWrapper>();
-    for (Object o : keys) {
-      wrappedKeys.add(new KeyWrapper(o));
-    }
-    if (isRegisterInterestRequired()) {
-      registerInterest(wrappedKeys);
-    } else {
-      Map<Object, EntityWrapper> retVal = this.region.getAll(wrappedKeys);
-      putInLocalMap(retVal);
-    }
-  }
-
-  /**
-   * if the underlying gemfire region does not have local storage, put
-   * the pre-fetched entries in {@link #preFetchMap}
-   * @param map map of prefetched entries
-   */
-  private void putInLocalMap(Map<Object, EntityWrapper> map) {
-    if (!this.region.getAttributes().getDataPolicy().withStorage()) {
-      // if the value is null, do not cache in preFetchMap
-      for (Entry<Object, EntityWrapper> e : map.entrySet()) {
-        if (e.getValue() != null) {
-          this.preFetchMap.put(e.getKey(), e.getValue());
-          log.debug("putting key: {} value: {} in local map", e.getKey(), e.getValue());
-        }
-      }
-    }
-  }
-
-  /**
-   * If this key was pre-fetched, get the entity.
-   * @param key
-   * @return the prefetched entity
-   */
-  public EntityWrapper get(Object key) {
-    return this.preFetchMap.remove(key);
-  }
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireQueryResultsRegion.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireQueryResultsRegion.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireQueryResultsRegion.java
deleted file mode 100644
index ce06b85..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/GemFireQueryResultsRegion.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate.internal;
-
-import java.util.Collections;
-import java.util.Map;
-
-import org.hibernate.cache.CacheException;
-import org.hibernate.cache.QueryResultsRegion;
-import org.hibernate.cache.Timestamper;
-import org.hibernate.cache.TimestampsRegion;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.gemstone.gemfire.cache.EntryNotFoundException;
-import com.gemstone.gemfire.cache.Region;
-
-public class GemFireQueryResultsRegion implements QueryResultsRegion, TimestampsRegion {
-
-  private final Region region;
-  
-  private Logger log = LoggerFactory.getLogger(getClass());
-  
-  public GemFireQueryResultsRegion(Region region) {
-    this.region = region;
-  }
-  
-  @Override
-  public Object get(Object key) throws CacheException {
-    log.debug("get query results for {} ", key);
-    return this.region.get(key);
-  }
-
-  @Override
-  public void put(Object key, Object value) throws CacheException {
-    log.debug("For key {} putting query results {} ", key, value);
-    this.region.put(key, value);
-  }
-
-  @Override
-  public void evict(Object key) throws CacheException {
-    log.debug("removing query results for key {}", key);
-    this.region.remove(key);
-  }
-
-  @Override
-  public void evictAll() throws CacheException {
-    log.debug("clearing the query cache");
-    this.region.clear();
-  }
-
-  @Override
-  public String getName() {
-    return this.region.getName();
-  }
-
-  @Override
-  public void destroy() throws CacheException {
-    if (!this.region.isDestroyed()) {
-      this.region.destroyRegion();
-    }
-  }
-
-  @Override
-  public boolean contains(Object key) {
-    return this.region.containsKey(key);
-  }
-
-  @Override
-  public long getSizeInMemory() {
-    return -1;
-  }
-
-  @Override
-  public long getElementCountInMemory() {
-    return this.region.size();
-  }
-
-  @Override
-  public long getElementCountOnDisk() {
-    // TODO make this an overflow region
-    return -1;
-  }
-
-  @Override
-  public Map toMap() {
-    return Collections.unmodifiableMap(this.region);
-  }
-
-  @Override
-  public long nextTimestamp() {
-    return Timestamper.next();
-  }
-
-  @Override
-  public int getTimeout() {
-    return 60*1000; // all other cache providers have same value
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/KeyWrapper.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/KeyWrapper.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/KeyWrapper.java
deleted file mode 100644
index c321076..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/KeyWrapper.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate.internal;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.io.Serializable;
-
-import org.hibernate.cache.CacheKey;
-
-import com.gemstone.gemfire.DataSerializable;
-import com.gemstone.gemfire.DataSerializer;
-
-/**
- * wraps {@link CacheKey}, and implements equals and
- * hashCode. This is required for register interest
- * operation/prefetching
- * @author sbawaska
- *
- */
-public class KeyWrapper implements DataSerializable {
-  
-  private Serializable key;
-  private String entityName;
-  
-  private static final String separator = "#";
-  
-  public KeyWrapper() {
-  }
-  
-  public KeyWrapper(Object p_key) {
-    if (p_key instanceof String) {
-      String stringKey = (String)p_key;
-      this.key = stringKey.substring(stringKey.indexOf(separator)+1);
-      this.entityName = stringKey.substring(0, stringKey.indexOf(separator));
-    } else {
-      CacheKey cacheKey = (CacheKey)p_key;
-      this.key = cacheKey.getKey();
-      this.entityName = cacheKey.getEntityOrRoleName();
-    }
-  }
-  
-  @Override
-  public boolean equals(Object obj) {
-    if (obj instanceof KeyWrapper) {
-      KeyWrapper other = (KeyWrapper)obj;
-      if (this.key.toString().equals(other.key.toString())
-          && this.entityName.equals(other.entityName)) {
-        return true;
-      }
-    }
-    return false;
-  }
-  
-  @Override
-  public int hashCode() {
-    return this.key.toString().hashCode() + this.entityName.hashCode();
-  }
-  
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append(this.entityName).append(separator).append(this.key);
-    return sb.toString();
-  }
-
-  @Override
-  public void toData(DataOutput out) throws IOException {
-    DataSerializer.writeObject(this.key, out);
-    out.writeUTF(this.entityName);
-  }
-
-  @Override
-  public void fromData(DataInput in) throws IOException, ClassNotFoundException {
-    this.key = DataSerializer.readObject(in);
-    this.entityName = in.readUTF();
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f6c4c2f9/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/NonStrictReadWriteAccess.java
----------------------------------------------------------------------
diff --git a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/NonStrictReadWriteAccess.java b/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/NonStrictReadWriteAccess.java
deleted file mode 100644
index ad617e4..0000000
--- a/extensions/gemfire-modules-hibernate/src/main/java/com/gemstone/gemfire/modules/hibernate/internal/NonStrictReadWriteAccess.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package com.gemstone.gemfire.modules.hibernate.internal;
-
-import org.hibernate.cache.CacheException;
-import org.hibernate.cache.access.SoftLock;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class NonStrictReadWriteAccess extends Access {
-
-  private Logger log = LoggerFactory.getLogger(getClass());
-
-  public NonStrictReadWriteAccess(GemFireEntityRegion region) {
-    super(region);
-  }
-
-  @Override
-  public SoftLock lockItem(Object key, Object version) throws CacheException {
-    log.debug("lock item called for key {}", key);
-    return null;
-  }
-
-  @Override
-  public boolean afterUpdate(Object key, Object value, Object currentVersion,
-      Object previousVersion, SoftLock lock) throws CacheException {
-    log.debug("after update called for key: {} value: {}", key, value);
-    getGemFireRegion().put(getWrappedKey(key), new EntityWrapper(value, -1L));
-    return true;
-  }
-  
-  @Override
-  public boolean update(Object key, Object value, Object currentVersion,
-      Object previousVersion) throws CacheException {
-    log.debug("updating key: {} value: {}", key, value);
-    getGemFireRegion().put(getWrappedKey(key), new EntityWrapper(value, -1L));
-    return true;
-  }
-//  
-//  @Override
-//  public boolean insert(Object key, Object value, Object version)
-//      throws CacheException {
-//    log.debug("inserting key:{} value:{}", key, value);
-//    getGemFireRegion().put(key, new EntityWrapper(value, -1L));
-//    return true;
-//  }
-//  
-//  @Override
-//  public boolean afterInsert(Object key, Object value, Object version)
-//      throws CacheException {
-//    log.debug("after insert called for key:{} value:{}", key, value);
-//    getGemFireRegion().put(key, new EntityWrapper(value, -1L));
-//    return true;
-//  }
-//  
-  @Override
-  public boolean putFromLoad(Object key, Object value, long txTimestamp,
-      Object version) throws CacheException {
-    return putFromLoad(key, value, txTimestamp, version, true);
-  }
-  
-  @Override
-  public boolean putFromLoad(Object key, Object value, long txTimestamp,
-      Object version, boolean minimalPutOverride) throws CacheException {
-    log.debug("putting a new entry from load key:{} value:{}", key, value);
-    getGemFireRegion().put(getWrappedKey(key), new EntityWrapper(value, -1L));
-    return true;
-  }
-}



Mime
View raw message