http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/PrincipalMapper.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/PrincipalMapper.java b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/PrincipalMapper.java index fec276c..7e037c0 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/PrincipalMapper.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/PrincipalMapper.java @@ -19,26 +19,27 @@ package org.apache.zeppelin.realm.jwt; public interface PrincipalMapper { /** - * Load the internal principal mapping table from the provided - * string value which conforms to the following semicolon delimited format: - * actual[,another-actual]=mapped;... + * Load the internal principal mapping table from the provided string value which conforms to the + * following semicolon delimited format: actual[,another-actual]=mapped;... + * * @param principalMapping */ void loadMappingTable(String principalMapping, String groupMapping) - throws PrincipalMappingException; + throws PrincipalMappingException; /** - * Acquire a mapped principal name from the mapping table - * as appropriate. Otherwise, the provided principalName - * will be used. + * Acquire a mapped principal name from the mapping table as appropriate. Otherwise, the provided + * principalName will be used. + * * @param principalName * @return principal name to be used in the assertion */ String mapUserPrincipal(String principalName); /** - * Acquire array of group principal names from the mapping table - * as appropriate. Otherwise, return null. + * Acquire array of group principal names from the mapping table as appropriate. Otherwise, return + * null. + * * @param principalName * @return group principal names to be used in the assertion */
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/PrincipalMappingException.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/PrincipalMappingException.java b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/PrincipalMappingException.java index 50e5036..21d5fab 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/PrincipalMappingException.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/PrincipalMappingException.java @@ -1,25 +1,20 @@ /** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at + * Licensed to the Apache Software Foundation (ASF) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. You may obtain a + * copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * <p>http://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and + * <p>Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.zeppelin.realm.jwt; -/*** - * {@link System}. - */ +/** * {@link System}. */ public class PrincipalMappingException extends Exception { public PrincipalMappingException(String message) { super(message); http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/SimplePrincipalMapper.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/SimplePrincipalMapper.java b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/SimplePrincipalMapper.java index b194810..c1fbfb4 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/SimplePrincipalMapper.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/SimplePrincipalMapper.java @@ -1,18 +1,15 @@ /** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at + * Licensed to the Apache Software Foundation (ASF) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. You may obtain a + * copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * <p>http://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and + * <p>Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.zeppelin.realm.jwt; @@ -21,17 +18,13 @@ import java.util.Arrays; import java.util.HashMap; import java.util.StringTokenizer; - -/*** - * - */ +/** * */ public class SimplePrincipalMapper implements PrincipalMapper { public HashMap<String, String[]> principalMappings = null; public HashMap<String, String[]> groupMappings = null; - public SimplePrincipalMapper() { - } + public SimplePrincipalMapper() {} /* (non-Javadoc) * @see org.apache.hadoop.gateway.filter.PrincipalMapper#loadMappingTable(java.lang.String) @@ -45,8 +38,7 @@ public class SimplePrincipalMapper implements PrincipalMapper { } } - private HashMap<String, String[]> parseMapping(String mappings) - throws PrincipalMappingException { + private HashMap<String, String[]> parseMapping(String mappings) throws PrincipalMappingException { if (mappings == null) { return null; } @@ -71,8 +63,10 @@ public class SimplePrincipalMapper implements PrincipalMapper { // no principal mapping will occur table.clear(); throw new PrincipalMappingException( - "Unable to load mappings from provided string: " + mappings - + " - no principal mapping will be provided.", e); + "Unable to load mappings from provided string: " + + mappings + + " - no principal mapping will be provided.", + e); } } http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AbstractRestApi.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AbstractRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AbstractRestApi.java index f4406a2..aeede66 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AbstractRestApi.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AbstractRestApi.java @@ -18,15 +18,14 @@ package org.apache.zeppelin.rest; import com.google.common.collect.Sets; +import java.io.IOException; +import java.util.Set; +import javax.ws.rs.WebApplicationException; import org.apache.zeppelin.service.ServiceContext; import org.apache.zeppelin.service.SimpleServiceCallback; import org.apache.zeppelin.user.AuthenticationInfo; import org.apache.zeppelin.utils.SecurityUtils; -import javax.ws.rs.WebApplicationException; -import java.io.IOException; -import java.util.Set; - public class AbstractRestApi { protected ServiceContext getServiceContext() { http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/HeliumRestApi.java ---------------------------------------------------------------------- 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 1c04500..4e5f180 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 @@ -19,18 +19,11 @@ package org.apache.zeppelin.rest; import com.google.gson.Gson; import com.google.gson.JsonParseException; import com.google.gson.reflect.TypeToken; - -import javax.inject.Inject; -import org.apache.commons.io.FileUtils; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.io.File; import java.io.IOException; import java.util.List; import java.util.Map; - +import javax.inject.Inject; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; @@ -38,7 +31,8 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Response; - +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.zeppelin.helium.Helium; import org.apache.zeppelin.helium.HeliumPackage; import org.apache.zeppelin.helium.HeliumPackageSearchResult; @@ -46,10 +40,10 @@ import org.apache.zeppelin.notebook.Note; import org.apache.zeppelin.notebook.Notebook; import org.apache.zeppelin.notebook.Paragraph; import org.apache.zeppelin.server.JsonResponse; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; -/** - * Helium Rest Api. - */ +/** Helium Rest Api. */ @Path("/helium") @Produces("application/json") public class HeliumRestApi { @@ -61,13 +55,11 @@ public class HeliumRestApi { @Inject public HeliumRestApi(Helium helium, Notebook notebook) { - this.helium = helium; + this.helium = helium; this.notebook = notebook; } - /** - * Get all packages info. - */ + /** Get all packages info. */ @GET @Path("package") public Response getAllPackageInfo() { @@ -79,9 +71,7 @@ public class HeliumRestApi { } } - /** - * Get all enabled packages info. - */ + /** Get all enabled packages info. */ @GET @Path("enabledPackage") public Response getAllEnabledPackageInfo() { @@ -93,20 +83,18 @@ public class HeliumRestApi { } } - /** - * Get single package info. - */ + /** Get single package info. */ @GET @Path("package/{packageName}") public Response getSinglePackageInfo(@PathParam("packageName") String packageName) { if (StringUtils.isEmpty(packageName)) { - return new JsonResponse(Response.Status.BAD_REQUEST, - "Can't get package info for empty name").build(); + return new JsonResponse(Response.Status.BAD_REQUEST, "Can't get package info for empty name") + .build(); } try { - return new JsonResponse<>( - Response.Status.OK, "", helium.getSinglePackageInfo(packageName)).build(); + return new JsonResponse<>(Response.Status.OK, "", helium.getSinglePackageInfo(packageName)) + .build(); } catch (RuntimeException e) { logger.error(e.getMessage(), e); return new JsonResponse(Response.Status.INTERNAL_SERVER_ERROR, e.getMessage()).build(); @@ -115,8 +103,8 @@ public class HeliumRestApi { @GET @Path("suggest/{noteId}/{paragraphId}") - public Response suggest(@PathParam("noteId") String noteId, - @PathParam("paragraphId") String paragraphId) { + public Response suggest( + @PathParam("noteId") String noteId, @PathParam("paragraphId") String paragraphId) { Note note = notebook.getNote(noteId); if (note == null) { return new JsonResponse(Response.Status.NOT_FOUND, "Note " + noteId + " not found").build(); @@ -133,13 +121,14 @@ public class HeliumRestApi { logger.error(e.getMessage(), e); return new JsonResponse(Response.Status.INTERNAL_SERVER_ERROR, e.getMessage()).build(); } - } @POST @Path("load/{noteId}/{paragraphId}") - public Response load(@PathParam("noteId") String noteId, - @PathParam("paragraphId") String paragraphId, String heliumPackage) { + public Response load( + @PathParam("noteId") String noteId, + @PathParam("paragraphId") String paragraphId, + String heliumPackage) { Note note = notebook.getNote(noteId); if (note == null) { return new JsonResponse(Response.Status.NOT_FOUND, "Note " + noteId + " not found").build(); @@ -152,8 +141,9 @@ public class HeliumRestApi { } HeliumPackage pkg = HeliumPackage.fromJson(heliumPackage); try { - return new JsonResponse<>(Response.Status.OK, "", - helium.getApplicationFactory().loadAndRun(pkg, paragraph)).build(); + return new JsonResponse<>( + Response.Status.OK, "", helium.getApplicationFactory().loadAndRun(pkg, paragraph)) + .build(); } catch (RuntimeException e) { logger.error(e.getMessage(), e); return new JsonResponse(Response.Status.INTERNAL_SERVER_ERROR, e.getMessage()).build(); @@ -163,12 +153,12 @@ public class HeliumRestApi { @GET @Path("bundle/load/{packageName}") @Produces("text/javascript") - public Response bundleLoad(@QueryParam("refresh") String refresh, - @PathParam("packageName") String packageName) { + public Response bundleLoad( + @QueryParam("refresh") String refresh, @PathParam("packageName") String packageName) { if (StringUtils.isEmpty(packageName)) { return new JsonResponse( - Response.Status.BAD_REQUEST, - "Can't get bundle due to empty package name").build(); + Response.Status.BAD_REQUEST, "Can't get bundle due to empty package name") + .build(); } HeliumPackageSearchResult psr = null; @@ -243,12 +233,12 @@ public class HeliumRestApi { } try { - Map<String, Map<String, Object>> config = - helium.getSpellConfig(packageName); + Map<String, Map<String, Object>> config = helium.getSpellConfig(packageName); if (config == null) { - return new JsonResponse(Response.Status.BAD_REQUEST, - "Failed to find enabled package for " + packageName).build(); + return new JsonResponse( + Response.Status.BAD_REQUEST, "Failed to find enabled package for " + packageName) + .build(); } return new JsonResponse<>(Response.Status.OK, config).build(); @@ -272,21 +262,20 @@ public class HeliumRestApi { @GET @Path("config/{packageName}/{artifact}") - public Response getPackageConfig(@PathParam("packageName") String packageName, - @PathParam("artifact") String artifact) { + public Response getPackageConfig( + @PathParam("packageName") String packageName, @PathParam("artifact") String artifact) { if (StringUtils.isEmpty(packageName) || StringUtils.isEmpty(artifact)) { - return new JsonResponse(Response.Status.BAD_REQUEST, - "package name or artifact is empty" - ).build(); + return new JsonResponse(Response.Status.BAD_REQUEST, "package name or artifact is empty") + .build(); } try { - Map<String, Map<String, Object>> config = - helium.getPackageConfig(packageName, artifact); + Map<String, Map<String, Object>> config = helium.getPackageConfig(packageName, artifact); if (config == null) { - return new JsonResponse(Response.Status.BAD_REQUEST, - "Failed to find package for " + artifact).build(); + return new JsonResponse( + Response.Status.BAD_REQUEST, "Failed to find package for " + artifact) + .build(); } return new JsonResponse<>(Response.Status.OK, config).build(); @@ -298,26 +287,25 @@ public class HeliumRestApi { @POST @Path("config/{packageName}/{artifact}") - public Response updatePackageConfig(@PathParam("packageName") String packageName, - @PathParam("artifact") String artifact, String rawConfig) { + public Response updatePackageConfig( + @PathParam("packageName") String packageName, + @PathParam("artifact") String artifact, + String rawConfig) { if (StringUtils.isEmpty(packageName) || StringUtils.isEmpty(artifact)) { - return new JsonResponse(Response.Status.BAD_REQUEST, - "package name or artifact is empty" - ).build(); + return new JsonResponse(Response.Status.BAD_REQUEST, "package name or artifact is empty") + .build(); } try { - Map<String, Object> packageConfig = gson.fromJson( - rawConfig, new TypeToken<Map<String, Object>>(){}.getType()); + Map<String, Object> packageConfig = + gson.fromJson(rawConfig, new TypeToken<Map<String, Object>>() {}.getType()); helium.updatePackageConfig(artifact, packageConfig); return new JsonResponse<>(Response.Status.OK, packageConfig).build(); } catch (JsonParseException e) { logger.error(e.getMessage(), e); - return new JsonResponse(Response.Status.BAD_REQUEST, - e.getMessage()).build(); + return new JsonResponse(Response.Status.BAD_REQUEST, e.getMessage()).build(); } catch (IOException | RuntimeException e) { - return new JsonResponse(Response.Status.INTERNAL_SERVER_ERROR, - e.getMessage()).build(); + return new JsonResponse(Response.Status.INTERNAL_SERVER_ERROR, e.getMessage()).build(); } } @@ -336,8 +324,8 @@ public class HeliumRestApi { @POST @Path("order/visualization") public Response setVisualizationPackageOrder(String orderedPackageNameList) { - List<String> orderedList = gson.fromJson( - orderedPackageNameList, new TypeToken<List<String>>(){}.getType()); + List<String> orderedList = + gson.fromJson(orderedPackageNameList, new TypeToken<List<String>>() {}.getType()); try { helium.setVisualizationPackageOrder(orderedList); return new JsonResponse(Response.Status.OK).build(); http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/InterpreterRestApi.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/InterpreterRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/InterpreterRestApi.java index abf7de8..afe3b4f 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/InterpreterRestApi.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/InterpreterRestApi.java @@ -18,7 +18,20 @@ package org.apache.zeppelin.rest; import com.google.common.collect.Maps; +import java.io.IOException; +import java.util.List; +import java.util.Map; import javax.inject.Inject; +import javax.validation.constraints.NotNull; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.Response.Status; import org.apache.commons.lang.exception.ExceptionUtils; import org.apache.zeppelin.annotation.ZeppelinApi; import org.apache.zeppelin.dep.Repository; @@ -42,23 +55,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.sonatype.aether.repository.RemoteRepository; -import javax.validation.constraints.NotNull; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.Status; -import java.io.IOException; -import java.util.List; -import java.util.Map; - -/** - * Interpreter Rest API. - */ +/** Interpreter Rest API. */ @Path("/interpreter") @Produces("application/json") public class InterpreterRestApi { @@ -79,9 +76,7 @@ public class InterpreterRestApi { this.notebookServer = notebookWsServer; } - /** - * List all interpreter settings. - */ + /** List all interpreter settings. */ @GET @Path("setting") @ZeppelinApi @@ -89,9 +84,7 @@ public class InterpreterRestApi { return new JsonResponse<>(Status.OK, "", interpreterSettingManager.get()).build(); } - /** - * Get a setting. - */ + /** Get a setting. */ @GET @Path("setting/{settingId}") @ZeppelinApi @@ -105,8 +98,9 @@ public class InterpreterRestApi { } } catch (NullPointerException e) { logger.error("Exception in InterpreterRestApi while creating ", e); - return new JsonResponse<>(Status.INTERNAL_SERVER_ERROR, e.getMessage(), - ExceptionUtils.getStackTrace(e)).build(); + return new JsonResponse<>( + Status.INTERNAL_SERVER_ERROR, e.getMessage(), ExceptionUtils.getStackTrace(e)) + .build(); } } @@ -120,15 +114,18 @@ public class InterpreterRestApi { @ZeppelinApi public Response newSettings(String message) { try { - NewInterpreterSettingRequest request = - NewInterpreterSettingRequest.fromJson(message); + NewInterpreterSettingRequest request = NewInterpreterSettingRequest.fromJson(message); if (request == null) { return new JsonResponse<>(Status.BAD_REQUEST).build(); } - InterpreterSetting interpreterSetting = interpreterSettingManager - .createNewSetting(request.getName(), request.getGroup(), request.getDependencies(), - request.getOption(), request.getProperties()); + InterpreterSetting interpreterSetting = + interpreterSettingManager.createNewSetting( + request.getName(), + request.getGroup(), + request.getDependencies(), + request.getOption(), + request.getProperties()); logger.info("new setting created with {}", interpreterSetting.getId()); return new JsonResponse<>(Status.OK, "", interpreterSetting).build(); } catch (IOException e) { @@ -145,19 +142,18 @@ public class InterpreterRestApi { logger.info("Update interpreterSetting {}", settingId); try { - UpdateInterpreterSettingRequest request = - UpdateInterpreterSettingRequest.fromJson(message); - interpreterSettingManager - .setPropertyAndRestart(settingId, request.getOption(), request.getProperties(), - request.getDependencies()); + UpdateInterpreterSettingRequest request = UpdateInterpreterSettingRequest.fromJson(message); + interpreterSettingManager.setPropertyAndRestart( + settingId, request.getOption(), request.getProperties(), request.getDependencies()); } catch (InterpreterException e) { logger.error("Exception in InterpreterRestApi while updateSetting ", e); return new JsonResponse<>(Status.NOT_FOUND, e.getMessage(), ExceptionUtils.getStackTrace(e)) .build(); } catch (IOException e) { logger.error("Exception in InterpreterRestApi while updateSetting ", e); - return new JsonResponse<>(Status.INTERNAL_SERVER_ERROR, e.getMessage(), - ExceptionUtils.getStackTrace(e)).build(); + return new JsonResponse<>( + Status.INTERNAL_SERVER_ERROR, e.getMessage(), ExceptionUtils.getStackTrace(e)) + .build(); } InterpreterSetting setting = interpreterSettingManager.get(settingId); if (setting == null) { @@ -166,9 +162,7 @@ public class InterpreterRestApi { return new JsonResponse<>(Status.OK, "", setting).build(); } - /** - * Remove interpreter setting. - */ + /** Remove interpreter setting. */ @DELETE @Path("setting/{settingId}") @ZeppelinApi @@ -178,9 +172,7 @@ public class InterpreterRestApi { return new JsonResponse(Status.OK).build(); } - /** - * Restart interpreter setting. - */ + /** Restart interpreter setting. */ @PUT @Path("setting/restart/{settingId}") @ZeppelinApi @@ -209,9 +201,7 @@ public class InterpreterRestApi { return new JsonResponse<>(Status.OK, "", setting).build(); } - /** - * List all available interpreters by group. - */ + /** List all available interpreters by group. */ @GET @ZeppelinApi public Response listInterpreter() { @@ -219,9 +209,7 @@ public class InterpreterRestApi { return new JsonResponse<>(Status.OK, "", m).build(); } - /** - * List of dependency resolving repositories. - */ + /** List of dependency resolving repositories. */ @GET @Path("repository") @ZeppelinApi @@ -241,13 +229,18 @@ public class InterpreterRestApi { public Response addRepository(String message) { try { Repository request = Repository.fromJson(message); - interpreterSettingManager.addRepository(request.getId(), request.getUrl(), - request.isSnapshot(), request.getAuthentication(), request.getProxy()); + interpreterSettingManager.addRepository( + request.getId(), + request.getUrl(), + request.isSnapshot(), + request.getAuthentication(), + request.getProxy()); logger.info("New repository {} added", request.getId()); } catch (Exception e) { logger.error("Exception in InterpreterRestApi while adding repository ", e); - return new JsonResponse<>(Status.INTERNAL_SERVER_ERROR, e.getMessage(), - ExceptionUtils.getStackTrace(e)).build(); + return new JsonResponse<>( + Status.INTERNAL_SERVER_ERROR, e.getMessage(), ExceptionUtils.getStackTrace(e)) + .build(); } return new JsonResponse(Status.OK).build(); } @@ -266,15 +259,14 @@ public class InterpreterRestApi { interpreterSettingManager.removeRepository(repoId); } catch (Exception e) { logger.error("Exception in InterpreterRestApi while removing repository ", e); - return new JsonResponse<>(Status.INTERNAL_SERVER_ERROR, e.getMessage(), - ExceptionUtils.getStackTrace(e)).build(); + return new JsonResponse<>( + Status.INTERNAL_SERVER_ERROR, e.getMessage(), ExceptionUtils.getStackTrace(e)) + .build(); } return new JsonResponse(Status.OK).build(); } - /** - * Get available types for property - */ + /** Get available types for property */ @GET @Path("property/types") public Response listInterpreterPropertyTypes() { http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/LoginRestApi.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/LoginRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/LoginRestApi.java index f13c222..74abe56 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/LoginRestApi.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/LoginRestApi.java @@ -17,27 +17,13 @@ package org.apache.zeppelin.rest; import com.google.gson.Gson; -import javax.inject.Inject; -import org.apache.shiro.authc.AuthenticationException; -import org.apache.shiro.authc.AuthenticationToken; -import org.apache.shiro.authc.IncorrectCredentialsException; -import org.apache.shiro.authc.LockedAccountException; -import org.apache.shiro.authc.UnknownAccountException; -import org.apache.shiro.authc.UsernamePasswordToken; -import org.apache.shiro.realm.Realm; -import org.apache.shiro.subject.Subject; -import org.apache.zeppelin.conf.ZeppelinConfiguration; -import org.apache.zeppelin.notebook.Notebook; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.text.ParseException; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; - +import javax.inject.Inject; import javax.ws.rs.FormParam; import javax.ws.rs.GET; import javax.ws.rs.POST; @@ -48,18 +34,27 @@ import javax.ws.rs.core.Cookie; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; - +import org.apache.shiro.authc.AuthenticationException; +import org.apache.shiro.authc.AuthenticationToken; +import org.apache.shiro.authc.IncorrectCredentialsException; +import org.apache.shiro.authc.LockedAccountException; +import org.apache.shiro.authc.UnknownAccountException; +import org.apache.shiro.authc.UsernamePasswordToken; +import org.apache.shiro.realm.Realm; +import org.apache.shiro.subject.Subject; import org.apache.zeppelin.annotation.ZeppelinApi; +import org.apache.zeppelin.conf.ZeppelinConfiguration; +import org.apache.zeppelin.notebook.Notebook; import org.apache.zeppelin.notebook.NotebookAuthorization; import org.apache.zeppelin.realm.jwt.JWTAuthenticationToken; import org.apache.zeppelin.realm.jwt.KnoxJwtRealm; import org.apache.zeppelin.server.JsonResponse; import org.apache.zeppelin.ticket.TicketContainer; import org.apache.zeppelin.utils.SecurityUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; -/** - * Created for org.apache.zeppelin.rest.message. - */ +/** Created for org.apache.zeppelin.rest.message. */ @Path("/login") @Produces("application/json") public class LoginRestApi { @@ -155,38 +150,36 @@ public class LoginRestApi { data.put("ticket", ticket); response = new JsonResponse(Response.Status.OK, "", data); - //if no exception, that's it, we're done! + // if no exception, that's it, we're done! - //set roles for user in NotebookAuthorization module + // set roles for user in NotebookAuthorization module NotebookAuthorization.getInstance().setRoles(principal, roles); } catch (UnknownAccountException uae) { - //username wasn't in the system, show them an error message? + // username wasn't in the system, show them an error message? LOG.error("Exception in login: ", uae); } catch (IncorrectCredentialsException ice) { - //password didn't match, try again? + // password didn't match, try again? LOG.error("Exception in login: ", ice); } catch (LockedAccountException lae) { - //account for that username is locked - can't login. Show them a message? + // account for that username is locked - can't login. Show them a message? LOG.error("Exception in login: ", lae); } catch (AuthenticationException ae) { - //unexpected condition - error? + // unexpected condition - error? LOG.error("Exception in login: ", ae); } return response; } /** - * Post Login - * Returns userName & password - * for anonymous access, username is always anonymous. + * Post Login Returns userName & password for anonymous access, username is always anonymous. * After getting this ticket, access through websockets become safe * * @return 200 response */ @POST @ZeppelinApi - public Response postLogin(@FormParam("userName") String userName, - @FormParam("password") String password) { + public Response postLogin( + @FormParam("userName") String userName, @FormParam("password") String password) { JsonResponse response = null; // ticket set to anonymous for anonymous user. Simplify testing. Subject currentUser = org.apache.shiro.SecurityUtils.getSubject(); http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRepoRestApi.java ---------------------------------------------------------------------- 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 2615c2f..bbf3692 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 @@ -19,38 +19,31 @@ package org.apache.zeppelin.rest; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Sets; import com.google.gson.JsonSyntaxException; - -import javax.inject.Inject; -import org.apache.commons.lang.StringUtils; -import org.apache.zeppelin.service.ServiceContext; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.io.IOException; import java.util.Collections; import java.util.List; import java.util.Set; - +import javax.inject.Inject; import javax.ws.rs.GET; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; - +import org.apache.commons.lang.StringUtils; import org.apache.zeppelin.annotation.ZeppelinApi; import org.apache.zeppelin.notebook.repo.NotebookRepoSync; import org.apache.zeppelin.notebook.repo.NotebookRepoWithSettings; import org.apache.zeppelin.rest.message.NotebookRepoSettingsRequest; import org.apache.zeppelin.server.JsonResponse; +import org.apache.zeppelin.service.ServiceContext; import org.apache.zeppelin.socket.NotebookServer; import org.apache.zeppelin.user.AuthenticationInfo; import org.apache.zeppelin.utils.SecurityUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; -/** - * NoteRepo rest API endpoint. - * - */ +/** NoteRepo rest API endpoint. */ @Path("/notebook-repositories") @Produces("application/json") public class NotebookRepoRestApi { @@ -65,9 +58,7 @@ public class NotebookRepoRestApi { this.notebookWsServer = notebookWsServer; } - /** - * List all notebook repository. - */ + /** List all notebook repository. */ @GET @ZeppelinApi public Response listRepoSettings() { @@ -77,13 +68,11 @@ public class NotebookRepoRestApi { return new JsonResponse<>(Status.OK, "", settings).build(); } - /** - * Reload notebook repository. - */ + /** Reload notebook repository. */ @GET @Path("reload") @ZeppelinApi - public Response refreshRepo(){ + public Response refreshRepo() { AuthenticationInfo subject = new AuthenticationInfo(SecurityUtils.getPrincipal()); LOG.info("Reloading notebook repository for user {}", subject.getUser()); try { @@ -120,14 +109,16 @@ public class NotebookRepoRestApi { newSettings = NotebookRepoSettingsRequest.fromJson(payload); } catch (JsonSyntaxException e) { LOG.error("Cannot update notebook repo settings", e); - return new JsonResponse<>(Status.NOT_ACCEPTABLE, "", - ImmutableMap.of("error", "Invalid payload structure")).build(); + return new JsonResponse<>( + Status.NOT_ACCEPTABLE, "", ImmutableMap.of("error", "Invalid payload structure")) + .build(); } if (NotebookRepoSettingsRequest.isEmpty(newSettings)) { LOG.error("Invalid property"); - return new JsonResponse<>(Status.NOT_ACCEPTABLE, "", - ImmutableMap.of("error", "Invalid payload")).build(); + return new JsonResponse<>( + Status.NOT_ACCEPTABLE, "", ImmutableMap.of("error", "Invalid payload")) + .build(); } LOG.info("User {} is going to change repo setting", subject.getUser()); NotebookRepoWithSettings updatedSettings = http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookResponse.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookResponse.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookResponse.java index 16b6692..37f1a3f 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookResponse.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookResponse.java @@ -19,9 +19,7 @@ package org.apache.zeppelin.rest; import javax.xml.bind.annotation.XmlRootElement; -/** - * Response wrapper. - */ +/** Response wrapper. */ @XmlRootElement public class NotebookResponse { private String msg; http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java ---------------------------------------------------------------------- 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 8411263..59c13fb 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 @@ -20,7 +20,24 @@ package org.apache.zeppelin.rest; import com.google.common.collect.Sets; import com.google.common.reflect.TypeToken; 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; import javax.inject.Inject; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.Response.Status; import org.apache.commons.lang3.StringUtils; import org.apache.zeppelin.annotation.ZeppelinApi; import org.apache.zeppelin.conf.ZeppelinConfiguration; @@ -51,27 +68,7 @@ import org.quartz.CronExpression; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.Status; -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; - -/** - * Rest api endpoint for the notebook. - */ +/** Rest api endpoint for the notebook. */ @Path("/notebook") @Produces("application/json") public class NotebookRestApi extends AbstractRestApi { @@ -97,16 +94,14 @@ public class NotebookRestApi extends AbstractRestApi { this.zConf = notebook.getConf(); } - /** - * Get note authorization information. - */ + /** Get note authorization information. */ @GET @Path("{noteId}/permissions") @ZeppelinApi public Response getNotePermissions(@PathParam("noteId") String noteId) throws IOException { checkIfUserIsAnon(getBlockNotAuthenticatedUserErrorMsg()); - checkIfUserCanRead(noteId, - "Insufficient privileges you cannot get the list of permissions for this note"); + checkIfUserCanRead( + noteId, "Insufficient privileges you cannot get the list of permissions for this note"); HashMap<String, Set<String>> permissionsMap = new HashMap<>(); permissionsMap.put("owners", notebookAuthorization.getOwners(noteId)); permissionsMap.put("readers", notebookAuthorization.getReaders(noteId)); @@ -116,11 +111,16 @@ public class NotebookRestApi extends AbstractRestApi { } private String ownerPermissionError(Set<String> current, Set<String> allowed) { - LOG.info("Cannot change permissions. Connection owners {}. Allowed owners {}", - current.toString(), allowed.toString()); - return "Insufficient privileges to change permissions.\n\n" + - "Allowed owners: " + allowed.toString() + "\n\n" + - "User belongs to: " + current.toString(); + LOG.info( + "Cannot change permissions. Connection owners {}. Allowed owners {}", + current.toString(), + allowed.toString()); + return "Insufficient privileges to change permissions.\n\n" + + "Allowed owners: " + + allowed.toString() + + "\n\n" + + "User belongs to: " + + current.toString(); } private String getBlockNotAuthenticatedUserErrorMsg() { @@ -133,9 +133,7 @@ public class NotebookRestApi extends AbstractRestApi { * In the future we might want to generalize this for the rest of the api enmdpoints. */ - /** - * Check if the current user is not authenticated(anonymous user) or not. - */ + /** Check if the current user is not authenticated(anonymous user) or not. */ private void checkIfUserIsAnon(String errorMsg) { boolean isAuthenticated = SecurityUtils.isAuthenticated(); if (isAuthenticated && SecurityUtils.getPrincipal().equals("anonymous")) { @@ -144,9 +142,7 @@ public class NotebookRestApi extends AbstractRestApi { } } - /** - * Check if the current user own the given note. - */ + /** Check if the current user own the given note. */ private void checkIfUserIsOwner(String noteId, String errorMsg) { Set<String> userAndRoles = Sets.newHashSet(); userAndRoles.add(SecurityUtils.getPrincipal()); @@ -156,9 +152,7 @@ public class NotebookRestApi extends AbstractRestApi { } } - /** - * Check if the current user is either Owner or Writer for the given note. - */ + /** Check if the current user is either Owner or Writer for the given note. */ private void checkIfUserCanWrite(String noteId, String errorMsg) { Set<String> userAndRoles = Sets.newHashSet(); userAndRoles.add(SecurityUtils.getPrincipal()); @@ -168,9 +162,7 @@ public class NotebookRestApi extends AbstractRestApi { } } - /** - * Check if the current user can access (at least he have to be reader) the given note. - */ + /** Check if the current user can access (at least he have to be reader) the given note. */ private void checkIfUserCanRead(String noteId, String errorMsg) { Set<String> userAndRoles = Sets.newHashSet(); userAndRoles.add(SecurityUtils.getPrincipal()); @@ -180,9 +172,7 @@ public class NotebookRestApi extends AbstractRestApi { } } - /** - * Check if the current user can run the given note. - */ + /** Check if the current user can run the given note. */ private void checkIfUserCanRun(String noteId, String errorMsg) { Set<String> userAndRoles = Sets.newHashSet(); userAndRoles.add(SecurityUtils.getPrincipal()); @@ -211,9 +201,7 @@ public class NotebookRestApi extends AbstractRestApi { } } - /** - * Set note authorization information. - */ + /** Set note authorization information. */ @PUT @Path("{noteId}/permissions") @ZeppelinApi @@ -226,16 +214,21 @@ public class NotebookRestApi extends AbstractRestApi { userAndRoles.addAll(roles); checkIfUserIsAnon(getBlockNotAuthenticatedUserErrorMsg()); - checkIfUserIsOwner(noteId, - ownerPermissionError(userAndRoles, notebookAuthorization.getOwners(noteId))); + checkIfUserIsOwner( + noteId, ownerPermissionError(userAndRoles, notebookAuthorization.getOwners(noteId))); HashMap<String, HashSet<String>> permMap = - gson.fromJson(req, new TypeToken<HashMap<String, HashSet<String>>>() { - }.getType()); + gson.fromJson(req, new TypeToken<HashMap<String, HashSet<String>>>() {}.getType()); Note note = notebook.getNote(noteId); - LOG.info("Set permissions {} {} {} {} {} {}", noteId, principal, permMap.get("owners"), - permMap.get("readers"), permMap.get("runners"), permMap.get("writers")); + LOG.info( + "Set permissions {} {} {} {} {} {}", + noteId, + principal, + permMap.get("owners"), + permMap.get("readers"), + permMap.get("runners"), + permMap.get("writers")); HashSet<String> readers = permMap.get("readers"); HashSet<String> runners = permMap.get("runners"); @@ -273,8 +266,11 @@ public class NotebookRestApi extends AbstractRestApi { notebookAuthorization.setRunners(noteId, runners); notebookAuthorization.setWriters(noteId, writers); notebookAuthorization.setOwners(noteId, owners); - LOG.debug("After set permissions {} {} {} {}", notebookAuthorization.getOwners(noteId), - notebookAuthorization.getReaders(noteId), notebookAuthorization.getRunners(noteId), + LOG.debug( + "After set permissions {} {} {} {}", + notebookAuthorization.getOwners(noteId), + notebookAuthorization.getReaders(noteId), + notebookAuthorization.getRunners(noteId), notebookAuthorization.getWriters(noteId)); AuthenticationInfo subject = new AuthenticationInfo(SecurityUtils.getPrincipal()); note.persist(subject); @@ -286,8 +282,8 @@ public class NotebookRestApi extends AbstractRestApi { @GET @ZeppelinApi public Response getNoteList() throws IOException { - List<Map<String, String>> notesInfo = notebookService.listNotes(false, getServiceContext(), - new RestServiceCallback()); + List<Map<String, String>> notesInfo = + notebookService.listNotes(false, getServiceContext(), new RestServiceCallback()); return new JsonResponse<>(Status.OK, "", notesInfo).build(); } @@ -295,8 +291,7 @@ public class NotebookRestApi extends AbstractRestApi { @Path("{noteId}") @ZeppelinApi public Response getNote(@PathParam("noteId") String noteId) throws IOException { - Note note = - notebookService.getNote(noteId, getServiceContext(), new RestServiceCallback()); + Note note = notebookService.getNote(noteId, getServiceContext(), new RestServiceCallback()); return new JsonResponse<>(Status.OK, "", note).build(); } @@ -327,8 +322,8 @@ public class NotebookRestApi extends AbstractRestApi { @Path("import") @ZeppelinApi public Response importNote(String noteJson) throws IOException { - Note note = notebookService.importNote(null, noteJson, getServiceContext(), - new RestServiceCallback()); + Note note = + notebookService.importNote(null, noteJson, getServiceContext(), new RestServiceCallback()); return new JsonResponse<>(Status.OK, "", note.getId()).build(); } @@ -345,11 +340,12 @@ public class NotebookRestApi extends AbstractRestApi { String user = SecurityUtils.getPrincipal(); LOG.info("Create new note by JSON {}", message); NewNoteRequest request = NewNoteRequest.fromJson(message); - Note note = notebookService.createNote( - request.getName(), - zConf.getString(ZeppelinConfiguration.ConfVars.ZEPPELIN_INTERPRETER_GROUP_DEFAULT), - getServiceContext(), - new RestServiceCallback<>()); + Note note = + notebookService.createNote( + request.getName(), + zConf.getString(ZeppelinConfiguration.ConfVars.ZEPPELIN_INTERPRETER_GROUP_DEFAULT), + getServiceContext(), + new RestServiceCallback<>()); AuthenticationInfo subject = new AuthenticationInfo(SecurityUtils.getPrincipal()); if (request.getParagraphs() != null) { for (NewParagraphRequest paragraphRequest : request.getParagraphs()) { @@ -372,7 +368,8 @@ public class NotebookRestApi extends AbstractRestApi { @ZeppelinApi public Response deleteNote(@PathParam("noteId") String noteId) throws IOException { LOG.info("Delete note {} ", noteId); - notebookService.removeNote(noteId, + notebookService.removeNote( + noteId, getServiceContext(), new RestServiceCallback<String>() { @Override @@ -406,14 +403,18 @@ public class NotebookRestApi extends AbstractRestApi { newNoteName = request.getName(); } AuthenticationInfo subject = new AuthenticationInfo(SecurityUtils.getPrincipal()); - Note newNote = notebookService.cloneNote(noteId, newNoteName, getServiceContext(), - new RestServiceCallback<Note>(){ - @Override - public void onSuccess(Note newNote, ServiceContext context) throws IOException { - notebookServer.broadcastNote(newNote); - notebookServer.broadcastNoteList(subject, context.getUserAndRoles()); - } - }); + Note newNote = + notebookService.cloneNote( + noteId, + newNoteName, + getServiceContext(), + new RestServiceCallback<Note>() { + @Override + public void onSuccess(Note newNote, ServiceContext context) throws IOException { + notebookServer.broadcastNote(newNote); + notebookServer.broadcastNoteList(subject, context.getUserAndRoles()); + } + }); return new JsonResponse<>(Status.OK, "", newNote.getId()).build(); } @@ -427,8 +428,8 @@ public class NotebookRestApi extends AbstractRestApi { @PUT @Path("{noteId}/rename") @ZeppelinApi - public Response renameNote(@PathParam("noteId") String noteId, - String message) throws IOException { + public Response renameNote(@PathParam("noteId") String noteId, String message) + throws IOException { LOG.info("rename note by JSON {}", message); RenameNoteRequest request = gson.fromJson(message, RenameNoteRequest.class); String newName = request.getName(); @@ -436,8 +437,11 @@ public class NotebookRestApi extends AbstractRestApi { LOG.warn("Trying to rename notebook {} with empty name parameter", noteId); throw new BadRequestException("name can not be empty"); } - notebookService.renameNote(noteId, request.getName(), getServiceContext(), - new RestServiceCallback<Note>(){ + notebookService.renameNote( + noteId, + request.getName(), + getServiceContext(), + new RestServiceCallback<Note>() { @Override public void onSuccess(Note note, ServiceContext context) throws IOException { notebookServer.broadcastNote(note); @@ -491,8 +495,9 @@ public class NotebookRestApi extends AbstractRestApi { @GET @Path("{noteId}/paragraph/{paragraphId}") @ZeppelinApi - public Response getParagraph(@PathParam("noteId") String noteId, - @PathParam("paragraphId") String paragraphId) throws IOException { + public Response getParagraph( + @PathParam("noteId") String noteId, @PathParam("paragraphId") String paragraphId) + throws IOException { LOG.info("get paragraph {} {}", noteId, paragraphId); Note note = notebook.getNote(noteId); @@ -508,14 +513,16 @@ public class NotebookRestApi extends AbstractRestApi { * Update paragraph. * * @param message json containing the "text" and optionally the "title" of the paragraph, e.g. - * {"text" : "updated text", "title" : "Updated title" } + * {"text" : "updated text", "title" : "Updated title" } */ @PUT @Path("{noteId}/paragraph/{paragraphId}") @ZeppelinApi - public Response updateParagraph(@PathParam("noteId") String noteId, - @PathParam("paragraphId") String paragraphId, - String message) throws IOException { + public Response updateParagraph( + @PathParam("noteId") String noteId, + @PathParam("paragraphId") String paragraphId, + String message) + throws IOException { String user = SecurityUtils.getPrincipal(); LOG.info("{} will update paragraph {} {}", user, noteId, paragraphId); @@ -541,9 +548,11 @@ public class NotebookRestApi extends AbstractRestApi { @PUT @Path("{noteId}/paragraph/{paragraphId}/config") @ZeppelinApi - public Response updateParagraphConfig(@PathParam("noteId") String noteId, - @PathParam("paragraphId") String paragraphId, - String message) throws IOException { + public Response updateParagraphConfig( + @PathParam("noteId") String noteId, + @PathParam("paragraphId") String paragraphId, + String message) + throws IOException { String user = SecurityUtils.getPrincipal(); LOG.info("{} will update paragraph config {} {}", user, noteId, paragraphId); @@ -570,12 +579,16 @@ public class NotebookRestApi extends AbstractRestApi { @POST @Path("{noteId}/paragraph/{paragraphId}/move/{newIndex}") @ZeppelinApi - public Response moveParagraph(@PathParam("noteId") String noteId, - @PathParam("paragraphId") String paragraphId, - @PathParam("newIndex") String newIndex) + public Response moveParagraph( + @PathParam("noteId") String noteId, + @PathParam("paragraphId") String paragraphId, + @PathParam("newIndex") String newIndex) throws IOException { LOG.info("move paragraph {} {} {}", noteId, paragraphId, newIndex); - notebookService.moveParagraph(noteId, paragraphId, Integer.parseInt(newIndex), + notebookService.moveParagraph( + noteId, + paragraphId, + Integer.parseInt(newIndex), getServiceContext(), new RestServiceCallback<Paragraph>() { @Override @@ -584,7 +597,6 @@ public class NotebookRestApi extends AbstractRestApi { } }); return new JsonResponse(Status.OK, "").build(); - } /** @@ -597,10 +609,14 @@ public class NotebookRestApi extends AbstractRestApi { @DELETE @Path("{noteId}/paragraph/{paragraphId}") @ZeppelinApi - public Response deleteParagraph(@PathParam("noteId") String noteId, - @PathParam("paragraphId") String paragraphId) throws IOException { + public Response deleteParagraph( + @PathParam("noteId") String noteId, @PathParam("paragraphId") String paragraphId) + throws IOException { LOG.info("delete paragraph {} {}", noteId, paragraphId); - notebookService.removeParagraph(noteId, paragraphId, getServiceContext(), + notebookService.removeParagraph( + noteId, + paragraphId, + getServiceContext(), new RestServiceCallback<Paragraph>() { @Override public void onSuccess(Paragraph p, ServiceContext context) throws IOException { @@ -620,11 +636,10 @@ public class NotebookRestApi extends AbstractRestApi { @PUT @Path("{noteId}/clear") @ZeppelinApi - public Response clearAllParagraphOutput(@PathParam("noteId") String noteId) - throws IOException { + public Response clearAllParagraphOutput(@PathParam("noteId") String noteId) throws IOException { LOG.info("clear all paragraph output of note {}", noteId); - notebookService.clearAllParagraphOutput(noteId, getServiceContext(), - new RestServiceCallback<>()); + notebookService.clearAllParagraphOutput( + noteId, getServiceContext(), new RestServiceCallback<>()); return new JsonResponse(Status.OK, "").build(); } @@ -639,8 +654,8 @@ public class NotebookRestApi extends AbstractRestApi { @POST @Path("job/{noteId}") @ZeppelinApi - public Response runNoteJobs(@PathParam("noteId") String noteId, - @QueryParam("waitToFinish") Boolean waitToFinish) + public Response runNoteJobs( + @PathParam("noteId") String noteId, @QueryParam("waitToFinish") Boolean waitToFinish) throws IOException, IllegalArgumentException { boolean blocking = waitToFinish == null || waitToFinish; LOG.info("run note jobs {} waitToFinish: {}", noteId, blocking); @@ -654,8 +669,10 @@ public class NotebookRestApi extends AbstractRestApi { note.runAll(subject, blocking); } catch (Exception ex) { LOG.error("Exception from run", ex); - return new JsonResponse<>(Status.PRECONDITION_FAILED, - ex.getMessage() + "- Not selected or Invalid Interpreter bind").build(); + return new JsonResponse<>( + Status.PRECONDITION_FAILED, + ex.getMessage() + "- Not selected or Invalid Interpreter bind") + .build(); } return new JsonResponse<>(Status.OK).build(); } @@ -710,7 +727,7 @@ public class NotebookRestApi extends AbstractRestApi { /** * Get note paragraph job status REST API. * - * @param noteId ID of Note + * @param noteId ID of Note * @param paragraphId ID of Paragraph * @return JSON with status.OK * @throws IOException @@ -719,8 +736,8 @@ public class NotebookRestApi extends AbstractRestApi { @GET @Path("job/{noteId}/{paragraphId}") @ZeppelinApi - public Response getNoteParagraphJobStatus(@PathParam("noteId") String noteId, - @PathParam("paragraphId") String paragraphId) + public Response getNoteParagraphJobStatus( + @PathParam("noteId") String noteId, @PathParam("paragraphId") String paragraphId) throws IOException, IllegalArgumentException { LOG.info("get note paragraph job status."); Note note = notebook.getNote(noteId); @@ -730,15 +747,15 @@ public class NotebookRestApi extends AbstractRestApi { Paragraph paragraph = note.getParagraph(paragraphId); checkIfParagraphIsNotNull(paragraph); - return new JsonResponse<>(Status.OK, null, note.generateSingleParagraphInfo(paragraphId)). - build(); + return new JsonResponse<>(Status.OK, null, note.generateSingleParagraphInfo(paragraphId)) + .build(); } /** * Run asynchronously paragraph job REST API. * - * @param message - JSON with params if user wants to update dynamic form's value - * null, empty string, empty json if user doesn't want to update + * @param message - JSON with params if user wants to update dynamic form's value null, empty + * string, empty json if user doesn't want to update * @return JSON with status.OK * @throws IOException * @throws IllegalArgumentException @@ -746,8 +763,10 @@ public class NotebookRestApi extends AbstractRestApi { @POST @Path("job/{noteId}/{paragraphId}") @ZeppelinApi - public Response runParagraph(@PathParam("noteId") String noteId, - @PathParam("paragraphId") String paragraphId, String message) + public Response runParagraph( + @PathParam("noteId") String noteId, + @PathParam("paragraphId") String paragraphId, + String message) throws IOException, IllegalArgumentException { LOG.info("run paragraph job asynchronously {} {} {}", noteId, paragraphId, message); @@ -757,18 +776,27 @@ public class NotebookRestApi extends AbstractRestApi { RunParagraphWithParametersRequest.fromJson(message); params = request.getParams(); } - notebookService.runParagraph(noteId, paragraphId, "", "", params, - new HashMap<>(), false, false, getServiceContext(), new RestServiceCallback<>()); + notebookService.runParagraph( + noteId, + paragraphId, + "", + "", + params, + new HashMap<>(), + false, + false, + getServiceContext(), + new RestServiceCallback<>()); return new JsonResponse<>(Status.OK).build(); } /** * Run synchronously a paragraph REST API. * - * @param noteId - noteId + * @param noteId - noteId * @param paragraphId - paragraphId - * @param message - JSON with params if user wants to update dynamic form's value - * null, empty string, empty json if user doesn't want to update + * @param message - JSON with params if user wants to update dynamic form's value null, empty + * string, empty json if user doesn't want to update * @return JSON with status.OK * @throws IOException * @throws IllegalArgumentException @@ -776,9 +804,10 @@ public class NotebookRestApi extends AbstractRestApi { @POST @Path("run/{noteId}/{paragraphId}") @ZeppelinApi - public Response runParagraphSynchronously(@PathParam("noteId") String noteId, - @PathParam("paragraphId") String paragraphId, - String message) + public Response runParagraphSynchronously( + @PathParam("noteId") String noteId, + @PathParam("paragraphId") String paragraphId, + String message) throws IOException, IllegalArgumentException { LOG.info("run paragraph synchronously {} {} {}", noteId, paragraphId, message); @@ -788,8 +817,17 @@ public class NotebookRestApi extends AbstractRestApi { RunParagraphWithParametersRequest.fromJson(message); params = request.getParams(); } - if (notebookService.runParagraph(noteId, paragraphId, "", "", params, - new HashMap<>(), false, true, getServiceContext(), new RestServiceCallback<>())) { + if (notebookService.runParagraph( + noteId, + paragraphId, + "", + "", + params, + new HashMap<>(), + false, + true, + getServiceContext(), + new RestServiceCallback<>())) { Note note = notebookService.getNote(noteId, getServiceContext(), new RestServiceCallback<>()); Paragraph p = note.getParagraph(paragraphId); InterpreterResult result = p.getReturn(); @@ -806,7 +844,7 @@ public class NotebookRestApi extends AbstractRestApi { /** * Stop(delete) paragraph job REST API. * - * @param noteId ID of Note + * @param noteId ID of Note * @param paragraphId ID of Paragraph * @return JSON with status.OK * @throws IOException @@ -815,12 +853,12 @@ public class NotebookRestApi extends AbstractRestApi { @DELETE @Path("job/{noteId}/{paragraphId}") @ZeppelinApi - public Response cancelParagraph(@PathParam("noteId") String noteId, - @PathParam("paragraphId") String paragraphId) + public Response cancelParagraph( + @PathParam("noteId") String noteId, @PathParam("paragraphId") String paragraphId) throws IOException, IllegalArgumentException { LOG.info("stop paragraph job {} ", noteId); - notebookService.cancelParagraph(noteId, paragraphId, getServiceContext(), - new RestServiceCallback<Paragraph>()); + notebookService.cancelParagraph( + noteId, paragraphId, getServiceContext(), new RestServiceCallback<Paragraph>()); return new JsonResponse<>(Status.OK).build(); } @@ -875,8 +913,8 @@ public class NotebookRestApi extends AbstractRestApi { Note note = notebook.getNote(noteId); checkIfNoteIsNotNull(note); - checkIfUserIsOwner(noteId, - "Insufficient privileges you cannot remove this cron job from this note"); + checkIfUserIsOwner( + noteId, "Insufficient privileges you cannot remove this cron job from this note"); checkIfNoteSupportsCron(note); Map<String, Object> config = note.getConfig(); @@ -922,8 +960,9 @@ public class NotebookRestApi extends AbstractRestApi { @ZeppelinApi public Response getJobListforNote() throws IOException, IllegalArgumentException { LOG.info("Get note jobs for job manager"); - List<JobManagerService.NoteJobInfo> noteJobs = jobManagerService - .getNoteJobInfoByUnixTime(0, getServiceContext(), new RestServiceCallback<>()); + List<JobManagerService.NoteJobInfo> noteJobs = + jobManagerService.getNoteJobInfoByUnixTime( + 0, getServiceContext(), new RestServiceCallback<>()); Map<String, Object> response = new HashMap<>(); response.put("lastResponseUnixTime", System.currentTimeMillis()); response.put("jobs", noteJobs); @@ -932,8 +971,8 @@ public class NotebookRestApi extends AbstractRestApi { /** * Get updated note jobs for job manager - * <p> - * Return the `Note` change information within the post unix timestamp. + * + * <p>Return the `Note` change information within the post unix timestamp. * * @return JSON with status.OK * @throws IOException @@ -946,17 +985,15 @@ public class NotebookRestApi extends AbstractRestApi { throws IOException, IllegalArgumentException { LOG.info("Get updated note jobs lastUpdateTime {}", lastUpdateUnixTime); List<JobManagerService.NoteJobInfo> noteJobs = - jobManagerService.getNoteJobInfoByUnixTime(lastUpdateUnixTime, getServiceContext(), - new RestServiceCallback<>()); + jobManagerService.getNoteJobInfoByUnixTime( + lastUpdateUnixTime, getServiceContext(), new RestServiceCallback<>()); Map<String, Object> response = new HashMap<>(); response.put("lastResponseUnixTime", System.currentTimeMillis()); response.put("jobs", noteJobs); return new JsonResponse<>(Status.OK, response).build(); } - /** - * Search for a Notes with permissions. - */ + /** Search for a Notes with permissions. */ @GET @Path("search") @ZeppelinApi @@ -971,10 +1008,10 @@ public class NotebookRestApi extends AbstractRestApi { for (int i = 0; i < notesFound.size(); i++) { String[] ids = notesFound.get(i).get("id").split("/", 2); String noteId = ids[0]; - if (!notebookAuthorization.isOwner(noteId, userAndRoles) && - !notebookAuthorization.isReader(noteId, userAndRoles) && - !notebookAuthorization.isWriter(noteId, userAndRoles) && - !notebookAuthorization.isRunner(noteId, userAndRoles)) { + if (!notebookAuthorization.isOwner(noteId, userAndRoles) + && !notebookAuthorization.isReader(noteId, userAndRoles) + && !notebookAuthorization.isWriter(noteId, userAndRoles) + && !notebookAuthorization.isRunner(noteId, userAndRoles)) { notesFound.remove(i); i--; } @@ -983,7 +1020,6 @@ public class NotebookRestApi extends AbstractRestApi { return new JsonResponse<>(Status.OK, notesFound).build(); } - private void handleParagraphParams(String message, Note note, Paragraph paragraph) throws IOException { // handle params if presented @@ -1013,8 +1049,11 @@ public class NotebookRestApi extends AbstractRestApi { private void configureParagraph(Paragraph p, Map<String, Object> newConfig, String user) { LOG.info("Configure Paragraph for user {}", user); if (newConfig == null || newConfig.isEmpty()) { - LOG.warn("{} is trying to update paragraph {} of note {} with empty config", - user, p.getId(), p.getNote().getId()); + LOG.warn( + "{} is trying to update paragraph {} of note {} with empty config", + user, + p.getId(), + p.getNote().getId()); throw new BadRequestException("paragraph config cannot be empty"); } Map<String, Object> origConfig = p.getConfig(); http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SecurityRestApi.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SecurityRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SecurityRestApi.java index 45b76fa..b4d71d9 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SecurityRestApi.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SecurityRestApi.java @@ -17,6 +17,18 @@ package org.apache.zeppelin.rest; import com.google.gson.Gson; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Response; import org.apache.commons.lang3.StringUtils; import org.apache.zeppelin.annotation.ZeppelinApi; import org.apache.zeppelin.conf.ZeppelinConfiguration; @@ -26,22 +38,7 @@ import org.apache.zeppelin.utils.SecurityUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Response; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; - -/** - * Zeppelin security rest api endpoint. - */ +/** Zeppelin security rest api endpoint. */ @Path("/security") @Produces("application/json") public class SecurityRestApi { @@ -49,10 +46,8 @@ public class SecurityRestApi { private static final Gson gson = new Gson(); /** - * Get ticket - * Returns username & ticket - * for anonymous access, username is always anonymous. - * After getting this ticket, access through websockets become safe + * Get ticket Returns username & ticket for anonymous access, username is always anonymous. After + * getting this ticket, access through websockets become safe * * @return 200 response */ @@ -85,7 +80,7 @@ public class SecurityRestApi { /** * Get userlist. * - * Returns list of all user from available realms + * <p>Returns list of all user from available realms * * @return 200 response */ @@ -101,17 +96,19 @@ public class SecurityRestApi { List<String> autoSuggestRoleList = new ArrayList<>(); Collections.sort(usersList); Collections.sort(rolesList); - Collections.sort(usersList, new Comparator<String>() { - @Override - public int compare(String o1, String o2) { - if (o1.matches(searchText + "(.*)") && o2.matches(searchText + "(.*)")) { - return 0; - } else if (o1.matches(searchText + "(.*)")) { - return -1; - } - return 0; - } - }); + Collections.sort( + usersList, + new Comparator<String>() { + @Override + public int compare(String o1, String o2) { + if (o1.matches(searchText + "(.*)") && o2.matches(searchText + "(.*)")) { + return 0; + } else if (o1.matches(searchText + "(.*)")) { + return -1; + } + return 0; + } + }); int maxLength = 0; for (String user : usersList) { if (StringUtils.containsIgnoreCase(user, searchText)) { http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ZeppelinRestApi.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ZeppelinRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ZeppelinRestApi.java index 20d6973..75e92e5 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ZeppelinRestApi.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ZeppelinRestApi.java @@ -16,12 +16,8 @@ */ package org.apache.zeppelin.rest; -import org.apache.log4j.Level; -import org.apache.log4j.Logger; - import java.util.HashMap; import java.util.Map; - import javax.servlet.http.HttpServletRequest; import javax.ws.rs.GET; import javax.ws.rs.PUT; @@ -29,7 +25,8 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.core.Context; import javax.ws.rs.core.Response; - +import org.apache.log4j.Level; +import org.apache.log4j.Logger; import org.apache.zeppelin.annotation.ZeppelinApi; import org.apache.zeppelin.server.JsonResponse; import org.apache.zeppelin.util.Util; @@ -73,16 +70,18 @@ public class ZeppelinRestApi { */ @PUT @Path("log/level/{logLevel}") - public Response changeRootLogLevel(@Context HttpServletRequest request, - @PathParam("logLevel") String logLevel) { + public Response changeRootLogLevel( + @Context HttpServletRequest request, @PathParam("logLevel") String logLevel) { Level level = Level.toLevel(logLevel); if (logLevel.toLowerCase().equalsIgnoreCase(level.toString().toLowerCase())) { Logger.getRootLogger().setLevel(level); return new JsonResponse<>(Response.Status.OK).build(); } else { - return new JsonResponse<>(Response.Status.NOT_ACCEPTABLE, - "Please check LOG level specified. Valid values: DEBUG, ERROR, FATAL, " - + "INFO, TRACE, WARN").build(); + return new JsonResponse<>( + Response.Status.NOT_ACCEPTABLE, + "Please check LOG level specified. Valid values: DEBUG, ERROR, FATAL, " + + "INFO, TRACE, WARN") + .build(); } } } http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/BadRequestException.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/BadRequestException.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/BadRequestException.java index 9af2fdd..15a7d4d 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/BadRequestException.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/BadRequestException.java @@ -20,12 +20,9 @@ import static javax.ws.rs.core.Response.Status.BAD_REQUEST; import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.Response; - import org.apache.zeppelin.utils.ExceptionUtils; -/** - * BadRequestException handler for WebApplicationException. - */ +/** BadRequestException handler for WebApplicationException. */ public class BadRequestException extends WebApplicationException { public BadRequestException() { super(ExceptionUtils.jsonResponse(BAD_REQUEST)); http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ForbiddenException.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ForbiddenException.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ForbiddenException.java index abe08eb..17e0a13 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ForbiddenException.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ForbiddenException.java @@ -20,12 +20,9 @@ import static javax.ws.rs.core.Response.Status.FORBIDDEN; import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.Response; - import org.apache.zeppelin.utils.ExceptionUtils; -/** - * UnauthorizedException handler for WebApplicationException. - */ +/** UnauthorizedException handler for WebApplicationException. */ public class ForbiddenException extends WebApplicationException { private static Response forbiddenJson(String message) { return ExceptionUtils.jsonResponseContent(FORBIDDEN, message); http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/NoteNotFoundException.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/NoteNotFoundException.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/NoteNotFoundException.java index 773d749..a406089 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/NoteNotFoundException.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/NoteNotFoundException.java @@ -17,16 +17,14 @@ package org.apache.zeppelin.rest.exception; -import org.apache.zeppelin.utils.ExceptionUtils; +import static javax.ws.rs.core.Response.Status.NOT_FOUND; import javax.ws.rs.WebApplicationException; - -import static javax.ws.rs.core.Response.Status.NOT_FOUND; +import org.apache.zeppelin.utils.ExceptionUtils; public class NoteNotFoundException extends WebApplicationException { public NoteNotFoundException(String noteId) { super(ExceptionUtils.jsonResponseContent(NOT_FOUND, "No such note: " + noteId)); } - } http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ParagraphNotFoundException.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ParagraphNotFoundException.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ParagraphNotFoundException.java index 4ec5ee1..4213cc7 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ParagraphNotFoundException.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ParagraphNotFoundException.java @@ -17,11 +17,10 @@ package org.apache.zeppelin.rest.exception; -import org.apache.zeppelin.utils.ExceptionUtils; +import static javax.ws.rs.core.Response.Status.NOT_FOUND; import javax.ws.rs.WebApplicationException; - -import static javax.ws.rs.core.Response.Status.NOT_FOUND; +import org.apache.zeppelin.utils.ExceptionUtils; public class ParagraphNotFoundException extends WebApplicationException { http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/WebApplicationExceptionMapper.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/WebApplicationExceptionMapper.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/WebApplicationExceptionMapper.java index 79e3fe0..5c83828 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/WebApplicationExceptionMapper.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/WebApplicationExceptionMapper.java @@ -31,14 +31,14 @@ public class WebApplicationExceptionMapper implements ExceptionMapper<WebApplica public WebApplicationExceptionMapper() { GsonBuilder gsonBuilder = new GsonBuilder().enableComplexMapKeySerialization(); - gsonBuilder.registerTypeHierarchyAdapter( - Exception.class, new ExceptionSerializer()); + gsonBuilder.registerTypeHierarchyAdapter(Exception.class, new ExceptionSerializer()); this.gson = gsonBuilder.create(); } @Override public Response toResponse(WebApplicationException exception) { return Response.status(exception.getResponse().getStatus()) - .entity(gson.toJson(exception)).build(); + .entity(gson.toJson(exception)) + .build(); } } http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/CronRequest.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/CronRequest.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/CronRequest.java index 404a3c3..fb1408c 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/CronRequest.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/CronRequest.java @@ -17,19 +17,15 @@ package org.apache.zeppelin.rest.message; import com.google.gson.Gson; - import org.apache.zeppelin.common.JsonSerializable; -/** - * CronRequest rest api request message. - */ +/** CronRequest rest api request message. */ public class CronRequest implements JsonSerializable { private static final Gson gson = new Gson(); String cron; - public CronRequest (){ - } + public CronRequest() {} public String getCronString() { return cron; http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewInterpreterSettingRequest.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewInterpreterSettingRequest.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewInterpreterSettingRequest.java index 3d577ef..bf5cc5d 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewInterpreterSettingRequest.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewInterpreterSettingRequest.java @@ -17,18 +17,14 @@ package org.apache.zeppelin.rest.message; import com.google.gson.Gson; - import java.util.List; import java.util.Map; - import org.apache.zeppelin.common.JsonSerializable; import org.apache.zeppelin.dep.Dependency; import org.apache.zeppelin.interpreter.InterpreterOption; import org.apache.zeppelin.interpreter.InterpreterProperty; -/** - * NewInterpreterSetting REST API request message. - */ +/** NewInterpreterSetting REST API request message. */ public class NewInterpreterSettingRequest implements JsonSerializable { private static final Gson gson = new Gson(); private String name; @@ -38,8 +34,7 @@ public class NewInterpreterSettingRequest implements JsonSerializable { private List<Dependency> dependencies; private InterpreterOption option; - public NewInterpreterSettingRequest() { - } + public NewInterpreterSettingRequest() {} public String getName() { return name; http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewNoteRequest.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewNoteRequest.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewNoteRequest.java index 9cf1df1..e1aa3c1 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewNoteRequest.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewNoteRequest.java @@ -17,22 +17,17 @@ package org.apache.zeppelin.rest.message; import com.google.gson.Gson; - import java.util.List; - import org.apache.zeppelin.common.JsonSerializable; -/** - * NewNoteRequest rest api request message. - */ +/** NewNoteRequest rest api request message. */ public class NewNoteRequest implements JsonSerializable { private static final Gson gson = new Gson(); String name; List<NewParagraphRequest> paragraphs; - public NewNoteRequest (){ - } + public NewNoteRequest() {} public String getName() { return name; http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewParagraphRequest.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewParagraphRequest.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewParagraphRequest.java index e0cb786..506fc72 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewParagraphRequest.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NewParagraphRequest.java @@ -17,18 +17,15 @@ package org.apache.zeppelin.rest.message; import com.google.gson.Gson; - import java.util.HashMap; - import org.apache.zeppelin.common.JsonSerializable; /** * NewParagraphRequest rest api request message * - * index field will be ignored when it's used to provide initial paragraphs - * visualization (optional) one of: - * table,pieChart,multibarChart,stackedAreaChart,lineChart,scatterChart - * colWidth (optional), e.g. 12.0 + * <p>index field will be ignored when it's used to provide initial paragraphs visualization + * (optional) one of: table,pieChart,multibarChart,stackedAreaChart,lineChart,scatterChart colWidth + * (optional), e.g. 12.0 */ public class NewParagraphRequest implements JsonSerializable { private static final Gson gson = new Gson(); @@ -36,10 +33,9 @@ public class NewParagraphRequest implements JsonSerializable { String title; String text; Double index; - HashMap< String, Object > config; + HashMap<String, Object> config; - public NewParagraphRequest() { - } + public NewParagraphRequest() {} public String getTitle() { return title; @@ -53,7 +49,7 @@ public class NewParagraphRequest implements JsonSerializable { return index; } - public HashMap< String, Object > getConfig() { + public HashMap<String, Object> getConfig() { return config; } http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NotebookRepoSettingsRequest.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NotebookRepoSettingsRequest.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NotebookRepoSettingsRequest.java index 31f3be8..ad6db52 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NotebookRepoSettingsRequest.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/NotebookRepoSettingsRequest.java @@ -17,17 +17,12 @@ package org.apache.zeppelin.rest.message; import com.google.gson.Gson; - -import org.apache.commons.lang.StringUtils; - import java.util.Collections; import java.util.Map; - +import org.apache.commons.lang.StringUtils; import org.apache.zeppelin.common.JsonSerializable; -/** - * Represent payload of a notebook repo settings. - */ +/** Represent payload of a notebook repo settings. */ public class NotebookRepoSettingsRequest implements JsonSerializable { private static final Gson gson = new Gson(); http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/RenameNoteRequest.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/RenameNoteRequest.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/RenameNoteRequest.java index 72ee2a6..ad0e5a3 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/RenameNoteRequest.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/RenameNoteRequest.java @@ -17,17 +17,11 @@ package org.apache.zeppelin.rest.message; -/** - * RenameNoteRequest rest api request message - * - */ - +/** RenameNoteRequest rest api request message */ public class RenameNoteRequest { String name; - public RenameNoteRequest (){ - - } + public RenameNoteRequest() {} public String getName() { return name; http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/RestartInterpreterRequest.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/RestartInterpreterRequest.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/RestartInterpreterRequest.java index 8a6d0d0..479d2a9 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/RestartInterpreterRequest.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/RestartInterpreterRequest.java @@ -17,19 +17,15 @@ package org.apache.zeppelin.rest.message; import com.google.gson.Gson; - import org.apache.zeppelin.common.JsonSerializable; -/** - * RestartInterpreter rest api request message. - */ +/** RestartInterpreter rest api request message. */ public class RestartInterpreterRequest implements JsonSerializable { private static final Gson gson = new Gson(); String noteId; - public RestartInterpreterRequest() { - } + public RestartInterpreterRequest() {} public String getNoteId() { return noteId;
