Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-648 92cde7fe1 -> c8c1600a5


ignite-648: fix connection between local jvm node and remote


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

Branch: refs/heads/ignite-648
Commit: c8c1600a5f504544d87f1f440c6db28bd35982ab
Parents: 92cde7f
Author: Artem Shutak <ashu...@gridgain.com>
Authored: Tue Apr 14 19:06:48 2015 +0300
Committer: Artem Shutak <ashu...@gridgain.com>
Committed: Tue Apr 14 19:06:48 2015 +0300

----------------------------------------------------------------------
 .../cache/GridCacheAbstractFullApiSelfTest.java |   2 +-
 ...CachePartitionedMultiJvmFullApiSelfTest.java |  62 ++--
 .../cache/multijvm/IgniteExProxy.java           | 328 ++++++++++++++++++
 .../cache/multijvm/IgniteNodeRunner.java        |  12 +-
 .../cache/multijvm/IgniteProcessProxy.java      | 345 -------------------
 .../testframework/junits/GridAbstractTest.java  |   6 +-
 6 files changed, 372 insertions(+), 383 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c8c1600a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
index 77405ee..0adf4c0 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
@@ -161,7 +161,7 @@ public abstract class GridCacheAbstractFullApiSelfTest 
extends GridCacheAbstract
                     Ignite ignite;
                     
                     if (isMultiJvm())
-                        ignite = IgniteProcessProxy.grid(entry.getKey());
+                        ignite = IgniteExProxy.grid(entry.getKey());
                     else 
                         ignite = IgnitionEx.grid(entry.getKey());
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c8c1600a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedMultiJvmFullApiSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedMultiJvmFullApiSelfTest.java
index 753c13c..54f1c20 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedMultiJvmFullApiSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedMultiJvmFullApiSelfTest.java
@@ -22,8 +22,6 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.internal.*;
 import org.apache.ignite.internal.processors.cache.distributed.near.*;
 import org.apache.ignite.internal.processors.resource.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.*;
 
 import java.util.*;
 
@@ -31,54 +29,62 @@ import java.util.*;
  * TODO: Add class description.
  */
 public class GridCachePartitionedMultiJvmFullApiSelfTest extends 
