---
id: 1
createUser: addon:analyzer
createTime: 2024-09-17T13:12:59.558504512Z
application:
  id: 1
  name: ""
effort: 407

issues: 
- id: 1
  createTime: 2024-09-17T13:12:59.562126115Z
  analysis: 1
  ruleset: cloud-readiness
  rule: mail-00000
  name: ""
  description: Java Mail API
  category: optional
  effort: 3
  incidents:
  - id: 1
    createTime: 2024-09-17T13:12:59.562557266Z
    issue: 1
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/LoginAuthenticator.java
    line: 3
    message: |-
      The configuration parameters of SMTP services for outbound mail may contain environment-specific values such as static IP addresses, host names, properties, credentials, or certificates.

       Recommendations

       * In a cloud environment, mail systems should be considered backing services and treated like attached resources.
       * Ensure that the configuration of the underlying outbound mail connection is not environment-specific.
       * In OpenShift Container Platform, store configuration parameters as environment variables or in a ConfigMap.
    codeSnip: " 1  package ch.qos.logback.core.net;\n 2  \n 3  import javax.mail.Authenticator;\n
      4  import javax.mail.PasswordAuthentication;\n 5  \n 6  public class LoginAuthenticator
      extends Authenticator {\n 7     String username;\n 8     String password;\n
      9  \n10     LoginAuthenticator(String username, String password) {\n11        this.username
      = username;\n12        this.password = password;\n13     }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/LoginAuthenticator.java
      kind: Module
      name: javax.mail.Authenticator
      package: ch.qos.logback.core.net
  - id: 2
    createTime: 2024-09-17T13:12:59.562557266Z
    issue: 1
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/LoginAuthenticator.java
    line: 4
    message: |-
      The configuration parameters of SMTP services for outbound mail may contain environment-specific values such as static IP addresses, host names, properties, credentials, or certificates.

       Recommendations

       * In a cloud environment, mail systems should be considered backing services and treated like attached resources.
       * Ensure that the configuration of the underlying outbound mail connection is not environment-specific.
       * In OpenShift Container Platform, store configuration parameters as environment variables or in a ConfigMap.
    codeSnip: " 1  package ch.qos.logback.core.net;\n 2  \n 3  import javax.mail.Authenticator;\n
      4  import javax.mail.PasswordAuthentication;\n 5  \n 6  public class LoginAuthenticator
      extends Authenticator {\n 7     String username;\n 8     String password;\n
      9  \n10     LoginAuthenticator(String username, String password) {\n11        this.username
      = username;\n12        this.password = password;\n13     }\n14  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/LoginAuthenticator.java
      kind: Module
      name: javax.mail.PasswordAuthentication
      package: ch.qos.logback.core.net
  - id: 3
    createTime: 2024-09-17T13:12:59.562557266Z
    issue: 1
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
    line: 20
    message: |-
      The configuration parameters of SMTP services for outbound mail may contain environment-specific values such as static IP addresses, host names, properties, credentials, or certificates.

       Recommendations

       * In a cloud environment, mail systems should be considered backing services and treated like attached resources.
       * Ensure that the configuration of the underlying outbound mail connection is not environment-specific.
       * In OpenShift Container Platform, store configuration parameters as environment variables or in a ConfigMap.
    codeSnip: |-
      10  import ch.qos.logback.core.sift.Discriminator;
      11  import ch.qos.logback.core.spi.CyclicBufferTracker;
      12  import ch.qos.logback.core.util.ContentTypeUtil;
      13  import ch.qos.logback.core.util.OptionHelper;
      14  import java.util.ArrayList;
      15  import java.util.Arrays;
      16  import java.util.Date;
      17  import java.util.Iterator;
      18  import java.util.List;
      19  import java.util.Properties;
      20  import javax.mail.Multipart;
      21  import javax.mail.Session;
      22  import javax.mail.Transport;
      23  import javax.mail.Message.RecipientType;
      24  import javax.mail.internet.AddressException;
      25  import javax.mail.internet.InternetAddress;
      26  import javax.mail.internet.MimeBodyPart;
      27  import javax.mail.internet.MimeMessage;
      28  import javax.mail.internet.MimeMultipart;
      29  import javax.naming.Context;
      30  import javax.naming.InitialContext;
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
      kind: Module
      name: javax.mail.Multipart
      package: ch.qos.logback.core.net
  - id: 4
    createTime: 2024-09-17T13:12:59.562557266Z
    issue: 1
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
    line: 21
    message: |-
      The configuration parameters of SMTP services for outbound mail may contain environment-specific values such as static IP addresses, host names, properties, credentials, or certificates.

       Recommendations

       * In a cloud environment, mail systems should be considered backing services and treated like attached resources.
       * Ensure that the configuration of the underlying outbound mail connection is not environment-specific.
       * In OpenShift Container Platform, store configuration parameters as environment variables or in a ConfigMap.
    codeSnip: "11  import ch.qos.logback.core.spi.CyclicBufferTracker;\n12  import
      ch.qos.logback.core.util.ContentTypeUtil;\n13  import ch.qos.logback.core.util.OptionHelper;\n14
      \ import java.util.ArrayList;\n15  import java.util.Arrays;\n16  import java.util.Date;\n17
      \ import java.util.Iterator;\n18  import java.util.List;\n19  import java.util.Properties;\n20
      \ import javax.mail.Multipart;\n21  import javax.mail.Session;\n22  import javax.mail.Transport;\n23
      \ import javax.mail.Message.RecipientType;\n24  import javax.mail.internet.AddressException;\n25
      \ import javax.mail.internet.InternetAddress;\n26  import javax.mail.internet.MimeBodyPart;\n27
      \ import javax.mail.internet.MimeMessage;\n28  import javax.mail.internet.MimeMultipart;\n29
      \ import javax.naming.Context;\n30  import javax.naming.InitialContext;\n31
      \ "
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
      kind: Module
      name: javax.mail.Session
      package: ch.qos.logback.core.net
  - id: 5
    createTime: 2024-09-17T13:12:59.562557266Z
    issue: 1
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
    line: 22
    message: |-
      The configuration parameters of SMTP services for outbound mail may contain environment-specific values such as static IP addresses, host names, properties, credentials, or certificates.

       Recommendations

       * In a cloud environment, mail systems should be considered backing services and treated like attached resources.
       * Ensure that the configuration of the underlying outbound mail connection is not environment-specific.
       * In OpenShift Container Platform, store configuration parameters as environment variables or in a ConfigMap.
    codeSnip: "12  import ch.qos.logback.core.util.ContentTypeUtil;\n13  import ch.qos.logback.core.util.OptionHelper;\n14
      \ import java.util.ArrayList;\n15  import java.util.Arrays;\n16  import java.util.Date;\n17
      \ import java.util.Iterator;\n18  import java.util.List;\n19  import java.util.Properties;\n20
      \ import javax.mail.Multipart;\n21  import javax.mail.Session;\n22  import javax.mail.Transport;\n23
      \ import javax.mail.Message.RecipientType;\n24  import javax.mail.internet.AddressException;\n25
      \ import javax.mail.internet.InternetAddress;\n26  import javax.mail.internet.MimeBodyPart;\n27
      \ import javax.mail.internet.MimeMessage;\n28  import javax.mail.internet.MimeMultipart;\n29
      \ import javax.naming.Context;\n30  import javax.naming.InitialContext;\n31
      \ \n32  public abstract class SMTPAppenderBase extends AppenderBase {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
      kind: Module
      name: javax.mail.Transport
      package: ch.qos.logback.core.net
  - id: 6
    createTime: 2024-09-17T13:12:59.562557266Z
    issue: 1
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
    line: 23
    message: |-
      The configuration parameters of SMTP services for outbound mail may contain environment-specific values such as static IP addresses, host names, properties, credentials, or certificates.

       Recommendations

       * In a cloud environment, mail systems should be considered backing services and treated like attached resources.
       * Ensure that the configuration of the underlying outbound mail connection is not environment-specific.
       * In OpenShift Container Platform, store configuration parameters as environment variables or in a ConfigMap.
    codeSnip: "13  import ch.qos.logback.core.util.OptionHelper;\n14  import java.util.ArrayList;\n15
      \ import java.util.Arrays;\n16  import java.util.Date;\n17  import java.util.Iterator;\n18
      \ import java.util.List;\n19  import java.util.Properties;\n20  import javax.mail.Multipart;\n21
      \ import javax.mail.Session;\n22  import javax.mail.Transport;\n23  import javax.mail.Message.RecipientType;\n24
      \ import javax.mail.internet.AddressException;\n25  import javax.mail.internet.InternetAddress;\n26
      \ import javax.mail.internet.MimeBodyPart;\n27  import javax.mail.internet.MimeMessage;\n28
      \ import javax.mail.internet.MimeMultipart;\n29  import javax.naming.Context;\n30
      \ import javax.naming.InitialContext;\n31  \n32  public abstract class SMTPAppenderBase
      extends AppenderBase {\n33     static InternetAddress[] EMPTY_IA_ARRAY = new
      InternetAddress[0];"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
      kind: Module
      name: javax.mail.Message.RecipientType
      package: ch.qos.logback.core.net
  - id: 7
    createTime: 2024-09-17T13:12:59.562557266Z
    issue: 1
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
    line: 24
    message: |-
      The configuration parameters of SMTP services for outbound mail may contain environment-specific values such as static IP addresses, host names, properties, credentials, or certificates.

       Recommendations

       * In a cloud environment, mail systems should be considered backing services and treated like attached resources.
       * Ensure that the configuration of the underlying outbound mail connection is not environment-specific.
       * In OpenShift Container Platform, store configuration parameters as environment variables or in a ConfigMap.
    codeSnip: "14  import java.util.ArrayList;\n15  import java.util.Arrays;\n16  import
      java.util.Date;\n17  import java.util.Iterator;\n18  import java.util.List;\n19
      \ import java.util.Properties;\n20  import javax.mail.Multipart;\n21  import
      javax.mail.Session;\n22  import javax.mail.Transport;\n23  import javax.mail.Message.RecipientType;\n24
      \ import javax.mail.internet.AddressException;\n25  import javax.mail.internet.InternetAddress;\n26
      \ import javax.mail.internet.MimeBodyPart;\n27  import javax.mail.internet.MimeMessage;\n28
      \ import javax.mail.internet.MimeMultipart;\n29  import javax.naming.Context;\n30
      \ import javax.naming.InitialContext;\n31  \n32  public abstract class SMTPAppenderBase
      extends AppenderBase {\n33     static InternetAddress[] EMPTY_IA_ARRAY = new
      InternetAddress[0];\n34     static final long MAX_DELAY_BETWEEN_STATUS_MESSAGES
      = 1228800000L;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
      kind: Module
      name: javax.mail.internet.AddressException
      package: ch.qos.logback.core.net
  - id: 8
    createTime: 2024-09-17T13:12:59.562557266Z
    issue: 1
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
    line: 25
    message: |-
      The configuration parameters of SMTP services for outbound mail may contain environment-specific values such as static IP addresses, host names, properties, credentials, or certificates.

       Recommendations

       * In a cloud environment, mail systems should be considered backing services and treated like attached resources.
       * Ensure that the configuration of the underlying outbound mail connection is not environment-specific.
       * In OpenShift Container Platform, store configuration parameters as environment variables or in a ConfigMap.
    codeSnip: "15  import java.util.Arrays;\n16  import java.util.Date;\n17  import
      java.util.Iterator;\n18  import java.util.List;\n19  import java.util.Properties;\n20
      \ import javax.mail.Multipart;\n21  import javax.mail.Session;\n22  import javax.mail.Transport;\n23
      \ import javax.mail.Message.RecipientType;\n24  import javax.mail.internet.AddressException;\n25
      \ import javax.mail.internet.InternetAddress;\n26  import javax.mail.internet.MimeBodyPart;\n27
      \ import javax.mail.internet.MimeMessage;\n28  import javax.mail.internet.MimeMultipart;\n29
      \ import javax.naming.Context;\n30  import javax.naming.InitialContext;\n31
      \ \n32  public abstract class SMTPAppenderBase extends AppenderBase {\n33     static
      InternetAddress[] EMPTY_IA_ARRAY = new InternetAddress[0];\n34     static final
      long MAX_DELAY_BETWEEN_STATUS_MESSAGES = 1228800000L;\n35     long lastTrackerStatusPrint
      = 0L;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
      kind: Module
      name: javax.mail.internet.InternetAddress
      package: ch.qos.logback.core.net
  - id: 9
    createTime: 2024-09-17T13:12:59.562557266Z
    issue: 1
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
    line: 26
    message: |-
      The configuration parameters of SMTP services for outbound mail may contain environment-specific values such as static IP addresses, host names, properties, credentials, or certificates.

       Recommendations

       * In a cloud environment, mail systems should be considered backing services and treated like attached resources.
       * Ensure that the configuration of the underlying outbound mail connection is not environment-specific.
       * In OpenShift Container Platform, store configuration parameters as environment variables or in a ConfigMap.
    codeSnip: "16  import java.util.Date;\n17  import java.util.Iterator;\n18  import
      java.util.List;\n19  import java.util.Properties;\n20  import javax.mail.Multipart;\n21
      \ import javax.mail.Session;\n22  import javax.mail.Transport;\n23  import javax.mail.Message.RecipientType;\n24
      \ import javax.mail.internet.AddressException;\n25  import javax.mail.internet.InternetAddress;\n26
      \ import javax.mail.internet.MimeBodyPart;\n27  import javax.mail.internet.MimeMessage;\n28
      \ import javax.mail.internet.MimeMultipart;\n29  import javax.naming.Context;\n30
      \ import javax.naming.InitialContext;\n31  \n32  public abstract class SMTPAppenderBase
      extends AppenderBase {\n33     static InternetAddress[] EMPTY_IA_ARRAY = new
      InternetAddress[0];\n34     static final long MAX_DELAY_BETWEEN_STATUS_MESSAGES
      = 1228800000L;\n35     long lastTrackerStatusPrint = 0L;\n36     long delayBetweenStatusMessages
      = 300000L;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
      kind: Module
      name: javax.mail.internet.MimeBodyPart
      package: ch.qos.logback.core.net
  - id: 10
    createTime: 2024-09-17T13:12:59.562557266Z
    issue: 1
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
    line: 27
    message: |-
      The configuration parameters of SMTP services for outbound mail may contain environment-specific values such as static IP addresses, host names, properties, credentials, or certificates.

       Recommendations

       * In a cloud environment, mail systems should be considered backing services and treated like attached resources.
       * Ensure that the configuration of the underlying outbound mail connection is not environment-specific.
       * In OpenShift Container Platform, store configuration parameters as environment variables or in a ConfigMap.
    codeSnip: "17  import java.util.Iterator;\n18  import java.util.List;\n19  import
      java.util.Properties;\n20  import javax.mail.Multipart;\n21  import javax.mail.Session;\n22
      \ import javax.mail.Transport;\n23  import javax.mail.Message.RecipientType;\n24
      \ import javax.mail.internet.AddressException;\n25  import javax.mail.internet.InternetAddress;\n26
      \ import javax.mail.internet.MimeBodyPart;\n27  import javax.mail.internet.MimeMessage;\n28
      \ import javax.mail.internet.MimeMultipart;\n29  import javax.naming.Context;\n30
      \ import javax.naming.InitialContext;\n31  \n32  public abstract class SMTPAppenderBase
      extends AppenderBase {\n33     static InternetAddress[] EMPTY_IA_ARRAY = new
      InternetAddress[0];\n34     static final long MAX_DELAY_BETWEEN_STATUS_MESSAGES
      = 1228800000L;\n35     long lastTrackerStatusPrint = 0L;\n36     long delayBetweenStatusMessages
      = 300000L;\n37     protected Layout subjectLayout;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
      kind: Module
      name: javax.mail.internet.MimeMessage
      package: ch.qos.logback.core.net
  - id: 11
    createTime: 2024-09-17T13:12:59.562557266Z
    issue: 1
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
    line: 28
    message: |-
      The configuration parameters of SMTP services for outbound mail may contain environment-specific values such as static IP addresses, host names, properties, credentials, or certificates.

       Recommendations

       * In a cloud environment, mail systems should be considered backing services and treated like attached resources.
       * Ensure that the configuration of the underlying outbound mail connection is not environment-specific.
       * In OpenShift Container Platform, store configuration parameters as environment variables or in a ConfigMap.
    codeSnip: "18  import java.util.List;\n19  import java.util.Properties;\n20  import
      javax.mail.Multipart;\n21  import javax.mail.Session;\n22  import javax.mail.Transport;\n23
      \ import javax.mail.Message.RecipientType;\n24  import javax.mail.internet.AddressException;\n25
      \ import javax.mail.internet.InternetAddress;\n26  import javax.mail.internet.MimeBodyPart;\n27
      \ import javax.mail.internet.MimeMessage;\n28  import javax.mail.internet.MimeMultipart;\n29
      \ import javax.naming.Context;\n30  import javax.naming.InitialContext;\n31
      \ \n32  public abstract class SMTPAppenderBase extends AppenderBase {\n33     static
      InternetAddress[] EMPTY_IA_ARRAY = new InternetAddress[0];\n34     static final
      long MAX_DELAY_BETWEEN_STATUS_MESSAGES = 1228800000L;\n35     long lastTrackerStatusPrint
      = 0L;\n36     long delayBetweenStatusMessages = 300000L;\n37     protected Layout
      subjectLayout;\n38     protected Layout layout;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SMTPAppenderBase.java
      kind: Module
      name: javax.mail.internet.MimeMultipart
      package: ch.qos.logback.core.net
  links:
  - url: https://docs.openshift.com/container-platform/4.5/builds/creating-build-inputs.html#builds-input-secrets-configmaps_creating-build-inputs
    title: 'OpenShift Container Platform: Input secrets and ConfigMaps'
  - url: https://12factor.net/backing-services
    title: Twelve-factor app - Backing services
  - url: https://12factor.net/config
    title: Twelve-factor app - Config
  labels:
  - konveyor.io/source=java
  - konveyor.io/source=java-ee
  - konveyor.io/target=cloud-readiness
  - mail
- id: 2
  createTime: 2024-09-17T13:12:59.566152049Z
  analysis: 1
  ruleset: cloud-readiness
  rule: socket-communication-00000
  name: ""
  description: Socket communication
  category: optional
  effort: 5
  incidents:
  - id: 12
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/SimpleSocketServer.java
    line: 7
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.classic.net;\n 2  \n 3  import ch.qos.logback.classic.LoggerContext;\n
      4  import ch.qos.logback.classic.joran.JoranConfigurator;\n 5  import ch.qos.logback.core.joran.spi.JoranException;\n
      6  import java.io.IOException;\n 7  import java.net.ServerSocket;\n 8  import
      java.net.Socket;\n 9  import java.util.ArrayList;\n10  import java.util.Iterator;\n11
      \ import java.util.List;\n12  import java.util.concurrent.CountDownLatch;\n13
      \ import javax.net.ServerSocketFactory;\n14  import org.slf4j.Logger;\n15  import
      org.slf4j.LoggerFactory;\n16  \n17  public class SimpleSocketServer extends
      Thread {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/SimpleSocketServer.java
      kind: Module
      name: java.net.ServerSocket
      package: ch.qos.logback.classic.net
  - id: 13
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/SimpleSocketServer.java
    line: 8
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.classic.net;\n 2  \n 3  import ch.qos.logback.classic.LoggerContext;\n
      4  import ch.qos.logback.classic.joran.JoranConfigurator;\n 5  import ch.qos.logback.core.joran.spi.JoranException;\n
      6  import java.io.IOException;\n 7  import java.net.ServerSocket;\n 8  import
      java.net.Socket;\n 9  import java.util.ArrayList;\n10  import java.util.Iterator;\n11
      \ import java.util.List;\n12  import java.util.concurrent.CountDownLatch;\n13
      \ import javax.net.ServerSocketFactory;\n14  import org.slf4j.Logger;\n15  import
      org.slf4j.LoggerFactory;\n16  \n17  public class SimpleSocketServer extends
      Thread {\n18     Logger logger = LoggerFactory.getLogger(SimpleSocketServer.class);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/SimpleSocketServer.java
      kind: Module
      name: java.net.Socket
      package: ch.qos.logback.classic.net
  - id: 14
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/SocketNode.java
    line: 10
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.classic.net;\n 2  \n 3  import ch.qos.logback.classic.Logger;\n
      4  import ch.qos.logback.classic.LoggerContext;\n 5  import ch.qos.logback.classic.spi.ILoggingEvent;\n
      6  import java.io.BufferedInputStream;\n 7  import java.io.EOFException;\n 8
      \ import java.io.IOException;\n 9  import java.io.ObjectInputStream;\n10  import
      java.net.Socket;\n11  import java.net.SocketAddress;\n12  import java.net.SocketException;\n13
      \ \n14  public class SocketNode implements Runnable {\n15     Socket socket;\n16
      \    LoggerContext context;\n17     ObjectInputStream ois;\n18     SocketAddress
      remoteSocketAddress;\n19     Logger logger;\n20     boolean closed = false;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/SocketNode.java
      kind: Module
      name: java.net.Socket
      package: ch.qos.logback.classic.net
  - id: 15
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/SocketNode.java
    line: 11
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.classic.net;\n 2  \n 3  import ch.qos.logback.classic.Logger;\n
      4  import ch.qos.logback.classic.LoggerContext;\n 5  import ch.qos.logback.classic.spi.ILoggingEvent;\n
      6  import java.io.BufferedInputStream;\n 7  import java.io.EOFException;\n 8
      \ import java.io.IOException;\n 9  import java.io.ObjectInputStream;\n10  import
      java.net.Socket;\n11  import java.net.SocketAddress;\n12  import java.net.SocketException;\n13
      \ \n14  public class SocketNode implements Runnable {\n15     Socket socket;\n16
      \    LoggerContext context;\n17     ObjectInputStream ois;\n18     SocketAddress
      remoteSocketAddress;\n19     Logger logger;\n20     boolean closed = false;\n21
      \    SimpleSocketServer socketServer;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/SocketNode.java
      kind: Module
      name: java.net.SocketAddress
      package: ch.qos.logback.classic.net
  - id: 16
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/SocketNode.java
    line: 12
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 2  \n 3  import ch.qos.logback.classic.Logger;\n 4  import ch.qos.logback.classic.LoggerContext;\n
      5  import ch.qos.logback.classic.spi.ILoggingEvent;\n 6  import java.io.BufferedInputStream;\n
      7  import java.io.EOFException;\n 8  import java.io.IOException;\n 9  import
      java.io.ObjectInputStream;\n10  import java.net.Socket;\n11  import java.net.SocketAddress;\n12
      \ import java.net.SocketException;\n13  \n14  public class SocketNode implements
      Runnable {\n15     Socket socket;\n16     LoggerContext context;\n17     ObjectInputStream
      ois;\n18     SocketAddress remoteSocketAddress;\n19     Logger logger;\n20     boolean
      closed = false;\n21     SimpleSocketServer socketServer;\n22  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/SocketNode.java
      kind: Module
      name: java.net.SocketException
      package: ch.qos.logback.classic.net
  - id: 17
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/SocketReceiver.java
    line: 14
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 4  import ch.qos.logback.classic.LoggerContext;\n 5  import ch.qos.logback.classic.spi.ILoggingEvent;\n
      6  import ch.qos.logback.core.net.DefaultSocketConnector;\n 7  import ch.qos.logback.core.net.SocketConnector;\n
      8  import ch.qos.logback.core.util.CloseUtil;\n 9  import java.io.EOFException;\n10
      \ import java.io.IOException;\n11  import java.io.ObjectInputStream;\n12  import
      java.net.ConnectException;\n13  import java.net.InetAddress;\n14  import java.net.Socket;\n15
      \ import java.net.UnknownHostException;\n16  import java.util.concurrent.ExecutionException;\n17
      \ import java.util.concurrent.Future;\n18  import java.util.concurrent.RejectedExecutionException;\n19
      \ import javax.net.SocketFactory;\n20  \n21  public class SocketReceiver extends
      ReceiverBase implements Runnable, SocketConnector.ExceptionHandler {\n22     private
      static final int DEFAULT_ACCEPT_CONNECTION_DELAY = 5000;\n23     private String
      remoteHost;\n24     private InetAddress address;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/SocketReceiver.java
      kind: Module
      name: java.net.Socket
      package: ch.qos.logback.classic.net
  - id: 18
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/SyslogAppender.java
    line: 14
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 4  import ch.qos.logback.classic.pattern.SyslogStartConverter;\n 5
      \ import ch.qos.logback.classic.spi.ILoggingEvent;\n 6  import ch.qos.logback.classic.spi.IThrowableProxy;\n
      7  import ch.qos.logback.classic.spi.StackTraceElementProxy;\n 8  import ch.qos.logback.classic.util.LevelToSyslogSeverity;\n
      9  import ch.qos.logback.core.Layout;\n10  import ch.qos.logback.core.net.SyslogAppenderBase;\n11
      \ import ch.qos.logback.core.net.SyslogOutputStream;\n12  import java.io.IOException;\n13
      \ import java.io.OutputStream;\n14  import java.net.SocketException;\n15  import
      java.net.UnknownHostException;\n16  \n17  public class SyslogAppender extends
      SyslogAppenderBase {\n18     public static final String DEFAULT_SUFFIX_PATTERN
      = \"[%thread] %logger %msg\";\n19     public static final String DEFAULT_STACKTRACE_PATTERN
      = \"\\t\";\n20     PatternLayout stackTraceLayout = new PatternLayout();\n21
      \    String stackTracePattern = \"\\t\";\n22     boolean throwableExcluded =
      false;\n23  \n24     public void start() {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/SyslogAppender.java
      kind: Module
      name: java.net.SocketException
      package: ch.qos.logback.classic.net
  - id: 19
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/server/RemoteAppenderServerListener.java
    line: 5
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.classic.net.server;\n 2  \n 3  import ch.qos.logback.core.net.server.ServerSocketListener;\n
      4  import java.io.IOException;\n 5  import java.net.ServerSocket;\n 6  import
      java.net.Socket;\n 7  \n 8  class RemoteAppenderServerListener extends ServerSocketListener
      {\n 9     public RemoteAppenderServerListener(ServerSocket serverSocket) {\n10
      \       super(serverSocket);\n11     }\n12  \n13     protected RemoteAppenderClient
      createClient(String id, Socket socket) throws IOException {\n14        return
      new RemoteAppenderStreamClient(id, socket);\n15     }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/server/RemoteAppenderServerListener.java
      kind: Module
      name: java.net.ServerSocket
      package: ch.qos.logback.classic.net.server
  - id: 20
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/server/RemoteAppenderServerListener.java
    line: 6
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.classic.net.server;\n 2  \n 3  import ch.qos.logback.core.net.server.ServerSocketListener;\n
      4  import java.io.IOException;\n 5  import java.net.ServerSocket;\n 6  import
      java.net.Socket;\n 7  \n 8  class RemoteAppenderServerListener extends ServerSocketListener
      {\n 9     public RemoteAppenderServerListener(ServerSocket serverSocket) {\n10
      \       super(serverSocket);\n11     }\n12  \n13     protected RemoteAppenderClient
      createClient(String id, Socket socket) throws IOException {\n14        return
      new RemoteAppenderStreamClient(id, socket);\n15     }\n16  }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/server/RemoteAppenderServerListener.java
      kind: Module
      name: java.net.Socket
      package: ch.qos.logback.classic.net.server
  - id: 21
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/server/RemoteAppenderStreamClient.java
    line: 11
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.classic.net.server;\n 2  \n 3  import ch.qos.logback.classic.Logger;\n
      4  import ch.qos.logback.classic.LoggerContext;\n 5  import ch.qos.logback.classic.spi.ILoggingEvent;\n
      6  import ch.qos.logback.core.util.CloseUtil;\n 7  import java.io.EOFException;\n
      8  import java.io.IOException;\n 9  import java.io.InputStream;\n10  import
      java.io.ObjectInputStream;\n11  import java.net.Socket;\n12  \n13  class RemoteAppenderStreamClient
      implements RemoteAppenderClient {\n14     private final String id;\n15     private
      final Socket socket;\n16     private final InputStream inputStream;\n17     private
      LoggerContext lc;\n18     private Logger logger;\n19  \n20     public RemoteAppenderStreamClient(String
      id, Socket socket) {\n21        this.id = id;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/server/RemoteAppenderStreamClient.java
      kind: Module
      name: java.net.Socket
      package: ch.qos.logback.classic.net.server
  - id: 22
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/server/ServerSocketReceiver.java
    line: 9
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.classic.net.server;\n 2  \n 3  import ch.qos.logback.classic.net.ReceiverBase;\n
      4  import ch.qos.logback.core.net.server.ServerListener;\n 5  import ch.qos.logback.core.net.server.ServerRunner;\n
      6  import ch.qos.logback.core.util.CloseUtil;\n 7  import java.io.IOException;\n
      8  import java.net.InetAddress;\n 9  import java.net.ServerSocket;\n10  import
      java.net.UnknownHostException;\n11  import java.util.concurrent.Executor;\n12
      \ import javax.net.ServerSocketFactory;\n13  \n14  public class ServerSocketReceiver
      extends ReceiverBase {\n15     public static final int DEFAULT_BACKLOG = 50;\n16
      \    private int port = 4560;\n17     private int backlog = 50;\n18     private
      String address;\n19     private ServerSocket serverSocket;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/classic/net/server/ServerSocketReceiver.java
      kind: Module
      name: java.net.ServerSocket
      package: ch.qos.logback.classic.net.server
  - id: 23
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/AbstractSocketAppender.java
    line: 11
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net;\n 2  \n 3  import ch.qos.logback.core.AppenderBase;\n
      4  import ch.qos.logback.core.spi.PreSerializationTransformer;\n 5  import ch.qos.logback.core.util.CloseUtil;\n
      6  import ch.qos.logback.core.util.Duration;\n 7  import java.io.IOException;\n
      8  import java.io.Serializable;\n 9  import java.net.ConnectException;\n10  import
      java.net.InetAddress;\n11  import java.net.Socket;\n12  import java.net.UnknownHostException;\n13
      \ import java.util.concurrent.BlockingDeque;\n14  import java.util.concurrent.Future;\n15
      \ import java.util.concurrent.TimeUnit;\n16  import javax.net.SocketFactory;\n17
      \ \n18  public abstract class AbstractSocketAppender extends AppenderBase implements
      SocketConnector.ExceptionHandler {\n19     public static final int DEFAULT_PORT
      = 4560;\n20     public static final int DEFAULT_RECONNECTION_DELAY = 30000;\n21
      \    public static final int DEFAULT_QUEUE_SIZE = 128;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/AbstractSocketAppender.java
      kind: Module
      name: java.net.Socket
      package: ch.qos.logback.core.net
  - id: 24
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/DefaultSocketConnector.java
    line: 7
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net;\n 2  \n 3  import ch.qos.logback.core.util.DelayStrategy;\n
      4  import ch.qos.logback.core.util.FixedDelay;\n 5  import java.io.IOException;\n
      6  import java.net.InetAddress;\n 7  import java.net.Socket;\n 8  import javax.net.SocketFactory;\n
      9  \n10  public class DefaultSocketConnector implements SocketConnector {\n11
      \    private final InetAddress address;\n12     private final int port;\n13
      \    private final DelayStrategy delayStrategy;\n14     private SocketConnector.ExceptionHandler
      exceptionHandler;\n15     private SocketFactory socketFactory;\n16  \n17     public
      DefaultSocketConnector(InetAddress address, int port, long initialDelay, long
      retryDelay) {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/DefaultSocketConnector.java
      kind: Module
      name: java.net.Socket
      package: ch.qos.logback.core.net
  - id: 25
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SocketConnector.java
    line: 3
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net;\n 2  \n 3  import java.net.Socket;\n
      4  import java.util.concurrent.Callable;\n 5  import javax.net.SocketFactory;\n
      6  \n 7  public interface SocketConnector extends Callable {\n 8     Socket
      call() throws InterruptedException;\n 9  \n10     void setExceptionHandler(ExceptionHandler
      var1);\n11  \n12     void setSocketFactory(SocketFactory var1);\n13  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SocketConnector.java
      kind: Module
      name: java.net.Socket
      package: ch.qos.logback.core.net
  - id: 26
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SyslogAppenderBase.java
    line: 7
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net;\n 2  \n 3  import ch.qos.logback.core.AppenderBase;\n
      4  import ch.qos.logback.core.Layout;\n 5  import java.io.IOException;\n 6  import
      java.io.OutputStream;\n 7  import java.net.SocketException;\n 8  import java.net.UnknownHostException;\n
      9  import java.nio.charset.Charset;\n10  \n11  public abstract class SyslogAppenderBase
      extends AppenderBase {\n12     static final String SYSLOG_LAYOUT_URL = \"http://logback.qos.ch/codes.html#syslog_layout\";\n13
      \    static final int MAX_MESSAGE_SIZE_LIMIT = 65000;\n14     Layout layout;\n15
      \    String facilityStr;\n16     String syslogHost;\n17     protected String
      suffixPattern;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SyslogAppenderBase.java
      kind: Module
      name: java.net.SocketException
      package: ch.qos.logback.core.net
  - id: 27
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SyslogOutputStream.java
    line: 7
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net;\n 2  \n 3  import java.io.ByteArrayOutputStream;\n
      4  import java.io.IOException;\n 5  import java.io.OutputStream;\n 6  import
      java.net.DatagramPacket;\n 7  import java.net.DatagramSocket;\n 8  import java.net.InetAddress;\n
      9  import java.net.SocketException;\n10  import java.net.UnknownHostException;\n11
      \ \n12  public class SyslogOutputStream extends OutputStream {\n13     private
      static final int MAX_LEN = 1024;\n14     private InetAddress address;\n15     private
      DatagramSocket ds;\n16     private ByteArrayOutputStream baos = new ByteArrayOutputStream();\n17
      \    private final int port;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SyslogOutputStream.java
      kind: Module
      name: java.net.DatagramSocket
      package: ch.qos.logback.core.net
  - id: 28
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SyslogOutputStream.java
    line: 9
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net;\n 2  \n 3  import java.io.ByteArrayOutputStream;\n
      4  import java.io.IOException;\n 5  import java.io.OutputStream;\n 6  import
      java.net.DatagramPacket;\n 7  import java.net.DatagramSocket;\n 8  import java.net.InetAddress;\n
      9  import java.net.SocketException;\n10  import java.net.UnknownHostException;\n11
      \ \n12  public class SyslogOutputStream extends OutputStream {\n13     private
      static final int MAX_LEN = 1024;\n14     private InetAddress address;\n15     private
      DatagramSocket ds;\n16     private ByteArrayOutputStream baos = new ByteArrayOutputStream();\n17
      \    private final int port;\n18  \n19     public SyslogOutputStream(String
      syslogHost, int port) throws UnknownHostException, SocketException {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/SyslogOutputStream.java
      kind: Module
      name: java.net.SocketException
      package: ch.qos.logback.core.net
  - id: 29
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/AbstractServerSocketAppender.java
    line: 8
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net.server;\n 2  \n 3  import ch.qos.logback.core.AppenderBase;\n
      4  import ch.qos.logback.core.spi.PreSerializationTransformer;\n 5  import java.io.IOException;\n
      6  import java.io.Serializable;\n 7  import java.net.InetAddress;\n 8  import
      java.net.ServerSocket;\n 9  import java.net.UnknownHostException;\n10  import
      java.util.concurrent.Executor;\n11  import javax.net.ServerSocketFactory;\n12
      \ \n13  public abstract class AbstractServerSocketAppender extends AppenderBase
      {\n14     public static final int DEFAULT_BACKLOG = 50;\n15     public static
      final int DEFAULT_CLIENT_QUEUE_SIZE = 100;\n16     private int port = 4560;\n17
      \    private int backlog = 50;\n18     private int clientQueueSize = 100;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/AbstractServerSocketAppender.java
      kind: Module
      name: java.net.ServerSocket
      package: ch.qos.logback.core.net.server
  - id: 30
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/RemoteReceiverServerListener.java
    line: 4
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net.server;\n 2  \n 3  import java.io.IOException;\n
      4  import java.net.ServerSocket;\n 5  import java.net.Socket;\n 6  \n 7  class
      RemoteReceiverServerListener extends ServerSocketListener {\n 8     public RemoteReceiverServerListener(ServerSocket
      serverSocket) {\n 9        super(serverSocket);\n10     }\n11  \n12     protected
      RemoteReceiverClient createClient(String id, Socket socket) throws IOException
      {\n13        return new RemoteReceiverStreamClient(id, socket);\n14     }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/RemoteReceiverServerListener.java
      kind: Module
      name: java.net.ServerSocket
      package: ch.qos.logback.core.net.server
  - id: 31
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/RemoteReceiverServerListener.java
    line: 5
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net.server;\n 2  \n 3  import java.io.IOException;\n
      4  import java.net.ServerSocket;\n 5  import java.net.Socket;\n 6  \n 7  class
      RemoteReceiverServerListener extends ServerSocketListener {\n 8     public RemoteReceiverServerListener(ServerSocket
      serverSocket) {\n 9        super(serverSocket);\n10     }\n11  \n12     protected
      RemoteReceiverClient createClient(String id, Socket socket) throws IOException
      {\n13        return new RemoteReceiverStreamClient(id, socket);\n14     }\n15
      \ }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/RemoteReceiverServerListener.java
      kind: Module
      name: java.net.Socket
      package: ch.qos.logback.core.net.server
  - id: 32
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/RemoteReceiverStreamClient.java
    line: 10
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net.server;\n 2  \n 3  import ch.qos.logback.core.spi.ContextAwareBase;\n
      4  import ch.qos.logback.core.util.CloseUtil;\n 5  import java.io.Closeable;\n
      6  import java.io.IOException;\n 7  import java.io.ObjectOutputStream;\n 8  import
      java.io.OutputStream;\n 9  import java.io.Serializable;\n10  import java.net.Socket;\n11
      \ import java.net.SocketException;\n12  import java.util.concurrent.BlockingQueue;\n13
      \ \n14  class RemoteReceiverStreamClient extends ContextAwareBase implements
      RemoteReceiverClient {\n15     private final String clientId;\n16     private
      final Socket socket;\n17     private final OutputStream outputStream;\n18     private
      BlockingQueue queue;\n19  \n20     public RemoteReceiverStreamClient(String
      id, Socket socket) {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/RemoteReceiverStreamClient.java
      kind: Module
      name: java.net.Socket
      package: ch.qos.logback.core.net.server
  - id: 33
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/RemoteReceiverStreamClient.java
    line: 11
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net.server;\n 2  \n 3  import ch.qos.logback.core.spi.ContextAwareBase;\n
      4  import ch.qos.logback.core.util.CloseUtil;\n 5  import java.io.Closeable;\n
      6  import java.io.IOException;\n 7  import java.io.ObjectOutputStream;\n 8  import
      java.io.OutputStream;\n 9  import java.io.Serializable;\n10  import java.net.Socket;\n11
      \ import java.net.SocketException;\n12  import java.util.concurrent.BlockingQueue;\n13
      \ \n14  class RemoteReceiverStreamClient extends ContextAwareBase implements
      RemoteReceiverClient {\n15     private final String clientId;\n16     private
      final Socket socket;\n17     private final OutputStream outputStream;\n18     private
      BlockingQueue queue;\n19  \n20     public RemoteReceiverStreamClient(String
      id, Socket socket) {\n21        this.clientId = \"client \" + id + \": \";"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/RemoteReceiverStreamClient.java
      kind: Module
      name: java.net.SocketException
      package: ch.qos.logback.core.net.server
  - id: 34
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/ServerSocketListener.java
    line: 5
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net.server;\n 2  \n 3  import ch.qos.logback.core.util.CloseUtil;\n
      4  import java.io.IOException;\n 5  import java.net.ServerSocket;\n 6  import
      java.net.Socket;\n 7  import java.net.SocketAddress;\n 8  \n 9  public abstract
      class ServerSocketListener implements ServerListener {\n10     private final
      ServerSocket serverSocket;\n11  \n12     public ServerSocketListener(ServerSocket
      serverSocket) {\n13        this.serverSocket = serverSocket;\n14     }\n15  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/ServerSocketListener.java
      kind: Module
      name: java.net.ServerSocket
      package: ch.qos.logback.core.net.server
  - id: 35
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/ServerSocketListener.java
    line: 6
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net.server;\n 2  \n 3  import ch.qos.logback.core.util.CloseUtil;\n
      4  import java.io.IOException;\n 5  import java.net.ServerSocket;\n 6  import
      java.net.Socket;\n 7  import java.net.SocketAddress;\n 8  \n 9  public abstract
      class ServerSocketListener implements ServerListener {\n10     private final
      ServerSocket serverSocket;\n11  \n12     public ServerSocketListener(ServerSocket
      serverSocket) {\n13        this.serverSocket = serverSocket;\n14     }\n15  \n16
      \    public Client acceptClient() throws IOException {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/ServerSocketListener.java
      kind: Module
      name: java.net.Socket
      package: ch.qos.logback.core.net.server
  - id: 36
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/ServerSocketListener.java
    line: 7
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net.server;\n 2  \n 3  import ch.qos.logback.core.util.CloseUtil;\n
      4  import java.io.IOException;\n 5  import java.net.ServerSocket;\n 6  import
      java.net.Socket;\n 7  import java.net.SocketAddress;\n 8  \n 9  public abstract
      class ServerSocketListener implements ServerListener {\n10     private final
      ServerSocket serverSocket;\n11  \n12     public ServerSocketListener(ServerSocket
      serverSocket) {\n13        this.serverSocket = serverSocket;\n14     }\n15  \n16
      \    public Client acceptClient() throws IOException {\n17        Socket socket
      = this.serverSocket.accept();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/server/ServerSocketListener.java
      kind: Module
      name: java.net.SocketAddress
      package: ch.qos.logback.core.net.server
  - id: 37
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/ssl/ConfigurableSSLServerSocketFactory.java
    line: 5
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net.ssl;\n 2  \n 3  import java.io.IOException;\n
      4  import java.net.InetAddress;\n 5  import java.net.ServerSocket;\n 6  import
      javax.net.ServerSocketFactory;\n 7  import javax.net.ssl.SSLServerSocket;\n
      8  import javax.net.ssl.SSLServerSocketFactory;\n 9  \n10  public class ConfigurableSSLServerSocketFactory
      extends ServerSocketFactory {\n11     private final SSLParametersConfiguration
      parameters;\n12     private final SSLServerSocketFactory delegate;\n13  \n14
      \    public ConfigurableSSLServerSocketFactory(SSLParametersConfiguration parameters,
      SSLServerSocketFactory delegate) {\n15        this.parameters = parameters;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/ssl/ConfigurableSSLServerSocketFactory.java
      kind: Module
      name: java.net.ServerSocket
      package: ch.qos.logback.core.net.ssl
  - id: 38
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/net/ssl/ConfigurableSSLSocketFactory.java
    line: 5
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.net.ssl;\n 2  \n 3  import java.io.IOException;\n
      4  import java.net.InetAddress;\n 5  import java.net.Socket;\n 6  import java.net.UnknownHostException;\n
      7  import javax.net.SocketFactory;\n 8  import javax.net.ssl.SSLSocket;\n 9
      \ import javax.net.ssl.SSLSocketFactory;\n10  \n11  public class ConfigurableSSLSocketFactory
      extends SocketFactory {\n12     private final SSLParametersConfiguration parameters;\n13
      \    private final SSLSocketFactory delegate;\n14  \n15     public ConfigurableSSLSocketFactory(SSLParametersConfiguration
      parameters, SSLSocketFactory delegate) {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/net/ssl/ConfigurableSSLSocketFactory.java
      kind: Module
      name: java.net.Socket
      package: ch.qos.logback.core.net.ssl
  - id: 39
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/recovery/ResilientSyslogOutputStream.java
    line: 6
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.recovery;\n 2  \n 3  import ch.qos.logback.core.net.SyslogOutputStream;\n
      4  import java.io.IOException;\n 5  import java.io.OutputStream;\n 6  import
      java.net.SocketException;\n 7  import java.net.UnknownHostException;\n 8  \n
      9  public class ResilientSyslogOutputStream extends ResilientOutputStreamBase
      {\n10     String syslogHost;\n11     int port;\n12  \n13     public ResilientSyslogOutputStream(String
      syslogHost, int port) throws UnknownHostException, SocketException {\n14        this.syslogHost
      = syslogHost;\n15        this.port = port;\n16        super.os = new SyslogOutputStream(syslogHost,
      port);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/recovery/ResilientSyslogOutputStream.java
      kind: Module
      name: java.net.SocketException
      package: ch.qos.logback.core.recovery
  - id: 40
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/util/CloseUtil.java
    line: 5
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.util;\n 2  \n 3  import java.io.Closeable;\n
      4  import java.io.IOException;\n 5  import java.net.ServerSocket;\n 6  import
      java.net.Socket;\n 7  \n 8  public class CloseUtil {\n 9     public static void
      closeQuietly(Closeable closeable) {\n10        if (closeable != null) {\n11
      \          try {\n12              closeable.close();\n13           } catch (IOException
      var2) {\n14           }\n15  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/util/CloseUtil.java
      kind: Module
      name: java.net.ServerSocket
      package: ch.qos.logback.core.util
  - id: 41
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/util/CloseUtil.java
    line: 6
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.util;\n 2  \n 3  import java.io.Closeable;\n
      4  import java.io.IOException;\n 5  import java.net.ServerSocket;\n 6  import
      java.net.Socket;\n 7  \n 8  public class CloseUtil {\n 9     public static void
      closeQuietly(Closeable closeable) {\n10        if (closeable != null) {\n11
      \          try {\n12              closeable.close();\n13           } catch (IOException
      var2) {\n14           }\n15  \n16        }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/util/CloseUtil.java
      kind: Module
      name: java.net.Socket
      package: ch.qos.logback.core.util
  - id: 42
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/util/ContextUtil.java
    line: 7
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package ch.qos.logback.core.util;\n 2  \n 3  import ch.qos.logback.core.Context;\n
      4  import ch.qos.logback.core.spi.ContextAwareBase;\n 5  import java.net.InetAddress;\n
      6  import java.net.NetworkInterface;\n 7  import java.net.SocketException;\n
      8  import java.net.UnknownHostException;\n 9  import java.util.Enumeration;\n10
      \ import java.util.Iterator;\n11  import java.util.List;\n12  import java.util.Properties;\n13
      \ \n14  public class ContextUtil extends ContextAwareBase {\n15     public ContextUtil(Context
      context) {\n16        this.setContext(context);\n17     }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/util/ContextUtil.java
      kind: Module
      name: java.net.SocketException
      package: ch.qos.logback.core.util
  - id: 43
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/deser/std/FromStringDeserializer.java
    line: 18
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 8  import com.fasterxml.jackson.databind.JsonDeserializer;\n 9  import
      com.fasterxml.jackson.databind.JsonMappingException;\n10  import com.fasterxml.jackson.databind.cfg.CoercionAction;\n11
      \ import com.fasterxml.jackson.databind.cfg.CoercionInputShape;\n12  import
      com.fasterxml.jackson.databind.exc.InvalidFormatException;\n13  import com.fasterxml.jackson.databind.type.LogicalType;\n14
      \ import com.fasterxml.jackson.databind.util.ClassUtil;\n15  import java.io.File;\n16
      \ import java.io.IOException;\n17  import java.net.InetAddress;\n18  import
      java.net.InetSocketAddress;\n19  import java.net.MalformedURLException;\n20
      \ import java.net.URI;\n21  import java.net.URL;\n22  import java.nio.charset.Charset;\n23
      \ import java.util.Currency;\n24  import java.util.Locale;\n25  import java.util.TimeZone;\n26
      \ import java.util.regex.Pattern;\n27  \n28  public abstract class FromStringDeserializer
      extends StdScalarDeserializer {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/deser/std/FromStringDeserializer.java
      kind: Module
      name: java.net.InetSocketAddress
      package: com.fasterxml.jackson.databind.deser.std
  - id: 44
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ser/BasicSerializerFactory.java
    line: 78
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: |-
      68  import com.fasterxml.jackson.databind.type.TypeFactory;
      69  import com.fasterxml.jackson.databind.util.ArrayBuilders;
      70  import com.fasterxml.jackson.databind.util.BeanUtil;
      71  import com.fasterxml.jackson.databind.util.ClassUtil;
      72  import com.fasterxml.jackson.databind.util.Converter;
      73  import com.fasterxml.jackson.databind.util.TokenBuffer;
      74  import java.io.Serializable;
      75  import java.math.BigDecimal;
      76  import java.math.BigInteger;
      77  import java.net.InetAddress;
      78  import java.net.InetSocketAddress;
      79  import java.nio.ByteBuffer;
      80  import java.nio.charset.Charset;
      81  import java.util.Calendar;
      82  import java.util.Collection;
      83  import java.util.Date;
      84  import java.util.EnumSet;
      85  import java.util.HashMap;
      86  import java.util.Iterator;
      87  import java.util.Map;
      88  import java.util.RandomAccess;
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ser/BasicSerializerFactory.java
      kind: Module
      name: java.net.InetSocketAddress
      package: com.fasterxml.jackson.databind.ser
  - id: 45
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ser/std/InetSocketAddressSerializer.java
    line: 11
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package com.fasterxml.jackson.databind.ser.std;\n 2  \n 3  import
      com.fasterxml.jackson.core.JsonGenerator;\n 4  import com.fasterxml.jackson.core.JsonToken;\n
      5  import com.fasterxml.jackson.core.type.WritableTypeId;\n 6  import com.fasterxml.jackson.databind.SerializerProvider;\n
      7  import com.fasterxml.jackson.databind.jsontype.TypeSerializer;\n 8  import
      java.io.IOException;\n 9  import java.net.Inet6Address;\n10  import java.net.InetAddress;\n11
      \ import java.net.InetSocketAddress;\n12  \n13  public class InetSocketAddressSerializer
      extends StdScalarSerializer {\n14     public InetSocketAddressSerializer() {\n15
      \       super(InetSocketAddress.class);\n16     }\n17  \n18     public void
      serialize(InetSocketAddress value, JsonGenerator jgen, SerializerProvider provider)
      throws IOException {\n19        InetAddress addr = value.getAddress();\n20        String
      str = addr == null ? value.getHostName() : addr.toString().trim();\n21        int
      ix = str.indexOf(47);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ser/std/InetSocketAddressSerializer.java
      kind: Module
      name: java.net.InetSocketAddress
      package: com.fasterxml.jackson.databind.ser.std
  - id: 46
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/javassist/tools/rmi/ObjectImporter.java
    line: 13
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 3  import java.applet.Applet;\n 4  import java.io.BufferedInputStream;\n
      5  import java.io.BufferedOutputStream;\n 6  import java.io.IOException;\n 7
      \ import java.io.InputStream;\n 8  import java.io.ObjectInputStream;\n 9  import
      java.io.ObjectOutputStream;\n10  import java.io.OutputStream;\n11  import java.io.Serializable;\n12
      \ import java.lang.reflect.Constructor;\n13  import java.net.Socket;\n14  import
      java.net.URL;\n15  \n16  public class ObjectImporter implements Serializable
      {\n17     private static final long serialVersionUID = 1L;\n18     private final
      byte[] endofline = new byte[]{13, 10};\n19     private String servername;\n20
      \    private String orgServername;\n21     private int port;\n22     private
      int orgPort;\n23     protected byte[] lookupCommand = \"POST /lookup HTTP/1.0\".getBytes();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/tools/rmi/ObjectImporter.java
      kind: Module
      name: java.net.Socket
      package: javassist.tools.rmi
  - id: 47
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/javassist/tools/web/ServiceThread.java
    line: 4
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package javassist.tools.web;\n 2  \n 3  import java.io.IOException;\n
      4  import java.net.Socket;\n 5  \n 6  class ServiceThread extends Thread {\n
      7     Webserver web;\n 8     Socket sock;\n 9  \n10     public ServiceThread(Webserver
      w, Socket s) {\n11        this.web = w;\n12        this.sock = s;\n13     }\n14
      \ "
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/tools/web/ServiceThread.java
      kind: Module
      name: java.net.Socket
      package: javassist.tools.web
  - id: 48
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/javassist/tools/web/Webserver.java
    line: 11
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 1  package javassist.tools.web;\n 2  \n 3  import java.io.BufferedInputStream;\n
      4  import java.io.BufferedOutputStream;\n 5  import java.io.ByteArrayOutputStream;\n
      6  import java.io.File;\n 7  import java.io.FileInputStream;\n 8  import java.io.IOException;\n
      9  import java.io.InputStream;\n10  import java.io.OutputStream;\n11  import
      java.net.ServerSocket;\n12  import java.net.Socket;\n13  import java.util.Date;\n14
      \ import javassist.CannotCompileException;\n15  import javassist.ClassPool;\n16
      \ import javassist.CtClass;\n17  import javassist.NotFoundException;\n18  import
      javassist.Translator;\n19  \n20  public class Webserver {\n21     private ServerSocket
      socket;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/tools/web/Webserver.java
      kind: Module
      name: java.net.ServerSocket
      package: javassist.tools.web
  - id: 49
    createTime: 2024-09-17T13:12:59.566359719Z
    issue: 2
    file: /shared/bin/java-project/src/main/java/javassist/tools/web/Webserver.java
    line: 12
    message: |-
      Java sockets are internal endpoints of two-way communications. They are defined by an IP address, port, and protocol (TCP/UDP).

       Socket communication is not suitable for a cloud environment because it requires fixed communication with a target host.

       Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.
    codeSnip: " 2  \n 3  import java.io.BufferedInputStream;\n 4  import java.io.BufferedOutputStream;\n
      5  import java.io.ByteArrayOutputStream;\n 6  import java.io.File;\n 7  import
      java.io.FileInputStream;\n 8  import java.io.IOException;\n 9  import java.io.InputStream;\n10
      \ import java.io.OutputStream;\n11  import java.net.ServerSocket;\n12  import
      java.net.Socket;\n13  import java.util.Date;\n14  import javassist.CannotCompileException;\n15
      \ import javassist.ClassPool;\n16  import javassist.CtClass;\n17  import javassist.NotFoundException;\n18
      \ import javassist.Translator;\n19  \n20  public class Webserver {\n21     private
      ServerSocket socket;\n22     private ClassPool classPool;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/tools/web/Webserver.java
      kind: Module
      name: java.net.Socket
      package: javassist.tools.web
  labels:
  - konveyor.io/source=java
  - konveyor.io/source=java-ee
  - konveyor.io/target=cloud-readiness
  - socket
- id: 3
  createTime: 2024-09-17T13:12:59.578973632Z
  analysis: 1
  ruleset: cloud-readiness
  rule: local-storage-00001
  name: ""
  description: File system - Java IO
  category: mandatory
  effort: 1
  incidents:
  - id: 50
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/classic/jmx/JMXConfigurator.java
    line: 75
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "65        return false;\n66     }\n67  \n68     public void reloadDefaultConfiguration()
      throws JoranException {\n69        ContextInitializer ci = new ContextInitializer(this.loggerContext);\n70
      \       URL url = ci.findURLOfDefaultConfigurationFile(true);\n71        this.reloadByURL(url);\n72
      \    }\n73  \n74     public void reloadByFileName(String fileName) throws JoranException,
      FileNotFoundException {\n75        File f = new File(fileName);\n76        if
      (f.exists() && f.isFile()) {\n77           try {\n78              URL url =
      f.toURI().toURL();\n79              this.reloadByURL(url);\n80           } catch
      (MalformedURLException var5) {\n81              throw new RuntimeException(\"Unexpected
      MalformedURLException occured. See nexted cause.\", var5);\n82           }\n83
      \       } else {\n84           String errMsg = \"Could not find [\" + fileName
      + \"]\";\n85           this.addInfo(errMsg);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/classic/jmx/JMXConfigurator.java
      kind: Constructor
      name: reloadByFileName
      package: ch.qos.logback.classic.jmx
  - id: 51
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/classic/jmx/JMXConfigurator.java
    line: 86
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "76        if (f.exists() && f.isFile()) {\n77           try {\n78              URL
      url = f.toURI().toURL();\n79              this.reloadByURL(url);\n80           }
      catch (MalformedURLException var5) {\n81              throw new RuntimeException(\"Unexpected
      MalformedURLException occured. See nexted cause.\", var5);\n82           }\n83
      \       } else {\n84           String errMsg = \"Could not find [\" + fileName
      + \"]\";\n85           this.addInfo(errMsg);\n86           throw new FileNotFoundException(errMsg);\n87
      \       }\n88     }\n89  \n90     void addStatusListener(StatusListener statusListener)
      {\n91        StatusManager sm = this.loggerContext.getStatusManager();\n92        sm.add(statusListener);\n93
      \    }\n94  \n95     void removeStatusListener(StatusListener statusListener)
      {\n96        StatusManager sm = this.loggerContext.getStatusManager();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/classic/jmx/JMXConfigurator.java
      kind: Constructor
      name: reloadByFileName
      package: ch.qos.logback.classic.jmx
  - id: 52
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/classic/util/ContextInitializer.java
    line: 83
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "73              result = new URL(logbackConfigFile);\n74              var7
      = result;\n75              return var7;\n76           } catch (MalformedURLException
      var12) {\n77              result = Loader.getResource(logbackConfigFile, classLoader);\n78
      \             if (result != null) {\n79                 var7 = result;\n80                 return
      var7;\n81              }\n82  \n83              File f = new File(logbackConfigFile);\n84
      \             if (!f.exists() || !f.isFile()) {\n85                 return null;\n86
      \             }\n87  \n88              try {\n89                 result = f.toURI().toURL();\n90
      \                var7 = result;\n91              } catch (MalformedURLException
      var11) {\n92                 return null;\n93              }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/classic/util/ContextInitializer.java
      kind: Constructor
      name: findConfigFileURLFromSystemProperties
      package: ch.qos.logback.classic.util
  - id: 53
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/FileAppender.java
    line: 107
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 97     }\n 98  \n 99     protected void addErrorForCollision(String
      optionName, String optionValue, String appenderName) {\n100        this.addError(\"'\"
      + optionName + \"' option has the same value \\\"\" + optionValue + \"\\\" as
      that given for appender [\" + appenderName + \"] defined earlier.\");\n101     }\n102
      \ \n103     public void openFile(String file_name) throws IOException {\n104
      \       this.lock.lock();\n105  \n106        try {\n107           File file
      = new File(file_name);\n108           boolean result = FileUtil.createMissingParentDirectories(file);\n109
      \          if (!result) {\n110              this.addError(\"Failed to create
      parent directories for [\" + file.getAbsolutePath() + \"]\");\n111           }\n112
      \ \n113           ResilientFileOutputStream resilientFos = new ResilientFileOutputStream(file,
      this.append);\n114           resilientFos.setContext(this.context);\n115           this.setOutputStream(resilientFos);\n116
      \       } finally {\n117           this.lock.unlock();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/FileAppender.java
      kind: Constructor
      name: openFile
      package: ch.qos.logback.core
  - id: 54
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/joran/GenericConfigurator.java
    line: 74
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "64           } catch (IOException var14) {\n65              errMsg
      = \"Could not close input stream\";\n66              this.addError(errMsg, var14);\n67
      \             throw new JoranException(errMsg, var14);\n68           }\n69        }\n70
      \ \n71     }\n72  \n73     public final void doConfigure(String filename) throws
      JoranException {\n74        this.doConfigure(new File(filename));\n75     }\n76
      \ \n77     public final void doConfigure(File file) throws JoranException {\n78
      \       FileInputStream fis = null;\n79        boolean var12 = false;\n80  \n81
      \       String errMsg;\n82        try {\n83           var12 = true;\n84           informContextOfURLUsedForConfiguration(this.getContext(),
      file.toURI().toURL());"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/joran/GenericConfigurator.java
      kind: Constructor
      name: doConfigure
      package: ch.qos.logback.core.joran
  - id: 55
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/joran/GenericConfigurator.java
    line: 85
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "75     }\n76  \n77     public final void doConfigure(File file) throws
      JoranException {\n78        FileInputStream fis = null;\n79        boolean var12
      = false;\n80  \n81        String errMsg;\n82        try {\n83           var12
      = true;\n84           informContextOfURLUsedForConfiguration(this.getContext(),
      file.toURI().toURL());\n85           fis = new FileInputStream(file);\n86           this.doConfigure((InputStream)fis);\n87
      \          var12 = false;\n88        } catch (IOException var15) {\n89           errMsg
      = \"Could not open [\" + file.getPath() + \"].\";\n90           this.addError(errMsg,
      var15);\n91           throw new JoranException(errMsg, var15);\n92        }
      finally {\n93           if (var12) {\n94              if (fis != null) {\n95
      \                try {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/joran/GenericConfigurator.java
      kind: Constructor
      name: doConfigure
      package: ch.qos.logback.core.joran
  - id: 56
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/joran/action/PropertyAction.java
    line: 34
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "24        String name = attributes.getValue(\"name\");\n25        String
      value = attributes.getValue(\"value\");\n26        String scopeStr = attributes.getValue(\"scope\");\n27
      \       ActionUtil.Scope scope = ActionUtil.stringToScope(scopeStr);\n28        String
      resource;\n29        if (this.checkFileAttributeSanity(attributes)) {\n30           resource
      = attributes.getValue(\"file\");\n31           resource = ec.subst(resource);\n32
      \ \n33           try {\n34              FileInputStream istream = new FileInputStream(resource);\n35
      \             this.loadAndSetProperties(ec, istream, scope);\n36           }
      catch (FileNotFoundException var12) {\n37              this.addError(\"Could
      not find properties file [\" + resource + \"].\");\n38           } catch (IOException
      var13) {\n39              this.addError(\"Could not read properties file [\"
      + resource + \"].\", var13);\n40           }\n41        } else if (this.checkResourceAttributeSanity(attributes))
      {\n42           resource = attributes.getValue(\"resource\");\n43           resource
      = ec.subst(resource);\n44           URL resourceURL = Loader.getResourceBySelfClassLoader(resource);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/joran/action/PropertyAction.java
      kind: Constructor
      name: begin
      package: ch.qos.logback.core.joran.action
  - id: 57
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/joran/spi/ConfigurationWatchList.java
    line: 75
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "65              return true;\n66           }\n67        }\n68  \n69
      \       return false;\n70     }\n71  \n72     File convertToFile(URL url) {\n73
      \       String protocol = url.getProtocol();\n74        if (\"file\".equals(protocol))
      {\n75           return new File(URLDecoder.decode(url.getFile()));\n76        }
      else {\n77           this.addInfo(\"URL [\" + url + \"] is not of type file\");\n78
      \          return null;\n79        }\n80     }\n81  }\n"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/joran/spi/ConfigurationWatchList.java
      kind: Constructor
      name: convertToFile
      package: ch.qos.logback.core.joran.spi
  - id: 58
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/property/FileExistsPropertyDefiner.java
    line: 23
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "13  \n14     public void setPath(String path) {\n15        this.path
      = path;\n16     }\n17  \n18     public String getPropertyValue() {\n19        if
      (OptionHelper.isEmpty(this.path)) {\n20           this.addError(\"The \\\"path\\\"
      property must be set.\");\n21           return null;\n22        } else {\n23
      \          File file = new File(this.path);\n24           return booleanAsStr(file.exists());\n25
      \       }\n26     }\n27  }\n"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/property/FileExistsPropertyDefiner.java
      kind: Constructor
      name: getPropertyValue
      package: ch.qos.logback.core.property
  - id: 59
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/recovery/ResilientFileOutputStream.java
    line: 17
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 7  import java.io.IOException;\n 8  import java.io.OutputStream;\n
      9  import java.nio.channels.FileChannel;\n10  \n11  public class ResilientFileOutputStream
      extends ResilientOutputStreamBase {\n12     private File file;\n13     private
      FileOutputStream fos;\n14  \n15     public ResilientFileOutputStream(File file,
      boolean append) throws FileNotFoundException {\n16        this.file = file;\n17
      \       this.fos = new FileOutputStream(file, append);\n18        this.os =
      new BufferedOutputStream(this.fos);\n19        this.presumedClean = true;\n20
      \    }\n21  \n22     public FileChannel getChannel() {\n23        return this.os
      == null ? null : this.fos.getChannel();\n24     }\n25  \n26     public File
      getFile() {\n27        return this.file;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/recovery/ResilientFileOutputStream.java
      kind: Constructor
      name: ResilientFileOutputStream
      package: ch.qos.logback.core.recovery
  - id: 60
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/recovery/ResilientFileOutputStream.java
    line: 35
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "25  \n26     public File getFile() {\n27        return this.file;\n28
      \    }\n29  \n30     String getDescription() {\n31        return \"file [\"
      + this.file + \"]\";\n32     }\n33  \n34     OutputStream openNewOutputStream()
      throws IOException {\n35        this.fos = new FileOutputStream(this.file, true);\n36
      \       return new BufferedOutputStream(this.fos);\n37     }\n38  \n39     public
      String toString() {\n40        return \"c.q.l.c.recovery.ResilientFileOutputStream@\"
      + System.identityHashCode(this);\n41     }\n42  }\n"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/recovery/ResilientFileOutputStream.java
      kind: Constructor
      name: openNewOutputStream
      package: ch.qos.logback.core.recovery
  - id: 61
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/FixedWindowRollingPolicy.java
    line: 26
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "16     int maxIndex = 7;\n17     int minIndex = 1;\n18     RenameUtil
      util = new RenameUtil();\n19     Compressor compressor;\n20     public static
      final String ZIP_ENTRY_DATE_PATTERN = \"yyyy-MM-dd_HHmm\";\n21     private static
      int MAX_WINDOW_SIZE = 20;\n22  \n23     public void start() {\n24        this.util.setContext(this.context);\n25
      \       if (this.fileNamePatternStr != null) {\n26           this.fileNamePattern
      = new FileNamePattern(this.fileNamePatternStr, this.context);\n27           this.determineCompressionMode();\n28
      \          if (this.isParentPrudent()) {\n29              this.addError(\"Prudent
      mode is not supported with FixedWindowRollingPolicy.\");\n30              this.addError(\"See
      also http://logback.qos.ch/codes.html#tbr_fnp_prudent_unsupported\");\n31              throw
      new IllegalStateException(\"Prudent mode is not supported.\");\n32           }
      else if (this.getParentsRawFileProperty() == null) {\n33              this.addError(\"The
      File name property must be set before using this rolling policy.\");\n34              this.addError(\"Please
      refer to http://logback.qos.ch/codes.html#fwrp_parentFileName_not_set\");\n35
      \             throw new IllegalStateException(\"The \\\"File\\\" option must
      be set.\");\n36           } else {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/FixedWindowRollingPolicy.java
      kind: Constructor
      name: start
      package: ch.qos.logback.core.rolling
  - id: 62
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/FixedWindowRollingPolicy.java
    line: 56
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "46                 this.maxIndex = this.minIndex + maxWindowSize;\n47
      \                this.addWarn(\"MaxIndex reduced to \" + this.maxIndex);\n48
      \             }\n49  \n50              IntegerTokenConverter itc = this.fileNamePattern.getIntegerTokenConverter();\n51
      \             if (itc == null) {\n52                 throw new IllegalStateException(\"FileNamePattern
      [\" + this.fileNamePattern.getPattern() + \"] does not contain a valid IntegerToken\");\n53
      \             } else {\n54                 if (this.compressionMode == CompressionMode.ZIP)
      {\n55                    String zipEntryFileNamePatternStr = this.transformFileNamePatternFromInt2Date(this.fileNamePatternStr);\n56
      \                   this.zipEntryFileNamePattern = new FileNamePattern(zipEntryFileNamePatternStr,
      this.context);\n57                 }\n58  \n59                 this.compressor
      = new Compressor(this.compressionMode);\n60                 this.compressor.setContext(this.context);\n61
      \                super.start();\n62              }\n63           }\n64        }
      else {\n65           this.addError(\"The \\\"FileNamePattern\\\" property must
      be set before using FixedWindowRollingPolicy. \");\n66           this.addError(\"See
      also http://logback.qos.ch/codes.html#tbr_fnp_not_set\");"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/FixedWindowRollingPolicy.java
      kind: Constructor
      name: start
      package: ch.qos.logback.core.rolling
  - id: 63
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/FixedWindowRollingPolicy.java
    line: 83
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "73     }\n74  \n75     private String transformFileNamePatternFromInt2Date(String
      fileNamePatternStr) {\n76        String slashified = FileFilterUtil.slashify(fileNamePatternStr);\n77
      \       String stemOfFileNamePattern = FileFilterUtil.afterLastSlash(slashified);\n78
      \       return stemOfFileNamePattern.replace(\"%i\", \"%d{yyyy-MM-dd_HHmm}\");\n79
      \    }\n80  \n81     public void rollover() throws RolloverFailure {\n82        if
      (this.maxIndex >= 0) {\n83           File file = new File(this.fileNamePattern.convertInt(this.maxIndex));\n84
      \          if (file.exists()) {\n85              file.delete();\n86           }\n87
      \ \n88           for(int i = this.maxIndex - 1; i >= this.minIndex; --i) {\n89
      \             String toRenameStr = this.fileNamePattern.convertInt(i);\n90              File
      toRename = new File(toRenameStr);\n91              if (toRename.exists()) {\n92
      \                this.util.rename(toRenameStr, this.fileNamePattern.convertInt(i
      + 1));\n93              } else {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/FixedWindowRollingPolicy.java
      kind: Constructor
      name: rollover
      package: ch.qos.logback.core.rolling
  - id: 64
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/FixedWindowRollingPolicy.java
    line: 90
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "80  \n81     public void rollover() throws RolloverFailure {\n82        if
      (this.maxIndex >= 0) {\n83           File file = new File(this.fileNamePattern.convertInt(this.maxIndex));\n84
      \          if (file.exists()) {\n85              file.delete();\n86           }\n87
      \ \n88           for(int i = this.maxIndex - 1; i >= this.minIndex; --i) {\n89
      \             String toRenameStr = this.fileNamePattern.convertInt(i);\n90              File
      toRename = new File(toRenameStr);\n91              if (toRename.exists()) {\n92
      \                this.util.rename(toRenameStr, this.fileNamePattern.convertInt(i
      + 1));\n93              } else {\n94                 this.addInfo(\"Skipping
      roll-over for inexistent file \" + toRenameStr);\n95              }\n96           }\n97
      \ \n98           switch (this.compressionMode) {\n99              case NONE:\n100
      \                this.util.rename(this.getActiveFileName(), this.fileNamePattern.convertInt(this.minIndex));"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/FixedWindowRollingPolicy.java
      kind: Constructor
      name: rollover
      package: ch.qos.logback.core.rolling
  - id: 65
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/RollingFileAppender.java
    line: 152
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "142           this.attemptRollover();\n143           this.attemptOpenFile();\n144
      \       } finally {\n145           this.lock.unlock();\n146        }\n147  \n148
      \    }\n149  \n150     private void attemptOpenFile() {\n151        try {\n152
      \          this.currentlyActiveFile = new File(this.rollingPolicy.getActiveFileName());\n153
      \          this.openFile(this.rollingPolicy.getActiveFileName());\n154        }
      catch (IOException var2) {\n155           this.addError(\"setFile(\" + this.fileName
      + \", false) call failed.\", var2);\n156        }\n157  \n158     }\n159  \n160
      \    private void attemptRollover() {\n161        try {\n162           this.rollingPolicy.rollover();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/RollingFileAppender.java
      kind: Constructor
      name: attemptOpenFile
      package: ch.qos.logback.core.rolling
  - id: 66
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/RollingFileAppender.java
    line: 54
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "44                    this.addWarn(\"Setting \\\"File\\\" property
      to null on account of prudent mode\");\n45                    this.setFile((String)null);\n46
      \                }\n47  \n48                 if (this.rollingPolicy.getCompressionMode()
      != CompressionMode.NONE) {\n49                    this.addError(\"Compression
      is not supported in prudent mode. Aborting\");\n50                    return;\n51
      \                }\n52              }\n53  \n54              this.currentlyActiveFile
      = new File(this.getFile());\n55              this.addInfo(\"Active log file
      name: \" + this.getFile());\n56              super.start();\n57           }\n58
      \       }\n59     }\n60  \n61     private boolean checkForFileAndPatternCollisions()
      {\n62        if (this.triggeringPolicy instanceof RollingPolicyBase) {\n63           RollingPolicyBase
      base = (RollingPolicyBase)this.triggeringPolicy;\n64           FileNamePattern
      fileNamePattern = base.fileNamePattern;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/RollingFileAppender.java
      kind: Constructor
      name: start
      package: ch.qos.logback.core.rolling
  - id: 67
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/SizeAndTimeBasedFNATP.java
    line: 61
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "51        }\n52  \n53        return !inError;\n54     }\n55  \n56     protected
      ArchiveRemover createArchiveRemover() {\n57        return new SizeAndTimeBasedArchiveRemover(this.tbrp.fileNamePattern,
      this.rc);\n58     }\n59  \n60     void computeCurrentPeriodsHighestCounterValue(String
      stemRegex) {\n61        File file = new File(this.getCurrentPeriodsFileNameWithoutCompressionSuffix());\n62
      \       File parentDir = file.getParentFile();\n63        File[] matchingFileArray
      = FileFilterUtil.filesInFolderMatchingStemRegex(parentDir, stemRegex);\n64        if
      (matchingFileArray != null && matchingFileArray.length != 0) {\n65           this.currentPeriodsCounter
      = FileFilterUtil.findHighestCounter(matchingFileArray, stemRegex);\n66           if
      (this.tbrp.getParentsRawFileProperty() != null || this.tbrp.compressionMode
      != CompressionMode.NONE) {\n67              ++this.currentPeriodsCounter;\n68
      \          }\n69  \n70        } else {\n71           this.currentPeriodsCounter
      = 0;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/SizeAndTimeBasedFNATP.java
      kind: Constructor
      name: computeCurrentPeriodsHighestCounterValue
      package: ch.qos.logback.core.rolling
  - id: 68
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/TimeBasedFileNamingAndTriggeringPolicyBase.java
    line: 47
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "37  \n38           this.addInfo(\"The date pattern is '\" + dtc.getDatePattern()
      + \"' from file name pattern '\" + this.tbrp.fileNamePattern.getPattern() +
      \"'.\");\n39           this.rc.printPeriodicity(this);\n40           if (!this.rc.isCollisionFree())
      {\n41              this.addError(\"The date format in FileNamePattern will result
      in collisions in the names of archived log files.\");\n42              this.addError(\"For
      more information, please visit \" + COLLIDING_DATE_FORMAT_URL);\n43              this.errorFree
      = false;\n44           } else {\n45              this.setDateInCurrentPeriod(new
      Date(this.getCurrentTime()));\n46              if (this.tbrp.getParentsRawFileProperty()
      != null) {\n47                 File currentFile = new File(this.tbrp.getParentsRawFileProperty());\n48
      \                if (currentFile.exists() && currentFile.canRead()) {\n49                    this.setDateInCurrentPeriod(new
      Date(currentFile.lastModified()));\n50                 }\n51              }\n52
      \ \n53              this.addInfo(\"Setting initial period to \" + this.dateInCurrentPeriod);\n54
      \             this.computeNextCheck();\n55           }\n56        }\n57     }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/TimeBasedFileNamingAndTriggeringPolicyBase.java
      kind: Constructor
      name: start
      package: ch.qos.logback.core.rolling
  - id: 69
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/TimeBasedRollingPolicy.java
    line: 32
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "22     Future cleanUpFuture;\n23     private int maxHistory = 0;\n24
      \    private FileSize totalSizeCap = new FileSize(0L);\n25     private ArchiveRemover
      archiveRemover;\n26     TimeBasedFileNamingAndTriggeringPolicy timeBasedFileNamingAndTriggeringPolicy;\n27
      \    boolean cleanHistoryOnStart = false;\n28  \n29     public void start()
      {\n30        this.renameUtil.setContext(this.context);\n31        if (this.fileNamePatternStr
      != null) {\n32           this.fileNamePattern = new FileNamePattern(this.fileNamePatternStr,
      this.context);\n33           this.determineCompressionMode();\n34           this.compressor
      = new Compressor(this.compressionMode);\n35           this.compressor.setContext(this.context);\n36
      \          this.fileNamePatternWCS = new FileNamePattern(Compressor.computeFileNameStr_WCS(this.fileNamePatternStr,
      this.compressionMode), this.context);\n37           this.addInfo(\"Will use
      the pattern \" + this.fileNamePatternWCS + \" for the active file\");\n38           if
      (this.compressionMode == CompressionMode.ZIP) {\n39              String zipEntryFileNamePatternStr
      = this.transformFileNamePattern2ZipEntry(this.fileNamePatternStr);\n40              this.zipEntryFileNamePattern
      = new FileNamePattern(zipEntryFileNamePatternStr, this.context);\n41           }\n42
      \ "
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/TimeBasedRollingPolicy.java
      kind: Constructor
      name: start
      package: ch.qos.logback.core.rolling
  - id: 70
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/TimeBasedRollingPolicy.java
    line: 36
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "26     TimeBasedFileNamingAndTriggeringPolicy timeBasedFileNamingAndTriggeringPolicy;\n27
      \    boolean cleanHistoryOnStart = false;\n28  \n29     public void start()
      {\n30        this.renameUtil.setContext(this.context);\n31        if (this.fileNamePatternStr
      != null) {\n32           this.fileNamePattern = new FileNamePattern(this.fileNamePatternStr,
      this.context);\n33           this.determineCompressionMode();\n34           this.compressor
      = new Compressor(this.compressionMode);\n35           this.compressor.setContext(this.context);\n36
      \          this.fileNamePatternWCS = new FileNamePattern(Compressor.computeFileNameStr_WCS(this.fileNamePatternStr,
      this.compressionMode), this.context);\n37           this.addInfo(\"Will use
      the pattern \" + this.fileNamePatternWCS + \" for the active file\");\n38           if
      (this.compressionMode == CompressionMode.ZIP) {\n39              String zipEntryFileNamePatternStr
      = this.transformFileNamePattern2ZipEntry(this.fileNamePatternStr);\n40              this.zipEntryFileNamePattern
      = new FileNamePattern(zipEntryFileNamePatternStr, this.context);\n41           }\n42
      \ \n43           if (this.timeBasedFileNamingAndTriggeringPolicy == null) {\n44
      \             this.timeBasedFileNamingAndTriggeringPolicy = new DefaultTimeBasedFileNamingAndTriggeringPolicy();\n45
      \          }\n46  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/TimeBasedRollingPolicy.java
      kind: Constructor
      name: start
      package: ch.qos.logback.core.rolling
  - id: 71
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/TimeBasedRollingPolicy.java
    line: 40
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "30        this.renameUtil.setContext(this.context);\n31        if (this.fileNamePatternStr
      != null) {\n32           this.fileNamePattern = new FileNamePattern(this.fileNamePatternStr,
      this.context);\n33           this.determineCompressionMode();\n34           this.compressor
      = new Compressor(this.compressionMode);\n35           this.compressor.setContext(this.context);\n36
      \          this.fileNamePatternWCS = new FileNamePattern(Compressor.computeFileNameStr_WCS(this.fileNamePatternStr,
      this.compressionMode), this.context);\n37           this.addInfo(\"Will use
      the pattern \" + this.fileNamePatternWCS + \" for the active file\");\n38           if
      (this.compressionMode == CompressionMode.ZIP) {\n39              String zipEntryFileNamePatternStr
      = this.transformFileNamePattern2ZipEntry(this.fileNamePatternStr);\n40              this.zipEntryFileNamePattern
      = new FileNamePattern(zipEntryFileNamePatternStr, this.context);\n41           }\n42
      \ \n43           if (this.timeBasedFileNamingAndTriggeringPolicy == null) {\n44
      \             this.timeBasedFileNamingAndTriggeringPolicy = new DefaultTimeBasedFileNamingAndTriggeringPolicy();\n45
      \          }\n46  \n47           this.timeBasedFileNamingAndTriggeringPolicy.setContext(this.context);\n48
      \          this.timeBasedFileNamingAndTriggeringPolicy.setTimeBasedRollingPolicy(this);\n49
      \          this.timeBasedFileNamingAndTriggeringPolicy.start();\n50           if
      (!this.timeBasedFileNamingAndTriggeringPolicy.isStarted()) {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/TimeBasedRollingPolicy.java
      kind: Constructor
      name: start
      package: ch.qos.logback.core.rolling
  - id: 72
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
    line: 113
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "103     ZipEntry computeZipEntry(File zippedFile) {\n104        return
      this.computeZipEntry(zippedFile.getName());\n105     }\n106  \n107     ZipEntry
      computeZipEntry(String filename) {\n108        String nameOfFileNestedWithinArchive
      = computeFileNameStr_WCS(filename, this.compressionMode);\n109        return
      new ZipEntry(nameOfFileNestedWithinArchive);\n110     }\n111  \n112     private
      void gzCompress(String nameOfFile2gz, String nameOfgzedFile) {\n113        File
      file2gz = new File(nameOfFile2gz);\n114        if (!file2gz.exists()) {\n115
      \          this.addStatus(new WarnStatus(\"The file to compress named [\" +
      nameOfFile2gz + \"] does not exist.\", this));\n116        } else {\n117           if
      (!nameOfgzedFile.endsWith(\".gz\")) {\n118              nameOfgzedFile = nameOfgzedFile
      + \".gz\";\n119           }\n120  \n121           File gzedFile = new File(nameOfgzedFile);\n122
      \          if (gzedFile.exists()) {\n123              this.addWarn(\"The target
      compressed file named [\" + nameOfgzedFile + \"] exist already. Aborting file
      compression.\");"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
      kind: Constructor
      name: gzCompress
      package: ch.qos.logback.core.rolling.helper
  - id: 73
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
    line: 121
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "111  \n112     private void gzCompress(String nameOfFile2gz, String
      nameOfgzedFile) {\n113        File file2gz = new File(nameOfFile2gz);\n114        if
      (!file2gz.exists()) {\n115           this.addStatus(new WarnStatus(\"The file
      to compress named [\" + nameOfFile2gz + \"] does not exist.\", this));\n116
      \       } else {\n117           if (!nameOfgzedFile.endsWith(\".gz\")) {\n118
      \             nameOfgzedFile = nameOfgzedFile + \".gz\";\n119           }\n120
      \ \n121           File gzedFile = new File(nameOfgzedFile);\n122           if
      (gzedFile.exists()) {\n123              this.addWarn(\"The target compressed
      file named [\" + nameOfgzedFile + \"] exist already. Aborting file compression.\");\n124
      \          } else {\n125              this.addInfo(\"GZ compressing [\" + file2gz
      + \"] as [\" + gzedFile + \"]\");\n126              this.createMissingTargetDirsIfNecessary(gzedFile);\n127
      \             BufferedInputStream bis = null;\n128              GZIPOutputStream
      gzos = null;\n129  \n130              try {\n131                 bis = new BufferedInputStream(new
      FileInputStream(nameOfFile2gz));"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
      kind: Constructor
      name: gzCompress
      package: ch.qos.logback.core.rolling.helper
  - id: 74
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
    line: 131
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "121           File gzedFile = new File(nameOfgzedFile);\n122           if
      (gzedFile.exists()) {\n123              this.addWarn(\"The target compressed
      file named [\" + nameOfgzedFile + \"] exist already. Aborting file compression.\");\n124
      \          } else {\n125              this.addInfo(\"GZ compressing [\" + file2gz
      + \"] as [\" + gzedFile + \"]\");\n126              this.createMissingTargetDirsIfNecessary(gzedFile);\n127
      \             BufferedInputStream bis = null;\n128              GZIPOutputStream
      gzos = null;\n129  \n130              try {\n131                 bis = new BufferedInputStream(new
      FileInputStream(nameOfFile2gz));\n132                 gzos = new GZIPOutputStream(new
      FileOutputStream(nameOfgzedFile));\n133                 byte[] inbuf = new byte[8192];\n134
      \ \n135                 int n;\n136                 while((n = bis.read(inbuf))
      != -1) {\n137                    gzos.write(inbuf, 0, n);\n138                 }\n139
      \ \n140                 bis.close();\n141                 bis = null;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
      kind: Constructor
      name: gzCompress
      package: ch.qos.logback.core.rolling.helper
  - id: 75
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
    line: 132
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "122           if (gzedFile.exists()) {\n123              this.addWarn(\"The
      target compressed file named [\" + nameOfgzedFile + \"] exist already. Aborting
      file compression.\");\n124           } else {\n125              this.addInfo(\"GZ
      compressing [\" + file2gz + \"] as [\" + gzedFile + \"]\");\n126              this.createMissingTargetDirsIfNecessary(gzedFile);\n127
      \             BufferedInputStream bis = null;\n128              GZIPOutputStream
      gzos = null;\n129  \n130              try {\n131                 bis = new BufferedInputStream(new
      FileInputStream(nameOfFile2gz));\n132                 gzos = new GZIPOutputStream(new
      FileOutputStream(nameOfgzedFile));\n133                 byte[] inbuf = new byte[8192];\n134
      \ \n135                 int n;\n136                 while((n = bis.read(inbuf))
      != -1) {\n137                    gzos.write(inbuf, 0, n);\n138                 }\n139
      \ \n140                 bis.close();\n141                 bis = null;\n142                 gzos.close();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
      kind: Constructor
      name: gzCompress
      package: ch.qos.logback.core.rolling.helper
  - id: 76
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
    line: 42
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "32           case ZIP:\n33              this.zipCompress(nameOfFile2Compress,
      nameOfCompressedFile, innerEntryName);\n34              break;\n35           case
      NONE:\n36              throw new UnsupportedOperationException(\"compress method
      called in NONE compression mode\");\n37        }\n38  \n39     }\n40  \n41     private
      void zipCompress(String nameOfFile2zip, String nameOfZippedFile, String innerEntryName)
      {\n42        File file2zip = new File(nameOfFile2zip);\n43        if (!file2zip.exists())
      {\n44           this.addStatus(new WarnStatus(\"The file to compress named [\"
      + nameOfFile2zip + \"] does not exist.\", this));\n45        } else if (innerEntryName
      == null) {\n46           this.addStatus(new WarnStatus(\"The innerEntryName
      parameter cannot be null\", this));\n47        } else {\n48           if (!nameOfZippedFile.endsWith(\".zip\"))
      {\n49              nameOfZippedFile = nameOfZippedFile + \".zip\";\n50           }\n51
      \ \n52           File zippedFile = new File(nameOfZippedFile);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
      kind: Constructor
      name: zipCompress
      package: ch.qos.logback.core.rolling.helper
  - id: 77
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
    line: 52
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "42        File file2zip = new File(nameOfFile2zip);\n43        if (!file2zip.exists())
      {\n44           this.addStatus(new WarnStatus(\"The file to compress named [\"
      + nameOfFile2zip + \"] does not exist.\", this));\n45        } else if (innerEntryName
      == null) {\n46           this.addStatus(new WarnStatus(\"The innerEntryName
      parameter cannot be null\", this));\n47        } else {\n48           if (!nameOfZippedFile.endsWith(\".zip\"))
      {\n49              nameOfZippedFile = nameOfZippedFile + \".zip\";\n50           }\n51
      \ \n52           File zippedFile = new File(nameOfZippedFile);\n53           if
      (zippedFile.exists()) {\n54              this.addStatus(new WarnStatus(\"The
      target compressed file named [\" + nameOfZippedFile + \"] exist already.\",
      this));\n55           } else {\n56              this.addInfo(\"ZIP compressing
      [\" + file2zip + \"] as [\" + zippedFile + \"]\");\n57              this.createMissingTargetDirsIfNecessary(zippedFile);\n58
      \             BufferedInputStream bis = null;\n59              ZipOutputStream
      zos = null;\n60  \n61              try {\n62                 bis = new BufferedInputStream(new
      FileInputStream(nameOfFile2zip));"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
      kind: Constructor
      name: zipCompress
      package: ch.qos.logback.core.rolling.helper
  - id: 78
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
    line: 62
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "52           File zippedFile = new File(nameOfZippedFile);\n53           if
      (zippedFile.exists()) {\n54              this.addStatus(new WarnStatus(\"The
      target compressed file named [\" + nameOfZippedFile + \"] exist already.\",
      this));\n55           } else {\n56              this.addInfo(\"ZIP compressing
      [\" + file2zip + \"] as [\" + zippedFile + \"]\");\n57              this.createMissingTargetDirsIfNecessary(zippedFile);\n58
      \             BufferedInputStream bis = null;\n59              ZipOutputStream
      zos = null;\n60  \n61              try {\n62                 bis = new BufferedInputStream(new
      FileInputStream(nameOfFile2zip));\n63                 zos = new ZipOutputStream(new
      FileOutputStream(nameOfZippedFile));\n64                 ZipEntry zipEntry =
      this.computeZipEntry(innerEntryName);\n65                 zos.putNextEntry(zipEntry);\n66
      \                byte[] inbuf = new byte[8192];\n67  \n68                 int
      n;\n69                 while((n = bis.read(inbuf)) != -1) {\n70                    zos.write(inbuf,
      0, n);\n71                 }\n72  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
      kind: Constructor
      name: zipCompress
      package: ch.qos.logback.core.rolling.helper
  - id: 79
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
    line: 63
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "53           if (zippedFile.exists()) {\n54              this.addStatus(new
      WarnStatus(\"The target compressed file named [\" + nameOfZippedFile + \"] exist
      already.\", this));\n55           } else {\n56              this.addInfo(\"ZIP
      compressing [\" + file2zip + \"] as [\" + zippedFile + \"]\");\n57              this.createMissingTargetDirsIfNecessary(zippedFile);\n58
      \             BufferedInputStream bis = null;\n59              ZipOutputStream
      zos = null;\n60  \n61              try {\n62                 bis = new BufferedInputStream(new
      FileInputStream(nameOfFile2zip));\n63                 zos = new ZipOutputStream(new
      FileOutputStream(nameOfZippedFile));\n64                 ZipEntry zipEntry =
      this.computeZipEntry(innerEntryName);\n65                 zos.putNextEntry(zipEntry);\n66
      \                byte[] inbuf = new byte[8192];\n67  \n68                 int
      n;\n69                 while((n = bis.read(inbuf)) != -1) {\n70                    zos.write(inbuf,
      0, n);\n71                 }\n72  \n73                 bis.close();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java
      kind: Constructor
      name: zipCompress
      package: ch.qos.logback.core.rolling.helper
  - id: 80
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/FileFilterUtil.java
    line: 49
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "39        } else {\n40           String[] filesInDir = dir.list();\n41
      \          return filesInDir == null || filesInDir.length == 0;\n42        }\n43
      \    }\n44  \n45     public static File[] filesInFolderMatchingStemRegex(File
      file, final String stemRegex) {\n46        if (file == null) {\n47           return
      new File[0];\n48        } else {\n49           return file.exists() && file.isDirectory()
      ? file.listFiles(new FilenameFilter() {\n50              public boolean accept(File
      dir, String name) {\n51                 return name.matches(stemRegex);\n52
      \             }\n53           }) : new File[0];\n54        }\n55     }\n56  \n57
      \    public static int findHighestCounter(File[] matchingFileArray, String stemRegex)
      {\n58        int max = Integer.MIN_VALUE;\n59        File[] arr$ = matchingFileArray;\n60
      \       int len$ = matchingFileArray.length;\n61  \n62        for(int i$ = 0;
      i$ < len$; ++i$) {\n63           File aFile = arr$[i$];"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/FileFilterUtil.java
      kind: Constructor
      name: filesInFolderMatchingStemRegex
      package: ch.qos.logback.core.rolling.helper
  - id: 81
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/RenameUtil.java
    line: 17
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 7  import ch.qos.logback.core.util.FileUtil;\n 8  import java.io.File;\n
      9  \n10  public class RenameUtil extends ContextAwareBase {\n11     static String
      RENAMING_ERROR_URL = \"http://logback.qos.ch/codes.html#renamingError\";\n12
      \ \n13     public void rename(String src, String target) throws RolloverFailure
      {\n14        if (src.equals(target)) {\n15           this.addWarn(\"Source and
      target files are the same [\" + src + \"]. Skipping.\");\n16        } else {\n17
      \          File srcFile = new File(src);\n18           if (srcFile.exists())
      {\n19              File targetFile = new File(target);\n20              this.createMissingTargetDirsIfNecessary(targetFile);\n21
      \             this.addInfo(\"Renaming file [\" + srcFile + \"] to [\" + targetFile
      + \"]\");\n22              boolean result = srcFile.renameTo(targetFile);\n23
      \             if (!result) {\n24                 this.addWarn(\"Failed to rename
      file [\" + srcFile + \"] as [\" + targetFile + \"].\");\n25                 Boolean
      areOnDifferentVolumes = this.areOnDifferentVolumes(srcFile, targetFile);\n26
      \                if (Boolean.TRUE.equals(areOnDifferentVolumes)) {\n27                    this.addWarn(\"Detected
      different file systems for source [\" + src + \"] and target [\" + target +
      \"]. Attempting rename by copying.\");"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/RenameUtil.java
      kind: Constructor
      name: rename
      package: ch.qos.logback.core.rolling.helper
  - id: 82
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/RenameUtil.java
    line: 19
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 9  \n10  public class RenameUtil extends ContextAwareBase {\n11     static
      String RENAMING_ERROR_URL = \"http://logback.qos.ch/codes.html#renamingError\";\n12
      \ \n13     public void rename(String src, String target) throws RolloverFailure
      {\n14        if (src.equals(target)) {\n15           this.addWarn(\"Source and
      target files are the same [\" + src + \"]. Skipping.\");\n16        } else {\n17
      \          File srcFile = new File(src);\n18           if (srcFile.exists())
      {\n19              File targetFile = new File(target);\n20              this.createMissingTargetDirsIfNecessary(targetFile);\n21
      \             this.addInfo(\"Renaming file [\" + srcFile + \"] to [\" + targetFile
      + \"]\");\n22              boolean result = srcFile.renameTo(targetFile);\n23
      \             if (!result) {\n24                 this.addWarn(\"Failed to rename
      file [\" + srcFile + \"] as [\" + targetFile + \"].\");\n25                 Boolean
      areOnDifferentVolumes = this.areOnDifferentVolumes(srcFile, targetFile);\n26
      \                if (Boolean.TRUE.equals(areOnDifferentVolumes)) {\n27                    this.addWarn(\"Detected
      different file systems for source [\" + src + \"] and target [\" + target +
      \"]. Attempting rename by copying.\");\n28                    this.renameByCopying(src,
      target);\n29                    return;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/RenameUtil.java
      kind: Constructor
      name: rename
      package: ch.qos.logback.core.rolling.helper
  - id: 83
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/RenameUtil.java
    line: 66
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "56                 return !onSameFileStore;\n57              } catch
      (RolloverFailure var5) {\n58                 this.addWarn(\"Error while checking
      file store equality\", var5);\n59                 return null;\n60              }\n61
      \          }\n62        }\n63     }\n64  \n65     public void renameByCopying(String
      src, String target) throws RolloverFailure {\n66        FileUtil fileUtil =
      new FileUtil(this.getContext());\n67        fileUtil.copy(src, target);\n68
      \       File srcFile = new File(src);\n69        if (!srcFile.delete()) {\n70
      \          this.addWarn(\"Could not delete \" + src);\n71        }\n72  \n73
      \    }\n74  \n75     void createMissingTargetDirsIfNecessary(File toFile) throws
      RolloverFailure {\n76        boolean result = FileUtil.createMissingParentDirectories(toFile);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/RenameUtil.java
      kind: Constructor
      name: renameByCopying
      package: ch.qos.logback.core.rolling.helper
  - id: 84
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/RenameUtil.java
    line: 68
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "58                 this.addWarn(\"Error while checking file store equality\",
      var5);\n59                 return null;\n60              }\n61           }\n62
      \       }\n63     }\n64  \n65     public void renameByCopying(String src, String
      target) throws RolloverFailure {\n66        FileUtil fileUtil = new FileUtil(this.getContext());\n67
      \       fileUtil.copy(src, target);\n68        File srcFile = new File(src);\n69
      \       if (!srcFile.delete()) {\n70           this.addWarn(\"Could not delete
      \" + src);\n71        }\n72  \n73     }\n74  \n75     void createMissingTargetDirsIfNecessary(File
      toFile) throws RolloverFailure {\n76        boolean result = FileUtil.createMissingParentDirectories(toFile);\n77
      \       if (!result) {\n78           throw new RolloverFailure(\"Failed to create
      parent directories for [\" + toFile.getAbsolutePath() + \"]\");"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/RenameUtil.java
      kind: Constructor
      name: renameByCopying
      package: ch.qos.logback.core.rolling.helper
  - id: 85
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/SizeAndTimeBasedArchiveRemover.java
    line: 12
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 2  \n 3  import java.io.File;\n 4  import java.util.Date;\n 5  \n
      6  public class SizeAndTimeBasedArchiveRemover extends TimeBasedArchiveRemover
      {\n 7     public SizeAndTimeBasedArchiveRemover(FileNamePattern fileNamePattern,
      RollingCalendar rc) {\n 8        super(fileNamePattern, rc);\n 9     }\n10  \n11
      \    protected File[] getFilesInPeriod(Date dateOfPeriodToClean) {\n12        File
      archive0 = new File(this.fileNamePattern.convertMultipleArguments(dateOfPeriodToClean,
      0));\n13        File parentDir = this.getParentDir(archive0);\n14        String
      stemRegex = this.createStemRegex(dateOfPeriodToClean);\n15        File[] matchingFileArray
      = FileFilterUtil.filesInFolderMatchingStemRegex(parentDir, stemRegex);\n16        return
      matchingFileArray;\n17     }\n18  \n19     private String createStemRegex(Date
      dateOfPeriodToClean) {\n20        String regex = this.fileNamePattern.toRegexForFixedDate(dateOfPeriodToClean);\n21
      \       return FileFilterUtil.afterLastSlash(regex);\n22     }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/SizeAndTimeBasedArchiveRemover.java
      kind: Constructor
      name: getFilesInPeriod
      package: ch.qos.logback.core.rolling.helper
  - id: 86
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/TimeBasedArchiveRemover.java
    line: 92
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 82           File[] matchingFileArray = this.getFilesInPeriod(date);\n
      83           this.descendingSortByLastModified(matchingFileArray);\n 84           File[]
      arr$ = matchingFileArray;\n 85           int len$ = matchingFileArray.length;\n
      86  \n 87           for(int i$ = 0; i$ < len$; ++i$) {\n 88              File
      f = arr$[i$];\n 89              long size = f.length();\n 90              if
      ((long)totalSize + size > this.totalSizeCap) {\n 91                 if (offset
      >= 2) {\n 92                    this.addInfo(\"Deleting [\" + f + \"]\" + \"
      of size \" + new FileSize(size));\n 93                    totalRemoved = (int)((long)totalRemoved
      + size);\n 94                    f.delete();\n 95                 } else {\n
      96                    this.addWarn(\"Skipping [\" + f + \"]\" + \" of size \"
      + new FileSize(size) + \" as it is one of the two newest log achives.\");\n
      97                 }\n 98              }\n 99  \n100              totalSize
      = (int)((long)totalSize + size);\n101           }\n102        }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/TimeBasedArchiveRemover.java
      kind: Constructor
      name: capTotalSize
      package: ch.qos.logback.core.rolling.helper
  - id: 87
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/TimeBasedArchiveRemover.java
    line: 96
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 86  \n 87           for(int i$ = 0; i$ < len$; ++i$) {\n 88              File
      f = arr$[i$];\n 89              long size = f.length();\n 90              if
      ((long)totalSize + size > this.totalSizeCap) {\n 91                 if (offset
      >= 2) {\n 92                    this.addInfo(\"Deleting [\" + f + \"]\" + \"
      of size \" + new FileSize(size));\n 93                    totalRemoved = (int)((long)totalRemoved
      + size);\n 94                    f.delete();\n 95                 } else {\n
      96                    this.addWarn(\"Skipping [\" + f + \"]\" + \" of size \"
      + new FileSize(size) + \" as it is one of the two newest log achives.\");\n
      97                 }\n 98              }\n 99  \n100              totalSize
      = (int)((long)totalSize + size);\n101           }\n102        }\n103  \n104
      \       this.addInfo(\"Removed  \" + new FileSize((long)totalRemoved) + \" of
      files\");\n105     }\n106  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/TimeBasedArchiveRemover.java
      kind: Constructor
      name: capTotalSize
      package: ch.qos.logback.core.rolling.helper
  - id: 88
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/TimeBasedArchiveRemover.java
    line: 104
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 94                    f.delete();\n 95                 } else {\n
      96                    this.addWarn(\"Skipping [\" + f + \"]\" + \" of size \"
      + new FileSize(size) + \" as it is one of the two newest log achives.\");\n
      97                 }\n 98              }\n 99  \n100              totalSize
      = (int)((long)totalSize + size);\n101           }\n102        }\n103  \n104
      \       this.addInfo(\"Removed  \" + new FileSize((long)totalRemoved) + \" of
      files\");\n105     }\n106  \n107     private void descendingSortByLastModified(File[]
      matchingFileArray) {\n108        Arrays.sort(matchingFileArray, new Comparator()
      {\n109           public int compare(File f1, File f2) {\n110              long
      l1 = f1.lastModified();\n111              long l2 = f2.lastModified();\n112
      \             if (l1 == l2) {\n113                 return 0;\n114              }
      else {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/TimeBasedArchiveRemover.java
      kind: Constructor
      name: capTotalSize
      package: ch.qos.logback.core.rolling.helper
  - id: 89
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/TimeBasedArchiveRemover.java
    line: 50
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "40        for(int i = 0; i < periodsElapsed; ++i) {\n41           int
      offset = this.getPeriodOffsetForDeletionTarget() - i;\n42           Date dateOfPeriodToClean
      = this.rc.getEndOfNextNthPeriod(now, offset);\n43           this.cleanPeriod(dateOfPeriodToClean);\n44
      \       }\n45  \n46     }\n47  \n48     protected File[] getFilesInPeriod(Date
      dateOfPeriodToClean) {\n49        String filenameToDelete = this.fileNamePattern.convert(dateOfPeriodToClean);\n50
      \       File file2Delete = new File(filenameToDelete);\n51        return this.fileExistsAndIsFile(file2Delete)
      ? new File[]{file2Delete} : new File[0];\n52     }\n53  \n54     private boolean
      fileExistsAndIsFile(File file2Delete) {\n55        return file2Delete.exists()
      && file2Delete.isFile();\n56     }\n57  \n58     public void cleanPeriod(Date
      dateOfPeriodToClean) {\n59        File[] matchingFileArray = this.getFilesInPeriod(dateOfPeriodToClean);\n60
      \       File[] arr$ = matchingFileArray;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/helper/TimeBasedArchiveRemover.java
      kind: Constructor
      name: getFilesInPeriod
      package: ch.qos.logback.core.rolling.helper
  - id: 90
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/status/ViewStatusMessagesServletBase.java
    line: 154
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "144        if (s.getThrowable() != null) {\n145           this.printThrowable(buf,
      s.getThrowable());\n146        }\n147  \n148     }\n149  \n150     private void
      printThrowable(StringBuilder buf, Throwable t) {\n151        buf.append(\"  <tr>\\r\\n\");\n152
      \       buf.append(\"    <td colspan=\\\"4\\\" class=\\\"exception\\\"><pre>\");\n153
      \       StringWriter sw = new StringWriter();\n154        PrintWriter pw = new
      PrintWriter(sw);\n155        t.printStackTrace(pw);\n156        buf.append(Transform.escapeTags(sw.getBuffer()));\n157
      \       buf.append(\"    </pre></td>\\r\\n\");\n158        buf.append(\"  </tr>\\r\\n\");\n159
      \    }\n160  }\n"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/status/ViewStatusMessagesServletBase.java
      kind: Constructor
      name: printThrowable
      package: ch.qos.logback.core.status
  - id: 91
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/util/FileUtil.java
    line: 86
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "76  \n77           return null;\n78        }\n79     }\n80  \n81     public
      void copy(String src, String destination) throws RolloverFailure {\n82        BufferedInputStream
      bis = null;\n83        BufferedOutputStream bos = null;\n84  \n85        try
      {\n86           bis = new BufferedInputStream(new FileInputStream(src));\n87
      \          bos = new BufferedOutputStream(new FileOutputStream(destination));\n88
      \          byte[] inbuf = new byte['耀'];\n89  \n90           int n;\n91           while((n
      = bis.read(inbuf)) != -1) {\n92              bos.write(inbuf, 0, n);\n93           }\n94
      \ \n95           bis.close();\n96           bis = null;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/util/FileUtil.java
      kind: Constructor
      name: copy
      package: ch.qos.logback.core.util
  - id: 92
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/util/FileUtil.java
    line: 87
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "77           return null;\n78        }\n79     }\n80  \n81     public
      void copy(String src, String destination) throws RolloverFailure {\n82        BufferedInputStream
      bis = null;\n83        BufferedOutputStream bos = null;\n84  \n85        try
      {\n86           bis = new BufferedInputStream(new FileInputStream(src));\n87
      \          bos = new BufferedOutputStream(new FileOutputStream(destination));\n88
      \          byte[] inbuf = new byte['耀'];\n89  \n90           int n;\n91           while((n
      = bis.read(inbuf)) != -1) {\n92              bos.write(inbuf, 0, n);\n93           }\n94
      \ \n95           bis.close();\n96           bis = null;\n97           bos.close();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/util/FileUtil.java
      kind: Constructor
      name: copy
      package: ch.qos.logback.core.util
  - id: 93
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/util/LocationUtil.java
    line: 34
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "24              if (path.length() == 0) {\n25                 throw
      new MalformedURLException(\"path is required\");\n26              }\n27  \n28
      \             url = Loader.getResourceBySelfClassLoader(path);\n29           }
      else {\n30              url = new URL(location);\n31           }\n32  \n33           if
      (url == null) {\n34              throw new FileNotFoundException(location);\n35
      \          } else {\n36              return url;\n37           }\n38        }\n39
      \    }\n40  }\n"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/util/LocationUtil.java
      kind: Constructor
      name: urlForResource
      package: ch.qos.logback.core.util
  - id: 94
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/core/JsonFactory.java
    line: 345
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "335        this._objectCodec = oc;\n336        return this;\n337     }\n338
      \ \n339     public ObjectCodec getCodec() {\n340        return this._objectCodec;\n341
      \    }\n342  \n343     public JsonParser createParser(File f) throws IOException,
      JsonParseException {\n344        IOContext ctxt = this._createContext(f, true);\n345
      \       InputStream in = new FileInputStream(f);\n346        return this._createParser(this._decorate((InputStream)in,
      ctxt), ctxt);\n347     }\n348  \n349     public JsonParser createParser(URL
      url) throws IOException, JsonParseException {\n350        IOContext ctxt = this._createContext(url,
      true);\n351        InputStream in = this._optimizedStreamFromURL(url);\n352
      \       return this._createParser(this._decorate(in, ctxt), ctxt);\n353     }\n354
      \ \n355     public JsonParser createParser(InputStream in) throws IOException,
      JsonParseException {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/core/JsonFactory.java
      kind: Constructor
      name: createParser
      package: com.fasterxml.jackson.core
  - id: 95
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/core/JsonFactory.java
    line: 442
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "432     public JsonGenerator createGenerator(OutputStream out) throws
      IOException {\n433        return this.createGenerator(out, JsonEncoding.UTF8);\n434
      \    }\n435  \n436     public JsonGenerator createGenerator(Writer w) throws
      IOException {\n437        IOContext ctxt = this._createContext(w, false);\n438
      \       return this._createGenerator(this._decorate(w, ctxt), ctxt);\n439     }\n440
      \ \n441     public JsonGenerator createGenerator(File f, JsonEncoding enc) throws
      IOException {\n442        OutputStream out = new FileOutputStream(f);\n443        IOContext
      ctxt = this._createContext(out, true);\n444        ctxt.setEncoding(enc);\n445
      \       if (enc == JsonEncoding.UTF8) {\n446           return this._createUTF8Generator(this._decorate((OutputStream)out,
      ctxt), ctxt);\n447        } else {\n448           Writer w = this._createWriter(out,
      enc, ctxt);\n449           return this._createGenerator(this._decorate(w, ctxt),
      ctxt);\n450        }\n451     }\n452  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/core/JsonFactory.java
      kind: Constructor
      name: createGenerator
      package: com.fasterxml.jackson.core
  - id: 96
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/core/TokenStreamFactory.java
    line: 89
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "79     protected OutputStream _createDataOutputWrapper(DataOutput out)
      {\n80        return new DataOutputAsStream(out);\n81     }\n82  \n83     protected
      InputStream _optimizedStreamFromURL(URL url) throws IOException {\n84        if
      (\"file\".equals(url.getProtocol())) {\n85           String host = url.getHost();\n86
      \          if (host == null || host.length() == 0) {\n87              String
      path = url.getPath();\n88              if (path.indexOf(37) < 0) {\n89                 return
      new FileInputStream(url.getPath());\n90              }\n91           }\n92        }\n93
      \ \n94        return url.openStream();\n95     }\n96  }\n"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/core/TokenStreamFactory.java
      kind: Constructor
      name: _optimizedStreamFromURL
      package: com.fasterxml.jackson.core
  - id: 97
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ObjectReader.java
    line: 1063
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "1053  \n1054     protected DefaultDeserializationContext createDummyDeserializationContext()
      {\n1055        return this._context.createDummyInstance(this._config);\n1056
      \    }\n1057  \n1058     protected InputStream _inputStream(URL src) throws
      IOException {\n1059        return src.openStream();\n1060     }\n1061  \n1062
      \    protected InputStream _inputStream(File f) throws IOException {\n1063        return
      new FileInputStream(f);\n1064     }\n1065  \n1066     protected void _reportUndetectableSource(Object
      src) throws JsonParseException {\n1067        throw new JsonParseException((JsonParser)null,
      \"Cannot use source of type \" + src.getClass().getName() + \" with format auto-detection:
      must be byte- not char-based\");\n1068     }\n1069  \n1070     protected JsonDeserializer
      _findRootDeserializer(DeserializationContext ctxt) throws JsonMappingException
      {\n1071        if (this._rootDeserializer != null) {\n1072           return
      this._rootDeserializer;\n1073        } else {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ObjectReader.java
      kind: Constructor
      name: _inputStream
      package: com.fasterxml.jackson.databind
  - id: 98
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/deser/std/FromStringDeserializer.java
    line: 207
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "197  \n198        protected Std(Class valueType, int kind) {\n199           super(valueType);\n200
      \          this._kind = kind;\n201        }\n202  \n203        protected Object
      _deserialize(String value, DeserializationContext ctxt) throws IOException {\n204
      \          int ix;\n205           switch (this._kind) {\n206              case
      1:\n207                 return new File(value);\n208              case 2:\n209
      \                return new URL(value);\n210              case 3:\n211                 return
      URI.create(value);\n212              case 4:\n213                 try {\n214
      \                   return ctxt.findClass(value);\n215                 } catch
      (Exception var6) {\n216                    return ctxt.handleInstantiationProblem(this._valueClass,
      value, ClassUtil.getRootCause(var6));\n217                 }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/deser/std/FromStringDeserializer.java
      kind: Constructor
      name: _deserialize
      package: com.fasterxml.jackson.databind.deser.std
  - id: 99
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/com/sun/xml/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java
    line: 224
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "214           public String print(Date v) {\n215              XMLSerializer
      xs = XMLSerializer.getInstance();\n216              QName type = xs.getSchemaType();\n217
      \             GregorianCalendar cal = new GregorianCalendar(0, 0, 0);\n218              cal.setTime(v);\n219
      \             return type != null && \"http://www.w3.org/2001/XMLSchema\".equals(type.getNamespaceURI())
      && \"date\".equals(type.getLocalPart()) ? DatatypeConverterImpl._printDate(cal)
      : DatatypeConverterImpl._printDateTime(cal);\n220           }\n221        });\n222
      \       secondaryList.add(new StringImpl(File.class, new QName[]{createXS(\"string\")})
      {\n223           public File parse(CharSequence text) {\n224              return
      new File(WhiteSpaceProcessor.trim(text).toString());\n225           }\n226  \n227
      \          public String print(File v) {\n228              return v.getPath();\n229
      \          }\n230        });\n231        secondaryList.add(new StringImpl(URL.class,
      new QName[]{createXS(\"anyURI\")}) {\n232           public URL parse(CharSequence
      text) throws SAXException {\n233              TODO.checkSpec(\"JSR222 Issue
      #42\");\n234  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java
      kind: Constructor
      name: parse
      package: com.sun.xml.bind.v2.model.impl
  - id: 100
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/com/sun/xml/bind/v2/runtime/MarshallerImpl.java
    line: 146
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "136  \n137              if (sr.getSystemId() != null) {\n138                 String
      fileURL = sr.getSystemId();\n139  \n140                 try {\n141                    fileURL
      = (new URI(fileURL)).getPath();\n142                 } catch (URISyntaxException
      var6) {\n143                 }\n144  \n145                 try {\n146                    FileOutputStream
      fos = new FileOutputStream(fileURL);\n147  \n148                    assert this.toBeClosed
      == null;\n149  \n150                    this.toBeClosed = fos;\n151                    return
      this.createWriter((OutputStream)fos);\n152                 } catch (IOException
      var5) {\n153                    throw new MarshalException(var5);\n154                 }\n155
      \             }\n156           }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/bind/v2/runtime/MarshallerImpl.java
      kind: Constructor
      name: createXmlOutput
      package: com.sun.xml.bind.v2.runtime
  - id: 101
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/sax/SystemIdResolver.java
    line: 65
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "55           }\n56  \n57           return colonIndex > 0 && colonIndex
      < index;\n58        }\n59     }\n60  \n61     public static boolean isAbsolutePath(String
      systemId) {\n62        if (systemId == null) {\n63           return false;\n64
      \       } else {\n65           File file = new File(systemId);\n66           return
      file.isAbsolute();\n67        }\n68     }\n69  \n70     private static boolean
      isWindowsAbsolutePath(String systemId) {\n71        if (!isAbsolutePath(systemId))
      {\n72           return false;\n73        } else {\n74           return systemId.length()
      > 2 && systemId.charAt(1) == ':' && Character.isLetter(systemId.charAt(0)) &&
      (systemId.charAt(2) == '\\\\' || systemId.charAt(2) == '/');\n75        }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/sax/SystemIdResolver.java
      kind: Constructor
      name: isAbsolutePath
      package: com.sun.xml.fastinfoset.sax
  - id: 102
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/stax/factory/StAXOutputFactory.java
    line: 56
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "46           if (streamResult.getWriter() != null) {\n47              return
      this.createXMLStreamWriter(streamResult.getWriter());\n48           } else if
      (streamResult.getOutputStream() != null) {\n49              return this.createXMLStreamWriter(streamResult.getOutputStream());\n50
      \          } else if (streamResult.getSystemId() != null) {\n51              FileWriter
      writer = null;\n52              boolean isError = true;\n53  \n54              XMLStreamWriter
      var6;\n55              try {\n56                 writer = new FileWriter(new
      File(streamResult.getSystemId()));\n57                 streamWriter = this.createXMLStreamWriter((Writer)writer);\n58
      \                isError = false;\n59                 var6 = streamWriter;\n60
      \             } catch (IOException var29) {\n61                 throw new XMLStreamException(var29);\n62
      \             } finally {\n63                 if (isError && writer != null)
      {\n64                    try {\n65                       writer.close();\n66
      \                   } catch (IOException var27) {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/stax/factory/StAXOutputFactory.java
      kind: Constructor
      name: createXMLStreamWriter
      package: com.sun.xml.fastinfoset.stax.factory
  - id: 103
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/stax/factory/StAXOutputFactory.java
    line: 81
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "71  \n72              return var6;\n73           } else {\n74              throw
      new UnsupportedOperationException();\n75           }\n76        } else {\n77
      \          FileWriter writer = null;\n78           boolean isError = true;\n79
      \ \n80           try {\n81              writer = new FileWriter(new File(result.getSystemId()));\n82
      \             XMLStreamWriter streamWriter = this.createXMLStreamWriter((Writer)writer);\n83
      \             isError = false;\n84              streamWriter = streamWriter;\n85
      \          } catch (IOException var30) {\n86              throw new XMLStreamException(var30);\n87
      \          } finally {\n88              if (isError && writer != null) {\n89
      \                try {\n90                    writer.close();\n91                 }
      catch (IOException var28) {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/stax/factory/StAXOutputFactory.java
      kind: Constructor
      name: createXMLStreamWriter
      package: com.sun.xml.fastinfoset.stax.factory
  - id: 104
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/tools/PrintTable.java
    line: 81
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "71  \n72     }\n73  \n74     public static void main(String[] args)
      {\n75        try {\n76           SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();\n77
      \          saxParserFactory.setNamespaceAware(true);\n78           SAXParser
      saxParser = saxParserFactory.newSAXParser();\n79           ParserVocabulary
      referencedVocabulary = new ParserVocabulary();\n80           VocabularyGenerator
      vocabularyGenerator = new VocabularyGenerator(referencedVocabulary);\n81           File
      f = new File(args[0]);\n82           saxParser.parse(f, vocabularyGenerator);\n83
      \          printVocabulary(referencedVocabulary);\n84        } catch (Exception
      var6) {\n85           var6.printStackTrace();\n86        }\n87  \n88     }\n89
      \ }\n"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/tools/PrintTable.java
      kind: Constructor
      name: main
      package: com.sun.xml.fastinfoset.tools
  - id: 105
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/tools/TransformInputOutput.java
    line: 28
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "18  public abstract class TransformInputOutput {\n19     private static
      URI currentJavaWorkingDirectory = (new File(System.getProperty(\"user.dir\"))).toURI();\n20
      \ \n21     public void parse(String[] args) throws Exception {\n22        InputStream
      in = null;\n23        OutputStream out = null;\n24        if (args.length ==
      0) {\n25           in = new BufferedInputStream(System.in);\n26           out
      = new BufferedOutputStream(System.out);\n27        } else if (args.length ==
      1) {\n28           in = new BufferedInputStream(new FileInputStream(args[0]));\n29
      \          out = new BufferedOutputStream(System.out);\n30        } else {\n31
      \          if (args.length != 2) {\n32              throw new IllegalArgumentException(CommonResourceBundle.getInstance().getString(\"message.optinalFileNotSpecified\"));\n33
      \          }\n34  \n35           in = new BufferedInputStream(new FileInputStream(args[0]));\n36
      \          out = new BufferedOutputStream(new FileOutputStream(args[1]));\n37
      \       }\n38  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/tools/TransformInputOutput.java
      kind: Constructor
      name: parse
      package: com.sun.xml.fastinfoset.tools
  - id: 106
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/tools/TransformInputOutput.java
    line: 35
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "25           in = new BufferedInputStream(System.in);\n26           out
      = new BufferedOutputStream(System.out);\n27        } else if (args.length ==
      1) {\n28           in = new BufferedInputStream(new FileInputStream(args[0]));\n29
      \          out = new BufferedOutputStream(System.out);\n30        } else {\n31
      \          if (args.length != 2) {\n32              throw new IllegalArgumentException(CommonResourceBundle.getInstance().getString(\"message.optinalFileNotSpecified\"));\n33
      \          }\n34  \n35           in = new BufferedInputStream(new FileInputStream(args[0]));\n36
      \          out = new BufferedOutputStream(new FileOutputStream(args[1]));\n37
      \       }\n38  \n39        this.parse(in, out);\n40     }\n41  \n42     public
      abstract void parse(InputStream var1, OutputStream var2) throws Exception;\n43
      \ \n44     public void parse(InputStream in, OutputStream out, String workingDirectory)
      throws Exception {\n45        throw new UnsupportedOperationException();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/tools/TransformInputOutput.java
      kind: Constructor
      name: parse
      package: com.sun.xml.fastinfoset.tools
  - id: 107
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/tools/TransformInputOutput.java
    line: 36
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "26           out = new BufferedOutputStream(System.out);\n27        }
      else if (args.length == 1) {\n28           in = new BufferedInputStream(new
      FileInputStream(args[0]));\n29           out = new BufferedOutputStream(System.out);\n30
      \       } else {\n31           if (args.length != 2) {\n32              throw
      new IllegalArgumentException(CommonResourceBundle.getInstance().getString(\"message.optinalFileNotSpecified\"));\n33
      \          }\n34  \n35           in = new BufferedInputStream(new FileInputStream(args[0]));\n36
      \          out = new BufferedOutputStream(new FileOutputStream(args[1]));\n37
      \       }\n38  \n39        this.parse(in, out);\n40     }\n41  \n42     public
      abstract void parse(InputStream var1, OutputStream var2) throws Exception;\n43
      \ \n44     public void parse(InputStream in, OutputStream out, String workingDirectory)
      throws Exception {\n45        throw new UnsupportedOperationException();\n46
      \    }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/tools/TransformInputOutput.java
      kind: Constructor
      name: parse
      package: com.sun.xml.fastinfoset.tools
  - id: 108
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/com/sun/xml/txw2/output/StreamSerializer.java
    line: 44
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "34           this.writer = createWriter(streamResult.getOutputStream());\n35
      \       } else {\n36           if (streamResult.getSystemId() == null) {\n37
      \             throw new IllegalArgumentException();\n38           }\n39  \n40
      \          String fileURL = streamResult.getSystemId();\n41           fileURL
      = this.convertURL(fileURL);\n42  \n43           try {\n44              FileOutputStream
      fos = new FileOutputStream(fileURL);\n45              autoClose[0] = fos;\n46
      \             this.writer = createWriter((OutputStream)fos);\n47           }
      catch (IOException var5) {\n48              throw new TxwException(var5);\n49
      \          }\n50        }\n51  \n52        this.serializer = new SaxSerializer(this.writer,
      this.writer, false) {\n53           public void endDocument() {\n54              super.endDocument();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/txw2/output/StreamSerializer.java
      kind: Constructor
      name: StreamSerializer
      package: com.sun.xml.txw2.output
  - id: 109
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/io/konveyor/demo/config/ApplicationConfiguration.java
    line: 14
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 4  import java.io.InputStream;\n 5  import java.util.Properties;\n
      6  \n 7  public class ApplicationConfiguration {\n 8     private Properties
      config = this.loadProperties();\n 9  \n10     private Properties loadProperties()
      {\n11        Properties properties = new Properties();\n12  \n13        try
      {\n14           InputStream inputStream = new FileInputStream(\"/opt/config/configuration.properties\");\n15
      \ \n16           try {\n17              properties.load(inputStream);\n18           }
      catch (Throwable var6) {\n19              try {\n20                 inputStream.close();\n21
      \             } catch (Throwable var5) {\n22                 var6.addSuppressed(var5);\n23
      \             }\n24  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/io/konveyor/demo/config/ApplicationConfiguration.java
      kind: Constructor
      name: loadProperties
      package: io.konveyor.demo.config
  - id: 110
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javassist/CtClass.java
    line: 559
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "549     static class DelayedFileOutputStream extends OutputStream {\n550
      \       private FileOutputStream file = null;\n551        private String filename;\n552
      \ \n553        DelayedFileOutputStream(String name) {\n554           this.filename
      = name;\n555        }\n556  \n557        private void init() throws IOException
      {\n558           if (this.file == null) {\n559              this.file = new
      FileOutputStream(this.filename);\n560           }\n561  \n562        }\n563
      \ \n564        public void write(int b) throws IOException {\n565           this.init();\n566
      \          this.file.write(b);\n567        }\n568  \n569        public void
      write(byte[] b) throws IOException {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/CtClass.java
      kind: Constructor
      name: init
      package: javassist
  - id: 111
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javassist/DirClassPath.java
    line: 22
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "12     String directory;\n13  \n14     DirClassPath(String dirName)
      {\n15        this.directory = dirName;\n16     }\n17  \n18     public InputStream
      openClassfile(String classname) {\n19        try {\n20           char sep =
      File.separatorChar;\n21           String filename = this.directory + sep + classname.replace('.',
      sep) + \".class\";\n22           return new FileInputStream(filename.toString());\n23
      \       } catch (FileNotFoundException var4) {\n24        } catch (SecurityException
      var5) {\n25        }\n26  \n27        return null;\n28     }\n29  \n30     public
      URL find(String classname) {\n31        char sep = File.separatorChar;\n32        String
      filename = this.directory + sep + classname.replace('.', sep) + \".class\";"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/DirClassPath.java
      kind: Constructor
      name: openClassfile
      package: javassist
  - id: 112
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javassist/DirClassPath.java
    line: 33
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "23        } catch (FileNotFoundException var4) {\n24        } catch
      (SecurityException var5) {\n25        }\n26  \n27        return null;\n28     }\n29
      \ \n30     public URL find(String classname) {\n31        char sep = File.separatorChar;\n32
      \       String filename = this.directory + sep + classname.replace('.', sep)
      + \".class\";\n33        File f = new File(filename);\n34        if (f.exists())
      {\n35           try {\n36              return f.getCanonicalFile().toURI().toURL();\n37
      \          } catch (MalformedURLException var6) {\n38           } catch (IOException
      var7) {\n39           }\n40        }\n41  \n42        return null;\n43     }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/DirClassPath.java
      kind: Constructor
      name: find
      package: javassist
  - id: 113
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javassist/JarDirClassPath.java
    line: 12
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 2  \n 3  import java.io.File;\n 4  import java.io.FilenameFilter;\n
      5  import java.io.InputStream;\n 6  import java.net.URL;\n 7  \n 8  final class
      JarDirClassPath implements ClassPath {\n 9     JarClassPath[] jars;\n10  \n11
      \    JarDirClassPath(String dirName) throws NotFoundException {\n12        File[]
      files = (new File(dirName)).listFiles(new FilenameFilter() {\n13           public
      boolean accept(File dir, String name) {\n14              name = name.toLowerCase();\n15
      \             return name.endsWith(\".jar\") || name.endsWith(\".zip\");\n16
      \          }\n17        });\n18        if (files != null) {\n19           this.jars
      = new JarClassPath[files.length];\n20  \n21           for(int i = 0; i < files.length;
      ++i) {\n22              this.jars[i] = new JarClassPath(files[i].getPath());\n23
      \          }\n24        }\n25  \n26     }\n27  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/JarDirClassPath.java
      kind: Constructor
      name: JarDirClassPath
      package: javassist
  - id: 114
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javassist/bytecode/ClassFilePrinter.java
    line: 10
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 1  package javassist.bytecode;\n 2  \n 3  import java.io.PrintWriter;\n
      4  import java.util.Iterator;\n 5  import java.util.List;\n 6  import javassist.Modifier;\n
      7  \n 8  public class ClassFilePrinter {\n 9     public static void print(ClassFile
      cf) {\n10        print(cf, new PrintWriter(System.out, true));\n11     }\n12
      \ \n13     public static void print(ClassFile cf, PrintWriter out) {\n14        int
      mod = AccessFlag.toModifier(cf.getAccessFlags() & -33);\n15        out.println(\"major:
      \" + cf.major + \", minor: \" + cf.minor + \" modifiers: \" + Integer.toHexString(cf.getAccessFlags()));\n16
      \       out.println(Modifier.toString(mod) + \" class \" + cf.getName() + \"
      extends \" + cf.getSuperclass());\n17        String[] infs = cf.getInterfaces();\n18
      \       if (infs != null && infs.length > 0) {\n19           out.print(\"    implements
      \");\n20           out.print(infs[0]);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/bytecode/ClassFilePrinter.java
      kind: Constructor
      name: print
      package: javassist.bytecode
  - id: 115
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javassist/bytecode/ConstInfo.java
    line: 36
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "26     }\n27  \n28     public abstract int copy(ConstPool var1, ConstPool
      var2, Map var3);\n29  \n30     public abstract void write(DataOutputStream var1)
      throws IOException;\n31  \n32     public abstract void print(PrintWriter var1);\n33
      \ \n34     public String toString() {\n35        ByteArrayOutputStream bout
      = new ByteArrayOutputStream();\n36        PrintWriter out = new PrintWriter(bout);\n37
      \       this.print(out);\n38        return bout.toString();\n39     }\n40  }\n"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/bytecode/ConstInfo.java
      kind: Constructor
      name: toString
      package: javassist.bytecode
  - id: 116
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javassist/bytecode/ConstPool.java
    line: 654
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "644        LongVector v = this.items;\n645        int size = this.numOfItems;\n646
      \ \n647        for(int i = 1; i < size; ++i) {\n648           v.elementAt(i).write(out);\n649
      \       }\n650  \n651     }\n652  \n653     public void print() {\n654        this.print(new
      PrintWriter(System.out, true));\n655     }\n656  \n657     public void print(PrintWriter
      out) {\n658        int size = this.numOfItems;\n659  \n660        for(int i
      = 1; i < size; ++i) {\n661           out.print(i);\n662           out.print(\"
      \");\n663           this.items.elementAt(i).print(out);\n664        }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/bytecode/ConstPool.java
      kind: Constructor
      name: print
      package: javassist.bytecode
  - id: 117
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javassist/bytecode/StackMapTable.java
    line: 70
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "60           default:\n61              return 1;\n62        }\n63     }\n64
      \ \n65     public void println(PrintWriter w) {\n66        StackMapTable.Printer.print(this,
      w);\n67     }\n68  \n69     public void println(PrintStream ps) {\n70        StackMapTable.Printer.print(this,
      new PrintWriter(ps, true));\n71     }\n72  \n73     void shiftPc(int where,
      int gapSize, boolean exclusive) throws BadBytecode {\n74        (new OffsetShifter(this,
      where, gapSize)).parse();\n75        (new Shifter(this, where, gapSize, exclusive)).doit();\n76
      \    }\n77  \n78     void shiftForSwitch(int where, int gapSize) throws BadBytecode
      {\n79        (new SwitchShifter(this, where, gapSize)).doit();\n80     }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/bytecode/StackMapTable.java
      kind: Constructor
      name: println
      package: javassist.bytecode
  - id: 118
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javassist/tools/Dump.java
    line: 17
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 7  import javassist.bytecode.ClassFilePrinter;\n 8  \n 9  public class
      Dump {\n10     private Dump() {\n11     }\n12  \n13     public static void main(String[]
      args) throws Exception {\n14        if (args.length != 1) {\n15           System.err.println(\"Usage:
      java Dump <class file name>\");\n16        } else {\n17           DataInputStream
      in = new DataInputStream(new FileInputStream(args[0]));\n18           ClassFile
      w = new ClassFile(in);\n19           PrintWriter out = new PrintWriter(System.out,
      true);\n20           out.println(\"*** constant pool ***\");\n21           w.getConstPool().print(out);\n22
      \          out.println();\n23           out.println(\"*** members ***\");\n24
      \          ClassFilePrinter.print(w, out);\n25        }\n26     }\n27  }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/tools/Dump.java
      kind: Constructor
      name: main
      package: javassist.tools
  - id: 119
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javassist/tools/Dump.java
    line: 19
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 9  public class Dump {\n10     private Dump() {\n11     }\n12  \n13
      \    public static void main(String[] args) throws Exception {\n14        if
      (args.length != 1) {\n15           System.err.println(\"Usage: java Dump <class
      file name>\");\n16        } else {\n17           DataInputStream in = new DataInputStream(new
      FileInputStream(args[0]));\n18           ClassFile w = new ClassFile(in);\n19
      \          PrintWriter out = new PrintWriter(System.out, true);\n20           out.println(\"***
      constant pool ***\");\n21           w.getConstPool().print(out);\n22           out.println();\n23
      \          out.println(\"*** members ***\");\n24           ClassFilePrinter.print(w,
      out);\n25        }\n26     }\n27  }\n"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/tools/Dump.java
      kind: Constructor
      name: main
      package: javassist.tools
  - id: 120
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javassist/tools/web/Webserver.java
    line: 183
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "173           if (fileType != 2 || !this.letUsersSendClassfile(out,
      filename, len)) {\n174              this.checkFilename(filename, len);\n175
      \             if (this.htmlfileBase != null) {\n176                 filename
      = this.htmlfileBase + filename;\n177              }\n178  \n179              if
      (File.separatorChar != '/') {\n180                 filename = filename.replace('/',
      File.separatorChar);\n181              }\n182  \n183              File file
      = new File(filename);\n184              if (file.canRead()) {\n185                 this.sendHeader(out,
      file.length(), fileType);\n186                 FileInputStream fin = new FileInputStream(file);\n187
      \                byte[] filebuffer = new byte[4096];\n188  \n189                 while(true)
      {\n190                    len = fin.read(filebuffer);\n191                    if
      (len <= 0) {\n192                       fin.close();\n193                       return;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/tools/web/Webserver.java
      kind: Constructor
      name: doReply
      package: javassist.tools.web
  - id: 121
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javassist/tools/web/Webserver.java
    line: 186
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "176                 filename = this.htmlfileBase + filename;\n177              }\n178
      \ \n179              if (File.separatorChar != '/') {\n180                 filename
      = filename.replace('/', File.separatorChar);\n181              }\n182  \n183
      \             File file = new File(filename);\n184              if (file.canRead())
      {\n185                 this.sendHeader(out, file.length(), fileType);\n186                 FileInputStream
      fin = new FileInputStream(file);\n187                 byte[] filebuffer = new
      byte[4096];\n188  \n189                 while(true) {\n190                    len
      = fin.read(filebuffer);\n191                    if (len <= 0) {\n192                       fin.close();\n193
      \                      return;\n194                    }\n195  \n196                    out.write(filebuffer,
      0, len);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/tools/web/Webserver.java
      kind: Constructor
      name: doReply
      package: javassist.tools.web
  - id: 122
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javassist/util/HotSwapAgent.java
    line: 94
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 84                 Thread.currentThread().interrupt();\n 85                 throw
      new NotFoundException(\"hotswap agent (timeout)\");\n 86              }\n 87
      \          }\n 88  \n 89           throw new NotFoundException(\"hotswap agent
      (timeout)\");\n 90        }\n 91     }\n 92  \n 93     public static File createAgentJarFile(String
      fileName) throws IOException, CannotCompileException, NotFoundException {\n
      94        return createJarFile(new File(fileName));\n 95     }\n 96  \n 97     private
      static File createJarFile() throws IOException, CannotCompileException, NotFoundException
      {\n 98        File jar = File.createTempFile(\"agent\", \".jar\");\n 99        jar.deleteOnExit();\n100
      \       return createJarFile(jar);\n101     }\n102  \n103     private static
      File createJarFile(File jar) throws IOException, CannotCompileException, NotFoundException
      {\n104        Manifest manifest = new Manifest();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/util/HotSwapAgent.java
      kind: Constructor
      name: createAgentJarFile
      package: javassist.util
  - id: 123
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javassist/util/HotSwapAgent.java
    line: 114
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "104        Manifest manifest = new Manifest();\n105        Attributes
      attrs = manifest.getMainAttributes();\n106        attrs.put(Name.MANIFEST_VERSION,
      \"1.0\");\n107        attrs.put(new Attributes.Name(\"Premain-Class\"), HotSwapAgent.class.getName());\n108
      \       attrs.put(new Attributes.Name(\"Agent-Class\"), HotSwapAgent.class.getName());\n109
      \       attrs.put(new Attributes.Name(\"Can-Retransform-Classes\"), \"true\");\n110
      \       attrs.put(new Attributes.Name(\"Can-Redefine-Classes\"), \"true\");\n111
      \       JarOutputStream jos = null;\n112  \n113        try {\n114           jos
      = new JarOutputStream(new FileOutputStream(jar), manifest);\n115           String
      cname = HotSwapAgent.class.getName();\n116           JarEntry e = new JarEntry(cname.replace('.',
      '/') + \".class\");\n117           jos.putNextEntry(e);\n118           ClassPool
      pool = ClassPool.getDefault();\n119           CtClass clazz = pool.get(cname);\n120
      \          jos.write(clazz.toBytecode());\n121           jos.closeEntry();\n122
      \       } finally {\n123           if (jos != null) {\n124              jos.close();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/util/HotSwapAgent.java
      kind: Constructor
      name: createJarFile
      package: javassist.util
  - id: 124
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javassist/util/proxy/FactoryHelper.java
    line: 92
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 82        String classname = cf.getName();\n 83        String filename
      = directoryName + File.separatorChar + classname.replace('.', File.separatorChar)
      + \".class\";\n 84        int pos = filename.lastIndexOf(File.separatorChar);\n
      85        if (pos > 0) {\n 86           String dir = filename.substring(0, pos);\n
      87           if (!dir.equals(\".\")) {\n 88              (new File(dir)).mkdirs();\n
      89           }\n 90        }\n 91  \n 92        DataOutputStream out = new DataOutputStream(new
      BufferedOutputStream(new FileOutputStream(filename)));\n 93  \n 94        try
      {\n 95           cf.write(out);\n 96        } catch (IOException var10) {\n
      97           throw var10;\n 98        } finally {\n 99           out.close();\n100
      \       }\n101  \n102     }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javassist/util/proxy/FactoryHelper.java
      kind: Constructor
      name: writeFile0
      package: javassist.util.proxy
  - id: 125
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javax/activation/FileDataSource.java
    line: 21
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "11     private File _file;\n12     private FileTypeMap typeMap;\n13
      \ \n14     public FileDataSource(File file) {\n15        this._file = null;\n16
      \       this.typeMap = null;\n17        this._file = file;\n18     }\n19  \n20
      \    public FileDataSource(String name) {\n21        this(new File(name));\n22
      \    }\n23  \n24     public InputStream getInputStream() throws IOException
      {\n25        return new FileInputStream(this._file);\n26     }\n27  \n28     public
      OutputStream getOutputStream() throws IOException {\n29        return new FileOutputStream(this._file);\n30
      \    }\n31  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/javax/activation/FileDataSource.java
      kind: Constructor
      name: FileDataSource
      package: javax.activation
  - id: 126
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javax/activation/FileDataSource.java
    line: 25
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "15        this._file = null;\n16        this.typeMap = null;\n17        this._file
      = file;\n18     }\n19  \n20     public FileDataSource(String name) {\n21        this(new
      File(name));\n22     }\n23  \n24     public InputStream getInputStream() throws
      IOException {\n25        return new FileInputStream(this._file);\n26     }\n27
      \ \n28     public OutputStream getOutputStream() throws IOException {\n29        return
      new FileOutputStream(this._file);\n30     }\n31  \n32     public String getContentType()
      {\n33        return this.typeMap == null ? FileTypeMap.getDefaultFileTypeMap().getContentType(this._file)
      : this.typeMap.getContentType(this._file);\n34     }\n35  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/javax/activation/FileDataSource.java
      kind: Constructor
      name: getInputStream
      package: javax.activation
  - id: 127
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javax/activation/FileDataSource.java
    line: 29
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "19  \n20     public FileDataSource(String name) {\n21        this(new
      File(name));\n22     }\n23  \n24     public InputStream getInputStream() throws
      IOException {\n25        return new FileInputStream(this._file);\n26     }\n27
      \ \n28     public OutputStream getOutputStream() throws IOException {\n29        return
      new FileOutputStream(this._file);\n30     }\n31  \n32     public String getContentType()
      {\n33        return this.typeMap == null ? FileTypeMap.getDefaultFileTypeMap().getContentType(this._file)
      : this.typeMap.getContentType(this._file);\n34     }\n35  \n36     public String
      getName() {\n37        return this._file.getName();\n38     }\n39  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/javax/activation/FileDataSource.java
      kind: Constructor
      name: getOutputStream
      package: javax.activation
  - id: 128
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javax/activation/MailcapCommandMap.java
    line: 528
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "518     }\n519  \n520     static {\n521        String dir = null;\n522
      \ \n523        try {\n524           dir = (String)AccessController.doPrivileged(new
      PrivilegedAction() {\n525              public Object run() {\n526                 String
      home = System.getProperty(\"java.home\");\n527                 String newdir
      = home + File.separator + \"conf\";\n528                 File conf = new File(newdir);\n529
      \                return conf.exists() ? newdir + File.separator : home + File.separator
      + \"lib\" + File.separator;\n530              }\n531           });\n532        }
      catch (Exception var2) {\n533        }\n534  \n535        confDir = dir;\n536
      \    }\n537  }\n"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javax/activation/MailcapCommandMap.java
      kind: Constructor
      name: run
      package: javax.activation
  - id: 129
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javax/activation/MimetypesFileTypeMap.java
    line: 250
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "240     }\n241  \n242     static {\n243        String dir = null;\n244
      \ \n245        try {\n246           dir = (String)AccessController.doPrivileged(new
      PrivilegedAction() {\n247              public Object run() {\n248                 String
      home = System.getProperty(\"java.home\");\n249                 String newdir
      = home + File.separator + \"conf\";\n250                 File conf = new File(newdir);\n251
      \                return conf.exists() ? newdir + File.separator : home + File.separator
      + \"lib\" + File.separator;\n252              }\n253           });\n254        }
      catch (Exception var2) {\n255        }\n256  \n257        confDir = dir;\n258
      \    }\n259  }\n"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javax/activation/MimetypesFileTypeMap.java
      kind: Constructor
      name: run
      package: javax.activation
  - id: 130
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javax/xml/bind/JAXB.java
    line: 126
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "116     }\n117  \n118     private static Source toSource(Object xml)
      throws IOException {\n119        if (xml == null) {\n120           throw new
      IllegalArgumentException(\"no XML is given\");\n121        } else {\n122           if
      (xml instanceof String) {\n123              try {\n124                 xml =
      new URI((String)xml);\n125              } catch (URISyntaxException var2) {\n126
      \                xml = new File((String)xml);\n127              }\n128           }\n129
      \ \n130           if (xml instanceof File) {\n131              File file = (File)xml;\n132
      \             return new StreamSource(file);\n133           } else {\n134              if
      (xml instanceof URI) {\n135                 URI uri = (URI)xml;\n136                 xml
      = uri.toURL();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javax/xml/bind/JAXB.java
      kind: Constructor
      name: toSource
      package: javax.xml.bind
  - id: 131
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javax/xml/bind/JAXB.java
    line: 221
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "211     }\n212  \n213     private static Result toResult(Object xml)
      throws IOException {\n214        if (xml == null) {\n215           throw new
      IllegalArgumentException(\"no XML is given\");\n216        } else {\n217           if
      (xml instanceof String) {\n218              try {\n219                 xml =
      new URI((String)xml);\n220              } catch (URISyntaxException var3) {\n221
      \                xml = new File((String)xml);\n222              }\n223           }\n224
      \ \n225           if (xml instanceof File) {\n226              File file = (File)xml;\n227
      \             return new StreamResult(file);\n228           } else {\n229              if
      (xml instanceof URI) {\n230                 URI uri = (URI)xml;\n231                 xml
      = uri.toURL();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javax/xml/bind/JAXB.java
      kind: Constructor
      name: toResult
      package: javax.xml.bind
  - id: 132
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javax/xml/bind/helpers/AbstractMarshallerImpl.java
    line: 44
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "34  \n35     public final void marshal(Object obj, OutputStream os)
      throws JAXBException {\n36        this.checkNotNull(obj, \"obj\", os, \"os\");\n37
      \       this.marshal(obj, (Result)(new StreamResult(os)));\n38     }\n39  \n40
      \    public void marshal(Object jaxbElement, File output) throws JAXBException
      {\n41        this.checkNotNull(jaxbElement, \"jaxbElement\", output, \"output\");\n42
      \ \n43        try {\n44           OutputStream os = new BufferedOutputStream(new
      FileOutputStream(output));\n45  \n46           try {\n47              this.marshal(jaxbElement,
      (Result)(new StreamResult(os)));\n48           } finally {\n49              os.close();\n50
      \          }\n51  \n52        } catch (IOException var8) {\n53           throw
      new JAXBException(var8);\n54        }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javax/xml/bind/helpers/AbstractMarshallerImpl.java
      kind: Constructor
      name: marshal
      package: javax.xml.bind.helpers
  - id: 133
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java
    line: 104
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 94        } else {\n 95           return this.unmarshal(url.toExternalForm());\n
      96        }\n 97     }\n 98  \n 99     public final Object unmarshal(File f)
      throws JAXBException {\n100        if (f == null) {\n101           throw new
      IllegalArgumentException(Messages.format(\"Shared.MustNotBeNull\", (Object)\"file\"));\n102
      \       } else {\n103           try {\n104              return this.unmarshal((InputStream)(new
      BufferedInputStream(new FileInputStream(f))));\n105           } catch (FileNotFoundException
      var3) {\n106              throw new IllegalArgumentException(var3.getMessage());\n107
      \          }\n108        }\n109     }\n110  \n111     public final Object unmarshal(InputStream
      is) throws JAXBException {\n112        if (is == null) {\n113           throw
      new IllegalArgumentException(Messages.format(\"Shared.MustNotBeNull\", (Object)\"is\"));\n114
      \       } else {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java
      kind: Constructor
      name: unmarshal
      package: javax.xml.bind.helpers
  - id: 134
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
    line: 1009
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 999  \n1000           @HashCodeAndEqualsPlugin.Enhance\n1001           public
      static class ForJarFile implements Target {\n1002              private final
      File file;\n1003  \n1004              public ForJarFile(File file) {\n1005                 this.file
      = file;\n1006              }\n1007  \n1008              public Sink write(Manifest
      manifest) throws IOException {\n1009                 return manifest == null
      ? new Sink.ForJarOutputStream(new JarOutputStream(new FileOutputStream(this.file)))
      : new Sink.ForJarOutputStream(new JarOutputStream(new FileOutputStream(this.file),
      manifest));\n1010              }\n1011  \n1012              public boolean equals(Object
      var1) {\n1013                 if (this == var1) {\n1014                    return
      true;\n1015                 } else if (var1 == null) {\n1016                    return
      false;\n1017                 } else if (this.getClass() != var1.getClass())
      {\n1018                    return false;\n1019                 } else {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
      kind: Constructor
      name: write
      package: net.bytebuddy.build
  - id: 135
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
    line: 1040
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "1030           public static class ForFolder implements Target, Sink
      {\n1031              protected static final Dispatcher DISPATCHER;\n1032              private
      final File folder;\n1033  \n1034              public ForFolder(File folder)
      {\n1035                 this.folder = folder;\n1036              }\n1037  \n1038
      \             public Sink write(Manifest manifest) throws IOException {\n1039
      \                if (manifest != null) {\n1040                    File target
      = new File(this.folder, \"META-INF/MANIFEST.MF\");\n1041                    if
      (!target.getParentFile().isDirectory() && !target.getParentFile().mkdirs())
      {\n1042                       throw new IOException(\"Could not create directory:
      \" + target.getParent());\n1043                    }\n1044  \n1045                    OutputStream
      outputStream = new FileOutputStream(target);\n1046  \n1047                    try
      {\n1048                       manifest.write(outputStream);\n1049                    }
      finally {\n1050                       outputStream.close();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
      kind: Constructor
      name: write
      package: net.bytebuddy.build
  - id: 136
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
    line: 1045
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "1035                 this.folder = folder;\n1036              }\n1037
      \ \n1038              public Sink write(Manifest manifest) throws IOException
      {\n1039                 if (manifest != null) {\n1040                    File
      target = new File(this.folder, \"META-INF/MANIFEST.MF\");\n1041                    if
      (!target.getParentFile().isDirectory() && !target.getParentFile().mkdirs())
      {\n1042                       throw new IOException(\"Could not create directory:
      \" + target.getParent());\n1043                    }\n1044  \n1045                    OutputStream
      outputStream = new FileOutputStream(target);\n1046  \n1047                    try
      {\n1048                       manifest.write(outputStream);\n1049                    }
      finally {\n1050                       outputStream.close();\n1051                    }\n1052
      \                }\n1053  \n1054                 return this;\n1055              }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
      kind: Constructor
      name: write
      package: net.bytebuddy.build
  - id: 137
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
    line: 1062
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "1052                 }\n1053  \n1054                 return this;\n1055
      \             }\n1056  \n1057              public void store(Map binaryRepresentations)
      throws IOException {\n1058                 Iterator var2 = binaryRepresentations.entrySet().iterator();\n1059
      \ \n1060                 while(var2.hasNext()) {\n1061                    Map.Entry
      entry = (Map.Entry)var2.next();\n1062                    File target = new File(this.folder,
      ((TypeDescription)entry.getKey()).getInternalName() + \".class\");\n1063                    if
      (!target.getParentFile().isDirectory() && !target.getParentFile().mkdirs())
      {\n1064                       throw new IOException(\"Could not create directory:
      \" + target.getParent());\n1065                    }\n1066  \n1067                    OutputStream
      outputStream = new FileOutputStream(target);\n1068  \n1069                    try
      {\n1070                       outputStream.write((byte[])entry.getValue());\n1071
      \                   } finally {\n1072                       outputStream.close();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
      kind: Constructor
      name: store
      package: net.bytebuddy.build
  - id: 138
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
    line: 1067
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "1057              public void store(Map binaryRepresentations) throws
      IOException {\n1058                 Iterator var2 = binaryRepresentations.entrySet().iterator();\n1059
      \ \n1060                 while(var2.hasNext()) {\n1061                    Map.Entry
      entry = (Map.Entry)var2.next();\n1062                    File target = new File(this.folder,
      ((TypeDescription)entry.getKey()).getInternalName() + \".class\");\n1063                    if
      (!target.getParentFile().isDirectory() && !target.getParentFile().mkdirs())
      {\n1064                       throw new IOException(\"Could not create directory:
      \" + target.getParent());\n1065                    }\n1066  \n1067                    OutputStream
      outputStream = new FileOutputStream(target);\n1068  \n1069                    try
      {\n1070                       outputStream.write((byte[])entry.getValue());\n1071
      \                   } finally {\n1072                       outputStream.close();\n1073
      \                   }\n1074                 }\n1075  \n1076              }\n1077
      \ "
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
      kind: Constructor
      name: store
      package: net.bytebuddy.build
  - id: 139
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
    line: 1081
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "1071                    } finally {\n1072                       outputStream.close();\n1073
      \                   }\n1074                 }\n1075  \n1076              }\n1077
      \ \n1078              public void retain(Source.Element element) throws IOException
      {\n1079                 String name = element.getName();\n1080                 if
      (!name.endsWith(\"/\")) {\n1081                    File target = new File(this.folder,
      name);\n1082                    File resolved = (File)element.resolveAs(File.class);\n1083
      \                   if (!target.getCanonicalPath().startsWith(this.folder.getCanonicalPath()))
      {\n1084                       throw new IllegalArgumentException(target + \"
      is not a subdirectory of \" + this.folder);\n1085                    }\n1086
      \ \n1087                    if (!target.getParentFile().isDirectory() && !target.getParentFile().mkdirs())
      {\n1088                       throw new IOException(\"Could not create directory:
      \" + target.getParent());\n1089                    }\n1090  \n1091                    if
      (DISPATCHER.isAlive() && resolved != null && !resolved.equals(target)) {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
      kind: Constructor
      name: retain
      package: net.bytebuddy.build
  - id: 140
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
    line: 1097
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "1087                    if (!target.getParentFile().isDirectory() &&
      !target.getParentFile().mkdirs()) {\n1088                       throw new IOException(\"Could
      not create directory: \" + target.getParent());\n1089                    }\n1090
      \ \n1091                    if (DISPATCHER.isAlive() && resolved != null &&
      !resolved.equals(target)) {\n1092                       DISPATCHER.copy(resolved,
      target);\n1093                    } else if (!target.equals(resolved)) {\n1094
      \                      InputStream inputStream = element.getInputStream();\n1095
      \ \n1096                       try {\n1097                          OutputStream
      outputStream = new FileOutputStream(target);\n1098  \n1099                          try
      {\n1100                             byte[] buffer = new byte[1024];\n1101  \n1102
      \                            int length;\n1103                             while((length
      = inputStream.read(buffer)) != -1) {\n1104                                outputStream.write(buffer,
      0, length);\n1105                             }\n1106                          }
      finally {\n1107                             outputStream.close();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
      kind: Constructor
      name: retain
      package: net.bytebuddy.build
  - id: 141
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
    line: 1486
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "1476  \n1477              public Origin read() {\n1478                 return
      this;\n1479              }\n1480  \n1481              public ClassFileLocator
      getClassFileLocator() {\n1482                 return new ClassFileLocator.ForFolder(this.folder);\n1483
      \             }\n1484  \n1485              public Manifest getManifest() throws
      IOException {\n1486                 File file = new File(this.folder, \"META-INF/MANIFEST.MF\");\n1487
      \                if (file.exists()) {\n1488                    InputStream inputStream
      = new FileInputStream(file);\n1489  \n1490                    Manifest var3;\n1491
      \                   try {\n1492                       var3 = new Manifest(inputStream);\n1493
      \                   } finally {\n1494                       inputStream.close();\n1495
      \                   }\n1496  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
      kind: Constructor
      name: getManifest
      package: net.bytebuddy.build
  - id: 142
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
    line: 1488
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "1478                 return this;\n1479              }\n1480  \n1481
      \             public ClassFileLocator getClassFileLocator() {\n1482                 return
      new ClassFileLocator.ForFolder(this.folder);\n1483              }\n1484  \n1485
      \             public Manifest getManifest() throws IOException {\n1486                 File
      file = new File(this.folder, \"META-INF/MANIFEST.MF\");\n1487                 if
      (file.exists()) {\n1488                    InputStream inputStream = new FileInputStream(file);\n1489
      \ \n1490                    Manifest var3;\n1491                    try {\n1492
      \                      var3 = new Manifest(inputStream);\n1493                    }
      finally {\n1494                       inputStream.close();\n1495                    }\n1496
      \ \n1497                    return var3;\n1498                 } else {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
      kind: Constructor
      name: getManifest
      package: net.bytebuddy.build
  - id: 143
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
    line: 1538
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "1528  \n1529                 protected FolderIterator(File folder)
      {\n1530                    this.files = new LinkedList(Collections.singleton(folder));\n1531
      \ \n1532                    do {\n1533                       File candidate
      = (File)this.files.removeFirst();\n1534                       File[] file =
      candidate.listFiles();\n1535                       if (file != null) {\n1536
      \                         this.files.addAll(0, Arrays.asList(file));\n1537                       }\n1538
      \                   } while(!this.files.isEmpty() && (((File)this.files.peek()).isDirectory()
      || ((File)this.files.peek()).equals(new File(folder, \"META-INF/MANIFEST.MF\"))));\n1539
      \ \n1540                 }\n1541  \n1542                 public boolean hasNext()
      {\n1543                    return !this.files.isEmpty();\n1544                 }\n1545
      \ \n1546                 @SuppressFBWarnings(\n1547                    value
      = {\"IT_NO_SUCH_ELEMENT\"},\n1548                    justification = \"Exception
      is thrown by invoking removeFirst on an empty list.\""
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
      kind: Constructor
      name: FolderIterator
      package: net.bytebuddy.build
  - id: 144
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
    line: 1560
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "1550                 public Element next() {\n1551                    boolean
      var8 = false;\n1552  \n1553                    Element.ForFile var1;\n1554                    try
      {\n1555                       var8 = true;\n1556                       var1
      = new Element.ForFile(ForFolder.this.folder, (File)this.files.removeFirst());\n1557
      \                      var8 = false;\n1558                    } finally {\n1559
      \                      if (var8) {\n1560                          while(!this.files.isEmpty()
      && (((File)this.files.peek()).isDirectory() || ((File)this.files.peek()).equals(new
      File(ForFolder.this.folder, \"META-INF/MANIFEST.MF\")))) {\n1561                             File
      folderx = (File)this.files.removeFirst();\n1562                             File[]
      file = folderx.listFiles();\n1563                             if (file != null)
      {\n1564                                this.files.addAll(0, Arrays.asList(file));\n1565
      \                            }\n1566                          }\n1567  \n1568
      \                      }\n1569                    }\n1570  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
      kind: Constructor
      name: next
      package: net.bytebuddy.build
  - id: 145
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
    line: 1571
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "1561                             File folderx = (File)this.files.removeFirst();\n1562
      \                            File[] file = folderx.listFiles();\n1563                             if
      (file != null) {\n1564                                this.files.addAll(0, Arrays.asList(file));\n1565
      \                            }\n1566                          }\n1567  \n1568
      \                      }\n1569                    }\n1570  \n1571                    while(!this.files.isEmpty()
      && (((File)this.files.peek()).isDirectory() || ((File)this.files.peek()).equals(new
      File(ForFolder.this.folder, \"META-INF/MANIFEST.MF\")))) {\n1572                       File
      folder = (File)this.files.removeFirst();\n1573                       File[]
      filex = folder.listFiles();\n1574                       if (filex != null) {\n1575
      \                         this.files.addAll(0, Arrays.asList(filex));\n1576
      \                      }\n1577                    }\n1578  \n1579                    return
      var1;\n1580                 }\n1581  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
      kind: Constructor
      name: next
      package: net.bytebuddy.build
  - id: 146
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
    line: 1768
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "1758                 public ForFile(File root, File file) {\n1759                    this.root
      = root;\n1760                    this.file = file;\n1761                 }\n1762
      \ \n1763                 public String getName() {\n1764                    return
      this.root.getAbsoluteFile().toURI().relativize(this.file.getAbsoluteFile().toURI()).getPath();\n1765
      \                }\n1766  \n1767                 public InputStream getInputStream()
      throws IOException {\n1768                    return new FileInputStream(this.file);\n1769
      \                }\n1770  \n1771                 public Object resolveAs(Class
      type) {\n1772                    return File.class.isAssignableFrom(type) ?
      this.file : null;\n1773                 }\n1774  \n1775                 public
      boolean equals(Object var1) {\n1776                    if (this == var1) {\n1777
      \                      return true;\n1778                    } else if (var1
      == null) {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
      kind: Constructor
      name: getInputStream
      package: net.bytebuddy.build
  - id: 147
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
    line: 211
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "201                 throw new IllegalArgumentException(\"Expected arguments:
      <source> <target> [<plugin>, ...]\");\n202              } else {\n203                 List
      factories = new ArrayList(argument.length - 2);\n204                 Iterator
      var2 = Arrays.asList(argument).subList(2, argument.length).iterator();\n205
      \ \n206                 while(var2.hasNext()) {\n207                    String
      plugin = (String)var2.next();\n208                    factories.add(new Factory.UsingReflection(Class.forName(plugin)));\n209
      \                }\n210  \n211                 (new Default()).apply(new File(argument[0]),
      new File(argument[1]), factories);\n212              }\n213           }\n214
      \ \n215           public Engine with(ByteBuddy byteBuddy) {\n216              return
      new Default(byteBuddy, this.typeStrategy, this.poolStrategy, this.classFileLocator,
      this.listener, this.errorHandler, this.dispatcherFactory, this.ignoredTypeMatcher);\n217
      \          }\n218  \n219           public Engine with(TypeStrategy typeStrategy)
      {\n220              return new Default(this.byteBuddy, typeStrategy, this.poolStrategy,
      this.classFileLocator, this.listener, this.errorHandler, this.dispatcherFactory,
      this.ignoredTypeMatcher);\n221           }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/build/Plugin.java
      kind: Constructor
      name: main
      package: net.bytebuddy.build
  - id: 148
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
    line: 681
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "671  \n672     @HashCodeAndEqualsPlugin.Enhance\n673     public static
      class ForFolder implements ClassFileLocator {\n674        private final File
      folder;\n675  \n676        public ForFolder(File folder) {\n677           this.folder
      = folder;\n678        }\n679  \n680        public Resolution locate(String name)
      throws IOException {\n681           File file = new File(this.folder, name.replace('.',
      File.separatorChar) + \".class\");\n682           if (file.exists()) {\n683
      \             InputStream inputStream = new FileInputStream(file);\n684  \n685
      \             Resolution.Explicit var4;\n686              try {\n687                 var4
      = new Resolution.Explicit(StreamDrainer.DEFAULT.drain(inputStream));\n688              }
      finally {\n689                 inputStream.close();\n690              }\n691
      \ "
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
      kind: Constructor
      name: locate
      package: net.bytebuddy.dynamic
  - id: 149
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
    line: 683
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "673     public static class ForFolder implements ClassFileLocator {\n674
      \       private final File folder;\n675  \n676        public ForFolder(File
      folder) {\n677           this.folder = folder;\n678        }\n679  \n680        public
      Resolution locate(String name) throws IOException {\n681           File file
      = new File(this.folder, name.replace('.', File.separatorChar) + \".class\");\n682
      \          if (file.exists()) {\n683              InputStream inputStream =
      new FileInputStream(file);\n684  \n685              Resolution.Explicit var4;\n686
      \             try {\n687                 var4 = new Resolution.Explicit(StreamDrainer.DEFAULT.drain(inputStream));\n688
      \             } finally {\n689                 inputStream.close();\n690              }\n691
      \ \n692              return var4;\n693           } else {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
      kind: Constructor
      name: locate
      package: net.bytebuddy.dynamic
  - id: 150
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
    line: 735
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "725           this.zipFile = zipFile;\n726        }\n727  \n728        public
      static ClassFileLocator ofBootPath() throws IOException {\n729           String
      javaHome = System.getProperty(\"java.home\").replace('\\\\', '/');\n730           File
      bootPath = null;\n731           Iterator var2 = BOOT_LOCATIONS.iterator();\n732
      \ \n733           while(var2.hasNext()) {\n734              String location
      = (String)var2.next();\n735              File candidate = new File(javaHome,
      location);\n736              if (candidate.isDirectory()) {\n737                 bootPath
      = candidate;\n738                 break;\n739              }\n740           }\n741
      \ \n742           if (bootPath == null) {\n743              throw new IllegalStateException(\"Boot
      modules do not exist in \" + javaHome + \" for any of \" + BOOT_LOCATIONS);\n744
      \          } else {\n745              return ofBootPath(bootPath);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
      kind: Constructor
      name: ofBootPath
      package: net.bytebuddy.dynamic
  - id: 151
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
    line: 787
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "777           return ofModulePath(modulePath, System.getProperty(\"user.dir\"));\n778
      \       }\n779  \n780        public static ClassFileLocator ofModulePath(String
      modulePath, String baseFolder) throws IOException {\n781           List classFileLocators
      = new ArrayList();\n782           String[] var3 = Pattern.compile(System.getProperty(\"path.separator\"),
      16).split(modulePath);\n783           int var4 = var3.length;\n784  \n785           for(int
      var5 = 0; var5 < var4; ++var5) {\n786              String element = var3[var5];\n787
      \             File file = new File(baseFolder, element);\n788              if
      (file.isDirectory()) {\n789                 File[] module = file.listFiles();\n790
      \                if (module != null) {\n791                    File[] var9 =
      module;\n792                    int var10 = module.length;\n793  \n794                    for(int
      var11 = 0; var11 < var10; ++var11) {\n795                       File aModule
      = var9[var11];\n796                       if (aModule.isDirectory()) {\n797
      \                         classFileLocators.add(new ForFolder(aModule));"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
      kind: Constructor
      name: ofModulePath
      package: net.bytebuddy.dynamic
  - id: 152
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
    line: 812
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "802                 }\n803              } else if (file.isFile()) {\n804
      \                classFileLocators.add(file.getName().endsWith(\".jmod\") ?
      of(file) : ClassFileLocator.ForJarFile.of(file));\n805              }\n806           }\n807
      \ \n808           return new Compound(classFileLocators);\n809        }\n810
      \ \n811        public static ClassFileLocator of(File file) throws IOException
      {\n812           return new ForModuleFile(new ZipFile(file));\n813        }\n814
      \ \n815        public Resolution locate(String name) throws IOException {\n816
      \          ZipEntry zipEntry = this.zipFile.getEntry(\"classes/\" + name.replace('.',
      '/') + \".class\");\n817           if (zipEntry == null) {\n818              return
      new Resolution.Illegal(name);\n819           } else {\n820              InputStream
      inputStream = this.zipFile.getInputStream(zipEntry);\n821  \n822              Resolution.Explicit
      var4;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
      kind: Constructor
      name: of
      package: net.bytebuddy.dynamic
  - id: 153
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
    line: 878
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "868           return ofClassPath(System.getProperty(\"java.class.path\"));\n869
      \       }\n870  \n871        public static ClassFileLocator ofClassPath(String
      classPath) throws IOException {\n872           List classFileLocators = new
      ArrayList();\n873           String[] var2 = Pattern.compile(System.getProperty(\"path.separator\"),
      16).split(classPath);\n874           int var3 = var2.length;\n875  \n876           for(int
      var4 = 0; var4 < var3; ++var4) {\n877              String element = var2[var4];\n878
      \             File file = new File(element);\n879              if (file.isDirectory())
      {\n880                 classFileLocators.add(new ForFolder(file));\n881              }
      else if (file.isFile()) {\n882                 classFileLocators.add(of(file));\n883
      \             }\n884           }\n885  \n886           return new Compound(classFileLocators);\n887
      \       }\n888  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
      kind: Constructor
      name: ofClassPath
      package: net.bytebuddy.dynamic
  - id: 154
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
    line: 896
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "886           return new Compound(classFileLocators);\n887        }\n888
      \ \n889        public static ClassFileLocator ofRuntimeJar() throws IOException
      {\n890           String javaHome = System.getProperty(\"java.home\").replace('\\\\',
      '/');\n891           File runtimeJar = null;\n892           Iterator var2 =
      RUNTIME_LOCATIONS.iterator();\n893  \n894           while(var2.hasNext()) {\n895
      \             String location = (String)var2.next();\n896              File
      candidate = new File(javaHome, location);\n897              if (candidate.isFile())
      {\n898                 runtimeJar = candidate;\n899                 break;\n900
      \             }\n901           }\n902  \n903           if (runtimeJar == null)
      {\n904              throw new IllegalStateException(\"Runtime jar does not exist
      in \" + javaHome + \" for any of \" + RUNTIME_LOCATIONS);\n905           } else
      {\n906              return of(runtimeJar);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
      kind: Constructor
      name: ofRuntimeJar
      package: net.bytebuddy.dynamic
  - id: 155
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/DynamicType.java
    line: 199
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "189              DynamicType auxiliaryType = (DynamicType)var2.next();\n190
      \             auxiliaryTypes.put(auxiliaryType.getTypeDescription(), auxiliaryType.getBytes());\n191
      \             auxiliaryTypes.putAll(auxiliaryType.getAuxiliaryTypes());\n192
      \          }\n193  \n194           return auxiliaryTypes;\n195        }\n196
      \ \n197        public Map saveIn(File folder) throws IOException {\n198           Map
      files = new HashMap();\n199           File target = new File(folder, this.typeDescription.getName().replace('.',
      File.separatorChar) + \".class\");\n200           if (target.getParentFile()
      != null && !target.getParentFile().isDirectory() && !target.getParentFile().mkdirs())
      {\n201              throw new IllegalArgumentException(\"Could not create directory:
      \" + target.getParentFile());\n202           } else {\n203              OutputStream
      outputStream = new FileOutputStream(target);\n204  \n205              try {\n206
      \                outputStream.write(this.binaryRepresentation);\n207              }
      finally {\n208                 outputStream.close();\n209              }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/DynamicType.java
      kind: Constructor
      name: saveIn
      package: net.bytebuddy.dynamic
  - id: 156
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/DynamicType.java
    line: 203
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "193  \n194           return auxiliaryTypes;\n195        }\n196  \n197
      \       public Map saveIn(File folder) throws IOException {\n198           Map
      files = new HashMap();\n199           File target = new File(folder, this.typeDescription.getName().replace('.',
      File.separatorChar) + \".class\");\n200           if (target.getParentFile()
      != null && !target.getParentFile().isDirectory() && !target.getParentFile().mkdirs())
      {\n201              throw new IllegalArgumentException(\"Could not create directory:
      \" + target.getParentFile());\n202           } else {\n203              OutputStream
      outputStream = new FileOutputStream(target);\n204  \n205              try {\n206
      \                outputStream.write(this.binaryRepresentation);\n207              }
      finally {\n208                 outputStream.close();\n209              }\n210
      \ \n211              files.put(this.typeDescription, target);\n212              Iterator
      var5 = this.auxiliaryTypes.iterator();\n213  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/DynamicType.java
      kind: Constructor
      name: saveIn
      package: net.bytebuddy.dynamic
  - id: 157
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/DynamicType.java
    line: 244
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "234              if (delete && !temporary.delete()) {\n235                 temporary.deleteOnExit();\n236
      \             }\n237  \n238           }\n239  \n240           return jar;\n241
      \       }\n242  \n243        private File doInject(File sourceJar, File targetJar)
      throws IOException {\n244           JarInputStream inputStream = new JarInputStream(new
      FileInputStream(sourceJar));\n245  \n246           try {\n247              if
      (!targetJar.isFile() && !targetJar.createNewFile()) {\n248                 throw
      new IllegalArgumentException(\"Could not create file: \" + targetJar);\n249
      \             } else {\n250                 Manifest manifest = inputStream.getManifest();\n251
      \                JarOutputStream outputStream = manifest == null ? new JarOutputStream(new
      FileOutputStream(targetJar)) : new JarOutputStream(new FileOutputStream(targetJar),
      manifest);\n252  \n253                 try {\n254                    Map rawAuxiliaryTypes
      = this.getAuxiliaryTypes();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/DynamicType.java
      kind: Constructor
      name: doInject
      package: net.bytebuddy.dynamic
  - id: 158
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/DynamicType.java
    line: 251
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "241        }\n242  \n243        private File doInject(File sourceJar,
      File targetJar) throws IOException {\n244           JarInputStream inputStream
      = new JarInputStream(new FileInputStream(sourceJar));\n245  \n246           try
      {\n247              if (!targetJar.isFile() && !targetJar.createNewFile()) {\n248
      \                throw new IllegalArgumentException(\"Could not create file:
      \" + targetJar);\n249              } else {\n250                 Manifest manifest
      = inputStream.getManifest();\n251                 JarOutputStream outputStream
      = manifest == null ? new JarOutputStream(new FileOutputStream(targetJar)) :
      new JarOutputStream(new FileOutputStream(targetJar), manifest);\n252  \n253
      \                try {\n254                    Map rawAuxiliaryTypes = this.getAuxiliaryTypes();\n255
      \                   Map files = new HashMap();\n256                    Iterator
      var8 = rawAuxiliaryTypes.entrySet().iterator();\n257  \n258                    while(var8.hasNext())
      {\n259                       Map.Entry entry = (Map.Entry)var8.next();\n260
      \                      files.put(((TypeDescription)entry.getKey()).getInternalName()
      + \".class\", entry.getValue());\n261                    }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/DynamicType.java
      kind: Constructor
      name: doInject
      package: net.bytebuddy.dynamic
  - id: 159
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/DynamicType.java
    line: 314
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "304        public File toJar(File file) throws IOException {\n305           Manifest
      manifest = new Manifest();\n306           manifest.getMainAttributes().put(Name.MANIFEST_VERSION,
      \"1.0\");\n307           return this.toJar(file, manifest);\n308        }\n309
      \ \n310        public File toJar(File file, Manifest manifest) throws IOException
      {\n311           if (!file.isFile() && !file.createNewFile()) {\n312              throw
      new IllegalArgumentException(\"Could not create file: \" + file);\n313           }
      else {\n314              JarOutputStream outputStream = new JarOutputStream(new
      FileOutputStream(file), manifest);\n315  \n316              try {\n317                 Iterator
      var4 = this.getAuxiliaryTypes().entrySet().iterator();\n318  \n319                 while(var4.hasNext())
      {\n320                    Map.Entry entry = (Map.Entry)var4.next();\n321                    outputStream.putNextEntry(new
      JarEntry(((TypeDescription)entry.getKey()).getInternalName() + \".class\"));\n322
      \                   outputStream.write((byte[])entry.getValue());\n323                    outputStream.closeEntry();\n324
      \                }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/DynamicType.java
      kind: Constructor
      name: toJar
      package: net.bytebuddy.dynamic
  - id: 160
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/DynamicType.java
    line: 500
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "490  \n491              public int hashCode() {\n492                 return
      ((17 * 31 + this.toPath.hashCode()) * 31 + this.move.hashCode()) * 31 + Arrays.hashCode(this.copyOptions);\n493
      \             }\n494           }\n495  \n496           public static enum ForLegacyVm
      implements Dispatcher {\n497              INSTANCE;\n498  \n499              public
      boolean copy(File source, File target) throws IOException {\n500                 InputStream
      inputStream = new FileInputStream(source);\n501  \n502                 try {\n503
      \                   OutputStream outputStream = new FileOutputStream(target);\n504
      \ \n505                    try {\n506                       byte[] buffer =
      new byte[1024];\n507  \n508                       int index;\n509                       while((index
      = inputStream.read(buffer)) != -1) {\n510                          outputStream.write(buffer,
      0, index);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/DynamicType.java
      kind: Constructor
      name: copy
      package: net.bytebuddy.dynamic
  - id: 161
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/DynamicType.java
    line: 503
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "493              }\n494           }\n495  \n496           public static
      enum ForLegacyVm implements Dispatcher {\n497              INSTANCE;\n498  \n499
      \             public boolean copy(File source, File target) throws IOException
      {\n500                 InputStream inputStream = new FileInputStream(source);\n501
      \ \n502                 try {\n503                    OutputStream outputStream
      = new FileOutputStream(target);\n504  \n505                    try {\n506                       byte[]
      buffer = new byte[1024];\n507  \n508                       int index;\n509                       while((index
      = inputStream.read(buffer)) != -1) {\n510                          outputStream.write(buffer,
      0, index);\n511                       }\n512                    } finally {\n513
      \                      outputStream.close();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/DynamicType.java
      kind: Constructor
      name: copy
      package: net.bytebuddy.dynamic
  - id: 162
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/loading/ClassInjector.java
    line: 80
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "70  \n71        public static ClassInjector of(File folder, Target
      target, Instrumentation instrumentation) {\n72           return new UsingInstrumentation(folder,
      target, instrumentation, new RandomString());\n73        }\n74  \n75        public
      boolean isAlive() {\n76           return isAvailable();\n77        }\n78  \n79
      \       public Map injectRaw(Map types) {\n80           File file = new File(this.folder,
      \"jar\" + this.randomString.nextString() + \".\" + \"jar\");\n81  \n82           try
      {\n83              if (!file.createNewFile()) {\n84                 throw new
      IllegalStateException(\"Cannot create file \" + file);\n85              } else
      {\n86                 try {\n87                    JarOutputStream jarOutputStream
      = new JarOutputStream(new FileOutputStream(file));\n88  \n89                    try
      {\n90                       Iterator var4 = types.entrySet().iterator();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/loading/ClassInjector.java
      kind: Constructor
      name: injectRaw
      package: net.bytebuddy.dynamic.loading
  - id: 163
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/loading/ClassInjector.java
    line: 87
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "77        }\n78  \n79        public Map injectRaw(Map types) {\n80
      \          File file = new File(this.folder, \"jar\" + this.randomString.nextString()
      + \".\" + \"jar\");\n81  \n82           try {\n83              if (!file.createNewFile())
      {\n84                 throw new IllegalStateException(\"Cannot create file \"
      + file);\n85              } else {\n86                 try {\n87                    JarOutputStream
      jarOutputStream = new JarOutputStream(new FileOutputStream(file));\n88  \n89
      \                   try {\n90                       Iterator var4 = types.entrySet().iterator();\n91
      \ \n92                       while(var4.hasNext()) {\n93                          Map.Entry
      entry = (Map.Entry)var4.next();\n94                          jarOutputStream.putNextEntry(new
      JarEntry(((String)entry.getKey()).replace('.', '/') + \".class\"));\n95                          jarOutputStream.write((byte[])entry.getValue());\n96
      \                      }\n97                    } finally {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/loading/ClassInjector.java
      kind: Constructor
      name: injectRaw
      package: net.bytebuddy.dynamic.loading
  - id: 164
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/scaffold/TypeWriter.java
    line: 248
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "238  \n239           protected ClassDumpAction(String target, TypeDescription
      instrumentedType, boolean original, long suffix, byte[] binaryRepresentation)
      {\n240              this.target = target;\n241              this.instrumentedType
      = instrumentedType;\n242              this.original = original;\n243              this.suffix
      = suffix;\n244              this.binaryRepresentation = binaryRepresentation;\n245
      \          }\n246  \n247           public Void run() throws Exception {\n248
      \             OutputStream outputStream = new FileOutputStream(new File(this.target,
      this.instrumentedType.getName() + (this.original ? \"-original.\" : \".\") +
      this.suffix + \".class\"));\n249  \n250              Void var2;\n251              try
      {\n252                 outputStream.write(this.binaryRepresentation);\n253                 var2
      = NOTHING;\n254              } finally {\n255                 outputStream.close();\n256
      \             }\n257  \n258              return var2;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/scaffold/TypeWriter.java
      kind: Constructor
      name: run
      package: net.bytebuddy.dynamic.scaffold
  - id: 165
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogProcessor.java
    line: 136
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "126              logFormat = \"%.3f,%d,%.3f,%.3f,%.3f,%d,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f\\n\";\n127
      \             movingWindowLogFormat = \"%.3f,%d,%.3f,%.3f\\n\";\n128           }
      else {\n129              logFormat = \"%4.3f: I:%d ( %7.3f %7.3f %7.3f ) T:%d
      ( %7.3f %7.3f %7.3f %7.3f %7.3f %7.3f )\\n\";\n130              movingWindowLogFormat
      = \"%4.3f: I:%d P:%7.3f M:%7.3f\\n\";\n131           }\n132  \n133           try
      {\n134              if (this.config.outputFileName != null) {\n135                 try
      {\n136                    timeIntervalLog = new PrintStream(new FileOutputStream(this.config.outputFileName),
      false);\n137                    this.outputTimeRange(timeIntervalLog, \"Interval
      percentile log\");\n138                 } catch (FileNotFoundException var27)
      {\n139                    System.err.println(\"Failed to open output file \"
      + this.config.outputFileName);\n140                 }\n141  \n142                 String
      hgrmOutputFileName = this.config.outputFileName + \".hgrm\";\n143  \n144                 try
      {\n145                    histogramPercentileLog = new PrintStream(new FileOutputStream(hgrmOutputFileName),
      false);\n146                    this.outputTimeRange(histogramPercentileLog,
      \"Overall percentile distribution\");"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogProcessor.java
      kind: Constructor
      name: run
      package: org.HdrHistogram
  - id: 166
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogProcessor.java
    line: 145
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "135                 try {\n136                    timeIntervalLog =
      new PrintStream(new FileOutputStream(this.config.outputFileName), false);\n137
      \                   this.outputTimeRange(timeIntervalLog, \"Interval percentile
      log\");\n138                 } catch (FileNotFoundException var27) {\n139                    System.err.println(\"Failed
      to open output file \" + this.config.outputFileName);\n140                 }\n141
      \ \n142                 String hgrmOutputFileName = this.config.outputFileName
      + \".hgrm\";\n143  \n144                 try {\n145                    histogramPercentileLog
      = new PrintStream(new FileOutputStream(hgrmOutputFileName), false);\n146                    this.outputTimeRange(histogramPercentileLog,
      \"Overall percentile distribution\");\n147                 } catch (FileNotFoundException
      var26) {\n148                    System.err.println(\"Failed to open percentiles
      histogram output file \" + hgrmOutputFileName);\n149                 }\n150
      \ \n151                 if (this.config.movingWindow) {\n152                    movingWindowOutputFileName
      = this.config.outputFileName + \".mwp\";\n153  \n154                    try
      {\n155                       movingWindowLog = new PrintStream(new FileOutputStream(movingWindowOutputFileName),
      false);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogProcessor.java
      kind: Constructor
      name: run
      package: org.HdrHistogram
  - id: 167
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogProcessor.java
    line: 155
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "145                    histogramPercentileLog = new PrintStream(new
      FileOutputStream(hgrmOutputFileName), false);\n146                    this.outputTimeRange(histogramPercentileLog,
      \"Overall percentile distribution\");\n147                 } catch (FileNotFoundException
      var26) {\n148                    System.err.println(\"Failed to open percentiles
      histogram output file \" + hgrmOutputFileName);\n149                 }\n150
      \ \n151                 if (this.config.movingWindow) {\n152                    movingWindowOutputFileName
      = this.config.outputFileName + \".mwp\";\n153  \n154                    try
      {\n155                       movingWindowLog = new PrintStream(new FileOutputStream(movingWindowOutputFileName),
      false);\n156                       this.outputTimeRange(movingWindowLog, \"Moving
      window log for \" + this.config.movingWindowPercentileToReport + \" percentile\");\n157
      \                   } catch (FileNotFoundException var25) {\n158                       System.err.println(\"Failed
      to open moving window output file \" + movingWindowOutputFileName);\n159                    }\n160
      \                }\n161              }\n162  \n163              EncodableHistogram
      intervalHistogram = this.getIntervalHistogram(this.config.tag);\n164              boolean
      logUsesDoubleHistograms = intervalHistogram instanceof DoubleHistogram;\n165
      \             Histogram accumulatedRegularHistogram = logUsesDoubleHistograms
      ? new Histogram(3) : ((Histogram)intervalHistogram).copy();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogProcessor.java
      kind: Constructor
      name: run
      package: org.HdrHistogram
  - id: 168
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogReader.java
    line: 89
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "79     private double startTimeSec = 0.0;\n80     private boolean observedStartTime
      = false;\n81     private double baseTimeSec = 0.0;\n82     private boolean observedBaseTime
      = false;\n83     private boolean absolute;\n84     private double rangeStartTimeSec;\n85
      \    private double rangeEndTimeSec;\n86     private EncodableHistogram nextHistogram;\n87
      \ \n88     public HistogramLogReader(String inputFileName) throws FileNotFoundException
      {\n89        this.scanner = new HistogramLogScanner(new File(inputFileName));\n90
      \    }\n91  \n92     public HistogramLogReader(InputStream inputStream) {\n93
      \       this.scanner = new HistogramLogScanner(inputStream);\n94     }\n95  \n96
      \    public HistogramLogReader(File inputFile) throws FileNotFoundException
      {\n97        this.scanner = new HistogramLogScanner(inputFile);\n98     }\n99
      \ "
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogReader.java
      kind: Constructor
      name: HistogramLogReader
      package: org.HdrHistogram
  - id: 169
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogScanner.java
    line: 17
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 7  import java.nio.ByteBuffer;\n 8  import java.util.Locale;\n 9  import
      java.util.Scanner;\n10  import java.util.zip.DataFormatException;\n11  \n12
      \ public class HistogramLogScanner implements Closeable {\n13     private final
      LazyHistogramReader lazyReader;\n14     protected final Scanner scanner;\n15
      \ \n16     public HistogramLogScanner(String inputFileName) throws FileNotFoundException
      {\n17        this(new Scanner(new File(inputFileName)));\n18     }\n19  \n20
      \    public HistogramLogScanner(InputStream inputStream) {\n21        this(new
      Scanner(inputStream));\n22     }\n23  \n24     public HistogramLogScanner(File
      inputFile) throws FileNotFoundException {\n25        this(new Scanner(inputFile));\n26
      \    }\n27  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogScanner.java
      kind: Constructor
      name: HistogramLogScanner
      package: org.HdrHistogram
  - id: 170
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogWriter.java
    line: 26
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "16     private static final String HISTOGRAM_LOG_FORMAT_VERSION = \"1.3\";\n17
      \    private static Pattern containsDelimeterPattern = Pattern.compile(\".[,
      \\\\r\\\\n].\");\n18     private Matcher containsDelimeterMatcher;\n19     private
      final PrintStream log;\n20     private ByteBuffer targetBuffer;\n21     private
      long baseTime;\n22  \n23     public HistogramLogWriter(String outputFileName)
      throws FileNotFoundException {\n24        this.containsDelimeterMatcher = containsDelimeterPattern.matcher(\"\");\n25
      \       this.baseTime = 0L;\n26        this.log = new PrintStream(outputFileName);\n27
      \    }\n28  \n29     public HistogramLogWriter(File outputFile) throws FileNotFoundException
      {\n30        this.containsDelimeterMatcher = containsDelimeterPattern.matcher(\"\");\n31
      \       this.baseTime = 0L;\n32        this.log = new PrintStream(outputFile);\n33
      \    }\n34  \n35     public HistogramLogWriter(OutputStream outputStream) {\n36
      \       this.containsDelimeterMatcher = containsDelimeterPattern.matcher(\"\");"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogWriter.java
      kind: Constructor
      name: HistogramLogWriter
      package: org.HdrHistogram
  - id: 171
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogWriter.java
    line: 32
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "22  \n23     public HistogramLogWriter(String outputFileName) throws
      FileNotFoundException {\n24        this.containsDelimeterMatcher = containsDelimeterPattern.matcher(\"\");\n25
      \       this.baseTime = 0L;\n26        this.log = new PrintStream(outputFileName);\n27
      \    }\n28  \n29     public HistogramLogWriter(File outputFile) throws FileNotFoundException
      {\n30        this.containsDelimeterMatcher = containsDelimeterPattern.matcher(\"\");\n31
      \       this.baseTime = 0L;\n32        this.log = new PrintStream(outputFile);\n33
      \    }\n34  \n35     public HistogramLogWriter(OutputStream outputStream) {\n36
      \       this.containsDelimeterMatcher = containsDelimeterPattern.matcher(\"\");\n37
      \       this.baseTime = 0L;\n38        this.log = new PrintStream(outputStream);\n39
      \    }\n40  \n41     public HistogramLogWriter(PrintStream printStream) {\n42
      \       this.containsDelimeterMatcher = containsDelimeterPattern.matcher(\"\");"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogWriter.java
      kind: Constructor
      name: HistogramLogWriter
      package: org.HdrHistogram
  - id: 172
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogWriter.java
    line: 38
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "28  \n29     public HistogramLogWriter(File outputFile) throws FileNotFoundException
      {\n30        this.containsDelimeterMatcher = containsDelimeterPattern.matcher(\"\");\n31
      \       this.baseTime = 0L;\n32        this.log = new PrintStream(outputFile);\n33
      \    }\n34  \n35     public HistogramLogWriter(OutputStream outputStream) {\n36
      \       this.containsDelimeterMatcher = containsDelimeterPattern.matcher(\"\");\n37
      \       this.baseTime = 0L;\n38        this.log = new PrintStream(outputStream);\n39
      \    }\n40  \n41     public HistogramLogWriter(PrintStream printStream) {\n42
      \       this.containsDelimeterMatcher = containsDelimeterPattern.matcher(\"\");\n43
      \       this.baseTime = 0L;\n44        this.log = printStream;\n45     }\n46
      \ \n47     public void close() {\n48        this.log.close();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/HdrHistogram/HistogramLogWriter.java
      kind: Constructor
      name: HistogramLogWriter
      package: org.HdrHistogram
  - id: 173
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/apache/logging/log4j/simple/SimpleLoggerContext.java
    line: 45
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "35        this.defaultLevel = Level.toLevel(lvl, Level.ERROR);\n36
      \       this.dateTimeFormat = this.showDateTime ? this.props.getStringProperty(\"org.apache.logging.log4j.simplelog.dateTimeFormat\",
      \"yyyy/MM/dd HH:mm:ss:SSS zzz\") : null;\n37        String fileName = this.props.getStringProperty(\"org.apache.logging.log4j.simplelog.logFile\",
      \"system.err\");\n38        PrintStream ps;\n39        if (\"system.err\".equalsIgnoreCase(fileName))
      {\n40           ps = System.err;\n41        } else if (\"system.out\".equalsIgnoreCase(fileName))
      {\n42           ps = System.out;\n43        } else {\n44           try {\n45
      \             FileOutputStream os = new FileOutputStream(fileName);\n46              ps
      = new PrintStream(os);\n47           } catch (FileNotFoundException var5) {\n48
      \             ps = System.err;\n49           }\n50        }\n51  \n52        this.stream
      = ps;\n53     }\n54  \n55     public ExtendedLogger getLogger(final String name)
      {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/apache/logging/log4j/simple/SimpleLoggerContext.java
      kind: Constructor
      name: SimpleLoggerContext
      package: org.apache.logging.log4j.simple
  - id: 174
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/apache/logging/log4j/simple/SimpleLoggerContext.java
    line: 46
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "36        this.dateTimeFormat = this.showDateTime ? this.props.getStringProperty(\"org.apache.logging.log4j.simplelog.dateTimeFormat\",
      \"yyyy/MM/dd HH:mm:ss:SSS zzz\") : null;\n37        String fileName = this.props.getStringProperty(\"org.apache.logging.log4j.simplelog.logFile\",
      \"system.err\");\n38        PrintStream ps;\n39        if (\"system.err\".equalsIgnoreCase(fileName))
      {\n40           ps = System.err;\n41        } else if (\"system.out\".equalsIgnoreCase(fileName))
      {\n42           ps = System.out;\n43        } else {\n44           try {\n45
      \             FileOutputStream os = new FileOutputStream(fileName);\n46              ps
      = new PrintStream(os);\n47           } catch (FileNotFoundException var5) {\n48
      \             ps = System.err;\n49           }\n50        }\n51  \n52        this.stream
      = ps;\n53     }\n54  \n55     public ExtendedLogger getLogger(final String name)
      {\n56        return this.getLogger(name, (MessageFactory)null);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/apache/logging/log4j/simple/SimpleLoggerContext.java
      kind: Constructor
      name: SimpleLoggerContext
      package: org.apache.logging.log4j.simple
  - id: 175
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/apache/logging/log4j/status/StatusData.java
    line: 77
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "67        Throwable t;\n68        if (this.throwable == null && params
      != null && params[params.length - 1] instanceof Throwable) {\n69           t
      = (Throwable)params[params.length - 1];\n70        } else {\n71           t
      = this.throwable;\n72        }\n73  \n74        if (t != null) {\n75           sb.append('
      ');\n76           ByteArrayOutputStream baos = new ByteArrayOutputStream();\n77
      \          t.printStackTrace(new PrintStream(baos));\n78           sb.append(baos.toString());\n79
      \       }\n80  \n81        return sb.toString();\n82     }\n83  }\n"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/apache/logging/log4j/status/StatusData.java
      kind: Constructor
      name: getFormattedStatus
      package: org.apache.logging.log4j.status
  - id: 176
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/apache/logging/log4j/util/LowLevelLogUtil.java
    line: 31
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "21        }\n22  \n23     }\n24  \n25     public static void logException(final
      String message, final Throwable exception) {\n26        log(message);\n27        logException(exception);\n28
      \    }\n29  \n30     public static void setOutputStream(final OutputStream out)
      {\n31        writer = new PrintWriter((OutputStream)Objects.requireNonNull(out),
      true);\n32     }\n33  \n34     public static void setWriter(final Writer writer)
      {\n35        LowLevelLogUtil.writer = new PrintWriter((Writer)Objects.requireNonNull(writer),
      true);\n36     }\n37  \n38     private LowLevelLogUtil() {\n39     }\n40  \n41
      \    static {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/apache/logging/log4j/util/LowLevelLogUtil.java
      kind: Constructor
      name: setOutputStream
      package: org.apache.logging.log4j.util
  - id: 177
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/apache/logging/log4j/util/LowLevelLogUtil.java
    line: 35
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "25     public static void logException(final String message, final
      Throwable exception) {\n26        log(message);\n27        logException(exception);\n28
      \    }\n29  \n30     public static void setOutputStream(final OutputStream out)
      {\n31        writer = new PrintWriter((OutputStream)Objects.requireNonNull(out),
      true);\n32     }\n33  \n34     public static void setWriter(final Writer writer)
      {\n35        LowLevelLogUtil.writer = new PrintWriter((Writer)Objects.requireNonNull(writer),
      true);\n36     }\n37  \n38     private LowLevelLogUtil() {\n39     }\n40  \n41
      \    static {\n42        writer = new PrintWriter(System.err, true);\n43     }\n44
      \ }\n"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/apache/logging/log4j/util/LowLevelLogUtil.java
      kind: Constructor
      name: setWriter
      package: org.apache.logging.log4j.util
  - id: 178
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jboss/jandex/JandexAntTask.java
    line: 37
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "27              while(var2.hasNext()) {\n28                 FileSet
      fileset = (FileSet)var2.next();\n29                 String[] files = fileset.getDirectoryScanner(this.getProject()).getIncludedFiles();\n30
      \                String[] var5 = files;\n31                 int var6 = files.length;\n32
      \ \n33                 for(int var7 = 0; var7 < var6; ++var7) {\n34                    String
      file = var5[var7];\n35                    if (file.endsWith(\".jar\")) {\n36
      \                      try {\n37                          JarIndexer.createJarIndex(new
      File(fileset.getDir().getAbsolutePath() + \"/\" + file), indexer, this.modify,
      this.newJar, this.verbose);\n38                       } catch (IOException var10)
      {\n39                          throw new BuildException(var10);\n40                       }\n41
      \                   }\n42                 }\n43              }\n44  \n45           }\n46
      \       }\n47     }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jboss/jandex/JandexAntTask.java
      kind: Constructor
      name: execute
      package: org.jboss.jandex
  - id: 179
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jboss/jandex/JarIndexer.java
    line: 141
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "131           safeClose((Closeable)out);\n132           safeClose(jar);\n133
      \          if (tmpCopy != null) {\n134              tmpCopy.delete();\n135           }\n136
      \ \n137        }\n138     }\n139  \n140     private static void copy(File dest,
      File source) throws IOException {\n141        FileInputStream fis = new FileInputStream(source);\n142
      \       FileOutputStream fos = new FileOutputStream(new File(dest.getAbsolutePath()));\n143
      \ \n144        try {\n145           byte[] b = new byte[8196];\n146           int
      count = false;\n147  \n148           int count;\n149           while((count
      = fis.read(b, 0, 8196)) >= 0) {\n150              fos.write(b, 0, count);\n151
      \          }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jboss/jandex/JarIndexer.java
      kind: Constructor
      name: copy
      package: org.jboss.jandex
  - id: 180
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jboss/jandex/JarIndexer.java
    line: 142
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "132           safeClose(jar);\n133           if (tmpCopy != null) {\n134
      \             tmpCopy.delete();\n135           }\n136  \n137        }\n138     }\n139
      \ \n140     private static void copy(File dest, File source) throws IOException
      {\n141        FileInputStream fis = new FileInputStream(source);\n142        FileOutputStream
      fos = new FileOutputStream(new File(dest.getAbsolutePath()));\n143  \n144        try
      {\n145           byte[] b = new byte[8196];\n146           int count = false;\n147
      \ \n148           int count;\n149           while((count = fis.read(b, 0, 8196))
      >= 0) {\n150              fos.write(b, 0, count);\n151           }\n152        }
      finally {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jboss/jandex/JarIndexer.java
      kind: Constructor
      name: copy
      package: org.jboss.jandex
  - id: 181
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jboss/jandex/JarIndexer.java
    line: 26
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "16  \n17  public class JarIndexer {\n18     private static File getIndexFile(File
      jarFile, boolean newJar) {\n19        String name = jarFile.getName();\n20        int
      p = name.lastIndexOf(\".\");\n21        if (p < 0) {\n22           throw new
      IllegalArgumentException(\"File has no extension / ext: \" + jarFile);\n23        }
      else {\n24           String ext = name.substring(p);\n25           String pattern
      = \"\\\\\" + ext + \"$\";\n26           return newJar ? new File(jarFile.getAbsolutePath().replaceAll(pattern,
      \"-jandex\" + ext)) : new File(jarFile.getAbsolutePath().replaceAll(pattern,
      \"-\" + ext.substring(1)) + \".idx\");\n27        }\n28     }\n29  \n30     public
      static Result createJarIndex(File jarFile, Indexer indexer, boolean modify,
      boolean newJar, boolean verbose) throws IOException {\n31        return createJarIndex(jarFile,
      indexer, modify, newJar, verbose, System.out, System.err);\n32     }\n33  \n34
      \    public static Result createJarIndex(File jarFile, Indexer indexer, File
      outputFile, boolean modify, boolean newJar, boolean verbose) throws IOException
      {\n35        return createJarIndex(jarFile, indexer, outputFile, modify, newJar,
      verbose, System.out, System.err);\n36     }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jboss/jandex/JarIndexer.java
      kind: Constructor
      name: getIndexFile
      package: org.jboss.jandex
  - id: 182
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jboss/jandex/JarIndexer.java
    line: 49
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "39        return createJarIndex(jarFile, indexer, (File)null, modify,
      newJar, verbose, infoStream, errStream);\n40     }\n41  \n42     public static
      Result createJarIndex(File jarFile, Indexer indexer, File outputFile, boolean
      modify, boolean newJar, boolean verbose, PrintStream infoStream, PrintStream
      errStream) throws IOException {\n43        File tmpCopy = null;\n44        ZipOutputStream
      zo = null;\n45        JarFile jar = new JarFile(jarFile);\n46        Object
      out;\n47        if (modify) {\n48           tmpCopy = File.createTempFile(jarFile.getName().substring(0,
      jarFile.getName().lastIndexOf(46)) + \"00\", \"jmp\");\n49           out = zo
      = new ZipOutputStream(new FileOutputStream(tmpCopy));\n50           outputFile
      = jarFile;\n51        } else if (newJar) {\n52           outputFile = getIndexFile(jarFile,
      newJar);\n53           out = zo = new ZipOutputStream(new FileOutputStream(outputFile));\n54
      \       } else {\n55           if (outputFile == null) {\n56              outputFile
      = getIndexFile(jarFile, newJar);\n57           }\n58  \n59           out = new
      FileOutputStream(outputFile);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jboss/jandex/JarIndexer.java
      kind: Constructor
      name: createJarIndex
      package: org.jboss.jandex
  - id: 183
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jboss/jandex/JarIndexer.java
    line: 53
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "43        File tmpCopy = null;\n44        ZipOutputStream zo = null;\n45
      \       JarFile jar = new JarFile(jarFile);\n46        Object out;\n47        if
      (modify) {\n48           tmpCopy = File.createTempFile(jarFile.getName().substring(0,
      jarFile.getName().lastIndexOf(46)) + \"00\", \"jmp\");\n49           out = zo
      = new ZipOutputStream(new FileOutputStream(tmpCopy));\n50           outputFile
      = jarFile;\n51        } else if (newJar) {\n52           outputFile = getIndexFile(jarFile,
      newJar);\n53           out = zo = new ZipOutputStream(new FileOutputStream(outputFile));\n54
      \       } else {\n55           if (outputFile == null) {\n56              outputFile
      = getIndexFile(jarFile, newJar);\n57           }\n58  \n59           out = new
      FileOutputStream(outputFile);\n60        }\n61  \n62        try {\n63           Enumeration
      entries = jar.entries();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jboss/jandex/JarIndexer.java
      kind: Constructor
      name: createJarIndex
      package: org.jboss.jandex
  - id: 184
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jboss/jandex/JarIndexer.java
    line: 59
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "49           out = zo = new ZipOutputStream(new FileOutputStream(tmpCopy));\n50
      \          outputFile = jarFile;\n51        } else if (newJar) {\n52           outputFile
      = getIndexFile(jarFile, newJar);\n53           out = zo = new ZipOutputStream(new
      FileOutputStream(outputFile));\n54        } else {\n55           if (outputFile
      == null) {\n56              outputFile = getIndexFile(jarFile, newJar);\n57
      \          }\n58  \n59           out = new FileOutputStream(outputFile);\n60
      \       }\n61  \n62        try {\n63           Enumeration entries = jar.entries();\n64
      \ \n65           while(true) {\n66              JarEntry entry;\n67              do
      {\n68                 if (!entries.hasMoreElements()) {\n69                    if
      (modify || newJar) {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jboss/jandex/JarIndexer.java
      kind: Constructor
      name: createJarIndex
      package: org.jboss.jandex
  - id: 185
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
    line: 92
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 82        this.scanFile(source, indexer);\n 83        if (this.modify)
      {\n 84           (new File(source, \"META-INF\")).mkdirs();\n 85           outputFile
      = new File(source, \"META-INF/jandex.idx\");\n 86        }\n 87  \n 88        if
      (outputFile == null) {\n 89           outputFile = new File(source.getName().replace('.',
      '-') + \".idx\");\n 90        }\n 91  \n 92        FileOutputStream out = new
      FileOutputStream(outputFile);\n 93        IndexWriter writer = new IndexWriter(out);\n
      94  \n 95        Result var8;\n 96        try {\n 97           Index index =
      indexer.complete();\n 98           int bytes = writer.write(index);\n 99           var8
      = new Result(index, outputFile.getPath(), bytes, outputFile);\n100        }
      finally {\n101           out.flush();\n102           out.close();"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
      kind: Constructor
      name: indexDirectory
      package: org.jboss.jandex
  - id: 186
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
    line: 116
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "106     }\n107  \n108     private void printIndexEntryInfo(ClassInfo
      info) {\n109        System.out.println(\"Indexed \" + info.name() + \" (\" +
      info.annotations().size() + \" annotations)\");\n110     }\n111  \n112     private
      void scanFile(File source, Indexer indexer) throws FileNotFoundException, IOException
      {\n113        if (source.isDirectory()) {\n114           File[] children = source.listFiles();\n115
      \          if (children == null) {\n116              throw new FileNotFoundException(\"Source
      directory disappeared: \" + source);\n117           } else {\n118              File[]
      var14 = children;\n119              int var15 = children.length;\n120  \n121
      \             for(int var6 = 0; var6 < var15; ++var6) {\n122                 File
      child = var14[var6];\n123                 this.scanFile(child, indexer);\n124
      \             }\n125  \n126           }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
      kind: Constructor
      name: scanFile
      package: org.jboss.jandex
  - id: 187
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
    line: 128
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "118              File[] var14 = children;\n119              int var15
      = children.length;\n120  \n121              for(int var6 = 0; var6 < var15;
      ++var6) {\n122                 File child = var14[var6];\n123                 this.scanFile(child,
      indexer);\n124              }\n125  \n126           }\n127        } else if
      (source.getName().endsWith(\".class\")) {\n128           FileInputStream input
      = new FileInputStream(source);\n129  \n130           try {\n131              ClassInfo
      info = indexer.index(input);\n132              if (this.verbose && info != null)
      {\n133                 this.printIndexEntryInfo(info);\n134              }\n135
      \          } catch (Exception var11) {\n136              String message = var11.getMessage()
      == null ? var11.getClass().getSimpleName() : var11.getMessage();\n137              System.err.println(\"ERROR:
      Could not index \" + source.getName() + \": \" + message);\n138              if
      (this.verbose) {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
      kind: Constructor
      name: scanFile
      package: org.jboss.jandex
  - id: 188
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
    line: 201
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "191                    if (i >= args.length) {\n192                       throw
      new IllegalArgumentException(\"-o requires an output file name\");\n193                    }\n194
      \ \n195                    ++i;\n196                    String name = args[i];\n197
      \                   if (name.length() < 1) {\n198                       throw
      new IllegalArgumentException(\"-o requires an output file name\");\n199                    }\n200
      \ \n201                    this.outputFile = new File(name);\n202                    ++optionCount;\n203
      \                   break;\n204                 case 'v':\n205                    this.verbose
      = true;\n206                    ++optionCount;\n207                    break;\n208
      \                default:\n209                    throw new IllegalArgumentException(\"Option
      not understood: \" + arg);\n210              }\n211           } else {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
      kind: Constructor
      name: parseOptions
      package: org.jboss.jandex
  - id: 189
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
    line: 216
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "206                    ++optionCount;\n207                    break;\n208
      \                default:\n209                    throw new IllegalArgumentException(\"Option
      not understood: \" + arg);\n210              }\n211           } else {\n212
      \             if (this.source != null) {\n213                 throw new IllegalArgumentException(\"Only
      one source location can be specified\");\n214              }\n215  \n216              this.source
      = new File(arg);\n217              if (!this.source.exists()) {\n218                 throw
      new IllegalArgumentException(\"Source directory/jar not found: \" + this.source.getName());\n219
      \             }\n220           }\n221        }\n222  \n223        if (this.source
      == null) {\n224           throw new IllegalArgumentException(\"Source location
      not specified\");\n225        } else if (this.outputFile != null && this.modify)
      {\n226           throw new IllegalArgumentException(\"-o and -m are mutually
      exclusive\");"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
      kind: Constructor
      name: parseOptions
      package: org.jboss.jandex
  - id: 190
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
    line: 69
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "59  \n60     private Index getIndex(long start) throws IOException
      {\n61        Indexer indexer = new Indexer();\n62        Result result = this.source.isDirectory()
      ? this.indexDirectory(this.source, indexer) : JarIndexer.createJarIndex(this.source,
      indexer, this.outputFile, this.modify, this.jarFile, this.verbose);\n63        double
      time = (double)(System.currentTimeMillis() - start) / 1000.0;\n64        System.out.printf(\"Wrote
      %s in %.4f seconds (%d classes, %d annotations, %d instances, %d bytes)\\n\",
      result.getName(), time, result.getClasses(), result.getAnnotations(), result.getInstances(),
      result.getBytes());\n65        return result.getIndex();\n66     }\n67  \n68
      \    private void dumpIndex(File source) throws IOException {\n69        FileInputStream
      input = new FileInputStream(source);\n70        IndexReader reader = new IndexReader(input);\n71
      \       long start = System.currentTimeMillis();\n72        Index index = reader.read();\n73
      \       long end = System.currentTimeMillis() - start;\n74        System.out.println(\"Dump
      index v\" + reader.getIndexVersion() + \" (current: v\" + 9 + \") file: \" +
      source);\n75        index.printAnnotations();\n76        index.printSubclasses();\n77
      \       System.out.printf(\"\\nRead %s in %.04f seconds\\n\", source.getName(),
      (double)end / 1000.0);\n78     }\n79  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
      kind: Constructor
      name: dumpIndex
      package: org.jboss.jandex
  - id: 191
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
    line: 85
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "75        index.printAnnotations();\n76        index.printSubclasses();\n77
      \       System.out.printf(\"\\nRead %s in %.04f seconds\\n\", source.getName(),
      (double)end / 1000.0);\n78     }\n79  \n80     private Result indexDirectory(File
      source, Indexer indexer) throws FileNotFoundException, IOException {\n81        File
      outputFile = this.outputFile;\n82        this.scanFile(source, indexer);\n83
      \       if (this.modify) {\n84           (new File(source, \"META-INF\")).mkdirs();\n85
      \          outputFile = new File(source, \"META-INF/jandex.idx\");\n86        }\n87
      \ \n88        if (outputFile == null) {\n89           outputFile = new File(source.getName().replace('.',
      '-') + \".idx\");\n90        }\n91  \n92        FileOutputStream out = new FileOutputStream(outputFile);\n93
      \       IndexWriter writer = new IndexWriter(out);\n94  \n95        Result var8;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
      kind: Constructor
      name: indexDirectory
      package: org.jboss.jandex
  - id: 192
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
    line: 89
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "79  \n80     private Result indexDirectory(File source, Indexer indexer)
      throws FileNotFoundException, IOException {\n81        File outputFile = this.outputFile;\n82
      \       this.scanFile(source, indexer);\n83        if (this.modify) {\n84           (new
      File(source, \"META-INF\")).mkdirs();\n85           outputFile = new File(source,
      \"META-INF/jandex.idx\");\n86        }\n87  \n88        if (outputFile == null)
      {\n89           outputFile = new File(source.getName().replace('.', '-') + \".idx\");\n90
      \       }\n91  \n92        FileOutputStream out = new FileOutputStream(outputFile);\n93
      \       IndexWriter writer = new IndexWriter(out);\n94  \n95        Result var8;\n96
      \       try {\n97           Index index = indexer.complete();\n98           int
      bytes = writer.write(index);\n99           var8 = new Result(index, outputFile.getPath(),
      bytes, outputFile);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jboss/jandex/Main.java
      kind: Constructor
      name: indexDirectory
      package: org.jboss.jandex
  - id: 193
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jvnet/staxex/Base64Data.java
    line: 295
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "285           return this.getDataSource().getInputStream();\n286        }\n287
      \ \n288        public void moveTo(File dst) throws IOException {\n289           byte[]
      buf = new byte[8192];\n290           InputStream in = null;\n291           OutputStream
      out = null;\n292  \n293           try {\n294              in = this.getDataSource().getInputStream();\n295
      \             out = new FileOutputStream(dst);\n296  \n297              while(true)
      {\n298                 int amountRead = in.read(buf);\n299                 if
      (amountRead == -1) {\n300                    return;\n301                 }\n302
      \ \n303                 out.write(buf, 0, amountRead);\n304              }\n305
      \          } finally {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jvnet/staxex/Base64Data.java
      kind: Constructor
      name: moveTo
      package: org.jvnet.staxex
  - id: 194
    createTime: 2024-09-17T13:12:59.579314514Z
    issue: 3
    file: /shared/bin/java-project/src/main/java/org/jvnet/staxex/Base64Data.java
    line: 337
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "327     private final class Base64StreamingDataHandler extends StreamingDataHandler
      {\n328        Base64StreamingDataHandler(DataSource source) {\n329           super(source);\n330
      \       }\n331  \n332        public InputStream readOnce() throws IOException
      {\n333           return this.getDataSource().getInputStream();\n334        }\n335
      \ \n336        public void moveTo(File dst) throws IOException {\n337           FileOutputStream
      fout = new FileOutputStream(dst);\n338  \n339           try {\n340              fout.write(Base64Data.this.data,
      0, Base64Data.this.dataLen);\n341           } finally {\n342              fout.close();\n343
      \          }\n344  \n345        }\n346  \n347        public void close() throws
      IOException {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/org/jvnet/staxex/Base64Data.java
      kind: Constructor
      name: moveTo
      package: org.jvnet.staxex
  links:
  - url: https://docs.openshift.com/container-platform/4.5/builds/creating-build-inputs.html#builds-input-secrets-configmaps_creating-build-inputs
    title: 'OpenShift Container Platform: Input secrets and ConfigMaps'
  - url: https://docs.openshift.com/container-platform/4.5/logging/cluster-logging.html
    title: 'OpenShift Container Platform: Understanding cluster logging'
  - url: https://docs.openshift.com/container-platform/4.5/storage/understanding-persistent-storage.html
    title: 'OpenShift Container Platform: Understanding persistent storage'
  - url: https://12factor.net/backing-services
    title: 'Twelve-Factor App: Backing services'
  - url: https://12factor.net/config
    title: 'Twelve-Factor App: Config'
  - url: https://12factor.net/logs
    title: 'Twelve-Factor App: Logs'
  labels:
  - konveyor.io/source
  - konveyor.io/target=cloud-readiness
  - storage
- id: 4
  createTime: 2024-09-17T13:12:59.583227816Z
  analysis: 1
  ruleset: cloud-readiness
  rule: local-storage-00002
  name: ""
  description: File system - java.net.URL/URI
  category: mandatory
  effort: 1
  incidents:
  - id: 195
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/classic/util/ContextInitializer.java
    line: 73
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "63        configurator.doConfigure(url);\n64     }\n65  \n66     private
      URL findConfigFileURLFromSystemProperties(ClassLoader classLoader, boolean updateStatus)
      {\n67        String logbackConfigFile = OptionHelper.getSystemProperty(\"logback.configurationFile\");\n68
      \       if (logbackConfigFile != null) {\n69           URL result = null;\n70
      \ \n71           URL var7;\n72           try {\n73              result = new
      URL(logbackConfigFile);\n74              var7 = result;\n75              return
      var7;\n76           } catch (MalformedURLException var12) {\n77              result
      = Loader.getResource(logbackConfigFile, classLoader);\n78              if (result
      != null) {\n79                 var7 = result;\n80                 return var7;\n81
      \             }\n82  \n83              File f = new File(logbackConfigFile);"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/classic/util/ContextInitializer.java
      kind: Constructor
      name: findConfigFileURLFromSystemProperties
      package: ch.qos.logback.classic.util
  - id: 196
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/joran/action/IncludeAction.java
    line: 93
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 83           return false;\n 84        } else if (count == 1) {\n
      85           return true;\n 86        } else {\n 87           throw new IllegalStateException(\"Count
      value [\" + count + \"] is not expected\");\n 88        }\n 89     }\n 90  \n
      91     URL attributeToURL(String urlAttribute) {\n 92        try {\n 93           return
      new URL(urlAttribute);\n 94        } catch (MalformedURLException var4) {\n
      95           String errMsg = \"URL [\" + urlAttribute + \"] is not well formed.\";\n
      96           this.addError(errMsg, var4);\n 97           return null;\n 98        }\n
      99     }\n100  \n101     InputStream openURL(URL url) {\n102        try {\n103
      \          return url.openStream();"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/joran/action/IncludeAction.java
      kind: Constructor
      name: attributeToURL
      package: ch.qos.logback.core.joran.action
  - id: 197
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/util/LocationUtil.java
    line: 30
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "20              if (path.startsWith(\"/\")) {\n21                 path
      = path.substring(1);\n22              }\n23  \n24              if (path.length()
      == 0) {\n25                 throw new MalformedURLException(\"path is required\");\n26
      \             }\n27  \n28              url = Loader.getResourceBySelfClassLoader(path);\n29
      \          } else {\n30              url = new URL(location);\n31           }\n32
      \ \n33           if (url == null) {\n34              throw new FileNotFoundException(location);\n35
      \          } else {\n36              return url;\n37           }\n38        }\n39
      \    }\n40  }"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/util/LocationUtil.java
      kind: Constructor
      name: urlForResource
      package: ch.qos.logback.core.util
  - id: 198
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/deser/std/FromStringDeserializer.java
    line: 209
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "199           super(valueType);\n200           this._kind = kind;\n201
      \       }\n202  \n203        protected Object _deserialize(String value, DeserializationContext
      ctxt) throws IOException {\n204           int ix;\n205           switch (this._kind)
      {\n206              case 1:\n207                 return new File(value);\n208
      \             case 2:\n209                 return new URL(value);\n210              case
      3:\n211                 return URI.create(value);\n212              case 4:\n213
      \                try {\n214                    return ctxt.findClass(value);\n215
      \                } catch (Exception var6) {\n216                    return ctxt.handleInstantiationProblem(this._valueClass,
      value, ClassUtil.getRootCause(var6));\n217                 }\n218              case
      5:\n219                 return ctxt.getTypeFactory().constructFromCanonical(value);"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/deser/std/FromStringDeserializer.java
      kind: Constructor
      name: _deserialize
      package: com.fasterxml.jackson.databind.deser.std
  - id: 199
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/deser/std/StdKeyDeserializer.java
    line: 204
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: |-
      194                 return this._weirdKey(ctxt, key, var9);
      195              }
      196           case 13:
      197              try {
      198                 return URI.create(key);
      199              } catch (Exception var8) {
      200                 return this._weirdKey(ctxt, key, var8);
      201              }
      202           case 14:
      203              try {
      204                 return new URL(key);
      205              } catch (MalformedURLException var7) {
      206                 return this._weirdKey(ctxt, key, var7);
      207              }
      208           case 15:
      209              try {
      210                 return ctxt.findClass(key);
      211              } catch (Exception var6) {
      212                 return ctxt.handleWeirdKey(this._keyClass, key, "unable to parse key as Class");
      213              }
      214           case 16:
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/deser/std/StdKeyDeserializer.java
      kind: Constructor
      name: _parse
      package: com.fasterxml.jackson.databind.deser.std
  - id: 200
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ext/NioPathDeserializer.java
    line: 38
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "28           return (Path)ctxt.handleUnexpectedToken(Path.class, p);\n29
      \       } else {\n30           String value = p.getText();\n31           if
      (value.indexOf(58) < 0) {\n32              return Paths.get(value);\n33           }
      else if (areWindowsFilePathsSupported && value.length() >= 2 && Character.isLetter(value.charAt(0))
      && value.charAt(1) == ':') {\n34              return Paths.get(value);\n35           }
      else {\n36              URI uri;\n37              try {\n38                 uri
      = new URI(value);\n39              } catch (URISyntaxException var12) {\n40
      \                return (Path)ctxt.handleInstantiationProblem(this.handledType(),
      value, var12);\n41              }\n42  \n43              try {\n44                 return
      Paths.get(uri);\n45              } catch (FileSystemNotFoundException var10)
      {\n46                 FileSystemNotFoundException cause = var10;\n47  \n48                 try
      {"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ext/NioPathDeserializer.java
      kind: Constructor
      name: deserialize
      package: com.fasterxml.jackson.databind.ext
  - id: 201
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/com/sun/xml/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java
    line: 236
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "226  \n227           public String print(File v) {\n228              return
      v.getPath();\n229           }\n230        });\n231        secondaryList.add(new
      StringImpl(URL.class, new QName[]{createXS(\"anyURI\")}) {\n232           public
      URL parse(CharSequence text) throws SAXException {\n233              TODO.checkSpec(\"JSR222
      Issue #42\");\n234  \n235              try {\n236                 return new
      URL(WhiteSpaceProcessor.trim(text).toString());\n237              } catch (MalformedURLException
      var3) {\n238                 UnmarshallingContext.getInstance().handleError((Exception)var3);\n239
      \                return null;\n240              }\n241           }\n242  \n243
      \          public String print(URL v) {\n244              return v.toExternalForm();\n245
      \          }\n246        });"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java
      kind: Constructor
      name: parse
      package: com.sun.xml.bind.v2.model.impl
  - id: 202
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/com/sun/xml/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java
    line: 251
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "241           }\n242  \n243           public String print(URL v) {\n244
      \             return v.toExternalForm();\n245           }\n246        });\n247
      \       if (MAP_ANYURI_TO_URI_VALUE == null) {\n248           secondaryList.add(new
      StringImpl(URI.class, new QName[]{createXS(\"string\")}) {\n249              public
      URI parse(CharSequence text) throws SAXException {\n250                 try
      {\n251                    return new URI(text.toString());\n252                 }
      catch (URISyntaxException var3) {\n253                    UnmarshallingContext.getInstance().handleError((Exception)var3);\n254
      \                   return null;\n255                 }\n256              }\n257
      \ \n258              public String print(URI v) {\n259                 return
      v.toString();\n260              }\n261           });"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java
      kind: Constructor
      name: parse
      package: com.sun.xml.bind.v2.model.impl
  - id: 203
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/com/sun/xml/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java
    line: 667
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "657           }\n658  \n659           public void declareNamespace(QName
      v, XMLSerializer w) {\n660              w.getNamespaceContext().declareNamespace(v.getNamespaceURI(),
      v.getPrefix(), false);\n661           }\n662        });\n663        if (MAP_ANYURI_TO_URI_VALUE
      != null) {\n664           primaryList.add(new StringImpl(URI.class, new QName[]{createXS(\"anyURI\")})
      {\n665              public URI parse(CharSequence text) throws SAXException
      {\n666                 try {\n667                    return new URI(text.toString());\n668
      \                } catch (URISyntaxException var3) {\n669                    UnmarshallingContext.getInstance().handleError((Exception)var3);\n670
      \                   return null;\n671                 }\n672              }\n673
      \ \n674              public String print(URI v) {\n675                 return
      v.toString();\n676              }\n677           });"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java
      kind: Constructor
      name: parse
      package: com.sun.xml.bind.v2.model.impl
  - id: 204
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/com/sun/xml/bind/v2/schemagen/XmlSchemaGenerator.java
    line: 453
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "443        }\n444     }\n445  \n446     protected static String relativize(String
      uri, String baseUri) {\n447        try {\n448           assert uri != null;\n449
      \ \n450           if (baseUri == null) {\n451              return uri;\n452
      \          } else {\n453              URI theUri = new URI(Util.escapeURI(uri));\n454
      \             URI theBaseUri = new URI(Util.escapeURI(baseUri));\n455              if
      (!theUri.isOpaque() && !theBaseUri.isOpaque()) {\n456                 if (Util.equalsIgnoreCase(theUri.getScheme(),
      theBaseUri.getScheme()) && Util.equal(theUri.getAuthority(), theBaseUri.getAuthority()))
      {\n457                    String uriPath = theUri.getPath();\n458                    String
      basePath = theBaseUri.getPath();\n459                    if (!basePath.endsWith(\"/\"))
      {\n460                       basePath = Util.normalizeUriPath(basePath);\n461
      \                   }\n462  \n463                    if (uriPath.equals(basePath))
      {"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/bind/v2/schemagen/XmlSchemaGenerator.java
      kind: Constructor
      name: relativize
      package: com.sun.xml.bind.v2.schemagen
  - id: 205
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/com/sun/xml/bind/v2/schemagen/XmlSchemaGenerator.java
    line: 454
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "444     }\n445  \n446     protected static String relativize(String
      uri, String baseUri) {\n447        try {\n448           assert uri != null;\n449
      \ \n450           if (baseUri == null) {\n451              return uri;\n452
      \          } else {\n453              URI theUri = new URI(Util.escapeURI(uri));\n454
      \             URI theBaseUri = new URI(Util.escapeURI(baseUri));\n455              if
      (!theUri.isOpaque() && !theBaseUri.isOpaque()) {\n456                 if (Util.equalsIgnoreCase(theUri.getScheme(),
      theBaseUri.getScheme()) && Util.equal(theUri.getAuthority(), theBaseUri.getAuthority()))
      {\n457                    String uriPath = theUri.getPath();\n458                    String
      basePath = theBaseUri.getPath();\n459                    if (!basePath.endsWith(\"/\"))
      {\n460                       basePath = Util.normalizeUriPath(basePath);\n461
      \                   }\n462  \n463                    if (uriPath.equals(basePath))
      {\n464                       return \".\";"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/bind/v2/schemagen/XmlSchemaGenerator.java
      kind: Constructor
      name: relativize
      package: com.sun.xml.bind.v2.schemagen
  - id: 206
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/tools/TransformInputOutput.java
    line: 105
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 95                 resultStr.append('/');\n 96              }\n 97
      \ \n 98              for(i = diff; i < fileSplit.length; ++i) {\n 99                 resultStr.append(fileSplit[i]);\n100
      \                if (i < fileSplit.length - 1) {\n101                    resultStr.append('/');\n102
      \                }\n103              }\n104  \n105              return new URI(resultStr.toString());\n106
      \          }\n107        }\n108     }\n109  }\n"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/tools/TransformInputOutput.java
      kind: Constructor
      name: convertToNewWorkingDirectory
      package: com.sun.xml.fastinfoset.tools
  - id: 207
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/tools/TransformInputOutput.java
    line: 55
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "45        throw new UnsupportedOperationException();\n46     }\n47
      \ \n48     protected static EntityResolver createRelativePathResolver(final
      String workingDirectory) {\n49        return new EntityResolver() {\n50           public
      InputSource resolveEntity(String publicId, String systemId) throws SAXException,
      IOException {\n51              if (systemId != null && systemId.startsWith(\"file:/\"))
      {\n52                 URI workingDirectoryURI = (new File(workingDirectory)).toURI();\n53
      \ \n54                 try {\n55                    URI workingFile = TransformInputOutput.convertToNewWorkingDirectory(TransformInputOutput.currentJavaWorkingDirectory,
      workingDirectoryURI, (new File(new URI(systemId))).toURI());\n56                    return
      new InputSource(workingFile.toString());\n57                 } catch (URISyntaxException
      var6) {\n58                 }\n59              }\n60  \n61              return
      null;\n62           }\n63        };\n64     }\n65  "
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/tools/TransformInputOutput.java
      kind: Constructor
      name: resolveEntity
      package: com.sun.xml.fastinfoset.tools
  - id: 208
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/tools/TransformInputOutput.java
    line: 72
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "62           }\n63        };\n64     }\n65  \n66     private static
      URI convertToNewWorkingDirectory(URI oldwd, URI newwd, URI file) throws IOException,
      URISyntaxException {\n67        String oldwdStr = oldwd.toString();\n68        String
      newwdStr = newwd.toString();\n69        String fileStr = file.toString();\n70
      \       String cmpStr = null;\n71        if (fileStr.startsWith(oldwdStr) &&
      (cmpStr = fileStr.substring(oldwdStr.length())).indexOf(47) == -1) {\n72           return
      new URI(newwdStr + '/' + cmpStr);\n73        } else {\n74           String[]
      oldwdSplit = oldwdStr.split(\"/\");\n75           String[] newwdSplit = newwdStr.split(\"/\");\n76
      \          String[] fileSplit = fileStr.split(\"/\");\n77  \n78           int
      diff;\n79           for(diff = 0; diff < oldwdSplit.length && diff < fileSplit.length
      && oldwdSplit[diff].equals(fileSplit[diff]); ++diff) {\n80           }\n81  \n82
      \          int diffNew;"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/com/sun/xml/fastinfoset/tools/TransformInputOutput.java
      kind: Constructor
      name: convertToNewWorkingDirectory
      package: com.sun.xml.fastinfoset.tools
  - id: 209
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/javassist/ByteArrayClassPath.java
    line: 33
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "23  \n24     public InputStream openClassfile(String classname) {\n25
      \       return this.classname.equals(classname) ? new ByteArrayInputStream(this.classfile)
      : null;\n26     }\n27  \n28     public URL find(String classname) {\n29        if
      (this.classname.equals(classname)) {\n30           String cname = classname.replace('.',
      '/') + \".class\";\n31  \n32           try {\n33              return new URL((URL)null,
      \"file:/ByteArrayClassPath/\" + cname, new BytecodeURLStreamHandler());\n34
      \          } catch (MalformedURLException var4) {\n35           }\n36        }\n37
      \ \n38        return null;\n39     }\n40  \n41     private class BytecodeURLConnection
      extends URLConnection {\n42        protected BytecodeURLConnection(URL url)
      {\n43           super(url);"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/javassist/ByteArrayClassPath.java
      kind: Constructor
      name: find
      package: javassist
  - id: 210
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/javassist/JarClassPath.java
    line: 74
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "64           }\n65        } else {\n66           return null;\n67        }\n68
      \    }\n69  \n70     public URL find(String classname) {\n71        String jarname
      = classname.replace('.', '/') + \".class\";\n72        if (this.jarfileEntries.contains(jarname))
      {\n73           try {\n74              return new URL(String.format(\"jar:%s!/%s\",
      this.jarfileURL, jarname));\n75           } catch (MalformedURLException var4)
      {\n76           }\n77        }\n78  \n79        return null;\n80     }\n81  \n82
      \    public String toString() {\n83        return this.jarfileURL == null ?
      \"<null>\" : this.jarfileURL.toString();\n84     }"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/javassist/JarClassPath.java
      kind: Constructor
      name: find
      package: javassist
  - id: 211
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/javassist/URLClassPath.java
    line: 93
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 83        } finally {\n 84           s.close();\n 85        }\n 86
      \ \n 87        return b;\n 88     }\n 89  \n 90     private static URLConnection
      fetchClass0(String host, int port, String filename) throws IOException {\n 91
      \       URL url;\n 92        try {\n 93           url = new URL(\"http\", host,
      port, filename);\n 94        } catch (MalformedURLException var5) {\n 95           throw
      new IOException(\"invalid URL?\");\n 96        }\n 97  \n 98        URLConnection
      con = url.openConnection();\n 99        con.connect();\n100        return con;\n101
      \    }\n102  }\n"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/javassist/URLClassPath.java
      kind: Constructor
      name: fetchClass0
      package: javassist
  - id: 212
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/javassist/tools/web/Viewer.java
    line: 85
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "75                 c = this.defineClass(name, b, 0, b.length);\n76
      \             }\n77           } catch (Exception var4) {\n78           }\n79
      \       }\n80  \n81        return c;\n82     }\n83  \n84     protected byte[]
      fetchClass(String classname) throws Exception {\n85        URL url = new URL(\"http\",
      this.server, this.port, \"/\" + classname.replace('.', '/') + \".class\");\n86
      \       URLConnection con = url.openConnection();\n87        con.connect();\n88
      \       int size = con.getContentLength();\n89        InputStream s = con.getInputStream();\n90
      \       byte[] b;\n91        if (size <= 0) {\n92           b = this.readStream(s);\n93
      \       } else {\n94           b = new byte[size];\n95           int len = 0;"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/javassist/tools/web/Viewer.java
      kind: Constructor
      name: fetchClass
      package: javassist.tools.web
  - id: 213
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/javax/xml/bind/JAXB.java
    line: 124
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "114           throw new DataBindingException(var4);\n115        }\n116
      \    }\n117  \n118     private static Source toSource(Object xml) throws IOException
      {\n119        if (xml == null) {\n120           throw new IllegalArgumentException(\"no
      XML is given\");\n121        } else {\n122           if (xml instanceof String)
      {\n123              try {\n124                 xml = new URI((String)xml);\n125
      \             } catch (URISyntaxException var2) {\n126                 xml =
      new File((String)xml);\n127              }\n128           }\n129  \n130           if
      (xml instanceof File) {\n131              File file = (File)xml;\n132              return
      new StreamSource(file);\n133           } else {\n134              if (xml instanceof
      URI) {"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/javax/xml/bind/JAXB.java
      kind: Constructor
      name: toSource
      package: javax.xml.bind
  - id: 214
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/javax/xml/bind/JAXB.java
    line: 219
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "209     private static String inferName(Class clazz) {\n210        return
      Introspector.decapitalize(clazz.getSimpleName());\n211     }\n212  \n213     private
      static Result toResult(Object xml) throws IOException {\n214        if (xml
      == null) {\n215           throw new IllegalArgumentException(\"no XML is given\");\n216
      \       } else {\n217           if (xml instanceof String) {\n218              try
      {\n219                 xml = new URI((String)xml);\n220              } catch
      (URISyntaxException var3) {\n221                 xml = new File((String)xml);\n222
      \             }\n223           }\n224  \n225           if (xml instanceof File)
      {\n226              File file = (File)xml;\n227              return new StreamResult(file);\n228
      \          } else {\n229              if (xml instanceof URI) {"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/javax/xml/bind/JAXB.java
      kind: Constructor
      name: toResult
      package: javax.xml.bind
  - id: 215
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/javax/xml/bind/helpers/ValidationEventLocatorImpl.java
    line: 60
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "50     public ValidationEventLocatorImpl(Object _object) {\n51        if
      (_object == null) {\n52           throw new IllegalArgumentException(Messages.format(\"Shared.MustNotBeNull\",
      (Object)\"_object\"));\n53        } else {\n54           this.object = _object;\n55
      \       }\n56     }\n57  \n58     private static URL toURL(String systemId)
      {\n59        try {\n60           return new URL(systemId);\n61        } catch
      (MalformedURLException var2) {\n62           return null;\n63        }\n64     }\n65
      \ \n66     public URL getURL() {\n67        return this.url;\n68     }\n69  \n70
      \    public void setURL(URL _url) {"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/javax/xml/bind/helpers/ValidationEventLocatorImpl.java
      kind: Constructor
      name: toURL
      package: javax.xml.bind.helpers
  - id: 216
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
    line: 1221
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "1211              } else {\n1212                 return false;\n1213
      \             }\n1214           }\n1215        }\n1216  \n1217        protected
      static enum BootLoaderProxyCreationAction implements PrivilegedAction {\n1218
      \          INSTANCE;\n1219  \n1220           public ClassLoader run() {\n1221
      \             return new URLClassLoader(new URL[0], ClassLoadingStrategy.BOOTSTRAP_LOADER);\n1222
      \          }\n1223        }\n1224     }\n1225  \n1226     @HashCodeAndEqualsPlugin.Enhance\n1227
      \    public static class Simple implements ClassFileLocator {\n1228        private
      final Map classFiles;\n1229  \n1230        public Simple(Map classFiles) {\n1231
      \          this.classFiles = classFiles;"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
      kind: Constructor
      name: run
      package: net.bytebuddy.dynamic
  - id: 217
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
    line: 651
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "641  \n642        @HashCodeAndEqualsPlugin.Enhance\n643        protected
      static class ClassLoaderCreationAction implements PrivilegedAction {\n644           private
      final URL[] url;\n645  \n646           protected ClassLoaderCreationAction(URL[]
      url) {\n647              this.url = url;\n648           }\n649  \n650           public
      ClassLoader run() {\n651              return new URLClassLoader(this.url, ClassLoadingStrategy.BOOTSTRAP_LOADER);\n652
      \          }\n653  \n654           public boolean equals(Object var1) {\n655
      \             if (this == var1) {\n656                 return true;\n657              }
      else if (var1 == null) {\n658                 return false;\n659              }
      else if (this.getClass() != var1.getClass()) {\n660                 return false;\n661
      \             } else {"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/ClassFileLocator.java
      kind: Constructor
      name: run
      package: net.bytebuddy.dynamic
  - id: 218
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/loading/ByteArrayClassLoader.java
    line: 527
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "517           private final String typeName;\n518           private
      final byte[] binaryRepresentation;\n519  \n520           protected UrlDefinitionAction(String
      typeName, byte[] binaryRepresentation) {\n521              this.typeName = typeName;\n522
      \             this.binaryRepresentation = binaryRepresentation;\n523           }\n524
      \ \n525           public URL run() {\n526              try {\n527                 return
      new URL(\"bytebuddy\", URLEncoder.encode(this.typeName.replace('.', '/'), \"UTF-8\"),
      -1, \"\", new ByteArrayUrlStreamHandler(this.binaryRepresentation));\n528              }
      catch (MalformedURLException var2) {\n529                 throw new IllegalStateException(\"Cannot
      create URL for \" + this.typeName, var2);\n530              } catch (UnsupportedEncodingException
      var3) {\n531                 throw new IllegalStateException(\"Could not find
      encoding: UTF-8\", var3);\n532              }\n533           }\n534  \n535           public
      boolean equals(Object var1) {\n536              if (this == var1) {\n537                 return
      true;"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/loading/ByteArrayClassLoader.java
      kind: Constructor
      name: run
      package: net.bytebuddy.dynamic.loading
  - id: 219
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/loading/PackageDefinitionStrategy.java
    line: 125
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "115  \n116              public ForTypeResourceUrl(SealBaseLocator fallback)
      {\n117                 this.fallback = fallback;\n118              }\n119  \n120
      \             public URL findSealBase(ClassLoader classLoader, String typeName)
      {\n121                 URL url = classLoader.getResource(typeName.replace('.',
      '/') + \".class\");\n122                 if (url != null) {\n123                    try
      {\n124                       if (url.getProtocol().equals(\"jar\")) {\n125                          return
      new URL(url.getPath().substring(0, url.getPath().indexOf(33)));\n126                       }\n127
      \ \n128                       if (url.getProtocol().equals(\"file\")) {\n129
      \                         return url;\n130                       }\n131  \n132
      \                      if (url.getProtocol().equals(\"jrt\")) {\n133                          String
      path = url.getPath();\n134                          int modulePathIndex = path.indexOf(47,
      1);\n135                          return modulePathIndex == -1 ? url : new URL(\"jrt:\"
      + path.substring(0, modulePathIndex));"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/loading/PackageDefinitionStrategy.java
      kind: Constructor
      name: findSealBase
      package: net.bytebuddy.dynamic.loading
  - id: 220
    createTime: 2024-09-17T13:12:59.58336259Z
    issue: 4
    file: /shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/loading/PackageDefinitionStrategy.java
    line: 135
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: "125                          return new URL(url.getPath().substring(0,
      url.getPath().indexOf(33)));\n126                       }\n127  \n128                       if
      (url.getProtocol().equals(\"file\")) {\n129                          return
      url;\n130                       }\n131  \n132                       if (url.getProtocol().equals(\"jrt\"))
      {\n133                          String path = url.getPath();\n134                          int
      modulePathIndex = path.indexOf(47, 1);\n135                          return
      modulePathIndex == -1 ? url : new URL(\"jrt:\" + path.substring(0, modulePathIndex));\n136
      \                      }\n137                    } catch (MalformedURLException
      var6) {\n138                       throw new IllegalStateException(\"Unexpected
      URL: \" + url, var6);\n139                    }\n140                 }\n141
      \ \n142                 return this.fallback.findSealBase(classLoader, typeName);\n143
      \             }\n144  \n145              public boolean equals(Object var1)
      {"
    facts:
      class: ""
      file: file:///shared/bin/java-project/src/main/java/net/bytebuddy/dynamic/loading/PackageDefinitionStrategy.java
      kind: Constructor
      name: findSealBase
      package: net.bytebuddy.dynamic.loading
  links:
  - url: https://docs.openshift.com/container-platform/4.5/builds/creating-build-inputs.html#builds-input-secrets-configmaps_creating-build-inputs
    title: 'OpenShift Container Platform: Input secrets and ConfigMaps'
  - url: https://docs.openshift.com/container-platform/4.5/logging/cluster-logging.html
    title: 'OpenShift Container Platform: Understanding cluster logging'
  - url: https://docs.openshift.com/container-platform/4.5/storage/understanding-persistent-storage.html
    title: 'OpenShift Container Platform: Understanding persistent storage'
  - url: https://12factor.net/backing-services
    title: 'Twelve-Factor App: Backing services'
  - url: https://12factor.net/config
    title: 'Twelve-Factor App: Config'
  - url: https://12factor.net/logs
    title: 'Twelve-Factor App: Logs'
  labels:
  - konveyor.io/source
  - konveyor.io/target=cloud-readiness
  - storage
- id: 5
  createTime: 2024-09-17T13:12:59.584417457Z
  analysis: 1
  ruleset: cloud-readiness
  rule: local-storage-00005
  name: ""
  description: File system - Java NIO
  category: mandatory
  effort: 1
  incidents:
  - id: 221
    createTime: 2024-09-17T13:12:59.584530751Z
    issue: 5
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/FileAppender.java
    line: 7
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 1  package ch.qos.logback.core;\n 2  \n 3  import ch.qos.logback.core.recovery.ResilientFileOutputStream;\n
      4  import ch.qos.logback.core.util.FileUtil;\n 5  import java.io.File;\n 6  import
      java.io.IOException;\n 7  import java.nio.channels.FileChannel;\n 8  import
      java.nio.channels.FileLock;\n 9  import java.util.Iterator;\n10  import java.util.Map;\n11
      \ \n12  public class FileAppender extends OutputStreamAppender {\n13     protected
      static String COLLISION_WITH_EARLIER_APPENDER_URL = \"http://logback.qos.ch/codes.html#earlier_fa_collision\";\n14
      \    protected boolean append = true;\n15     protected String fileName = null;\n16
      \    private boolean prudent = false;\n17  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/FileAppender.java
      kind: Module
      name: java.nio.channels.FileChannel
      package: ch.qos.logback.core
  - id: 222
    createTime: 2024-09-17T13:12:59.584530751Z
    issue: 5
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/FileAppender.java
    line: 8
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 1  package ch.qos.logback.core;\n 2  \n 3  import ch.qos.logback.core.recovery.ResilientFileOutputStream;\n
      4  import ch.qos.logback.core.util.FileUtil;\n 5  import java.io.File;\n 6  import
      java.io.IOException;\n 7  import java.nio.channels.FileChannel;\n 8  import
      java.nio.channels.FileLock;\n 9  import java.util.Iterator;\n10  import java.util.Map;\n11
      \ \n12  public class FileAppender extends OutputStreamAppender {\n13     protected
      static String COLLISION_WITH_EARLIER_APPENDER_URL = \"http://logback.qos.ch/codes.html#earlier_fa_collision\";\n14
      \    protected boolean append = true;\n15     protected String fileName = null;\n16
      \    private boolean prudent = false;\n17  \n18     public void setFile(String
      file) {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/FileAppender.java
      kind: Module
      name: java.nio.channels.FileLock
      package: ch.qos.logback.core
  - id: 223
    createTime: 2024-09-17T13:12:59.584530751Z
    issue: 5
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/recovery/ResilientFileOutputStream.java
    line: 9
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 1  package ch.qos.logback.core.recovery;\n 2  \n 3  import java.io.BufferedOutputStream;\n
      4  import java.io.File;\n 5  import java.io.FileNotFoundException;\n 6  import
      java.io.FileOutputStream;\n 7  import java.io.IOException;\n 8  import java.io.OutputStream;\n
      9  import java.nio.channels.FileChannel;\n10  \n11  public class ResilientFileOutputStream
      extends ResilientOutputStreamBase {\n12     private File file;\n13     private
      FileOutputStream fos;\n14  \n15     public ResilientFileOutputStream(File file,
      boolean append) throws FileNotFoundException {\n16        this.file = file;\n17
      \       this.fos = new FileOutputStream(file, append);\n18        this.os =
      new BufferedOutputStream(this.fos);\n19        this.presumedClean = true;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/recovery/ResilientFileOutputStream.java
      kind: Module
      name: java.nio.channels.FileChannel
      package: ch.qos.logback.core.recovery
  - id: 224
    createTime: 2024-09-17T13:12:59.584530751Z
    issue: 5
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ext/Java7HandlersImpl.java
    line: 5
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 1  package com.fasterxml.jackson.databind.ext;\n 2  \n 3  import com.fasterxml.jackson.databind.JsonDeserializer;\n
      4  import com.fasterxml.jackson.databind.JsonSerializer;\n 5  import java.nio.file.Path;\n
      6  \n 7  public class Java7HandlersImpl extends Java7Handlers {\n 8     private
      final Class _pathClass = Path.class;\n 9  \n10     public Class getClassJavaNioFilePath()
      {\n11        return this._pathClass;\n12     }\n13  \n14     public JsonDeserializer
      getDeserializerForJavaNioFilePath(Class rawType) {\n15        return rawType
      == this._pathClass ? new NioPathDeserializer() : null;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ext/Java7HandlersImpl.java
      kind: Module
      name: java.nio.file.Path
      package: com.fasterxml.jackson.databind.ext
  - id: 225
    createTime: 2024-09-17T13:12:59.584530751Z
    issue: 5
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ext/NioPathDeserializer.java
    line: 11
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 1  package com.fasterxml.jackson.databind.ext;\n 2  \n 3  import com.fasterxml.jackson.core.JsonParser;\n
      4  import com.fasterxml.jackson.core.JsonToken;\n 5  import com.fasterxml.jackson.databind.DeserializationContext;\n
      6  import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer;\n
      7  import java.io.File;\n 8  import java.io.IOException;\n 9  import java.net.URI;\n10
      \ import java.net.URISyntaxException;\n11  import java.nio.file.FileSystemNotFoundException;\n12
      \ import java.nio.file.Path;\n13  import java.nio.file.Paths;\n14  import java.nio.file.spi.FileSystemProvider;\n15
      \ import java.util.Iterator;\n16  import java.util.ServiceLoader;\n17  \n18
      \ public class NioPathDeserializer extends StdScalarDeserializer {\n19     private
      static final long serialVersionUID = 1L;\n20     private static final boolean
      areWindowsFilePathsSupported;\n21  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ext/NioPathDeserializer.java
      kind: Module
      name: java.nio.file.FileSystemNotFoundException
      package: com.fasterxml.jackson.databind.ext
  - id: 226
    createTime: 2024-09-17T13:12:59.584530751Z
    issue: 5
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ext/NioPathDeserializer.java
    line: 12
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 2  \n 3  import com.fasterxml.jackson.core.JsonParser;\n 4  import
      com.fasterxml.jackson.core.JsonToken;\n 5  import com.fasterxml.jackson.databind.DeserializationContext;\n
      6  import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer;\n
      7  import java.io.File;\n 8  import java.io.IOException;\n 9  import java.net.URI;\n10
      \ import java.net.URISyntaxException;\n11  import java.nio.file.FileSystemNotFoundException;\n12
      \ import java.nio.file.Path;\n13  import java.nio.file.Paths;\n14  import java.nio.file.spi.FileSystemProvider;\n15
      \ import java.util.Iterator;\n16  import java.util.ServiceLoader;\n17  \n18
      \ public class NioPathDeserializer extends StdScalarDeserializer {\n19     private
      static final long serialVersionUID = 1L;\n20     private static final boolean
      areWindowsFilePathsSupported;\n21  \n22     public NioPathDeserializer() {"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ext/NioPathDeserializer.java
      kind: Module
      name: java.nio.file.Path
      package: com.fasterxml.jackson.databind.ext
  - id: 227
    createTime: 2024-09-17T13:12:59.584530751Z
    issue: 5
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ext/NioPathDeserializer.java
    line: 13
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 3  import com.fasterxml.jackson.core.JsonParser;\n 4  import com.fasterxml.jackson.core.JsonToken;\n
      5  import com.fasterxml.jackson.databind.DeserializationContext;\n 6  import
      com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer;\n 7  import
      java.io.File;\n 8  import java.io.IOException;\n 9  import java.net.URI;\n10
      \ import java.net.URISyntaxException;\n11  import java.nio.file.FileSystemNotFoundException;\n12
      \ import java.nio.file.Path;\n13  import java.nio.file.Paths;\n14  import java.nio.file.spi.FileSystemProvider;\n15
      \ import java.util.Iterator;\n16  import java.util.ServiceLoader;\n17  \n18
      \ public class NioPathDeserializer extends StdScalarDeserializer {\n19     private
      static final long serialVersionUID = 1L;\n20     private static final boolean
      areWindowsFilePathsSupported;\n21  \n22     public NioPathDeserializer() {\n23
      \       super(Path.class);"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ext/NioPathDeserializer.java
      kind: Module
      name: java.nio.file.Paths
      package: com.fasterxml.jackson.databind.ext
  - id: 228
    createTime: 2024-09-17T13:12:59.584530751Z
    issue: 5
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ext/NioPathDeserializer.java
    line: 14
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 4  import com.fasterxml.jackson.core.JsonToken;\n 5  import com.fasterxml.jackson.databind.DeserializationContext;\n
      6  import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer;\n
      7  import java.io.File;\n 8  import java.io.IOException;\n 9  import java.net.URI;\n10
      \ import java.net.URISyntaxException;\n11  import java.nio.file.FileSystemNotFoundException;\n12
      \ import java.nio.file.Path;\n13  import java.nio.file.Paths;\n14  import java.nio.file.spi.FileSystemProvider;\n15
      \ import java.util.Iterator;\n16  import java.util.ServiceLoader;\n17  \n18
      \ public class NioPathDeserializer extends StdScalarDeserializer {\n19     private
      static final long serialVersionUID = 1L;\n20     private static final boolean
      areWindowsFilePathsSupported;\n21  \n22     public NioPathDeserializer() {\n23
      \       super(Path.class);\n24     }"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ext/NioPathDeserializer.java
      kind: Module
      name: java.nio.file.spi.FileSystemProvider
      package: com.fasterxml.jackson.databind.ext
  - id: 229
    createTime: 2024-09-17T13:12:59.584530751Z
    issue: 5
    file: /shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ext/NioPathSerializer.java
    line: 10
    message: |-
      An application running inside a container could lose access to a file in local storage.

       Recommendations

       The following recommendations depend on the function of the file in local storage:

       * Logging: Log to standard output and use a centralized log collector to analyze the logs.
       * Caching: Use a cache backing service.
       * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.
       * Data storage: Use a database backing service for relational data or use a persistent data storage system.
       * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache.
    codeSnip: " 1  package com.fasterxml.jackson.databind.ext;\n 2  \n 3  import com.fasterxml.jackson.core.JsonGenerator;\n
      4  import com.fasterxml.jackson.core.JsonToken;\n 5  import com.fasterxml.jackson.core.type.WritableTypeId;\n
      6  import com.fasterxml.jackson.databind.SerializerProvider;\n 7  import com.fasterxml.jackson.databind.jsontype.TypeSerializer;\n
      8  import com.fasterxml.jackson.databind.ser.std.StdScalarSerializer;\n 9  import
      java.io.IOException;\n10  import java.nio.file.Path;\n11  \n12  public class
      NioPathSerializer extends StdScalarSerializer {\n13     private static final
      long serialVersionUID = 1L;\n14  \n15     public NioPathSerializer() {\n16        super(Path.class);\n17
      \    }\n18  \n19     public void serialize(Path value, JsonGenerator gen, SerializerProvider
      serializers) throws IOException {\n20        gen.writeString(value.toUri().toString());"
    facts:
      file: file:///shared/bin/java-project/src/main/java/com/fasterxml/jackson/databind/ext/NioPathSerializer.java
      kind: Module
      name: java.nio.file.Path
      package: com.fasterxml.jackson.databind.ext
  labels:
  - konveyor.io/source
  - konveyor.io/target=cloud-readiness
  - storage
- id: 6
  createTime: 2024-09-17T13:12:59.584968415Z
  analysis: 1
  ruleset: cloud-readiness
  rule: logging-0000
  name: ""
  description: Logging to file system
  category: mandatory
  effort: 1
  incidents:
  - id: 230
    createTime: 2024-09-17T13:12:59.585064636Z
    issue: 6
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/RollingFileAppender.java
    line: 3
    message: |-
      If the application writes logs to a file system, local log files may be lost if an instance terminates or restarts.

       Recommendations

       * Use a centralized log management system.
       * Log to standard output and allow the cloud platform to manage the logging.
       * Use shared storage for log files.
    codeSnip: " 1  package ch.qos.logback.core.rolling;\n 2  \n 3  import ch.qos.logback.core.FileAppender;\n
      4  import ch.qos.logback.core.rolling.helper.CompressionMode;\n 5  import ch.qos.logback.core.rolling.helper.FileNamePattern;\n
      6  import java.io.File;\n 7  import java.io.IOException;\n 8  import java.util.Iterator;\n
      9  import java.util.Map;\n10  \n11  public class RollingFileAppender extends
      FileAppender {\n12     File currentlyActiveFile;\n13     TriggeringPolicy triggeringPolicy;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/RollingFileAppender.java
      kind: Module
      name: ch.qos.logback.core.FileAppender
      package: ch.qos.logback.core.rolling
  - id: 231
    createTime: 2024-09-17T13:12:59.585064636Z
    issue: 6
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/RollingPolicy.java
    line: 3
    message: |-
      If the application writes logs to a file system, local log files may be lost if an instance terminates or restarts.

       Recommendations

       * Use a centralized log management system.
       * Log to standard output and allow the cloud platform to manage the logging.
       * Use shared storage for log files.
    codeSnip: " 1  package ch.qos.logback.core.rolling;\n 2  \n 3  import ch.qos.logback.core.FileAppender;\n
      4  import ch.qos.logback.core.rolling.helper.CompressionMode;\n 5  import ch.qos.logback.core.spi.LifeCycle;\n
      6  \n 7  public interface RollingPolicy extends LifeCycle {\n 8     void rollover()
      throws RolloverFailure;\n 9  \n10     String getActiveFileName();\n11  \n12
      \    CompressionMode getCompressionMode();\n13  "
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/RollingPolicy.java
      kind: Module
      name: ch.qos.logback.core.FileAppender
      package: ch.qos.logback.core.rolling
  - id: 232
    createTime: 2024-09-17T13:12:59.585064636Z
    issue: 6
    file: /shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/RollingPolicyBase.java
    line: 3
    message: |-
      If the application writes logs to a file system, local log files may be lost if an instance terminates or restarts.

       Recommendations

       * Use a centralized log management system.
       * Log to standard output and allow the cloud platform to manage the logging.
       * Use shared storage for log files.
    codeSnip: " 1  package ch.qos.logback.core.rolling;\n 2  \n 3  import ch.qos.logback.core.FileAppender;\n
      4  import ch.qos.logback.core.rolling.helper.CompressionMode;\n 5  import ch.qos.logback.core.rolling.helper.FileNamePattern;\n
      6  import ch.qos.logback.core.spi.ContextAwareBase;\n 7  \n 8  public abstract
      class RollingPolicyBase extends ContextAwareBase implements RollingPolicy {\n
      9     protected CompressionMode compressionMode;\n10     FileNamePattern fileNamePattern;\n11
      \    protected String fileNamePatternStr;\n12     private FileAppender parent;\n13
      \    FileNamePattern zipEntryFileNamePattern;"
    facts:
      file: file:///shared/bin/java-project/src/main/java/ch/qos/logback/core/rolling/RollingPolicyBase.java
      kind: Module
      name: ch.qos.logback.core.FileAppender
      package: ch.qos.logback.core.rolling
  labels:
  - konveyor.io/source=java
  - konveyor.io/source=java-ee
  - konveyor.io/target=cloud-readiness
  - logging
- id: 7
  createTime: 2024-09-17T13:12:59.585298056Z
  analysis: 1
  ruleset: discovery-rules
  rule: hardcoded-ip-address
  name: ""
  description: Hardcoded IP Address
  category: mandatory
  effort: 1
  incidents:
  - id: 233
    createTime: 2024-09-17T13:12:59.585395209Z
    issue: 7
    file: /shared/bin/java-project/src/main/java/com/sun/xml/bind/v2/schemagen/XmlSchemaGenerator.java
    line: 856
    message: When migrating environments, hard-coded IP addresses may need to be modified
      or eliminated.
    codeSnip: "847                          default:\n848                             assert
      false;\n849  \n850                             throw new IllegalStateException();\n851
      \                      }\n852                    }\n853  \n854                    se.commit();\n855
      \                   TODO.schemaGenerator(\"figure out what to do if bc != null\");\n856
      \                   TODO.checkSpec(\"handle sec 8.9.5.2, bullet #4\");\n857
      \                }\n858              } else {\n859                 ct = ((ComplexTypeHost)parent).complexType();\n860
      \                this.writeName(c, ct);\n861                 if (c.isFinal())
      {\n862                    ct._final(\"extension restriction\");\n863                 }\n864
      \ \n865                 if (c.isAbstract()) {\n866                    ct._abstract(true);\n867
      \                }"
    facts:
      matchingText: 8.9.5.2
  labels:
  - discovery
  - konveyor.io/target=cloud-readiness
  - konveyor.io/target=discovery

dependencies: 
- id: 1
  createTime: 2024-09-17T13:12:59.586496053Z
  analysis: 1
  provider: java
  name: com.h2database.h2
  version: 2.1.214
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: d5c2005c9e3279201e12d4776c948578b16bf8b2
- id: 2
  createTime: 2024-09-17T13:12:59.586604007Z
  analysis: 1
  provider: java
  name: org.springframework.spring-beans
  version: 5.3.7
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 8b1eacd7aaa12f7d173a2f0836d28bd0c1b098fe
- id: 3
  createTime: 2024-09-17T13:12:59.586657437Z
  analysis: 1
  provider: java
  name: org.jboss.spec.javax.transaction.jboss-transaction-api_1.2_spec
  version: 1.1.1.Final
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 4
  createTime: 2024-09-17T13:12:59.586730635Z
  analysis: 1
  provider: java
  name: antlr.antlr
  version: 2.7.7
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 83cd2cd674a217ade95a4bb83a8a14f351f48bd0
- id: 5
  createTime: 2024-09-17T13:12:59.586779908Z
  analysis: 1
  provider: java
  name: net.bytebuddy.byte-buddy
  version: 1.10.22
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 6
  createTime: 2024-09-17T13:12:59.586830763Z
  analysis: 1
  provider: java
  name: javax.persistence.javax.persistence-api
  version: "2.2"
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 7
  createTime: 2024-09-17T13:12:59.586880006Z
  analysis: 1
  provider: java
  name: io.micrometer.micrometer-core
  version: 1.7.0
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: bc7dc1605f2099dc3c39156b7f62ac889f54fb67
- id: 8
  createTime: 2024-09-17T13:12:59.586965497Z
  analysis: 1
  provider: java
  name: com.fasterxml.jackson.core.jackson-core
  version: 2.12.3
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 9
  createTime: 2024-09-17T13:12:59.587052401Z
  analysis: 1
  provider: java
  name: org.springframework.spring-orm
  version: 5.3.7
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: f1892fe7a6671348d6546facbd40159b7e6f64a2
- id: 10
  createTime: 2024-09-17T13:12:59.587117924Z
  analysis: 1
  provider: java
  name: org.apache.logging.log4j.log4j-api
  version: 2.14.1
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 11
  createTime: 2024-09-17T13:12:59.587191533Z
  analysis: 1
  provider: java
  name: org.jvnet.staxex.stax-ex
  version: "1.8"
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 12
  createTime: 2024-09-17T13:12:59.587267867Z
  analysis: 1
  provider: java
  name: org.apache.tomcat.tomcat-juli
  version: 9.0.46
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 409b519751e104eab51b4347a0d27bf86a4f3bb1
- id: 13
  createTime: 2024-09-17T13:12:59.587363406Z
  analysis: 1
  provider: java
  name: org.javassist.javassist
  version: 3.27.0-GA
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 14
  createTime: 2024-09-17T13:12:59.587441734Z
  analysis: 1
  provider: java
  name: org.checkerframework.checker-qual
  version: 3.5.0
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 2f50520c8abea66fbd8d26e481d3aef5c673b510
- id: 15
  createTime: 2024-09-17T13:12:59.587517247Z
  analysis: 1
  provider: java
  name: com.sun.istack.istack-commons-runtime
  version: 3.0.7
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 16
  createTime: 2024-09-17T13:12:59.587574855Z
  analysis: 1
  provider: java
  name: org.hibernate.hibernate-core
  version: 5.4.32.Final
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 99a5e10bf455337014c190e141ec631e9ff71663
- id: 17
  createTime: 2024-09-17T13:12:59.587629808Z
  analysis: 1
  provider: java
  name: org.glassfish.jaxb.jaxb-runtime
  version: 2.3.1
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 18
  createTime: 2024-09-17T13:12:59.587712464Z
  analysis: 1
  provider: java
  name: org.postgresql.postgresql
  version: 42.2.23
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 9cb217a3d5b640567ed7c6e8c11f389613c81c4d
- id: 19
  createTime: 2024-09-17T13:12:59.587772136Z
  analysis: 1
  provider: java
  name: org.springframework.spring-jcl
  version: 5.3.7
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: ccd8bde38bad689737295fa220e1c70680676d72
- id: 20
  createTime: 2024-09-17T13:12:59.587827381Z
  analysis: 1
  provider: java
  name: org.springframework.boot.spring-boot-actuator
  version: 2.5.0
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: e0ac75f1a183f8e6a319a8b03bad1c45d40a2761
- id: 21
  createTime: 2024-09-17T13:12:59.587903213Z
  analysis: 1
  provider: java
  name: ch.qos.logback.logback-classic
  version: 1.1.7
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 22
  createTime: 2024-09-17T13:12:59.587985298Z
  analysis: 1
  provider: java
  name: org.springframework.boot.spring-boot-starter-actuator
  version: 2.5.0
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 8fc47befa38bdaa2f2b8f421d8532f03005e2851
- id: 23
  createTime: 2024-09-17T13:12:59.588043859Z
  analysis: 1
  provider: java
  name: com.fasterxml.jackson.datatype.jackson-datatype-jsr310
  version: 2.12.3
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 24
  createTime: 2024-09-17T13:12:59.588105064Z
  analysis: 1
  provider: java
  name: org.springframework.data.spring-data-commons
  version: 2.5.1
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 25
  createTime: 2024-09-17T13:12:59.588160337Z
  analysis: 1
  provider: java
  name: jakarta.annotation.jakarta.annotation-api
  version: 1.3.5
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 26
  createTime: 2024-09-17T13:12:59.588223036Z
  analysis: 1
  provider: java
  name: org.springframework.data.spring-data-jpa
  version: 2.5.1
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 27
  createTime: 2024-09-17T13:12:59.588282267Z
  analysis: 1
  provider: java
  name: org.springframework.spring-webmvc
  version: 5.3.7
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 8437c7a572177a34607abdaef2f6b8088488f5c0
- id: 28
  createTime: 2024-09-17T13:12:59.588336891Z
  analysis: 1
  provider: java
  name: org.jboss.jandex
  version: 2.2.3.Final
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 29
  createTime: 2024-09-17T13:12:59.588388437Z
  analysis: 1
  provider: java
  name: ch.qos.logback.logback-core
  version: 1.1.7
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 30
  createTime: 2024-09-17T13:12:59.588441999Z
  analysis: 1
  provider: java
  name: org.hibernate.validator.hibernate-validator
  version: 6.2.0.Final
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 31
  createTime: 2024-09-17T13:12:59.588494958Z
  analysis: 1
  provider: java
  name: org.aspectj.aspectjrt
  version: 1.9.6
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 1651849d48659e5703adc2599e694bf67b8c3fc4
- id: 32
  createTime: 2024-09-17T13:12:59.588567525Z
  analysis: 1
  provider: java
  name: javax.activation.javax.activation-api
  version: 1.2.0
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 33
  createTime: 2024-09-17T13:12:59.588638388Z
  analysis: 1
  provider: java
  name: org.dom4j.dom4j
  version: 2.1.3
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: a75914155a9f5808963170ec20653668a2ffd2fd
- id: 34
  createTime: 2024-09-17T13:12:59.588716927Z
  analysis: 1
  provider: java
  name: org.latencyutils.LatencyUtils
  version: 2.0.3
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 769c0b82cb2421c8256300e907298a9410a2a3d3
- id: 35
  createTime: 2024-09-17T13:12:59.588771609Z
  analysis: 1
  provider: java
  name: org.hibernate.common.hibernate-commons-annotations
  version: 5.1.2.Final
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: e59ffdbc6ad09eeb33507b39ffcf287679a498c8
- id: 36
  createTime: 2024-09-17T13:12:59.588865767Z
  analysis: 1
  provider: java
  name: javax.xml.bind.jaxb-api
  version: 2.3.1
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 37
  createTime: 2024-09-17T13:12:59.588916191Z
  analysis: 1
  provider: java
  name: org.hibernate.hibernate-entitymanager
  version: 5.4.32.Final
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 3f60db4097732960ec792c033dbb7c34f1b9e328
- id: 38
  createTime: 2024-09-17T13:12:59.588990682Z
  analysis: 1
  provider: java
  name: org.springframework.boot.spring-boot-autoconfigure
  version: 2.5.0
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 64c7bbc941c70895621ed613f38dc66b73ea9341
- id: 39
  createTime: 2024-09-17T13:12:59.58907439Z
  analysis: 1
  provider: java
  name: com.oracle.database.jdbc.ojdbc11
  version: 21.1.0.0
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 133b7b0d14b4f4cd4e76661db4727dac937d6856
- id: 40
  createTime: 2024-09-17T13:12:59.58913263Z
  analysis: 1
  provider: java
  name: org.jboss.logging.jboss-logging
  version: 3.4.1.Final
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 41
  createTime: 2024-09-17T13:12:59.589187352Z
  analysis: 1
  provider: java
  name: org.springframework.spring-aop
  version: 5.3.7
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: b86edd2455f8c4399068c999beb9ea2a9e7f2047
- id: 42
  createTime: 2024-09-17T13:12:59.589265069Z
  analysis: 1
  provider: java
  name: org.apache.tomcat.tomcat-jdbc
  version: 9.0.46
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 385cb6cb1f6b26c881cd5c1c6ade5f180712ffdc
- id: 43
  createTime: 2024-09-17T13:12:59.589321846Z
  analysis: 1
  provider: java
  name: org.springframework.boot.spring-boot
  version: 2.5.0
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: b07513e04ad906ea69ef84293a123cdb83828f06
- id: 44
  createTime: 2024-09-17T13:12:59.589389944Z
  analysis: 1
  provider: java
  name: org.springframework.spring-web
  version: 5.3.7
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 49e6a8f45e77f14ef16f82c0413254ef493b785f
- id: 45
  createTime: 2024-09-17T13:12:59.589444036Z
  analysis: 1
  provider: java
  name: org.springframework.boot.spring-boot-actuator-autoconfigure
  version: 2.5.0
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 41956882243e86f8260f649ebdd96597a2ff52a9
- id: 46
  createTime: 2024-09-17T13:12:59.589525139Z
  analysis: 1
  provider: java
  name: com.fasterxml.jackson.core.jackson-databind
  version: 2.12.3
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 47
  createTime: 2024-09-17T13:12:59.589583579Z
  analysis: 1
  provider: java
  name: org.springframework.boot.spring-boot-starter
  version: 2.5.0
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: a910887c01efcc7d12f3f89a7604d436f26eeb90
- id: 48
  createTime: 2024-09-17T13:12:59.589644754Z
  analysis: 1
  provider: java
  name: org.apache.logging.log4j.log4j-to-slf4j
  version: 2.14.1
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 49
  createTime: 2024-09-17T13:12:59.589790759Z
  analysis: 1
  provider: java
  name: org.slf4j.jul-to-slf4j
  version: 1.7.30
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 50
  createTime: 2024-09-17T13:12:59.589887652Z
  analysis: 1
  provider: java
  name: com.fasterxml.classmate
  version: 1.5.1
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 51
  createTime: 2024-09-17T13:12:59.589995926Z
  analysis: 1
  provider: java
  name: org.glassfish.jaxb.txw2
  version: 2.3.1
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 52
  createTime: 2024-09-17T13:12:59.590060868Z
  analysis: 1
  provider: java
  name: org.springframework.spring-tx
  version: 5.3.7
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 98be572c2bf3bd08724363b0bba71bcef59c4739
- id: 53
  createTime: 2024-09-17T13:12:59.590121924Z
  analysis: 1
  provider: java
  name: com.fasterxml.jackson.core.jackson-annotations
  version: 2.12.3
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 54
  createTime: 2024-09-17T13:12:59.590185012Z
  analysis: 1
  provider: java
  name: io.konveyor.demo.configuration-utils
  version: 1.0.0
  labels:
  - konveyor.io/dep-source=internal
  - konveyor.io/language=java
- id: 55
  createTime: 2024-09-17T13:12:59.590242971Z
  analysis: 1
  provider: java
  name: jakarta.validation.jakarta.validation-api
  version: 2.0.2
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 56
  createTime: 2024-09-17T13:12:59.590322741Z
  analysis: 1
  provider: java
  name: org.yaml.snakeyaml
  version: "1.28"
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
- id: 57
  createTime: 2024-09-17T13:12:59.590377995Z
  analysis: 1
  provider: java
  name: org.springframework.boot.spring-boot-starter-logging
  version: 2.5.0
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 22401482ba1c5a1dcd3d33e47295779211b913d8
- id: 58
  createTime: 2024-09-17T13:12:59.590436185Z
  analysis: 1
  provider: java
  name: org.springframework.spring-core
  version: 5.3.7
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 4aad1b62bd347a806fe693c9d67b376a3ad8151c
- id: 59
  createTime: 2024-09-17T13:12:59.590482873Z
  analysis: 1
  provider: java
  name: org.springframework.spring-context
  version: 5.3.7
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 330b3957efdcdebe3550b8e2c5d45a4c25496626
- id: 60
  createTime: 2024-09-17T13:12:59.590554638Z
  analysis: 1
  provider: java
  name: org.springframework.spring-jdbc
  version: 5.3.7
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 5caf72035a9b8a3a09ef82322cd2497aedddc487
- id: 61
  createTime: 2024-09-17T13:12:59.590607928Z
  analysis: 1
  provider: java
  name: org.hdrhistogram.HdrHistogram
  version: 2.1.12
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 6eb7552156e0d517ae80cc2247be1427c8d90452
- id: 62
  createTime: 2024-09-17T13:12:59.590657983Z
  analysis: 1
  provider: java
  name: org.springframework.spring-expression
  version: 5.3.7
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: 13351fce0a604957cd6a41478ebb54a953a0245e
- id: 63
  createTime: 2024-09-17T13:12:59.590729728Z
  analysis: 1
  provider: java
  name: com.sun.xml.fastinfoset.FastInfoset
  version: 1.2.15
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
  sha: bb7b7ec0379982b97c62cd17465cb6d9155f68e8
- id: 64
  createTime: 2024-09-17T13:12:59.590779172Z
  analysis: 1
  provider: java
  name: org.slf4j.slf4j-api
  version: 1.7.26
  labels:
  - konveyor.io/dep-source=open-source
  - konveyor.io/language=java
