@Override protected void performRemove(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { super.performRemove(context, operation, model); knownApplicationSecurityDomains.remove(context.getCurrentAddressValue()); }
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { final String name = context.getCurrentAddressValue(); final FilterService service = new FilterService(handler, getResolvedModel(context, model)); final ServiceTarget target = context.getServiceTarget(); target.addService(UndertowService.FILTER.append(name), service) .setInitialMode(ServiceController.Mode.ON_DEMAND) .install(); }
@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(); final ServiceTarget target = context.getServiceTarget(); final JobExecutorService service = new JobExecutorService(); final ServiceBuilder<?> serviceBuilder = target.addService(context.getCapabilityServiceName(Capabilities.THREAD_POOL_CAPABILITY.getName(), name, JobExecutor.class), service); serviceBuilder.addDependency(serviceNameBase.append(name), ManagedJBossThreadPoolExecutorService.class, service.getThreadPoolInjector()); serviceBuilder.install(); } }
@Override protected void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model) throws OperationFailedException { // First remove the JobExecutor service, then delegate context.removeService(context.getCapabilityServiceName(Capabilities.THREAD_POOL_CAPABILITY.getName(), context.getCurrentAddressValue(), null)); super.performRuntime(context, operation, model); } }
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { context.removeService(DriverDefinition.AGROAL_DRIVER_CAPABILITY.getCapabilityServiceName(context.getCurrentAddress())); AgroalLogger.DRIVER_LOGGER.debugf("unloaded driver: %s", context.getCurrentAddressValue()); } }
@Override public void unregister(OperationContext context) throws OperationFailedException { Resource resource = context.readResource(PathAddress.EMPTY_ADDRESS); ManagementResourceRegistration registration = context.getResourceRegistrationForUpdate(); String protocolName = context.getCurrentAddressValue(); String moduleName = ProtocolResourceDefinition.Attribute.MODULE.resolveModelAttribute(context, resource.getModel()).asString(); Class<? extends Protocol> protocolClass = ChannelRuntimeResourceRegistration.findProtocolClass(context, protocolName, moduleName); for (String attribute : ProtocolMetricsHandler.findProtocolAttributes(protocolClass).keySet()) { registration.unregisterAttribute(attribute); } } }
@Override public void execute(OperationContext context, ModelNode operation) { operationDeprecated(context, operation); context.createResource(PathAddress.EMPTY_ADDRESS); String name = context.getCurrentAddressValue(); String value = operation.get(VALUE.getName()).asString(); PathAddress storeAddress = context.getCurrentAddress().getParent(); ModelNode putOperation = Operations.createMapPutOperation(storeAddress, StoreResourceDefinition.Attribute.PROPERTIES, name, value); context.addStep(putOperation, MapOperations.MAP_PUT_HANDLER, context.getCurrentStage()); } };
@Override protected void populateModel(OperationContext context, ModelNode operation, Resource resource) throws OperationFailedException { super.populateModel(context, operation, resource); ModelNode model = resource.getModel(); boolean enableJacc = false; if (model.hasDefined(ENABLE_JACC.getName())) { enableJacc = ENABLE_JACC.resolveModelAttribute(context, model).asBoolean(); } knownApplicationSecurityDomains.add(new ApplicationSecurityDomainConfig(context.getCurrentAddressValue(), enableJacc)); }
@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 public void execute(OperationContext context, ModelNode operation) { operationDeprecated(context, operation); PathAddress protocolAddress = context.getCurrentAddress().getParent(); String key = context.getCurrentAddressValue(); String value = Operations.getAttributeValue(operation).asString(); ModelNode putOperation = Operations.createMapPutOperation(protocolAddress, AbstractProtocolResourceDefinition.Attribute.PROPERTIES, key, value); context.addStep(putOperation, MapOperations.MAP_PUT_HANDLER, context.getCurrentStage()); } };
static ListenerService getListenerService(OperationContext context) { final String name = context.getCurrentAddressValue(); ServiceName serviceName = LISTENER_CAPABILITY.getCapabilityServiceName(name); ServiceController<ListenerService> listenerSC = (ServiceController<ListenerService>) context.getServiceRegistry(false).getService(serviceName); if (listenerSC == null || listenerSC.getState() != ServiceController.State.UP) { return null; } return listenerSC.getValue(); }
@Override public ModelNode execute(OperationContext context, Metric<JChannel> metric) throws OperationFailedException { String channelName = context.getCurrentAddressValue(); ServiceName serviceName = JGroupsRequirement.CHANNEL.getServiceName(context, channelName); JChannel channel = new PassiveServiceSupplier<JChannel>(context.getServiceRegistry(true), serviceName).get(); return (channel != null) ? metric.execute(channel) : null; } }
@Override public ModelNode execute(OperationContext context, Metric<EmbeddedCacheManager> metric) throws OperationFailedException { String containerName = context.getCurrentAddressValue(); CacheContainer container = new PassiveServiceSupplier<CacheContainer>(context.getServiceRegistry(true), InfinispanRequirement.CONTAINER.getServiceName(context, containerName)).get(); return (container != null) ? metric.execute(container) : null; } }
@Override public void execute(OperationContext context, ModelNode operation) { operationDeprecated(context, operation); PathAddress protocolAddress = context.getCurrentAddress().getParent(); String key = context.getCurrentAddressValue(); ModelNode getOperation = Operations.createMapGetOperation(protocolAddress, AbstractProtocolResourceDefinition.Attribute.PROPERTIES, key); context.addStep(getOperation, MapOperations.MAP_GET_HANDLER, context.getCurrentStage()); } };
@Override public void installServices(OperationContext context, ModelNode model) throws OperationFailedException { super.installServices(context, model); PathAddress address = context.getCurrentAddress(); String name = context.getCurrentAddressValue(); ServiceTarget target = context.getServiceTarget(); new ModuleServiceConfigurator(RemoteCacheContainerComponent.MODULE.getServiceName(address), MODULE).configure(context, model).build(target).setInitialMode(ServiceController.Mode.PASSIVE).install(); ServiceConfigurator containerBuilder = new RemoteCacheContainerServiceConfigurator(address).configure(context, model); containerBuilder.build(target).install(); new BinderServiceConfigurator(InfinispanBindingFactory.createRemoteCacheContainerBinding(name), containerBuilder.getServiceName()).build(target).install(); }
@Override protected void recordCapabilitiesAndRequirements(OperationContext context, ModelNode operation, Resource resource) throws OperationFailedException { super.recordCapabilitiesAndRequirements(context, operation, resource); KnownDeploymentsApi knownDeployments = new KnownDeploymentsApi(); context.registerCapability(RuntimeCapability.Builder .of(CAPABILITY_APPLICATION_SECURITY_DOMAIN_KNOWN_DEPLOYMENTS, true, knownDeployments).build() .fromBaseCapability(context.getCurrentAddressValue())); context.attach(KNOWN_DEPLOYMENTS_KEY, knownDeployments); }
@Override public void execute(OperationContext context, ModelNode operation) { operationDeprecated(context, operation); context.removeResource(PathAddress.EMPTY_ADDRESS); String name = context.getCurrentAddressValue(); PathAddress protocolAddress = context.getCurrentAddress().getParent(); ModelNode putOperation = Operations.createMapRemoveOperation(protocolAddress, AbstractProtocolResourceDefinition.Attribute.PROPERTIES, name); context.addStep(putOperation, MapOperations.MAP_REMOVE_HANDLER, context.getCurrentStage()); } };
@Override public void execute(OperationContext context, ModelNode operation) { operationDeprecated(context, operation); context.removeResource(PathAddress.EMPTY_ADDRESS); String name = context.getCurrentAddressValue(); PathAddress storeAddress = context.getCurrentAddress().getParent(); ModelNode putOperation = Operations.createMapRemoveOperation(storeAddress, StoreResourceDefinition.Attribute.PROPERTIES, name); context.addStep(putOperation, MapOperations.MAP_REMOVE_HANDLER, context.getCurrentStage()); } };
@Override public void unregister(OperationContext context) { for (String name : context.readResource(PathAddress.EMPTY_ADDRESS).getChildrenNames(ProtocolResourceDefinition.WILDCARD_PATH.getKey())) { context.removeResource(PathAddress.pathAddress(ProtocolResourceDefinition.pathElement(name))); } context.getResourceRegistrationForUpdate().unregisterOverrideModel(context.getCurrentAddressValue()); }
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) { super.performRuntime(context, operation, model); if (context.isResourceServiceRestartAllowed()) { final String securityDomainName = context.getCurrentAddressValue(); context.removeService(new SingleSignOnManagerServiceNameProvider(securityDomainName).getServiceName()); context.removeService(new SingleSignOnSessionFactoryServiceNameProvider(securityDomainName).getServiceName()); } }