Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ZEPPELIN-6075] Configuration for global Roles #4808

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Reamer
Copy link
Contributor

@Reamer Reamer commented Sep 2, 2024

What is this PR for?

This PR adds global roles, which can be stored in the Zeppelin configuration.

What type of PR is it?

Feature

Todos

  • - Documentation

What is the Jira issue?

How should this be tested?

  • Ci

Questions:

  • Does the license files need to update? No
  • Is there breaking changes for older versions? No
  • Does this needs documentation? Yes

Copy link
Contributor

@seung-00 seung-00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our team needed this feature too. thank you for contributing. I've left a few simple comments for your review.

Comment on lines 327 to 311
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;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about using a collection like EnumSet instead of a switch statement to manage valid roles? IMO, this simplifies the code and makes it easier to add or modify roles in the future.

private static final Set<ZeppelinConfiguration.ConfVars> VALID_CONF_VARS = EnumSet.of(
      ZeppelinConfiguration.ConfVars.ZEPPELIN_OWNER_ROLES,
      ZeppelinConfiguration.ConfVars.ZEPPELIN_WRITER_ROLES,
      ZeppelinConfiguration.ConfVars.ZEPPELIN_READER_ROLES,
      ZeppelinConfiguration.ConfVars.ZEPPELIN_RUNNER_ROLES
  );

private Set<String> getDefaultRoles(ZeppelinConfiguration.ConfVars confvar) {
    if (!VALID_CONF_VARS.contains(confvar)) {
      LOGGER.warn("getDefaultRoles is used with {}, which is not valid", confvar);
      return Collections.emptySet();
    }
    ...
}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your review. I have adapted the code and agree with your statements.

Copy link
Contributor

@seung-00 seung-00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants