public boolean hasAccess(String queueName, QueueACL acl, UserGroupInformation user) { int lastPeriodIndex = queueName.length(); while (lastPeriodIndex != -1) { String queue = queueName.substring(0, lastPeriodIndex); if (getQueueAcl(queue, acl).isUserAllowed(user)) { return true; } lastPeriodIndex = queueName.lastIndexOf('.', lastPeriodIndex - 1); } return false; }
public boolean hasAccess(String queueName, QueueACL acl, UserGroupInformation user) { int lastPeriodIndex = queueName.length(); while (lastPeriodIndex != -1) { String queue = queueName.substring(0, lastPeriodIndex); if (getQueueAcl(queue, acl).isUserAllowed(user)) { return true; } lastPeriodIndex = queueName.lastIndexOf('.', lastPeriodIndex - 1); } return false; }
assertEquals(" ", queueConf.getQueueAcl("root.queueA", QueueACL.ADMINISTER_QUEUE).getAclString()); assertEquals(" ", queueConf.getQueueAcl("root.queueA", QueueACL.SUBMIT_APPLICATIONS).getAclString()); assertEquals("alice,bob admins", queueConf.getQueueAcl("root.queueB", QueueACL.ADMINISTER_QUEUE).getAclString()); assertEquals("alice,bob admins", queueConf.getQueueAcl("root.queueC", QueueACL.SUBMIT_APPLICATIONS).getAclString());
assertEquals("*", queueConf.getQueueAcl("root", QueueACL.ADMINISTER_QUEUE).getAclString()); assertEquals("*", queueConf.getQueueAcl("root", QueueACL.SUBMIT_APPLICATIONS).getAclString()); assertEquals(" ", queueConf.getQueueAcl("root.queueA", QueueACL.ADMINISTER_QUEUE).getAclString()); assertEquals(" ", queueConf.getQueueAcl("root.queueA", QueueACL.SUBMIT_APPLICATIONS).getAclString()); assertEquals("alice,bob admins", queueConf.getQueueAcl("root.queueB", QueueACL.ADMINISTER_QUEUE).getAclString()); assertEquals("alice,bob admins", queueConf.getQueueAcl("root.queueC", QueueACL.SUBMIT_APPLICATIONS).getAclString());