]> www.vanbest.org Git - tv_grab_nl_java/commitdiff
Prepare for config file version numbering
authorJan-Pascal van Best <janpascal@vanbest.org>
Sun, 25 Mar 2012 18:20:50 +0000 (20:20 +0200)
committerJan-Pascal van Best <janpascal@vanbest.org>
Sun, 25 Mar 2012 18:20:50 +0000 (20:20 +0200)
src/main/java/org/vanbest/xmltv/Config.java

index 9bb6a5705d7b17966ab1558a24b5cacedd7a5596..06f7d3f5aad5554f68078551bb4a8568d7e8604b 100644 (file)
@@ -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<String,String>();
+               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;