All Intermediate representation models are moved to edu.university.ecs.lab.common.models.ir; NetworkGraph and Edge are moved to edu.university.ecs.lab.common.models.sdg
NetworkGraph is renamed to ServiceDependencyGraph and Edge to EndpointCallEdge
createGraph() function which parsed MicroserviceSystem data to ServiceDependencyGraph is now a constructor
ServiceDepedencyGraph subclasses DirectedMultigraph and EndpointCallEdge subclasses DefaultDirectedEdge from JGraphT graph library.
An EdgeSerializer class is implemented to serialize the new edges.
Anti-pattern implementations that use ServiceDependencyGraph are modified accordingly to use the graph public interface
In particular, buildAdjacency, which was duplicated between three antipatterns, is now a public method of ServiceDependencyGraph
I could not test the antipattern Main() neither as-is nor by directly providing the sample IR.json file, so please test the antipatterns before merging.
This PR implements the following
edu.university.ecs.lab.common.models.ir
;NetworkGraph
andEdge
are moved toedu.university.ecs.lab.common.models.sdg
NetworkGraph
is renamed toServiceDependencyGraph
andEdge
toEndpointCallEdge
createGraph()
function which parsedMicroserviceSystem
data toServiceDependencyGraph
is now a constructorServiceDepedencyGraph
subclassesDirectedMultigraph
andEndpointCallEdge
subclassesDefaultDirectedEdge
fromJGraphT
graph library.EdgeSerializer
class is implemented to serialize the new edges.ServiceDependencyGraph
are modified accordingly to use the graph public interfacebuildAdjacency
, which was duplicated between three antipatterns, is now a public method ofServiceDependencyGraph
I could not test the antipattern
Main()
neither as-is nor by directly providing the sampleIR.json
file, so please test the antipatterns before merging.