X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FcreaImageIOSQLiteTreeHandler.cpp;h=e51bfa91ad9760cb0e3e8ce1246088f1bf8ffc21;hb=0d75ab3cb25deacda0547d4156ebef481396c62e;hp=dfcea654c4191bde57da82c29d8222e40b79899f;hpb=1d55c1cf210e95a6dc12fb8af67b2d21e48fb408;p=creaImageIO.git diff --git a/src/creaImageIOSQLiteTreeHandler.cpp b/src/creaImageIOSQLiteTreeHandler.cpp index dfcea65..e51bfa9 100644 --- a/src/creaImageIOSQLiteTreeHandler.cpp +++ b/src/creaImageIOSQLiteTreeHandler.cpp @@ -1,3 +1,31 @@ +/* +# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Santé) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ +*/ + + #include #include #include @@ -542,7 +570,7 @@ namespace creaImageIO // quote must be doubled boost::algorithm::replace_all(i_str,"'","''"); // Found strange strings which contained NULL char INSIDE string - int i,size=i_str.size(); + int i,size=(int)i_str.size(); for (i=0;ilastRowId(); + //long lastrow = mDB->lastRowId(); std::stringstream ri; ri << mDB->lastRowId(); n->SetAttribute("ID",ri.str()); @@ -952,7 +980,7 @@ GimmickDebugMessage(1, "query : '" < &i_results) { int level=GetTree().GetNumberOfLevels()-1; - + std::string search = i_filename; std::string param = "FullFileName"; std::string name; @@ -964,25 +992,27 @@ GimmickDebugMessage(1, "query : '" < values; std::vector::iterator it_val; - - - - while(level>1) + while(level>=1) { - attr = GetTree().GetAttributeDescriptorList(level,1); + attr = GetTree().GetAttributeDescriptorList(level,1); - name = GetTree().GetLevelDescriptor(level).GetName(); - std::vector values; - GetUpLevelNodeId(level, param,search,id); - GetAttributes(name, param,search,attr, values); - for(it_attr = attr.begin(), it_val = values.begin(); it_attr != attr.end(); it_attr++, it_val++) - { - i_results[(*it_attr).GetKey()] = (*it_val).c_str(); - } - search = id; - param = "ID"; - level --; - } + name = GetTree().GetLevelDescriptor(level).GetName(); + std::vector values; + +//EED 2018-04-13 GetUpLevelNodeId(level, param,search,id); + if (level>1) + { + GetUpLevelNodeId(level, param,search,id); + } + GetAttributes(name, param,search,attr, values); + for(it_attr = attr.begin(), it_val = values.begin(); it_attr != attr.end(); it_attr++, it_val++) + { + i_results[(*it_attr).GetKey()] = (*it_val).c_str(); + } // for + search = id; + param = "ID"; + level --; + } // while level } @@ -1036,7 +1066,6 @@ GimmickDebugMessage(1, "query : '" <