package org.ovirt.engine.core.config; import java.io.File; import org.ovirt.engine.core.config.validation.ConfigActionType; import org.ovirt.engine.core.utils.EngineLocalConfig; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * The <code>EngineConfig</code> class represents the main class of the EngineConfig tool. */ public class EngineConfig { // The log: private static final Logger log = LoggerFactory.getLogger(EngineConfig.class); public static final String CONFIG_FILE_PATH_PROPERTY = "engine-config.config.file.path"; public static final File DEFAULT_CONFIG_PATH = new File(EngineLocalConfig.getInstance().getEtcDir(), "engine-config"); private EngineConfigLogic engineConfigLogic; private static EngineConfig instance = new EngineConfig(); private EngineConfig() { } /** * Parses the arguments, validates that they are valid, instantiates the EngineConfigLogic object and executes the * desired action. * * @param parser * parser instance with parsed args */ public void setUpAndExecute(EngineConfigCLIParser parser) throws Exception { log.debug("Arguments have been parsed: {}", parser.engineConfigMapToString()); ConfigActionType actionType = parser.getConfigAction(); actionType.validate(parser.getEngineConfigMap()); setEngineConfigLogic(new EngineConfigLogic(parser)); engineConfigLogic.execute(); } public void setEngineConfigLogic(EngineConfigLogic engineConfigLogic) { this.engineConfigLogic = engineConfigLogic; } public EngineConfigLogic getEngineConfigLogic() { return instance.engineConfigLogic; } public static EngineConfig getInstance() { return instance; } }