Changes in / [4cf323d:9784cf]


Ignore:
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/MapOfActions.cpp

    r4cf323d r9784cf  
    191191  BV.zz = boost::lexical_cast<double>(components.at(5));
    192192  v = boost::any(BoxValue(BV));
     193}
     194
     195void validate(boost::any& v, const std::vector<std::string>& values, boost::filesystem::path *, int)
     196{
     197  boost::filesystem::path filename;
     198  std::vector<std::string> components;
     199
     200  std::cout << "boost::filesystem::path validator used." << std::endl;
     201
     202  // split comma-separated values
     203  if (values.size() != 1) {
     204    cerr <<  "Not one file but " << components.size() << " given " << endl;
     205    throw boost::program_options::validation_error("Unequal to one file given");
     206  }
     207  filename = values.at(0);
     208  v = boost::any(boost::filesystem::path(filename));
    193209}
    194210
     
    447463  TypeEnumMap[&typeid(bool)] = Boolean;
    448464  TypeEnumMap[&typeid(int)] = Integer;
     465  TypeEnumMap[&typeid(boost::filesystem::path)] = File;
    449466  TypeEnumMap[&typeid(std::vector<int>)] = ListOfIntegers;
    450467  TypeEnumMap[&typeid(double)] = Double;
     
    10781095              ;
    10791096            break;
     1097          case File:
     1098            ListRunner->second->add_options()
     1099              (getKeyAndShortForm(*OptionRunner).c_str(),
     1100                  po::value< boost::filesystem::path >(),
     1101                  getDescription(*OptionRunner).c_str())
     1102              ;
     1103            break;
    10801104          case Integer:
    10811105            ListRunner->second->add_options()
  • src/Actions/MapOfActions.hpp

    r4cf323d r9784cf  
    138138  friend class MapOfActionsTest;
    139139public:
    140   enum OptionTypes { None, Boolean, Integer, ListOfIntegers, Double, ListOfDoubles, String, ListOfStrings, Vector, ListOfVectors, Box, Molecule, ListOfMolecules, Atom, ListOfAtoms, Element, ListOfElements };
     140  enum OptionTypes { None, Boolean, Integer, File, ListOfIntegers, Double, ListOfDoubles, String, ListOfStrings, Vector, ListOfVectors, Box, Molecule, ListOfMolecules, Atom, ListOfAtoms, Element, ListOfElements };
    141141
    142142  // getter for the action descriptions and short forms
  • src/Actions/WorldAction/InputAction.cpp

    r4cf323d r9784cf  
    4949
    5050  DoLog(0) && (Log() << Verbose(0) << "Config file given " << params.filename << "." << endl);
     51  // using the filename as prefix for all parsers
     52  std::string FilenameSuffix;
     53  std::string FilenamePrefix;
     54  if (params.filename.has_filename()) {
     55    // get suffix
     56    FilenameSuffix = params.filename.extension().substr(1); // remove the prefixed "."
     57    FilenamePrefix = params.filename.stem();
     58    DoLog(1) && (Log() << Verbose(1) << "Setting config file name prefix to " << FilenamePrefix << "." << endl);
     59    FormatParserStorage::getInstance().SetOutputPrefixForAll(FilenamePrefix);
     60  } else {
     61    DoeLog(1) && (eLog() << Verbose(1) << "Input file does not have a suffix, cannot recognize format." << endl);
     62    return Action::failure;
     63  }
     64
     65  // parsing file if present
    5166  if (!boost::filesystem::exists(params.filename)) {
    5267    DoLog(1) && (Log() << Verbose(1) << "Specified config file " << params.filename << " not found." << endl);
    53     return Action::failure;
     68    // DONT FAIL: it's just empty and we use the name. // return Action::failure;
    5469  } else {
    5570    DoLog(1) && (Log() << Verbose(1) << "Specified config file found, parsing ... ");
    56     if (params.filename.has_filename()) {
    57       // get suffix
    58       std::string FilenameSuffix = params.filename.extension();
    59       std::string FilenamePrefix = params.filename.stem();
    60       DoLog(1) && (Log() << Verbose(1) << "Setting config file name prefix to " << FilenamePrefix << "." << endl);
    61       FormatParserStorage::getInstance().SetOutputPrefixForAll(FilenamePrefix);
    6271
    63       // parse the file
    64       test.open(params.filename);
    65       FormatParserStorage::getInstance().get(test, FilenameSuffix);
    66       test.close();
    67 //
    68 //      // set mol to first active molecule
    69 //      if (molecules->ListOfMolecules.size() != 0) {
    70 //        for (MoleculeList::iterator ListRunner = molecules->ListOfMolecules.begin(); ListRunner != molecules->ListOfMolecules.end(); ListRunner++)
    71 //          if ((*ListRunner)->ActiveFlag) {
    72 //            mol = *ListRunner;
    73 //            break;
    74 //          }
    75 //      }
    76 //      if (mol == NULL) {
    77 //        mol = World::getInstance().createMolecule();
    78 //        mol->ActiveFlag = true;
    79 //        molecules->insert(mol);
    80 //      }
    81 //      mol->SetNameFromFilename(params.filename.substr(0,params.filename.find('.')).c_str());
    82       return Action::success;
    83     } else {
    84       DoeLog(1) && (eLog() << Verbose(1) << "Input file does not have a suffix, cannot recognize format." << endl);
    85       return Action::failure;
    86     }
     72    // parse the file
     73    test.open(params.filename);
     74    FormatParserStorage::getInstance().get(test, FilenameSuffix);
     75    test.close();
     76
     77    // set file name of last molecule
     78    MoleculeList::const_iterator iter = World::getInstance().getMolecules()->ListOfMolecules.end();
     79    iter--;
     80    (*iter)->SetNameFromFilename(FilenamePrefix.c_str());
    8781  }
     82  return Action::success;
    8883}
    8984
  • src/Parser/MpqcParser.cpp

    r4cf323d r9784cf  
    4949void MpqcParser::load(istream *file)
    5050{
    51   DoeLog(0) && (Log() << Verbose(0) << "Not yet implemented" << endl) ;
     51  // TODO: MpqcParser::load implementation
     52  ASSERT(false, "Not implemented yet");
    5253}
    5354
  • src/Parser/PcpParser.cpp

    r4cf323d r9784cf  
    355355  // 3. parse the molecule in
    356356  molecule *mol = World::getInstance().createMolecule();
    357   MoleculeListClass *molecules = World::getInstance().getMolecules();
    358   molecules->insert(mol);
     357  mol->ActiveFlag = true;
     358  // TODO: Remove the insertion into molecule when saving does not depend on them anymore. Also, remove molecule.hpp include
     359  World::getInstance().getMolecules()->insert(mol);
    359360  LoadMolecule(mol, FileBuffer, World::getInstance().getPeriode(), FastParsing);
    360   //mol->SetNameFromFilename(filename);
    361   mol->ActiveFlag = true;
    362   //MolList->insert(mol);
    363361
    364362  // 4. dissect the molecule into connected subgraphs
  • src/Parser/PdbParser.cpp

    r4cf323d r9784cf  
    7474 */
    7575void PdbParser::load(istream* file) {
     76  // TODO: PdbParser::load implementation
     77  ASSERT(false, "Not implemented yet");
    7678//  string line;
    7779//  string::size_type location;
     
    132134      elementNo[Z] = (elementNo[Z]+1) % 100;   // confine to two digits
    133135      const molecule *mol = (*atomIt)->getMolecule();
    134       if (mol == NULL) {  // for homeless atoms, MolNo = 0 is reserved
    135         MolNo = 0;
     136      if (mol == NULL) {  // for homeless atoms, MolNo = -1 is reserved
     137        MolNo = -1;
    136138      } else {
    137139        MolNo = mol->getId();
  • src/Parser/TremoloParser.cpp

    r4cf323d r9784cf  
    9292  usedFields.clear();
    9393  molecule *newmol = World::getInstance().createMolecule();
     94  newmol->ActiveFlag = true;
     95  // TODO: Remove the insertion into molecule when saving does not depend on them anymore. Also, remove molecule.hpp include
     96  World::getInstance().getMolecules()->insert(newmol);
    9497  while (file->good()) {
    9598    std::getline(*file, line, '\n');
  • src/UIElements/CommandLineUI/CommandLineDialog.cpp

    r4cf323d r9784cf  
    470470bool CommandLineDialog::FileCommandLineQuery::handle() {
    471471  if (CommandLineParser::getInstance().vm.count(getTitle())) {
    472     tmp = CommandLineParser::getInstance().vm[getTitle()].as<string>();
     472    tmp = CommandLineParser::getInstance().vm[getTitle()].as< boost::filesystem::path >();
    473473    return true;
    474474  } else {
  • tests/regression/Simple_configuration/2/post/test.pdb

    r4cf323d r9784cf  
    11REMARK created by molecuilder on Fri Aug 27 12:18:33 2010
    2 ATOM      1  H01 non b   1        10.0    10.0    10.0   1.0   1.0         0 H 0
     2ATOM      1  H01 non b   0        10.0    10.0    10.0   1.0   1.0         0 H 0
    33END
Note: See TracChangeset for help on using the changeset viewer.