You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ha...@apache.org on 2015/04/12 06:47:05 UTC
directory-kerby git commit: DIRKRB-213 Getting identities from
zookeeper backend. Contributed by Jiajia
Repository: directory-kerby
Updated Branches:
refs/heads/master 6928f99b4 -> b61f74964
DIRKRB-213 Getting identities from zookeeper backend. Contributed by Jiajia
Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/b61f7496
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/b61f7496
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/b61f7496
Branch: refs/heads/master
Commit: b61f749647f39816d8de4b17e62bf5d7ac7ce930
Parents: 6928f99
Author: Lin <li...@foxmail.com>
Authored: Sun Apr 12 12:46:37 2015 +0800
Committer: Lin <li...@foxmail.com>
Committed: Sun Apr 12 12:46:37 2015 +0800
----------------------------------------------------------------------
.../kdc/identitybackend/IdentityZNodeHelper.java | 10 ++++++++++
.../kdc/identitybackend/ZookeeperIdentityBackend.java | 11 ++++++++++-
.../kerb/identity/backend/ZookeeperBackendTest.java | 5 +++++
3 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b61f7496/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/IdentityZNodeHelper.java
----------------------------------------------------------------------
diff --git a/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/IdentityZNodeHelper.java b/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/IdentityZNodeHelper.java
index 888f35a..dee09e1 100644
--- a/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/IdentityZNodeHelper.java
+++ b/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/IdentityZNodeHelper.java
@@ -19,6 +19,11 @@
*/
package org.apache.kerby.kerberos.kdc.identitybackend;
+import org.apache.zookeeper.KeeperException;
+import org.apache.zookeeper.ZooKeeper;
+
+import java.util.List;
+
public class IdentityZNodeHelper {
private final static String IDENTITIES_ZNODE_NAME = "identities";
@@ -94,4 +99,9 @@ public class IdentityZNodeHelper {
public static String getEncryptionKeyNoZNode(String principalName, String type) {
return ZKUtil.joinZNode(getKeyTypeZNode(principalName, type), ENCRYPTION_KEY_NO_ZNODE_NAME);
}
+
+ public static List<String> getIdentityNames(ZooKeeper zk) throws KeeperException {
+ List<String> identityNames = ZKUtil.listChildrenNoWatch(zk, getIdentitiesZNode());
+ return identityNames;
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b61f7496/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java b/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
index def02ad..47a507b 100644
--- a/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
+++ b/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
@@ -34,6 +34,7 @@ import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
+import java.util.Collections;
import java.util.List;
import java.util.Properties;
@@ -189,7 +190,15 @@ public class ZookeeperIdentityBackend extends AbstractIdentityBackend
@Override
public List<String> getIdentities(int start, int limit) {
- return null;
+ List<String> identityNames = null;
+ try {
+ // The identities getting from zookeeper is unordered
+ identityNames = IdentityZNodeHelper.getIdentityNames(zooKeeper);
+ } catch (KeeperException e) {
+ LOG.error("Fail to get identities from zookeeper", e);
+ }
+ Collections.sort(identityNames);
+ return identityNames.subList(start, limit);
}
private void setIdentity(KrbIdentity identity) throws KeeperException {
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b61f7496/kerby-backend/zookeeper-backend/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/ZookeeperBackendTest.java
----------------------------------------------------------------------
diff --git a/kerby-backend/zookeeper-backend/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/ZookeeperBackendTest.java b/kerby-backend/zookeeper-backend/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/ZookeeperBackendTest.java
index 6225845..cfaf576 100644
--- a/kerby-backend/zookeeper-backend/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/ZookeeperBackendTest.java
+++ b/kerby-backend/zookeeper-backend/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/ZookeeperBackendTest.java
@@ -78,4 +78,9 @@ public class ZookeeperBackendTest extends BackendTest {
public void testDelete() {
super.testDelete(backend);
}
+
+ @Test
+ public void testGetIdentities() {
+ super.testGetIdentities(backend);
+ }
}