]> Creatis software - creaImageIO.git/commitdiff
bug correction on addfiles .
authorFrederic Cervenansky <Frederic.Cervenansky@creatis.insa-lyon.fr>
Wed, 29 Jul 2009 13:23:33 +0000 (13:23 +0000)
committerFrederic Cervenansky <Frederic.Cervenansky@creatis.insa-lyon.fr>
Wed, 29 Jul 2009 13:23:33 +0000 (13:23 +0000)
src2/creaImageIOGimmick.cpp
src2/creaImageIOSynchron.cpp
src2/creaImageIOTreeHandlerImageAdder.cpp
src2/creaImageIOTreeHandlerImageAdder.h

index f5d21100df39391a3be34cd7251915189e6cc4d2..de6b11dd169ea626d5255a2a64b5f2813607ad10 100644 (file)
@@ -291,7 +291,7 @@ namespace creaImageIO
        mImageAdder.SetCurrentDatabase(d);
     mImageAdder.SetTreeHandler(GetTreeHandler(d));
        mImageAdder.SetSynchronizer(mSynchronizer);
-    mImageAdder.AddFiles(filenames);
+       mImageAdder.AddFiles(filenames);
        
   }
   //========================================================================
index 0748a861351066682f3336f1fee4dd54672f1c47..06785fe8e94bc32d55335409f95fea662b040920 100644 (file)
@@ -1,8 +1,9 @@
 #include <creaImageIOSynchron.h>
 #include <creaImageIOSystem.h>
 #include <boost/filesystem.hpp>
+#include <boost/algorithm/string.hpp>
+//namespace fs = boost::filesystem;
 
-namespace fs = boost::filesystem;
 
 //=====================================================================
  
@@ -52,7 +53,7 @@ namespace creaImageIO
        //=====================================================================
        void Synchronizer::Initialize()
        {    
-               if (!fs::exists(pathDB)) 
+               if (!boost::filesystem::exists(pathDB)) 
                {
                        CreateDB();
                }
@@ -405,10 +406,12 @@ namespace creaImageIO
        bool Synchronizer::isIndexed(const std::string filename)
        {
                bool valid = true;
+               std::string name(filename);
+               boost::algorithm::replace_all( name,"\\" , "/");
                std::map <std::string, bool>::iterator it_list = mList.begin();
                for(;it_list != mList.end(); it_list++)
                {
-                       if(it_list->first == filename)
+                       if(it_list->first == name)
                        {
                                valid = false;
                                break;
index b1a60437cd2fa22737e4f1bd0b0fd2e339c4a273..290da65474741d59812ad591a705f3445e1601e6 100644 (file)
@@ -48,6 +48,7 @@ namespace creaImageIO
        
     unsigned int nbf = filenames.size(); 
     std::vector<std::string>::const_iterator i;
+       mSynchronizer->GetList();
     for (i=filenames.begin();i!=filenames.end();++i)
       {
        
@@ -55,12 +56,15 @@ namespace creaImageIO
        if (IsHandledFile(*i)) 
          {
            mProgress.IncNumberHandledFiles();
-               mSynchronizer->InsertAddOp((*i),"0","1",mCurrentDB);
-               std::string addKey=mSynchronizer->GetAttribute("ADD_KEY","ADD_OPS","PATH",(*i),mCurrentDB);
-               std::stringstream removedOn;
-               removedOn<<time(0);
-               mSynchronizer->InsertIgnoreFile(addKey,(*i),"0",removedOn.str(),mCurrentDB);
-           AddFile(*i);
+               if(mSynchronizer->isIndexed(*i))
+               {
+                       mSynchronizer->InsertAddOp((*i),"0","1",mCurrentDB);
+                       std::string addKey=mSynchronizer->GetAttribute("ADD_KEY","ADD_OPS","PATH",(*i),mCurrentDB);
+                       std::stringstream removedOn;
+                       removedOn<<time(0);
+                       mSynchronizer->InsertIgnoreFile(addKey,(*i),"0",removedOn.str(),mCurrentDB);
+                       AddFile(*i);
+               }
          }
        mProgressSignal(mProgress);
        if (mProgress.GetStop()) break;
index a9666eac07d6e93b94a78e8b61fc022cd76d0d53..41ff0a63969818dc6bf209e925176b37767d1167 100644 (file)
@@ -2,7 +2,6 @@
 #define __creaImageIOTreeHandlerImageAdder_h_INCLUDED__
 
 #include <creaImageIOTreeHandler.h>
-#include <creaImageIOTimestampDatabaseHandler.h>
 #include <creaImageIOSynchron.h>
 #include <creaImageIOImageReader.h>
 //#include <creaImageIOImageWriter.h>
@@ -32,8 +31,7 @@ namespace creaImageIO
     ~TreeHandlerImageAdder();
     /// Sets the TreeHandler
     void SetTreeHandler(TreeHandler* tree) { mTreeHandler = tree;}
-       /// Sets the TimestampDatabaseHandler
-    void SetTimestampHandler(TimestampDatabaseHandler* tdh) { mTimestampHandler = tdh;}
+       
        /// Sets the synchronizer
        void SetSynchronizer(Synchronizer* s){mSynchronizer=s;}
        /// Sets the synchronizer
@@ -167,7 +165,6 @@ namespace creaImageIO
                           const std::string &addKey);
 
     TreeHandler* mTreeHandler;
-       TimestampDatabaseHandler* mTimestampHandler;
        Synchronizer* mSynchronizer;
     ImageReader mReader;
        //ImageWriter mWriter;