@Override public void execute(AdminCommandContext context) { final ActionReport actionReport = context.getActionReport(); Properties extraProperties = actionReport.getExtraProperties(); if (extraProperties == null) { extraProperties = new Properties(); actionReport.setExtraProperties(extraProperties); } Config config = targetUtil.getConfig(target); final NotificationServiceConfiguration notificationServiceConfiguration = config.getExtensionByType(NotificationServiceConfiguration.class); if (notificationServiceConfiguration != null) { try { ConfigSupport.apply( new SingleConfigCode<NotificationServiceConfiguration>() { @Override public Object run( final NotificationServiceConfiguration notificationServiceConfigurationProxy) throws PropertyVetoException, TransactionFailure { if (enabled != null) { notificationServiceConfigurationProxy.enabled(enabled.toString()); } actionReport.setActionExitCode(ActionReport.ExitCode.SUCCESS); return notificationServiceConfigurationProxy; } }, notificationServiceConfiguration); } catch (TransactionFailure ex) { logger.log(Level.WARNING, "Exception during command ", ex); actionReport.setMessage(ex.getCause().getMessage()); actionReport.setActionExitCode(ActionReport.ExitCode.FAILURE); return; } } if (dynamic) { if (server.isDas()) { if (targetUtil.getConfig(target).isDas()) { service.getExecutionOptions().setEnabled(enabled); } } else { // apply as not the DAS so implicitly it is for us service.getExecutionOptions().setEnabled(enabled); } } }
@Override public void execute(AdminCommandContext context) { Target targetUtil = habitat.getComponent(Target.class); Config newConfig = targetUtil.getConfig(target); if (newConfig != null) { config = newConfig; } report = context.getActionReport(); try { final Protocols protocols = config.getNetworkConfig().getProtocols(); final Protocol protocol = protocols.findProtocol(protocolName); validate( protocol, "create.http.fail.protocolnotfound", "The specified protocol {0} is not yet configured", protocolName); final Class<?> filterClass = Thread.currentThread().getContextClassLoader().loadClass(classname); if (!com.sun.grizzly.ProtocolFilter.class.isAssignableFrom(filterClass)) { report.setMessage( localStrings.getLocalString( "create.portunif.fail.notfilter", "{0} create failed. Given class is not a ProtocolFilter: {1}", name, classname)); report.setActionExitCode(ActionReport.ExitCode.FAILURE); return; } ProtocolChainInstanceHandler handler = getHandler(protocol); ProtocolChain chain = getChain(handler); ConfigSupport.apply( new SingleConfigCode<ProtocolChain>() { @Override public Object run(ProtocolChain param) throws PropertyVetoException, TransactionFailure { final List<ProtocolFilter> list = param.getProtocolFilter(); for (ProtocolFilter filter : list) { if (name.equals(filter.getName())) { throw new TransactionFailure( String.format("A protocol filter named %s already exists.", name)); } } final ProtocolFilter filter = param.createChild(ProtocolFilter.class); filter.setName(name); filter.setClassname(classname); list.add(filter); return null; } }, chain); } catch (ValidationFailureException e) { return; } catch (Exception e) { e.printStackTrace(); report.setMessage( localStrings.getLocalString( "create.portunif.fail", "{0} create failed: {1}", name, e.getMessage() == null ? "No reason given" : e.getMessage())); report.setActionExitCode(ActionReport.ExitCode.FAILURE); report.setFailureCause(e); return; } }
@Override public void execute(AdminCommandContext context) { final AdminCommandContext theContext = context; final ActionReport actionReport = context.getActionReport(); Properties extraProperties = actionReport.getExtraProperties(); if (extraProperties == null) { extraProperties = new Properties(); actionReport.setExtraProperties(extraProperties); } if (!validate(actionReport)) { return; } Config config = targetUtil.getConfig(target); final RequestTracingServiceConfiguration requestTracingServiceConfiguration = config.getExtensionByType(RequestTracingServiceConfiguration.class); if (requestTracingServiceConfiguration != null) { try { ConfigSupport.apply( new SingleConfigCode<RequestTracingServiceConfiguration>() { @Override public Object run( final RequestTracingServiceConfiguration requestTracingServiceConfigurationProxy) throws PropertyVetoException, TransactionFailure { if (enabled != null) { requestTracingServiceConfigurationProxy.enabled(enabled.toString()); } if (unit != null) { requestTracingServiceConfigurationProxy.setThresholdUnit(unit); } if (value != null) { requestTracingServiceConfigurationProxy.setThresholdValue(value); } actionReport.setActionExitCode(ActionReport.ExitCode.SUCCESS); return requestTracingServiceConfigurationProxy; } }, requestTracingServiceConfiguration); } catch (TransactionFailure ex) { logger.log(Level.WARNING, "Exception during command ", ex); actionReport.setMessage(ex.getCause().getMessage()); actionReport.setActionExitCode(ActionReport.ExitCode.FAILURE); return; } } if (dynamic) { if (server.isDas()) { if (targetUtil.getConfig(target).isDas()) { service.getExecutionOptions().setEnabled(enabled); if (value != null) { service.getExecutionOptions().setThresholdValue(Long.valueOf(value)); actionReport.appendMessage( strings.getLocalString( "requesttracing.configure.thresholdvalue.success", "Request Tracing Service Threshold Value is set to {0}.", value) + "\n"); } if (unit != null) { service.getExecutionOptions().setThresholdUnit(TimeUnit.valueOf(unit)); actionReport.appendMessage( strings.getLocalString( "requesttracing.configure.thresholdunit.success", "Request Tracing Service Threshold Unit is set to {0}.", unit) + "\n"); } } } else { service.getExecutionOptions().setEnabled(enabled); if (value != null) { service.getExecutionOptions().setThresholdValue(Long.valueOf(value)); actionReport.appendMessage( strings.getLocalString( "requesttracing.configure.thresholdvalue.success", "Request Tracing Service Threshold Value is set to {0}.", value) + "\n"); } if (unit != null) { service.getExecutionOptions().setThresholdUnit(TimeUnit.valueOf(unit)); actionReport.appendMessage( strings.getLocalString( "requesttracing.configure.thresholdunit.success", "Request Tracing Service Threshold Unit is set to {0}.", unit) + "\n"); } } } }