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;