Class Vulnerability

java.lang.Object
com.michelin.cert.redscan.utils.datalake.DatalakeStorageItem
com.michelin.cert.redscan.utils.models.reports.Vulnerability
All Implemented Interfaces:
Sendable
Direct Known Subclasses:
Alert

public class Vulnerability extends DatalakeStorageItem implements Sendable
Vulnerability model.
Author:
Maxime ESCOURBIAC
  • Constructor Details

    • Vulnerability

      public Vulnerability()
      Vulnerability Constructor.
    • Vulnerability

      public Vulnerability(String id, int severity, String summary, String description, String url, String origin, String[] tags)
      Vulnerability Constructor.
      Parameters:
      id - Internal ID.
      severity - Vulnerability severity.
      summary - Vulnerability title.
      description - Detailed description of the vulnerability.
      url - Vulnerability URL.
      origin - Origin of the vulnerability (ex: redscan-urlcrazy).
      tags - Tags used by Mantisbt.
  • Method Details

    • toJson

      public String toJson()
      Convert the service to json string.
      Specified by:
      toJson in interface Sendable
      Returns:
      The string representation of the json object.
    • fromJson

      public void fromJson(String json)
      Description copied from interface: Sendable
      Convert json string to object.
      Specified by:
      fromJson in interface Sendable
      Parameters:
      json - The string representation of the json object.
    • getFanoutExchangeName

      public String getFanoutExchangeName()
      Description copied from interface: Sendable
      Get Fanout exchange name.
      Specified by:
      getFanoutExchangeName in interface Sendable
      Returns:
      Fanout exchange name.
    • upsert

      public boolean upsert() throws DatalakeStorageException
      Description copied from class: DatalakeStorageItem
      Upsert the item in Elastic searchContent. This operation cannot be mutualized and must be defined in each children classes.
      Specified by:
      upsert in class DatalakeStorageItem
      Returns:
      True if the upsert is successful.
      Throws:
      DatalakeStorageException - Exception with the storage.
    • fromDatalake

      protected <T extends DatalakeStorageItem> T fromDatalake(kong.unirest.json.JSONObject object)
      Description copied from class: DatalakeStorageItem
      Create DatalakeStorageItem instance from Datalake data. Be careful to verify if the JSON object parameter is not null. If object is null => return null.
      Specified by:
      fromDatalake in class DatalakeStorageItem
      Type Parameters:
      T - DatalakeStorageItem children.
      Parameters:
      object - Datalake data.
      Returns:
      DatalakeStorageItem instantiated.
    • generateId

      public static String generateId(String... values)
      * Generate unique internal id from dedicated value. It should include the origin to avoid collision.
      Parameters:
      values - Values to differentiate the vulnerability.
      Returns:
      Unique vulnerability id.
    • getSeverity

      public int getSeverity()
      Vulnerability severity.
      Returns:
      Vulnerability severity.
    • setSeverity

      public void setSeverity(int severity)
      Vulnerability severity.
      Parameters:
      severity - Vulnerability severity.
    • getId

      public String getId()
      Internal ID.
      Specified by:
      getId in class DatalakeStorageItem
      Returns:
      Internal ID.
    • setId

      public void setId(String id)
      Internal ID.
      Parameters:
      id - Internal ID.
    • getSummary

      public String getSummary()
      Vulnerability title.
      Returns:
      Vulnerability title.
    • setSummary

      public void setSummary(String summary)
      Vulnerability title.
      Parameters:
      summary - Vulnerability title.
    • getDescription

      public String getDescription()
      Detailed description of the vulnerability.
      Returns:
      Detailed description of the vulnerability.
    • setDescription

      public void setDescription(String description)
      Detailed description of the vulnerability.
      Parameters:
      description - Detailed description of the vulnerability.
    • getUrl

      public String getUrl()
      Vulnerability URL.
      Returns:
      Vulnerability URL.
    • setUrl

      public void setUrl(String url)
      Vulnerability URL.
      Parameters:
      url - Vulnerability URL.
    • getOrigin

      public String getOrigin()
      Origin of the vulnerability (ex: redscan-urlcrazy).
      Returns:
      Origin of the vulnerability (ex: redscan-urlcrazy).
    • setOrigin

      public void setOrigin(String origin)
      Origin of the vulnerability (ex: redscan-urlcrazy).
      Parameters:
      origin - Origin of the vulnerability (ex: redscan-urlcrazy).
    • getTags

      public String[] getTags()
      Tags used by Mantisbt.
      Returns:
      Tags used by Mantisbt.
    • setTags

      public void setTags(String[] tags)
      Tags used by Mantisbt.
      Parameters:
      tags - Tags used by Mantisbt.