[ https://issues.apache.org/jira/browse/ZOOKEEPER-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15618783#comment-15618783 ]
ASF GitHub Bot commented on ZOOKEEPER-1525: ------------------------------------------- Github user Randgalt commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/84#discussion_r85649028 --- Diff: src/java/main/org/apache/zookeeper/server/auth/ProviderRegistry.java --- @@ -31,7 +31,15 @@ private static boolean initialized = false; private static HashMap<String, AuthenticationProvider> authenticationProviders = - new HashMap<String, AuthenticationProvider>(); + new HashMap<>(); + + //VisibleForTesting + public static void reset() { --- End diff -- I use it in the external code that I'm writing that uses this feature. I can see it being useful to others as well. Without it it's very difficult to write unit tests using custom auth plugins. > Plumb ZooKeeperServer object into auth plugins > ---------------------------------------------- > > Key: ZOOKEEPER-1525 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1525 > Project: ZooKeeper > Issue Type: Improvement > Affects Versions: 3.5.0 > Reporter: Warren Turkal > Assignee: Jordan Zimmerman > Fix For: 3.5.3, 3.6.0 > > Attachments: ZOOKEEPER-1525.patch, ZOOKEEPER-1525.patch, > ZOOKEEPER-1525.patch, ZOOKEEPER-1525.patch, ZOOKEEPER-1525.patch, > ZOOKEEPER-1525.patch, ZOOKEEPER-1525.patch > > > I want to plumb the ZooKeeperServer object into the auth plugins so that I > can store authentication data in zookeeper itself. With access to the > ZooKeeperServer object, I also have access to the ZKDatabase and can look up > entries in the local copy of the zookeeper data. > In order to implement this, I make sure that a ZooKeeperServer instance is > passed in to the ProviderRegistry.initialize() method. Then initialize() will > try to find a constructor for the AuthenticationProvider that takes a > ZooKeeperServer instance. If the constructor is found, it will be used. > Otherwise, initialize() will look for a constructor that takes no arguments > and use that instead. -- This message was sent by Atlassian JIRA (v6.3.4#6332)