GridCachePartitionedMultiNodeFullApiSelfTest {
-    /** VM ip finder for TCP discovery. */
-    public static final TcpDiscoveryIpFinder ipFinder = new 
TcpDiscoveryMulticastIpFinder(){{
-        setAddresses(Collections.singleton("127.0.0.1:47500..47509"));
-    }};
-
     /** Proces name to process map. */
-    private final Map<String, IgniteProcessProxy> ignites = new HashMap<>();
+    private final Map<String, IgniteExProxy> ignites = new HashMap<>();
 
+    /** {@inheritDoc} */
+    @Override protected void beforeTestsStarted() throws Exception {
+        super.beforeTestsStarted();
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTestsStopped() throws Exception {
+        for (IgniteExProxy ignite : ignites.values())
+            ignite.getProcess().kill();
+
+        ignites.clear();
+
+        super.afterTestsStopped();
+    }
+
+    /** {@inheritDoc} */
     @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
-//        IgniteConfiguration cfg = super.getConfiguration(gridName);
-//
-//        ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(ipFinder);
+        IgniteConfiguration rmtCfg = IgniteNodeRunner.configuration(null);
+        
+        rmtCfg.setGridName(gridName);
 
-        return IgniteNodeRunner.configuration(null); // TODO: change.
+        return rmtCfg; // TODO: change.
     }
 
+    /** {@inheritDoc} */
     @Override protected CacheConfiguration cacheConfiguration(String gridName) 
throws Exception {
         return super.cacheConfiguration(gridName); // TODO: CODE: implement.
     }
 
+    /** {@inheritDoc} */
     @Override protected int gridCount() {
-        return 1;
+        return 2;
     }
 
+    /** {@inheritDoc} */
     protected boolean isMultiJvm() {
         return true;
     }
 
-    @Override protected void afterTestsStopped() throws Exception {
-        for (IgniteProcessProxy ignite : ignites.values())
-            ignite.getProcess().kill();
-
-        ignites.clear();
-
-        super.afterTestsStopped();
-    }
-
     /** {@inheritDoc} */
     protected Ignite startGrid(String gridName, GridSpringResourceContext ctx) 
throws Exception {
+        if (gridName.endsWith("0"))
+            return super.startGrid(gridName, ctx);
+
         startingGrid.set(gridName);
 
         try {
             IgniteConfiguration cfg = optimize(getConfiguration(gridName));
 
-            IgniteProcessProxy proxy = new IgniteProcessProxy(cfg, log);
-            
+            IgniteExProxy proxy = new IgniteExProxy(cfg, log);
+
             ignites.put(gridName, proxy);
-            
+
             return proxy;
         }
         finally {
@@ -86,9 +92,13 @@ public class GridCachePartitionedMultiJvmFullApiSelfTest 
extends GridCachePartit
         }
     }
 
+    /** {@inheritDoc} */
     @Override protected IgniteEx grid(int idx) {
+        if (idx == 0)
+            return super.grid(idx);
+
         String name = getTestGridName(idx);
-        
+
         return ignites.get(name);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c8c1600a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/IgniteExProxy.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/IgniteExProxy.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/IgniteExProxy.java
new file mode 100644
index 0000000..7dab762
--- /dev/null
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/IgniteExProxy.java
@@ -0,0 +1,328 @@
+/*
+ * 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.internal.processors.cache.multijvm;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cache.affinity.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.cluster.*;
+import org.apache.ignite.internal.processors.cache.*;
+import org.apache.ignite.internal.processors.hadoop.*;
+import org.apache.ignite.internal.util.*;
+import org.apache.ignite.internal.util.typedef.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.plugin.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+import java.util.concurrent.*;
+
+/**
+ * TODO: Add class description.
+ *
+ * @author @java.author
+ * @version @java.version
+ */
+public class IgniteExProxy implements IgniteEx {
+    private static final Map<String, IgniteExProxy> gridProxies = new 
HashMap<>();
+    
+    private final GridJavaProcess proc;
+    private final IgniteConfiguration cfg;
+    private final IgniteLogger log;
+    private final UUID id = UUID.randomUUID();
+
+    public IgniteExProxy(final IgniteConfiguration cfg, final IgniteLogger 
log) throws Exception {
+        this.cfg = cfg;
+        this.log = log;
+
+        String cfgAsString = IgniteNodeRunner.asParams(id, cfg);
+        
+        proc = GridJavaProcess.exec(
+            IgniteNodeRunner.class,
+            cfgAsString, // Params.
+            log,
+            // Optional closure to be called each time wrapped process prints 
line to system.out or system.err.
+            new IgniteInClosure<String>() {
+                @Override public void apply(String s) {
+                    log.info("[" + cfg.getGridName() + "] " + s);
+                }
+            },
+            null,
+            Collections.<String>emptyList(), // JVM Args.
+            System.getProperty("surefire.test.class.path")
+        );
+        
+        Thread.sleep(3_000);
+        
+        gridProxies.put(cfg.getGridName(), this);
+    }
+
+    @Override public String name() {
+        return cfg.getGridName();
+    }
+
+    @Override public IgniteLogger log() {
+        return log;
+    }
+
+    @Override public IgniteConfiguration configuration() {
+        return cfg;
+    }
+
+    @Override public <K extends GridCacheUtilityKey, V> 
GridCacheProjectionEx<K, V> utilityCache() {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Nullable @Override public <K, V> GridCache<K, V> cachex(@Nullable String 
name) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Nullable @Override public <K, V> GridCache<K, V> cachex() {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public Collection<GridCache<?, ?>> cachesx(@Nullable 
IgnitePredicate<? super GridCache<?, ?>>... p) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public boolean eventUserRecordable(int type) {
+        return false; // TODO: CODE: implement.
+    }
+
+    @Override public boolean allEventsUserRecordable(int[] types) {
+        return false; // TODO: CODE: implement.
+    }
+
+    @Override public boolean isJmxRemoteEnabled() {
+        return false; // TODO: CODE: implement.
+    }
+
+    @Override public boolean isRestartEnabled() {
+        return false; // TODO: CODE: implement.
+    }
+
+    @Nullable @Override public IgniteFileSystem igfsx(@Nullable String name) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public Hadoop hadoop() {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public IgniteClusterEx cluster() {
+        return (IgniteClusterEx)Ignition.ignite().cluster();
+    }
+
+    @Nullable @Override public String latestVersion() {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public ClusterNode localNode() {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public GridKernalContext context() {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public IgniteCompute compute() {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public IgniteCompute compute(ClusterGroup grp) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public IgniteMessaging message() {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public IgniteMessaging message(ClusterGroup grp) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public IgniteEvents events() {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public IgniteEvents events(ClusterGroup grp) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public IgniteServices services() {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public IgniteServices services(ClusterGroup grp) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public ExecutorService executorService() {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public ExecutorService executorService(ClusterGroup grp) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public IgniteProductVersion version() {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public IgniteScheduler scheduler() {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public <K, V> IgniteCache<K, V> 
createCache(CacheConfiguration<K, V> cacheCfg) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public <K, V> IgniteCache<K, V> createCache(String cacheName) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public <K, V> IgniteCache<K, V> 
getOrCreateCache(CacheConfiguration<K, V> cacheCfg) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public <K, V> IgniteCache<K, V> getOrCreateCache(String 
cacheName) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public <K, V> void addCacheConfiguration(CacheConfiguration<K, 
V> cacheCfg) {
+        // TODO: CODE: implement.
+    }
+
+    @Override public <K, V> IgniteCache<K, V> 
createCache(CacheConfiguration<K, V> cacheCfg,
+        NearCacheConfiguration<K, V> nearCfg) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public <K, V> IgniteCache<K, V> 
getOrCreateCache(CacheConfiguration<K, V> cacheCfg,
+        NearCacheConfiguration<K, V> nearCfg) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override
+    public <K, V> IgniteCache<K, V> createNearCache(@Nullable String 
cacheName, NearCacheConfiguration<K, V> nearCfg) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public <K, V> IgniteCache<K, V> getOrCreateNearCache(@Nullable 
String cacheName,
+        NearCacheConfiguration<K, V> nearCfg) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public void destroyCache(String cacheName) {
+        // TODO: CODE: implement.
+    }
+
+    @Override public <K, V> IgniteCache<K, V> cache(@Nullable final String 
name) {
+        Ignite ignite = Ignition.ignite();
+        
+        ClusterGroup grp = ignite.cluster().forNodeId(id);
+
+        return ignite.compute(grp).apply(new C1<Set<String>, 
IgniteCache<K,V>>() {
+            @Override public IgniteCache<K,V> apply(Set<String> objects) {
+                X.println(">>>>> Cache");
+                
+                return Ignition.ignite().cache(name);
+            }
+        }, Collections.<String>emptySet());
+    }
+
+    @Override public IgniteTransactions transactions() {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public <K, V> IgniteDataStreamer<K, V> dataStreamer(@Nullable 
String cacheName) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public IgniteFileSystem fileSystem(String name) {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public Collection<IgniteFileSystem> fileSystems() {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override
+    public IgniteAtomicSequence atomicSequence(String name, long initVal, 
boolean create) throws IgniteException {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public IgniteAtomicLong atomicLong(String name, long initVal, 
boolean create) throws IgniteException {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public <T> IgniteAtomicReference<T> atomicReference(String name, 
@Nullable T initVal,
+        boolean create) throws IgniteException {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override
+    public <T, S> IgniteAtomicStamped<T, S> atomicStamped(String name, 
@Nullable T initVal, @Nullable S initStamp,
+        boolean create) throws IgniteException {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public IgniteCountDownLatch countDownLatch(String name, int cnt, 
boolean autoDel,
+        boolean create) throws IgniteException {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public <T> IgniteQueue<T> queue(String name, int cap,
+        @Nullable CollectionConfiguration cfg) throws IgniteException {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public <T> IgniteSet<T> set(String name, @Nullable 
CollectionConfiguration cfg) throws IgniteException {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public <T extends IgnitePlugin> T plugin(String name) throws 
PluginNotFoundException {
+        return null; // TODO: CODE: implement.
+    }
+
+    @Override public void close() throws IgniteException {
+        // TODO: CODE: implement.
+    }
+
+    @Override public <K> Affinity<K> affinity(String cacheName) {
+        return null; // TODO: CODE: implement.
+    }
+
+    public GridJavaProcess getProcess() {
+        return proc;
+    }
+
+    public static Ignite grid(@Nullable String name) {
+//        IgniteNamedInstance grid = name != null ? grids.get(name) : dfltGrid;
+
+        Ignite res = gridProxies.get(name);
+
+        if (res == null)
+            throw new IgniteIllegalStateException("Grid instance was not 
properly started " +
+                "or was already stopped: " + name);
+
+        return res;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c8c1600a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/IgniteNodeRunner.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/IgniteNodeRunner.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/IgniteNodeRunner.java
index e69f9bc..5a75222 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/IgniteNodeRunner.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/IgniteNodeRunner.java
@@ -71,26 +71,18 @@ public class IgniteNodeRunner {
     public static IgniteConfiguration configuration(String[] args) {
         IgniteConfiguration cfg = new IgniteConfiguration();
 
+        cfg.setLocalHost("127.0.0.1");
+
         cfg.setNodeId((args != null && args.length >= 1) ? 
UUID.fromString(args[0]) : null);
         //-------
         TcpDiscoverySpi disco = new TcpDiscoverySpi();
 
-//        disco.setMaxMissedHeartbeats(Integer.MAX_VALUE);
-
         disco.setIpFinder(ipFinder);
 
-//        if (isDebug())
-//            disco.setAckTimeout(Integer.MAX_VALUE);
-
         cfg.setDiscoverySpi(disco);
 
         cfg.setMarshaller(new OptimizedMarshaller(false));
 
-//        if (offHeapValues())
-//            cfg.setSwapSpaceSpi(new GridTestSwapSpaceSpi());
-
-//        cfg.getTransactionConfiguration().setTxSerializableEnabled(true);
-
         return cfg;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c8c1600a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/IgniteProcessProxy.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/IgniteProcessProxy.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/IgniteProcessProxy.java
deleted file mode 100644
index a38ebd1..0000000
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/IgniteProcessProxy.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
- * 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.internal.processors.cache.multijvm;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cache.affinity.*;
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.cluster.*;
-import org.apache.ignite.internal.processors.cache.*;
-import org.apache.ignite.internal.processors.hadoop.*;
-import org.apache.ignite.internal.util.*;
-import org.apache.ignite.internal.util.typedef.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.plugin.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-import java.util.concurrent.*;
-
-/**
- * TODO: Add class description.
- *
- * @author @java.author
- * @version @java.version
- */
-public class IgniteProcessProxy implements IgniteEx {
-    private static final Map<String, IgniteProcessProxy> gridProxies = new 
HashMap<>();
-    
-    private final GridJavaProcess proc;
-    private final IgniteConfiguration cfg;
-    private final IgniteLogger log;
-    private final UUID id = UUID.randomUUID();// TODO send.
-
-    public IgniteProcessProxy(final IgniteConfiguration cfg, final 
IgniteLogger log) throws Exception {
-        this.cfg = cfg;
-        this.log = log;
-
-        String cfgAsString = IgniteNodeRunner.asParams(id, cfg);
-        
-        proc = GridJavaProcess.exec(
-            IgniteNodeRunner.class,
-            cfgAsString, // Params.
-            log,
-            // Optional closure to be called each time wrapped process prints 
line to system.out or system.err.
-            new IgniteInClosure<String>() {
-                @Override public void apply(String s) {
-                    log.info("[" + cfg.getGridName() + "] " + s);
-                }
-            },
-            null,
-            Collections.<String>emptyList(), // JVM Args.
-            System.getProperty("surefire.test.class.path")
-        );
-        
-        Thread.sleep(3_000);
-        
-        gridProxies.put(cfg.getGridName(), this);
-    }
-
-    @Override public String name() {
-        return cfg.getGridName();
-    }
-
-    @Override public IgniteLogger log() {
-        return log;
-    }
-
-    @Override public IgniteConfiguration configuration() {
-        return cfg;
-    }
-
-    @Override public <K extends GridCacheUtilityKey, V> 
GridCacheProjectionEx<K, V> utilityCache() {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Nullable @Override public <K, V> GridCache<K, V> cachex(@Nullable String 
name) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Nullable @Override public <K, V> GridCache<K, V> cachex() {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public Collection<GridCache<?, ?>> cachesx(@Nullable 
IgnitePredicate<? super GridCache<?, ?>>... p) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public boolean eventUserRecordable(int type) {
-        return false; // TODO: CODE: implement.
-    }
-
-    @Override public boolean allEventsUserRecordable(int[] types) {
-        return false; // TODO: CODE: implement.
-    }
-
-    @Override public boolean isJmxRemoteEnabled() {
-        return false; // TODO: CODE: implement.
-    }
-
-    @Override public boolean isRestartEnabled() {
-        return false; // TODO: CODE: implement.
-    }
-
-    @Nullable @Override public IgniteFileSystem igfsx(@Nullable String name) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public Hadoop hadoop() {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public IgniteClusterEx cluster() {
-//        Ignition.setClientMode(true);
-        
-        // TODO cfg.
-        try(Ignite ignite = 
Ignition.start(IgniteNodeRunner.configuration(null))) {
-            // TODO
-            ClusterGroup grp = ignite.cluster().forNodeId(id);
-
-            return ignite.compute(grp).apply(new C1<Set<String>, 
IgniteClusterEx>() {
-                @Override public IgniteClusterEx apply(Set<String> objects) {
-                    X.println(">>>>> Cluster 1");
-                    Ignite ignite1 = Ignition.ignite();
-                    X.println(">>>>> Cluster 2");
-                    IgniteCluster cluster = ignite1.cluster();
-                    X.println(">>>>> Cluster 3");
-                    IgniteClusterEx cluster1 = (IgniteClusterEx)cluster;
-                    X.println(">>>>> Cluster 4");
-                    return cluster1;
-                }
-            }, Collections.<String>emptySet());
-        }
-    }
-
-    @Nullable @Override public String latestVersion() {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public ClusterNode localNode() {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public GridKernalContext context() {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public IgniteCompute compute() {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public IgniteCompute compute(ClusterGroup grp) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public IgniteMessaging message() {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public IgniteMessaging message(ClusterGroup grp) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public IgniteEvents events() {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public IgniteEvents events(ClusterGroup grp) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public IgniteServices services() {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public IgniteServices services(ClusterGroup grp) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public ExecutorService executorService() {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public ExecutorService executorService(ClusterGroup grp) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public IgniteProductVersion version() {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public IgniteScheduler scheduler() {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public <K, V> IgniteCache<K, V> 
createCache(CacheConfiguration<K, V> cacheCfg) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public <K, V> IgniteCache<K, V> createCache(String cacheName) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public <K, V> IgniteCache<K, V> 
getOrCreateCache(CacheConfiguration<K, V> cacheCfg) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public <K, V> IgniteCache<K, V> getOrCreateCache(String 
cacheName) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public <K, V> void addCacheConfiguration(CacheConfiguration<K, 
V> cacheCfg) {
-        // TODO: CODE: implement.
-    }
-
-    @Override public <K, V> IgniteCache<K, V> 
createCache(CacheConfiguration<K, V> cacheCfg,
-        NearCacheConfiguration<K, V> nearCfg) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public <K, V> IgniteCache<K, V> 
getOrCreateCache(CacheConfiguration<K, V> cacheCfg,
-        NearCacheConfiguration<K, V> nearCfg) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override
-    public <K, V> IgniteCache<K, V> createNearCache(@Nullable String 
cacheName, NearCacheConfiguration<K, V> nearCfg) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public <K, V> IgniteCache<K, V> getOrCreateNearCache(@Nullable 
String cacheName,
-        NearCacheConfiguration<K, V> nearCfg) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public void destroyCache(String cacheName) {
-        // TODO: CODE: implement.
-    }
-
-    @Override public <K, V> IgniteCache<K, V> cache(@Nullable String name) {
-        Ignition.setClientMode(true);
-        
-        try(Ignite ignite = Ignition.start(cfg)) {
-            return ignite.compute(ignite.cluster().forNodeId(id)).apply(new 
C1<Set<?>, IgniteCache<K,V>>() {
-                @Override public IgniteCache<K, V> apply(Set<?> objects) {
-                    return Ignition.ignite().cache(null);
-                }
-            }, Collections.emptySet());
-        }      
-    }
-
-    @Override public IgniteTransactions transactions() {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public <K, V> IgniteDataStreamer<K, V> dataStreamer(@Nullable 
String cacheName) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public IgniteFileSystem fileSystem(String name) {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public Collection<IgniteFileSystem> fileSystems() {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override
-    public IgniteAtomicSequence atomicSequence(String name, long initVal, 
boolean create) throws IgniteException {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public IgniteAtomicLong atomicLong(String name, long initVal, 
boolean create) throws IgniteException {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public <T> IgniteAtomicReference<T> atomicReference(String name, 
@Nullable T initVal,
-        boolean create) throws IgniteException {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override
-    public <T, S> IgniteAtomicStamped<T, S> atomicStamped(String name, 
@Nullable T initVal, @Nullable S initStamp,
-        boolean create) throws IgniteException {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public IgniteCountDownLatch countDownLatch(String name, int cnt, 
boolean autoDel,
-        boolean create) throws IgniteException {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public <T> IgniteQueue<T> queue(String name, int cap,
-        @Nullable CollectionConfiguration cfg) throws IgniteException {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public <T> IgniteSet<T> set(String name, @Nullable 
CollectionConfiguration cfg) throws IgniteException {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public <T extends IgnitePlugin> T plugin(String name) throws 
PluginNotFoundException {
-        return null; // TODO: CODE: implement.
-    }
-
-    @Override public void close() throws IgniteException {
-        // TODO: CODE: implement.
-    }
-
-    @Override public <K> Affinity<K> affinity(String cacheName) {
-        return null; // TODO: CODE: implement.
-    }
-
-    public GridJavaProcess getProcess() {
-        return proc;
-    }
-
-    public static Ignite grid(@Nullable String name) {
-//        IgniteNamedInstance grid = name != null ? grids.get(name) : dfltGrid;
-
-        Ignite res = gridProxies.get(name);
-
-        if (res == null)
-            throw new IgniteIllegalStateException("Grid instance was not 
properly started " +
-                "or was already stopped: " + name);
-
-        return res;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c8c1600a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
index a6ada3d..6be9953 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
@@ -23,6 +23,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.cluster.*;
 import org.apache.ignite.internal.processors.resource.*;
 import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.*;
@@ -590,7 +591,10 @@ public abstract class GridAbstractTest extends TestCase {
             boolean topOk = true;
 
             for (int i = 0; i < cnt; i++) {
-                if (cnt != grid(i).cluster().nodes().size()) {
+                IgniteEx grid = grid(i);
+                IgniteClusterEx cluster = grid.cluster();
+                Collection<ClusterNode> nodes = cluster.nodes();
+                if (cnt != nodes.size()) {
                     U.warn(log, "Grid size is incorrect (will re-run check in 
1000 ms) " +
                         "[name=" + grid(i).name() + ", size=" + 
grid(i).cluster().nodes().size() + ']');
 

Reply via email to