protected ConfigSaveState saveConfig(final String xmlString, final String md5) throws Exception { LOGGER.debug("[Config Save] Started saving XML"); final MagicalGoConfigXmlLoader configXmlLoader = new MagicalGoConfigXmlLoader(configCache, registry); LOGGER.debug("[Config Save] Updating config"); final CruiseConfig deserializedConfig = configXmlLoader.deserializeConfig(xmlString); ConfigSaveState configSaveState = systemEnvironment.optimizeFullConfigSave() ? saveConfigNewFlow(deserializedConfig, md5) : saveConfigOldFlow(deserializedConfig, md5); LOGGER.debug("[Config Save] Finished saving XML"); return configSaveState; }
public GoConfigHolder loadConfigHolder(final String content, Callback callback) throws Exception { CruiseConfig configForEdit; CruiseConfig config; LOGGER.debug("[Config Save] Loading config holder"); configForEdit = deserializeConfig(content); if (callback != null) callback.call(configForEdit); config = preprocessAndValidate(configForEdit); return new GoConfigHolder(config, configForEdit); }
private GoConfigHolder upgradeConfigFile() throws Exception { String upgradedXml = this.goConfigMigration.upgradeIfNecessary(this.goConfigFileReader.configXml()); LOGGER.info("[Config Save] Starting Config Save post upgrade using FullConfigSaveNormalFlow"); CruiseConfig cruiseConfig = this.loader.deserializeConfig(upgradedXml); return fullConfigSaveNormalFlow.execute(new FullConfigUpdateCommand(cruiseConfig, null), new ArrayList<>(), "Upgrade"); }
synchronized GoConfigHolder forceLoad() throws Exception { File configFile = goConfigFileReader.fileLocation(); CruiseConfig cruiseConfig = this.magicalGoConfigXmlLoader.deserializeConfig(goConfigFileReader.configXml()); LOGGER.debug("Reloading config file: {}", configFile.getAbsolutePath()); GoConfigHolder goConfigHolder; try { try { goConfigHolder = fullConfigSaveNormalFlow.execute(new FullConfigUpdateCommand(cruiseConfig, null), cachedGoPartials.lastKnownPartials(), FILESYSTEM); } catch (GoConfigInvalidException e) { if (!canUpdateConfigWithLastValidPartials()) throw e; goConfigHolder = fullConfigSaveNormalFlow.execute(new FullConfigUpdateCommand(cruiseConfig, null), cachedGoPartials.lastValidPartials(), FILESYSTEM); } reloadStrategy.latestState(goConfigHolder.config); return goConfigHolder; } catch (Exception e) { LOGGER.error("Unable to load config file: {} {}", configFile.getAbsolutePath(), e.getMessage(), e); if (configFile.exists()) { LOGGER.warn("--- {} ---", configFile.getAbsolutePath()); LOGGER.warn(FileUtils.readFileToString(configFile, StandardCharsets.UTF_8)); LOGGER.warn("------"); } LOGGER.debug("", e); throw e; } }