Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-42 3f082cf61 -> 8d9c72c10


# ignite-42


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8d9c72c1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8d9c72c1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8d9c72c1

Branch: refs/heads/ignite-42
Commit: 8d9c72c100b5d22a59d03985cbb9bffc850346b7
Parents: 3f082cf
Author: sboikov <sboi...@gridgain.com>
Authored: Thu Jan 22 12:11:04 2015 +0300
Committer: sboikov <sboi...@gridgain.com>
Committed: Thu Jan 22 12:11:04 2015 +0300

----------------------------------------------------------------------
 .../cache/GridCacheLoaderWriterStore.java       | 14 ++++
 .../processors/cache/GridCacheProcessor.java    | 12 +++-
 .../processors/cache/GridCacheStoreManager.java |  2 +-
 .../IgniteCacheLoaderWriterAbstractTest.java    | 68 +++++++++++++++++++-
 .../IgniteCacheTxStoreSessionTest.java          |  1 +
 5 files changed, 93 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8d9c72c1/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheLoaderWriterStore.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheLoaderWriterStore.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheLoaderWriterStore.java
index 70a7880..2ab84d4 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheLoaderWriterStore.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheLoaderWriterStore.java
@@ -48,6 +48,20 @@ class GridCacheLoaderWriterStore<K, V> extends CacheStore<K, 
V> implements Lifec
         this.writer = writer;
     }
 
