Return-Path: X-Original-To: apmail-ignite-commits-archive@minotaur.apache.org Delivered-To: apmail-ignite-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B1796108F2 for ; Tue, 13 Jan 2015 15:22:12 +0000 (UTC) Received: (qmail 54410 invoked by uid 500); 13 Jan 2015 15:22:14 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 54361 invoked by uid 500); 13 Jan 2015 15:22:14 -0000 Mailing-List: contact commits-help@ignite.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.incubator.apache.org Delivered-To: mailing list commits@ignite.incubator.apache.org Received: (qmail 54323 invoked by uid 99); 13 Jan 2015 15:22:14 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Jan 2015 15:22:14 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO mail.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 13 Jan 2015 15:22:12 +0000 Received: (qmail 54000 invoked by uid 99); 13 Jan 2015 15:21:52 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Jan 2015 15:21:52 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id B78C69AF049; Tue, 13 Jan 2015 15:21:51 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sboikov@apache.org To: commits@ignite.incubator.apache.org Date: Tue, 13 Jan 2015 15:21:53 -0000 Message-Id: In-Reply-To: <9ecdf90a82d247739995568826f63ca2@git.apache.org> References: <9ecdf90a82d247739995568826f63ca2@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [3/7] incubator-ignite git commit: ignite-45: wip X-Virus-Checked: Checked by ClamAV on apache.org ignite-45: wip Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/5190b121 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/5190b121 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/5190b121 Branch: refs/heads/ignite-1 Commit: 5190b12171bec52727fd40f6c69c8a3c5ac1112f Parents: b03a483 Author: Yakov Zhdanov Authored: Fri Jan 9 17:47:52 2015 +0300 Committer: Yakov Zhdanov Committed: Fri Jan 9 17:47:52 2015 +0300 ---------------------------------------------------------------------- .../org/apache/ignite/IgniteCacheManager.java | 32 ++++++++++++++------ .../apache/ignite/IgniteCachingProvider.java | 7 +++-- .../org/gridgain/grid/cache/GridCacheEntry.java | 3 +- .../processors/cache/GridCacheEntryImpl.java | 8 +++++ .../cache/GridCacheEvictionEntry.java | 8 +++++ .../cache/GridCacheFilterEvaluationEntry.java | 8 +++++ .../cache/query/GridCacheQueryManager.java | 8 +++++ .../GridCacheContinuousQueryEntry.java | 8 +++++ .../cache/eviction/GridCacheMockEntry.java | 8 +++++ 9 files changed, 78 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5190b121/modules/core/src/main/java/org/apache/ignite/IgniteCacheManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteCacheManager.java b/modules/core/src/main/java/org/apache/ignite/IgniteCacheManager.java index a7dab9b..2f0073f 100644 --- a/modules/core/src/main/java/org/apache/ignite/IgniteCacheManager.java +++ b/modules/core/src/main/java/org/apache/ignite/IgniteCacheManager.java @@ -36,17 +36,22 @@ public class IgniteCacheManager implements CacheManager { private final ClassLoader clsLdr; /** */ + private final Properties props; + + /** */ private final AtomicBoolean closed = new AtomicBoolean(); /** * @param uri Uri. * @param cachingProvider Caching provider. * @param clsLdr Class loader. + * @param props */ - public IgniteCacheManager(URI uri, CachingProvider cachingProvider, ClassLoader clsLdr) { + public IgniteCacheManager(URI uri, CachingProvider cachingProvider, ClassLoader clsLdr, Properties props) { this.uri = uri; this.cachingProvider = cachingProvider; this.clsLdr = clsLdr; + this.props = props; } /** {@inheritDoc} */ @@ -66,7 +71,7 @@ public class IgniteCacheManager implements CacheManager { /** {@inheritDoc} */ @Override public Properties getProperties() { - return null; + return props; } /** {@inheritDoc} */ @@ -86,12 +91,15 @@ public class IgniteCacheManager implements CacheManager { if (cacheCfg instanceof GridCacheConfiguration) { String cfgCacheName = ((GridCacheConfiguration)cacheCfg).getName(); - if (cfgCacheName != null && !cacheName.equals(cfgCacheName)) - throw new IllegalArgumentException(); - - cacheCfg = (C)new GridCacheConfiguration((CompleteConfiguration)cacheCfg); + if (cfgCacheName != null) { + if (!cacheName.equals(cfgCacheName)) + throw new IllegalArgumentException(); + } + else { + cacheCfg = (C)new GridCacheConfiguration((CompleteConfiguration)cacheCfg); - ((GridCacheConfiguration)cacheCfg).setName(cacheName); + ((GridCacheConfiguration)cacheCfg).setName(cacheName); + } } Ignite ignite; @@ -176,7 +184,9 @@ public class IgniteCacheManager implements CacheManager { /** {@inheritDoc} */ @Override public Iterable getCacheNames() { - ensureNotClosed(); + if (isClosed()) + return Collections.emptySet(); // javadoc of #getCacheNames() says that IllegalStateException should be + // thrown but CacheManagerTest.close_cachesEmpty() require empty collection. String[] resArr; @@ -184,7 +194,7 @@ public class IgniteCacheManager implements CacheManager { resArr = igniteMap.keySet().toArray(new String[igniteMap.keySet().size()]); } - return Arrays.asList(resArr); + return Collections.unmodifiableCollection(Arrays.asList(resArr)); } /** @@ -221,6 +231,8 @@ public class IgniteCacheManager implements CacheManager { /** {@inheritDoc} */ @Override public void enableManagement(String cacheName, boolean enabled) { + ensureNotClosed(); + if (cacheName == null) throw new NullPointerException(); @@ -229,6 +241,8 @@ public class IgniteCacheManager implements CacheManager { /** {@inheritDoc} */ @Override public void enableStatistics(String cacheName, boolean enabled) { + ensureNotClosed(); + if (cacheName == null) throw new NullPointerException(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5190b121/modules/core/src/main/java/org/apache/ignite/IgniteCachingProvider.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteCachingProvider.java b/modules/core/src/main/java/org/apache/ignite/IgniteCachingProvider.java index e67434e..ecc0560 100644 --- a/modules/core/src/main/java/org/apache/ignite/IgniteCachingProvider.java +++ b/modules/core/src/main/java/org/apache/ignite/IgniteCachingProvider.java @@ -45,6 +45,9 @@ public class IgniteCachingProvider implements CachingProvider { } /** */ + public static final Properties DFLT_PROPS = new Properties(); + + /** */ private final Map> cacheManagers = new WeakHashMap<>(); /** {@inheritDoc} */ @@ -67,7 +70,7 @@ public class IgniteCachingProvider implements CachingProvider { IgniteCacheManager mgr = uriMap.get(uri); if (mgr == null || mgr.isClosed()) { - mgr = new IgniteCacheManager(uri, this, clsLdr); + mgr = new IgniteCacheManager(uri, this, clsLdr, props); uriMap.put(uri, mgr); } @@ -88,7 +91,7 @@ public class IgniteCachingProvider implements CachingProvider { /** {@inheritDoc} */ @Override public Properties getDefaultProperties() { - return null; + return DFLT_PROPS; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5190b121/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java index d494903..cae7c47 100644 --- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java +++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java @@ -15,6 +15,7 @@ import org.apache.ignite.transactions.*; import org.gridgain.grid.*; import org.jetbrains.annotations.*; +import javax.cache.*; import java.util.*; import java.util.Map.*; @@ -79,7 +80,7 @@ import java.util.Map.*; * @param Key type. * @param Value type. */ -public interface GridCacheEntry extends Map.Entry, GridMetadataAware { +public interface GridCacheEntry extends Map.Entry, GridMetadataAware, Cache.Entry { /** * Cache projection to which this entry belongs. Note that entry and its * parent projections have same flags and filters. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5190b121/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryImpl.java index c910df2..19ff5b6 100644 --- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryImpl.java +++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryImpl.java @@ -734,6 +734,14 @@ public class GridCacheEntryImpl implements GridCacheEntry, Externali } /** {@inheritDoc} */ + @Override public T unwrap(Class clazz) { + if(clazz.isAssignableFrom(getClass())) + return clazz.cast(this); + + throw new IllegalArgumentException(); + } + + /** {@inheritDoc} */ @Override public int hashCode() { return key.hashCode(); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5190b121/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionEntry.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionEntry.java index e81f637..42958eb 100644 --- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionEntry.java +++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionEntry.java @@ -481,6 +481,14 @@ public class GridCacheEvictionEntry implements GridCacheEntry, Exter } /** {@inheritDoc} */ + @Override public T unwrap(Class clazz) { + if(clazz.isAssignableFrom(getClass())) + return clazz.cast(this); + + throw new IllegalArgumentException(); + } + + /** {@inheritDoc} */ @Override public int hashCode() { return cached.key().hashCode(); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5190b121/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheFilterEvaluationEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheFilterEvaluationEntry.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheFilterEvaluationEntry.java index 9e5644a..4b5cf9d 100644 --- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheFilterEvaluationEntry.java +++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheFilterEvaluationEntry.java @@ -413,6 +413,14 @@ public class GridCacheFilterEvaluationEntry implements GridCacheEntry T unwrap(Class clazz) { + if(clazz.isAssignableFrom(getClass())) + return clazz.cast(this); + + throw new IllegalArgumentException(); + } + + /** {@inheritDoc} */ @Override public String toString() { return S.toString(GridCacheFilterEvaluationEntry.class, this); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5190b121/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/query/GridCacheQueryManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/query/GridCacheQueryManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/query/GridCacheQueryManager.java index 588cac1..ce94ddb 100644 --- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/query/GridCacheQueryManager.java +++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/query/GridCacheQueryManager.java @@ -2863,6 +2863,14 @@ public abstract class GridCacheQueryManager extends GridCacheManagerAdapte @Override public boolean replaceMeta(String name, V curVal, V newVal) { throw new UnsupportedOperationException(); } + + /** {@inheritDoc} */ + @Override public T unwrap(Class clazz) { + if(clazz.isAssignableFrom(getClass())) + return clazz.cast(this); + + throw new IllegalArgumentException(); + } } /** http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5190b121/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryEntry.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryEntry.java index 991573b..bf35bf9 100644 --- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryEntry.java +++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryEntry.java @@ -678,6 +678,14 @@ public class GridCacheContinuousQueryEntry implements GridCacheEntry } /** {@inheritDoc} */ + @Override public T unwrap(Class clazz) { + if(clazz.isAssignableFrom(getClass())) + return clazz.cast(this); + + throw new IllegalArgumentException(); + } + + /** {@inheritDoc} */ @Override public void writeExternal(ObjectOutput out) throws IOException { boolean b = keyBytes != null; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5190b121/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheMockEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheMockEntry.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheMockEntry.java index 6827e66..90e89e6 100644 --- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheMockEntry.java +++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheMockEntry.java @@ -343,6 +343,14 @@ public class GridCacheMockEntry extends GridMetadataAwareAdapter implement } /** {@inheritDoc} */ + @Override public T unwrap(Class clazz) { + if(clazz.isAssignableFrom(getClass())) + return clazz.cast(this); + + throw new IllegalArgumentException(); + } + + /** {@inheritDoc} */ @Override public String toString() { return S.toString(GridCacheMockEntry.class, this); }