@RequestMapping(value = "/startup", method = RequestMethod.POST) @ResponseBody public List<String> submitForm(@RequestBody StartupForm startupSettings) throws IOException { ConfigSource configSource = (configurationService.loadBootstrapConfig() != null) ? configurationService.loadBootstrapConfig().getConfigSource() : ConfigSource.UI; StartupFormValidator startupFormValidator = startupFormValidatorFactory.getStartupFormValidator(startupSettings, userService); List<String> errors = startupFormValidator.validate(startupSettings, configurationService.getConfigSource()); if (!errors.isEmpty()) { return errors; } else if (!startupManager.canLaunchBundles()) { if (ConfigSource.UI.equals(configSource)) { MotechSettings settings = startupManager.getDefaultSettings(); settings.setLanguage(startupSettings.getLanguage()); settings.setLoginModeValue(startupSettings.getLoginMode()); settings.savePlatformSetting(AMQ_BROKER_URL, startupSettings.getQueueUrl()); settings.setProviderName(startupSettings.getProviderName()); settings.setProviderUrl(startupSettings.getProviderUrl()); configurationService.savePlatformSettings(settings); if (LoginMode.REPOSITORY.equals(LoginMode.valueOf(startupSettings.getLoginMode()))) { registerAdminUser(startupSettings); } } else { registerAdminUser(startupSettings); } startupManager.startup(); } return errors; }