-
Notifications
You must be signed in to change notification settings - Fork 614
/
RealmConfiguration.java
134 lines (111 loc) · 5.2 KB
/
RealmConfiguration.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package org.infinispan.server.configuration.security;
import java.util.Arrays;
import java.util.List;
import org.infinispan.commons.configuration.ConfigurationInfo;
import org.infinispan.commons.configuration.attributes.AttributeDefinition;
import org.infinispan.commons.configuration.attributes.AttributeSet;
import org.infinispan.commons.configuration.elements.DefaultElementDefinition;
import org.infinispan.commons.configuration.elements.ElementDefinition;
import org.infinispan.server.configuration.Element;
/**
* @since 10.0
*/
public class RealmConfiguration implements ConfigurationInfo {
static final AttributeDefinition<String> NAME = AttributeDefinition.builder("name", null, String.class).immutable().build();
static final AttributeDefinition<String> DEFAULT_REALM = AttributeDefinition.builder("defaultRealm", null, String.class).immutable().build();
static final AttributeDefinition<Integer> CACHE_MAX_SIZE = AttributeDefinition.builder("cacheMaxSize", 256).immutable().build();
static final AttributeDefinition<Long> CACHE_LIFESPAN = AttributeDefinition.builder("lifespan", -1l).immutable().build();
static AttributeSet attributeDefinitionSet() {
return new AttributeSet(RealmConfiguration.class, NAME, DEFAULT_REALM, CACHE_MAX_SIZE, CACHE_LIFESPAN);
}
private static ElementDefinition ELEMENT_DEFINITION = new DefaultElementDefinition(Element.SECURITY_REALM.toString());
private final AttributeSet attributes;
private final FileSystemRealmConfiguration fileSystemConfiguration;
private final LdapRealmConfiguration ldapConfiguration;
private final LocalRealmConfiguration localConfiguration;
private final TokenRealmConfiguration tokenConfiguration;
private final TrustStoreRealmConfiguration trustStoreConfiguration;
private final ServerIdentitiesConfiguration serverIdentitiesConfiguration;
private final PropertiesRealmConfiguration propertiesRealmConfiguration;
private final List<ConfigurationInfo> elements;
RealmConfiguration(AttributeSet attributes,
FileSystemRealmConfiguration fileSystemConfiguration,
LdapRealmConfiguration ldapConfiguration,
LocalRealmConfiguration localConfiguration,
TokenRealmConfiguration tokenConfiguration,
TrustStoreRealmConfiguration trustStoreConfiguration,
ServerIdentitiesConfiguration serverIdentitiesConfiguration,
PropertiesRealmConfiguration propertiesRealmConfiguration) {
this.attributes = attributes.checkProtection();
this.fileSystemConfiguration = fileSystemConfiguration;
this.ldapConfiguration = ldapConfiguration;
this.localConfiguration = localConfiguration;
this.tokenConfiguration = tokenConfiguration;
this.trustStoreConfiguration = trustStoreConfiguration;
this.serverIdentitiesConfiguration = serverIdentitiesConfiguration;
this.propertiesRealmConfiguration = propertiesRealmConfiguration;
this.elements = Arrays.asList(fileSystemConfiguration, ldapConfiguration, localConfiguration,
tokenConfiguration, trustStoreConfiguration, serverIdentitiesConfiguration,
propertiesRealmConfiguration);
}
@Override
public List<ConfigurationInfo> subElements() {
return elements;
}
public FileSystemRealmConfiguration fileSystemConfiguration() {
return fileSystemConfiguration;
}
public LdapRealmConfiguration ldapConfiguration() {
return ldapConfiguration;
}
public LocalRealmConfiguration localConfiguration() {
return localConfiguration;
}
public TokenRealmConfiguration tokenConfiguration() {
return tokenConfiguration;
}
public TrustStoreRealmConfiguration trustStoreConfiguration() {
return trustStoreConfiguration;
}
public ServerIdentitiesConfiguration serverIdentitiesConfiguration() {
return serverIdentitiesConfiguration;
}
public PropertiesRealmConfiguration propertiesRealm() {
return propertiesRealmConfiguration;
}
@Override
public AttributeSet attributes() {
return attributes;
}
public String name() {
return attributes.attribute(NAME).get();
}
@Override
public ElementDefinition getElementDefinition() {
return ELEMENT_DEFINITION;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
RealmConfiguration that = (RealmConfiguration) o;
return attributes.equals(that.attributes);
}
@Override
public int hashCode() {
return attributes.hashCode();
}
@Override
public String toString() {
return "RealmConfiguration{" +
"attributes=" + attributes +
", fileSystemConfiguration=" + fileSystemConfiguration +
", ldapConfiguration=" + ldapConfiguration +
", localConfiguration=" + localConfiguration +
", tokenConfiguration=" + tokenConfiguration +
", trustStoreConfiguration=" + trustStoreConfiguration +
", serverIdentitiesConfiguration=" + serverIdentitiesConfiguration +
", propertiesRealmConfiguration=" + propertiesRealmConfiguration +
'}';
}
}