Skip to content

Commit 7b98ea2

Browse files
authored
change delete return type (#1134)
Co-authored-by: Johannes Terblanche <[email protected]>
1 parent eff25af commit 7b98ea2

File tree

12 files changed

+92
-92
lines changed

12 files changed

+92
-92
lines changed

NEWS.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
Listing news on any major breaking changes in DFG. For regular changes, see integrated Github.com project milestones for DFG.
22

3+
# v0.27
4+
- `delete` returns number of nodes deleted and no longer the object that was deleted.
5+
36
# v0.26
47
- Graph structure plotting now uses GraphMakie.jl instead of GraphPlot.jl. Update by replacing `using GraphPlot` with `using GraphMakie`.
58

ext/DFGPlots.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ end
2424
function DFGPlotProps()
2525
return DFGPlotProps(
2626
(var = colorant"lightgreen", fac = colorant"cyan3"),
27-
(var = 40.0, fac = 20.0),
27+
(var = 50.0, fac = 20.0),
2828
(var = :circle, fac = :rect),
2929
GraphMakie.Stress(),
3030
true,

src/DataBlobs/services/BlobEntry.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,8 @@ Notes:
206206
- users responsibility to delete data in db before deleting entry
207207
"""
208208
function deleteBlobEntry!(var::AbstractDFGVariable, key::Symbol)
209-
return pop!(var.dataDict, key)
209+
pop!(var.dataDict, key)
210+
return 1
210211
end
211212

212213
function deleteBlobEntry!(var::VariableDFG, key::Symbol)
@@ -217,7 +218,8 @@ function deleteBlobEntry!(var::VariableDFG, key::Symbol)
217218
),
218219
)
219220
end
220-
return deleteat!(var.blobEntries, findfirst(x -> x.label == key, var.blobEntries))
221+
deleteat!(var.blobEntries, findfirst(x -> x.label == key, var.blobEntries))
222+
return 1
221223
end
222224

223225
function deleteBlobEntry!(dfg::AbstractDFG, label::Symbol, key::Symbol)

src/DataBlobs/services/BlobStores.jl

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -128,23 +128,13 @@ end
128128
# also creates an originId as uuid4
129129
addBlob!(store::AbstractBlobStore, data) = addBlob!(store, uuid4(), data)
130130

131-
#fallback as not all blobStores use filename
132-
function addBlob!(store::AbstractBlobStore, blobId::UUID, data, ::String)
133-
return addBlob!(store, blobId, data)
134-
end
135-
136-
function addBlob!(store::AbstractBlobStore{T}, data::T, ::String) where {T}
137-
return addBlob!(store, uuid4(), data)
138-
end
139-
140131
#update
141-
function updateBlob!(dfg::AbstractDFG, entry::BlobEntry, data::T) where {T}
142-
return updateBlob!(getBlobStore(dfg, entry.blobstore), entry, data)
132+
function updateBlob!(dfg::AbstractDFG, entry::BlobEntry, data)
133+
return updateBlob!(getBlobStore(dfg, entry.blobstore), entry.blobId, data)
143134
end
144135

145136
function updateBlob!(store::AbstractBlobStore, entry::BlobEntry, data)
146-
blobId = isnothing(entry.blobId) ? entry.originId : entry.blobId
147-
return updateBlob!(store, blobId, data)
137+
return updateBlob!(store, entry.blobId, data)
148138
end
149139
#delete
150140
function deleteBlob!(dfg::AbstractDFG, entry::BlobEntry)
@@ -241,10 +231,8 @@ end
241231

242232
function deleteBlob!(store::FolderStore{T}, blobId::UUID) where {T}
243233
blobfilename = joinpath(store.folder, string(blobId))
244-
245-
data = getBlob(store, blobId)
246234
rm(blobfilename)
247-
return data
235+
return 1
248236
end
249237

250238
#hasBlob or existsBlob?
@@ -292,7 +280,8 @@ function updateBlob!(store::InMemoryBlobStore{T}, blobId::UUID, data::T) where {
292280
end
293281

294282
function deleteBlob!(store::InMemoryBlobStore, blobId::UUID)
295-
return pop!(store.blobs, blobId)
283+
pop!(store.blobs, blobId)
284+
return 1
296285
end
297286

298287
hasBlob(store::InMemoryBlobStore, blobId::UUID) = haskey(store.blobs, blobId)
@@ -430,7 +419,8 @@ function updateBlob!(store::RowBlobStore{T}, blobId::UUID, blob::T) where {T}
430419
end
431420

432421
function deleteBlob!(store::RowBlobStore, blobId::UUID)
433-
return getfield(pop!(store.blobs, blobId), :blob)
422+
getfield(pop!(store.blobs, blobId), :blob)
423+
return 1
434424
end
435425

436426
hasBlob(store::RowBlobStore, blobId::UUID) = haskey(store.blobs, blobId)

src/DataBlobs/services/HelpersDataWrapEntryBlob.jl

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -276,9 +276,10 @@ function updateData!(
276276
end
277277

278278
function deleteData!(dfg::AbstractDFG, vLbl::Symbol, bLbl::Symbol)
279-
de = deleteBlobEntry!(dfg, vLbl, bLbl)
280-
db = deleteBlob!(dfg, de)
281-
return de => db
279+
de = getBlobEntry(dfg, vLbl, bLbl)
280+
deleteBlobEntry!(dfg, vLbl, bLbl)
281+
deleteBlob!(dfg, de)
282+
return 2
282283
end
283284

284285
function deleteData!(
@@ -296,7 +297,8 @@ function deleteData!(
296297
vLbl::Symbol,
297298
bLbl::Symbol,
298299
)
299-
de = deleteBlobEntry!(dfg, vLbl, bLbl)
300-
db = deleteBlob!(blobstore, de)
301-
return de => db
300+
de = getBlobEntry(dfg, vLbl, bLbl)
301+
deleteBlobEntry!(dfg, vLbl, bLbl)
302+
deleteBlob!(blobstore, de)
303+
return 2
302304
end

src/Deprecated.jl

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
## ================================================================================
2+
## Deprecated in v0.27
3+
##=================================================================================
4+
5+
@deprecate getNeighborhood(args...; kwargs...) listNeighborhood(args...; kwargs...)
6+
@deprecate addBlob!(store::AbstractBlobStore, blobId::UUID, data, ::String) addBlob!(store, blobId, data)
7+
@deprecate addBlob!(store::AbstractBlobStore{T}, data::T, ::String) where {T} addBlob!(store, uuid4(), data)
8+
19
## ================================================================================
210
## Deprecated in v0.25
311
##=================================================================================
@@ -62,8 +70,3 @@ DFGSummary(args) = error("DFGSummary is deprecated")
6270

6371
@deprecate lsfWho(dfg::AbstractDFG, type::Symbol) lsf(dfg, getfield(Main, type))
6472

65-
## ================================================================================
66-
## Deprecated in v0.23
67-
##=================================================================================
68-
#NOTE free up getNeighbors to return the variables or factors
69-
@deprecate getNeighbors(args...; kwargs...) listNeighbors(args...; kwargs...)

src/GraphsDFG/services/GraphsDFG.jl

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -174,21 +174,18 @@ function deleteVariable!(dfg::GraphsDFG, label::Symbol)#::Tuple{AbstractDFGVaria
174174

175175
deleteNeighbors = true # reserved, orphaned factors are not supported at this time
176176
if deleteNeighbors
177-
neigfacs = map(l -> deleteFactor!(dfg, l), listNeighbors(dfg, label))
177+
del_facs = map(l -> deleteFactor!(dfg, l), listNeighbors(dfg, label))
178178
end
179-
variable = dfg.g.variables[label]
180179
rem_vertex!(dfg.g, dfg.g.labels[label])
181-
182-
return variable, neigfacs
180+
return sum(del_facs) + 1
183181
end
184182

185183
function deleteFactor!(dfg::GraphsDFG, label::Symbol; suppressGetFactor::Bool = false)
186184
if !haskey(dfg.g.factors, label)
187185
error("Factor label '$(label)' does not exist in the factor graph")
188186
end
189-
factor = dfg.g.factors[label]
190187
rem_vertex!(dfg.g, dfg.g.labels[label])
191-
return factor
188+
return 1
192189
end
193190

194191
function getVariables(
@@ -319,7 +316,7 @@ function listNeighbors(dfg::GraphsDFG, label::Symbol; solvable::Int = 0)
319316
return neighbors_ll::Vector{Symbol}
320317
end
321318

322-
function getNeighborhood(
319+
function listNeighborhood(
323320
dfg::GraphsDFG,
324321
variableFactorLabels::Vector{Symbol},
325322
distance::Int;

src/services/AbstractDFG.jl

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -213,8 +213,15 @@ function updateGraphMetadata!(dfg::AbstractDFG, pair::Pair{Symbol, String})
213213
return push!(dfg.graphMetadata, pair)
214214
end
215215

216-
deleteAgentMetadata!(dfg::AbstractDFG, key::Symbol) = pop!(dfg.agent.metadata, key)
217-
deleteGraphMetadata!(dfg::AbstractDFG, key::Symbol) = pop!(dfg.graphMetadata, key)
216+
function deleteAgentMetadata!(dfg::AbstractDFG, key::Symbol)
217+
pop!(dfg.agent.metadata, key)
218+
return 1
219+
end
220+
221+
function deleteGraphMetadata!(dfg::AbstractDFG, key::Symbol)
222+
pop!(dfg.graphMetadata, key)
223+
return 1
224+
end
218225

219226
emptyAgentMetadata!(dfg::AbstractDFG) = empty!(dfg.agent.metadata)
220227
emptyGraphMetadata!(dfg::AbstractDFG) = empty!(dfg.graphMetadata)
@@ -263,7 +270,10 @@ end
263270
function updateBlobStore!(dfg::AbstractDFG, bs::AbstractBlobStore)
264271
return push!(dfg.blobStores, getLabel(bs) => bs)
265272
end
266-
deleteBlobStore!(dfg::AbstractDFG, key::Symbol) = pop!(dfg.blobStores, key)
273+
function deleteBlobStore!(dfg::AbstractDFG, key::Symbol)
274+
pop!(dfg.blobStores, key)
275+
return 1
276+
end
267277
emptyBlobStore!(dfg::AbstractDFG) = empty!(dfg.blobStores)
268278
listBlobStores(dfg::AbstractDFG) = collect(keys(dfg.blobStores))
269279

@@ -1366,8 +1376,8 @@ function buildSubgraph(
13661376
#build up the neighborhood from variableFactorLabels
13671377
allvarfacs = getNeighborhood(dfg, variableFactorLabels, distance; solvable = solvable)
13681378

1369-
variableLabels = intersect(listVariables(dfg), allvarfacs)
1370-
factorLabels = intersect(listFactors(dfg), allvarfacs)
1379+
variableLabels = intersect(allvarfacs, listVariables(dfg))
1380+
factorLabels = intersect(allvarfacs, listFactors(dfg))
13711381
# Copy the section of graph we want
13721382
destDFG = deepcopyGraph(G, dfg, variableLabels, factorLabels; graphLabel, kwargs...)
13731383
return destDFG

src/services/DFGVariable.jl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -570,9 +570,9 @@ Delete a Metadata entry at `key` for variable `label` in `dfg`
570570
"""
571571
function deleteMetadata!(dfg::AbstractDFG, label::Symbol, key::Symbol)
572572
v = getVariable(dfg, label)
573-
rval = pop!(v.smallData, key)
573+
pop!(v.smallData, key)
574574
updateVariable!(dfg, v)
575-
return rval
575+
return 1
576576
end
577577

578578
"""
@@ -877,8 +877,8 @@ function deleteVariableSolverData!(
877877
if !haskey(var.solverDataDict, solveKey)
878878
throw(KeyError("VariableNodeData '$(solveKey)' does not exist"))
879879
end
880-
vnd = pop!(var.solverDataDict, solveKey)
881-
return vnd
880+
pop!(var.solverDataDict, solveKey)
881+
return 1
882882
end
883883

884884
"""
@@ -1073,8 +1073,8 @@ function deletePPE!(dfg::AbstractDFG, variablekey::Symbol, ppekey::Symbol = :def
10731073
if !haskey(var.ppeDict, ppekey)
10741074
throw(KeyError("VariableNodeData '$(ppekey)' does not exist"))
10751075
end
1076-
vnd = pop!(var.ppeDict, ppekey)
1077-
return vnd
1076+
pop!(var.ppeDict, ppekey)
1077+
return 1
10781078
end
10791079

10801080
"""

test/consol_DataEntryBlobTests.jl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,11 @@ gde, gdb = getData(dfg, :x1, :random)
105105
# @test incrDataLabelSuffix(dfg,:x1,:another) == :another_2 # TODO exand support for Regex likely search on labels
106106
# @test incrDataLabelSuffix(dfg,:x1,"random") == "random_1" # TODO expand support for label::String
107107

108-
dde, ddb = deleteData!(dfg, :x1, :random)
109-
_, _ = deleteData!(dfg, :x1, :another_1)
108+
@test deleteData!(dfg, :x1, :random) == 2
109+
@test deleteData!(dfg, :x1, :another_1) == 2
110110

111-
@test ade == gde == dde
112-
@test dataset1 == gdb == ddb
111+
@test ade == gde
112+
@test dataset1 == gdb
113113

114114
ade2 = addData!(dfg, :x2, deepcopy(ade), dataset1)
115115
# ade3,adb3 = updateBlob!(dfg, :x2, deepcopy(ade), dataset1)
@@ -135,10 +135,10 @@ addBlobStore!(dfg, ds)
135135

136136
ade = addData!(dfg, :default_inmemory_store, :x1, :random, dataset1)
137137
gde, gdb = getData(dfg, :x1, :random)
138-
dde, ddb = deleteData!(dfg, :x1, :random)
138+
@test deleteData!(dfg, :x1, :random) == 2
139139

140-
@test ade == gde == dde
141-
@test dataset1 == gdb == ddb
140+
@test ade == gde
141+
@test dataset1 == gdb
142142

143143
ade2 = addData!(dfg, :x2, deepcopy(ade), dataset1)
144144
# ade3,adb3 = updateBlob!(dfg, :x2, deepcopy(ade), dataset1)

0 commit comments

Comments
 (0)