diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/AuthorizationService.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/AuthorizationService.java index e58a4ea7e64..3cba252672c 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/AuthorizationService.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/AuthorizationService.java @@ -27,6 +27,7 @@ import javax.inject.Inject; import java.io.IOException; import java.util.Collections; +import java.util.EnumSet; import java.util.HashSet; import java.util.Map; import java.util.Set; @@ -44,6 +45,12 @@ public class AuthorizationService { private final ZeppelinConfiguration zConf; private final ConfigStorage configStorage; + private static final Set VALID_ROLES_CONF_VARS = EnumSet.of( + ZeppelinConfiguration.ConfVars.ZEPPELIN_OWNER_ROLES, + ZeppelinConfiguration.ConfVars.ZEPPELIN_WRITER_ROLES, + ZeppelinConfiguration.ConfVars.ZEPPELIN_READER_ROLES, + ZeppelinConfiguration.ConfVars.ZEPPELIN_RUNNER_ROLES); + // contains roles for each user (username --> roles) private Map> userRoles = new ConcurrentHashMap<>(); @@ -107,9 +114,9 @@ public void removeNoteAuth(String noteId) { private Set normalizeUsers(Set users) { Set returnUser = new HashSet<>(); for (String user : users) { - String trimedUser = user.trim(); - if (!trimedUser.isEmpty()) { - returnUser.add(trimedUser); + String trimmedUser = user.trim(); + if (!trimmedUser.isEmpty()) { + returnUser.add(trimmedUser); } } return returnUser; @@ -298,19 +305,12 @@ private Set getDefaultRunners() { } private Set getDefaultRoles(ZeppelinConfiguration.ConfVars confvar) { - Set defaultRoles = new HashSet<>(); - String defaultRolesConf = null; - switch (confvar) { - case ZEPPELIN_OWNER_ROLES: - case ZEPPELIN_WRITER_ROLES: - case ZEPPELIN_READER_ROLES: - case ZEPPELIN_RUNNER_ROLES: - defaultRolesConf = zConf.getString(confvar); - break; - default: - LOGGER.warn("getDefaultRoles is used with {}, which is not valid", confvar); - break; + if (!VALID_ROLES_CONF_VARS.contains(confvar)) { + LOGGER.warn("getDefaultRoles is used with {}, which is not valid", confvar); + return Collections.emptySet(); } + Set defaultRoles = new HashSet<>(); + String defaultRolesConf = zConf.getString(confvar); if (StringUtils.isNotBlank(defaultRolesConf)) { Collections.addAll(defaultRoles, StringUtils.split(defaultRolesConf, ',')); }