You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pl...@apache.org on 2015/07/02 07:43:57 UTC
directory-kerby git commit: [DIRKRB-310]-Having getIdentities method
to implement page search in the backend. Contributed by Yaning.
Repository: directory-kerby
Updated Branches:
refs/heads/master dca5fdb56 -> 9170df749
[DIRKRB-310]-Having getIdentities method to implement page search in the backend. Contributed by Yaning.
Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/9170df74
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/9170df74
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/9170df74
Branch: refs/heads/master
Commit: 9170df7491903d23f44b72bcd1d1305d5ef797d6
Parents: dca5fdb
Author: plusplusjiajia <ji...@intel.com>
Authored: Thu Jul 2 13:49:24 2015 +0800
Committer: plusplusjiajia <ji...@intel.com>
Committed: Thu Jul 2 13:49:24 2015 +0800
----------------------------------------------------------------------
.../identitybackend/JsonIdentityBackend.java | 23 +++++++-------------
.../identitybackend/LdapIdentityBackend.java | 16 ++++++++++----
.../java/org/apache/kerby/MavibotBackend.java | 20 ++++-------------
.../ZookeeperIdentityBackend.java | 10 +++++++--
.../kerby/kerberos/kerb/admin/Kadmin.java | 4 ++--
.../kerb/identity/backend/BackendTest.java | 4 ++--
.../kerberos/kerb/identity/IdentityService.java | 7 ------
.../identity/backend/MemoryIdentityBackend.java | 4 ++--
8 files changed, 38 insertions(+), 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9170df74/kerby-backend/json-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/JsonIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-backend/json-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/JsonIdentityBackend.java b/kerby-backend/json-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/JsonIdentityBackend.java
index 63ca31e..199c72f 100644
--- a/kerby-backend/json-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/JsonIdentityBackend.java
+++ b/kerby-backend/json-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/JsonIdentityBackend.java
@@ -36,7 +36,6 @@ import org.apache.kerby.util.IOUtil;
import java.io.File;
import java.io.IOException;
import java.util.*;
-import java.util.Map.Entry;
/**
* A Json file based backend implementation.
@@ -163,27 +162,21 @@ public class JsonIdentityBackend extends AbstractIdentityBackend {
idsToFile(ids);
}
+ /**
+ * {@inheritDoc}
+ */
@Override
public List<String> getIdentities(int start, int limit) {
- LinkedHashMap<String, KrbIdentity> linkedIds = (LinkedHashMap<String, KrbIdentity>) ids;
- Iterator<Entry<String, KrbIdentity>> iterator = linkedIds.entrySet().iterator();
-
- int index = 0;
- for(; index < start; index++) {
- iterator.next();
- }
+ List<String> principals =getIdentities();
- List<String> principals = new ArrayList<>();
- for (; index < limit; index++) {
- Entry<String, KrbIdentity> entry = iterator.next();
- principals.add(entry.getKey());
+ if (limit == -1) {
+ return principals;
}
- return principals;
+ return getIdentities().subList(start, start + limit);
}
- @Override
- public List<String> getIdentities() {
+ private List<String> getIdentities() {
List<String> principals = new ArrayList<>(ids.keySet());
Collections.sort(principals);
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9170df74/kerby-backend/ldap-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/LdapIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-backend/ldap-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/LdapIdentityBackend.java b/kerby-backend/ldap-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/LdapIdentityBackend.java
index f942151..4ebd35c 100644
--- a/kerby-backend/ldap-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/LdapIdentityBackend.java
+++ b/kerby-backend/ldap-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/LdapIdentityBackend.java
@@ -250,14 +250,22 @@ public class LdapIdentityBackend extends AbstractIdentityBackend {
return dn;
}
+ /**
+ * {@inheritDoc}
+ */
@Override
public List<String> getIdentities(int start, int limit) {
- List<String> identityNames = getIdentities();
- return identityNames.subList(start, limit);
+ List<String> identities = getIdentities();
+
+ if (limit == -1) {
+ return identities;
+ }
+
+ return getIdentities().subList(start, start + limit);
}
- @Override
- public List<String> getIdentities() {
+
+ private List<String> getIdentities() {
List<String> identityNames = new ArrayList<>();
EntryCursor cursor;
Entry entry;
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9170df74/kerby-backend/mavibot/src/main/java/org/apache/kerby/MavibotBackend.java
----------------------------------------------------------------------
diff --git a/kerby-backend/mavibot/src/main/java/org/apache/kerby/MavibotBackend.java b/kerby-backend/mavibot/src/main/java/org/apache/kerby/MavibotBackend.java
index 5f1d2e1..50aef65 100644
--- a/kerby-backend/mavibot/src/main/java/org/apache/kerby/MavibotBackend.java
+++ b/kerby-backend/mavibot/src/main/java/org/apache/kerby/MavibotBackend.java
@@ -19,18 +19,14 @@
*/
package org.apache.kerby;
-import java.io.File;
-import java.util.List;
-
-import org.apache.directory.mavibot.btree.BTree;
-import org.apache.directory.mavibot.btree.BTreeFactory;
-import org.apache.directory.mavibot.btree.BTreeTypeEnum;
-import org.apache.directory.mavibot.btree.PersistedBTreeConfiguration;
-import org.apache.directory.mavibot.btree.RecordManager;
+import org.apache.directory.mavibot.btree.*;
import org.apache.directory.mavibot.btree.serializer.StringSerializer;
import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
import org.apache.kerby.kerberos.kerb.identity.backend.AbstractIdentityBackend;
+import java.io.File;
+import java.util.List;
+
/**
* A backend based on Apache Mavibot(an MVCC BTree library).
*
@@ -99,14 +95,6 @@ public class MavibotBackend extends AbstractIdentityBackend {
* {@inheritDoc}
*/
@Override
- public List<String> getIdentities() {
- return null;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
protected KrbIdentity doGetIdentity(String principalName) {
return null;
}
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9170df74/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 06e9d4d..d7e6864 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
@@ -242,12 +242,18 @@ public class ZookeeperIdentityBackend extends AbstractIdentityBackend
}
}
+ /**
+ * {@inheritDoc}
+ */
@Override
public List<String> getIdentities(int start, int limit) {
- return getIdentities().subList(start, limit);
+ if (limit == -1) {
+ return getIdentities();
+ }
+
+ return getIdentities().subList(start, start + limit);
}
- @Override
public List<String> getIdentities() {
List<String> identityNames = null;
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9170df74/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/Kadmin.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/Kadmin.java b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/Kadmin.java
index 83ead42..030bd18 100644
--- a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/Kadmin.java
+++ b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/Kadmin.java
@@ -170,7 +170,7 @@ public class Kadmin {
public void exportKeytab(File keytabFile) throws KrbException {
Keytab keytab = AdminHelper.createOrLoadKeytab(keytabFile);
- List<String> principals = backend.getIdentities();
+ List<String> principals = backend.getIdentities(0, -1);
for (String principal : principals) {
KrbIdentity identity = backend.getIdentity(principal);
if (identity != null) {
@@ -243,7 +243,7 @@ public class Kadmin {
}
public List<String> getPrincipals() throws KrbException {
- List<String> principalNames = backend.getIdentities();
+ List<String> principalNames = backend.getIdentities(0, -1);
return principalNames;
}
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9170df74/kerby-kerb/kerb-identity-test/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTest.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity-test/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTest.java b/kerby-kerb/kerb-identity-test/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTest.java
index b87e071..8960060 100644
--- a/kerby-kerb/kerb-identity-test/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTest.java
+++ b/kerby-kerb/kerb-identity-test/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTest.java
@@ -117,7 +117,7 @@ public abstract class BackendTest {
// clear the identity cache.
backend.release();
- List<String> principals = backend.getIdentities(2, 5);
+ List<String> principals = backend.getIdentities(2, 3);
assertThat(principals).hasSize(3)
.contains(identities[2].getPrincipalName())
.contains(identities[3].getPrincipalName())
@@ -165,7 +165,7 @@ public abstract class BackendTest {
}
protected void cleanIdentities(IdentityBackend backend) {
- List<String> identities = backend.getIdentities();
+ List<String> identities = backend.getIdentities(0, -1);
if (identities != null) {
for (String identity : identities) {
backend.deleteIdentity(identity);
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9170df74/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/IdentityService.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/IdentityService.java b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/IdentityService.java
index 9086fdc..6083cf0 100644
--- a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/IdentityService.java
+++ b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/IdentityService.java
@@ -34,13 +34,6 @@ public interface IdentityService {
List<String> getIdentities(int start, int limit);
/**
- * Get the identity principal names,
- * Note it's ordered by principal name.
- * @return principal names
- */
- List<String> getIdentities();
-
- /**
* Get the identity account specified by name.
* @param principalName
* @return identity
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9170df74/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/MemoryIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/MemoryIdentityBackend.java b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/MemoryIdentityBackend.java
index cb6e52c..0678c89 100644
--- a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/MemoryIdentityBackend.java
+++ b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/MemoryIdentityBackend.java
@@ -60,8 +60,8 @@ public class MemoryIdentityBackend extends AbstractIdentityBackend {
return getIdentities().subList(start, limit);
}
- @Override
- public List<String> getIdentities() {
+
+ private List<String> getIdentities() {
List<String> identities = new ArrayList<>(getCache().keySet());
Collections.sort(identities);
return identities;