package nagini.config; import java.util.Arrays; import java.util.List; import java.util.Properties; public class NaginiClientConfig { // client properties private static final String PARAM_BASE_PATH = "client.base.path"; private static final String PARAM_TEMP_PATH = "client.temp.path"; // client application properties private static final String PARAM_JAVA_EXEC = "client.java.exec"; private static final String PARAM_APP_PACKET_PATH = "client.app.packet.path"; private static final String PARAM_APP_FETCH_COMMAND = "client.app.fetch.command"; private static final String PARAM_APP_REFRESH_COMMAND = "client.app.refresh.command"; private static final String PARAM_APP_BUILD_COMMAND = "client.app.build.command"; private static final String PARAM_APP_BUILD_OUTPUT_REL_PATHS = "client.app.build.output.rel.paths"; public String basePath; public String tempPath; public String javaExec; public String appPacketPath; public String appFetchCommand; public String appRefreshCommand; public String appBuildCommand; public List<String> appBuildOutputSubPaths; public void loadConfig(Properties props) { basePath = props.getProperty(PARAM_BASE_PATH); tempPath = props.getProperty(PARAM_TEMP_PATH).replace("$", this.basePath); javaExec = props.getProperty(PARAM_JAVA_EXEC, "java").replace("$", this.basePath); appPacketPath = props.getProperty(PARAM_APP_PACKET_PATH).replace("$", this.basePath); appFetchCommand = props.getProperty(PARAM_APP_FETCH_COMMAND, "") .replace("$", this.basePath); appRefreshCommand = props.getProperty(PARAM_APP_REFRESH_COMMAND) .replace("$", this.basePath); appBuildCommand = props.getProperty(PARAM_APP_BUILD_COMMAND, "") .replace("$", this.basePath); appBuildOutputSubPaths = Arrays.asList(props.getProperty(PARAM_APP_BUILD_OUTPUT_REL_PATHS, ".").split("\\s*,\\s*")); } }