All pastes #941346 Raw Edit

Anonymous

public text v1 · immutable
·published 2008-03-13 17:18 UTC
rendered paste body
package ts;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Config {


    private ArrayList<String> config = new ArrayList<String>();
    private HashMap<String,Integer> configMap = new HashMap();
    private HashMap<String,Integer> defaultConfig = new HashMap();

    private static Pattern pattern;
    private static Matcher matcher;

    public Config() {
        config.add("nwmin");
        config.add("nwmax");
        config.add("dagarmax");
        config.add("dagarmin");
        config.add("fick");
        config.add("tjuvar");

        defaultConfig.put("nwmin", 0);
        defaultConfig.put("mwmax", 0);
        defaultConfig.put("dagarmax",0);
        defaultConfig.put("dagarmin", 0);
        defaultConfig.put("fick", 0);
        defaultConfig.put("tjuvar", 0);

        try {
            File koll = new File("TS.conf");
            if (!koll.exists()) {
                FileWriter fw = new FileWriter("TS.conf");
                BufferedWriter bw = new BufferedWriter(fw);
                PrintWriter pw = new PrintWriter(bw);
                for (String conf : config) {
                    pw.println(conf + " = " + (String) defaultConfig.get(conf).toString());
                }
                pw.close();
            }

            FileReader fr = new FileReader("TS.conf");
            BufferedReader br = new BufferedReader(fr);

            for (String conf : config) {
                String REGEX = conf + " = [0-9].*";
                pattern = Pattern.compile(REGEX);
                String line = br.readLine();
                matcher = pattern.matcher(line);
                if (!matcher.matches()) {
                    configMap.put(conf, defaultConfig.get(conf));
                } else {
                    String ersatt = matcher.group();
                    ersatt = ersatt.replaceAll("kP1[a-zA-Z].*= ", "");
                    configMap.put(conf, Integer.parseInt(ersatt) );
                }
            }
            br.close();

            save();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void save() {
        try {
            FileWriter fw = new FileWriter("TS.conf");
            BufferedWriter bw = new BufferedWriter(fw);
            PrintWriter pw = new PrintWriter(bw);
            for (String conf : config) {
                pw.println(conf + " = " + (String) configMap.get(conf).toString());
            }
            pw.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public Object get(String conf) {
        return configMap.get(conf);
    }

    public void set(String conf, int value) {
        configMap.put(conf, value);
    }
}