1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.bremersee.dccon.repository.ldap.transcoder;
18
19 import lombok.extern.slf4j.Slf4j;
20 import org.bremersee.data.ldaptive.LdaptiveEntryMapper;
21 import org.bremersee.dccon.config.DomainControllerProperties;
22 import org.ldaptive.io.AbstractStringValueTranscoder;
23 import org.springframework.util.StringUtils;
24
25
26
27
28
29
30 @Slf4j
31 public class GroupMemberValueTranscoder extends AbstractStringValueTranscoder<String> {
32
33 private DomainControllerProperties properties;
34
35
36
37
38
39
40 public GroupMemberValueTranscoder(DomainControllerProperties properties) {
41 this.properties = properties;
42 }
43
44 @Override
45 public String decodeStringValue(String value) {
46 return LdaptiveEntryMapper.getRdn(value);
47 }
48
49 @Override
50 public String encodeStringValue(String value) {
51 if (StringUtils.hasText(value)) {
52 return LdaptiveEntryMapper
53 .createDn(properties.getUserRdn(), value, properties.getUserBaseDn());
54 }
55 return null;
56 }
57
58 @Override
59 public Class<String> getType() {
60 return String.class;
61 }
62
63 }