public void updateServerConfig(MailHost mailHost, String artifactsDir, Double purgeStart, Double purgeUpto, String jobTimeout, boolean shouldAllowAutoLogin, String siteUrl, String secureSiteUrl, String taskRepositoryLocation, final HttpLocalizedOperationResult result, final String md5) { if (!mailHost.equals(new MailHost(new GoCipher()))) { validate(mailHost, result); } if (!shouldAllowAutoLogin && !userService.canUserTurnOffAutoLogin()) { result.notAcceptable("Cannot disable auto login with no admins enabled."); return; } if (result.isSuccessful()) { try { ConfigSaveState configSaveState = goConfigService.updateServerConfig(mailHost, shouldAllowAutoLogin, md5, artifactsDir, purgeStart, purgeUpto, jobTimeout, siteUrl, secureSiteUrl, taskRepositoryLocation); if (ConfigSaveState.MERGED.equals(configSaveState)) { result.setMessage(LocalizedMessage.composite("Saved configuration successfully.", "The configuration was modified by someone else, but your changes were merged successfully.")); } else if (ConfigSaveState.UPDATED.equals(configSaveState)) { result.setMessage("Saved configuration successfully."); } } catch (RuntimeException exception) { updateFailed(exception.getMessage(), result); } } }