]> git.donarmstrong.com Git - mothur.git/blobdiff - getlabelcommand.cpp
broke up globaldata and moved error checking and help into commands
[mothur.git] / getlabelcommand.cpp
index 6d92b8e2c7c401035427f2c0aca60393b9680637..e0c17204e7c732ed180fd134a1a7c0d05a105c40 100644 (file)
@@ -9,11 +9,22 @@
 
 #include "getlabelcommand.h"
 
+//**********************************************************************************************************************
 
-
-GetlabelCommand::GetlabelCommand(){
+GetlabelCommand::GetlabelCommand(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.label 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.label command." << endl; abort = true; }                              
+               }
+
        }
        catch(exception& e) {
                cout << "Standard Error: " << e.what() << " has occurred in the GetlabelCommand class Function GetlabelCommand. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
@@ -25,6 +36,25 @@ GetlabelCommand::GetlabelCommand(){
        }       
                        
 }
+//**********************************************************************************************************************
+
+void GetlabelCommand::help(){
+       try {
+               cout << "The get.label command can only be executed after a successful read.otu command." << "\n";
+               cout << "You may not use any parameters with the get.label command." << "\n";
+               cout << "The get.label command should be in the following format: " << "\n";
+               cout << "get.label()" << "\n";
+               cout << "Example get.label()." << "\n";
+       }
+       catch(exception& e) {
+               cout << "Standard Error: " << e.what() << " has occurred in the GetlabelCommand class Function help. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+               exit(1);
+       }
+       catch(...) {
+               cout << "An unknown error has occurred in the GetlabelCommand class function help. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+               exit(1);
+       }       
+}
 
 //**********************************************************************************************************************
 
@@ -35,6 +65,9 @@ GetlabelCommand::~GetlabelCommand(){
 
 int GetlabelCommand::execute(){
        try {
+               
+               if (abort == true) { return 0; }
+               
                filename = globaldata->inputFileName;
                ifstream in;
                openInputFile(filename, in);