Forráskód Böngészése

ZOOKEEPER-3415: convert internal logic to use java8 streams

I have refactored few for loops that perform just some filtering and collections

Author: Shyam Sundar J <shyamsundarcoolz@gmail.com>

Reviewers: eolivelli@apache.org, andor@apache.org

Closes #1311 from severussundar/ZOOKEEPER-3415 and squashes the following commits:

f07461cd7 [Shyam Sundar J] Merge branch 'master' into ZOOKEEPER-3415
78ed4c8ec [Shyam Sundar J] removing extra whitespaces and newlines
6fd7751de [Shyam Sundar J] removing unused imports and tabs
cb133fd33 [Shyam Sundar J] Merge branch 'master' of https://github.com/apache/zookeeper into ZOOKEEPER-3415
3f9a39a62 [Shyam Sundar J] ZOOKEEPER-3415 :convert internal logic to use java8 streams
Shyam Sundar J 4 éve
szülő
commit
281a7c30c4

+ 4 - 17
zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServer.java

@@ -498,17 +498,9 @@ public class ZooKeeperServer implements SessionExpirer, ServerStats.Provider {
         }
 
         // Clean up dead sessions
-        List<Long> deadSessions = new ArrayList<>();
-        for (Long session : zkDb.getSessions()) {
-            if (zkDb.getSessionWithTimeOuts().get(session) == null) {
-                deadSessions.add(session);
-            }
-        }
-
-        for (long session : deadSessions) {
-            // TODO: Is lastProcessedZxid really the best thing to use?
-            killSession(session, zkDb.getDataTreeLastProcessedZxid());
-        }
+        zkDb.getSessions().stream()
+                        .filter(session -> zkDb.getSessionWithTimeOuts().get(session) == null)
+                        .forEach(session -> killSession(session, zkDb.getDataTreeLastProcessedZxid()));
 
         // Make a clean snapshot
         takeSnapshot();
@@ -1648,12 +1640,7 @@ public class ZooKeeperServer implements SessionExpirer, ServerStats.Provider {
     }
 
     private boolean hasCnxSASLAuthenticated(ServerCnxn cnxn) {
-        for (Id id : cnxn.getAuthInfo()) {
-            if (id.getScheme().equals(SASL_AUTH_SCHEME)) {
-                return true;
-            }
-        }
-        return false;
+        return cnxn.getAuthInfo().stream().anyMatch(id -> id.getScheme().equals(SASL_AUTH_SCHEME));
     }
 
     private void processSasl(ByteBuffer incomingBuffer, ServerCnxn cnxn, RequestHeader requestHeader) throws IOException {

+ 2 - 10
zookeeper-server/src/main/java/org/apache/zookeeper/server/admin/JettyAdminServer.java

@@ -21,11 +21,10 @@ package org.apache.zookeeper.server.admin;
 import java.io.IOException;
 import java.security.GeneralSecurityException;
 import java.security.KeyStore;
-import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
@@ -260,14 +259,7 @@ public class JettyAdminServer implements AdminServer {
      * Returns a list of URLs to each registered Command.
      */
     private List<String> commandLinks() {
-        List<String> links = new ArrayList<String>();
-        List<String> commands = new ArrayList<String>(Commands.getPrimaryNames());
-        Collections.sort(commands);
-        for (String command : commands) {
-            String url = commandUrl + "/" + command;
-            links.add(String.format("<a href=\"%s\">%s</a>", url, command));
-        }
-        return links;
+        return Commands.getPrimaryNames().stream().sorted().map(command -> String.format("<a href=\"%s\">%s</a>", commandUrl + "/" + command , command)).collect(Collectors.toList());
     }
 
     /**