diff --git a/spring-cloud/spring-cloud-circuit-breaker/pom.xml b/spring-cloud/spring-cloud-circuit-breaker/pom.xml index a179f3c831..ae44fa8199 100644 --- a/spring-cloud/spring-cloud-circuit-breaker/pom.xml +++ b/spring-cloud/spring-cloud-circuit-breaker/pom.xml @@ -16,14 +16,14 @@ - spring-snapshots - Spring Snapshots - https://repo.spring.io/libs-snapshot + spring-release + Spring Release + https://repo.spring.io/release - true + false - false + true diff --git a/structurizr/pom.xml b/structurizr/pom.xml index f1b4355dcf..b8efba0937 100644 --- a/structurizr/pom.xml +++ b/structurizr/pom.xml @@ -42,7 +42,7 @@ 1.8 1.8 - 1.0.0-RC5 + 1.0.0 \ No newline at end of file diff --git a/structurizr/src/main/java/com/baeldung/structurizr/StructurizrSimple.java b/structurizr/src/main/java/com/baeldung/structurizr/StructurizrSimple.java index b33a1d9a77..3f52ea657f 100644 --- a/structurizr/src/main/java/com/baeldung/structurizr/StructurizrSimple.java +++ b/structurizr/src/main/java/com/baeldung/structurizr/StructurizrSimple.java @@ -2,6 +2,8 @@ package com.baeldung.structurizr; import java.io.File; import java.io.StringWriter; +import java.util.HashSet; +import java.util.Set; import com.structurizr.Workspace; import com.structurizr.analysis.ComponentFinder; @@ -40,15 +42,31 @@ public class StructurizrSimple { addContainers(workspace); addComponents(workspace); addSpringComponents(workspace); - exportToPlantUml(workspace.getViews().getViewWithKey(SOFTWARE_SYSTEM_VIEW)); - exportToPlantUml(workspace.getViews().getViewWithKey(CONTAINER_VIEW)); - exportToPlantUml(workspace.getViews().getViewWithKey(COMPONENT_VIEW)); + exportToPlantUml(findViewWithKey(workspace.getViews(), SOFTWARE_SYSTEM_VIEW)); + exportToPlantUml(findViewWithKey(workspace.getViews(), CONTAINER_VIEW)); + exportToPlantUml(findViewWithKey(workspace.getViews(), COMPONENT_VIEW)); - exportToPlantUml(workspace.getViews().getViewWithKey(JVM2_COMPONENT_VIEW)); + exportToPlantUml(findViewWithKey(workspace.getViews(), JVM2_COMPONENT_VIEW)); addStyles(workspace.getViews()); //uploadToExternal(workspace); } + + private static View findViewWithKey(ViewSet viewSet, String key) { + if (key == null) { + throw new IllegalArgumentException("A key must be specified."); + } + + Set views = new HashSet<>(); + views.addAll(viewSet.getSystemLandscapeViews()); + views.addAll(viewSet.getSystemContextViews()); + views.addAll(viewSet.getContainerViews()); + views.addAll(viewSet.getComponentViews()); + views.addAll(viewSet.getDynamicViews()); + views.addAll(viewSet.getDeploymentViews()); + + return views.stream().filter(v -> key.equals(v.getKey())).findFirst().orElse(null); + } private static void addSpringComponents(Workspace workspace) throws Exception { Container jvm2 = workspace.getModel().getSoftwareSystemWithName(PAYMENT_TERMINAL).getContainerWithName("JVM-2");