diff --git a/src/DataBlobs/services/BlobStores.jl b/src/DataBlobs/services/BlobStores.jl index 77383ac3..0dff6b23 100644 --- a/src/DataBlobs/services/BlobStores.jl +++ b/src/DataBlobs/services/BlobStores.jl @@ -124,8 +124,18 @@ export FolderStore struct FolderStore{T} <: AbstractBlobStore{T} key::Symbol folder::String + function FolderStore{T}(key, folder) where T + if !isdir(folder) + @info "Folder '$folder' doesn't exist - creating." + # create new folder + mkpath(folder) + end + return new(key, folder) + end end +FolderStore(foldername::String) = FolderStore{Vector{UInt8}}(:default_folder_store, foldername) + blobfilename(store::FolderStore, entry::BlobStoreEntry) = joinpath(store.folder,"$(entry.id).dat") entryfilename(store::FolderStore, entry::BlobStoreEntry) = joinpath(store.folder,"$(entry.id).json") diff --git a/src/DataBlobs/services/FileDataEntryBlob.jl b/src/DataBlobs/services/FileDataEntryBlob.jl index 2f327af2..e55a7f69 100644 --- a/src/DataBlobs/services/FileDataEntryBlob.jl +++ b/src/DataBlobs/services/FileDataEntryBlob.jl @@ -15,12 +15,12 @@ struct FileDataEntry <: AbstractDataEntry function FileDataEntry(label, id, folder, hash, timestamp) if !isdir(folder) - @warn "Folder '$folder' doesn't exist - creating." + @info "Folder '$folder' doesn't exist - creating." # create new folder mkpath(folder) end return new(label, id, folder, hash, timestamp) - end + end end # @generated function ==(x::FileDataEntry, y::FileDataEntry) diff --git a/test/consol_DataEntryBlobTests.jl b/test/consol_DataEntryBlobTests.jl index 4a091dae..df87775e 100644 --- a/test/consol_DataEntryBlobTests.jl +++ b/test/consol_DataEntryBlobTests.jl @@ -50,7 +50,7 @@ deleteData!(dfg, :x2, :random) ##============================================================================== ## FileDataEntry ##============================================================================== -ade,adb = addData!(FileDataEntry, dfg, :x1, :random, "/tmp/dfgFilestore", dataset1) +ade,adb = addData!(FileDataEntry, dfg, :x1, :random, "/tmp/dfgFileEntryBlob", dataset1) gde,gdb = getData(dfg, :x1, :random) dde,ddb = deleteData!(dfg, :x1, :random) @@ -73,7 +73,7 @@ deleteData!(dfg, :x2, :random) ##============================================================================== # Create a data store and add it to DFG -ds = FolderStore{Vector{UInt8}}(:filestore, "/tmp/dfgFilestore") +ds = FolderStore{Vector{UInt8}}(:filestore, "/tmp/dfgFolderStore") addBlobStore!(dfg, ds) ade,adb = addData!(dfg, :filestore, :x1, :random, dataset1)