ServerUtil(ModelNode operation) { this.deploymentName = getDeploymentName(operation); this.subsysModule = findSubsysModule(); this.serverWar = findServerWarUri(); }
protected KeycloakSubsystemDefinition() { super(KeycloakExtension.PATH_SUBSYSTEM, KeycloakExtension.getResourceDescriptionResolver("subsystem"), KeycloakSubsystemAdd.INSTANCE, KeycloakSubsystemRemoveHandler.INSTANCE ); }
static void addStepToRedeployServerWar(OperationContext context, String deploymentName) { addDeploymentAction(context, REDEPLOY, deploymentName); }
@Override protected void performRemove(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { String deploymentName = ServerUtil.getDeploymentName(operation); KeycloakAdapterConfigService.INSTANCE.setWebContext(null); if (requiresRuntime(context)) { // don't do this on a domain controller addStepToRemoveServerWar(context, deploymentName); } super.performRemove(context, operation, model); }
@Override protected void finishModelStage(OperationContext context, ModelNode operation, String attributeName, ModelNode newValue, ModelNode oldValue, Resource model) throws OperationFailedException { if (!context.isNormalServer() || attribNotChanging(attributeName, newValue, oldValue)) { super.finishModelStage(context, operation, attributeName, newValue, oldValue, model); return; } String deploymentName = ServerUtil.getDeploymentName(operation); if (attributeName.equals(KeycloakSubsystemDefinition.WEB_CONTEXT.getName())) { KeycloakAdapterConfigService.INSTANCE.setWebContext(newValue.asString()); ServerUtil.addStepToRedeployServerWar(context, deploymentName); } super.finishModelStage(context, operation, attributeName, newValue, oldValue, model); }
@Override protected void execute(DeploymentProcessorTarget processorTarget) { processorTarget.addDeploymentProcessor(SUBSYSTEM_NAME, Phase.DEPENDENCIES, 0, new KeycloakProviderDependencyProcessor()); processorTarget.addDeploymentProcessor(SUBSYSTEM_NAME, Phase.POST_MODULE, // PHASE Phase.POST_MODULE_VALIDATOR_FACTORY - 2, // PRIORITY new KeycloakProviderDeploymentProcessor()); processorTarget.addDeploymentProcessor(SUBSYSTEM_NAME, Phase.POST_MODULE, // PHASE Phase.POST_MODULE_VALIDATOR_FACTORY - 1, // PRIORITY new KeycloakServerDeploymentProcessor()); } }, OperationContext.Stage.RUNTIME);
ModelNode getConfig() { ModelNode copy = fullConfig.clone(); //System.out.println("******** BEFORE *************"); //System.out.println(copy); //System.out.println("*****************************"); copy.remove("web-context"); massageScheduledTaskInterval(copy); massageMasterRealm(copy); massageTheme(copy); massageSpis(copy); //System.out.println("******** JSON *************"); //System.out.println(copy.resolve().toJSONString(false)); //System.out.println("**********************"); return copy; }
@Override protected void execute(DeploymentProcessorTarget processorTarget) { processorTarget.addDeploymentProcessor(SUBSYSTEM_NAME, Phase.POST_MODULE, // PHASE Phase.POST_MODULE_VALIDATOR_FACTORY - 1, // PRIORITY new KeycloakServerDeploymentProcessor()); } }, OperationContext.Stage.RUNTIME);
/** * {@inheritDoc} */ @Override public void writeContent(final XMLExtendedStreamWriter writer, final SubsystemMarshallingContext context) throws XMLStreamException { context.startSubsystemElement(KeycloakExtension.NAMESPACE, false); writeWebContext(writer, context); writer.writeEndElement(); }
private void readModules(final XMLExtendedStreamReader reader, ModelNode addThemeDefaults) throws XMLStreamException { while (reader.hasNext() && nextTag(reader) != END_ELEMENT) { MODULES.parseAndAddParameterElement(reader.getElementText(),addThemeDefaults, reader); } }
private boolean attribNotChanging(String attributeName, ModelNode newValue, ModelNode oldValue) { AttributeDefinition attribDef = KeycloakSubsystemDefinition.lookup(attributeName); if (!oldValue.isDefined()) { oldValue = attribDef.getDefaultValue(); } if (!newValue.isDefined()) { newValue = attribDef.getDefaultValue(); } return newValue.equals(oldValue); } }
private void massageProviders(ModelNode spi) { if (!spi.hasDefined("provider")) return; ModelNode providers = spi.remove("provider"); for (Property prop : providers.asPropertyList()) { ModelNode provider = prop.getValue(); if (provider.has("properties")) { massageProviderProps(provider); } spi.get(prop.getName()).set(provider); } }
@Override protected void performRemove(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { String deploymentName = ServerUtil.getDeploymentName(operation); KeycloakAdapterConfigService.INSTANCE.setWebContext(null); if (requiresRuntime(context)) { // don't do this on a domain controller addStepToRemoveServerWar(context, deploymentName); } super.performRemove(context, operation, model); }
@Override protected void finishModelStage(OperationContext context, ModelNode operation, String attributeName, ModelNode newValue, ModelNode oldValue, Resource model) throws OperationFailedException { if (!context.isNormalServer() || attribNotChanging(attributeName, newValue, oldValue)) { super.finishModelStage(context, operation, attributeName, newValue, oldValue, model); return; } String deploymentName = ServerUtil.getDeploymentName(operation); if (attributeName.equals(KeycloakSubsystemDefinition.WEB_CONTEXT.getName())) { KeycloakAdapterConfigService.INSTANCE.setWebContext(newValue.asString()); ServerUtil.addStepToRedeployServerWar(context, deploymentName); } super.finishModelStage(context, operation, attributeName, newValue, oldValue, model); }
ServerUtil(ModelNode operation) { this.deploymentName = getDeploymentName(operation); this.subsysModule = findSubsysModule(); this.serverWar = findServerWarUri(); }
protected KeycloakSubsystemDefinition() { super(KeycloakExtension.PATH_SUBSYSTEM, KeycloakExtension.getResourceDescriptionResolver("subsystem"), KeycloakSubsystemAdd.INSTANCE, KeycloakSubsystemRemoveHandler.INSTANCE ); }
static void addStepToRedeployServerWar(OperationContext context, String deploymentName) { addDeploymentAction(context, REDEPLOY, deploymentName); }
protected SpiResourceDefinition() { super(PathElement.pathElement(TAG_NAME), KeycloakExtension.getResourceDescriptionResolver(TAG_NAME), SpiResourceAddHandler.INSTANCE, SpiResourceRemoveHandler.INSTANCE ); }
protected ThemeResourceDefinition() { super(PathElement.pathElement(TAG_NAME), KeycloakExtension.getResourceDescriptionResolver(TAG_NAME), ThemeResourceAddHandler.INSTANCE, ThemeResourceRemoveHandler.INSTANCE ); }
protected ProviderResourceDefinition() { super(PathElement.pathElement(TAG_NAME), KeycloakExtension.getResourceDescriptionResolver(TAG_NAME), ProviderResourceAddHandler.INSTANCE, ProviderResourceRemoveHandler.INSTANCE ); }