Mercurial > repos > yufei-luo > s_mart
diff SMART/Java/ProgramFileReader.java @ 6:769e306b7933
Change the repository level.
author | yufei-luo |
---|---|
date | Fri, 18 Jan 2013 04:54:14 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SMART/Java/ProgramFileReader.java Fri Jan 18 04:54:14 2013 -0500 @@ -0,0 +1,174 @@ +/** + * + * Copyright INRA-URGI 2009-2010 + * + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. + * + */ +import java.util.*; +import java.io.File; +import java.io.*; + + +public class ProgramFileReader { + String fileName; + Vector <Program> programs; + + + public ProgramFileReader(String fileName) { + this.fileName = fileName; + this.programs = new Vector <Program> (); + } + + + public boolean read() { +// File file = new File(this.fileName); +// Program program = null; +// int step = 0; +// TreeMap <String, ProgramOption> options = new TreeMap <String, ProgramOption> (); + +// try { +// BufferedReader reader = new BufferedReader(new FileReader(file)); +// String line = null; +// String section = null; + +// while ((line = reader.readLine()) != null) { + +// line = line.trim(); + +// if (line.length() == 0) { +// if (program != null) { +// programs.add(program); +// } +// program = null; +// step = 0; +// continue; +// } + +// if ((line.charAt(0) == '[') && (line.charAt(line.length() - 1) == ']')) { +// section = line.substring(1, line.length() - 1).trim(); +// continue; +// } +// switch (step) { +// case 0: +// program = new Program(); +// program.setName(line); +// if (section == null) { +// System.out.println("Error! Section of program '" + line + "' is not set!"); +// } +// program.setSection(section); +// step = 1; +// break; +// case 1: +// program.setShortName(line); +// step = 2; +// break; +// case 2: +// ProgramOption option = new ProgramOption(); + +// String[] elements = line.split(":"); +// boolean input = elements[0].trim().equalsIgnoreCase("input")? true: false; +// String[] subElements = elements[1].split(";"); +// String identifier = subElements[0].trim(); + +// option.setInput(input); + +// if (input) { + +// if (subElements.length < 4) { +// System.out.println("Line '" + line + "' is weird..."); +// } + +// String type = subElements[1].trim(); +// String comment = subElements[2].trim(); +// boolean compulsory = subElements[3].trim().equalsIgnoreCase("0")? false: true; + +// option.setIdentifier(identifier); +// option.setType(type); +// option.setComment(comment); +// option.setCompulsory(compulsory); + +// if ("file".compareToIgnoreCase(type) == 0) { +// if (subElements.length < 5) { +// System.out.println("Line '" + line + "' is weird..."); +// } + +// String formatIdentifier = subElements[4].trim(); +// option.setFormatIdentifier(formatIdentifier); +// } +// else if ("choice".compareToIgnoreCase(type) == 0) { +// if (subElements.length < 5) { +// System.out.println("Line '" + line + "' is weird..."); +// } + +// String[] choices = subElements[4].trim().split(","); +// for (int i = 0; i < choices.length; i++) { +// choices[i] = choices[i].trim(); +// } +// option.setChoices(choices); +// } +// options.put(identifier, option); +// } +// else { +// String format = subElements[1].trim(); + +// option.setFormat(format); +// option.setAssociatedOption(options.get(identifier)); +// } + +// program.addOption(option); + +// break; +// default: +// return false; +// } +// } + +// reader.close(); +// } +// catch (FileNotFoundException e) { +// return false; +// } +// catch (IOException e) { +// return false; +// } + +// if (program != null) { +// programs.add(program); +// } + + return true; + } + + public int getNbPrograms() { + return programs.size(); + } + + public Program getProgram(int i) { + return programs.get(i); + } +}