+    /**
+     * @return Cache loader.
+     */
+    CacheLoader<K, V> loader() {
+        return ldr;
+    }
+
+    /**
+     * @return Cache writer.
+     */
+    CacheWriter<K, V> writer() {
+        return writer;
+    }
+
     /** {@inheritDoc} */
     @Override public void start() throws IgniteCheckedException {
         if (ldr instanceof LifecycleAware)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8d9c72c1/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 b129ac6..cb683d1 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
@@ -618,7 +618,17 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
             if (!sysCaches.contains(cfg.getName()))
                 suggestOptimizations(cfg, cfgStore != null);
 
-            prepare(cfg, jta.tmLookup(), cfgStore);
+            List<Object> toPrepare = new ArrayList<>();
+
+            toPrepare.add(jta.tmLookup());
+            toPrepare.add(cfgStore);
+
+            if (cfgStore instanceof GridCacheLoaderWriterStore) {
+                toPrepare.add(((GridCacheLoaderWriterStore)cfgStore).loader());
+                toPrepare.add(((GridCacheLoaderWriterStore)cfgStore).writer());
+            }
+
+            prepare(cfg, toPrepare.toArray(new Object[toPrepare.size()]));
 
             U.startLifecycleAware(lifecycleAwares(cfg, jta.tmLookup(), 
cfgStore));
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8d9c72c1/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 728dd57..a35f817 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
@@ -316,7 +316,7 @@ public class GridCacheStoreManager<K, V> extends 
GridCacheManagerAdapter<K, V> {
     /**
      * @param tx Cache transaction.
      * @param keys Cache keys.
-     * @param vis Closer to cache loaded elements.
+     * @param vis Closure to apply for loaded elements.
      * @throws IgniteCheckedException If data loading failed.
      */
     public void localStoreLoadAll(@Nullable IgniteTx tx,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8d9c72c1/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheLoaderWriterAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheLoaderWriterAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheLoaderWriterAbstractTest.java
index 8bff838..17282f6 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheLoaderWriterAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheLoaderWriterAbstractTest.java
@@ -19,6 +19,8 @@ package 
org.apache.ignite.internal.processors.cache.integration;
 
 import org.apache.ignite.*;
 import org.apache.ignite.internal.processors.cache.*;
+import org.apache.ignite.lifecycle.*;
+import org.apache.ignite.resources.*;
 import org.jdk8.backport.*;
 
 import javax.cache.*;
@@ -221,9 +223,32 @@ public abstract class IgniteCacheLoaderWriterAbstractTest 
extends IgniteCacheAbs
     /**
      *
      */
-    class TestLoader implements CacheLoader<Object, Object> {
+    class TestLoader implements CacheLoader<Object, Object>, LifecycleAware {
+        /** */
+        @IgniteInstanceResource
+        private Ignite ignite;
+
+        /** */
+        private boolean startCalled;
+
+        /** {@inheritDoc} */
+        @Override public void start() throws IgniteCheckedException {
+            startCalled = true;
+
+            assertNotNull(ignite);
+        }
+
+        /** {@inheritDoc} */
+        @Override public void stop() throws IgniteCheckedException {
+            // No-op.
+        }
+
         /** {@inheritDoc} */
         @Override public Object load(Object key) {
+            assertTrue(startCalled);
+
+            assertNotNull(ignite);
+
             log.info("Load: " + key);
 
             ldrCallCnt.incrementAndGet();
@@ -233,6 +258,10 @@ public abstract class IgniteCacheLoaderWriterAbstractTest 
extends IgniteCacheAbs
 
         /** {@inheritDoc} */
         @Override public Map<Object, Object> loadAll(Iterable<?> keys) {
+            assertTrue(startCalled);
+
+            assertNotNull(ignite);
+
             log.info("LoadAll: " + keys);
 
             ldrCallCnt.incrementAndGet();
@@ -253,9 +282,32 @@ public abstract class IgniteCacheLoaderWriterAbstractTest 
extends IgniteCacheAbs
     /**
      *
      */
-    class TestWriter implements CacheWriter<Integer, Integer> {
+    class TestWriter implements CacheWriter<Integer, Integer>, LifecycleAware {
+        /** */
+        @IgniteInstanceResource
+        private Ignite ignite;
+
+        /** */
+        private boolean startCalled;
+
+        /** {@inheritDoc} */
+        @Override public void start() throws IgniteCheckedException {
+            startCalled = true;
+
+            assertNotNull(ignite);
+        }
+
+        /** {@inheritDoc} */
+        @Override public void stop() throws IgniteCheckedException {
+            // No-op.
+        }
+
         /** {@inheritDoc} */
         @Override public void write(Cache.Entry<? extends Integer, ? extends 
Integer> e) {
+            assertTrue(startCalled);
+
+            assertNotNull(ignite);
+
             log.info("Write: " + e);
 
             writerCallCnt.incrementAndGet();
@@ -265,6 +317,10 @@ public abstract class IgniteCacheLoaderWriterAbstractTest 
extends IgniteCacheAbs
 
         /** {@inheritDoc} */
         @Override public void writeAll(Collection<Cache.Entry<? extends 
Integer, ? extends Integer>> entries) {
+            assertTrue(startCalled);
+
+            assertNotNull(ignite);
+
             log.info("WriteAll: " + entries);
 
             writerCallCnt.incrementAndGet();
@@ -275,6 +331,10 @@ public abstract class IgniteCacheLoaderWriterAbstractTest 
extends IgniteCacheAbs
 
         /** {@inheritDoc} */
         @Override public void delete(Object key) {
+            assertTrue(startCalled);
+
+            assertNotNull(ignite);
+
             log.info("Delete: " + key);
 
             writerCallCnt.incrementAndGet();
@@ -284,6 +344,10 @@ public abstract class IgniteCacheLoaderWriterAbstractTest 
extends IgniteCacheAbs
 
         /** {@inheritDoc} */
         @Override public void deleteAll(Collection<?> keys) {
+            assertTrue(startCalled);
+
+            assertNotNull(ignite);
+
             log.info("DeleteAll: " + keys);
 
             writerCallCnt.incrementAndGet();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8d9c72c1/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheTxStoreSessionTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheTxStoreSessionTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheTxStoreSessionTest.java
index 99900cb..f04dcca 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheTxStoreSessionTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/integration/IgniteCacheTxStoreSessionTest.java
@@ -248,6 +248,7 @@ public class IgniteCacheTxStoreSessionTest extends 
IgniteCacheStoreSessionAbstra
     /**
      * @throws Exception If failed.
      */
+    // TODO IGNITE-109: fix test when fixed.
     public void testSessionCrossCacheTx() throws Exception {
         IgniteCache<Object, Object> cache0 = ignite(0).jcache(null);
 

Reply via email to