You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by pd...@apache.org on 2021/06/23 13:37:07 UTC

[zeppelin] branch master updated: [ZEPPELIN-5393] Polish rest, socket package of zeppelin-server

This is an automated email from the ASF dual-hosted git repository.

pdallig pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git


The following commit(s) were added to refs/heads/master by this push:
     new 622a6dc  [ZEPPELIN-5393] Polish rest, socket package of zeppelin-server
622a6dc is described below

commit 622a6dccbe58acefee0acf926a2d72acad374c4e
Author: cuspymd <cu...@gmail.com>
AuthorDate: Thu May 27 00:00:05 2021 +0900

    [ZEPPELIN-5393] Polish rest, socket package of zeppelin-server
    
    ### What is this PR for?
    - Add final keyword to variables which are not re-assigned
    - Delete unnecessary and unused codes
    
    ### What type of PR is it?
    [Refactoring]
    
    ### What is the Jira issue?
    * https://issues.apache.org/jira/browse/ZEPPELIN-5393
    
    ### How should this be tested?
    * CI
    
    ### Questions:
    * Does the licenses files need update? No
    * Is there breaking changes for older versions? No
    * Does this needs documentation? No
    
    Author: cuspymd <cu...@gmail.com>
    
    Closes #4126 from cuspymd/polish-server2 and squashes the following commits:
    
    f0633a3eb [cuspymd] Polish rest, socket package of zeppelin-server
---
 .../apache/zeppelin/realm/ZeppelinHubRealm.java    |   2 +-
 .../org/apache/zeppelin/rest/AdminRestApi.java     |   2 +-
 .../org/apache/zeppelin/rest/ClusterRestApi.java   |   8 +-
 .../zeppelin/rest/ConfigurationsRestApi.java       |   2 +-
 .../apache/zeppelin/rest/CredentialRestApi.java    |   6 +-
 .../org/apache/zeppelin/rest/HeliumRestApi.java    |  10 +-
 .../apache/zeppelin/rest/NotebookRepoRestApi.java  |  10 +-
 .../org/apache/zeppelin/rest/NotebookRestApi.java  |  29 ++-
 .../org/apache/zeppelin/rest/SessionRestApi.java   |   2 +-
 .../apache/zeppelin/socket/ConnectionManager.java  |  24 +--
 .../org/apache/zeppelin/socket/NotebookServer.java | 198 ++++++++++-----------
 .../org/apache/zeppelin/socket/NotebookSocket.java |   6 +-
 .../zeppelin/socket/NotebookWebSocketCreator.java  |   2 +-
 .../utils/AnyOfRolesUserAuthorizationFilter.java   |   3 +-
 14 files changed, 144 insertions(+), 160 deletions(-)

diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/ZeppelinHubRealm.java b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/ZeppelinHubRealm.java
index e116dd6..2d27837 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/ZeppelinHubRealm.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/ZeppelinHubRealm.java
@@ -226,7 +226,7 @@ public class ZeppelinHubRealm extends AuthorizingRealm {
         new org.apache.zeppelin.user.AuthenticationInfo(username), userAndRoles);
     try {
       // This can failed to get NotebookServer instance with very rare cases
-      NotebookServer.getInstance().broadcastReloadedNoteList(null, context);
+      NotebookServer.getInstance().broadcastReloadedNoteList(context);
     } catch (IOException e) {
       LOG.error("Fail to broadcastReloadedNoteList", e);
     }
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AdminRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AdminRestApi.java
index 506ada9..804ec05 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AdminRestApi.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AdminRestApi.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
 public class AdminRestApi {
   private static final Logger logger = LoggerFactory.getLogger(AdminRestApi.class);
 
-  private AdminService adminService;
+  private final AdminService adminService;
 
   @Inject
   public AdminRestApi(AdminService adminService) {
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ClusterRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ClusterRestApi.java
index 9aca780..30b0998 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ClusterRestApi.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ClusterRestApi.java
@@ -84,8 +84,8 @@ public class ClusterRestApi {
   public Response getClusterNodes(){
     List<Map<String, Object>> nodes = new ArrayList<>();
 
-    Map<String, HashMap<String, Object>> clusterMeta = null;
-    Map<String, HashMap<String, Object>> intpMeta = null;
+    Map<String, HashMap<String, Object>> clusterMeta;
+    Map<String, HashMap<String, Object>> intpMeta;
     clusterMeta = clusterManagerServer.getClusterMeta(ClusterMetaType.SERVER_META, "");
     intpMeta = clusterManagerServer.getClusterMeta(ClusterMetaType.INTP_PROCESS_META, "");
 
@@ -196,8 +196,8 @@ public class ClusterRestApi {
                                  @PathParam("intpName") String intpName){
     List<Map<String, Object>> intpProcesses = new ArrayList<>();
 
-    Map<String, HashMap<String, Object>> intpMeta = null;
-    intpMeta = clusterManagerServer.getClusterMeta(ClusterMetaType.INTP_PROCESS_META, "");
+    Map<String, HashMap<String, Object>> intpMeta = clusterManagerServer.getClusterMeta(
+            ClusterMetaType.INTP_PROCESS_META, "");
 
     // Number of calculation processes
     for (Map.Entry<String, HashMap<String, Object>> intpMetaEntity : intpMeta.entrySet()) {
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ConfigurationsRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ConfigurationsRestApi.java
index c414947..0b8b864 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ConfigurationsRestApi.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ConfigurationsRestApi.java
@@ -37,7 +37,7 @@ import org.apache.zeppelin.service.AuthenticationService;
 @Singleton
 public class ConfigurationsRestApi extends AbstractRestApi {
 
-  private ConfigurationService configurationService;
+  private final ConfigurationService configurationService;
 
   @Inject
   public ConfigurationsRestApi(
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/CredentialRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/CredentialRestApi.java
index 3a1e05f..bc867a2 100755
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/CredentialRestApi.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/CredentialRestApi.java
@@ -46,9 +46,9 @@ import org.slf4j.LoggerFactory;
 @Singleton
 public class CredentialRestApi {
   private static final Logger LOGGER = LoggerFactory.getLogger(CredentialRestApi.class);
-  private Credentials credentials;
-  private AuthenticationService authenticationService;
-  private Gson gson = new Gson();
+  private final Credentials credentials;
+  private final AuthenticationService authenticationService;
+  private final Gson gson = new Gson();
 
   @Inject
   public CredentialRestApi(Credentials credentials, AuthenticationService authenticationService) {
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/HeliumRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/HeliumRestApi.java
index ecbabdd..d3106a9 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/HeliumRestApi.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/HeliumRestApi.java
@@ -59,9 +59,9 @@ import org.apache.zeppelin.server.JsonResponse;
 public class HeliumRestApi {
   Logger logger = LoggerFactory.getLogger(HeliumRestApi.class);
 
-  private Helium helium;
-  private Notebook notebook;
-  private Gson gson = new Gson();
+  private final Helium helium;
+  private final Notebook notebook;
+  private final Gson gson = new Gson();
 
   @Inject
   public HeliumRestApi(Helium helium, Notebook notebook) {
@@ -121,7 +121,7 @@ public class HeliumRestApi {
   @Path("suggest/{noteId}/{paragraphId}")
   public Response suggest(@PathParam("noteId") String noteId,
           @PathParam("paragraphId") String paragraphId) {
-    Note note = null;
+    Note note;
     try {
       note = notebook.getNote(noteId);
     } catch (IOException e) {
@@ -150,7 +150,7 @@ public class HeliumRestApi {
   @Path("load/{noteId}/{paragraphId}")
   public Response load(@PathParam("noteId") String noteId,
           @PathParam("paragraphId") String paragraphId, String heliumPackage) {
-    Note note = null;
+    Note note;
     try {
       note = notebook.getNote(noteId);
     } catch (IOException e) {
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRepoRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRepoRestApi.java
index 06c6459..de1fd1b 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRepoRestApi.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRepoRestApi.java
@@ -58,9 +58,9 @@ import org.apache.zeppelin.user.AuthenticationInfo;
 public class NotebookRepoRestApi {
   private static final Logger LOG = LoggerFactory.getLogger(NotebookRepoRestApi.class);
 
-  private NotebookRepoSync noteRepos;
-  private NotebookServer notebookWsServer;
-  private AuthenticationService authenticationService;
+  private final NotebookRepoSync noteRepos;
+  private final NotebookServer notebookWsServer;
+  private final AuthenticationService authenticationService;
 
   @Inject
   public NotebookRepoRestApi(NotebookRepoSync noteRepos, NotebookServer notebookWsServer,
@@ -92,7 +92,7 @@ public class NotebookRepoRestApi {
     AuthenticationInfo subject = new AuthenticationInfo(authenticationService.getPrincipal());
     LOG.info("Reloading notebook repository for user {}", subject.getUser());
     try {
-      notebookWsServer.broadcastReloadedNoteList(null, getServiceContext());
+      notebookWsServer.broadcastReloadedNoteList(getServiceContext());
     } catch (IOException e) {
       LOG.error("Fail to refresh repo", e);
     }
@@ -140,7 +140,7 @@ public class NotebookRepoRestApi {
     if (!updatedSettings.isEmpty()) {
       LOG.info("Broadcasting note list to user {}", subject.getUser());
       try {
-        notebookWsServer.broadcastReloadedNoteList(null, getServiceContext());
+        notebookWsServer.broadcastReloadedNoteList(getServiceContext());
       } catch (IOException e) {
         LOG.error("Fail to refresh repo.", e);
       }
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
index 62bb374..45e6299 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
@@ -23,7 +23,6 @@ import com.google.gson.Gson;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -37,11 +36,9 @@ import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
-import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Response.Status;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.apache.zeppelin.annotation.ZeppelinApi;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
 import org.apache.zeppelin.interpreter.InterpreterResult;
@@ -87,15 +84,15 @@ public class NotebookRestApi extends AbstractRestApi {
   private static final Logger LOGGER = LoggerFactory.getLogger(NotebookRestApi.class);
   private static final Gson GSON = new Gson();
 
-  private ZeppelinConfiguration zConf;
-  private Notebook notebook;
-  private NotebookServer notebookServer;
-  private SearchService noteSearchService;
-  private AuthorizationService authorizationService;
-  private NotebookService notebookService;
-  private JobManagerService jobManagerService;
-  private AuthenticationService authenticationService;
-  private SchedulerService schedulerService;
+  private final ZeppelinConfiguration zConf;
+  private final Notebook notebook;
+  private final NotebookServer notebookServer;
+  private final SearchService noteSearchService;
+  private final AuthorizationService authorizationService;
+  private final NotebookService notebookService;
+  private final JobManagerService jobManagerService;
+  private final AuthenticationService authenticationService;
+  private final SchedulerService schedulerService;
 
   @Inject
   public NotebookRestApi(
@@ -126,7 +123,7 @@ public class NotebookRestApi extends AbstractRestApi {
   @GET
   @Path("{noteId}/permissions")
   @ZeppelinApi
-  public Response getNotePermissions(@PathParam("noteId") String noteId) throws IOException {
+  public Response getNotePermissions(@PathParam("noteId") String noteId) {
     checkIfUserIsAnon(getBlockNotAuthenticatedUserErrorMsg());
     checkIfUserCanRead(noteId,
             "Insufficient privileges you cannot get the list of permissions for this note");
@@ -319,7 +316,7 @@ public class NotebookRestApi extends AbstractRestApi {
   @ZeppelinApi
   public Response getNoteList() throws IOException {
     List<NoteInfo> notesInfo = notebookService.listNotesInfo(false, getServiceContext(),
-            new RestServiceCallback<List<NoteInfo>>());
+            new RestServiceCallback<>());
     return new JsonResponse<>(Status.OK, "", notesInfo).build();
   }
 
@@ -337,7 +334,7 @@ public class NotebookRestApi extends AbstractRestApi {
   public Response getNote(@PathParam("noteId") String noteId,
                           @QueryParam("reload") boolean reload) throws IOException {
     Note note =
-            notebookService.getNote(noteId, reload, getServiceContext(), new RestServiceCallback());
+            notebookService.getNote(noteId, reload, getServiceContext(), new RestServiceCallback<>());
     return new JsonResponse<>(Status.OK, "", note).build();
   }
 
@@ -370,7 +367,7 @@ public class NotebookRestApi extends AbstractRestApi {
   @ZeppelinApi
   public Response importNote(@QueryParam("notePath") String notePath, String noteJson) throws IOException {
     Note note = notebookService.importNote(notePath, noteJson, getServiceContext(),
-            new RestServiceCallback());
+            new RestServiceCallback<>());
     return new JsonResponse<>(Status.OK, "", note.getId()).build();
   }
 
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SessionRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SessionRestApi.java
index e668d42..9a9a342 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SessionRestApi.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SessionRestApi.java
@@ -50,7 +50,7 @@ public class SessionRestApi {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(SessionRestApi.class);
 
-  private SessionManagerService sessionManagerService;
+  private final SessionManagerService sessionManagerService;
 
   @Inject
   public SessionRestApi(Notebook notebook, InterpreterSettingManager interpreterSettingManager) {
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/ConnectionManager.java b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/ConnectionManager.java
index e7f99aa..dff823f 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/ConnectionManager.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/ConnectionManager.java
@@ -51,7 +51,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Queue;
 import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentLinkedQueue;
 
 /**
@@ -60,7 +59,7 @@ import java.util.concurrent.ConcurrentLinkedQueue;
 public class ConnectionManager {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(ConnectionManager.class);
-  private static Gson gson = new GsonBuilder()
+  private static final Gson gson = new GsonBuilder()
       .setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")
       .registerTypeAdapter(Date.class, new NotebookImportDeserializer())
       .setPrettyPrinting()
@@ -80,13 +79,13 @@ public class ConnectionManager {
    */
   final Queue<NotebookSocket> watcherSockets = Queues.newConcurrentLinkedQueue();
 
-  private HashSet<String> collaborativeModeList = new HashSet<>();
-  private Boolean collaborativeModeEnable = ZeppelinConfiguration
+  private final HashSet<String> collaborativeModeList = new HashSet<>();
+  private final Boolean collaborativeModeEnable = ZeppelinConfiguration
       .create()
       .isZeppelinNotebookCollaborativeModeEnable();
 
 
-  private AuthorizationService authorizationService;
+  private final AuthorizationService authorizationService;
 
   @Inject
   public ConnectionManager(AuthorizationService authorizationService) {
@@ -106,11 +105,7 @@ public class ConnectionManager {
     synchronized (noteSocketMap) {
       // make sure a socket relates only an single note.
       removeConnectionFromAllNote(socket);
-      List<NotebookSocket> socketList = noteSocketMap.get(noteId);
-      if (socketList == null) {
-        socketList = new LinkedList<>();
-        noteSocketMap.put(noteId, socketList);
-      }
+      List<NotebookSocket> socketList = noteSocketMap.computeIfAbsent(noteId, k -> new LinkedList<>());
       if (!socketList.contains(socket)) {
         socketList.add(socket);
       }
@@ -361,7 +356,7 @@ public class ConnectionManager {
   }
 
   public interface UserIterator {
-    public void handleUser(String user, Set<String> userAndRoles);
+    void handleUser(String user, Set<String> userAndRoles);
   }
 
   public void forAllUsers(UserIterator iterator) {
@@ -396,14 +391,13 @@ public class ConnectionManager {
     broadcastNoteForms(note);
 
     if (note.isPersonalizedMode()) {
-      broadcastParagraphs(p.getUserParagraphMap(), p);
+      broadcastParagraphs(p.getUserParagraphMap());
     } else {
       broadcast(note.getId(), new Message(Message.OP.PARAGRAPH).put("paragraph", p));
     }
   }
 
-  public void broadcastParagraphs(Map<String, Paragraph> userParagraphMap,
-                                  Paragraph defaultParagraph) {
+  public void broadcastParagraphs(Map<String, Paragraph> userParagraphMap) {
     if (null != userParagraphMap) {
       for (String user : userParagraphMap.keySet()) {
         multicastToUser(user,
@@ -448,7 +442,7 @@ public class ConnectionManager {
     LOGGER.info("Going to add {} to watcher socket", conn);
     // add the connection to the watcher.
     if (watcherSockets.contains(conn)) {
-      LOGGER.info("connection alrerady present in the watcher");
+      LOGGER.info("connection already present in the watcher");
       return;
     }
     watcherSockets.add(conn);
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
index 0fd52f7..34b8244 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
@@ -81,7 +81,6 @@ import org.apache.zeppelin.service.JobManagerService;
 import org.apache.zeppelin.service.NotebookService;
 import org.apache.zeppelin.service.ServiceContext;
 import org.apache.zeppelin.service.SimpleServiceCallback;
-import org.apache.zeppelin.socket.ConnectionManager.UserIterator;
 import org.apache.zeppelin.ticket.TicketContainer;
 import org.apache.zeppelin.types.InterpreterSettingsList;
 import org.apache.zeppelin.user.AuthenticationInfo;
@@ -118,7 +117,7 @@ public class NotebookServer extends WebSocketServlet
    */
   protected enum JobManagerServiceType {
     JOB_MANAGER_PAGE("JOB_MANAGER_PAGE");
-    private String serviceTypeKey;
+    private final String serviceTypeKey;
 
     JobManagerServiceType(String serviceType) {
       this.serviceTypeKey = serviceType;
@@ -130,19 +129,19 @@ public class NotebookServer extends WebSocketServlet
   }
 
 
-  private Boolean collaborativeModeEnable = ZeppelinConfiguration
+  private final Boolean collaborativeModeEnable = ZeppelinConfiguration
       .create()
       .isZeppelinNotebookCollaborativeModeEnable();
   private static final Logger LOG = LoggerFactory.getLogger(NotebookServer.class);
-  private static Gson gson = new GsonBuilder()
+  private static final Gson gson = new GsonBuilder()
       .setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")
       .registerTypeAdapter(Date.class, new NotebookImportDeserializer())
       .setPrettyPrinting()
       .registerTypeAdapterFactory(Input.TypeAdapterFactory).create();
-  private static AtomicReference<NotebookServer> self = new AtomicReference<>();
+  private static final AtomicReference<NotebookServer> self = new AtomicReference<>();
 
-  private ExecutorService executorService = Executors.newFixedThreadPool(10);
-  private boolean sendParagraphStatusToFrontend = ZeppelinConfiguration.create().getBoolean(
+  private final ExecutorService executorService = Executors.newFixedThreadPool(10);
+  private final boolean sendParagraphStatusToFrontend = ZeppelinConfiguration.create().getBoolean(
           ZeppelinConfiguration.ConfVars.ZEPPELIN_WEBSOCKET_PARAGRAPH_STATUS_PROGRESS);
 
   private Provider<Notebook> notebookProvider;
@@ -251,27 +250,27 @@ public class NotebookServer extends WebSocketServlet
   @Override
   public void onMessage(NotebookSocket conn, String msg) {
     try {
-      Message messagereceived = deserializeMessage(msg);
-      if (messagereceived.op != OP.PING) {
-        LOG.debug("RECEIVE: " + messagereceived.op +
-            ", RECEIVE PRINCIPAL: " + messagereceived.principal +
-            ", RECEIVE TICKET: " + messagereceived.ticket +
-            ", RECEIVE ROLES: " + messagereceived.roles +
-            ", RECEIVE DATA: " + messagereceived.data);
+      Message receivedMessage = deserializeMessage(msg);
+      if (receivedMessage.op != OP.PING) {
+        LOG.debug("RECEIVE: " + receivedMessage.op +
+            ", RECEIVE PRINCIPAL: " + receivedMessage.principal +
+            ", RECEIVE TICKET: " + receivedMessage.ticket +
+            ", RECEIVE ROLES: " + receivedMessage.roles +
+            ", RECEIVE DATA: " + receivedMessage.data);
       }
       if (LOG.isTraceEnabled()) {
-        LOG.trace("RECEIVE MSG = " + messagereceived);
+        LOG.trace("RECEIVE MSG = " + receivedMessage);
       }
 
-      TicketContainer.Entry ticketEntry = TicketContainer.instance.getTicketEntry(messagereceived.principal);
+      TicketContainer.Entry ticketEntry = TicketContainer.instance.getTicketEntry(receivedMessage.principal);
       if (ticketEntry != null &&
-              (messagereceived.ticket == null || !ticketEntry.getTicket().equals(messagereceived.ticket))) {
+              (!ticketEntry.getTicket().equals(receivedMessage.ticket))) {
         /* not to pollute logs, log instead of exception */
-        if (StringUtils.isEmpty(messagereceived.ticket)) {
-          LOG.debug("{} message: invalid ticket {} != {}", messagereceived.op,
-                  messagereceived.ticket, ticketEntry.getTicket());
+        if (StringUtils.isEmpty(receivedMessage.ticket)) {
+          LOG.debug("{} message: invalid ticket {} != {}", receivedMessage.op,
+                  receivedMessage.ticket, ticketEntry.getTicket());
         } else {
-          if (!messagereceived.op.equals(OP.PING)) {
+          if (!receivedMessage.op.equals(OP.PING)) {
             conn.send(serializeMessage(new Message(OP.SESSION_LOGOUT).put("info",
                     "Your ticket is invalid possibly due to server restart. "
                             + "Please login again.")));
@@ -282,183 +281,183 @@ public class NotebookServer extends WebSocketServlet
 
       ZeppelinConfiguration conf = ZeppelinConfiguration.create();
       boolean allowAnonymous = conf.isAnonymousAllowed();
-      if (!allowAnonymous && messagereceived.principal.equals("anonymous")) {
+      if (!allowAnonymous && receivedMessage.principal.equals("anonymous")) {
         LOG.warn("Anonymous access not allowed.");
         return;
       }
 
-      if (Message.isDisabledForRunningNotes(messagereceived.op)) {
-        Note note = getNotebook().getNote((String) messagereceived.get("noteId"));
+      if (Message.isDisabledForRunningNotes(receivedMessage.op)) {
+        Note note = getNotebook().getNote((String) receivedMessage.get("noteId"));
         if (note != null && note.isRunning()) {
           throw new Exception("Note is now running sequentially. Can not be performed: " +
-                  messagereceived.op);
+                  receivedMessage.op);
         }
       }
 
       if (StringUtils.isEmpty(conn.getUser())) {
-        getConnectionManager().addUserConnection(messagereceived.principal, conn);
+        getConnectionManager().addUserConnection(receivedMessage.principal, conn);
       }
 
       ServiceContext context = getServiceContext(ticketEntry);
       // Lets be elegant here
-      switch (messagereceived.op) {
+      switch (receivedMessage.op) {
         case LIST_NOTES:
           listNotesInfo(conn, context);
           break;
         case RELOAD_NOTES_FROM_REPO:
-          broadcastReloadedNoteList(conn, context);
+          broadcastReloadedNoteList(context);
           break;
         case GET_HOME_NOTE:
           getHomeNote(conn, context);
           break;
         case GET_NOTE:
-          getNote(conn, context, messagereceived);
+          getNote(conn, context, receivedMessage);
           break;
         case RELOAD_NOTE:
-          reloadNote(conn, context, messagereceived);
+          reloadNote(conn, context, receivedMessage);
           break;
         case NEW_NOTE:
-          createNote(conn, context, messagereceived);
+          createNote(conn, context, receivedMessage);
           break;
         case DEL_NOTE:
-          deleteNote(conn, context, messagereceived);
+          deleteNote(conn, context, receivedMessage);
           break;
         case REMOVE_FOLDER:
-          removeFolder(conn, context, messagereceived);
+          removeFolder(conn, context, receivedMessage);
           break;
         case MOVE_NOTE_TO_TRASH:
-          moveNoteToTrash(conn, context, messagereceived);
+          moveNoteToTrash(conn, context, receivedMessage);
           break;
         case MOVE_FOLDER_TO_TRASH:
-          moveFolderToTrash(conn, context, messagereceived);
+          moveFolderToTrash(conn, context, receivedMessage);
           break;
         case EMPTY_TRASH:
           emptyTrash(conn, context);
           break;
         case RESTORE_FOLDER:
-          restoreFolder(conn, context, messagereceived);
+          restoreFolder(conn, context, receivedMessage);
           break;
         case RESTORE_NOTE:
-          restoreNote(conn, context, messagereceived);
+          restoreNote(conn, context, receivedMessage);
           break;
         case RESTORE_ALL:
-          restoreAll(conn, context, messagereceived);
+          restoreAll(conn, context, receivedMessage);
           break;
         case CLONE_NOTE:
-          cloneNote(conn, context, messagereceived);
+          cloneNote(conn, context, receivedMessage);
           break;
         case IMPORT_NOTE:
-          importNote(conn, context,  messagereceived);
+          importNote(conn, context,  receivedMessage);
           break;
         case CONVERT_NOTE_NBFORMAT:
-          convertNote(conn, messagereceived);
+          convertNote(conn, receivedMessage);
           break;
         case COMMIT_PARAGRAPH:
-          updateParagraph(conn, context, messagereceived);
+          updateParagraph(conn, context, receivedMessage);
           break;
         case RUN_PARAGRAPH:
-          runParagraph(conn, context, messagereceived);
+          runParagraph(conn, context, receivedMessage);
           break;
         case PARAGRAPH_EXECUTED_BY_SPELL:
-          broadcastSpellExecution(conn, context, messagereceived);
+          broadcastSpellExecution(conn, context, receivedMessage);
           break;
         case RUN_ALL_PARAGRAPHS:
-          runAllParagraphs(conn, context, messagereceived);
+          runAllParagraphs(conn, context, receivedMessage);
           break;
         case CANCEL_PARAGRAPH:
-          cancelParagraph(conn, context, messagereceived);
+          cancelParagraph(conn, context, receivedMessage);
           break;
         case MOVE_PARAGRAPH:
-          moveParagraph(conn, context, messagereceived);
+          moveParagraph(conn, context, receivedMessage);
           break;
         case INSERT_PARAGRAPH:
-          insertParagraph(conn, context, messagereceived);
+          insertParagraph(conn, context, receivedMessage);
           break;
         case COPY_PARAGRAPH:
-          copyParagraph(conn, context, messagereceived);
+          copyParagraph(conn, context, receivedMessage);
           break;
         case PARAGRAPH_REMOVE:
-          removeParagraph(conn, context, messagereceived);
+          removeParagraph(conn, context, receivedMessage);
           break;
         case PARAGRAPH_CLEAR_OUTPUT:
-          clearParagraphOutput(conn, context, messagereceived);
+          clearParagraphOutput(conn, context, receivedMessage);
           break;
         case PARAGRAPH_CLEAR_ALL_OUTPUT:
-          clearAllParagraphOutput(conn, context, messagereceived);
+          clearAllParagraphOutput(conn, context, receivedMessage);
           break;
         case NOTE_UPDATE:
-          updateNote(conn, context, messagereceived);
+          updateNote(conn, context, receivedMessage);
           break;
         case NOTE_RENAME:
-          renameNote(conn, context, messagereceived);
+          renameNote(conn, context, receivedMessage);
           break;
         case FOLDER_RENAME:
-          renameFolder(conn, context,messagereceived);
+          renameFolder(conn, context,receivedMessage);
           break;
         case UPDATE_PERSONALIZED_MODE:
-          updatePersonalizedMode(conn, context, messagereceived);
+          updatePersonalizedMode(conn, context, receivedMessage);
           break;
         case COMPLETION:
-          completion(conn, context, messagereceived);
+          completion(conn, context, receivedMessage);
           break;
         case PING:
           break; //do nothing
         case ANGULAR_OBJECT_UPDATED:
-          angularObjectUpdated(conn, context, messagereceived);
+          angularObjectUpdated(conn, context, receivedMessage);
           break;
         case ANGULAR_OBJECT_CLIENT_BIND:
-          angularObjectClientBind(conn, messagereceived);
+          angularObjectClientBind(conn, receivedMessage);
           break;
         case ANGULAR_OBJECT_CLIENT_UNBIND:
-          angularObjectClientUnbind(conn, messagereceived);
+          angularObjectClientUnbind(conn, receivedMessage);
           break;
         case LIST_CONFIGURATIONS:
-          sendAllConfigurations(conn, context, messagereceived);
+          sendAllConfigurations(conn, context, receivedMessage);
           break;
         case CHECKPOINT_NOTE:
-          checkpointNote(conn, context, messagereceived);
+          checkpointNote(conn, context, receivedMessage);
           break;
         case LIST_REVISION_HISTORY:
-          listRevisionHistory(conn, context, messagereceived);
+          listRevisionHistory(conn, context, receivedMessage);
           break;
         case SET_NOTE_REVISION:
-          setNoteRevision(conn, context, messagereceived);
+          setNoteRevision(conn, context, receivedMessage);
           break;
         case NOTE_REVISION:
-          getNoteByRevision(conn, context, messagereceived);
+          getNoteByRevision(conn, context, receivedMessage);
           break;
         case NOTE_REVISION_FOR_COMPARE:
-          getNoteByRevisionForCompare(conn, context, messagereceived);
+          getNoteByRevisionForCompare(conn, context, receivedMessage);
           break;
         case LIST_NOTE_JOBS:
-          unicastNoteJobInfo(conn, context, messagereceived);
+          unicastNoteJobInfo(conn, context, receivedMessage);
           break;
         case UNSUBSCRIBE_UPDATE_NOTE_JOBS:
           unsubscribeNoteJobInfo(conn);
           break;
         case GET_INTERPRETER_BINDINGS:
-          getInterpreterBindings(conn, context, messagereceived);
+          getInterpreterBindings(conn, context, receivedMessage);
           break;
         case SAVE_INTERPRETER_BINDINGS:
-          saveInterpreterBindings(conn, context, messagereceived);
+          saveInterpreterBindings(conn, context, receivedMessage);
           break;
         case EDITOR_SETTING:
-          getEditorSetting(conn, context, messagereceived);
+          getEditorSetting(conn, context, receivedMessage);
           break;
         case GET_INTERPRETER_SETTINGS:
-          getInterpreterSettings(conn, context, messagereceived);
+          getInterpreterSettings(conn, context, receivedMessage);
           break;
         case WATCHER:
           getConnectionManager().switchConnectionToWatcher(conn);
           break;
         case SAVE_NOTE_FORMS:
-          saveNoteForms(conn, context, messagereceived);
+          saveNoteForms(conn, context, receivedMessage);
           break;
         case REMOVE_NOTE_FORMS:
-          removeNoteForms(conn, context, messagereceived);
+          removeNoteForms(conn, context, receivedMessage);
           break;
         case PATCH_PARAGRAPH:
-          patchParagraph(conn, context, messagereceived);
+          patchParagraph(conn, context, receivedMessage);
           break;
         default:
           break;
@@ -613,7 +612,6 @@ public class NotebookServer extends WebSocketServlet
   }
 
   private void inlineBroadcastParagraphs(Map<String, Paragraph> userParagraphMap,
-                                         Paragraph defaultParagraph,
                                          String msgId) {
     if (null != userParagraphMap) {
       for (String user : userParagraphMap.keySet()) {
@@ -626,7 +624,7 @@ public class NotebookServer extends WebSocketServlet
   private void broadcastParagraphs(Map<String, Paragraph> userParagraphMap,
                                    Paragraph defaultParagraph,
                                    String msgId) {
-    inlineBroadcastParagraphs(userParagraphMap, defaultParagraph, msgId);
+    inlineBroadcastParagraphs(userParagraphMap, msgId);
     broadcastClusterEvent(ClusterEvent.BROADCAST_PARAGRAPHS, msgId, userParagraphMap, defaultParagraph);
   }
 
@@ -643,27 +641,24 @@ public class NotebookServer extends WebSocketServlet
     broadcastClusterEvent(ClusterEvent.BROADCAST_NEW_PARAGRAPH, MSG_ID_NOT_DEFINED, note, para);
   }
 
-  public void inlineBroadcastNoteList(AuthenticationInfo subject, Set<String> userAndRoles) {
+  private void inlineBroadcastNoteList() {
     broadcastNoteListUpdate();
   }
 
   public void broadcastNoteListUpdate() {
     AuthorizationService authorizationService = getNotebookAuthorizationService();
 
-    getConnectionManager().forAllUsers(new UserIterator() {
-      @Override
-      public void handleUser(String user, Set<String> userAndRoles) {
-        List<NoteInfo> notesInfo = getNotebook().getNotesInfo(
-            noteId -> authorizationService.isReader(noteId, userAndRoles));
+    getConnectionManager().forAllUsers((user, userAndRoles) -> {
+      List<NoteInfo> notesInfo = getNotebook().getNotesInfo(
+          noteId -> authorizationService.isReader(noteId, userAndRoles));
 
-        getConnectionManager().multicastToUser(user,
-          new Message(OP.NOTES_INFO).put("notes", notesInfo));
-      }
+      getConnectionManager().multicastToUser(user,
+        new Message(OP.NOTES_INFO).put("notes", notesInfo));
     });
   }
 
   public void broadcastNoteList(AuthenticationInfo subject, Set<String> userAndRoles) {
-    inlineBroadcastNoteList(subject, userAndRoles);
+    inlineBroadcastNoteList();
     broadcastClusterEvent(ClusterEvent.BROADCAST_NOTE_LIST, MSG_ID_NOT_DEFINED, subject, userAndRoles);
   }
 
@@ -678,7 +673,7 @@ public class NotebookServer extends WebSocketServlet
     clusterMessage.setMsgId(msgId);
 
     for(Object object : objects) {
-      String json = "";
+      String json;
       if (object instanceof AuthenticationInfo) {
         json = ((AuthenticationInfo) object).toJson();
         clusterMessage.put("AuthenticationInfo", json);
@@ -751,7 +746,7 @@ public class NotebookServer extends WebSocketServlet
       case BROADCAST_NOTE_LIST:
         try {
           getNotebook().reloadAllNotes(authenticationInfo);
-          inlineBroadcastNoteList(authenticationInfo, userAndRoles);
+          inlineBroadcastNoteList();
         } catch (IOException e) {
           LOG.error(e.getMessage(), e);
         }
@@ -760,7 +755,7 @@ public class NotebookServer extends WebSocketServlet
         inlineBroadcastParagraph(note, paragraph, message.getMsgId());
         break;
       case BROADCAST_PARAGRAPHS:
-        inlineBroadcastParagraphs(userParagraphMap, paragraph, message.getMsgId());
+        inlineBroadcastParagraphs(userParagraphMap, message.getMsgId());
         break;
       case BROADCAST_NEW_PARAGRAPH:
         inlineBroadcastNewParagraph(note, paragraph);
@@ -783,7 +778,7 @@ public class NotebookServer extends WebSocketServlet
         });
   }
 
-  public void broadcastReloadedNoteList(NotebookSocket conn, ServiceContext context)
+  public void broadcastReloadedNoteList(ServiceContext context)
       throws IOException {
     getNotebook().reloadAllNotes(context.getAutheInfo());
     broadcastNoteListUpdate();
@@ -930,7 +925,7 @@ public class NotebookServer extends WebSocketServlet
                                       Message fromMessage) throws IOException {
     String noteId = (String) fromMessage.get("id");
     String personalized = (String) fromMessage.get("personalized");
-    boolean isPersonalized = personalized.equals("true") ? true : false;
+    boolean isPersonalized = personalized.equals("true");
 
     getNotebookService().updatePersonalizedMode(noteId, isPersonalized, context,
             new WebSocketServiceCallback<Note>(conn) {
@@ -1925,7 +1920,7 @@ public class NotebookServer extends WebSocketServlet
   }
 
   @Override
-  public void onParagraphUpdate(Paragraph p) throws IOException {
+  public void onParagraphUpdate(Paragraph p) {
 
   }
 
@@ -1940,7 +1935,7 @@ public class NotebookServer extends WebSocketServlet
   }
 
   @Override
-  public void onNoteUpdate(Note note, AuthenticationInfo subject) throws IOException {
+  public void onNoteUpdate(Note note, AuthenticationInfo subject) {
 
   }
 
@@ -2014,7 +2009,7 @@ public class NotebookServer extends WebSocketServlet
     try {
       broadcastUpdateNoteJobInfo(p.getNote(), System.currentTimeMillis() - 5000);
     } catch (IOException e) {
-      LOG.error("can not broadcast for job manager {}", e);
+      LOG.error("can not broadcast for job manager", e);
     }
   }
 
@@ -2161,7 +2156,7 @@ public class NotebookServer extends WebSocketServlet
           }
 
           @Override
-          public void onFailure(Exception ex, ServiceContext context) throws IOException {
+          public void onFailure(Exception ex, ServiceContext context) {
             LOG.warn(ex.getMessage());
           }
         });
@@ -2228,17 +2223,16 @@ public class NotebookServer extends WebSocketServlet
     AuthorizationService notebookAuthorization = getNotebookAuthorizationService();
     boolean isAllowed = notebookAuthorization.isReader(noteId, userAndRoles);
     Set<String> allowed = notebookAuthorization.getReaders(noteId);
-    if (false == isAllowed) {
+    if (!isAllowed) {
       String errorMsg = "Insufficient privileges to READER note. " +
           "Allowed users or roles: " + allowed;
       throw new ServiceException(errorMsg);
     }
 
     // Convert Paragraph to ParagraphInfo
-    List<ParagraphInfo> paragraphInfos = new ArrayList();
+    List<ParagraphInfo> paragraphInfos = new ArrayList<>();
     List<Paragraph> paragraphs = note.getParagraphs();
-    for (Iterator<Paragraph> iter = paragraphs.iterator(); iter.hasNext();) {
-      Paragraph paragraph = iter.next();
+    for (Paragraph paragraph : paragraphs) {
       ParagraphInfo paraInfo = new ParagraphInfo();
       paraInfo.setNoteId(noteId);
       paraInfo.setParagraphId(paragraph.getId());
@@ -2266,7 +2260,7 @@ public class NotebookServer extends WebSocketServlet
     getNotebookService().saveNoteForms(noteId, noteParams, context,
         new WebSocketServiceCallback<Note>(conn) {
           @Override
-          public void onSuccess(Note note, ServiceContext context) throws IOException {
+          public void onSuccess(Note note, ServiceContext context) {
             broadcastNoteForms(note);
           }
         });
@@ -2281,7 +2275,7 @@ public class NotebookServer extends WebSocketServlet
     getNotebookService().removeNoteForms(noteId, formName, context,
         new WebSocketServiceCallback<Note>(conn) {
           @Override
-          public void onSuccess(Note note, ServiceContext context) throws IOException {
+          public void onSuccess(Note note, ServiceContext context) {
             broadcastNoteForms(note);
           }
         });
@@ -2310,7 +2304,7 @@ public class NotebookServer extends WebSocketServlet
 
   public class WebSocketServiceCallback<T> extends SimpleServiceCallback<T> {
 
-    private NotebookSocket conn;
+    private final NotebookSocket conn;
 
     WebSocketServiceCallback(NotebookSocket conn) {
       this.conn = conn;
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookSocket.java b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookSocket.java
index 613a7c9..2c0af6d 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookSocket.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookSocket.java
@@ -29,9 +29,9 @@ import javax.servlet.http.HttpServletRequest;
  */
 public class NotebookSocket extends WebSocketAdapter {
   private Session connection;
-  private NotebookSocketListener listener;
-  private HttpServletRequest request;
-  private String protocol;
+  private final NotebookSocketListener listener;
+  private final HttpServletRequest request;
+  private final String protocol;
   private String user;
 
   public NotebookSocket(HttpServletRequest req, String protocol,
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookWebSocketCreator.java b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookWebSocketCreator.java
index 6a9c8a8..3c99ede 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookWebSocketCreator.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookWebSocketCreator.java
@@ -30,7 +30,7 @@ import static org.apache.zeppelin.conf.ZeppelinConfiguration.ConfVars.ZEPPELIN_A
 public class NotebookWebSocketCreator implements WebSocketCreator {
 
   private static final Logger LOG = LoggerFactory.getLogger(NotebookWebSocketCreator.class);
-  private NotebookServer notebookServer;
+  private final NotebookServer notebookServer;
 
   public NotebookWebSocketCreator(NotebookServer notebookServer) {
     this.notebookServer = notebookServer;
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/utils/AnyOfRolesUserAuthorizationFilter.java b/zeppelin-server/src/main/java/org/apache/zeppelin/utils/AnyOfRolesUserAuthorizationFilter.java
index e345dd6..7234ffa 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/utils/AnyOfRolesUserAuthorizationFilter.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/utils/AnyOfRolesUserAuthorizationFilter.java
@@ -16,7 +16,6 @@
  */
 package org.apache.zeppelin.utils;
 
-import java.io.IOException;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 import org.apache.shiro.subject.Subject;
@@ -31,7 +30,7 @@ import org.apache.shiro.web.filter.authz.RolesAuthorizationFilter;
 public class AnyOfRolesUserAuthorizationFilter extends RolesAuthorizationFilter {
   @Override
   public boolean isAccessAllowed(ServletRequest request, ServletResponse response,
-          Object mappedValue) throws IOException {
+          Object mappedValue) {
     final Subject subject = getSubject(request, response);
     final String[] rolesArray = (String[]) mappedValue;