From a27481af0d1244d4dfbc21734c5d40134daddf77 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Wed, 28 Sep 2022 09:35:52 +0200 Subject: [PATCH] Prefer Java configuration over XML. Closes #347 --- src/main/asciidoc/index.adoc | 2 +- .../asciidoc/reference/ldap-repositories.adoc | 67 ++++++++++--------- .../repository/SimpleLdapRepositoryTests.java | 2 + 3 files changed, 38 insertions(+), 33 deletions(-) diff --git a/src/main/asciidoc/index.adoc b/src/main/asciidoc/index.adoc index 0cda3c9..99bcbb3 100644 --- a/src/main/asciidoc/index.adoc +++ b/src/main/asciidoc/index.adoc @@ -5,7 +5,7 @@ Mattias Hellborg Arthursson; Ulrik Sandberg; Eric Dalquist; Keith Barlow; Rob Wi ifdef::backend-epub3[:front-cover-image: image:epub-cover.png[Front Cover,1050,1600]] :spring-data-commons-docs: ../../../../spring-data-commons/src/main/asciidoc :spring-framework-docs: https://docs.spring.io/spring/docs/{springVersion}/spring-framework-reference/ - +:store: Ldap (C) 2008-2022 The original authors. diff --git a/src/main/asciidoc/reference/ldap-repositories.adoc b/src/main/asciidoc/reference/ldap-repositories.adoc index e146589..629b0a2 100644 --- a/src/main/asciidoc/reference/ldap-repositories.adoc +++ b/src/main/asciidoc/reference/ldap-repositories.adoc @@ -68,7 +68,34 @@ Right now, this interface serves only typing purposes, but we can add additional .General LDAP repository Spring configuration ==== -[source,xml] +.Java +[source,java,role="primary"] +---- +@Configuration +@EnableLdapRepositories("com.acme.*.repositories") +class MyConfig { + + @Bean + ContextSource contextSource() { + + LdapContextSource ldapContextSource = new LdapContextSource(); + + ldapContextSource.setUserDn("cn=Admin"); + ldapContextSource.setPassword("secret"); + ldapContextSource.setUrl("ldap://127.0.0.1:389"); + + return ldapContextSource; + } + + @Bean + LdapTemplate ldapTemplate(ContextSource contextSource) { + return new LdapTemplate(contextSource); + } +} +---- + +.XML +[source,xml,role="secondary"] ---- persons = repository.findAll(); assertThat(persons.isEmpty(), is(false)); @@ -158,7 +161,7 @@ Most of the data access operations you usually trigger on a repository result in ==== [source,java] ---- -public interface PersonRepository extends PagingAndSortingRepository { +interface PersonRepository extends PagingAndSortingRepository { List findByLastname(String lastname); <1> diff --git a/src/test/java/org/springframework/data/ldap/repository/SimpleLdapRepositoryTests.java b/src/test/java/org/springframework/data/ldap/repository/SimpleLdapRepositoryTests.java index 6fa5125..52e9585 100644 --- a/src/test/java/org/springframework/data/ldap/repository/SimpleLdapRepositoryTests.java +++ b/src/test/java/org/springframework/data/ldap/repository/SimpleLdapRepositoryTests.java @@ -60,6 +60,8 @@ class SimpleLdapRepositoryTests { @BeforeEach void prepareTestedInstance() { tested = new SimpleLdapRepository<>(ldapOperationsMock, odmMock, Object.class); + + } @Test