Repository: ignite
Updated Branches:
  refs/heads/ignite-zk 70bc10ba2 -> 38209f45e


IGNITE-4585 Support CLEAR command with REST


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

Branch: refs/heads/ignite-zk
Commit: 06458b954332d7d075029a5619e1649a6260b0c3
Parents: a9b0265
Author: samaitra <[email protected]>
Authored: Mon Dec 25 23:42:18 2017 -0600
Committer: samaitra <[email protected]>
Committed: Mon Dec 25 23:42:18 2017 -0600

----------------------------------------------------------------------
 .../processors/rest/GridRestProcessor.java      |  2 ++
 .../handlers/cache/GridCacheCommandHandler.java |  4 +--
 .../cache/GridCacheCommandHandlerSelfTest.java  | 29 ++++++++++++++++++++
 .../http/jetty/GridJettyRestHandler.java        |  1 +
 4 files changed, 34 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/06458b95/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
index 64ab173..17e443c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
@@ -621,6 +621,7 @@ public class GridRestProcessor extends GridProcessorAdapter 
{
                 case CACHE_PUT_ALL:
                 case CACHE_REMOVE:
                 case CACHE_REMOVE_ALL:
+                case CACHE_CLEAR:
                 case CACHE_REPLACE:
                 case ATOMIC_INCREMENT:
                 case ATOMIC_DECREMENT:
@@ -776,6 +777,7 @@ public class GridRestProcessor extends GridProcessorAdapter 
{
 
             case CACHE_REMOVE:
             case CACHE_REMOVE_ALL:
+            case CACHE_CLEAR:
             case CACHE_GET_AND_REMOVE:
             case CACHE_REMOVE_VALUE:
                 perm = SecurityPermission.CACHE_REMOVE;

http://git-wip-us.apache.org/repos/asf/ignite/blob/06458b95/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java
index d627b20..6ecdbfc 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java
@@ -546,7 +546,7 @@ public class GridCacheCommandHandler extends 
GridRestCommandHandlerAdapter {
                 case CACHE_REMOVE_ALL: {
                     Map<Object, Object> map = req0.values();
 
-                    // HashSet wrapping for correct serialization
+                    // HashSet wrapping for correct serializationclear
                     Set<Object> keys = map == null ? null : new 
HashSet<>(map.keySet());
 
                     fut = executeCommand(req.destinationId(), req.clientId(), 
cacheName, skipStore, key,
@@ -560,7 +560,7 @@ public class GridCacheCommandHandler extends 
GridRestCommandHandlerAdapter {
 
                     // HashSet wrapping for correct serialization
                     Set<Object> cacheNames = map == null ?
-                        new HashSet<Object>(ctx.cache().publicCaches()) : new 
HashSet<>(map.keySet());
+                        new HashSet<Object>(ctx.cache().publicCacheNames()) : 
new HashSet<>(map.keySet());
 
                     GridCompoundFuture compFut = new GridCompoundFuture();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/06458b95/modules/core/src/test/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandlerSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandlerSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandlerSelfTest.java
index a5718b8..e34992f 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandlerSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandlerSelfTest.java
@@ -213,6 +213,35 @@ public class GridCacheCommandHandlerSelfTest extends 
GridCommonAbstractTest {
     }
 
     /**
+     * Tests the execution of the CACHE_CLEAR command.
+     *
+     * @throws Exception If failed.
+     */
+    public void testCacheClear() throws Exception {
+        GridRestCommandHandler hnd = new 
GridCacheCommandHandler(((IgniteKernal)grid()).context());
+
+        GridRestCacheRequest req = new GridRestCacheRequest();
+
+        req.cacheName(DEFAULT_CACHE_NAME);
+
+        req.command(GridRestCommand.CACHE_CLEAR);
+
+        try {
+            // Change cache state.
+            for (int i = 0; i < 10; i++ ) {
+                jcache().put(UUID.randomUUID().toString(), 
UUID.randomUUID().toString());
+            }
+
+            assertTrue(jcache().size() == 10);
+
+            assertTrue((Boolean) hnd.handleAsync(req).get().getResponse());
+        }
+        finally {
+            assertTrue(jcache().size() == 0);
+        }
+    }
+
+    /**
      * Test command handler.
      */
     private static class TestableCacheCommandHandler extends 
GridCacheCommandHandler {

http://git-wip-us.apache.org/repos/asf/ignite/blob/06458b95/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
----------------------------------------------------------------------
diff --git 
a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
 
b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
index b8a42f3..b7f0d45 100644
--- 
a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
+++ 
b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
@@ -439,6 +439,7 @@ public class GridJettyRestHandler extends AbstractHandler {
             case CACHE_REPLACE_VALUE:
             case CACHE_GET_AND_REMOVE:
             case CACHE_REMOVE_ALL:
+            case CACHE_CLEAR:
             case CACHE_ADD:
             case CACHE_CAS:
             case CACHE_METRICS:

Reply via email to