diff options
author | Eduardo Pedroni <ep625@york.ac.uk> | 2014-04-24 10:34:30 +0100 |
---|---|---|
committer | Eduardo Pedroni <ep625@york.ac.uk> | 2014-04-24 10:34:30 +0100 |
commit | 9ac2848be66c39acdc291dc3b48b91178acc1a05 (patch) | |
tree | ec4c1805bbd45e3d59e2aa4a89605756c28914aa /src/jcgp/backend/parsers/ParameterParser.java | |
parent | 6769419bea279935c4a3a84616d45ee7d4a6345c (diff) |
Refactored parsers and parameters, had to install e(fx)clipse to deploy application.
Diffstat (limited to 'src/jcgp/backend/parsers/ParameterParser.java')
-rw-r--r-- | src/jcgp/backend/parsers/ParameterParser.java | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/jcgp/backend/parsers/ParameterParser.java b/src/jcgp/backend/parsers/ParameterParser.java new file mode 100644 index 0000000..ae72126 --- /dev/null +++ b/src/jcgp/backend/parsers/ParameterParser.java @@ -0,0 +1,77 @@ +package jcgp.backend.parsers; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.util.Scanner; + +import jcgp.backend.resources.ModifiableResources; + +public abstract class ParameterParser { + + public static void parseParameters(File file, ModifiableResources resources) { + + FileReader fr; + try { + fr = new FileReader(file); + } catch (FileNotFoundException e) { + resources.println("[Parser] Error: could not find " + file.getAbsolutePath() + "."); + return; + } + + Scanner in = new Scanner(fr); + resources.println("[Parser] Parsing file: " + file.getAbsolutePath() + "..."); + + while (in.hasNextLine()) { + String[] splitString = in.nextLine().split("( |\t)+"); + + switch (splitString[1]) { + case "population_size": + resources.setPopulationSize(Integer.parseInt(splitString[0])); + resources.println("[Parser] Population size is now " + resources.populationSize() + "."); + break; + + case "num_generations": + resources.setGenerations(Integer.parseInt(splitString[0])); + resources.println("[Parser] Total generations is now " + resources.generations() + "."); + break; + + case "num_runs_total": + resources.setRuns(Integer.parseInt(splitString[0])); + resources.println("[Parser] Total runs is now " + resources.runs() + "."); + break; + + case "num_rows": + resources.setRows(Integer.parseInt(splitString[0])); + resources.println("[Parser] Row number is now " + resources.rows() + "."); + break; + + case "num_cols": + resources.setColumns(Integer.parseInt(splitString[0])); + resources.println("[Parser] Column number is now " + resources.columns() + "."); + break; + + case "levels_back": + resources.setLevelsBack(Integer.parseInt(splitString[0])); + resources.println("[Parser] Levels back is now " + resources.levelsBack() + "."); + break; + + case "report_interval": + resources.setReportInterval(Integer.parseInt(splitString[0])); + resources.println("[Parser] Report interval is now " + resources.levelsBack() + "."); + break; + + case "global_seed": + resources.setSeed(Integer.parseInt(splitString[0])); + resources.println("[Parser] Seed is now " + resources.seed() + "."); + break; + + default: + break; + } + } + + in.close(); + resources.println("[Parser] Finished parsing parameters."); + } +} |