Package com.handivote

Source Code of com.handivote.Settings

package com.handivote;

import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.DataConfiguration;
import org.apache.commons.configuration.PropertiesConfiguration;

public class Settings {
  static Properties prop = new Properties();
  static String smsDirectory;
  static boolean voidOnRepeat;
  static String countrycode;
  static Integer numQuestions;
  static List<Integer> qOpts;
  static boolean sql;
  static DB db;
  static boolean logVotes;
  static String votes_valid_filename;
  static String votes_bad_filename;
  static String results_filename;
 
  public static void load() {
    DataConfiguration config;
    try {
      config = new DataConfiguration(new PropertiesConfiguration(
          "config.properties"));
      smsDirectory = config.getString("smsdirectory");
      countrycode = config.getString("countrycode");
      voidOnRepeat = config.getBoolean("voidOnRepeatVote", false);
      sql = config.getBoolean("connectToSQL", false);
      logVotes = config.getBoolean("logVotes", false);
      if(logVotes){
        votes_valid_filename = config.getString("votes_valid_filename", "votes_valid.txt");
        votes_bad_filename = config.getString("votes_bad_filename", "votes_bad.txt");
      }

     
      if (sql) {
        db = new DB();
        numQuestions = DB.qID.size();
        qOpts = new ArrayList<Integer>(numQuestions);
        for(int j = 0; j < numQuestions; j++){
          qOpts.add(0);
        }
        for(int i = 0; i < numQuestions;i++){
          int qid = DB.qID.get(i);
          ArrayList<Integer> opts = DB.optID.get(qid);
          qOpts.set(i, opts.size());
        }
      }
      else {
        qOpts = config.getList(Integer.class, "questionOptions");
        if (qOpts.size() > 5) {
          throw new ConfigurationException(
              "Too many questions; maximum 5 supported");
        }
        for(int i:qOpts){
          if(i > 5 || i < 2){
            throw new ConfigurationException(
                "Questions must have between 2 and 5 options");
          }
        }
        numQuestions = qOpts.size();
      }

    } catch (ConfigurationException e) {
      e.printStackTrace();
      System.exit(-1);

    }

  }
}
TOP

Related Classes of com.handivote.Settings

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.