@Override protected void populateModel(OperationContext context, ModelNode operation, Resource resource) throws OperationFailedException { super.populateModel(context, operation, resource); knownApplicationSecurityDomains.add(context.getCurrentAddressValue()); }
@Override protected void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model) throws OperationFailedException { super.performRuntime(context, operation, model); final String name = context.getCurrentAddressValue(); context.getServiceTarget().addService(context.getCapabilityServiceName(Capabilities.JOB_REPOSITORY_CAPABILITY.getName(), name, JobRepository.class), new InMemoryJobRepositoryService()).install(); } }
@Override protected boolean requiresRuntime(OperationContext context) { return super.requiresRuntime(context) && (this.handler != null); }
/** {@inheritDoc */ public void execute(final OperationContext context, final ModelNode operation) throws OperationFailedException { final Resource resource = createResource(context, operation); populateModel(context, operation, resource); recordCapabilitiesAndRequirements(context, operation, resource); //verify model for alternatives & requires if (requiresRuntime(context)) { context.addStep(new OperationStepHandler() { public void execute(final OperationContext context, final ModelNode operation) throws OperationFailedException { performRuntime(context, operation, resource); context.completeStep(new OperationContext.RollbackHandler() { @Override public void handleRollback(OperationContext context, ModelNode operation) { rollbackRuntime(context, operation, resource); } }); } }, OperationContext.Stage.RUNTIME); } }
super.execute(context, operation);
@Override protected Resource createResource(OperationContext context, ModelNode operation) { if (context.isDefaultRequiresRuntime()) { // Wrap a standard Resource impl in our custom variant that understands runtime-only children Resource delegate = Resource.Factory.create(); Resource result = new ModClusterResource(delegate, context.getCurrentAddressValue()); context.addResource(PathAddress.EMPTY_ADDRESS, result); return result; } else { return super.createResource(context, operation); } } }
@Override protected void recordCapabilitiesAndRequirements(OperationContext context, ModelNode operation, Resource resource) throws OperationFailedException { super.recordCapabilitiesAndRequirements(context, operation, resource); ModelNode parentModel = context.readResourceFromRoot(context.getCurrentAddress().getParent(), false).getModel(); final String defaultServerName = UndertowRootDefinition.DEFAULT_SERVER.resolveModelAttribute(context, parentModel).asString(); boolean isDefaultServer = context.getCurrentAddressValue().equals(defaultServerName); if (isDefaultServer) { context.registerCapability(CommonWebServer.CAPABILITY); } }
@Override protected void rollbackRuntime(OperationContext context, ModelNode operation, Resource resource) { super.rollbackRuntime(context, operation, resource); if (!context.isBooting()) { context.revertReloadRequired(); } }
/** {@inheritDoc */ public void execute(final OperationContext context, final ModelNode operation) throws OperationFailedException { final Resource resource = createResource(context, operation); populateModel(context, operation, resource); recordCapabilitiesAndRequirements(context, operation, resource); //verify model for alternatives & requires if (requiresRuntime(context)) { context.addStep(new OperationStepHandler() { public void execute(final OperationContext context, final ModelNode operation) throws OperationFailedException { performRuntime(context, operation, resource); context.completeStep(new OperationContext.RollbackHandler() { @Override public void handleRollback(OperationContext context, ModelNode operation) { rollbackRuntime(context, operation, resource); } }); } }, OperationContext.Stage.RUNTIME); } }
@Override public void execute(final OperationContext context, final ModelNode operation) throws OperationFailedException { super.execute(context, operation); context.completeStep(new RollbackHandler() { @Override public void handleRollback(final OperationContext context, final ModelNode operation) { final ConfigurationPersistence configurationPersistence = getConfigurationPersistence(context); if (configurationPersistence != null) { configurationPersistence.rollback(); } } }); }
@Override protected Resource createResource(final OperationContext context) { if (pathManager == null) { return super.createResource(context); } final Resource resource = new LoggingResource(pathManager); context.addResource(PathAddress.EMPTY_ADDRESS, resource); return resource; }
@Override protected void recordCapabilitiesAndRequirements(OperationContext context, ModelNode operation, Resource resource) throws OperationFailedException { super.recordCapabilitiesAndRequirements(context, operation, resource); String cacheType = getAuthenticationCacheType(resource.getModel()); if (SecurityDomainResourceDefinition.INFINISPAN_CACHE_TYPE.equals(cacheType)) { context.registerAdditionalCapabilityRequirement(InfinispanRequirement.CONTAINER.resolve(CACHE_CONTAINER_NAME), LEGACY_SECURITY_DOMAIN.getDynamicName(context.getCurrentAddressValue()), SecurityDomainResourceDefinition.CACHE_TYPE.getName()); } }
@Override protected void rollbackRuntime(OperationContext context, ModelNode operation, Resource resource) { super.rollbackRuntime(context, operation, resource); if (!context.isBooting()) { context.revertReloadRequired(); } }
@Override protected void populateModel(OperationContext context, ModelNode operation, Resource resource) throws OperationFailedException { super.populateModel(context, operation, resource); context.addStep(NamingBindingResourceDefinition.VALIDATE_RESOURCE_MODEL_OPERATION_STEP_HANDLER, OperationContext.Stage.MODEL); }
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { super.performRuntime(context, operation, model); String name = context.getCurrentAddressValue(); ModelNode classModel = CLASS.resolveModelAttribute(context, model); if (classModel.isDefined()) { Class configSourceProviderClass = unwrapClass(classModel); try { ConfigSourceProvider configSourceProvider = ConfigSourceProvider.class.cast(configSourceProviderClass.newInstance()); ConfigSourceProviderService.install(context, name, configSourceProvider); } catch (Exception e) { throw new OperationFailedException(e); } } } }, new AbstractRemoveStepHandler() {
@Override public void execute(final OperationContext context, final ModelNode operation) throws OperationFailedException { super.execute(context, operation); context.completeStep(new RollbackHandler() { @Override public void handleRollback(final OperationContext context, final ModelNode operation) { final ConfigurationPersistence configurationPersistence = getConfigurationPersistence(context); if (configurationPersistence != null) { configurationPersistence.rollback(); } } }); }
/** * Is a runtime step required? By default his method delegates to the supplied {@link AbstractAddStepHandler}, if * the add handler required a runtime step then most likely the remove step handler will also require one. * * @see org.jboss.as.controller.AbstractRemoveStepHandler#requiresRuntime(org.jboss.as.controller.OperationContext) */ @Override protected boolean requiresRuntime(OperationContext context) { return addOperation.requiresRuntime(context); }
@Override protected Resource createResource(final OperationContext context) { if (pathManager == null) { return super.createResource(context); } final Resource resource = new LoggingResource(pathManager); context.addResource(PathAddress.EMPTY_ADDRESS, resource); return resource; }
@Override protected void recordCapabilitiesAndRequirements(OperationContext context, ModelNode operation, Resource resource) throws OperationFailedException { super.recordCapabilitiesAndRequirements(context, operation, resource); String ourCap = LISTENER_CAPABILITY.getDynamicName(context.getCurrentAddress()); String serverCap = SERVER_CAPABILITY.getDynamicName(context.getCurrentAddress().getParent()); context.registerAdditionalCapabilityRequirement(serverCap, ourCap, null); }
@Override protected void rollbackRuntime(OperationContext context, ModelNode operation, Resource resource) { super.rollbackRuntime(context, operation, resource); if (!context.isBooting()) { context.revertReloadRequired(); } }