From 6334e071814c52c441ed1bd816046c1ed489c93d Mon Sep 17 00:00:00 2001 From: "jonathan.ehret" <ehret@vr.rwth-aachen.de> Date: Wed, 22 Feb 2023 10:41:44 +0100 Subject: [PATCH] improve removing old long table files (previously missing those phases which were only added in the callback function) --- .../Private/SFParticipant.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Source/StudyFrameworkPlugin/Private/SFParticipant.cpp b/Source/StudyFrameworkPlugin/Private/SFParticipant.cpp index ac2767d..0abf6cd 100644 --- a/Source/StudyFrameworkPlugin/Private/SFParticipant.cpp +++ b/Source/StudyFrameworkPlugin/Private/SFParticipant.cpp @@ -6,6 +6,7 @@ #include "IUniversalLogging.h" #include "SFGameInstance.h" +#include "HAL/FileManagerGeneric.h" #include "Help/SFUtils.h" #include "Logging/SFLoggingBPLibrary.h" #include "Logging/SFLoggingUtils.h" @@ -479,15 +480,16 @@ void USFParticipant::RecoverStudyResultsOfFinishedConditions() void USFParticipant::ClearPhaseLongtables(ASFStudySetup* StudySetup) { - for (int i = 0; i < StudySetup->GetNumberOfPhases(); ++i) + const FString LongTableFolder = FPaths::ProjectDir() + "StudyFramework/StudyLogs/"; + const FString Extension = "*.csv"; + const FString SearchPattern = LongTableFolder + Extension; + TArray<FString> FileNames; + IFileManager& FileManager = IFileManager::Get(); + FileManager.FindFiles(FileNames, *SearchPattern, true, false); + for (FString Filename : FileNames) { - const FString PhaseName = StudySetup->GetPhase(i)->PhaseName; - const FString Filename = FPaths::ProjectDir() + "StudyFramework/StudyLogs/Phase_" + PhaseName + ".csv"; - if (FPaths::FileExists(Filename)) - { - IFileManager& FileManager = IFileManager::Get(); - FileManager.Delete(*Filename); - } + const FString FullName = LongTableFolder + Filename; + FileManager.Delete(*FullName); } } -- GitLab