Class ServiceDependencyGraph

java.lang.Object
org.jgrapht.graph.AbstractGraph<V,E>
org.jgrapht.graph.AbstractBaseGraph<V,E>
org.jgrapht.graph.DirectedMultigraph<V,E>
org.jgrapht.graph.DirectedWeightedMultigraph<Microservice,RestCallEdge>
edu.university.ecs.lab.common.models.sdg.ServiceDependencyGraph
All Implemented Interfaces:
DependencyGraphI<Microservice,RestCallEdge>, JsonSerializable, Serializable, Cloneable, org.jgrapht.Graph<Microservice,RestCallEdge>

public class ServiceDependencyGraph extends org.jgrapht.graph.DirectedWeightedMultigraph<Microservice,RestCallEdge> implements JsonSerializable, DependencyGraphI<Microservice,RestCallEdge>
Represents a service dependency graph for a microservice system.
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Class to serialize a microservice as a json object
    class 
    Class to serialize a rest call as a json object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final boolean
    Whether the edges are interpreted as directed
    private final String
    Represents the name of the graph
    private final boolean
    Whether several edges between source and target are allowed
    private final String
    The timestamp of the current Network graph (i.e.

    Fields inherited from interface org.jgrapht.Graph

    DEFAULT_EDGE_WEIGHT
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates the network graph from a given MicroserviceSystem.
  • Method Summary

    Modifier and Type
    Method
    Description
    com.google.gson.JsonObject

    Methods inherited from class org.jgrapht.graph.DirectedWeightedMultigraph

    createBuilder, createBuilder

    Methods inherited from class org.jgrapht.graph.AbstractBaseGraph

    addEdge, addEdge, addVertex, addVertex, clone, containsEdge, containsVertex, degreeOf, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeSource, getEdgeSupplier, getEdgeTarget, getEdgeWeight, getType, getVertexSupplier, incomingEdgesOf, inDegreeOf, iterables, outDegreeOf, outgoingEdgesOf, removeEdge, removeEdge, removeVertex, setEdgeSupplier, setEdgeWeight, setVertexSupplier, vertexSet

    Methods inherited from class org.jgrapht.graph.AbstractGraph

    assertVertexExist, containsEdge, equals, hashCode, removeAllEdges, removeAllEdges, removeAllEdges, removeAllVertices, toString, toStringFromSets

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface edu.university.ecs.lab.common.models.sdg.DependencyGraphI

    getAdjacency, getAdjacency, getLabel, getTimestamp, isDirected, isMultigraph

    Methods inherited from interface org.jgrapht.Graph

    addEdge, addEdge, addVertex, addVertex, containsEdge, containsEdge, containsVertex, degreeOf, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeSource, getEdgeSupplier, getEdgeTarget, getEdgeWeight, getType, getVertexSupplier, incomingEdgesOf, inDegreeOf, iterables, outDegreeOf, outgoingEdgesOf, removeAllEdges, removeAllEdges, removeAllVertices, removeEdge, removeEdge, removeVertex, setEdgeWeight, setEdgeWeight, vertexSet
  • Field Details

    • label

      private final String label
      Represents the name of the graph
    • timestamp

      private final String timestamp
      The timestamp of the current Network graph (i.e. the commit ID that the Network graph represents)
    • directed

      private final boolean directed
      Whether the edges are interpreted as directed
      See Also:
    • multigraph

      private final boolean multigraph
      Whether several edges between source and target are allowed
      See Also:
  • Constructor Details

    • ServiceDependencyGraph

      public ServiceDependencyGraph(MicroserviceSystem microserviceSystem)
      Creates the network graph from a given MicroserviceSystem.
      Parameters:
      microserviceSystem - the microservice system to build the graph from.
  • Method Details