Excluded package diagram relationships to rejected packages (#185)

This commit is contained in:
Bartek Kryza
2023-10-10 12:13:46 +02:00
parent c398c6ffda
commit 9d43281bdd
4 changed files with 31 additions and 6 deletions

View File

@@ -1,5 +1,6 @@
# CHANGELOG
* Excluded package diagram relationships to rejected packages (#185)
* Added 'title' diagram property (#184)
* Make sure sequence diagram messages generated during static variable
initialization are rendered only once (#183)

View File

@@ -36,6 +36,14 @@ void generator::generate_relationships(
if (model().should_include(relationship_t::kDependency)) {
for (const auto &r : p.relationships()) {
nlohmann::json rel = r;
auto destination_package = model().get(r.destination());
if (!destination_package ||
!model().should_include(
dynamic_cast<const package &>(*destination_package)))
continue;
rel["source"] = std::to_string(p.id());
parent["relationships"].push_back(std::move(rel));
}

View File

@@ -45,9 +45,17 @@ void generator::generate_relationships(
for (const auto &r : p.relationships()) {
std::stringstream relstr;
try {
auto destination = model().to_alias(r.destination());
if (!destination.empty()) {
relstr << p.alias() << " -.-> " << destination << '\n';
auto destination_package = model().get(r.destination());
if (!destination_package ||
!model().should_include(
dynamic_cast<const package &>(*destination_package)))
continue;
auto destination_alias = model().to_alias(r.destination());
if (!destination_alias.empty()) {
relstr << p.alias() << " -.-> " << destination_alias
<< '\n';
ostr << indent(1) << relstr.str();
}
}

View File

@@ -38,9 +38,17 @@ void generator::generate_relationships(
for (const auto &r : p.relationships()) {
std::stringstream relstr;
try {
auto destination = model().to_alias(r.destination());
if (!destination.empty()) {
relstr << p.alias() << " ..> " << destination << '\n';
auto destination_package = model().get(r.destination());
if (!destination_package ||
!model().should_include(
dynamic_cast<const package &>(*destination_package)))
continue;
auto destination_alias = model().to_alias(r.destination());
if (!destination_alias.empty()) {
relstr << p.alias() << " ..> " << destination_alias << '\n';
ostr << relstr.str();
}
}