You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/04/08 15:31:14 UTC
[11/15] incubator-ignite git commit: #ignite-683: Remove filters from
CacheProjection keySet.
#ignite-683: Remove filters from CacheProjection keySet.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/854e1981
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/854e1981
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/854e1981
Branch: refs/heads/ignite-683
Commit: 854e19814b580e55c3810b7ddb35169c9c9cd5b7
Parents: 8d70d11
Author: ivasilinets <iv...@gridgain.com>
Authored: Wed Apr 8 00:53:17 2015 +0300
Committer: ivasilinets <iv...@gridgain.com>
Committed: Wed Apr 8 00:53:17 2015 +0300
----------------------------------------------------------------------
.../processors/cache/CacheProjection.java | 22 +-------------
.../processors/cache/GridCacheAdapter.java | 31 ++++++++++++++++++--
.../cache/GridCacheProjectionImpl.java | 12 ++------
.../processors/cache/GridCacheProxyImpl.java | 17 ++---------
4 files changed, 35 insertions(+), 47 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/854e1981/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheProjection.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheProjection.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheProjection.java
index 751da4a..4e93018 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheProjection.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheProjection.java
@@ -830,23 +830,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> {
public Set<K> keySet();
/**
- * Set of keys cached on this node. You can remove elements from this set, but you cannot add elements
- * to this set. All removal operation will be reflected on the cache itself.
- * <p>
- * Iterator over this set will not fail if set was concurrently updated
- * by another thread. This means that iterator may or may not return latest
- * keys depending on whether they were added before or after current
- * iterator position.
- * <p>
- * NOTE: this operation is not distributed and returns only the keys cached on this node.
- *
- * @param filter Optional filter to check prior to getting key form cache. Note
- * that filter is checked atomically together with get operation.
- * @return Key set for this cache projection.
- */
- public Set<K> keySet(@Nullable CacheEntryPredicate... filter);
-
- /**
* Set of keys for which this node is primary.
* This set is dynamic and may change with grid topology changes.
* Note that this set will contain mappings for all keys, even if their values are
@@ -1240,15 +1223,12 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> {
* if there is one.
*
* @param key Key whose mapping is to be removed from cache.
- * @param filter Optional filter to check prior to removing value form cache. Note
- * that filter is checked atomically together with remove operation.
* @return Future for the remove operation. The future will return {@code true}
* if optional filters passed validation and remove did occur, {@code false} otherwise.
* Note that if filter is not specified, this method will return {@code true}.
* @throws NullPointerException if the key is {@code null}.
*/
- public IgniteInternalFuture<Boolean> removexAsync(K key,
- @Nullable CacheEntryPredicate... filter);
+ public IgniteInternalFuture<Boolean> removexAsync(K key);
/**
* Removes given key mapping from cache if one exists and value is equal to the passed in value.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/854e1981/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 95fd3fd..1a8b7b2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -3024,7 +3024,34 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>,
}
/** {@inheritDoc} */
- @Override public IgniteInternalFuture<Boolean> removexAsync(K key, CacheEntryPredicate... filter) {
+ @Override public IgniteInternalFuture<Boolean> removexAsync(K key) {
+ A.notNull(key, "key");
+
+ return removexAsync(key, null, CU.empty0());
+ }
+
+
+ /**
+ * Asynchronously removes given key mapping from cache.
+ * <p>
+ * This method will return {@code true} if remove did occur, which means that all optionally
+ * provided filters have passed and there was something to remove, {@code false} otherwise.
+ * <p>
+ * If write-through is enabled, the value will be removed from {@link org.apache.ignite.cache.store.CacheStore}
+ * via <code>CacheStore#remove(Transaction, Object)</code> method.
+ * <h2 class="header">Transactions</h2>
+ * This method is transactional and will enlist the entry into ongoing transaction
+ * if there is one.
+ *
+ * @param key Key whose mapping is to be removed from cache.
+ * @param filter Optional filter to check prior to removing value form cache. Note
+ * that filter is checked atomically together with remove operation.
+ * @return Future for the remove operation. The future will return {@code true}
+ * if optional filters passed validation and remove did occur, {@code false} otherwise.
+ * Note that if filter is not specified, this method will return {@code true}.
+ * @throws NullPointerException if the key is {@code null}.
+ */
+ public IgniteInternalFuture<Boolean> removexAsync(K key, CacheEntryPredicate... filter) {
A.notNull(key, "key");
return removexAsync(key, null, filter);
@@ -4636,7 +4663,7 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>,
* @param filter Filters to evaluate.
* @return Key set.
*/
- @Override public Set<K> keySet(@Nullable CacheEntryPredicate... filter) {
+ public Set<K> keySet(@Nullable CacheEntryPredicate... filter) {
return map.keySet(filter);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/854e1981/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProjectionImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProjectionImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProjectionImpl.java
index 615a6df..96afb74 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProjectionImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProjectionImpl.java
@@ -517,11 +517,6 @@ public class GridCacheProjectionImpl<K, V> implements GridCacheProjectionEx<K, V
}
/** {@inheritDoc} */
- @Override public Set<K> keySet(@Nullable CacheEntryPredicate... filter) {
- return cache.keySet(filter);
- }
-
- /** {@inheritDoc} */
@Override public Set<K> primaryKeySet() {
return cache.primaryKeySet();
}
@@ -685,7 +680,7 @@ public class GridCacheProjectionImpl<K, V> implements GridCacheProjectionEx<K, V
/** {@inheritDoc} */
@Override public boolean removex(K key) throws IgniteCheckedException {
- return removexAsync(key, (CacheEntryPredicate[])null).get();
+ return removexAsync(key).get();
}
/** {@inheritDoc} */
@@ -706,9 +701,8 @@ public class GridCacheProjectionImpl<K, V> implements GridCacheProjectionEx<K, V
}
/** {@inheritDoc} */
- @Override public IgniteInternalFuture<Boolean> removexAsync(K key,
- @Nullable CacheEntryPredicate[] filter) {
- return removexAsync(key, null, filter);
+ @Override public IgniteInternalFuture<Boolean> removexAsync(K key) {
+ return removexAsync(key, null, CU.empty0());
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/854e1981/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
index 3556b47..9627864 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
@@ -948,18 +948,6 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
}
/** {@inheritDoc} */
- @Override public Set<K> keySet(@Nullable CacheEntryPredicate... filter) {
- GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
-
- try {
- return delegate.keySet(filter);
- }
- finally {
- gate.leave(prev);
- }
- }
-
- /** {@inheritDoc} */
@Override public Set<K> primaryKeySet() {
GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
@@ -1418,12 +1406,11 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
}
/** {@inheritDoc} */
- @Override public IgniteInternalFuture<Boolean> removexAsync(K key,
- @Nullable CacheEntryPredicate[] filter) {
+ @Override public IgniteInternalFuture<Boolean> removexAsync(K key) {
GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
try {
- return delegate.removexAsync(key, filter);
+ return delegate.removexAsync(key);
}
finally {
gate.leave(prev);