From 4a18a1d965f332b68e219350561a52d992a959e0 Mon Sep 17 00:00:00 2001 From: Daniel Pozzi Date: Tue, 22 Jun 2021 16:56:41 +0200 Subject: [PATCH 1/2] [#584] do not show links to unlisted items in owner report --- .../de/bonndan/nivio/output/docs/HtmlGenerator.java | 10 ++++++++-- .../nivio/output/docs/OwnersReportGenerator.java | 2 +- .../de/bonndan/nivio/output/docs/ReportGenerator.java | 9 +++++---- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/main/java/de/bonndan/nivio/output/docs/HtmlGenerator.java b/src/main/java/de/bonndan/nivio/output/docs/HtmlGenerator.java index 9258ac27f..831a5f968 100644 --- a/src/main/java/de/bonndan/nivio/output/docs/HtmlGenerator.java +++ b/src/main/java/de/bonndan/nivio/output/docs/HtmlGenerator.java @@ -16,6 +16,7 @@ import org.springframework.util.StringUtils; import java.net.URL; +import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Objects; @@ -69,7 +70,7 @@ protected ContainerTag getHead(Landscape landscape) { ); } - protected ContainerTag writeItem(Item item, Assessment assessment) { + protected ContainerTag writeItem(Item item, Assessment assessment, Collection allItems) { boolean hasRelations = !item.getRelations().isEmpty(); boolean hasInterfaces = !item.getInterfaces().isEmpty(); String groupColor = "#" + Color.nameToRGB(item.getGroup(), Color.GRAY); @@ -147,11 +148,16 @@ protected ContainerTag writeItem(Item item, Assessment assessment) { Item end = (df.getSource().equals(item)) ? df.getTarget() : df.getSource(); + ContainerTag endTag = span(end.toString()); + if (allItems.contains(end)) { + endTag = a(end.toString()).attr("href", "#" + end.getFullyQualifiedIdentifier()); + } + return li(rawHtml((df.getType() != null ? df.getType() : "") + " " + ifPresent(df.getFormat()) + " " + ifPresent(df.getDescription()) + direction), - a(end.toString()).attr("href", "#" + end.getFullyQualifiedIdentifier())); + endTag); }) ) ), diff --git a/src/main/java/de/bonndan/nivio/output/docs/OwnersReportGenerator.java b/src/main/java/de/bonndan/nivio/output/docs/OwnersReportGenerator.java index ea2c3fe89..b83673c6d 100644 --- a/src/main/java/de/bonndan/nivio/output/docs/OwnersReportGenerator.java +++ b/src/main/java/de/bonndan/nivio/output/docs/OwnersReportGenerator.java @@ -56,7 +56,7 @@ private String writeOwnerGroups(GroupedBy ownerGroups, Assessment assessment) { builder.append( h2("Owner: " + owner).render() ); - List collect = items.stream().map(item -> div(writeItem(item, assessment)).withClass("col-sm")).collect(Collectors.toList()); + List collect = items.stream().map(item -> div(writeItem(item, assessment, items)).withClass("col-sm")).collect(Collectors.toList()); builder.append(div().withClass("row").with(collect).render()); }); diff --git a/src/main/java/de/bonndan/nivio/output/docs/ReportGenerator.java b/src/main/java/de/bonndan/nivio/output/docs/ReportGenerator.java index 1aa2a1abf..abc1e513a 100644 --- a/src/main/java/de/bonndan/nivio/output/docs/ReportGenerator.java +++ b/src/main/java/de/bonndan/nivio/output/docs/ReportGenerator.java @@ -2,6 +2,7 @@ import de.bonndan.nivio.assessment.Assessment; import de.bonndan.nivio.model.Group; +import de.bonndan.nivio.model.Item; import de.bonndan.nivio.model.Landscape; import de.bonndan.nivio.output.Color; import de.bonndan.nivio.output.LocalServer; @@ -12,6 +13,7 @@ import java.util.Map; import java.util.Objects; +import java.util.Set; import static de.bonndan.nivio.output.FormatUtils.nice; import static de.bonndan.nivio.output.map.MapController.MAP_SVG_ENDPOINT; @@ -20,8 +22,6 @@ /** * Generates a report containing all landscape groups and items. - * - * */ public class ReportGenerator extends HtmlGenerator { @@ -50,7 +50,8 @@ private String writeLandscape(final Landscape landscape, final Assessment assess private String writeGroups(Landscape landscape, Assessment assessment) { final StringBuilder builder = new StringBuilder(); - Map groups = landscape.getGroups(); + final Map groups = landscape.getGroups(); + final Set all = landscape.getItems().all(); groups.forEach((s, groupItem) -> { String color = "#" + Color.getGroupColor(groupItem); builder.append( @@ -59,7 +60,7 @@ private String writeGroups(Landscape landscape, Assessment assessment) { ); builder.append( div().attr("class", "group") - .with(groupItem.getItems().stream().map(item -> this.writeItem(item, assessment))) + .with(groupItem.getItems().stream().map(item -> this.writeItem(item, assessment, all))) .render() ); }); From 4524af700e1a9008d5bf144964dd92fe5b2b4baf Mon Sep 17 00:00:00 2001 From: Daniel Pozzi Date: Tue, 22 Jun 2021 16:59:49 +0200 Subject: [PATCH 2/2] cleanup --- .../de/bonndan/nivio/input/external/LinkHandlerFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/de/bonndan/nivio/input/external/LinkHandlerFactory.java b/src/main/java/de/bonndan/nivio/input/external/LinkHandlerFactory.java index 087d99d5d..8e20049fe 100644 --- a/src/main/java/de/bonndan/nivio/input/external/LinkHandlerFactory.java +++ b/src/main/java/de/bonndan/nivio/input/external/LinkHandlerFactory.java @@ -52,7 +52,7 @@ private Optional createHandler(String key, Class