//=====
void WriteColumnsString::Process()
{
-
- std::cout << "MLER WriteColumnsString::Process Start " << std::endl;
-
std::ofstream write_fi;
- write_fi.open(bbGetInputFileName().c_str());
- //std::cout<<"write_fi "<<bbGetInputFileName().c_str()<<std::endl;
- std::vector<std::string> headers = bbGetInputHeaders();
+ write_fi.open(bbGetInputFileName().c_str());
+ std::vector<std::string> headers = bbGetInputHeaders(); //Headers Input
+ bool onHeaders = bbGetInputOnHeaders();
+ std::vector<std::vector<std::string> > values;
+ values.push_back( bbGetInputlstData1() );
+ values.push_back( bbGetInputlstData2() );
+ values.push_back( bbGetInputlstData3() );
+ values.push_back( bbGetInputlstData4() );
+ values.push_back( bbGetInputlstData5() );
+ values.push_back( bbGetInputlstData6() );
+ values.push_back( bbGetInputlstData7() );
+ values.push_back( bbGetInputlstData8() );
+ values.push_back( bbGetInputlstData9() );
+ std::vector<std::vector<std::string> >::iterator it;
- int i,j,k;
+
- if(write_fi.is_open())
+ for(it = values.begin() ; it != values.end() ; )
{
- for(i=0 ;i< headers.size(); i++ )
+ if((*it).empty())
{
- write_fi << headers[i] << "\t";
- }//for headersSize
+ it = values.erase(it);
+ }else
+ {
+ it++;
+ } // if
+ } // for it
+
- for(j=0; j< bbGetInputlstData1().size();j++)
+ bool ok = true;
+ int i,size = values.size();
+ for ( i=0 ; i<size-1 ; i++ )
+ {
+ if ( values[i].size() != values[i+1].size() )
{
- write_fi << bbGetInputlstData1()[j] << "\n";
- }
+ ok=false;
+ } // if
+ } // for
- std::cout<<"size Header"<<headers.size()<<std::endl;
-
- }// if write_fi.is_open()
- else
+ if (ok==true)
{
- std::cout<<"No es posible abrir"<<std::endl;
- }//else
+ if(write_fi.is_open())
+ {
+ if(onHeaders == true) // If onHeaders is true, the file is write with Headers.
+ {
+ //Add each header input write to file
+ for(unsigned int i=0 ;i< headers.size(); i++ )
+ {
+ if(i==(headers.size()-1))
+ {
+ write_fi << headers[i] << "\n";
+ }else{
+ write_fi << headers[i] << "\t";
+ } // if
+ }//for headersSize
+ }
+ unsigned int colSize = values[0].size();
+ for(unsigned int j=0 ; j<colSize ; j++)
+ {
+ for(unsigned int i=0;i<values.size();i++)
+ {
+ if(i==(values.size()-1))
+ {
+ write_fi << values[i][j] << "\n";
+ }else{
+ write_fi << values[i][j] << "\t";
+ } // if
+ } // for
+ } // for
+ } else { // if write_fi.is_open()
+ std::cout<<"EED WriteColumnsString::Process Imposible to open file."<<std::endl;
+ }//if open
+
+ } else {
+ printf("EED WriteColumnsString::Process Warning! The size of the vectors are not equal. \n");
+ }// if ok
write_fi.close();
+ bbSetOutputOutFileName(bbGetInputFileName().c_str());
- bbSetOutputOutFileName("Prueba.txt");
- std::cout << "MLER WriteColumnsString::End Process " << std::endl;
-
}
//=====
// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX
// Here we initialize the input 'In' to 0
bbSetInputFileName("");
-
+ bbSetInputFileName("true");
}
//=====
// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
// Here does nothing
// but this is where you should allocate the internal/output pointers
// if any
-
-
}
//=====
// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)