Как разбить на страницы весной ldap, используя значение пропуска

Может ли кто-нибудь помочь мне в том, как я могу найти запись из LDAP с помощью springldap.

Моя проблема в том, что я создал службу отдыха, и она принимает некоторый параметр. Один смещенный, а другой предельный. Параметр смещения экранирует некоторую запись, например, если на моем сервере ldap есть запись 500. Теперь, если я даю значение смещения 1, а LIMIT равно 100, тогда он должен дать первые 100 записей из ldap. Если я даю значение смещения 100, а LIMIT равно 100, то он должен дать 100 записей после первых 100 записей из ldap. Если я даю значение смещения 50, а LIMIT равно 10, то должно быть 10 записей после первых 50 записей из ldap.

Я застрял в том, как установить значение смещения в шаблоне spring ldap. Я установил предельное значение, и он работает нормально.

Я делюсь миром кода.

public OrganisationGroups getOrganisationGroup() 
{

    SearchControls controls = new SearchControls();

    controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
    controls.setCountLimit(MAXIMUM_SEARCH_GROUP_COUNT);
    AndFilter filter = new AndFilter();
    filter.and(new EqualsFilter("objectclass", "groupOfUniqueNames"));
    List<OrganisationGroup> organisationGroup = ldapTemplate.search("", filter.toString(), controls, new GroupSearchMapper());

    OrganisationGroups groups = new OrganisationGroups();
    groups.setOrganisationGroup(organisationGroup);
    groups.setCount(organisationGroup.size());
    return groups;
}

В этом коде я установил переменную MAXIMUM_SEARCH_GROUP_COUNT, чтобы узнать максимальную запись из ldap. Но я не могу установить параметр или каким-либо другим образом избежать некоторых записей с самого начала.


person sharmav    schedule 06.04.2016    source источник


Ответы (1)


Лучше всего использовать элемент управления запросами Virtual List View (ссылка на спецификация), также известная как VLV. Обратите внимание, что для использования VLV вам потребуется внести изменения в конфигурацию вашего сервера LDAP (я предполагаю, что вы используете OpenDJ, который поддерживает VLV).

Пример кода для провайдера JNDI LDAP с контролем запросов VLV находится по адресу форум.

person Bertold Kolics    schedule 01.05.2016