java.lang.Object
edu.university.ecs.lab.detection.architecture.models.AbstractAR
edu.university.ecs.lab.detection.architecture.models.AR23
All Implemented Interfaces:
JsonSerializable

public class AR23 extends AbstractAR
Architectureal Rule 23 Class: No API Gateway Found
  • Field Details

  • Constructor Details

    • AR23

      public AR23()
  • Method Details

    • getName

      public String getName()
      Description copied from class: AbstractAR
      Get the name of the Architectural Rule
      Specified by:
      getName in class AbstractAR
      Returns:
      string name of the Architectural Rule
    • getDescription

      public String getDescription()
      Description copied from class: AbstractAR
      Get the description of the Architectural Rule
      Specified by:
      getDescription in class AbstractAR
      Returns:
      string description of the Architectural Rule
    • getWeight

      public double getWeight()
      Description copied from class: AbstractAR
      Get the weight of the Architectural Rule
      Specified by:
      getWeight in class AbstractAR
      Returns:
      double weight of the Architectural Rule
    • getType

      public String getType()
      Description copied from class: AbstractAR
      Get the new commitID
      Specified by:
      getType in class AbstractAR
      Returns:
      string new commitID
    • getMetaData

      public com.google.gson.JsonObject getMetaData()
      Description copied from class: AbstractAR
      Get the meta data of the Architectural Rule
      Specified by:
      getMetaData in class AbstractAR
      Returns:
      JSON object meta data of the Architectural Rule
    • scan

      public static List<AR23> scan(Delta delta, MicroserviceSystem oldSystem, MicroserviceSystem newSystem)
      Scan and compare old microservice system and new microservice system to check for API gateway
      Parameters:
      delta - change between old commit and new microservice systems
      oldSystem - old commit of microservice system
      newSystem - new commit of microservice system
      Returns:
      list with single AR23 object is no API gateway found, empty list otherwise
    • checkforApiGateway

      public static AR23 checkforApiGateway(Delta delta, ConfigFile configFile, MicroserviceSystem oldSystem, MicroserviceSystem newSystem)
      Checks if the YAML file contains configuration indicating an API Gateway.
      Parameters:
      delta - change between old commit and new microservice systems
      configFile - The YAML file to check.
      oldSystem - old commit of microservice system
      newSystem - new commit of microservice system
      Returns:
      AR23 object for no API gateway, otherwise null
    • containsApiGatewayConfiguration

      private static boolean containsApiGatewayConfiguration(com.google.gson.JsonObject data)
      Checks if JSON object contains API gateway configuration details
      Parameters:
      data - JSON object to check
      Returns:
      true if API gateway configuration is found, false otherwise