diff --git a/pom.xml b/pom.xml
index 3065da1f6..03082947b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,19 +50,6 @@
2.3.0
-
-
- org.jgrapht
- jgrapht-io
- 1.1.0
-
-
- org.antlr
- antlr4-runtime
-
-
-
-
org.springframework.boot
spring-boot-starter-test
@@ -128,23 +115,6 @@
spring-boot-starter-mail
-
- org.graphstream
- gs-core
- 1.3
-
-
- org.graphstream
- gs-ui
- 1.3
-
-
-
- org.asciidoctor
- asciidoctorj
- 1.5.8
-
-
com.github.jgraph
jgraphx
@@ -179,6 +149,12 @@
com.googlecode.cqengine
cqengine
3.4.0
+
+
+ org.xerial
+ sqlite-jdbc
+
+
diff --git a/src/main/java/de/bonndan/nivio/output/Color.java b/src/main/java/de/bonndan/nivio/output/Color.java
index 8d6ec8255..14599da60 100644
--- a/src/main/java/de/bonndan/nivio/output/Color.java
+++ b/src/main/java/de/bonndan/nivio/output/Color.java
@@ -1,6 +1,5 @@
package de.bonndan.nivio.output;
-import com.lowagie.text.html.WebColors;
import de.bonndan.nivio.model.Group;
import de.bonndan.nivio.model.GroupItem;
import de.bonndan.nivio.model.Item;
@@ -38,10 +37,10 @@ public static String nameToRGB(String name, String defaultColor) {
public static String lighten(String color) {
try {
- java.awt.Color col = WebColors.getRGBColor("#" + color).brighter();
- return Integer.toHexString(col.getRGB());
+ java.awt.Color col = java.awt.Color.decode(color.startsWith("#") ? color : "#" + color);
+ return Integer.toHexString(col.brighter().getRGB());
} catch (IllegalArgumentException ex) {
- LOGGER.error(color + " --> "+ ex.getMessage());
+ LOGGER.error(color + " --> " + ex.getMessage());
return color;
}
}
diff --git a/src/main/java/de/bonndan/nivio/output/docs/DocsController.java b/src/main/java/de/bonndan/nivio/output/docs/DocsController.java
index 757f18111..ec62cade9 100644
--- a/src/main/java/de/bonndan/nivio/output/docs/DocsController.java
+++ b/src/main/java/de/bonndan/nivio/output/docs/DocsController.java
@@ -4,12 +4,7 @@
import de.bonndan.nivio.model.LandscapeImpl;
import de.bonndan.nivio.model.LandscapeRepository;
import de.bonndan.nivio.output.IconService;
-import org.asciidoctor.Asciidoctor;
-import static org.asciidoctor.Asciidoctor.Factory.create;
-
-import org.asciidoctor.Attributes;
-import org.asciidoctor.OptionsBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
@@ -35,35 +30,6 @@ public DocsController(LandscapeRepository landscapeRepository, IconService iconS
this.iconService = iconService;
}
- @RequestMapping(method = RequestMethod.GET, path = "/{landscape}")
- public ResponseEntity docResource(@PathVariable(name = "landscape") final String landscapeIdentifier) {
-
- LandscapeImpl landscape = landscapeRepository.findDistinctByIdentifier(landscapeIdentifier).orElseThrow(
- () -> new NotFoundException("Landscape " + landscapeIdentifier + " not found")
- );
-
- Map attributes = new HashMap();
- //attributes.put(Attributes.LINK_CSS, true);
- attributes.put(Attributes.COPY_CSS, true);
- attributes.put(Attributes.STYLESHEET_NAME, "http://themes.asciidoctor.org/stylesheets/github.css");
- Map options = OptionsBuilder.options()
- .headerFooter(true)
- .attributes(attributes)
- .asMap();
-
- AsciiDocGenerator generator = new AsciiDocGenerator();
- Asciidoctor asciidoctor = create();
- HttpHeaders headers = new HttpHeaders();
- headers.add(HttpHeaders.CONTENT_TYPE, "text/html");
- return new ResponseEntity<>(
- asciidoctor.convert(generator.toDocument(landscape), options),
- //generator.toDocument(landscape),
- headers,
- HttpStatus.OK
- );
-
- }
-
@RequestMapping(method = RequestMethod.GET, path = "/{landscape}/report.html")
public ResponseEntity htmlResource(@PathVariable(name = "landscape") final String landscapeIdentifier) {
diff --git a/src/main/java/de/bonndan/nivio/output/graphstream/GraphRenderController.java b/src/main/java/de/bonndan/nivio/output/graphstream/GraphRenderController.java
deleted file mode 100644
index abaef3fc8..000000000
--- a/src/main/java/de/bonndan/nivio/output/graphstream/GraphRenderController.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package de.bonndan.nivio.output.graphstream;
-
-import de.bonndan.nivio.api.NotFoundException;
-import de.bonndan.nivio.model.LandscapeImpl;
-import de.bonndan.nivio.model.LandscapeRepository;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-
-@Controller
-@RequestMapping(path = "/renderg")
-public class GraphRenderController {
-
- private static final Logger logger = LoggerFactory.getLogger(GraphRenderController.class);
-
- private final LandscapeRepository landscapeRepository;
-
- @Autowired
- public GraphRenderController(LandscapeRepository landscapeRepository) {
- this.landscapeRepository = landscapeRepository;
- }
-
- @RequestMapping(method = RequestMethod.GET, path = "/{landscape}/graph.png")
- public ResponseEntity pngResource(@PathVariable(name = "landscape") final String landscapeIdentifier) throws IOException {
- LandscapeImpl landscape = landscapeRepository.findDistinctByIdentifier(landscapeIdentifier).orElseThrow(
- () -> new NotFoundException("Landscape " + landscapeIdentifier + " not found")
- );
-
- GraphStreamRenderer graphStreamRenderer = new GraphStreamRenderer();
- File png = File.createTempFile(landscapeIdentifier, "png");
- try {
- graphStreamRenderer.render(landscape, png);
- } catch (Exception ex) {
- logger.warn("Could not render graph: " + graphStreamRenderer.getGraphDump());
- throw ex;
- }
-
- byte[] bFile = Files.readAllBytes(png.toPath());
- HttpHeaders headers = new HttpHeaders();
- headers.add(HttpHeaders.CONTENT_TYPE, "image/png");
- return new ResponseEntity<>(
- bFile,
- headers,
- HttpStatus.OK
- );
-
- }
-
-
-}
diff --git a/src/main/java/de/bonndan/nivio/output/graphstream/GraphStreamRenderer.java b/src/main/java/de/bonndan/nivio/output/graphstream/GraphStreamRenderer.java
deleted file mode 100644
index 4e12c65f9..000000000
--- a/src/main/java/de/bonndan/nivio/output/graphstream/GraphStreamRenderer.java
+++ /dev/null
@@ -1,251 +0,0 @@
-package de.bonndan.nivio.output.graphstream;
-
-import de.bonndan.nivio.model.*;
-import de.bonndan.nivio.output.LocalServer;
-import de.bonndan.nivio.output.Renderer;
-import de.bonndan.nivio.output.Color;
-import org.graphstream.graph.Edge;
-import org.graphstream.graph.Graph;
-import org.graphstream.graph.Node;
-import org.graphstream.graph.implementations.SingleGraph;
-import org.graphstream.stream.file.FileSinkImages;
-import org.graphstream.ui.graphicGraph.stylesheet.StyleConstants;
-import org.graphstream.ui.spriteManager.Sprite;
-import org.graphstream.ui.spriteManager.SpriteManager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.stream.Collectors;
-
-import static de.bonndan.nivio.model.Status.GREEN;
-
-
-public class GraphStreamRenderer implements Renderer {
-
- private Logger logger = LoggerFactory.getLogger(GraphStreamRenderer.class);
-
- private Graph graph;
- private SpriteManager spriteManager;
-
- private static final String[] KNOWN_ICONS = new String[]{
- "api",
- "cache",
- "database",
- "dataflow",
- "firewall",
- "humanuser",
- "interface",
- "keyvaluestore",
- "loadbalancer",
- "lock",
- "messagequeue",
- "mobileclient",
- "server",
- "service",
- "webservice",
- };
-
- @Override
- public Graph render(LandscapeImpl landscape) {
- graph = new SingleGraph(landscape.getName());
- graph.addAttribute("ui.quality");
- graph.addAttribute("ui.antialias");
- graph.addAttribute("ui.stylesheet", "url('" + LocalServer.url("/css/graph.css") + "')");
- graph.addAttribute("layout.quality", 4);
-
- spriteManager = new SpriteManager(graph);
-
- Positioner positioner = new Positioner();
-
- landscape.getItems().stream().forEach(item -> {
- Node n = graph.addNode(item.getIdentifier());
- n.addAttribute("ui.label", StringUtils.isEmpty(item.getName()) ? item.getIdentifier() : item.getName());
- n.addAttribute("ui.class", item.getLayer());
- String style = "fill-color: #" + Color.nameToRGB(item.getGroup()) + "; ";
- String statusColor = getStatusColor(item);
- if (!Status.UNKNOWN.toString().equals(statusColor)) {
- style += "stroke-color: " + statusColor + "; stroke-width: 3px; ";
- }
- n.addAttribute("ui.style", style);
-
- Sprite icon = spriteManager.addSprite("icon_" + item.getIdentifier());
- icon.setPosition(0, 0, 0);
- icon.attachToNode(n.getId());
- icon.addAttribute("ui.style", "size: 30px; fill-image: url('" + LocalServer.url("/icons/" + getIcon(item) + ".png") + "') ;");
-
- positioner.add(item, n);
- });
-
- positioner.compute();
-
- //provider
- landscape.getItems().stream().forEach(item -> item.getProvidedBy().forEach(providedBy -> {
- Edge e = graph.addEdge(
- providedBy.getIdentifier() + item.getIdentifier(),
- providedBy.getIdentifier(),
- item.getIdentifier()
- );
- e.addAttribute("ui.class", "provides");
- e.addAttribute("ui.style", "text-background-color: #" + Color.nameToRGB(item.getGroup()) + "; ");
- e.addAttribute("layout.weight", 0.5);
- }));
-
- //dataflow
- landscape.getItems().stream().forEach(service -> service.getRelations().forEach(df -> {
-
- if (df.getSource().equals(df.getTarget()))
- return;
-
- String id = "df_" + service.getIdentifier() + df.getTarget();
- Item target = (Item) df.getTarget();
- logger.info("Adding dataflow " + id);
- Edge e = graph.addEdge(
- id,
- service.getIdentifier(),
- target.getIdentifier(),
- true //directed
- );
-
- e.addAttribute("ui.class", "dataflow");
- String color = Color.nameToRGB(service.getGroup());
- e.addAttribute("ui.style", "fill-color: #" + color + "; text-background-color: #" + Color.nameToRGB(service.getGroup(), Color.DARK) + "; ");
- e.addAttribute("ui.label", df.getFormat());
- }));
-
- /*
- * interfaces
- *
- *
- */
- landscape.getItems().stream().forEach(this::addInterfaces);
-
- /*
- * statuses
- */
- landscape.getItems().stream().forEach(this::addStatuses);
-
-
- return graph;
-
- }
-
- @Override
- public void render(LandscapeImpl landscape, File file) throws IOException {
-
- graph = render(landscape);
-
- String prefix = "prefix";
- FileSinkImages.OutputType type = FileSinkImages.OutputType.PNG;
- FileSinkImages.Resolution resolution = FileSinkImages.Resolutions.HD1080;
- FileSinkImages.OutputPolicy outputPolicy = FileSinkImages.OutputPolicy.BY_STEP;
-
- FileSinkImages fsi = new FileSinkImages(
- prefix, type, resolution, outputPolicy);
- fsi.setLayoutPolicy(FileSinkImages.LayoutPolicy.COMPUTED_FULLY_AT_NEW_IMAGE);
- fsi.setQuality(FileSinkImages.Quality.HIGH);
- fsi.setRenderer(FileSinkImages.RendererType.SCALA);
-
- fsi.writeAll(graph, file.getAbsolutePath());
- }
-
- private void addInterfaces(Item item) {
-
- if (item.getInterfaces().size() == 0)
- return;
- Node serviceNode = graph.getNode(item.getIdentifier());
-
-
- AtomicInteger i = new AtomicInteger(1);
- item.getInterfaces().forEach(inter -> {
-
- String intfID = "interface_" + item.getIdentifier() + i.getAndIncrement();
-
- Sprite sprite = spriteManager.addSprite(intfID);
- sprite.attachToNode(serviceNode.getId());
- int rotation = 45;
- int offset = -90 - (rotation / 2) * (item.getInterfaces().size() - 1);
- int z = offset + i.get() * rotation;
- sprite.setPosition(StyleConstants.Units.GU, 0.13, 2, z);
- sprite.setAttribute("ui.label", " " + inter.getDescription());
- sprite.setAttribute("ui.class", "interface");
- sprite.setAttribute("ui.style", "fill-color: #" + Color.nameToRGB(item.getGroup()) + "; ");
- });
- }
-
- private String getStatusColor(Item item) {
- var ref = new Object() {
- Status current = Status.UNKNOWN;
- };
-
- item.getStatuses().forEach(statusItem -> {
- if (statusItem.getStatus().isHigherThan(ref.current))
- ref.current = statusItem.getStatus();
- });
-
- return ref.current.toString();
- }
-
- private void addStatuses(LandscapeItem item) {
- List displayed = item.getStatuses().stream()
- .filter(statusItem -> !GREEN.equals(statusItem.getStatus()))
- .collect(Collectors.toList());
-
- if (displayed.size() == 0)
- return;
-
- Node serviceNode = graph.getNode(item.getIdentifier());
-
- AtomicInteger i = new AtomicInteger(1);
- displayed.forEach(value -> {
-
- String statusID = "status_" + value.getLabel() + "_" + serviceNode.getId();
-
- Sprite sprite = spriteManager.addSprite(statusID);
- sprite.attachToNode(serviceNode.getId());
- int rotation = 45;
- int offset = 90 - (rotation / 2) * (displayed.size() - 1);
- int z = offset + i.getAndIncrement() * rotation;
- sprite.setPosition(StyleConstants.Units.GU, 0.1, 2, z);
- sprite.setAttribute("ui.label", value.getLabel().toUpperCase().substring(0, 3));
- sprite.setAttribute("ui.style", "stroke-mode: plain; " +
- "fill-color: " + value.getStatus().toString() + "; fill-mode: plain; " +
- "shape: rounded-box; " +
- "z-index: 2; " //+
- //"text-alignment: at-left; "
- );
- });
- }
-
- private String getIcon(Item item) {
- if (StringUtils.isEmpty(item.getType()))
- return "service";
-
- //fallback to service
- if (!Arrays.asList(KNOWN_ICONS).contains(item.getType().toLowerCase()))
- return "service";
-
- return item.getType().toLowerCase();
- }
-
- public String getGraphDump() {
-
- StringBuilder s = new StringBuilder(graph.getId() + " ");
- graph.getNodeIterator().forEachRemaining(node -> {
- String n = "NODE " + node.getId() + " " + node.getAttribute("ui.style") + "\n";
- s.append(n);
- });
-
- graph.getEdgeIterator().forEachRemaining(edge -> {
- String n = "EDGE " + edge.getId() + " " + edge.getAttribute("ui.style") + "\n";
- s.append(n);
- });
-
- return s.toString();
- }
-}
diff --git a/src/main/java/de/bonndan/nivio/output/graphstream/Positioner.java b/src/main/java/de/bonndan/nivio/output/graphstream/Positioner.java
deleted file mode 100644
index dc0b33316..000000000
--- a/src/main/java/de/bonndan/nivio/output/graphstream/Positioner.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package de.bonndan.nivio.output.graphstream;
-
-import de.bonndan.nivio.model.Groups;
-import de.bonndan.nivio.model.Item;
-import org.graphstream.graph.Node;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicInteger;
-
-public class Positioner {
-
- private static Logger logger = LoggerFactory.getLogger(Positioner.class);
-
- private Map- pairs = new HashMap<>();
-
- private Groups groups = new Groups();
-
- public void add(Item item, Node node) {
- pairs.put(item, node);
- groups.add(item.getGroup(), item);
- }
-
- public void compute () {
- groups.getAll().forEach((group, items) -> {
- int width = items.size();
- AtomicInteger i = new AtomicInteger(0);
- items.forEach(service -> {
- Node n = pairs.getOrDefault(service, null);
- position(n, i.getAndIncrement());
- });
- });
- }
-
- private void position(Node n, int count) {
- n.setAttribute("x", 50 * count);
- n.setAttribute("y", 10);
- //n.setAttribute("layout.frozen", true);
- //logger.info("Positioned " + n.getId() + " at x " + count);
- }
-}
diff --git a/src/main/java/de/bonndan/nivio/output/jgrapht/GraphBuilder.java b/src/main/java/de/bonndan/nivio/output/jgrapht/GraphBuilder.java
deleted file mode 100644
index bea3616c4..000000000
--- a/src/main/java/de/bonndan/nivio/output/jgrapht/GraphBuilder.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package de.bonndan.nivio.output.jgrapht;
-
-import de.bonndan.nivio.model.*;
-import org.jgrapht.Graph;
-import org.jgrapht.graph.SimpleGraph;
-import org.springframework.stereotype.Component;
-
-@Component
-public class GraphBuilder {
-
- private Graph graph;
- private LandscapeImpl landscape;
-
- public Graph build(LandscapeImpl landscape) {
- graph = new SimpleGraph<>(LabeledEdge.class);
- this.landscape = landscape;
- landscape.getItems().stream().forEach(this::addService);
- landscape.getItems().stream().forEach(this::addLinks);
- return graph;
- }
-
- private void addService(Item item) {
- graph.addVertex(item);
- item.getProvidedBy().forEach(infra -> {
- addService(infra);
- graph.addEdge(infra, item, new LabeledEdge("provides"));
- });
- }
-
- private void addLinks(Item item) {
- item.getRelations().stream()
- .filter(rel -> rel.getSource().equals(item))
- .forEach(flow -> {
- LandscapeItem target = landscape.getItems().pick(flow.getTarget().getIdentifier(), null );
- graph.addEdge(item, target, new LabeledEdge(flow.getDescription()));
- });
- }
-}
diff --git a/src/main/java/de/bonndan/nivio/output/jgrapht/LabeledEdge.java b/src/main/java/de/bonndan/nivio/output/jgrapht/LabeledEdge.java
deleted file mode 100644
index e2fe496b0..000000000
--- a/src/main/java/de/bonndan/nivio/output/jgrapht/LabeledEdge.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package de.bonndan.nivio.output.jgrapht;
-
-import org.jgrapht.graph.DefaultEdge;
-
-public class LabeledEdge extends DefaultEdge {
- private String label;
-
- /**
- * Constructs a relationship edge
- *
- * @param label the label of the new edge.
- */
- public LabeledEdge(String label) {
- this.label = label;
- }
-
- /**
- * Gets the label associated with this edge.
- *
- * @return edge label
- */
- public String getLabel() {
- return label;
- }
-
- @Override
- public String toString() {
- return "(" + getSource() + " : " + getTarget() + " : " + label + ")";
- }
-}
\ No newline at end of file
diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/AllGroupsGraph.java b/src/main/java/de/bonndan/nivio/output/jgraphx/AllGroupsGraph.java
index 7d42082c7..7d4afb9f1 100644
--- a/src/main/java/de/bonndan/nivio/output/jgraphx/AllGroupsGraph.java
+++ b/src/main/java/de/bonndan/nivio/output/jgraphx/AllGroupsGraph.java
@@ -1,21 +1,17 @@
package de.bonndan.nivio.output.jgraphx;
-import com.mxgraph.layout.mxFastOrganicLayout;
-import com.mxgraph.layout.mxOrganicLayout;
import com.mxgraph.model.mxCell;
import com.mxgraph.util.mxConstants;
import com.mxgraph.util.mxRectangle;
import com.mxgraph.view.mxGraph;
import de.bonndan.nivio.model.*;
-import org.apache.commons.math3.util.Pair;
+import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.apache.commons.lang3.tuple.Pair;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.StringUtils;
-import java.awt.*;
-import java.awt.geom.Rectangle2D;
import java.util.*;
-import java.util.List;
/**
* Renders a graph of group containers only, not regarding items inside the containers.
@@ -154,7 +150,7 @@ boolean isConnected(String group) {
void connect(String a, String b, String message) {
logger.info(message + a + " and " + b);
- groupConnections.add(new Pair(a, b));
+ groupConnections.add(new ImmutablePair(a, b));
}
boolean canConnect(String a, String b) {
diff --git a/src/test/java/de/bonndan/nivio/output/AsciiDocGeneratorTest.java b/src/test/java/de/bonndan/nivio/output/AsciiDocGeneratorTest.java
deleted file mode 100644
index aa6b3e4b7..000000000
--- a/src/test/java/de/bonndan/nivio/output/AsciiDocGeneratorTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package de.bonndan.nivio.output;
-
-import de.bonndan.nivio.model.Group;
-import de.bonndan.nivio.model.Item;
-import de.bonndan.nivio.model.LandscapeImpl;
-import de.bonndan.nivio.output.docs.AsciiDocGenerator;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.Assert.assertTrue;
-
-public class AsciiDocGeneratorTest {
-
- private AsciiDocGenerator asciiDocGenerator;
- private LandscapeImpl landscape;
-
- @BeforeEach
- public void setup() {
- landscape = new LandscapeImpl();
- landscape.setIdentifier("doc:test");
- landscape.setName("DocTest");
- landscape.setContact("me@acme.org");
-
- asciiDocGenerator = new AsciiDocGenerator();
- }
-
- @Test
- public void testTitlePage() {
- String document = asciiDocGenerator.toDocument(landscape);
-
- assertTrue(document.contains("= DocTest"));
- assertTrue(document.contains("Identifier:: doc:test"));
- assertTrue(document.contains("Contact:: me@acme.org"));
- }
-
- @Test
- public void testGroupsDivisor() {
-
- Item item = new Item();
- item.setIdentifier("s");
- item.setName("example");
- item.setGroup("g1");
- landscape.addItem(item);
-
- String document = asciiDocGenerator.toDocument(landscape);
-
- assertTrue(document.contains("== Group: g1"));
- }
-
- @Test
- public void testUnGrouped() {
-
- Item item = new Item();
- item.setIdentifier("s");
- item.setName("not in a group");
- landscape.addItem(item);
-
- String document = asciiDocGenerator.toDocument(landscape);
-
- assertTrue(document.contains("== Group: " + Group.COMMON));
- }
-}
diff --git a/src/test/java/de/bonndan/nivio/output/GraphBuilderTest.java b/src/test/java/de/bonndan/nivio/output/GraphBuilderTest.java
deleted file mode 100644
index 740338e18..000000000
--- a/src/test/java/de/bonndan/nivio/output/GraphBuilderTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package de.bonndan.nivio.output;
-
-import de.bonndan.nivio.model.*;
-import de.bonndan.nivio.output.jgrapht.GraphBuilder;
-import org.jgrapht.Graph;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.jupiter.api.Assertions;
-
-public class GraphBuilderTest {
-
- private LandscapeImpl landscape = new LandscapeImpl();
-
- @Before
- public void setUp() {
- Item a = new Item();
- a.setLayer(LandscapeItem.LAYER_APPLICATION);
- a.setIdentifier("a");
- landscape.addItem(a);
-
- Item a1 = new Item();
- a1.setLayer(LandscapeItem.LAYER_INFRASTRUCTURE);
- a1.setIdentifier("a1");
- a.getRelations().add(RelationBuilder.createProviderRelation(a1, a));
- landscape.addItem(a1);
-
- Item b = new Item();
- b.setLayer(LandscapeItem.LAYER_INGRESS);
- b.setIdentifier("b");
- landscape.addItem(b);
-
- Relation df = new Relation(a, b);
- df.setFormat("json");
- df.setDescription("push");
- a.getRelations().add(df);
- }
-
- @Test
- public void build() {
- GraphBuilder graphBuilder = new GraphBuilder();
- Graph graph = graphBuilder.build(landscape);
- Assertions.assertNotNull(graph);
-
- Item a = landscape.getItems().pick("a", null);
- Item a1 = landscape.getItems().pick("a1", null);
- Item b = landscape.getItems().pick("b", null);
- Assertions.assertTrue(graph.containsVertex(a));
-
- Object edge1 = graph.getEdge(a, a1);
- Assertions.assertNotNull(edge1);
-
- Object edge2 = graph.getEdge(a, b);
- Assertions.assertNotNull(edge2);
- }
-}
diff --git a/src/test/java/de/bonndan/nivio/output/graphstream/GraphstreamRendererTest.java b/src/test/java/de/bonndan/nivio/output/graphstream/GraphstreamRendererTest.java
deleted file mode 100644
index 6d7152f0f..000000000
--- a/src/test/java/de/bonndan/nivio/output/graphstream/GraphstreamRendererTest.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package de.bonndan.nivio.output.graphstream;
-
-import de.bonndan.nivio.model.LandscapeImpl;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.util.StringUtils;
-
-import java.io.File;
-import java.io.IOException;
-
-import static junit.framework.TestCase.assertFalse;
-import static junit.framework.TestCase.assertTrue;
-
-@ExtendWith(SpringExtension.class)
-@SpringBootTest
-@ExtendWith(MockitoExtension.class)
-@ActiveProfiles("test")
-public class GraphstreamRendererTest {
-
- @Test
- public void dump() throws IOException {
- LandscapeImpl landscape = new LandscapeImpl();
- landscape.setIdentifier("x");
- landscape.setName("x");
-
- GraphStreamRenderer graphStreamRenderer = new GraphStreamRenderer();
- graphStreamRenderer.render(landscape, new File(""));
- String dump = graphStreamRenderer.getGraphDump();
- assertTrue(!StringUtils.isEmpty(dump));
- }
-}