http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/cache/affinity/consistenthash/GridCacheConsistentHashAffinityFunction.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/affinity/consistenthash/GridCacheConsistentHashAffinityFunction.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/affinity/consistenthash/GridCacheConsistentHashAffinityFunction.java
index b62160a..b5ac5c1 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/affinity/consistenthash/GridCacheConsistentHashAffinityFunction.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/affinity/consistenthash/GridCacheConsistentHashAffinityFunction.java
@@ -22,7 +22,6 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
 import org.gridgain.grid.*;
-import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.tostring.*;
@@ -56,7 +55,7 @@ import java.util.concurrent.atomic.*;
  * </li>
  * </ul>
  * <p>
- * Cache affinity can be configured for individual caches via {@link 
GridCacheConfiguration#getAffinity()} method.
+ * Cache affinity can be configured for individual caches via {@link 
org.apache.ignite.cache.CacheConfiguration#getAffinity()} method.
  */
 public class GridCacheConsistentHashAffinityFunction implements 
GridCacheAffinityFunction {
     /** */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/cache/affinity/fair/GridCachePartitionFairAffinity.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/affinity/fair/GridCachePartitionFairAffinity.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/affinity/fair/GridCachePartitionFairAffinity.java
index 46c494b..248c1ad 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/affinity/fair/GridCachePartitionFairAffinity.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/affinity/fair/GridCachePartitionFairAffinity.java
@@ -20,7 +20,6 @@ package org.gridgain.grid.cache.affinity.fair;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -32,7 +31,7 @@ import java.util.*;
  * Fair affinity function which tries to ensure that all nodes get equal 
number of partitions with
  * minimum amount of reassignments between existing nodes.
  * <p>
- * Cache affinity can be configured for individual caches via {@link 
GridCacheConfiguration#getAffinity()} method.
+ * Cache affinity can be configured for individual caches via {@link 
org.apache.ignite.cache.CacheConfiguration#getAffinity()} method.
  */
 @GridCacheCentralizedAffinityFunction
 public class GridCachePartitionFairAffinity implements 
GridCacheAffinityFunction {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/cache/affinity/rendezvous/GridCacheRendezvousAffinityFunction.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/affinity/rendezvous/GridCacheRendezvousAffinityFunction.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/affinity/rendezvous/GridCacheRendezvousAffinityFunction.java
index cfb1ada..a58bd76 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/affinity/rendezvous/GridCacheRendezvousAffinityFunction.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/affinity/rendezvous/GridCacheRendezvousAffinityFunction.java
@@ -22,8 +22,6 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.marshaller.*;
 import org.apache.ignite.marshaller.optimized.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.util.typedef.*;
@@ -53,7 +51,7 @@ import java.util.*;
  * </li>
  * </ul>
  * <p>
- * Cache affinity can be configured for individual caches via {@link 
GridCacheConfiguration#getAffinity()} method.
+ * Cache affinity can be configured for individual caches via {@link 
org.apache.ignite.cache.CacheConfiguration#getAffinity()} method.
  */
 public class GridCacheRendezvousAffinityFunction implements 
GridCacheAffinityFunction, Externalizable {
     /** */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/cache/cloner/GridCacheCloner.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/cloner/GridCacheCloner.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/cloner/GridCacheCloner.java
index 256763f..6e82572 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/cloner/GridCacheCloner.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/cloner/GridCacheCloner.java
@@ -34,7 +34,7 @@ import org.jetbrains.annotations.*;
  * and will affect the cached values returned to other threads even before
  * the transaction commits.
  * <p>
- * Cache cloner can be set in cache configuration via {@link 
GridCacheConfiguration#getCloner()}
+ * Cache cloner can be set in cache configuration via {@link 
org.apache.ignite.cache.CacheConfiguration#getCloner()}
  * method. By default, cache uses {@link GridCacheBasicCloner} implementation
  * which will clone only objects implementing {@link Cloneable} interface. You
  * can also configure cache to use {@link GridCacheDeepCloner} which will 
perform
@@ -44,8 +44,8 @@ import org.jetbrains.annotations.*;
  *
  * @see GridCacheBasicCloner
  * @see GridCacheDeepCloner
- * @see GridCacheConfiguration#getCloner()
- * @see GridCacheConfiguration#setCloner(GridCacheCloner)
+ * @see org.apache.ignite.cache.CacheConfiguration#getCloner()
+ * @see org.apache.ignite.cache.CacheConfiguration#setCloner(GridCacheCloner)
  *
  */
 public interface GridCacheCloner {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/GridCacheEvictionFilter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/GridCacheEvictionFilter.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/eviction/GridCacheEvictionFilter.java
index 3d283f7..a280426 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/GridCacheEvictionFilter.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/eviction/GridCacheEvictionFilter.java
@@ -25,7 +25,7 @@ import org.gridgain.grid.cache.*;
  * If {@link #evictAllowed(GridCacheEntry)} method returns {@code false} then 
eviction
  * policy will not be notified and entry will never be evicted.
  * <p>
- * Eviction filter can be configured via {@link 
GridCacheConfiguration#getEvictionFilter()}
+ * Eviction filter can be configured via {@link 
org.apache.ignite.cache.CacheConfiguration#getEvictionFilter()}
  * configuration property. Default value is {@code null} which means that all
  * cache entries will be tracked by eviction policy.
  */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/fifo/GridCacheFifoEvictionPolicy.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/fifo/GridCacheFifoEvictionPolicy.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/eviction/fifo/GridCacheFifoEvictionPolicy.java
index 830d0e2..7838a73 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/fifo/GridCacheFifoEvictionPolicy.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/eviction/fifo/GridCacheFifoEvictionPolicy.java
@@ -18,7 +18,7 @@
 package org.gridgain.grid.cache.eviction.fifo;
 
 import org.apache.ignite.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.cache.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.eviction.*;
 import org.jdk8.backport.*;
@@ -42,7 +42,7 @@ public class GridCacheFifoEvictionPolicy<K, V> implements 
GridCacheEvictionPolic
     private final String meta = UUID.randomUUID().toString();
 
     /** Maximum size. */
-    private volatile int max = GridCacheConfiguration.DFLT_CACHE_SIZE;
+    private volatile int max = CacheConfiguration.DFLT_CACHE_SIZE;
 
     /** FIFO queue. */
     private final ConcurrentLinkedDeque8<GridCacheEntry<K, V>> queue =

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/lru/GridCacheLruEvictionPolicy.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/lru/GridCacheLruEvictionPolicy.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/eviction/lru/GridCacheLruEvictionPolicy.java
index 1f01324..3535221 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/lru/GridCacheLruEvictionPolicy.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/eviction/lru/GridCacheLruEvictionPolicy.java
@@ -17,6 +17,7 @@
 
 package org.gridgain.grid.cache.eviction.lru;
 
+import org.apache.ignite.cache.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.eviction.*;
 import org.jdk8.backport.*;
@@ -37,7 +38,7 @@ public class GridCacheLruEvictionPolicy<K, V> implements 
GridCacheEvictionPolicy
     private final String meta = UUID.randomUUID().toString();
 
     /** Maximum size. */
-    private volatile int max = GridCacheConfiguration.DFLT_CACHE_SIZE;
+    private volatile int max = CacheConfiguration.DFLT_CACHE_SIZE;
 
     /** Queue. */
     private final ConcurrentLinkedDeque8<GridCacheEntry<K, V>> queue =

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/GridCacheRandomEvictionPolicy.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/GridCacheRandomEvictionPolicy.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/GridCacheRandomEvictionPolicy.java
index a2ed65c..f49531f 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/GridCacheRandomEvictionPolicy.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/GridCacheRandomEvictionPolicy.java
@@ -18,7 +18,7 @@
 package org.gridgain.grid.cache.eviction.random;
 
 import org.apache.ignite.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.cache.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.eviction.*;
 import org.gridgain.grid.util.typedef.*;
@@ -38,7 +38,7 @@ import static org.gridgain.grid.cache.GridCachePeekMode.*;
 public class GridCacheRandomEvictionPolicy<K, V> implements 
GridCacheEvictionPolicy<K, V>,
     GridCacheRandomEvictionPolicyMBean {
     /** Maximum size. */
-    private volatile int max = GridCacheConfiguration.DFLT_CACHE_SIZE;
+    private volatile int max = CacheConfiguration.DFLT_CACHE_SIZE;
 
     /**
      * Constructs random eviction policy with all defaults.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/GridGainEx.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/GridGainEx.java 
b/modules/core/src/main/java/org/gridgain/grid/kernal/GridGainEx.java
index 3085f3b..1afb7b2 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/GridGainEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/GridGainEx.java
@@ -18,6 +18,7 @@
 package org.gridgain.grid.kernal;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.fs.*;
 import org.apache.ignite.lang.*;
@@ -35,7 +36,6 @@ import org.apache.ignite.spi.indexing.*;
 import org.apache.ignite.streamer.*;
 import org.apache.ignite.thread.*;
 import org.gridgain.grid.*;
-import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.rendezvous.*;
 import org.gridgain.grid.kernal.processors.interop.*;
 import org.gridgain.grid.kernal.processors.resource.*;
@@ -1111,7 +1111,7 @@ public class GridGainEx {
         private static final String[] EMPTY_STR_ARR = new String[0];
 
         /** Empty array of caches. */
-        private static final GridCacheConfiguration[] EMPTY_CACHE_CONFIGS = 
new GridCacheConfiguration[0];
+        private static final CacheConfiguration[] EMPTY_CACHE_CONFIGS = new 
CacheConfiguration[0];
 
         /** Grid name. */
         private final String name;
@@ -1715,10 +1715,10 @@ public class GridGainEx {
             if (swapspaceSpi == null) {
                 boolean needSwap = false;
 
-                GridCacheConfiguration[] caches = cfg.getCacheConfiguration();
+                CacheConfiguration[] caches = cfg.getCacheConfiguration();
 
                 if (caches != null) {
-                    for (GridCacheConfiguration c : caches) {
+                    for (CacheConfiguration c : caches) {
                         if (c.isSwapEnabled()) {
                             needSwap = true;
 
@@ -1816,11 +1816,11 @@ public class GridGainEx {
             if (adminEmails != null)
                 myCfg.setAdminEmails(adminEmails.split(","));
 
-            GridCacheConfiguration[] cacheCfgs = cfg.getCacheConfiguration();
+            CacheConfiguration[] cacheCfgs = cfg.getCacheConfiguration();
 
             boolean hasHadoop = GridComponentType.HADOOP.inClassPath();
 
-            GridCacheConfiguration[] copies;
+            CacheConfiguration[] copies;
 
             if (cacheCfgs != null && cacheCfgs.length > 0) {
                 if (!U.discoOrdered(discoSpi) && !U.relaxDiscoveryOrdered())
@@ -1828,7 +1828,7 @@ public class GridGainEx {
                         "cannot be used with cache (use SPI with 
@GridDiscoverySpiOrderSupport annotation, " +
                         "like GridTcpDiscoverySpi)");
 
-                for (GridCacheConfiguration ccfg : cacheCfgs) {
+                for (CacheConfiguration ccfg : cacheCfgs) {
                     if (CU.isHadoopSystemCache(ccfg.getName()))
                         throw new IgniteCheckedException("Cache name cannot be 
\"" + CU.SYS_CACHE_HADOOP_MR +
                             "\" because it is reserved for internal 
purposes.");
@@ -1838,24 +1838,24 @@ public class GridGainEx {
                             "\" because this prefix is reserved for internal 
purposes.");
                 }
 
-                copies = new GridCacheConfiguration[cacheCfgs.length + 
(hasHadoop ? 2 : 1)];
+                copies = new CacheConfiguration[cacheCfgs.length + (hasHadoop 
? 2 : 1)];
 
                 int cloneIdx = 1;
 
                 if (hasHadoop)
                     copies[cloneIdx++] = CU.hadoopSystemCache();
 
-                for (GridCacheConfiguration ccfg : cacheCfgs)
-                    copies[cloneIdx++] = new GridCacheConfiguration(ccfg);
+                for (CacheConfiguration ccfg : cacheCfgs)
+                    copies[cloneIdx++] = new CacheConfiguration(ccfg);
             }
             else if (hasHadoop) {
                 // Populate system caches
-                copies = new GridCacheConfiguration[hasHadoop ? 2 : 1];
+                copies = new CacheConfiguration[hasHadoop ? 2 : 1];
 
                 copies[1] = CU.hadoopSystemCache();
             }
             else
-                copies = new GridCacheConfiguration[1];
+                copies = new CacheConfiguration[1];
 
             // Always add utility cache.
             copies[0] = utilitySystemCache(discoSpi instanceof 
TcpClientDiscoverySpi);
@@ -2031,8 +2031,8 @@ public class GridGainEx {
          *
          * @return Utility system cache configuration.
          */
-        private GridCacheConfiguration utilitySystemCache(boolean client) {
-            GridCacheConfiguration cache = new GridCacheConfiguration();
+        private CacheConfiguration utilitySystemCache(boolean client) {
+            CacheConfiguration cache = new CacheConfiguration();
 
             cache.setName(CU.UTILITY_CACHE_NAME);
             cache.setCacheMode(REPLICATED);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/GridKernal.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/GridKernal.java 
b/modules/core/src/main/java/org/gridgain/grid/kernal/GridKernal.java
index f54d1e5..2e71ca6 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/GridKernal.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/GridKernal.java
@@ -18,6 +18,7 @@
 package org.gridgain.grid.kernal;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
@@ -2283,14 +2284,14 @@ public class GridKernal extends ClusterGroupAdapter 
implements GridEx, IgniteMBe
      *
      */
     private void ackCacheConfiguration() {
-        GridCacheConfiguration[] cacheCfgs = cfg.getCacheConfiguration();
+        CacheConfiguration[] cacheCfgs = cfg.getCacheConfiguration();
 
         if (cacheCfgs == null || cacheCfgs.length == 0)
             U.warn(log, "Cache is not configured - in-memory data grid is 
off.");
         else {
             SB sb = new SB();
 
-            for (GridCacheConfiguration c : cacheCfgs) {
+            for (CacheConfiguration c : cacheCfgs) {
                 String name = c.getName();
 
                 if (name == null)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
index 1a31edd..2275c88 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
@@ -18,6 +18,7 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.compute.*;
 import org.apache.ignite.configuration.*;
@@ -139,7 +140,7 @@ public abstract class GridCacheAdapter<K, V> extends 
GridMetadataAwareAdapter im
 
     /** Cache configuration. */
     @GridToStringExclude
-    protected GridCacheConfiguration cacheCfg;
+    protected CacheConfiguration cacheCfg;
 
     /** Grid configuration. */
     @GridToStringExclude
@@ -529,7 +530,7 @@ public abstract class GridCacheAdapter<K, V> extends 
GridMetadataAwareAdapter im
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheConfiguration configuration() {
+    @Override public CacheConfiguration configuration() {
         return ctx.config();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAttributes.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAttributes.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAttributes.java
index 84ac35a..906ed53 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAttributes.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAttributes.java
@@ -17,6 +17,7 @@
 
 package org.gridgain.grid.kernal.processors.cache;
 
+import org.apache.ignite.cache.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.affinity.consistenthash.*;
@@ -25,7 +26,7 @@ import org.jetbrains.annotations.*;
 
 import java.io.*;
 
-import static org.gridgain.grid.cache.GridCacheConfiguration.*;
+import static org.apache.ignite.cache.CacheConfiguration.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 
@@ -155,7 +156,7 @@ public class GridCacheAttributes implements Externalizable {
     /**
      * @param cfg Cache configuration.
      */
-    public GridCacheAttributes(GridCacheConfiguration cfg) {
+    public GridCacheAttributes(CacheConfiguration cfg) {
         atomicityMode = cfg.getAtomicityMode();
         cacheMode = cfg.getCacheMode();
         dfltLockTimeout = cfg.getDefaultLockTimeout();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
index 11adb67..2a5988f 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
@@ -18,6 +18,7 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
@@ -94,7 +95,7 @@ public class GridCacheContext<K, V> implements Externalizable 
{
     private IgniteLogger log;
 
     /** Cache configuration. */
-    private GridCacheConfiguration cacheCfg;
+    private CacheConfiguration cacheCfg;
 
     /** Unsafe memory object for direct memory allocation. */
     private GridUnsafeMemory unsafeMemory;
@@ -213,7 +214,7 @@ public class GridCacheContext<K, V> implements 
Externalizable {
     public GridCacheContext(
         GridKernalContext ctx,
         GridCacheSharedContext sharedCtx,
-        GridCacheConfiguration cacheCfg,
+        CacheConfiguration cacheCfg,
 
         /*
          * Managers in starting order!
@@ -774,7 +775,7 @@ public class GridCacheContext<K, V> implements 
Externalizable {
     /**
      * @return Cache configuration for given cache instance.
      */
-    public GridCacheConfiguration config() {
+    public CacheConfiguration config() {
         return cacheCfg;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
index efcb798..bcf4ee2 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
@@ -20,8 +20,6 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.portables.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.typedef.*;
@@ -39,7 +37,7 @@ import java.lang.reflect.*;
  * conjunction with this mapper to automatically provide custom affinity keys 
for cache keys.
  * <p>
  * If non-default affinity mapper is used, is should be provided via
- * {@link GridCacheConfiguration#getAffinityMapper()} configuration property.
+ * {@link org.apache.ignite.cache.CacheConfiguration#getAffinityMapper()} 
configuration property.
  */
 public class GridCacheDefaultAffinityKeyMapper implements 
GridCacheAffinityKeyMapper {
     /** */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionManager.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionManager.java
index d05a347..6c2630a 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionManager.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionManager.java
@@ -18,6 +18,7 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
@@ -127,7 +128,7 @@ public class GridCacheEvictionManager<K, V> extends 
GridCacheManagerAdapter<K, V
 
     /** {@inheritDoc} */
     @Override public void start0() throws IgniteCheckedException {
-        GridCacheConfiguration cfg = cctx.config();
+        CacheConfiguration cfg = cctx.config();
 
         plc = cctx.isNear() ? cfg.<K, V>getNearEvictionPolicy() : cfg.<K, 
V>getEvictionPolicy();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
index 2602510..1eec684 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
@@ -18,6 +18,7 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
 import org.apache.ignite.cache.store.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
@@ -59,7 +60,7 @@ import java.util.*;
 import static org.apache.ignite.IgniteSystemProperties.*;
 import static org.apache.ignite.configuration.IgniteDeploymentMode.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
-import static org.gridgain.grid.cache.GridCacheConfiguration.*;
+import static org.apache.ignite.cache.CacheConfiguration.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
@@ -131,7 +132,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      * @param cfg Initializes cache configuration with proper defaults.
      */
     @SuppressWarnings("unchecked")
-    private void initialize(GridCacheConfiguration cfg) {
+    private void initialize(CacheConfiguration cfg) {
         if (cfg.getCacheMode() == null)
             cfg.setCacheMode(DFLT_CACHE_MODE);
 
@@ -242,7 +243,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
     /**
      * @param cfg Configuration to check for possible performance issues.
      */
-    private void suggestOptimizations(GridCacheConfiguration cfg) {
+    private void suggestOptimizations(CacheConfiguration cfg) {
         GridPerformanceSuggestions perf = ctx.performance();
 
         String msg = "Disable eviction policy (remove from configuration)";
@@ -287,7 +288,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      * @param cc Configuration to validate.
      * @throws IgniteCheckedException If failed.
      */
-    private void validate(IgniteConfiguration c, GridCacheConfiguration cc) 
throws IgniteCheckedException {
+    private void validate(IgniteConfiguration c, CacheConfiguration cc) throws 
IgniteCheckedException {
         if (cc.getCacheMode() == REPLICATED) {
             if (cc.getAffinity() instanceof GridCachePartitionFairAffinity)
                 throw new IgniteCheckedException("REPLICATED cache can not be 
started with GridCachePartitionFairAffinity" +
@@ -463,7 +464,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      * @param objs Extra components.
      * @throws IgniteCheckedException If failed to inject.
      */
-    private void prepare(GridCacheConfiguration cfg, Object... objs) throws 
IgniteCheckedException {
+    private void prepare(CacheConfiguration cfg, Object... objs) throws 
IgniteCheckedException {
         prepare(cfg, cfg.getEvictionPolicy(), false);
         prepare(cfg, cfg.getNearEvictionPolicy(), true);
         prepare(cfg, cfg.getAffinity(), false);
@@ -483,7 +484,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      * @param near Near flag.
      * @throws IgniteCheckedException If failed.
      */
-    private void prepare(GridCacheConfiguration cfg, @Nullable Object rsrc, 
boolean near) throws IgniteCheckedException {
+    private void prepare(CacheConfiguration cfg, @Nullable Object rsrc, 
boolean near) throws IgniteCheckedException {
         if (rsrc != null) {
             ctx.resource().injectGeneric(rsrc);
 
@@ -497,7 +498,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      * @param cctx Cache context.
      */
     private void cleanup(GridCacheContext cctx) {
-        GridCacheConfiguration cfg = cctx.config();
+        CacheConfiguration cfg = cctx.config();
 
         cleanup(cfg, cfg.getEvictionPolicy(), false);
         cleanup(cfg, cfg.getNearEvictionPolicy(), true);
@@ -515,7 +516,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      * @param rsrc Resource.
      * @param near Near flag.
      */
-    private void cleanup(GridCacheConfiguration cfg, @Nullable Object rsrc, 
boolean near) {
+    private void cleanup(CacheConfiguration cfg, @Nullable Object rsrc, 
boolean near) {
         if (rsrc != null) {
             unregisterMbean(rsrc, cfg.getName(), near);
 
@@ -560,7 +561,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
 
         sysCaches.add(CU.UTILITY_CACHE_NAME);
 
-        GridCacheConfiguration[] cfgs = ctx.config().getCacheConfiguration();
+        CacheConfiguration[] cfgs = ctx.config().getCacheConfiguration();
 
         sharedCtx = createSharedContext(ctx);
 
@@ -570,7 +571,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
         Collection<GridCacheAdapter<?, ?>> startSeq = new 
ArrayList<>(cfgs.length);
 
         for (int i = 0; i < cfgs.length; i++) {
-            GridCacheConfiguration cfg = new GridCacheConfiguration(cfgs[i]);
+            CacheConfiguration cfg = new CacheConfiguration(cfgs[i]);
 
             // Initialize defaults.
             initialize(cfg);
@@ -818,7 +819,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
         for (GridCacheAdapter<?, ?> cache : startSeq) {
             GridCacheContext<?, ?> cacheCtx = cache.context();
 
-            GridCacheConfiguration cfg = cacheCtx.config();
+            CacheConfiguration cfg = cacheCtx.config();
 
             // Start managers.
             for (GridCacheManager mgr : F.view(cacheCtx.managers(), 
F.notContains(dhtExcludes(cacheCtx))))
@@ -921,7 +922,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
 
         int i = 0;
 
-        for (GridCacheConfiguration cfg : 
ctx.config().getCacheConfiguration()) {
+        for (CacheConfiguration cfg : ctx.config().getCacheConfiguration()) {
             attrVals[i++] = new GridCacheAttributes(cfg);
 
             attrPortable.put(CU.mask(cfg.getName()), cfg.isPortableEnabled());
@@ -947,10 +948,10 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      * @return Maximum detected preload order.
      * @throws IgniteCheckedException If validation failed.
      */
-    private int validatePreloadOrder(GridCacheConfiguration[] cfgs) throws 
IgniteCheckedException {
+    private int validatePreloadOrder(CacheConfiguration[] cfgs) throws 
IgniteCheckedException {
         int maxOrder = 0;
 
-        for (GridCacheConfiguration cfg : cfgs) {
+        for (CacheConfiguration cfg : cfgs) {
             int preloadOrder = cfg.getPreloadOrder();
 
             if (preloadOrder > 0) {
@@ -984,7 +985,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      */
     @Nullable private IgniteSpiNodeValidationResult 
validateHashIdResolvers(ClusterNode node) {
         for (GridCacheAdapter cache : ctx.cache().internalCaches()) {
-            GridCacheConfiguration cfg = cache.configuration();
+            CacheConfiguration cfg = cache.configuration();
 
             if (cfg.getAffinity() instanceof 
GridCacheConsistentHashAffinityFunction) {
                 GridCacheConsistentHashAffinityFunction aff = 
(GridCacheConsistentHashAffinityFunction)cfg.getAffinity();
@@ -1286,7 +1287,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
             GridCacheAdapter cache = e.getValue();
 
             if (maxPreloadOrder > 0) {
-                GridCacheConfiguration cfg = cache.configuration();
+                CacheConfiguration cfg = cache.configuration();
 
                 int order = cfg.getPreloadOrder();
 
@@ -1316,7 +1317,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
 
         // Wait for caches in SYNC preload mode.
         for (GridCacheAdapter<?, ?> cache : caches.values()) {
-            GridCacheConfiguration cfg = cache.configuration();
+            CacheConfiguration cfg = cache.configuration();
 
             if (cfg.getPreloadMode() == SYNC) {
                 if (cfg.getCacheMode() == REPLICATED ||
@@ -1505,7 +1506,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      * @param cfg Cache configuration.
      * @return Query manager.
      */
-    private GridCacheQueryManager queryManager(GridCacheConfiguration cfg) {
+    private GridCacheQueryManager queryManager(CacheConfiguration cfg) {
         return cfg.getCacheMode() == LOCAL ? new GridCacheLocalQueryManager() 
: new GridCacheDistributedQueryManager();
     }
 
@@ -1811,7 +1812,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      *         or user-defined cache store.
      */
     @SuppressWarnings({"unchecked"})
-    private CacheStore cacheStore(String gridName, GridCacheConfiguration cfg) 
{
+    private CacheStore cacheStore(String gridName, CacheConfiguration cfg) {
         if (cfg.getStore() == null || !cfg.isWriteBehindEnabled())
             return cfg.getStore();
 
@@ -1831,7 +1832,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      * @param objs Extra components.
      * @return Components provided in cache configuration which can implement 
{@link LifecycleAware} interface.
      */
-    private Iterable<Object> lifecycleAwares(GridCacheConfiguration ccfg, 
Object...objs) {
+    private Iterable<Object> lifecycleAwares(CacheConfiguration ccfg, 
Object...objs) {
         Collection<Object> ret = new ArrayList<>(7 + objs.length);
 
         ret.add(ccfg.getAffinity());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
index ac13deb..7991433 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
@@ -18,6 +18,7 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.transactions.*;
@@ -154,7 +155,7 @@ public class GridCacheProxyImpl<K, V> implements 
GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheConfiguration configuration() {
+    @Override public CacheConfiguration configuration() {
         return cache.configuration();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
index e943a11..f08dcb5 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
@@ -23,13 +23,13 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.lifecycle.*;
 import org.apache.ignite.resources.*;
 import org.apache.ignite.transactions.*;
+import org.gridgain.grid.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.interop.*;
 import org.gridgain.grid.util.lang.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
-import sun.nio.cs.*;
 
 import javax.cache.*;
 import java.util.*;
@@ -246,19 +246,21 @@ public class GridCacheStoreManager<K, V> extends 
GridCacheManagerAdapter<K, V> {
 
                 try {
                     if (keys.size() > singleThreadGate.loadAllThreshold()) {
-                        Map<K, Object> map = singleThreadGate.loadAll(keys0);
+                        Map<K, Object> map = store.loadAll(keys0);
 
-                        for (Map.Entry<K, Object> e : map.entrySet()) {
-                            K k = e.getKey();
+                        if (map != null) {
+                            for (Map.Entry<K, Object> e : map.entrySet()) {
+                                K k = e.getKey();
 
-                            V v = convert(e.getValue());
+                                V v = convert(e.getValue());
 
-                            if (cctx.portableEnabled()) {
-                                k = (K)cctx.marshalToPortable(k);
-                                v = (V)cctx.marshalToPortable(v);
-                            }
+                                if (cctx.portableEnabled()) {
+                                    k = (K)cctx.marshalToPortable(k);
+                                    v = (V)cctx.marshalToPortable(v);
+                                }
 
-                            vis.apply(k, v);
+                                vis.apply(k, v);
+                            }
                         }
                     }
                     else {
@@ -591,7 +593,7 @@ public class GridCacheStoreManager<K, V> extends 
GridCacheManagerAdapter<K, V> {
             if (ses) {
                 sesHolder.set(null);
 
-                tx.removeMeta(SES_ATTR);
+                ((GridMetadataAware)tx).removeMeta(SES_ATTR);
             }
         }
     }
@@ -620,12 +622,12 @@ public class GridCacheStoreManager<K, V> extends 
GridCacheManagerAdapter<K, V> {
         if (!sesEnabled || tx == null)
             return false;
 
-        SessionData ses = tx.meta(SES_ATTR);
+        SessionData ses = ((GridMetadataAware)tx).meta(SES_ATTR);
 
         if (ses == null) {
             ses = new SessionData(tx);
 
-            tx.addMeta(SES_ATTR, ses);
+            ((GridMetadataAware)tx).addMeta(SES_ATTR, ses);
         }
 
         sesHolder.set(ses);
@@ -680,10 +682,11 @@ public class GridCacheStoreManager<K, V> extends 
GridCacheManagerAdapter<K, V> {
         }
 
         /** {@inheritDoc} */
-        @Override public Map<Object, Object> properties() {
+        @SuppressWarnings("unchecked")
+        @Override public <K, V> Map<K, V> properties() {
             SessionData ses0 = sesHolder.get();
 
-            return ses0 != null ? ses0.properties() : null;
+            return ses0 != null ? (Map<K, V>)ses0.properties() : null;
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTtlManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTtlManager.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTtlManager.java
index 20791e2..d8785e9 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTtlManager.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTtlManager.java
@@ -20,7 +20,6 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.thread.*;
 import org.gridgain.grid.*;
-import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -29,7 +28,7 @@ import org.gridgain.grid.util.worker.*;
 import java.util.*;
 
 /**
- * Eagerly removes expired entries from cache when {@link 
GridCacheConfiguration#isEagerTtl()} flag is set.
+ * Eagerly removes expired entries from cache when {@link 
org.apache.ignite.cache.CacheConfiguration#isEagerTtl()} flag is set.
  */
 @SuppressWarnings("NakedNotify")
 public class GridCacheTtlManager<K, V> extends GridCacheManagerAdapter<K, V> {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
index cf10e91..7452e2f 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
@@ -18,6 +18,7 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.fs.*;
@@ -564,7 +565,7 @@ public class GridCacheUtils {
      * @param cfg Configuration to check.
      * @return {@code True} if local node is affinity node (i.e. will store 
partitions).
      */
-    public static boolean isAffinityNode(GridCacheConfiguration cfg) {
+    public static boolean isAffinityNode(CacheConfiguration cfg) {
         if (cfg.getCacheMode() == LOCAL)
             return true;
 
@@ -641,7 +642,7 @@ public class GridCacheUtils {
      * @return {@code True} if near cache is enabled, {@code false} otherwise.
      */
     @SuppressWarnings("SimplifiableIfStatement")
-    public static boolean isNearEnabled(GridCacheConfiguration cfg) {
+    public static boolean isNearEnabled(CacheConfiguration cfg) {
         if (cfg.getCacheMode() == LOCAL)
             return false;
 
@@ -655,7 +656,7 @@ public class GridCacheUtils {
      * @param cfg Configuration.
      * @return Partitioned cache mode.
      */
-    public static GridCacheDistributionMode 
distributionMode(GridCacheConfiguration cfg) {
+    public static GridCacheDistributionMode 
distributionMode(CacheConfiguration cfg) {
         return cfg.getDistributionMode() != null ?
             cfg.getDistributionMode() : 
GridCacheDistributionMode.PARTITIONED_ONLY;
     }
@@ -1279,7 +1280,7 @@ public class GridCacheUtils {
         assert ctx != null;
         assert key != null;
 
-        GridCacheConfiguration cfg = ctx.cache().configuration();
+        CacheConfiguration cfg = ctx.cache().configuration();
 
         if (cfg.getCacheMode() != PARTITIONED)
             return ctx.localNode();
@@ -1387,8 +1388,8 @@ public class GridCacheUtils {
      * @param fail If true throws IgniteCheckedException in case of attribute 
values mismatch, otherwise logs warning.
      * @throws IgniteCheckedException If attribute values are different and 
fail flag is true.
      */
-    public static void checkAttributeMismatch(IgniteLogger log, 
GridCacheConfiguration locCfg,
-        GridCacheConfiguration rmtCfg, ClusterNode rmt, T2<String, String> 
attr, boolean fail) throws IgniteCheckedException {
+    public static void checkAttributeMismatch(IgniteLogger log, 
CacheConfiguration locCfg,
+        CacheConfiguration rmtCfg, ClusterNode rmt, T2<String, String> attr, 
boolean fail) throws IgniteCheckedException {
         assert rmt != null;
         assert attr != null;
         assert attr.get1() != null;
@@ -1494,8 +1495,8 @@ public class GridCacheUtils {
      *
      * @return Hadoop cache configuration.
      */
-    public static GridCacheConfiguration hadoopSystemCache() {
-        GridCacheConfiguration cache = new GridCacheConfiguration();
+    public static CacheConfiguration hadoopSystemCache() {
+        CacheConfiguration cache = new CacheConfiguration();
 
         cache.setName(CU.SYS_CACHE_HADOOP_MR);
         cache.setCacheMode(REPLICATED);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStore.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStore.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStore.java
index fea67a9..d680144 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStore.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStore.java
@@ -18,11 +18,11 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
 import org.apache.ignite.cache.store.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.lifecycle.*;
 import org.apache.ignite.thread.*;
-import org.apache.ignite.transactions.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
@@ -40,6 +40,8 @@ import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 import java.util.concurrent.locks.*;
 
+import static javax.cache.Cache.Entry;
+
 /**
  * Internal wrapper for a {@link org.apache.ignite.cache.store.CacheStore} 
that enables write-behind logic.
  * <p/>
@@ -73,19 +75,19 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
     private int concurLvl = DFLT_CONCUR_LVL;
 
     /** When cache size exceeds this value eldest entry will be stored to the 
underlying store. */
-    private int cacheMaxSize = 
GridCacheConfiguration.DFLT_WRITE_BEHIND_FLUSH_SIZE;
+    private int cacheMaxSize = CacheConfiguration.DFLT_WRITE_BEHIND_FLUSH_SIZE;
 
     /** Critical cache size. If cache size exceeds this value, data flush 
performed synchronously. */
     private int cacheCriticalSize;
 
     /** Count of worker threads performing underlying store updates. */
-    private int flushThreadCnt = 
GridCacheConfiguration.DFLT_WRITE_FROM_BEHIND_FLUSH_THREAD_CNT;
+    private int flushThreadCnt = 
CacheConfiguration.DFLT_WRITE_FROM_BEHIND_FLUSH_THREAD_CNT;
 
     /** Cache flush frequency. All pending operations will be performed in not 
less then this value ms. */
-    private long cacheFlushFreq = 
GridCacheConfiguration.DFLT_WRITE_BEHIND_FLUSH_FREQUENCY;
+    private long cacheFlushFreq = 
CacheConfiguration.DFLT_WRITE_BEHIND_FLUSH_FREQUENCY;
 
     /** Maximum batch size for put and remove operations */
-    private int batchSize = 
GridCacheConfiguration.DFLT_WRITE_BEHIND_BATCH_SIZE;
+    private int batchSize = CacheConfiguration.DFLT_WRITE_BEHIND_BATCH_SIZE;
 
     /** Grid name. */
     private String gridName;
@@ -97,7 +99,7 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
     private CacheStore<K, V> store;
 
     /** Write cache. */
-    private ConcurrentLinkedHashMap<K, StatefulValue<V>> writeCache;
+    private ConcurrentLinkedHashMap<K, StatefulValue<K, V>> writeCache;
 
     /** Flusher threads. */
     private GridWorker[] flushThreads;
@@ -158,7 +160,7 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
      * <p/>
      * If this value is {@code 0}, then flush is performed only on 
time-elapsing basis. However,
      * when this value is {@code 0}, the cache critical size is set to
-     * {@link GridCacheConfiguration#DFLT_WRITE_BEHIND_CRITICAL_SIZE}
+     * {@link 
org.apache.ignite.cache.CacheConfiguration#DFLT_WRITE_BEHIND_CRITICAL_SIZE}
      *
      * @return Buffer size that triggers flush procedure.
      */
@@ -275,7 +277,7 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
             cacheCriticalSize = (int)(cacheMaxSize * CACHE_OVERFLOW_RATIO);
 
             if (cacheCriticalSize == 0)
-                cacheCriticalSize = 
GridCacheConfiguration.DFLT_WRITE_BEHIND_CRITICAL_SIZE;
+                cacheCriticalSize = 
CacheConfiguration.DFLT_WRITE_BEHIND_CRITICAL_SIZE;
 
             flushThreads = new GridWorker[flushThreadCnt];
 
@@ -384,34 +386,25 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
     }
 
     /** {@inheritDoc} */
-    @SuppressWarnings({"NullableProblems"})
-    @Override public void loadAll(@Nullable Collection<? extends K> keys, 
IgniteBiInClosure<K, V> c) {
+    @Override public Map<K, V> loadAll(Iterable<? extends K> keys) {
         if (log.isDebugEnabled())
             log.debug("Store load all [keys=" + keys + ']');
 
+        Map<K, V> loaded = new HashMap<>();
+
         Collection<K> remaining = new LinkedList<>();
 
         for (K key : keys) {
-            StatefulValue<V> val = writeCache.get(key);
+            StatefulValue<K, V> val = writeCache.get(key);
 
             if (val != null) {
                 val.readLock().lock();
 
                 try {
-                    switch (val.operation()) {
-                        case PUT:
-                            c.apply(key, val.value());
-
-                            break;
-
-                        case RMV:
-                            c.apply(key, null);
-
-                            break;
-
-                        default:
-                            assert false : "Unexpected operation: " + 
val.status();
-                    }
+                    if (val.operation() == StoreOperation.PUT)
+                        loaded.put(key, val.entry().getValue());
+                    else
+                        assert val.operation() == StoreOperation.RMV : 
val.operation();
                 }
                 finally {
                     val.readLock().unlock();
@@ -422,8 +415,14 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
         }
 
         // For items that were not found in queue.
-        if (!remaining.isEmpty())
-            store.loadAll(remaining, c);
+        if (!remaining.isEmpty()) {
+            Map<K, V> loaded0 = store.loadAll(remaining);
+
+            if (loaded0 != null)
+                loaded.putAll(loaded0);
+        }
+
+        return loaded;
     }
 
     /** {@inheritDoc} */
@@ -431,7 +430,7 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
         if (log.isDebugEnabled())
             log.debug("Store load [key=" + key + ']');
 
-        StatefulValue<V> val = writeCache.get(key);
+        StatefulValue<K, V> val = writeCache.get(key);
 
         if (val != null) {
             val.readLock().lock();
@@ -439,7 +438,7 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
             try {
                 switch (val.operation()) {
                     case PUT:
-                        return val.value();
+                        return val.entry().getValue();
 
                     case RMV:
                         return null;
@@ -457,18 +456,18 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
     }
 
     /** {@inheritDoc} */
-    @Override public void putAll(Map<? extends K, ? extends V> map) {
-        for (Map.Entry<? extends K, ? extends V> e : map.entrySet())
-            put(e.getKey(), e.getValue());
+    @Override public void writeAll(Collection<Entry<? extends K, ? extends V>> 
entries) {
+        for (Entry<? extends K, ? extends V> e : entries)
+            write(e);
     }
 
     /** {@inheritDoc} */
-    @Override public void put(K key, V val) {
+    @Override public void write(Entry<? extends K, ? extends V> entry) {
         try {
             if (log.isDebugEnabled())
-                log.debug("Store put [key=" + key + ", val=" + val + ']');
+                log.debug("Store put [key=" + entry.getKey() + ", val=" + 
entry.getValue() + ']');
 
-            updateCache(key, val, StoreOperation.PUT);
+            updateCache(entry.getKey(), entry, StoreOperation.PUT);
         }
         catch (GridInterruptedException e) {
             throw new CacheWriterException(e);
@@ -476,18 +475,19 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
     }
 
     /** {@inheritDoc} */
-    @Override public void removeAll(Collection<? extends K> keys) {
-        for (K key : keys)
-            remove(key);
+    @Override public void deleteAll(Collection<?> keys) {
+        for (Object key : keys)
+            delete(key);
     }
 
     /** {@inheritDoc} */
-    @Override public void remove(K key) {
+    @SuppressWarnings("unchecked")
+    @Override public void delete(Object key) {
         try {
             if (log.isDebugEnabled())
                 log.debug("Store remove [key=" + key + ']');
 
-            updateCache(key, null, StoreOperation.RMV);
+            updateCache((K)key, null, StoreOperation.RMV);
         }
         catch (GridInterruptedException e) {
             throw new CacheWriterException(e);
@@ -512,10 +512,13 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
      * @param operation Updated value status
      * @throws GridInterruptedException If interrupted while waiting for value 
to be flushed.
      */
-    private void updateCache(K key, @Nullable V val, StoreOperation operation) 
throws GridInterruptedException {
-        StatefulValue<V> newVal = new StatefulValue<>(val, operation);
+    private void updateCache(K key,
+        @Nullable Entry<? extends K, ? extends V> val,
+        StoreOperation operation)
+        throws GridInterruptedException {
+        StatefulValue<K, V> newVal = new StatefulValue<>(val, operation);
 
-        StatefulValue<V> prev;
+        StatefulValue<K, V> prev;
 
         while ((prev = writeCache.putIfAbsent(key, newVal)) != null) {
             prev.writeLock().lock();
@@ -555,17 +558,17 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
 
     /**
      * Flushes one upcoming value to the underlying store. Called from
-     * {@link #updateCache(Object, Object, StoreOperation)} method in case 
when current map size exceeds
+     * {@link #updateCache(Object, Entry, StoreOperation)} method in case when 
current map size exceeds
      * critical size.
      */
     private void flushSingleValue() {
         cacheOverflowCntr.incrementAndGet();
 
         try {
-            Map<K, StatefulValue<V>> batch = null;
+            Map<K, StatefulValue<K, V>> batch = null;
 
-            for (Map.Entry<K, StatefulValue<V>> e : writeCache.entrySet()) {
-                StatefulValue<V> val = e.getValue();
+            for (Map.Entry<K, StatefulValue<K, V>> e : writeCache.entrySet()) {
+                StatefulValue<K, V> val = e.getValue();
 
                 val.writeLock().lock();
 
@@ -589,7 +592,7 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
                     val.writeLock().unlock();
                 }
 
-                if (batch != null && !batch.isEmpty()) {
+                if (!batch.isEmpty()) {
                     applyBatch(batch);
 
                     cacheTotalOverflowCntr.incrementAndGet();
@@ -608,15 +611,15 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
      *
      * @param valMap Batch map.
      */
-    private void applyBatch(Map<K, StatefulValue<V>> valMap) {
+    private void applyBatch(Map<K, StatefulValue<K, V>> valMap) {
         assert valMap.size() <= batchSize;
 
         StoreOperation operation = null;
 
         // Construct a map for underlying store
-        Map<K, V> batch = U.newLinkedHashMap(valMap.size());
+        Map<K, Entry<? extends K, ? extends V>> batch = 
U.newLinkedHashMap(valMap.size());
 
-        for (Map.Entry<K, StatefulValue<V>> e : valMap.entrySet()) {
+        for (Map.Entry<K, StatefulValue<K, V>> e : valMap.entrySet()) {
             if (operation == null)
                 operation = e.getValue().operation();
 
@@ -624,19 +627,19 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
 
             assert e.getValue().status() == ValueStatus.PENDING;
 
-            batch.put(e.getKey(), e.getValue().value());
+            batch.put(e.getKey(), e.getValue().entry());
         }
 
         if (updateStore(operation, batch)) {
-            for (Map.Entry<K, StatefulValue<V>> e : valMap.entrySet()) {
-                StatefulValue<V> val = e.getValue();
+            for (Map.Entry<K, StatefulValue<K, V>> e : valMap.entrySet()) {
+                StatefulValue<K, V> val = e.getValue();
 
                 val.writeLock().lock();
 
                 try {
                     val.status(ValueStatus.FLUSHED);
 
-                    StatefulValue<V> prev = writeCache.remove(e.getKey());
+                    StatefulValue<K, V> prev = writeCache.remove(e.getKey());
 
                     // Additional check to ensure consistency.
                     assert prev == val : "Map value for key " + e.getKey() + " 
was updated during flush";
@@ -650,7 +653,7 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
         }
         else {
             // Exception occurred, we must set RETRY status
-            for (StatefulValue<V> val : valMap.values()) {
+            for (StatefulValue<K, V> val : valMap.values()) {
                 val.writeLock().lock();
 
                 try {
@@ -680,16 +683,16 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
      * @return {@code true} if value may be deleted from the write cache,
      *         {@code false} otherwise
      */
-    private boolean updateStore(StoreOperation operation, Map<K, V> vals) {
+    private boolean updateStore(StoreOperation operation, Map<K, Entry<? 
extends K, ? extends  V>> vals) {
         try {
             switch (operation) {
                 case PUT:
-                    store.putAll(vals);
+                    store.writeAll(vals.values());
 
                     break;
 
                 case RMV:
-                    store.removeAll(vals.keySet());
+                    store.deleteAll(vals.keySet());
 
                     break;
 
@@ -703,10 +706,13 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
             LT.warn(log, e, "Unable to update underlying store: " + store);
 
             if (writeCache.sizex() > cacheCriticalSize || stopping.get()) {
-                for (Map.Entry<K, V> entry : vals.entrySet())
+                for (Map.Entry<K, Entry<? extends K, ? extends  V>> entry : 
vals.entrySet()) {
+                    Object val = entry.getValue() != null ? 
entry.getValue().getValue() : null;
+
                     log.warning("Failed to update store (value will be lost as 
current buffer size is greater " +
                         "than 'cacheCriticalSize' or node has been stopped 
before store was repaired) [key=" +
-                        entry.getKey() + ", val=" + entry.getValue() + ", op=" 
+ operation + "]");
+                        entry.getKey() + ", val=" + val + ", op=" + operation 
+ "]");
+                }
 
                 return true;
             }
@@ -777,16 +783,16 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
          *
          * @param it Iterator for write cache.
          */
-        private void flushCache(Iterator<Map.Entry<K,StatefulValue<V>>> it) {
+        private void flushCache(Iterator<Map.Entry<K,StatefulValue<K, V>>> it) 
{
             StoreOperation operation = null;
 
-            Map<K, StatefulValue<V>> batch = null;
-            Map<K, StatefulValue<V>> pending  = U.newLinkedHashMap(batchSize);
+            Map<K, StatefulValue<K, V>> batch = null;
+            Map<K, StatefulValue<K, V>> pending  = 
U.newLinkedHashMap(batchSize);
 
             while (it.hasNext()) {
-                Map.Entry<K, StatefulValue<V>> e = it.next();
+                Map.Entry<K, StatefulValue<K, V>> e = it.next();
 
-                StatefulValue<V> val = e.getValue();
+                StatefulValue<K, V> val = e.getValue();
 
                 val.writeLock().lock();
 
@@ -848,7 +854,7 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
      *
      * @return Write cache for the underlying store operations.
      */
-    Map<K, StatefulValue<V>> writeCache() {
+    Map<K, StatefulValue<K, V>> writeCache() {
         return writeCache;
     }
 
@@ -895,13 +901,13 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
      *
      * @param <V> Value type.
      */
-    private static class StatefulValue<V> extends ReentrantReadWriteLock {
+    private static class StatefulValue<K, V> extends ReentrantReadWriteLock {
         /** */
         private static final long serialVersionUID = 0L;
 
         /** Value. */
         @GridToStringInclude
-        private V val;
+        private Entry<? extends K, ? extends V> val;
 
         /** Store operation. */
         private StoreOperation storeOperation;
@@ -918,7 +924,7 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
          * @param val Value.
          * @param storeOperation Store operation.
          */
-        private StatefulValue(V val, StoreOperation storeOperation) {
+        private StatefulValue(Entry<? extends K, ? extends V> val, 
StoreOperation storeOperation) {
             assert storeOperation == StoreOperation.PUT || storeOperation == 
StoreOperation.RMV;
 
             this.val = val;
@@ -929,7 +935,7 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
         /**
          * @return Stored value.
          */
-        private V value() {
+        private Entry<? extends K, ? extends V> entry() {
             return val;
         }
 
@@ -963,7 +969,9 @@ public class GridCacheWriteBehindStore<K, V> implements 
CacheStore<K, V>, Lifecy
          * @param storeOperation Store operation.
          * @param valStatus Value status.
          */
-        private void update(@Nullable V val, StoreOperation storeOperation, 
ValueStatus valStatus) {
+        private void update(@Nullable Entry<? extends K, ? extends V> val,
+            StoreOperation storeOperation,
+            ValueStatus valStatus) {
             this.val = val;
             this.storeOperation = storeOperation;
             this.valStatus = valStatus;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
index 0baf2b1..cd004e2 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
@@ -18,9 +18,9 @@
 package org.gridgain.grid.kernal.processors.cache.distributed.dht.atomic;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.managers.discovery.*;
 import org.gridgain.grid.kernal.processors.cache.*;
@@ -504,7 +504,7 @@ public class GridNearAtomicUpdateFuture<K, V> extends 
GridFutureAdapter<Object>
             return;
         }
 
-        GridCacheConfiguration ccfg = cctx.config();
+        CacheConfiguration ccfg = cctx.config();
 
         // Assign version on near node in CLOCK ordering mode even if fastMap 
is false.
         GridCacheVersion updVer = ccfg.getAtomicWriteOrderMode() == CLOCK ? 
cctx.versions().next(topVer) : null;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManagerAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManagerAdapter.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManagerAdapter.java
index ee7b848..f16c700 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManagerAdapter.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManagerAdapter.java
@@ -18,7 +18,7 @@
 package org.gridgain.grid.kernal.processors.cache.jta;
 
 import org.apache.ignite.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.jetbrains.annotations.*;
 
@@ -32,7 +32,7 @@ public abstract class GridCacheJtaManagerAdapter<K, V> 
extends GridCacheManagerA
      * @param ccfg Cache configuration.
      * @throws IgniteCheckedException If failed.
      */
-    public abstract void createTmLookup(GridCacheConfiguration ccfg) throws 
IgniteCheckedException;
+    public abstract void createTmLookup(CacheConfiguration ccfg) throws 
IgniteCheckedException;
 
     /**
      * Checks if cache is working in JTA transaction and enlist cache as 
XAResource if necessary.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheNoopJtaManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheNoopJtaManager.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheNoopJtaManager.java
index 709cc12..2ecddc7 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheNoopJtaManager.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheNoopJtaManager.java
@@ -18,7 +18,7 @@
 package org.gridgain.grid.kernal.processors.cache.jta;
 
 import org.apache.ignite.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.cache.*;
 import org.jetbrains.annotations.*;
 
 /**
@@ -31,7 +31,7 @@ public class GridCacheNoopJtaManager<K, V> extends 
GridCacheJtaManagerAdapter<K,
     }
 
     /** {@inheritDoc} */
-    @Override public void createTmLookup(GridCacheConfiguration ccfg) throws 
IgniteCheckedException {
+    @Override public void createTmLookup(CacheConfiguration ccfg) throws 
IgniteCheckedException {
         // No-op.
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEx.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEx.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEx.java
index 88be2f3..581f01e 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEx.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEx.java
@@ -20,6 +20,7 @@ package 
org.gridgain.grid.kernal.processors.cache.transactions;
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.transactions.*;
+import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.timeout.*;
@@ -31,7 +32,10 @@ import java.util.*;
 /**
  * Transaction managed by cache ({@code 'Ex'} stands for external).
  */
-public interface IgniteTxEx<K, V> extends IgniteTx, GridTimeoutObject {
+public interface IgniteTxEx<K, V> extends GridMetadataAware, IgniteTx, 
GridTimeoutObject {
+    /**
+     *
+     */
     @SuppressWarnings("PublicInnerClass")
     public enum FinalizationStatus {
         /** Transaction was not finalized yet. */
@@ -124,6 +128,7 @@ public interface IgniteTxEx<K, V> extends IgniteTx, 
GridTimeoutObject {
     public boolean markFinalizing(FinalizationStatus status);
 
     /**
+     * @param cacheCtx Cache context.
      * @param part Invalid partition.
      */
     public void addInvalidPartition(GridCacheContext<K, V> cacheCtx, int part);
@@ -325,6 +330,7 @@ public interface IgniteTxEx<K, V> extends IgniteTx, 
GridTimeoutObject {
     @Nullable public IgniteTxEntry<K, V> entry(IgniteTxKey<K> key);
 
     /**
+     * @param ctx Cache context.
      * @param failFast Fail-fast flag.
      * @param key Key to look up.
      * @param filter Filter to check.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
index 0cb7f63..e2ad232 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
@@ -284,78 +284,6 @@ public class IgniteTxProxyImpl<K, V> implements 
IgniteTxProxy, Externalizable {
     }
 
     /** {@inheritDoc} */
-    @Override public void copyMeta(GridMetadataAware from) {
-        tx.copyMeta(from);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void copyMeta(Map<String, ?> data) {
-        tx.copyMeta(data);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> V1 addMeta(String name, V1 val) {
-        return tx.addMeta(name, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> V1 putMetaIfAbsent(String name, V1 val) {
-        return tx.putMetaIfAbsent(name, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> V1 putMetaIfAbsent(String name, Callable<V1> c) {
-        return tx.putMetaIfAbsent(name, c);
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public <V1> V1 addMetaIfAbsent(String name, V1 val) {
-        return tx.addMeta(name, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> V1 addMetaIfAbsent(String name, @Nullable 
Callable<V1> c) {
-        return tx.addMetaIfAbsent(name, c);
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings({"RedundantTypeArguments"})
-    @Override public <V1> V1 meta(String name) {
-        return tx.<V1>meta(name);
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings({"RedundantTypeArguments"})
-    @Override public <V1> V1 removeMeta(String name) {
-        return tx.<V1>removeMeta(name);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> boolean removeMeta(String name, V1 val) {
-        return tx.removeMeta(name, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> Map<String, V1> allMeta() {
-        return tx.allMeta();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean hasMeta(String name) {
-        return tx.hasMeta(name);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> boolean hasMeta(String name, V1 val) {
-        return tx.hasMeta(name, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> boolean replaceMeta(String name, V1 curVal, V1 
newVal) {
-        return tx.replaceMeta(name, curVal, newVal);
-    }
-
-    /** {@inheritDoc} */
     @Override public void writeExternal(ObjectOutput out) throws IOException {
         out.writeObject(tx);
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
index 03e1c80..24d8028 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
@@ -18,6 +18,7 @@
 package org.gridgain.grid.kernal.processors.dataload;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
 import org.apache.ignite.dataload.*;
 import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.transactions.*;
@@ -235,7 +236,7 @@ public class GridDataLoadCacheUpdaters {
             assert cache != null;
             assert !F.isEmpty(entries);
 
-            assert 
cache.getConfiguration(GridCacheConfiguration.class).getAtomicityMode() != 
ATOMIC;
+            assert 
cache.getConfiguration(CacheConfiguration.class).getAtomicityMode() != ATOMIC;
 
             Map<Integer, Integer> partsCounts = new HashMap<>();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dr/GridDrDataLoadCacheUpdater.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dr/GridDrDataLoadCacheUpdater.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dr/GridDrDataLoadCacheUpdater.java
index c2b8dac..e792e6d 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dr/GridDrDataLoadCacheUpdater.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dr/GridDrDataLoadCacheUpdater.java
@@ -18,10 +18,9 @@
 package org.gridgain.grid.kernal.processors.dr;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
 import org.apache.ignite.dataload.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.dr.*;
@@ -39,7 +38,7 @@ public class GridDrDataLoadCacheUpdater<K, V> implements 
IgniteDataLoadCacheUpda
     /** {@inheritDoc} */
     @Override public void update(IgniteCache<K, V> cache0, 
Collection<Map.Entry<K, V>> col)
         throws IgniteCheckedException {
-        String cacheName = 
cache0.getConfiguration(GridCacheConfiguration.class).getName();
+        String cacheName = 
cache0.getConfiguration(CacheConfiguration.class).getName();
 
         GridKernalContext ctx = ((GridKernal)cache0.ignite()).context();
         IgniteLogger log = ctx.log(GridDrDataLoadCacheUpdater.class);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsHelper.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsHelper.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsHelper.java
index bb416f0..3c41ba2 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsHelper.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsHelper.java
@@ -18,7 +18,7 @@
 package org.gridgain.grid.kernal.processors.ggfs;
 
 import org.apache.ignite.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.cache.*;
 
 /**
  * GGFS utility processor adapter.
@@ -29,7 +29,7 @@ public interface GridGgfsHelper {
      *
      * @param cfg Cache configuration.
      */
-    public abstract void preProcessCacheConfiguration(GridCacheConfiguration 
cfg);
+    public abstract void preProcessCacheConfiguration(CacheConfiguration cfg);
 
     /**
      * Validate cache configuration for GGFS.
@@ -37,7 +37,7 @@ public interface GridGgfsHelper {
      * @param cfg Cache configuration.
      * @throws IgniteCheckedException If validation failed.
      */
-    public abstract void validateCacheConfiguration(GridCacheConfiguration 
cfg) throws IgniteCheckedException;
+    public abstract void validateCacheConfiguration(CacheConfiguration cfg) 
throws IgniteCheckedException;
 
     /**
      * Check whether object is of type {@code GridGgfsBlockKey}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsHelperImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsHelperImpl.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsHelperImpl.java
index f26159b..9478db5 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsHelperImpl.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsHelperImpl.java
@@ -18,7 +18,7 @@
 package org.gridgain.grid.kernal.processors.ggfs;
 
 import org.apache.ignite.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.cache.*;
 import org.gridgain.grid.cache.eviction.*;
 import org.gridgain.grid.cache.eviction.ggfs.*;
 
@@ -27,7 +27,7 @@ import org.gridgain.grid.cache.eviction.ggfs.*;
  */
 public class GridGgfsHelperImpl implements GridGgfsHelper {
     /** {@inheritDoc} */
-    @Override public void preProcessCacheConfiguration(GridCacheConfiguration 
cfg) {
+    @Override public void preProcessCacheConfiguration(CacheConfiguration cfg) 
{
         GridCacheEvictionPolicy evictPlc = cfg.getEvictionPolicy();
 
         if (evictPlc instanceof GridCacheGgfsPerBlockLruEvictionPolicy && 
cfg.getEvictionFilter() == null)
@@ -35,7 +35,7 @@ public class GridGgfsHelperImpl implements GridGgfsHelper {
     }
 
     /** {@inheritDoc} */
-    @Override public void validateCacheConfiguration(GridCacheConfiguration 
cfg) throws IgniteCheckedException {
+    @Override public void validateCacheConfiguration(CacheConfiguration cfg) 
throws IgniteCheckedException {
         GridCacheEvictionPolicy evictPlc =  cfg.getEvictionPolicy();
 
         if (evictPlc != null && evictPlc instanceof 
GridCacheGgfsPerBlockLruEvictionPolicy) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsImpl.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsImpl.java
index 31a4ee0..563b76e 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsImpl.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsImpl.java
@@ -18,6 +18,7 @@
 package org.gridgain.grid.kernal.processors.ggfs;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.compute.*;
 import org.apache.ignite.events.*;
@@ -25,8 +26,6 @@ import org.apache.ignite.fs.*;
 import org.apache.ignite.fs.mapreduce.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.eviction.*;
 import org.gridgain.grid.cache.eviction.ggfs.*;
 import org.gridgain.grid.kernal.*;
@@ -196,7 +195,7 @@ public final class GridGgfsImpl implements GridGgfsEx {
         // Check whether GGFS LRU eviction policy is set on data cache.
         String dataCacheName = ggfsCtx.configuration().getDataCacheName();
 
-        for (GridCacheConfiguration cacheCfg : 
ggfsCtx.kernalContext().config().getCacheConfiguration()) {
+        for (CacheConfiguration cacheCfg : 
ggfsCtx.kernalContext().config().getCacheConfiguration()) {
             if (F.eq(dataCacheName, cacheCfg.getName())) {
                 GridCacheEvictionPolicy evictPlc = 
cacheCfg.getEvictionPolicy();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsProcessor.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsProcessor.java
index 9f38469..6205bde 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsProcessor.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsProcessor.java
@@ -18,13 +18,13 @@
 package org.gridgain.grid.kernal.processors.ggfs;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.compute.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.fs.*;
 import org.apache.ignite.fs.mapreduce.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.kernal.*;
@@ -250,10 +250,10 @@ public class GridGgfsProcessor extends 
GridGgfsProcessorAdapter {
             F.isEmpty(gridCfg.getCacheConfiguration()))
             return;
 
-        final Map<String, GridCacheConfiguration> cacheCfgs = new HashMap<>();
+        final Map<String, CacheConfiguration> cacheCfgs = new HashMap<>();
 
-        F.forEach(gridCfg.getCacheConfiguration(), new 
CI1<GridCacheConfiguration>() {
-            @Override public void apply(GridCacheConfiguration c) {
+        F.forEach(gridCfg.getCacheConfiguration(), new 
CI1<CacheConfiguration>() {
+            @Override public void apply(CacheConfiguration c) {
                 cacheCfgs.put(c.getName(), c);
             }
         });
@@ -263,7 +263,7 @@ public class GridGgfsProcessor extends 
GridGgfsProcessorAdapter {
         assert gridCfg.getGgfsConfiguration() != null;
 
         for (IgniteFsConfiguration ggfsCfg : gridCfg.getGgfsConfiguration()) {
-            GridCacheConfiguration cacheCfg = 
cacheCfgs.get(ggfsCfg.getDataCacheName());
+            CacheConfiguration cacheCfg = 
cacheCfgs.get(ggfsCfg.getDataCacheName());
 
             if (cacheCfg == null)
                 continue; // No cache for the given GGFS configuration.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridNoopGgfsHelper.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridNoopGgfsHelper.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridNoopGgfsHelper.java
index b6de5f7..5d5e611 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridNoopGgfsHelper.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridNoopGgfsHelper.java
@@ -18,7 +18,7 @@
 package org.gridgain.grid.kernal.processors.ggfs;
 
 import org.apache.ignite.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.cache.*;
 
 /**
  * No-op utils processor adapter.
@@ -26,12 +26,12 @@ import org.gridgain.grid.cache.*;
 public class GridNoopGgfsHelper implements GridGgfsHelper {
 
     /** {@inheritDoc} */
-    @Override public void preProcessCacheConfiguration(GridCacheConfiguration 
cfg) {
+    @Override public void preProcessCacheConfiguration(CacheConfiguration cfg) 
{
         // No-op.
     }
 
     /** {@inheritDoc} */
-    @Override public void validateCacheConfiguration(GridCacheConfiguration 
cfg) throws IgniteCheckedException {
+    @Override public void validateCacheConfiguration(CacheConfiguration cfg) 
throws IgniteCheckedException {
         // No-op.
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b0d8a67a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/query/GridQueryProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/query/GridQueryProcessor.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/query/GridQueryProcessor.java
index 80fa7c8..29246d1 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/query/GridQueryProcessor.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/query/GridQueryProcessor.java
@@ -18,11 +18,11 @@
 package org.gridgain.grid.kernal.processors.query;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.portables.*;
 import org.apache.ignite.spi.indexing.*;
 import org.gridgain.grid.*;
-import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.*;
@@ -101,7 +101,7 @@ public class GridQueryProcessor extends 
GridProcessorAdapter {
 
             idx.start(ctx);
 
-            for (GridCacheConfiguration ccfg : 
ctx.config().getCacheConfiguration()){
+            for (CacheConfiguration ccfg : 
ctx.config().getCacheConfiguration()){
                 GridCacheQueryConfiguration qryCfg = 
ccfg.getQueryConfiguration();
 
                 if (qryCfg != null) {
@@ -497,7 +497,7 @@ public class GridQueryProcessor extends 
GridProcessorAdapter {
         if (portableIds == null) {
             portableIds = new HashMap<>();
 
-            for (GridCacheConfiguration ccfg : 
ctx.config().getCacheConfiguration()){
+            for (CacheConfiguration ccfg : 
ctx.config().getCacheConfiguration()){
                 GridCacheQueryConfiguration qryCfg = 
ccfg.getQueryConfiguration();
 
                 if (qryCfg != null) {
@@ -523,7 +523,7 @@ public class GridQueryProcessor extends 
GridProcessorAdapter {
         if (declaredTypesById == null) {
             declaredTypesById = new HashMap<>();
 
-            for (GridCacheConfiguration ccfg : 
ctx.config().getCacheConfiguration()){
+            for (CacheConfiguration ccfg : 
ctx.config().getCacheConfiguration()){
                 GridCacheQueryConfiguration qryCfg = 
ccfg.getQueryConfiguration();
 
                 if (qryCfg != null) {

Reply via email to