| 
6
 | 
     1 /**
 | 
| 
 | 
     2  *
 | 
| 
 | 
     3  * Copyright INRA-URGI 2009-2010
 | 
| 
 | 
     4  * 
 | 
| 
 | 
     5  * This software is governed by the CeCILL license under French law and
 | 
| 
 | 
     6  * abiding by the rules of distribution of free software. You can use,
 | 
| 
 | 
     7  * modify and/ or redistribute the software under the terms of the CeCILL
 | 
| 
 | 
     8  * license as circulated by CEA, CNRS and INRIA at the following URL
 | 
| 
 | 
     9  * "http://www.cecill.info".
 | 
| 
 | 
    10  * 
 | 
| 
 | 
    11  * As a counterpart to the access to the source code and rights to copy,
 | 
| 
 | 
    12  * modify and redistribute granted by the license, users are provided only
 | 
| 
 | 
    13  * with a limited warranty and the software's author, the holder of the
 | 
| 
 | 
    14  * economic rights, and the successive licensors have only limited
 | 
| 
 | 
    15  * liability.
 | 
| 
 | 
    16  * 
 | 
| 
 | 
    17  * In this respect, the user's attention is drawn to the risks associated
 | 
| 
 | 
    18  * with loading, using, modifying and/or developing or reproducing the
 | 
| 
 | 
    19  * software by the user in light of its specific status of free software,
 | 
| 
 | 
    20  * that may mean that it is complicated to manipulate, and that also
 | 
| 
 | 
    21  * therefore means that it is reserved for developers and experienced
 | 
| 
 | 
    22  * professionals having in-depth computer knowledge. Users are therefore
 | 
| 
 | 
    23  * encouraged to load and test the software's suitability as regards their
 | 
| 
 | 
    24  * requirements in conditions enabling the security of their systems and/or
 | 
| 
 | 
    25  * data to be ensured and, more generally, to use and operate it in the
 | 
| 
 | 
    26  * same conditions as regards security.
 | 
| 
 | 
    27  * 
 | 
| 
 | 
    28  * The fact that you are presently reading this means that you have had
 | 
| 
 | 
    29  * knowledge of the CeCILL license and that you accept its terms.
 | 
| 
 | 
    30  *
 | 
| 
 | 
    31  */
 | 
| 
 | 
    32 import java.util.*;
 | 
| 
 | 
    33 import java.io.File;
 | 
| 
 | 
    34 import java.io.*;
 | 
| 
 | 
    35 
 | 
| 
 | 
    36 
 | 
| 
 | 
    37 public class FormatsReader {
 | 
| 
 | 
    38 
 | 
| 
 | 
    39   String fileName;
 | 
| 
 | 
    40   Vector < FormatType > formatTypes;
 | 
| 
 | 
    41   Vector < String > typeNames;
 | 
| 
 | 
    42 
 | 
| 
 | 
    43 
 | 
| 
 | 
    44   public FormatsReader(String fileName) {
 | 
| 
 | 
    45     this.fileName    = fileName;  
 | 
| 
 | 
    46     this.formatTypes = new Vector < FormatType > ();
 | 
| 
 | 
    47   }
 | 
| 
 | 
    48 
 | 
| 
 | 
    49 
 | 
| 
 | 
    50   public boolean read() {
 | 
| 
 | 
    51     File file = new File(this.fileName);
 | 
| 
 | 
    52 
 | 
| 
 | 
    53     try {
 | 
| 
 | 
    54       BufferedReader reader = new BufferedReader(new FileReader(file));
 | 
| 
 | 
    55       String     line = null;
 | 
| 
 | 
    56       String[]   lineElements;
 | 
| 
 | 
    57       String[]   formats;
 | 
| 
 | 
    58       String     typeName;
 | 
| 
 | 
    59 
 | 
| 
 | 
    60       while ((line = reader.readLine()) != null) {
 | 
| 
 | 
    61         if (line.length() > 0) {
 | 
| 
 | 
    62           lineElements = line.split(":");
 | 
| 
 | 
    63           typeName     = lineElements[0].trim();
 | 
| 
 | 
    64           formats      = lineElements[1].split(",");
 | 
| 
 | 
    65           for (int i = 0; i < formats.length; i++) {
 | 
| 
 | 
    66             Global.formats.addFormat(typeName, formats[i].trim());
 | 
| 
 | 
    67           }
 | 
| 
 | 
    68         }
 | 
| 
 | 
    69       }
 | 
| 
 | 
    70 
 | 
| 
 | 
    71       reader.close();
 | 
| 
 | 
    72     }
 | 
| 
 | 
    73     catch (FileNotFoundException e) {
 | 
| 
 | 
    74       return false;
 | 
| 
 | 
    75     }
 | 
| 
 | 
    76     catch (IOException e) {
 | 
| 
 | 
    77       return false;
 | 
| 
 | 
    78     }
 | 
| 
 | 
    79 
 | 
| 
 | 
    80     return true;
 | 
| 
 | 
    81   }
 | 
| 
 | 
    82 }
 | 
| 
 | 
    83 
 |