From 5970066f11bb2288cc7dc9fe173051c2a343789d Mon Sep 17 00:00:00 2001 From: Frederic Cervenansky Date: Wed, 29 Jul 2009 13:23:33 +0000 Subject: [PATCH] bug correction on addfiles . --- src2/creaImageIOGimmick.cpp | 2 +- src2/creaImageIOSynchron.cpp | 9 ++++++--- src2/creaImageIOTreeHandlerImageAdder.cpp | 16 ++++++++++------ src2/creaImageIOTreeHandlerImageAdder.h | 5 +---- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src2/creaImageIOGimmick.cpp b/src2/creaImageIOGimmick.cpp index f5d2110..de6b11d 100644 --- a/src2/creaImageIOGimmick.cpp +++ b/src2/creaImageIOGimmick.cpp @@ -291,7 +291,7 @@ namespace creaImageIO mImageAdder.SetCurrentDatabase(d); mImageAdder.SetTreeHandler(GetTreeHandler(d)); mImageAdder.SetSynchronizer(mSynchronizer); - mImageAdder.AddFiles(filenames); + mImageAdder.AddFiles(filenames); } //======================================================================== diff --git a/src2/creaImageIOSynchron.cpp b/src2/creaImageIOSynchron.cpp index 0748a86..06785fe 100644 --- a/src2/creaImageIOSynchron.cpp +++ b/src2/creaImageIOSynchron.cpp @@ -1,8 +1,9 @@ #include #include #include +#include +//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 ::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; diff --git a/src2/creaImageIOTreeHandlerImageAdder.cpp b/src2/creaImageIOTreeHandlerImageAdder.cpp index b1a6043..290da65 100644 --- a/src2/creaImageIOTreeHandlerImageAdder.cpp +++ b/src2/creaImageIOTreeHandlerImageAdder.cpp @@ -48,6 +48,7 @@ namespace creaImageIO unsigned int nbf = filenames.size(); std::vector::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<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<InsertIgnoreFile(addKey,(*i),"0",removedOn.str(),mCurrentDB); + AddFile(*i); + } } mProgressSignal(mProgress); if (mProgress.GetStop()) break; diff --git a/src2/creaImageIOTreeHandlerImageAdder.h b/src2/creaImageIOTreeHandlerImageAdder.h index a9666ea..41ff0a6 100644 --- a/src2/creaImageIOTreeHandlerImageAdder.h +++ b/src2/creaImageIOTreeHandlerImageAdder.h @@ -2,7 +2,6 @@ #define __creaImageIOTreeHandlerImageAdder_h_INCLUDED__ #include -#include #include #include //#include @@ -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; -- 2.45.1