X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOSQLiteTreeHandler.cpp;h=6d4d25b9ce249d2ce1023d33d72cba8b75feeb04;hb=286cbf55bbd817ef8c9827d07fb231f945a77a89;hp=52042a21a097d8564bbae4950d2ed4ec8890dea8;hpb=eb6dbb22921be6bf7061773b25205446619966c6;p=creaImageIO.git diff --git a/src2/creaImageIOSQLiteTreeHandler.cpp b/src2/creaImageIOSQLiteTreeHandler.cpp index 52042a2..6d4d25b 100644 --- a/src2/creaImageIOSQLiteTreeHandler.cpp +++ b/src2/creaImageIOSQLiteTreeHandler.cpp @@ -149,7 +149,7 @@ namespace creaImageIO if (parent) { int nC = parent->RemoveChildrenFromList(node); - if(nC>0) + if(nC>0 && parent->GetLevel()>0) { std::stringstream out; out <GetLevel()).GetName() <GetChildrenList().begin(); - i != node->GetChildrenList().end(); - i++) - { - DBRecursiveRemoveNode((*i)); - } + + if(node->GetNumberOfChildren()!=0) + { + Node::ChildrenListType::iterator i; + for (i = node->GetChildrenList().begin(); + i != node->GetChildrenList().end(); + i++) + { + DBRecursiveRemoveNode((*i)); + } + } + else if(node->GetLevel()GetLevel()+1,node->GetAttribute("ID")); + } + } + + //===================================================================== + void SQLiteTreeHandler::DBRecursiveRemoveNode(int level, std::string parentId) + { + std::stringstream out; + std::stringstream result; + out<<"SELECT ID FROM "<1) + { + std::stringstream out; + std::stringstream results; + out<<"SELECT PARENT_ID FROM "<