• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

evolvedbinary / elemental / 982

29 Apr 2025 08:34PM UTC coverage: 56.409% (+0.007%) from 56.402%
982

push

circleci

adamretter
[feature] Improve README.md badges

28451 of 55847 branches covered (50.94%)

Branch coverage included in aggregate %.

77468 of 131924 relevant lines covered (58.72%)

0.59 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/extensions/security/ldap/src/main/java/org/exist/security/realm/ldap/LDAPSearchContext.java
1
/*
2
 * Elemental
3
 * Copyright (C) 2024, Evolved Binary Ltd
4
 *
5
 * admin@evolvedbinary.com
6
 * https://www.evolvedbinary.com | https://www.elemental.xyz
7
 *
8
 * Use of this software is governed by the Business Source License 1.1
9
 * included in the LICENSE file and at www.mariadb.com/bsl11.
10
 *
11
 * Change Date: 2028-04-27
12
 *
13
 * On the date above, in accordance with the Business Source License, use
14
 * of this software will be governed by the Apache License, Version 2.0.
15
 *
16
 * Additional Use Grant: Production use of the Licensed Work for a permitted
17
 * purpose. A Permitted Purpose is any purpose other than a Competing Use.
18
 * A Competing Use means making the Software available to others in a commercial
19
 * product or service that: substitutes for the Software; substitutes for any
20
 * other product or service we offer using the Software that exists as of the
21
 * date we make the Software available; or offers the same or substantially
22
 * similar functionality as the Software.
23
 */
24
package org.exist.security.realm.ldap;
25

26
import javax.naming.NamingException;
27

28
import org.exist.config.Configurable;
29
import org.exist.config.Configuration;
30
import org.exist.config.Configurator;
31
import org.exist.config.annotation.ConfigurationClass;
32
import org.exist.config.annotation.ConfigurationFieldAsElement;
33

34
/**
35
 * @author <a href="mailto:adam@evolvedbinary.com">Adam retter</a>
36
 */
37
@ConfigurationClass("search")
38
public class LDAPSearchContext implements Configurable {
39

40
    @ConfigurationFieldAsElement("base")
×
41
    protected String base = null;
42

43
    @ConfigurationFieldAsElement("default-username")
×
44
    protected String defaultUsername = null;
45

46
    @ConfigurationFieldAsElement("default-password")
×
47
    protected String defaultPassword = null;
48

49
    @ConfigurationFieldAsElement("account")
×
50
    protected LDAPSearchAccount searchAccount = null;
51

52
    @ConfigurationFieldAsElement("group")
×
53
    protected LDAPSearchGroup searchGroup = null;
54

55
    private final Configuration configuration;
56

57
    public LDAPSearchContext(final Configuration config) {
×
58
        this.configuration = Configurator.configure(this, config);
×
59
    }
×
60

61
    public String getBase() {
62
        return base;
×
63
    }
64

65
    public String getAbsoluteBase() throws NamingException {
66
        if (getBase() != null) {
×
67
            int index;
68
            if ((index = getBase().indexOf("dc=")) >= 0) {
×
69
                return getBase().substring(index);
×
70
            }
71

72
            if ((index = getBase().indexOf("DC=")) >= 0) {
×
73
                return getBase().substring(index);
×
74
            }
75
        } else {
×
76
            throw new NamingException("no 'base' defined");
×
77
        }
78
        throw new NamingException("'base' have no 'dc=' or 'DC='");
×
79
    }
80

81
    public String getDefaultUsername() {
82
        return defaultUsername;
×
83
    }
84

85
    public String getDefaultPassword() {
86
        return defaultPassword;
×
87
    }
88

89
    public LDAPSearchAccount getSearchAccount() {
90
        return searchAccount;
×
91
    }
92

93
    public LDAPSearchGroup getSearchGroup() {
94
        return searchGroup;
×
95
    }
96

97
    @Override
98
    public boolean isConfigured() {
99
        return (configuration != null);
×
100
    }
101

102
    @Override
103
    public Configuration getConfiguration() {
104
        return configuration;
×
105
    }
106
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc