// Retrieve the current service
final ServiceRegistry registry = context.getServiceRegistry(true);
final ServiceController<?> fileController = registry.getService(serviceName);
if (fileController == null) {
throw new OperationFailedException(new ModelNode().set(MESSAGES.serviceNotFound(serviceName)));
}
final HandlerFileService fileService = (HandlerFileService) fileController.getService();
fileService.setPath(path.asString());
// Find the handler and set the new file
@SuppressWarnings("unchecked")
final ServiceController<?> handlerController = registry.getService(LogServices.handlerName(name));
final AbstractFileHandlerService handlerService = (AbstractFileHandlerService) handlerController.getService();
final String fileName = fileService.getValue();
try {
handlerService.setFile(fileName);
} catch (FileNotFoundException e) {
throw new OperationFailedException(e, new ModelNode().set(MESSAGES.fileNotFound(fileName)));
}
}
}
return requiresRestart;
}