commit 85122d362d18c69f27a2efff3e4a91524c5989b9
parent 2d7a72dbb904d8470447d9371c8d4846cd28193b
Author: Alberto Lerda <30939098+albertolerda@users.noreply.github.com>
Date: Thu, 15 Dec 2022 19:34:42 +0100
Merge pull request #40 from interfacerproject/fix-dpp
Zenflows.VF.EconomicResource.Domain: fix dpp
Diffstat:
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/src/zenflows/vf/economic_resource/domain.ex b/src/zenflows/vf/economic_resource/domain.ex
@@ -280,14 +280,14 @@ def trace_dpp_er_before(_item, visited, depth) when depth >= @max_depth do
{visited, %{}}
end
def trace_dpp_er_before(%EconomicResource{} = item, visited, depth) do
- a_dpp_item = %{node: item}
+ a_dpp_item = %{type: "EconomicResource", node: item}
{visited2, children} = EconomicResource.Domain.previous(item) |> Enum.reduce({visited, []},
fn ee, {visited, children} ->
if MapSet.member?(visited, {ee.__struct__, ee.id}) do
{visited, children}
else
- {visited2, child} = trace_dpp_ee_before(ee, visited, depth + 1)
- {MapSet.put(visited2, {ee.__struct__, ee.id}), [child | children]}
+ {visited2, child} = trace_dpp_ee_before(ee, MapSet.put(visited, {ee.__struct__, ee.id}), depth + 1)
+ {visited2, [child | children]}
end
end
)
@@ -301,7 +301,7 @@ def trace_dpp_ee_before_recurse(%EconomicResource{} = item, visited, depth) do
trace_dpp_er_before(item, visited, depth)
end
def trace_dpp_ee_before_recurse(%EconomicEvent{} = item, visited, depth) do
- trace_dpp_ee_before(item, visited, depth)
+ trace_dpp_pr_before(item, MapSet.put(visited, {item.__struct__, item.id}), depth)
end
def trace_dpp_ee_before_recurse(%Process{} = item, visited, depth) do
trace_dpp_pr_before(item, MapSet.put(visited, {item.__struct__, item.id}), depth)
@@ -312,7 +312,7 @@ def trace_dpp_ee_before(_item, visited, depth) when depth >= @max_depth do
{visited, %{}}
end
def trace_dpp_ee_before(%EconomicEvent{} = item, visited, depth) do
- a_dpp_item = %{node: item}
+ a_dpp_item = %{type: "EconomicEvent", node: item}
pr_item = EconomicEvent.Domain.previous(item)
if pr_item == nil do
{visited, Map.put(a_dpp_item, :children, [])}
@@ -323,7 +323,7 @@ def trace_dpp_ee_before(%EconomicEvent{} = item, visited, depth) do
{visited, children}
else
{visited2, child} = trace_dpp_ee_before_recurse(pf, visited, depth + 1)
- {MapSet.put(visited2, {pf.__struct__, pf.id}), [child | children]}
+ {visited2, [child | children]}
end
end
)
@@ -336,14 +336,14 @@ def trace_dpp_pr_before(_item, visited, depth) when depth >= @max_depth do
{visited, %{}}
end
def trace_dpp_pr_before(item, visited, depth) do
- a_dpp_item = %{node: item}
+ a_dpp_item = %{type: "Process", node: item}
{visited2, children} = Process.Domain.previous(item) |> Enum.reduce({visited, []},
fn ee, {visited, children} ->
- if MapSet.member?(visited, ee.id) do
+ if MapSet.member?(visited, {ee.__struct__, ee.id}) do
{visited, children}
else
- {visited2, child} = trace_dpp_ee_before(ee, visited, depth + 1)
- {MapSet.put(visited2, ee.id), [child | children]}
+ {visited2, child} = trace_dpp_ee_before(ee, MapSet.put(visited, {ee.__struct__, ee.id}), depth + 1)
+ {visited2, [child | children]}
end
end
)