#include "getlinecommand.h"
-
-GetlineCommand::GetlineCommand(){
+//**********************************************************************************************************************
+GetlineCommand::GetlineCommand(string option){
try {
globaldata = GlobalData::getInstance();
+ abort = false;
+
+ //allow user to run help
+ if(option == "help") { help(); abort = true; }
+
+ else {
+ if (option != "") { cout << "There are no valid parameters for the get.line command." << endl; abort = true; }
+
+ if ((globaldata->getListFile() == "") && (globaldata->getRabundFile() == "") && (globaldata->getSabundFile() == "")) { cout << "You must read a list, sabund or rabund before you can use the get.line command." << endl; abort = true; }
+ }
+
}
catch(exception& e) {
cout << "Standard Error: " << e.what() << " has occurred in the GetlineCommand class Function GetlineCommand. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
}
}
+//**********************************************************************************************************************
+
+void GetlineCommand::help(){
+ try {
+ cout << "The get.line command can only be executed after a successful read.otu command." << "\n";
+ cout << "You may not use any parameters with the get.line command." << "\n";
+ cout << "The get.line command should be in the following format: " << "\n";
+ cout << "get.line()" << "\n";
+ cout << "Example get.line()." << "\n";
+ }
+ catch(exception& e) {
+ cout << "Standard Error: " << e.what() << " has occurred in the GetlineCommand class Function help. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+ exit(1);
+ }
+ catch(...) {
+ cout << "An unknown error has occurred in the GetlineCommand class function help. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+ exit(1);
+ }
+}
//**********************************************************************************************************************
int GetlineCommand::execute(){
try {
- filename = globaldata->inputFileName;
+
+ if (abort == true) { return 0; }
+
ifstream in;
- openInputFile(filename, in);
+ openInputFile(globaldata->inputFileName, in);
string label;
int numBins = 0;
int count = -1;
int line = 1;
- while(in.good())
- {
+ while(in.good()) {
if(count > numBins)
count = 0;
- if(count == 0)
- {
+ if(count == 0) {
cout << line << "\n";
in >> numBins;
line++;
in >> label;
count++;
}
+
+ in.close();
return 0;
}