Commit 6fa062bd authored by Adrian Damian's avatar Adrian Damian
Browse files

Merge branch 's1651' of /usr/cadc/dev/git/wopencadc into s1651

parents 3f5a20d7 9d7c2c0b
Loading
Loading
Loading
Loading
+42 −2
Original line number Diff line number Diff line
@@ -90,6 +90,9 @@ public class LdapConfig
    public static final String LDAP_GROUPS_DN = "groupsDn";
    public static final String LDAP_ADMIN_GROUPS_DN  = "adminGroupsDn";
    
    public static final String LDAP_AVAIL_TEST_GROUP  = "availabilityTestGroup";
    public static final String LDAP_AVAIL_TEST_CALLING_USER_DN  = "availabilityTestCallingUserDN";

    private String usersDN;
    private String groupsDN;
    private String adminGroupsDN;
@@ -98,6 +101,9 @@ public class LdapConfig
    private String adminUserDN;
    private String adminPasswd;
    
    private String availabilityTestGroup;
    private String availabilityTestCallingUserDN;

    public static LdapConfig getLdapConfig()
    {
        Properties config = new Properties();
@@ -168,14 +174,35 @@ public class LdapConfig
                                       LDAP_ADMIN_GROUPS_DN);
        }
        
        String availGroup = config.getProperty(LDAP_AVAIL_TEST_GROUP);
        if (!StringUtil.hasText(availGroup))
        {
            throw new RuntimeException("failed to read property " + 
                                       LDAP_AVAIL_TEST_GROUP);
        }
        
        String availUser = config.getProperty(LDAP_AVAIL_TEST_CALLING_USER_DN);
        if (!StringUtil.hasText(availUser))
        {
            throw new RuntimeException("failed to read property " + 
                                       LDAP_AVAIL_TEST_CALLING_USER_DN);
        }

        return new LdapConfig(server, Integer.valueOf(port), ldapAdmin, 
                              ldapPasswd, ldapUsersDn, ldapGroupsDn,
                              ldapAdminGroupsDn);
                              ldapAdminGroupsDn, availGroup, availUser);
    }
    
    public LdapConfig(String server, int port, String adminUserDN, 
            String adminPasswd, String usersDN, String groupsDN,
            String adminGroupsDN)
    {
        this(server, port, adminUserDN, adminPasswd, usersDN, groupsDN, adminGroupsDN, null, null);
    }

    public LdapConfig(String server, int port, String adminUserDN, 
                      String adminPasswd, String usersDN, String groupsDN,
                      String adminGroupsDN, String availGroup, String availUser)
    {
        if (!StringUtil.hasText(server))
        {
@@ -207,6 +234,7 @@ public class LdapConfig
            throw new IllegalArgumentException("Illegal admin groups LDAP DN");
        }
        

        this.server = server;
        this.port = port;
        this.adminUserDN = adminUserDN;
@@ -214,6 +242,8 @@ public class LdapConfig
        this.usersDN = usersDN;
        this.groupsDN = groupsDN;
        this.adminGroupsDN = adminGroupsDN;
        this.availabilityTestGroup = availGroup;
        this.availabilityTestCallingUserDN = availUser;
    }

    public String getUsersDN()
@@ -251,4 +281,14 @@ public class LdapConfig
        return this.adminPasswd;
    }
    
    public String getAvailabilityTestGroup()
    {
        return this.availabilityTestGroup;
    }
    
    public String getAvailabilityTestCallingUserDN()
    {
        return this.availabilityTestCallingUserDN;
    }

}