ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sboi...@apache.org
Subject [13/20] incubator-ignite git commit: # ignite-45 - demo fix.
Date Wed, 25 Mar 2015 11:56:46 GMT
# ignite-45 - demo fix.


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

Branch: refs/heads/ignite-tc-jclient
Commit: 4e7eef349c7f87bba1b1ba081cfb7522cf6ffb12
Parents: d99f272
Author: Dmitiry Setrakyan <dsetrakyan@gridgain.com>
Authored: Tue Mar 24 09:56:44 2015 -0700
Committer: Dmitiry Setrakyan <dsetrakyan@gridgain.com>
Committed: Tue Mar 24 09:56:44 2015 -0700

----------------------------------------------------------------------
 .../org/apache/ignite/schema/CacheConfig.java   |  2 +-
 .../java/org/apache/ignite/schema/Demo.java     | 55 +++++++++-----------
 .../java/org/apache/ignite/schema/DemoNode.java | 37 +++++++++++++
 3 files changed, 62 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4e7eef34/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 44359dd..cd758ee 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
@@ -32,7 +32,7 @@ public class CacheConfig {
      * @param name Cache name.
      * @param storeFactory Cache store factory.
      */
-    public static CacheConfiguration cache(String name, Factory<CacheStore> storeFactory)
{
+    public static <K, V> CacheConfiguration<K, V> cache(String name, Factory<CacheStore<K,
V>> storeFactory) {
         throw new IllegalStateException("CacheConfig should be generated by Ignite Schema
Import Utility");
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4e7eef34/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 6c15141..c44d285 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
@@ -28,23 +28,20 @@ import javax.cache.*;
 import javax.cache.configuration.*;
 
 /**
- * Demo for CacheJdbcPojoStore.
- *
- * This example demonstrates the use of cache with {@link CacheJdbcPojoStore}.
- *
- * Custom SQL will be executed to populate cache with data from database.
+ * This demo demonstrates the use of cache with {@link CacheJdbcPojoStore}
+ * together with automatic Ignite shema-import utility.
+ * <p>
+ * This Demo can work stand-alone. You can also choose to start
+ * several {@link DemoNode} cluster nodes as well.
  */
 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> {
+    private static class H2DemoStoreFactory<K, V> implements Factory<CacheStore<K,
V>> {
         /** {@inheritDoc} */
-        @Override public CacheStore create() {
-            CacheJdbcPojoStore store = new CacheJdbcPojoStore<>();
+        @Override public CacheStore<K, V> create() {
+            CacheJdbcPojoStore<K, V> store = new CacheJdbcPojoStore<>();
 
             store.setDataSource(JdbcConnectionPool.create("jdbc:h2:tcp://localhost/~/schema-import/demo",
"sa", ""));
 
@@ -61,27 +58,23 @@ public class Demo {
     public static void main(String[] args) throws IgniteException {
         System.out.println(">>> Start demo...");
 
-        IgniteConfiguration cfg = new IgniteConfiguration();
-
-        // Configure cache store.
-        CacheConfiguration ccfg = CacheConfig.cache(CACHE_NAME, new H2DemoStoreFactory());
-
-        cfg.setCacheConfiguration(ccfg);
-
         // Start Ignite node.
-        try (Ignite ignite = Ignition.start(cfg)) {
-            IgniteCache<PersonKey, Person> cache = ignite.cache(CACHE_NAME);
-
-            // Preload cache from database.
-            preload(cache);
-
-            // Read-through from database
-            // and store in cache.
-            readThrough(cache);
-
-            // Perform transaction and
-            // write-through to database.
-            transaction(ignite, cache);
+        try (Ignite ignite = Ignition.start()) {
+            // Configure cache store.
+            CacheConfiguration<PersonKey, Person> cfg = CacheConfig.cache("PersonCache",
new H2DemoStoreFactory<>());
+
+            try (IgniteCache<PersonKey, Person> cache = ignite.getOrCreateCache(cfg))
{
+                // Preload cache from database.
+                preload(cache);
+
+                // Read-through from database
+                // and store in cache.
+                readThrough(cache);
+
+                // Perform transaction and
+                // write-through to database.
+                transaction(ignite, cache);
+            }
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4e7eef34/examples/schema-import/src/main/java/org/apache/ignite/schema/DemoNode.java
----------------------------------------------------------------------
diff --git a/examples/schema-import/src/main/java/org/apache/ignite/schema/DemoNode.java b/examples/schema-import/src/main/java/org/apache/ignite/schema/DemoNode.java
new file mode 100644
index 0000000..24a5486
--- /dev/null
+++ b/examples/schema-import/src/main/java/org/apache/ignite/schema/DemoNode.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.schema;
+
+import org.apache.ignite.*;
+
+/**
+ * Starts demo node. You can start as many demo nodes as you like for the demo.
+ */
+public class DemoNode {
+    /**
+     * Starts demo node.
+     *
+     * @param args Command line arguments, none required.
+     * @throws IgniteException If example execution failed.
+     */
+    public static void main(String[] args) throws IgniteException {
+        System.out.println(">>> Start demo node...");
+
+        Ignition.start();
+    }
+}


Mime
View raw message