Skip to content

Commit 1ac721a

Browse files
authored
Merge pull request #122 from JuliaRobotics/enhancement/cleardeperror
Clearer depreciation error in Symbol and Light DFG
2 parents 735e8ec + a0fb4f0 commit 1ac721a

File tree

7 files changed

+18
-11
lines changed

7 files changed

+18
-11
lines changed

src/LightDFG/entities/LightDFG.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ Base.propertynames(x::LightDFG, private::Bool=false) =
3434

3535
Base.getproperty(x::LightDFG,f::Symbol) = begin
3636
if f == :nodeCounter
37-
@error "Depreciated? returning number of nodes"
37+
@error "Field nodeCounter depreciated. returning number of nodes"
3838
nv(x.g)
3939
elseif f == :labelDict
40-
@error "Depreciated? Consider using exists(dfg,label) instead. Returning internals copy"
40+
@error "Field labelDict depreciated. Consider using exists(dfg,label) or getLabelDict(dfg) instead. Returning internals copy"
4141
#TODO: https://github.com/JuliaRobotics/DistributedFactorGraphs.jl/issues/111
4242
copy(x.g.labels.sym_int)
4343
else

src/LightDFG/services/LightDFG.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22

33
# Accessors
4-
getLabelDict(dfg::LightDFG) = dfg.labelDict
4+
getLabelDict(dfg::LightDFG) = copy(dfg.g.labels.sym_int)
55
getDescription(dfg::LightDFG) = dfg.description
66
setDescription(dfg::LightDFG, description::String) = dfg.description = description
77
getInnerGraph(dfg::LightDFG) = dfg.g

src/MetaGraphsDFG/entities/MetaGraphsDFG.jl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,11 @@ Base.propertynames(x::MetaGraphsDFG, private::Bool=false) =
4545

4646
Base.getproperty(x::MetaGraphsDFG,f::Symbol) = begin
4747
if f == :nodeCounter
48+
@warn "Field nodeCounter depreciated. returning number of nodes"
4849
nv(x.g)
4950
elseif f == :labelDict
50-
@warn "Read only! using internal labelDict"
51-
x.g.metaindex[:label]
51+
@warn "Field labelDict depreciated. Consider using exists(dfg,label) or getLabelDict(dfg) instead. Returning internals copy"
52+
copy(x.g.metaindex[:label])
5253
else
5354
getfield(x,f)
5455
end

src/MetaGraphsDFG/services/MetaGraphsDFG.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Accessors
2-
getLabelDict(dfg::MetaGraphsDFG) = dfg.g.metaindex[:label]
2+
getLabelDict(dfg::MetaGraphsDFG) = copy(dfg.g.metaindex[:label])
33
getDescription(dfg::MetaGraphsDFG) = dfg.description
44
setDescription(dfg::MetaGraphsDFG, description::String) = dfg.description = description
55
getInnerGraph(dfg::MetaGraphsDFG) = dfg.g

src/SymbolDFG/entities/SymbolDFG.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ Base.propertynames(x::SymbolDFG, private::Bool=false) =
3232

3333
Base.getproperty(x::SymbolDFG,f::Symbol) = begin
3434
if f == :nodeCounter
35-
@error "Depreciated? returning number of nodes"
35+
@error "Field nodeCounter depreciated. returning number of nodes"
3636
nv(x.g)
3737
elseif f == :labelDict
38-
@error "Maybe depreciated? using internals"
39-
x.g.fadjdict
38+
@error "Field labelDict depreciated. Consider using exists(dfg,label) or getLabelDict(dfg) instead. Returning internals copy"
39+
copy(x.g.fadjdict)
4040
else
4141
getfield(x,f)
4242
end

src/SymbolDFG/services/SymbolDFG.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
# Accessors
3-
getLabelDict(dfg::SymbolDFG) = dfg.labelDict
3+
getLabelDict(dfg::SymbolDFG) = copy(dfg.g.fadjdict)
44
getDescription(dfg::SymbolDFG) = dfg.description
55
setDescription(dfg::SymbolDFG, description::String) = dfg.description = description
66
getInnerGraph(dfg::SymbolDFG) = dfg.g

test/interfaceTests.jl

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ addFactor!(dfg, [v1, v2], f1)
1717
# end
1818

1919
@testset "Adding Removing Nodes" begin
20-
dfg2 = GraphsDFG{NoSolverParams}()
20+
dfg2 = testDFGAPI{NoSolverParams}()
2121
v1 = DFGVariable(:a)
2222
v2 = DFGVariable(:b)
2323
v3 = DFGVariable(:c)
@@ -174,6 +174,12 @@ end
174174
@test getFactorIds(dfg) == []
175175
deleteVariable!(dfg, :b)
176176
@test symdiff([:a, :orphan], getVariableIds(dfg)) == []
177+
#delete last also for the LightGraphs implementation coverage
178+
deleteVariable!(dfg, :orphan)
179+
@test symdiff([:a], getVariableIds(dfg)) == []
180+
deleteVariable!(dfg, :a)
181+
@test getVariableIds(dfg) == []
182+
177183
end
178184

179185

0 commit comments

Comments
 (0)