@Override protected void executeRuntimeStep(OperationContext context, ModelNode operation) throws OperationFailedException { final String attributeName = operation.require(NAME).asString(); ModelNode newValue = operation.hasDefined(VALUE) ? operation.get(VALUE) : LogStoreConstants.EXPOSE_ALL_LOGS.getDefaultValue(); final Resource resource = context.readResource(PathAddress.EMPTY_ADDRESS); final ModelNode submodel = resource.getModel(); final ModelNode syntheticOp = new ModelNode(); syntheticOp.get(attributeName).set(newValue); LogStoreConstants.EXPOSE_ALL_LOGS.validateAndSet(syntheticOp, submodel); // ExposeAllRecordsAsMBeans JMX attribute will be set in LogStoreProbeHandler prior to eventual probe operation execution, // hence no need to do here anything else context.getResult().set(new ModelNode()); context.completeStep(OperationContext.ResultHandler.NOOP_RESULT_HANDLER); } }
@Override protected void executeRuntimeStep(OperationContext context, ModelNode operation) { String name = Operations.getAttributeName(operation); Metric<C> executable = this.executables.get(name); try { ModelNode result = this.executor.execute(context, executable); if (result != null) { context.getResult().set(result); } } catch (OperationFailedException e) { context.getFailureDescription().set(e.getLocalizedMessage()); } context.completeStep(OperationContext.ResultHandler.NOOP_RESULT_HANDLER); } }
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { ServiceRegistry registry = context.getServiceRegistry(false); JdrReportCollector jdrCollector = JdrReportCollector.class.cast(registry.getRequiredService(JdrReportService.SERVICE_NAME).getValue()); ModelNode response = context.getResult(); JdrReport report = jdrCollector.collect(); if (report.getStartTime() != null) { response.get("start-time").set(report.getStartTime()); } if (report.getEndTime() != null) { response.get("end-time").set(report.getEndTime()); } response.get("report-location").set(report.getLocation()); context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); } }, OperationContext.Stage.RUNTIME);
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { ModelNode entries = operation.get(ModelConstants.ENTRIES); String pid = operation.get(ModelDescriptionConstants.OP_ADDR).asObject().get(ModelConstants.CONFIGURATION).asString(); Dictionary<String, String> dictionary = new Hashtable<String, String>(); for (String key : entries.keys()) { dictionary.put(key, entries.get(key).asString()); } ConfigAdminInternal configAdmin = ConfigAdminExtension.getConfigAdminService(context); if (configAdmin != null) { configAdmin.putConfigurationInternal(pid, dictionary); } context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); } }, OperationContext.Stage.RUNTIME);
@Override public void execute(final OperationContext context, final ModelNode operation) throws OperationFailedException { final ServiceName serviceName = MessagingServices.getActiveMQServiceName(PathAddress.pathAddress(operation.get(ModelDescriptionConstants.OP_ADDR))); final ServiceController<?> controller = context.getServiceRegistry(false).getService(serviceName); OperationContext.RollbackHandler rh; if(controller != null) { context.reloadRequired(); rh = OperationContext.RollbackHandler.REVERT_RELOAD_REQUIRED_ROLLBACK_HANDLER; } else { rh = OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER; } context.completeStep(rh); } }, OperationContext.Stage.RUNTIME);
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { String name = operation.require(ModelDescriptionConstants.NAME).asString(); try { persister.deleteSnapshot(name); context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); } catch (Exception e) { throw new OperationFailedException(e.getMessage(), new ModelNode().set(e.getMessage())); } }
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { String op = operation.require(OP).asString(); if (READ_ATTRIBUTE_OPERATION.equals(op)) { readAttributeValidator.validate(operation); context.addStep(this::executeReadAttribute, OperationContext.Stage.RUNTIME); } else if (WRITE_ATTRIBUTE_OPERATION.equals(op)) { writeAttributeValidator.validate(operation); context.addStep(this::executeWriteAttribute, OperationContext.Stage.RUNTIME); } context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); }
protected void executeWriteAttribute(String attributeName, OperationContext context, ModelNode operation, T component, PathAddress address) throws OperationFailedException { if (componentType.hasPool() && POOL_MAX_SIZE.getName().equals(attributeName)) { int newSize = POOL_MAX_SIZE.resolveValue(context, operation.get(VALUE)).asInt(); final Pool<?> pool = componentType.getPool(component); final int oldSize = pool.getMaxSize(); componentType.getPool(component).setMaxSize(newSize); context.completeStep(new OperationContext.RollbackHandler() { @Override public void handleRollback(OperationContext context, ModelNode operation) { pool.setMaxSize(oldSize); } }); } else { // Bug; we were registered for an attribute but there is no code for handling it throw EjbLogger.ROOT_LOGGER.unknownAttribute(attributeName); } }
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { final Resource resource = context.readResourceForUpdate(PathAddress.EMPTY_ADDRESS); final ModelNode model = resource.getModel(); model.get(DOMAIN_CONTROLLER).setEmptyObject(); context.reloadRequired(); context.completeStep(new OperationContext.RollbackHandler() { @Override public void handleRollback(OperationContext context, ModelNode operation) { context.revertReloadRequired(); } }); } }
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { final PathAddress address = PathAddress.pathAddress(operation.require(OP_ADDR)); final String name = address.getLastElement().getValue(); final String attributeName = operation.require(NAME).asString(); final ServiceController<?> controller = context.getServiceRegistry(false) .getRequiredService(createServiceName(name)); try { PicketLinkFederationService<?> service = (PicketLinkFederationService<?>) controller.getValue(); doPopulateResult(service.getMetrics(), context.getResult(), attributeName); } catch (Exception e) { throw PicketLinkLogger.ROOT_LOGGER.failedToGetMetrics(e.getMessage()); } context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); } }, OperationContext.Stage.RUNTIME);
@Override protected void executeRuntimeStep(OperationContext context, ModelNode operation) throws OperationFailedException { ModelNode opAddr = operation.require(OP_ADDR); PathAddress address = PathAddress.pathAddress(opAddr); final String securityDomain = address.getLastElement().getValue(); ServiceController<SecurityDomainContext> controller = getSecurityDomainService(context, securityDomain); if (controller != null) { // FIXME this is nasty. waitForService(controller); SecurityDomainContext sdc = controller.getValue(); @SuppressWarnings("unchecked") CacheableManager<?, Principal> manager = (CacheableManager<?, Principal>) sdc .getAuthenticationManager(); Set<Principal> cachedPrincipals = manager.getCachedKeys(); ModelNode result = context.getResult(); for (Principal principal : cachedPrincipals) { result.add(principal.getName()); } if (!result.isDefined()) result.setEmptyList(); } else { throw SecurityLogger.ROOT_LOGGER.noAuthenticationCacheAvailable(securityDomain); } context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); } }
} catch (InstanceNotFoundException e) { final PathAddress address = PathAddress.pathAddress(operation.require(ModelDescriptionConstants.OP_ADDR)); final PathElement element = address.getLastElement(); context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER);
@Override public final void execute(OperationContext context, ModelNode operation) throws OperationFailedException { PathAddress address = PathAddress.pathAddress(operation.get(ModelDescriptionConstants.ADDRESS)); int current = address.size() - 1; String nodeName = address.getElement(current--).getValue(); String balancerName = address.getElement(current--).getValue(); String modClusterName = address.getElement(current--).getValue(); ModClusterService service = ModClusterResource.service(modClusterName); if (service == null) { context.getResult().set(new ModelNode()); context.completeStep(OperationContext.ResultHandler.NOOP_RESULT_HANDLER); return; } ModClusterStatus.LoadBalancer balancer = service.getModCluster().getController().getStatus().getLoadBalancer(balancerName); if (balancer == null) { context.getResult().set(new ModelNode()); context.completeStep(OperationContext.ResultHandler.NOOP_RESULT_HANDLER); return; } ModClusterStatus.Node node = balancer.getNode(nodeName); if (node == null) { context.getResult().set(new ModelNode()); context.completeStep(OperationContext.ResultHandler.NOOP_RESULT_HANDLER); return; } handleNode(context, node, operation); }
public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { MBeanServer mbs = TransactionExtension.getMBeanServer(context); final Resource resource = context.readResource(PathAddress.EMPTY_ADDRESS); try { final ObjectName on = LogStoreResource.getObjectName(resource); final ModelNode model = resource.getModel().clone(); AttributeList attributes = mbs.getAttributes(on, LogStoreConstants.PARTICIPANT_JMX_NAMES); for (javax.management.Attribute attribute : attributes.asList()) { String modelName = LogStoreConstants.jmxNameToModelName(LogStoreConstants.MODEL_TO_JMX_PARTICIPANT_NAMES, attribute.getName()); if (modelName != null) { ModelNode aNode = model.get(modelName); Object value = attribute.getValue(); if (aNode != null) aNode.set(value == null ? "" : value.toString()); } } // Replace the model resource.writeModel(model); } catch (Exception e) { throw new OperationFailedException("JMX error: " + e.getMessage()); } context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); } }
@Override protected void executeRuntimeStep(OperationContext context, ModelNode operation) { String name = Operations.getName(operation); Operation<C> executable = this.executables.get(name); try { ModelNode result = this.executor.execute(context, operation, executable); if (result != null) { context.getResult().set(result); } } catch (OperationFailedException e) { context.getFailureDescription().set(e.getLocalizedMessage()); } context.completeStep(OperationContext.ResultHandler.NOOP_RESULT_HANDLER); } }
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { String alias = operation.get(ModelElement.COMMON_ALIAS.getName()).asString(); context.removeService(PartitionManagerService.createServiceName(alias)); context.reloadRequired(); context.completeStep(OperationContext.ResultHandler.NOOP_RESULT_HANDLER); }
@Override public void execute(final OperationContext context, final ModelNode operation) throws OperationFailedException { final ServiceName serviceName = MessagingServices.getActiveMQServiceName(PathAddress.pathAddress(operation.get(ModelDescriptionConstants.OP_ADDR))); final ServiceController<?> controller = context.getServiceRegistry(false).getService(serviceName); OperationContext.RollbackHandler rh; if(controller != null) { context.reloadRequired(); rh = OperationContext.RollbackHandler.REVERT_RELOAD_REQUIRED_ROLLBACK_HANDLER; } else { rh = OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER; } context.completeStep(rh); } }, OperationContext.Stage.RUNTIME);
private void handleReadAttributeOperation(OperationContext context, ModelNode operation) { String name = operation.require(ModelDescriptionConstants.NAME).asString(); if (ModelConstants.ENDPOINTS.equals(name)) { List<ModelNode> values = new ArrayList<>(); for (URL aux : subsystemState.getRuntimeState().getEndpointURLs()) { values.add(new ModelNode(aux.toString())); } context.getResult().set(values); } context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); } }
@Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { String op = operation.require(OP).asString(); if (READ_ATTRIBUTE_OPERATION.equals(op)) { readAttributeValidator.validate(operation); context.addStep(this::executeReadAttribute, OperationContext.Stage.RUNTIME); } else if (WRITE_ATTRIBUTE_OPERATION.equals(op)) { writeAttributeValidator.validate(operation); context.addStep(this::executeWriteAttribute, OperationContext.Stage.RUNTIME); } context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); }
if (!context.isResourceServiceRestartAllowed()) { context.reloadRequired(); context.completeStep(new OperationContext.RollbackHandler() { @Override public void handleRollback(OperationContext context, ModelNode operation) { if (model.get(MODULE.getName()).isDefined()) { context.completeStep(new OperationContext.RollbackHandler() { @Override public void handleRollback(OperationContext context, ModelNode operation) {