IGNITE-14251 Refactors proxy classes names and reuse cache proxies in spring-tx tests. (#47)

diff --git a/modules/spring-cache-ext/src/main/java/org/apache/ignite/cache/spring/IgniteClientSpringCacheManager.java b/modules/spring-cache-ext/src/main/java/org/apache/ignite/cache/spring/IgniteClientSpringCacheManager.java
index 49ed32b..ab39040 100644
--- a/modules/spring-cache-ext/src/main/java/org/apache/ignite/cache/spring/IgniteClientSpringCacheManager.java
+++ b/modules/spring-cache-ext/src/main/java/org/apache/ignite/cache/spring/IgniteClientSpringCacheManager.java
@@ -24,7 +24,7 @@
 import org.apache.ignite.client.IgniteClient;
 import org.apache.ignite.configuration.ClientConfiguration;
 import org.apache.ignite.internal.util.typedef.internal.A;
-import org.apache.ignite.springdata.proxy.IgniteCacheClientProxy;
+import org.apache.ignite.springdata.proxy.IgniteClientCacheProxy;
 import org.springframework.beans.factory.DisposableBean;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.context.ApplicationListener;
@@ -169,7 +169,7 @@
 
         ClientCache<Object, Object> cache = cli.getOrCreateCache(ccfg.setName(name));
 
-        return new SpringCache(new IgniteCacheClientProxy<>(cache), this);
+        return new SpringCache(new IgniteClientCacheProxy<>(cache), this);
     }
 
     /** {@inheritDoc} */
diff --git a/modules/spring-cache-ext/src/main/java/org/apache/ignite/cache/spring/SpringCacheManager.java b/modules/spring-cache-ext/src/main/java/org/apache/ignite/cache/spring/SpringCacheManager.java
index 62622f6..6e407b3 100644
--- a/modules/spring-cache-ext/src/main/java/org/apache/ignite/cache/spring/SpringCacheManager.java
+++ b/modules/spring-cache-ext/src/main/java/org/apache/ignite/cache/spring/SpringCacheManager.java
@@ -29,7 +29,7 @@
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.configuration.NearCacheConfiguration;
 import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.springdata.proxy.IgniteCacheProxyImpl;
+import org.apache.ignite.springdata.proxy.IgniteNodeCacheProxy;
 import org.springframework.beans.factory.DisposableBean;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
@@ -355,7 +355,7 @@
             ? ignite.getOrCreateCache(cacheCfg, nearCacheCfg)
             : ignite.getOrCreateCache(cacheCfg);
 
-        return new SpringCache(new IgniteCacheProxyImpl<>(cache), this);
+        return new SpringCache(new IgniteNodeCacheProxy<>(cache), this);
     }
 
     /** {@inheritDoc} */
diff --git a/modules/spring-cache-ext/src/test/java/org/apache/ignite/cache/spring/SpringCacheTest.java b/modules/spring-cache-ext/src/test/java/org/apache/ignite/cache/spring/SpringCacheTest.java
index 06298b5..3e4c228 100644
--- a/modules/spring-cache-ext/src/test/java/org/apache/ignite/cache/spring/SpringCacheTest.java
+++ b/modules/spring-cache-ext/src/test/java/org/apache/ignite/cache/spring/SpringCacheTest.java
@@ -20,7 +20,7 @@
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.internal.util.typedef.G;
-import org.apache.ignite.springdata.proxy.IgniteCacheProxyImpl;
+import org.apache.ignite.springdata.proxy.IgniteNodeCacheProxy;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.junit.Test;
 
@@ -59,7 +59,7 @@
 
         cacheName = String.valueOf(System.currentTimeMillis());
         nativeCache = ignite.getOrCreateCache(cacheName);
-        springCache = new SpringCache(new IgniteCacheProxyImpl<>(nativeCache), null);
+        springCache = new SpringCache(new IgniteNodeCacheProxy<>(nativeCache), null);
     }
 
     /** {@inheritDoc} */
