|
static List< ModelNode > | convertJsonConfig (String json, PathAddress subsysAddress) throws IOException |
|
|
static ModelNode | masterRealmName (JsonNode root, PathAddress addr) |
|
static ModelNode | scheduledTaskInterval (JsonNode root, PathAddress addr) |
|
static ModelNode | providers (JsonNode root, PathAddress addr) |
|
static ModelNode | theme (JsonNode root, PathAddress addr) |
|
static ModelNode | themeModules (JsonNode modulesNode) |
|
static Collection< ModelNode > | spis (JsonNode root, PathAddress addr) |
|
static List< ModelNode > | spi (JsonNode root, PathAddress spiAddr, String spiName) |
|
static ModelNode | spiProvider (JsonNode providerNode, PathAddress providerAddr) |
|
static String | makeArrayText (JsonNode arrayNode) |
|
static JsonNode | getNode (JsonNode root, String... path) |
|
|
static final List< String > | NON_SPI_LIST = new ArrayList<>() |
|
Converts json representation of Keycloak config to DMR operations.
- 著者
- Stan Silvert ssilv.nosp@m.ert@.nosp@m.redha.nosp@m.t.co.nosp@m.m (C) 2016 Red Hat Inc.
◆ [static initializer]()
org.keycloak.subsystem.server.extension.JsonConfigConverter.[static initializer] |
( |
| ) |
|
|
inlinestaticpackage |
◆ convertJsonConfig()
static List<ModelNode> org.keycloak.subsystem.server.extension.JsonConfigConverter.convertJsonConfig |
( |
String |
json, |
|
|
PathAddress |
subsysAddress |
|
) |
| throws IOException |
|
inlinestatic |
Convert keycloak-server.json to DMR operations that write to standalone.xml or domain.xml.
- 引数
-
json | The json representation of the config. |
subsysAddress | The management model address of the keycloak-server subsystem. |
- 戻り値
- A list of DMR operations.
- 例外
-
IOException | If the json can not be parsed. |
69 List<ModelNode> list =
new ArrayList<>();
71 JsonNode root =
new ObjectMapper().readTree(json);
76 list.add(
theme(root, subsysAddress.append(ThemeResourceDefinition.TAG_NAME,
77 ThemeResourceDefinition.RESOURCE_NAME)));
78 list.addAll(
spis(root, subsysAddress));
static Collection< ModelNode > spis(JsonNode root, PathAddress addr)
Definition: JsonConfigConverter.java:167
static ModelNode scheduledTaskInterval(JsonNode root, PathAddress addr)
Definition: JsonConfigConverter.java:94
static ModelNode theme(JsonNode root, PathAddress addr)
Definition: JsonConfigConverter.java:121
static ModelNode masterRealmName(JsonNode root, PathAddress addr)
Definition: JsonConfigConverter.java:83
static ModelNode providers(JsonNode root, PathAddress addr)
Definition: JsonConfigConverter.java:105
◆ getNode()
static JsonNode org.keycloak.subsystem.server.extension.JsonConfigConverter.getNode |
( |
JsonNode |
root, |
|
|
String... |
path |
|
) |
| |
|
inlinestaticprivate |
253 for (String p : path) {
◆ makeArrayText()
static String org.keycloak.subsystem.server.extension.JsonConfigConverter.makeArrayText |
( |
JsonNode |
arrayNode | ) |
|
|
inlinestaticprivate |
233 StringBuilder builder =
new StringBuilder(
"[");
235 Iterator<JsonNode> nodes = arrayNode.iterator();
236 while (nodes.hasNext()) {
237 JsonNode node = nodes.next();
238 builder.append(
"\"");
239 builder.append(node.asText());
240 builder.append(
"\"");
241 if (nodes.hasNext()) builder.append(
",");
245 return builder.toString();
◆ masterRealmName()
static ModelNode org.keycloak.subsystem.server.extension.JsonConfigConverter.masterRealmName |
( |
JsonNode |
root, |
|
|
PathAddress |
addr |
|
) |
| |
|
inlinestaticprivate |
84 JsonNode targetNode =
getNode(root,
"admin",
"realm");
85 String value = MASTER_REALM_NAME.getDefaultValue().asString();
86 if (targetNode != null) value = targetNode.asText(value);
88 ModelNode op = Util.createOperation(WRITE_ATTRIBUTE_OPERATION, addr);
89 op.get(
"name").set(MASTER_REALM_NAME.getName());
90 op.get(
"value").set(value);
static JsonNode getNode(JsonNode root, String... path)
Definition: JsonConfigConverter.java:248
◆ providers()
static ModelNode org.keycloak.subsystem.server.extension.JsonConfigConverter.providers |
( |
JsonNode |
root, |
|
|
PathAddress |
addr |
|
) |
| |
|
inlinestaticprivate |
106 JsonNode targetNode =
getNode(root,
"providers");
107 ModelNode value = PROVIDERS.getDefaultValue();
108 if (targetNode != null && targetNode.isArray()) {
109 value =
new ModelNode();
110 for (JsonNode node : targetNode) {
111 value.add(node.asText());
115 ModelNode op = Util.createOperation(WRITE_ATTRIBUTE_OPERATION, addr);
116 op.get(
"name").set(PROVIDERS.getName());
117 op.get(
"value").set(value);
static JsonNode getNode(JsonNode root, String... path)
Definition: JsonConfigConverter.java:248
◆ scheduledTaskInterval()
static ModelNode org.keycloak.subsystem.server.extension.JsonConfigConverter.scheduledTaskInterval |
( |
JsonNode |
root, |
|
|
PathAddress |
addr |
|
) |
| |
|
inlinestaticprivate |
95 JsonNode targetNode =
getNode(root,
"scheduled",
"interval");
96 Long value = SCHEDULED_TASK_INTERVAL.getDefaultValue().asLong();
97 if (targetNode != null) value = targetNode.asLong(value);
99 ModelNode op = Util.createOperation(WRITE_ATTRIBUTE_OPERATION, addr);
100 op.get(
"name").set(SCHEDULED_TASK_INTERVAL.getName());
101 op.get(
"value").set(value);
static JsonNode getNode(JsonNode root, String... path)
Definition: JsonConfigConverter.java:248
◆ spi()
static List<ModelNode> org.keycloak.subsystem.server.extension.JsonConfigConverter.spi |
( |
JsonNode |
root, |
|
|
PathAddress |
spiAddr, |
|
|
String |
spiName |
|
) |
| |
|
inlinestaticprivate |
183 List<ModelNode> spiAndProviders =
new ArrayList<>();
184 ModelNode op = Util.createAddOperation(spiAddr);
185 spiAndProviders.add(op);
187 Iterator<String> providerIterator = root.get(spiName).fieldNames();
188 while (providerIterator.hasNext()) {
189 String providerName = providerIterator.next();
190 if (
"provider".equals(providerName)) {
191 op.get(SpiResourceDefinition.DEFAULT_PROVIDER.getName()).
set(
getNode(root, spiName,
"provider").asText());
193 PathAddress providerAddr = spiAddr.append(
"provider", providerName);
198 return spiAndProviders;
static JsonNode getNode(JsonNode root, String... path)
Definition: JsonConfigConverter.java:248
static ModelNode spiProvider(JsonNode providerNode, PathAddress providerAddr)
Definition: JsonConfigConverter.java:201
◆ spiProvider()
static ModelNode org.keycloak.subsystem.server.extension.JsonConfigConverter.spiProvider |
( |
JsonNode |
providerNode, |
|
|
PathAddress |
providerAddr |
|
) |
| |
|
inlinestaticprivate |
202 ModelNode op = Util.createAddOperation(providerAddr);
204 ModelNode properties =
new ModelNode();
206 Iterator<String> propNames = providerNode.fieldNames();
207 while (propNames.hasNext()) {
208 String propName = propNames.next();
210 if (
"enabled".equals(propName)) {
211 op.get(ProviderResourceDefinition.ENABLED.getName()).
set(providerNode.get(propName).asBoolean());
213 if (providerNode.get(propName).isArray()) {
214 properties.get(propName).set(
makeArrayText(providerNode.get(propName)));
216 properties.get(propName).set(providerNode.get(propName).asText());
221 if (properties.isDefined() && !properties.asPropertyList().isEmpty()) {
222 op.get(
"properties").set(properties);
225 if (!op.hasDefined(ProviderResourceDefinition.ENABLED.getName())) {
226 op.get(ProviderResourceDefinition.ENABLED.getName()).
set(ProviderResourceDefinition.ENABLED.getDefaultValue());
static String makeArrayText(JsonNode arrayNode)
Definition: JsonConfigConverter.java:232
◆ spis()
static Collection<ModelNode> org.keycloak.subsystem.server.extension.JsonConfigConverter.spis |
( |
JsonNode |
root, |
|
|
PathAddress |
addr |
|
) |
| |
|
inlinestaticprivate |
168 List<ModelNode>
spis =
new ArrayList<>();
170 Iterator<String> spiIterator = root.fieldNames();
171 while (spiIterator.hasNext()) {
172 String spiName = spiIterator.next();
175 PathAddress spiAddr = addr.append(
"spi", spiName);
176 spis.addAll(
spi(root, spiAddr, spiName));
static Collection< ModelNode > spis(JsonNode root, PathAddress addr)
Definition: JsonConfigConverter.java:167
static final List< String > NON_SPI_LIST
Definition: JsonConfigConverter.java:50
static List< ModelNode > spi(JsonNode root, PathAddress spiAddr, String spiName)
Definition: JsonConfigConverter.java:182
◆ theme()
static ModelNode org.keycloak.subsystem.server.extension.JsonConfigConverter.theme |
( |
JsonNode |
root, |
|
|
PathAddress |
addr |
|
) |
| |
|
inlinestaticprivate |
122 JsonNode themeNode =
getNode(root,
"theme");
123 ModelNode op = Util.createAddOperation(addr);
125 JsonNode targetNode =
getNode(themeNode,
"staticMaxAge");
126 Long lValue = STATIC_MAX_AGE.getDefaultValue().asLong();
127 if (targetNode != null) lValue = targetNode.asLong(lValue);
128 op.get(STATIC_MAX_AGE.getName()).
set(lValue);
130 targetNode =
getNode(themeNode,
"cacheTemplates");
131 Boolean bValue = CACHE_TEMPLATES.getDefaultValue().asBoolean();
132 if (targetNode != null) bValue = targetNode.asBoolean(bValue);
133 op.get(CACHE_TEMPLATES.getName()).
set(bValue);
135 targetNode =
getNode(themeNode,
"cacheThemes");
136 bValue = CACHE_THEMES.getDefaultValue().asBoolean();
137 if (targetNode != null) bValue = targetNode.asBoolean(bValue);
138 op.get(CACHE_THEMES.getName()).
set(bValue);
140 targetNode =
getNode(themeNode,
"folder",
"dir");
141 String sValue = DIR.getDefaultValue().asString();
142 if (targetNode != null) sValue = targetNode.asText(sValue);
143 op.get(DIR.getName()).
set(sValue);
145 targetNode =
getNode(themeNode,
"welcomeTheme");
146 if (targetNode != null) op.get(WELCOME_THEME.getName()).
set(targetNode.asText());
148 targetNode =
getNode(themeNode,
"default");
149 if (targetNode != null) op.get(DEFAULT.getName()).
set(targetNode.asText());
151 targetNode =
getNode(themeNode,
"module",
"modules");
152 if (targetNode != null && targetNode.isArray()) {
153 op.get(MODULES.getName()).
set(
themeModules(targetNode));
static ModelNode themeModules(JsonNode modulesNode)
Definition: JsonConfigConverter.java:159
static JsonNode getNode(JsonNode root, String... path)
Definition: JsonConfigConverter.java:248
◆ themeModules()
static ModelNode org.keycloak.subsystem.server.extension.JsonConfigConverter.themeModules |
( |
JsonNode |
modulesNode | ) |
|
|
inlinestaticprivate |
160 ModelNode modules =
new ModelNode();
161 for (JsonNode node : modulesNode) {
162 modules.add(node.asText());
◆ NON_SPI_LIST
final List<String> org.keycloak.subsystem.server.extension.JsonConfigConverter.NON_SPI_LIST = new ArrayList<>() |
|
staticprivate |
このクラス詳解は次のファイルから抽出されました: