Arjun Mishra created SENTRY-2278:
------------------------------------

             Summary: SentryPolicyServiceClientDefaultImpl 
setupSentryAuthorizable methods always returns a single TSentryAuthorizable for 
a list of authorizable
                 Key: SENTRY-2278
                 URL: https://issues.apache.org/jira/browse/SENTRY-2278
             Project: Sentry
          Issue Type: Bug
          Components: Sentry
    Affects Versions: 2.1.0
            Reporter: Arjun Mishra
            Assignee: Arjun Mishra
             Fix For: 2.1.0


Looking at the current implementation of 
SentryPolicyServiceClientDefaultImpl#setupSentryAuthorizable we get a list of 
authorizables but only have a single instance of TSentryAuthorizable which 
wrongly overwrites values in the for loop

{noformat}
public static TSentryAuthorizable setupSentryAuthorizable(
    List<? extends Authorizable> authorizable) {
    TSentryAuthorizable tSentryAuthorizable = new TSentryAuthorizable();

    for (Authorizable authzble : authorizable) {
      if (authzble.getTypeName().equalsIgnoreCase(
        DBModelAuthorizable.AuthorizableType.Server.toString())) {
        tSentryAuthorizable.setServer(authzble.getName());
      } else if (authzble.getTypeName().equalsIgnoreCase(
        DBModelAuthorizable.AuthorizableType.URI.toString())) {
        tSentryAuthorizable.setUri(authzble.getName());
      } else if (authzble.getTypeName().equalsIgnoreCase(
        DBModelAuthorizable.AuthorizableType.Db.toString())) {
        tSentryAuthorizable.setDb(authzble.getName());
      } else if (authzble.getTypeName().equalsIgnoreCase(
        DBModelAuthorizable.AuthorizableType.Table.toString())) {
        tSentryAuthorizable.setTable(authzble.getName());
      } else if (authzble.getTypeName().equalsIgnoreCase(
        DBModelAuthorizable.AuthorizableType.Column.toString())) {
        tSentryAuthorizable.setColumn(authzble.getName());
      }
    }
    return tSentryAuthorizable;
  }
{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to