]> Creatis software - creaImageIO.git/blobdiff - src/creaImageIOTreeHandlerImageAdder.cpp
Bug 1805:
[creaImageIO.git] / src / creaImageIOTreeHandlerImageAdder.cpp
index 3e2ff04943f05a3f840164b9e12a8741ffc128e0..ff4683d13d61c012832e617ae3bcb3135e4948d1 100644 (file)
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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 <creaImageIOTreeHandlerImageAdder.h>
 #include <creaImageIOSystem.h>
 #include <boost/filesystem.hpp>
@@ -47,9 +74,9 @@ namespace creaImageIO
   {
     mProgress.Reset();
        
-    unsigned int nbf = filenames.size(); 
+    //unsigned int nbf = filenames.size(); 
     std::vector<std::string>::const_iterator i;
-       mSynchronizer->GetList(mCurrentDB);
+    mSynchronizer->GetList(mCurrentDB);
     for (i=filenames.begin();i!=filenames.end();++i)
       {
        
@@ -212,28 +239,26 @@ namespace creaImageIO
          {
            if (recursive) 
                {
-                       AddDirectoryRecursorScanner( itr->string(), recursive, addKey, i_sc, true);
+                       AddDirectoryRecursorScanner( itr->path().string(), recursive, addKey, i_sc, true);
                }
          }
        else 
          {
                std::string parent_id;
                // tTest if directory (and only it) exists or not.
-               bool valid = mSynchronizer->isIndexed(itr->string());//true;//=mTimestampHandler->AddDirectory(dirpath, itr->string(), lastModif, time(0),mCurrentDB);
+               bool valid = mSynchronizer->isIndexed(itr->path().string());//true;//=mTimestampHandler->AddDirectory(dirpath, itr->string(), lastModif, time(0),mCurrentDB);
                if(valid)
                {
-
+                       std::string path(itr->path().string());
                        mProgress.IncNumberScannedFiles();
-                       boost::algorithm::replace_all( itr->string(),
-                                   INVALID_FILE_SEPARATOR , 
-                                  VALID_FILE_SEPARATOR);
-                       i_sc.ReadAttributes(itr->string(),attr);
+                        boost::algorithm::replace_all( path,INVALID_FILE_SEPARATOR,VALID_FILE_SEPARATOR);
+                       i_sc.ReadAttributes(itr->path().string(),attr);
                //      mTreeHandler->GetTopLevelNodeId("FullFileName",itr->string(),parent_id);
                        mTreeHandler->AddBranch(attr);
                        mProgress.IncNumberHandledFiles();
                        std::stringstream removedOn;
                        removedOn<<time(0);
-                       mSynchronizer->InsertIgnoreFile(addKey, itr->string(),"0",removedOn.str(),mCurrentDB);
+                        mSynchronizer->InsertIgnoreFile(addKey, path,"0",removedOn.str(),mCurrentDB);
 
                        
                        mProgressSignal(mProgress);
@@ -257,9 +282,10 @@ namespace creaImageIO
     mProgress.IncNumberScannedDirs();
 
     if ( !fs::exists( dirpath ) ) return;
-       time_t lastModif=fs::last_write_time(dirpath);
+    
+    /// \TODO fix warning: unused variable lastModif
+    time_t lastModif=fs::last_write_time(dirpath);
 
-       
     fs::directory_iterator end_itr; // default construction yields past-the-end
     for ( fs::directory_iterator itr( dirpath );
          itr != end_itr;
@@ -270,25 +296,25 @@ namespace creaImageIO
          {
            if (recursive) 
                {
-                       AddDirectoryRecursor( itr->string(), recursive, addKey);
+                       AddDirectoryRecursor( itr->path().string(), recursive, addKey);
                }
          }
        else 
          {
                std::string parent_id;
                // tTest if directory (and only it) exists or not.
-               bool valid = mSynchronizer->isIndexed(itr->string());//true;//=mTimestampHandler->AddDirectory(dirpath, itr->string(), lastModif, time(0),mCurrentDB);
+               bool valid = mSynchronizer->isIndexed(itr->path().string());//true;//=mTimestampHandler->AddDirectory(dirpath, itr->string(), lastModif, time(0),mCurrentDB);
                if(valid)
                {
                        mProgress.IncNumberScannedFiles();
-                       if (IsHandledFile(itr->string()))
+                       if (IsHandledFile(itr->path().string()))
                        {
                        mProgress.IncNumberHandledFiles();
-                       AddFile( itr->string() );
+                       AddFile( itr->path().string() );
                        //mTreeHandler->GetTopLevelNodeId("FullFileName",itr->string(),parent_id);
                        std::stringstream removedOn;
                        removedOn<<time(0);
-                       mSynchronizer->InsertIgnoreFile(addKey, itr->string(),"0",removedOn.str(),mCurrentDB);
+                       mSynchronizer->InsertIgnoreFile(addKey, itr->path().string(),"0",removedOn.str(),mCurrentDB);
                        }
                        
                        mProgressSignal(mProgress);
@@ -326,17 +352,17 @@ namespace creaImageIO
         {
             if (recursive)
                        {
-                CheckSyncDirectory( itr->string(), recursive, repair, checkAttributes, i_ignorefiles, attsModified, newfiles);
+                CheckSyncDirectory( itr->path().string(), recursive, repair, checkAttributes, i_ignorefiles, attsModified, newfiles);
                        }
         }
         else
         {
-            if (IsHandledFile(itr->string()))
+            if (IsHandledFile(itr->path().string()))
             {
                 bool bfound = false;
                 for(std::vector<std::string>::iterator it_new = i_ignorefiles.begin(); it_new < i_ignorefiles.end(); ++it_new)
                 {
-                                       if((*it_new) == itr->string())
+                                       if((*it_new) == itr->path().string())
                     {
                         bfound = true;
                                                //Additional checking of attributes
@@ -350,7 +376,7 @@ namespace creaImageIO
                                }
                                if(!bfound && i_ignorefiles.size()>0 )
                 {
-                    newfiles.push_back( itr->string() );
+                    newfiles.push_back( itr->path().string() );
                 }
                        }
                }