diff --git a/modules/spring-data-2.0-ext/src/main/java/org/apache/ignite/springdata20/repository/query/IgniteRepositoryQuery.java b/modules/spring-data-2.0-ext/src/main/java/org/apache/ignite/springdata20/repository/query/IgniteRepositoryQuery.java
index 03b0bb4..2724940 100644
--- a/modules/spring-data-2.0-ext/src/main/java/org/apache/ignite/springdata20/repository/query/IgniteRepositoryQuery.java
+++ b/modules/spring-data-2.0-ext/src/main/java/org/apache/ignite/springdata20/repository/query/IgniteRepositoryQuery.java
@@ -48,7 +48,7 @@
 import org.apache.ignite.cache.query.SqlQuery;
 import org.apache.ignite.cache.query.TextQuery;
 import org.apache.ignite.springdata.proxy.IgniteCacheProxy;
-import org.apache.ignite.springdata.proxy.IgniteCacheClientProxy;
+import org.apache.ignite.springdata.proxy.IgniteClientCacheProxy;
 import org.apache.ignite.internal.util.GridUnsafe;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.springdata20.repository.config.DynamicQueryConfig;
@@ -346,7 +346,7 @@
             qryCursor = cache.query(iQry);
         }
         catch (IllegalArgumentException e) {
-            if (cache instanceof IgniteCacheClientProxy) {
+            if (cache instanceof IgniteClientCacheProxy) {
                 throw new IllegalStateException(String.format("Query of type %s is not supported by thin client." +
                     " Check %s#%s method configuration or use Ignite node instance to connect to the Ignite cluster.",
                     iQry.getClass().getSimpleName(), mtd.getDeclaringClass().getName(), mtd.getName()), e);
diff --git a/modules/spring-data-2.0-ext/src/main/java/org/apache/ignite/springdata20/repository/support/IgniteRepositoryImpl.java b/modules/spring-data-2.0-ext/src/main/java/org/apache/ignite/springdata20/repository/support/IgniteRepositoryImpl.java
index 9410ec2..b3e449a 100644
--- a/modules/spring-data-2.0-ext/src/main/java/org/apache/ignite/springdata20/repository/support/IgniteRepositoryImpl.java
+++ b/modules/spring-data-2.0-ext/src/main/java/org/apache/ignite/springdata20/repository/support/IgniteRepositoryImpl.java
@@ -30,9 +30,9 @@
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.cache.CachePeekMode;
 import org.apache.ignite.springdata.proxy.IgniteCacheProxy;
-import org.apache.ignite.springdata.proxy.IgniteCacheProxyImpl;
+import org.apache.ignite.springdata.proxy.IgniteNodeCacheProxy;
 import org.apache.ignite.springdata.proxy.IgniteProxy;
-import org.apache.ignite.springdata.proxy.IgniteProxyImpl;
+import org.apache.ignite.springdata.proxy.IgniteNodeProxy;
 import org.apache.ignite.springdata20.repository.IgniteRepository;
 import org.apache.ignite.springdata20.repository.config.RepositoryConfig;
 import org.jetbrains.annotations.Nullable;
@@ -76,16 +76,16 @@
 
     /** {@inheritDoc} */
     @Override public IgniteCache<K, V> cache() {
-        if (cache instanceof IgniteCacheProxyImpl)
-            return ((IgniteCacheProxyImpl<K, V>)cache).delegate();
+        if (cache instanceof IgniteNodeCacheProxy)
+            return ((IgniteNodeCacheProxy<K, V>)cache).delegate();
 
         throw new UnsupportedOperationException(UNSUPPORTED_ERR_MSG);
     }
 
     /** {@inheritDoc} */
     @Override public Ignite ignite() {
-        if (ignite instanceof IgniteProxyImpl)
-            return ((IgniteProxyImpl)ignite).delegate();
+        if (ignite instanceof IgniteNodeProxy)
+            return ((IgniteNodeProxy)ignite).delegate();
 
         throw new UnsupportedOperationException(UNSUPPORTED_ERR_MSG);
     }
diff --git a/modules/spring-data-2.2-ext/src/main/java/org/apache/ignite/springdata22/repository/query/IgniteRepositoryQuery.java b/modules/spring-data-2.2-ext/src/main/java/org/apache/ignite/springdata22/repository/query/IgniteRepositoryQuery.java
index 56e5c4c..26b8fb9 100644
--- a/modules/spring-data-2.2-ext/src/main/java/org/apache/ignite/springdata22/repository/query/IgniteRepositoryQuery.java
+++ b/modules/spring-data-2.2-ext/src/main/java/org/apache/ignite/springdata22/repository/query/IgniteRepositoryQuery.java
@@ -48,7 +48,7 @@
 import org.apache.ignite.cache.query.SqlQuery;
 import org.apache.ignite.cache.query.TextQuery;
 import org.apache.ignite.springdata.proxy.IgniteCacheProxy;
-import org.apache.ignite.springdata.proxy.IgniteCacheClientProxy;
+import org.apache.ignite.springdata.proxy.IgniteClientCacheProxy;
 import org.apache.ignite.internal.util.GridUnsafe;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.springdata22.repository.config.DynamicQueryConfig;
@@ -346,7 +346,7 @@
             qryCursor = cache.query(iQry);
         }
         catch (IllegalArgumentException e) {
-            if (cache instanceof IgniteCacheClientProxy) {
+            if (cache instanceof IgniteClientCacheProxy) {
                 throw new IllegalStateException(String.format("Query of type %s is not supported by thin client." +
                     " Check %s#%s method configuration or use Ignite node instance to connect to the Ignite cluster.",
                     iQry.getClass().getSimpleName(), mtd.getDeclaringClass().getName(), mtd.getName()), e);
diff --git a/modules/spring-data-2.2-ext/src/main/java/org/apache/ignite/springdata22/repository/support/IgniteRepositoryImpl.java b/modules/spring-data-2.2-ext/src/main/java/org/apache/ignite/springdata22/repository/support/IgniteRepositoryImpl.java
index d91da58..5bc5c3a 100644
--- a/modules/spring-data-2.2-ext/src/main/java/org/apache/ignite/springdata22/repository/support/IgniteRepositoryImpl.java
+++ b/modules/spring-data-2.2-ext/src/main/java/org/apache/ignite/springdata22/repository/support/IgniteRepositoryImpl.java
@@ -30,9 +30,9 @@
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.cache.CachePeekMode;
 import org.apache.ignite.springdata.proxy.IgniteCacheProxy;
-import org.apache.ignite.springdata.proxy.IgniteCacheProxyImpl;
+import org.apache.ignite.springdata.proxy.IgniteNodeCacheProxy;
 import org.apache.ignite.springdata.proxy.IgniteProxy;
-import org.apache.ignite.springdata.proxy.IgniteProxyImpl;
+import org.apache.ignite.springdata.proxy.IgniteNodeProxy;
 import org.apache.ignite.springdata22.repository.IgniteRepository;
 import org.apache.ignite.springdata22.repository.config.RepositoryConfig;
 import org.jetbrains.annotations.Nullable;
@@ -76,16 +76,16 @@
 
     /** {@inheritDoc} */
     @Override public IgniteCache<K, V> cache() {
-        if (cache instanceof IgniteCacheProxyImpl)
-            return ((IgniteCacheProxyImpl<K, V>)cache).delegate();
+        if (cache instanceof IgniteNodeCacheProxy)
+            return ((IgniteNodeCacheProxy<K, V>)cache).delegate();
 
         throw new UnsupportedOperationException(UNSUPPORTED_ERR_MSG);
     }
 
     /** {@inheritDoc} */
     @Override public Ignite ignite() {
-        if (ignite instanceof IgniteProxyImpl)
-            return ((IgniteProxyImpl)ignite).delegate();
+        if (ignite instanceof IgniteNodeProxy)
+            return ((IgniteNodeProxy)ignite).delegate();
 
         throw new UnsupportedOperationException(UNSUPPORTED_ERR_MSG);
     }
diff --git a/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/ClosableIgniteProxyImpl.java b/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/ClosableIgniteNodeProxy.java
similarity index 85%
rename from modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/ClosableIgniteProxyImpl.java
rename to modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/ClosableIgniteNodeProxy.java
index 79807e4..6ae19bb 100644
--- a/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/ClosableIgniteProxyImpl.java
+++ b/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/ClosableIgniteNodeProxy.java
@@ -19,12 +19,12 @@
 
 import org.apache.ignite.Ignite;
 
-/** Extends {@link IgniteProxyImpl} with the ability to close underlying Ignite instance. */
-public class ClosableIgniteProxyImpl extends IgniteProxyImpl implements AutoCloseable {
+/** Extends {@link IgniteNodeProxy} with the ability to close underlying Ignite instance. */
+public class ClosableIgniteNodeProxy extends IgniteNodeProxy implements AutoCloseable {
     /**
      * @param ignite Ignite instance.
      */
-    public ClosableIgniteProxyImpl(Ignite ignite) {
+    public ClosableIgniteNodeProxy(Ignite ignite) {
         super(ignite);
     }
 
diff --git a/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteCacheClientProxy.java b/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteClientCacheProxy.java
similarity index 95%
rename from modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteCacheClientProxy.java
rename to modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteClientCacheProxy.java
index 5d7be5c..63197cf 100644
--- a/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteCacheClientProxy.java
+++ b/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteClientCacheProxy.java
@@ -31,12 +31,12 @@
 import org.jetbrains.annotations.NotNull;
 
 /** Implementation of {@link IgniteCacheProxy} that provides access to Ignite cache through {@link ClientCache} instance. */
-public class IgniteCacheClientProxy<K, V> implements IgniteCacheProxy<K, V> {
+public class IgniteClientCacheProxy<K, V> implements IgniteCacheProxy<K, V> {
     /** {@link ClientCache} instance to which operations are delegated. */
     private final ClientCache<K, V> cache;
 
     /** */
-    public IgniteCacheClientProxy(ClientCache<K, V> cache) {
+    public IgniteClientCacheProxy(ClientCache<K, V> cache) {
         this.cache = cache;
     }
 
@@ -82,7 +82,7 @@
 
     /** {@inheritDoc} */
     @Override public IgniteCacheProxy<K, V> withExpiryPolicy(ExpiryPolicy expirePlc) {
-        return new IgniteCacheClientProxy<>(cache.withExpirePolicy(expirePlc));
+        return new IgniteClientCacheProxy<>(cache.withExpirePolicy(expirePlc));
     }
 
     /** {@inheritDoc} */
diff --git a/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteClientProxy.java b/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteClientProxy.java
index 00dc42e..1fd04d3 100644
--- a/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteClientProxy.java
+++ b/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteClientProxy.java
@@ -32,12 +32,12 @@
 
     /** {@inheritDoc} */
     @Override public <K, V> IgniteCacheProxy<K, V> getOrCreateCache(String name) {
-        return new IgniteCacheClientProxy<>(cli.getOrCreateCache(name));
+        return new IgniteClientCacheProxy<>(cli.getOrCreateCache(name));
     }
 
     /** {@inheritDoc} */
     @Override public <K, V> IgniteCacheProxy<K, V> cache(String name) {
-        return new IgniteCacheClientProxy<>(cli.cache(name));
+        return new IgniteClientCacheProxy<>(cli.cache(name));
     }
 
     /** {@inheritDoc} */
diff --git a/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteCacheProxyImpl.java b/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteNodeCacheProxy.java
similarity index 93%
rename from modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteCacheProxyImpl.java
rename to modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteNodeCacheProxy.java
index 2c96506..8a4120d 100644
--- a/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteCacheProxyImpl.java
+++ b/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteNodeCacheProxy.java
@@ -31,12 +31,12 @@
 import org.jetbrains.annotations.NotNull;
 
 /** Implementation of {@link IgniteCacheProxy} that provides access to Ignite cache through {@link IgniteCache} instance. */
-public class IgniteCacheProxyImpl<K, V> implements IgniteCacheProxy<K, V> {
+public class IgniteNodeCacheProxy<K, V> implements IgniteCacheProxy<K, V> {
     /** {@link IgniteCache} instance to which operations are delegated. */
     private final IgniteCache<K, V> cache;
 
     /** */
-    public IgniteCacheProxyImpl(IgniteCache<K, V> cache) {
+    public IgniteNodeCacheProxy(IgniteCache<K, V> cache) {
         this.cache = cache;
     }
 
@@ -82,7 +82,7 @@
 
     /** {@inheritDoc} */
     @Override public IgniteCacheProxy<K, V> withExpiryPolicy(ExpiryPolicy expirePlc) {
-        return new IgniteCacheProxyImpl<>(cache.withExpiryPolicy(expirePlc));
+        return new IgniteNodeCacheProxy<>(cache.withExpiryPolicy(expirePlc));
     }
 
     /** {@inheritDoc} */
@@ -107,7 +107,7 @@
 
     /** {@inheritDoc} */
     @Override public IgniteCacheProxy<K, V> withSkipStore() {
-        return new IgniteCacheProxyImpl<>(cache.withSkipStore());
+        return new IgniteNodeCacheProxy<>(cache.withSkipStore());
     }
 
     /** {@inheritDoc} */
diff --git a/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteProxyImpl.java b/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteNodeProxy.java
similarity index 87%
rename from modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteProxyImpl.java
rename to modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteNodeProxy.java
index 85acceb..4e6c62b 100644
--- a/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteProxyImpl.java
+++ b/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteNodeProxy.java
@@ -22,25 +22,25 @@
 import org.apache.ignite.IgniteCache;
 
 /** Implementation of {@link IgniteProxy} that provides access to Ignite cluster through {@link Ignite} instance. */
-public class IgniteProxyImpl implements IgniteProxy {
+public class IgniteNodeProxy implements IgniteProxy {
     /** {@link Ignite} instance to which operations are delegated. */
     protected final Ignite ignite;
 
     /** */
-    public IgniteProxyImpl(Ignite ignite) {
+    public IgniteNodeProxy(Ignite ignite) {
         this.ignite = ignite;
     }
 
     /** {@inheritDoc} */
     @Override public <K, V> IgniteCacheProxy<K, V> getOrCreateCache(String name) {
-        return new IgniteCacheProxyImpl<>(ignite.getOrCreateCache(name));
+        return new IgniteNodeCacheProxy<>(ignite.getOrCreateCache(name));
     }
 
     /** {@inheritDoc} */
     @Override public <K, V> IgniteCacheProxy<K, V> cache(String name) {
         IgniteCache<K, V> cache = ignite.cache(name);
 
-        return cache == null ? null : new IgniteCacheProxyImpl<>(cache);
+        return cache == null ? null : new IgniteNodeCacheProxy<>(cache);
     }
 
     /** @return {@link Ignite} instance to which operations are delegated. */
@@ -56,7 +56,7 @@
         if (other == null || getClass() != other.getClass())
             return false;
 
-        return Objects.equals(ignite, ((IgniteProxyImpl)other).ignite);
+        return Objects.equals(ignite, ((IgniteNodeProxy)other).ignite);
     }
 
     /** {@inheritDoc} */
diff --git a/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteProxy.java b/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteProxy.java
index 62e0d5c..d464212 100644
--- a/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteProxy.java
+++ b/modules/spring-data-commons/src/main/java/org/apache/ignite/springdata/proxy/IgniteProxy.java
@@ -47,19 +47,19 @@
      */
     public static IgniteProxy of(Object connObj) {
         if (connObj instanceof Ignite)
-            return new IgniteProxyImpl((Ignite)connObj);
+            return new IgniteNodeProxy((Ignite)connObj);
         else if (connObj instanceof IgniteConfiguration) {
             try {
-                return new IgniteProxyImpl(Ignition.ignite(((IgniteConfiguration)connObj).getIgniteInstanceName()));
+                return new IgniteNodeProxy(Ignition.ignite(((IgniteConfiguration)connObj).getIgniteInstanceName()));
             }
             catch (Exception ignored) {
                 // No-op.
             }
 
-            return new ClosableIgniteProxyImpl(Ignition.start((IgniteConfiguration)connObj));
+            return new ClosableIgniteNodeProxy(Ignition.start((IgniteConfiguration)connObj));
         }
         else if (connObj instanceof String)
-            return new ClosableIgniteProxyImpl(Ignition.start((String)connObj));
+            return new ClosableIgniteNodeProxy(Ignition.start((String)connObj));
         else if (connObj instanceof IgniteClient)
             return new IgniteClientProxy((IgniteClient)connObj);
         else if (connObj instanceof ClientConfiguration)
diff --git a/modules/spring-tx-ext/pom.xml b/modules/spring-tx-ext/pom.xml
index adfe9ea..4fd5c1d 100644
--- a/modules/spring-tx-ext/pom.xml
+++ b/modules/spring-tx-ext/pom.xml
@@ -76,6 +76,13 @@
             <type>test-jar</type>
             <scope>test</scope>
         </dependency>
+
+        <dependency>
+            <groupId>org.apache.ignite</groupId>
+            <artifactId>ignite-spring-data-commons</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionManagerAbstractTest.java b/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionManagerAbstractTest.java
index eb7cd78..045739d 100644
--- a/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionManagerAbstractTest.java
+++ b/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionManagerAbstractTest.java
@@ -17,9 +17,9 @@
 
 package org.apache.ignite.transactions.spring;
 
+import org.apache.ignite.springdata.proxy.IgniteCacheProxy;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.apache.ignite.transactions.Transaction;
-import org.apache.ignite.transactions.spring.GridSpringTransactionService.CacheProxy;
 import org.junit.Test;
 import org.springframework.transaction.IllegalTransactionStateException;
 import org.springframework.transaction.InvalidIsolationLevelException;
@@ -33,7 +33,7 @@
     protected static final String CACHE_NAME = "testCache";
 
     /** */
-    public abstract CacheProxy<Integer, String> cache();
+    public abstract IgniteCacheProxy<Integer, String> cache();
 
     /** */
     public abstract GridSpringTransactionService service();
diff --git a/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionManagerSelfTest.java b/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionManagerSelfTest.java
index d5e2a8e..083c255 100644
--- a/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionManagerSelfTest.java
+++ b/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionManagerSelfTest.java
@@ -20,8 +20,8 @@
 import org.apache.ignite.cache.CacheAtomicityMode;
 import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.transactions.spring.GridSpringTransactionService.CacheProxy;
-import org.apache.ignite.transactions.spring.GridSpringTransactionService.IgniteCacheProxy;
+import org.apache.ignite.springdata.proxy.IgniteCacheProxy;
+import org.apache.ignite.springdata.proxy.IgniteNodeCacheProxy;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.support.GenericXmlApplicationContext;
 
@@ -46,8 +46,8 @@
         return cfg;
     }
 
-    @Override public CacheProxy<Integer, String> cache() {
-        return new IgniteCacheProxy<>(grid().cache(CACHE_NAME));
+    @Override public IgniteCacheProxy<Integer, String> cache() {
+        return new IgniteNodeCacheProxy<>(grid().cache(CACHE_NAME));
     }
 
     @Override public GridSpringTransactionService service() {
diff --git a/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionManagerSpringBeanSelfTest.java b/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionManagerSpringBeanSelfTest.java
index 19774a6..5695896 100644
--- a/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionManagerSpringBeanSelfTest.java
+++ b/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionManagerSpringBeanSelfTest.java
@@ -18,8 +18,8 @@
 package org.apache.ignite.transactions.spring;
 
 import org.apache.ignite.Ignite;
-import org.apache.ignite.transactions.spring.GridSpringTransactionService.CacheProxy;
-import org.apache.ignite.transactions.spring.GridSpringTransactionService.IgniteCacheProxy;
+import org.apache.ignite.springdata.proxy.IgniteCacheProxy;
+import org.apache.ignite.springdata.proxy.IgniteNodeCacheProxy;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.support.GenericXmlApplicationContext;
 
@@ -31,8 +31,8 @@
     /** */
     private GridSpringTransactionService service;
 
-    @Override public CacheProxy<Integer, String> cache() {
-        return new IgniteCacheProxy<>(ignite.cache(CACHE_NAME));
+    @Override public IgniteCacheProxy<Integer, String> cache() {
+        return new IgniteNodeCacheProxy<>(ignite.cache(CACHE_NAME));
     }
 
     @Override public GridSpringTransactionService service() {
diff --git a/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionService.java b/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionService.java
index 4a0d02f..77af202 100644
--- a/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionService.java
+++ b/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/GridSpringTransactionService.java
@@ -17,8 +17,7 @@
 
 package org.apache.ignite.transactions.spring;
 
-import org.apache.ignite.IgniteCache;
-import org.apache.ignite.client.ClientCache;
+import org.apache.ignite.springdata.proxy.IgniteCacheProxy;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Propagation;
@@ -37,7 +36,7 @@
      * @param entryCnt Entries count.
      */
     @Transactional
-    public void put(CacheProxy<Integer, String> cache, int entryCnt) {
+    public void put(IgniteCacheProxy<Integer, String> cache, int entryCnt) {
         for (int i = 0; i < entryCnt; i++)
             cache.put(i, String.valueOf(i));
     }
@@ -47,7 +46,7 @@
      * @param entryCnt Entries count.
      */
     @Transactional
-    public void putWithError(CacheProxy<Integer, String> cache, int entryCnt) {
+    public void putWithError(IgniteCacheProxy<Integer, String> cache, int entryCnt) {
         for (int i = 0; i < entryCnt; i++)
             cache.put(i, String.valueOf(i));
 
@@ -58,7 +57,7 @@
      * @param cache Cache.
      */
     @Transactional(propagation = Propagation.MANDATORY)
-    public void putWithMandatoryPropagation(CacheProxy<Integer, String> cache) {
+    public void putWithMandatoryPropagation(IgniteCacheProxy<Integer, String> cache) {
         cache.put(1, "1");
     }
 
@@ -66,13 +65,13 @@
      * @param cache Cache.
      */
     @Transactional(isolation = Isolation.READ_UNCOMMITTED)
-    public void putWithUnsupportedIsolationLevel(CacheProxy<Integer, String> cache) {
+    public void putWithUnsupportedIsolationLevel(IgniteCacheProxy<Integer, String> cache) {
         cache.put(1, "1");
     }
 
     /** */
     @Transactional
-    public void putWithNestedError(CacheProxy<Integer, String> cache, int entryCnt) {
+    public void putWithNestedError(IgniteCacheProxy<Integer, String> cache, int entryCnt) {
         self.put(cache, entryCnt);
 
         try {
@@ -82,68 +81,4 @@
             // No-op.
         }
     }
-
-    /** */
-    public static class ClientCacheProxy<K, V> implements CacheProxy<K, V> {
-        /** */
-        private final ClientCache<K, V> cliCache;
-
-        /** */
-        public ClientCacheProxy(ClientCache<K, V> cliCache) {
-            this.cliCache = cliCache;
-        }
-
-        /** {@inheritDoc} */
-        @Override public void put(K key, V val) {
-            cliCache.put(key, val);
-        }
-
-        /** {@inheritDoc} */
-        @Override public int size() {
-            return cliCache.size();
-        }
-
-        /** {@inheritDoc} */
-        @Override public void removeAll() {
-            cliCache.removeAll();
-        }
-    }
-
-    /** */
-    public static class IgniteCacheProxy<K, V> implements CacheProxy<K, V> {
-        /** */
-        private final IgniteCache<K, V> cache;
-
-        /** */
-        public IgniteCacheProxy(IgniteCache<K, V> cache) {
-            this.cache = cache;
-        }
-
-        /** {@inheritDoc} */
-        @Override public void put(K key, V val) {
-             cache.put(key, val);
-        }
-
-        /** {@inheritDoc} */
-        @Override public int size() {
-            return cache.size();
-        }
-
-        /** {@inheritDoc} */
-        @Override public void removeAll() {
-            cache.removeAll();
-        }
-    }
-
-    /** */
-    public static interface CacheProxy<K, V> {
-        /** */
-        public void put(K key, V val);
-
-        /** */
-        public int size();
-
-        /** */
-        public void removeAll();
-    }
 }
diff --git a/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/IgniteClientSpringTransactionManagerTest.java b/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/IgniteClientSpringTransactionManagerTest.java
index 0d333ea..5f9fad5 100644
--- a/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/IgniteClientSpringTransactionManagerTest.java
+++ b/modules/spring-tx-ext/src/test/java/org/apache/ignite/transactions/spring/IgniteClientSpringTransactionManagerTest.java
@@ -22,9 +22,9 @@
 import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.configuration.ClientConfiguration;
 import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.springdata.proxy.IgniteCacheProxy;
+import org.apache.ignite.springdata.proxy.IgniteClientCacheProxy;
 import org.apache.ignite.testframework.GridTestUtils;
-import org.apache.ignite.transactions.spring.GridSpringTransactionService.CacheProxy;
-import org.apache.ignite.transactions.spring.GridSpringTransactionService.ClientCacheProxy;
 import org.springframework.context.annotation.AnnotationConfigApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -65,8 +65,8 @@
     }
 
     /** {@inheritDoc} */
-    @Override public CacheProxy<Integer, String> cache() {
-        return new ClientCacheProxy<>(cli.cache(CACHE_NAME));
+    @Override public IgniteCacheProxy<Integer, String> cache() {
+        return new IgniteClientCacheProxy<>(cli.cache(CACHE_NAME));
     }
 
     /** {@inheritDoc} */