From: Jan-Pascal van Best Date: Sun, 25 Mar 2012 18:20:50 +0000 (+0200) Subject: Prepare for config file version numbering X-Git-Tag: 0.9.0~28 X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=148d4828a712a397ce7541e802844a32b5708ec2;p=tv_grab_nl_java Prepare for config file version numbering --- diff --git a/src/main/java/org/vanbest/xmltv/Config.java b/src/main/java/org/vanbest/xmltv/Config.java index 9bb6a57..06f7d3f 100644 --- a/src/main/java/org/vanbest/xmltv/Config.java +++ b/src/main/java/org/vanbest/xmltv/Config.java @@ -48,6 +48,8 @@ public class Config { private static final int LOG_PROGRAMME_INFO = 0x0200; public static int LOG_DEFAULT = LOG_INFO; + + private final static int CURRENT_FILE_FORMAT=1; String project_version; @@ -111,6 +113,7 @@ public class Config { public void writeConfig(File configFile) throws IOException { FileUtils.forceMkdir(configFile.getParentFile()); PrintWriter out = new PrintWriter(new OutputStreamWriter( new FileOutputStream( configFile ))); + out.println("config-file-format: " + CURRENT_FILE_FORMAT); out.println("cache-file: " + escape(cacheFile.getPath())); out.println("nice-time-milliseconds: " + niceMilliseconds); for(Channel c: channels) { @@ -172,6 +175,7 @@ public class Config { public static Config readConfig(File file) { Config result = getDefaultConfig(); result.cattrans = new HashMap(); + int fileformat=0; // Assume legacy config file format try { BufferedReader reader = new BufferedReader( new InputStreamReader( new FileInputStream( file))); @@ -192,6 +196,18 @@ public class Config { case "category" : result.cattrans.put(parts.get(1), parts.get(2)); break; + case "current-file-format" : + try { + fileformat = Integer.parseInt(parts.get(1)); + } catch (NumberFormatException e) { + System.out.println("Unknown config file format " + parts.get(1)); + fileformat = CURRENT_FILE_FORMAT; // may crash later + } + if (fileformat > CURRENT_FILE_FORMAT) { + System.out.println("Unknown config file format " + parts.get(1)); + fileformat = CURRENT_FILE_FORMAT; + } + break; case "cache-file": result.cacheFile = new File(parts.get(1)); break;