From 37ce7617170db97c1ad6bc736a331e7fedf56a8e Mon Sep 17 00:00:00 2001 From: caballero Date: Mon, 20 Apr 2009 11:29:34 +0000 Subject: [PATCH] Added functionality for non loaded nodes --- src2/creaImageIOSQLiteTreeHandler.cpp | 35 +++++++++++++++++++- src2/creaImageIOSQLiteTreeHandler.h | 8 ++++- src2/creaImageIOTimestampDatabaseHandler.cpp | 14 ++++++-- src2/creaImageIOTreeHandler.h | 7 ++++ src2/creaImageIOTreeHandlerImageAdder.cpp | 6 +++- 5 files changed, 65 insertions(+), 5 deletions(-) diff --git a/src2/creaImageIOSQLiteTreeHandler.cpp b/src2/creaImageIOSQLiteTreeHandler.cpp index 6af107d..0a953fa 100644 --- a/src2/creaImageIOSQLiteTreeHandler.cpp +++ b/src2/creaImageIOSQLiteTreeHandler.cpp @@ -975,7 +975,7 @@ namespace creaImageIO query<<"DELETE FROM "<1) + { + std::stringstream out; + std::stringstream results; + out<<"SELECT PARENT_ID FROM "<GetAttribute("FullFileName")); } + else + { + DBRemove("TopLevelNodeId",node->GetAttribute("ID")); + } } diff --git a/src2/creaImageIOTreeHandler.h b/src2/creaImageIOTreeHandler.h index 5a7cecd..9b7c4db 100644 --- a/src2/creaImageIOTreeHandler.h +++ b/src2/creaImageIOTreeHandler.h @@ -105,6 +105,13 @@ namespace creaImageIO virtual void UnLoad(tree::Node* n) { return; } //==================================================================== + //==================================================================== + /// Returns the top level node id for the given search param and search value + virtual void GetTopLevelNodeId(const std::string& searchParam, + const std::string& searchValue, + std::string& parent_id){ return; } + ///==================================================================== + //==================================================================== // WRITE METHODS : WORK ONLY IN WRITE MODE diff --git a/src2/creaImageIOTreeHandlerImageAdder.cpp b/src2/creaImageIOTreeHandlerImageAdder.cpp index f5424b6..f68fa77 100644 --- a/src2/creaImageIOTreeHandlerImageAdder.cpp +++ b/src2/creaImageIOTreeHandlerImageAdder.cpp @@ -50,7 +50,7 @@ namespace creaImageIO std::vector::const_iterator i; for (i=filenames.begin();i!=filenames.end();++i) { - + mTimestampHandler->AddFile((*i), fs::last_write_time(*i), time(0)); mProgress.IncNumberScannedFiles(); if (IsHandledFile(*i)) { @@ -114,6 +114,7 @@ namespace creaImageIO } else { + std::string parent_id; bool valid=mTimestampHandler->AddDirectory(dirpath, itr->string(), lastModif, time(0)); if(valid) { @@ -122,6 +123,8 @@ namespace creaImageIO { mProgress.IncNumberHandledFiles(); AddFile( itr->string() ); + mTreeHandler->GetTopLevelNodeId("FullFileName",itr->string(),parent_id); + mTimestampHandler->SetAttribute("TopLevelNodeId",parent_id,"PATH",itr->string()); } mProgressSignal(mProgress); if (mProgress.GetStop()) @@ -130,6 +133,7 @@ namespace creaImageIO break; } } + mTimestampHandler->SetAttribute("TopLevelNodeId",parent_id,"PATH",dirpath); } } -- 2.46.1