]> Creatis software - bbtk.git/blobdiff - kernel/appli/bbpConfigurator/bbpConfigurator.cpp
#2841 BBTK Bug New Normal - bbpConfigurator Cleaning string package:boxname ->...
[bbtk.git] / kernel / appli / bbpConfigurator / bbpConfigurator.cpp
index fdabc26ed99cb56165e7c89f98c9e556baabac82..4de87c8161b0cf4d3611f2f4752842e1eb65b256 100644 (file)
@@ -106,15 +106,46 @@ int main(int argc, char **argv)
   BoxesVector boxs;
 
 
-  for (int i = 0; i < (int)files.size(); ++i) {
+  for (int i = 0; i < (int)files.size(); ++i) 
+  {
     bbtk::BBPInterpreter::Pointer I = bbtk::BBPInterpreter::New();
     I->InterpretFile(files[i].string());
+
+
     boxs.push_back( ((bbtk::BBPInterpreter*)(I.get()))->boxName );
-    deps.push_back( ((bbtk::BBPInterpreter*)(I.get()))->dependencies );
 
-    //print box name and dependencies
+// EED 2016/02/19
+//    deps.push_back( ((bbtk::BBPInterpreter*)(I.get()))->dependencies );
+ //-->  Cleanning string package:boxname -> boxname
+    std::set<std::string> tmpDependencies1=  ((bbtk::BBPInterpreter*)(I.get()))->dependencies  ;
+    std::set<std::string> tmpDependencies2;
+    std::set<std::string>::const_iterator sit(tmpDependencies1.begin()), send(tmpDependencies1.end()); 
+       int pos;
+       std::string tmpStr;
 //    std::cout << ((bbtk::BBPInterpreter*)(I.get()))->boxName << ": ";
-//    for(
+    for(;sit!=send;++sit)
+    { 
+               pos=(*sit).find(":");   
+               if (pos== std::string::npos ) 
+               { 
+                       tmpDependencies2.insert( *sit );
+//                     std::cout << *sit << ' ';
+               } else {
+                       tmpStr=(*sit).substr(pos+1);
+                       tmpDependencies2.insert( tmpStr );
+//                     std::cout << tmpStr << ' ';
+               } // if
+
+    } // for
+//    std::cout << std::endl;
+    deps.push_back( tmpDependencies2 );
+ //<--
+
+
+
+//    //print box name and dependencies  OLD VERSION
+//    std::cout << ((bbtk::BBPInterpreter*)(I.get()))->boxName << ": ";
+//   for(
 //      Dependencies::iterator it = ((bbtk::BBPInterpreter*)(I.get()))->dependencies.begin();
 //      it != ((bbtk::BBPInterpreter*)(I.get()))->dependencies.end();
 //      it++) {
@@ -122,22 +153,21 @@ int main(int argc, char **argv)
 //    }
 //    std::cout << std::endl;
 
-  }
+  } // for i
 
   // Only keep dependencies from package
   Dependencies boxNamesSet(boxs.begin(), boxs.end());
 
-  //std::cout << "after: " << std::endl;
-  for (DependenciesVector::iterator it = deps.begin(); it != deps.end(); it++) {
+//std::cout << "after: " << std::endl;
+  for (DependenciesVector::iterator it = deps.begin(); it != deps.end(); it++) 
+  {
     BoxesVector tmp;
     std::set_intersection(it->begin(), it->end(), boxNamesSet.begin(), boxNamesSet.end(),std::back_inserter(tmp));
     Dependencies tmp1(tmp.begin(),tmp.end());
     it->swap( tmp1 );
-    //print clean dependencies
-//    for(
-//      Dependencies::iterator it1 = it->begin();
-//      it1 != it->end();
-//      it1++) {
+//    //print clean dependencies
+//    for( Dependencies::iterator it1 = it->begin();  it1 != it->end(); it1++) 
+//    {
 //      std::cout << *it1 << ", ";
 //    }
 //    std::cout << std::endl;
@@ -210,7 +240,9 @@ int main(int argc, char **argv)
     // find max priority level
     int mx_priority = 0;
     for (int i = 0; i < (int)priorities.size(); i++)
+    {
       mx_priority = std::max(mx_priority, priorities[i]);
+    }
 
     // for each priority level print scripts in that level.
     for (int i = 0; i <= mx_priority; i++)