# ignite-45 Fixed examples.

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

Branch: refs/heads/ignite-497-stick
Commit: bb9bf893e5ed9a818eee71463013f4c66c83e985
Parents: b0caf3a
Author: anovikov <anovi...@gridgain.com>
Authored: Tue Mar 24 10:21:36 2015 +0700
Committer: anovikov <anovi...@gridgain.com>
Committed: Tue Mar 24 10:21:36 2015 +0700

----------------------------------------------------------------------
 .../org/apache/ignite/schema/CacheConfig.java   | 12 +++++++++---
 .../java/org/apache/ignite/schema/Demo.java     | 20 ++++++++++++++++++--
 .../store/jdbc/CacheAbstractJdbcStore.java      |  6 +++---
 3 files changed, 30 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bb9bf893/examples/schema-import/src/main/java/org/apache/ignite/schema/CacheConfig.java
----------------------------------------------------------------------
diff --git 
a/examples/schema-import/src/main/java/org/apache/ignite/schema/CacheConfig.java
 
b/examples/schema-import/src/main/java/org/apache/ignite/schema/CacheConfig.java
index b57d75e..44359dd 100644
--- 
a/examples/schema-import/src/main/java/org/apache/ignite/schema/CacheConfig.java
+++ 
b/examples/schema-import/src/main/java/org/apache/ignite/schema/CacheConfig.java
@@ -17,16 +17,22 @@
 
 package org.apache.ignite.schema;
 
+import org.apache.ignite.cache.store.*;
 import org.apache.ignite.configuration.*;
 
-import javax.sql.*;
+import javax.cache.configuration.*;
 
 /**
  * CacheConfig stub. Will be generated by Ignite Schema Import Utility.
  */
 public class CacheConfig {
-    /** Configure cache. */
-    public static CacheConfiguration cache(String name, final DataSource 
dataSource) {
+    /**
+     * Configure cache.
+     *
+     * @param name Cache name.
+     * @param storeFactory Cache store factory.
+     */
+    public static CacheConfiguration cache(String name, Factory<CacheStore> 
storeFactory) {
         throw new IllegalStateException("CacheConfig should be generated by 
Ignite Schema Import Utility");
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bb9bf893/examples/schema-import/src/main/java/org/apache/ignite/schema/Demo.java
----------------------------------------------------------------------
diff --git 
a/examples/schema-import/src/main/java/org/apache/ignite/schema/Demo.java 
b/examples/schema-import/src/main/java/org/apache/ignite/schema/Demo.java
index f446034..62abcb6 100644
--- a/examples/schema-import/src/main/java/org/apache/ignite/schema/Demo.java
+++ b/examples/schema-import/src/main/java/org/apache/ignite/schema/Demo.java
@@ -18,11 +18,14 @@
 package org.apache.ignite.schema;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cache.store.*;
 import org.apache.ignite.cache.store.jdbc.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.transactions.*;
+import org.h2.jdbcx.*;
 
 import javax.cache.*;
+import javax.cache.configuration.*;
 
 /**
  * Demo for CacheJdbcPojoStore.
@@ -36,6 +39,20 @@ public class Demo {
     private static final String CACHE_NAME = "Person";
 
     /**
+     * Constructs and returns a fully configured instance of a {@link 
CacheJdbcPojoStore}.
+     */
+    private static class H2DemoStoreFactory implements Factory<CacheStore> {
+        /** {@inheritDoc} */
+        @Override public CacheStore create() {
+            CacheJdbcPojoStore store = new CacheJdbcPojoStore<>();
+
+            
store.setDataSource(JdbcConnectionPool.create("jdbc:h2:tcp://localhost/~/schema-import/demo",
 "sa", ""));
+
+            return store;
+        }
+    }
+
+    /**
      * Executes demo.
      *
      * @param args Command line arguments, none required.
@@ -47,8 +64,7 @@ public class Demo {
         IgniteConfiguration cfg = new IgniteConfiguration();
 
         // Configure cache store.
-        CacheConfiguration ccfg = CacheConfig.cache(CACHE_NAME,
-            
org.h2.jdbcx.JdbcConnectionPool.create("jdbc:h2:tcp://localhost/~/schema-import/demo",
 "sa", ""));
+        CacheConfiguration ccfg = CacheConfig.cache(CACHE_NAME, new 
H2DemoStoreFactory());
 
         cfg.setCacheConfiguration(ccfg);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bb9bf893/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
 
b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
index 327068d..c599067 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
@@ -317,10 +317,10 @@ public abstract class CacheAbstractJdbcStore<K, V> 
implements CacheStore<K, V>,
 
         Transaction tx = ses.transaction();
 
-        Connection conn = ses.<String, 
Connection>properties().remove(ATTR_CONN_PROP);
+        if (tx != null) {
+            Connection conn = ses.<String, 
Connection>properties().remove(ATTR_CONN_PROP);
 
-        if (conn != null) {
-            assert tx != null;
+            assert conn != null;
 
             try {
                 if (commit)

Reply via email to