{
  "_class" : "io.jenkins.plugins.analysis.core.restapi.ReportApi",
  "issues" : [
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SystemRoleFactory.java",
      "category" : "Code Style",
      "columnEnd" : 44,
      "columnStart" : 39,
      "commit" : "-",
      "description" : "",
      "fileName" : "modules/Utilities/src/main/java/it/tidalwave/role/spi/SystemRoleFactory.java",
      "fingerprint" : "A75A9DAC66B2FA6CE75749E169A190CD",
      "lineEnd" : 46,
      "lineStart" : 46,
      "message" : "Unnecessary qualifier 'Inner': 'PROVIDER_REF' is already in scope because it is declared in an enclosing type.",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "pmd",
      "originName" : "PMD",
      "packageName" : "it.tidalwave.role.spi",
      "reference" : "1325",
      "severity" : "NORMAL",
      "toString" : "SystemRoleFactory.java(46,39): UnnecessaryFullyQualifiedName: Code Style: Unnecessary qualifier 'Inner': 'PROVIDER_REF' is already in scope because it is declared in an enclosing type.",
      "type" : "UnnecessaryFullyQualifiedName"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "ContextManager.java",
      "category" : "Code Style",
      "columnEnd" : 44,
      "columnStart" : 39,
      "commit" : "-",
      "description" : "",
      "fileName" : "modules/Utilities/src/main/java/it/tidalwave/util/ContextManager.java",
      "fingerprint" : "E6B1A0BFA427242D31BA81B4BD1FD4DD",
      "lineEnd" : 56,
      "lineStart" : 56,
      "message" : "Unnecessary qualifier 'Inner': 'CONTEXT_MANAGER_PROVIDER_REF' is already in scope because it is declared in an enclosing type.",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "pmd",
      "originName" : "PMD",
      "packageName" : "it.tidalwave.util",
      "reference" : "1325",
      "severity" : "NORMAL",
      "toString" : "ContextManager.java(56,39): UnnecessaryFullyQualifiedName: Code Style: Unnecessary qualifier 'Inner': 'CONTEXT_MANAGER_PROVIDER_REF' is already in scope because it is declared in an enclosing type.",
      "type" : "UnnecessaryFullyQualifiedName"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DefaultProcessExecutor.java",
      "category" : "Code Style",
      "columnEnd" : 12,
      "columnStart" : 9,
      "commit" : "-",
      "description" : "",
      "fileName" : "modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java",
      "fingerprint" : "70BB6E1473FBC39A9A4FFC2A1F74C132",
      "lineEnd" : 443,
      "lineStart" : 440,
      "message" : "Empty if statement.",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "pmd",
      "originName" : "PMD",
      "packageName" : "it.tidalwave.util.spi",
      "reference" : "1325",
      "severity" : "NORMAL",
      "toString" : "DefaultProcessExecutor.java(440,9): EmptyControlStatement: Code Style: Empty if statement.",
      "type" : "EmptyControlStatement"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "TableColumnDescriptor.java",
      "category" : "",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "net.sourceforge.pmd.lang.ast.ParseException: Parse exception in file '/var/jenkins_home/jobs/TheseFoolishThings_Metrics/workspace/modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/role/TableColumnDescriptor.java' at line 37, column 8: Record declarations are a feature of Java 16, you should select your language version accordingly\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.ReportingStrategy$1.report(ReportingStrategy.java:55)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.ReportingStrategy$1.report(ReportingStrategy.java:42)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.LanguageLevelChecker.check(LanguageLevelChecker.java:105)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.LanguageLevelChecker.access$300(LanguageLevelChecker.java:72)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.LanguageLevelChecker$CheckVisitor.visit(LanguageLevelChecker.java:485)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.LanguageLevelChecker$CheckVisitor.visit(LanguageLevelChecker.java:431)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.ASTRecordDeclaration.acceptVisitor(ASTRecordDeclaration.java:38)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.acceptVisitor(AbstractJavaNode.java:38)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.LanguageLevelChecker.lambda$check$0(LanguageLevelChecker.java:98)\u000a\u0009at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\u000a\u0009at net.sourceforge.pmd.lang.ast.internal.IteratorBasedNStream.forEach(IteratorBasedNStream.java:102)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.LanguageLevelChecker.check(LanguageLevelChecker.java:98)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.JavaParser.parseImpl(JavaParser.java:66)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.JavaParser.parseImpl(JavaParser.java:25)\u000a\u0009at net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeParserAdapter.parse(JjtreeParserAdapter.java:36)\u000a\u0009at net.sourceforge.pmd.lang.impl.PmdRunnable.parse(PmdRunnable.java:112)\u000a\u0009at net.sourceforge.pmd.lang.impl.PmdRunnable.processSource(PmdRunnable.java:132)\u000a\u0009at net.sourceforge.pmd.lang.impl.PmdRunnable.run(PmdRunnable.java:80)\u000a\u0009at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)\u000a\u0009at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:1583)",
      "fileName" : "modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/role/TableColumnDescriptor.java",
      "fingerprint" : "9247A91D9B736422E39B34093152FBBD",
      "lineEnd" : 0,
      "lineStart" : 0,
      "message" : "ParseException: Parse exception in file '/var/jenkins_home/jobs/TheseFoolishThings_Metrics/workspace/modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/role/TableColumnDescriptor.java' at line 37, column 8: Record declarations are a feature of Java 16, you should select your language version accordingly",
      "moduleName" : "TheseFoolishThings :: Examples :: DCI :: Swing",
      "origin" : "pmd",
      "originName" : "PMD",
      "packageName" : "it.tidalwave.thesefoolishthings.examples.dci.swing.role",
      "reference" : "1325",
      "severity" : "ERROR",
      "toString" : "TableColumnDescriptor.java(0,0): -: : ParseException: Parse exception in file '/var/jenkins_home/jobs/TheseFoolishThings_Metrics/workspace/modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/role/TableColumnDescriptor.java' at line 37, column 8: Record declarations are a feature of Java 16, you should select your language version accordingly",
      "type" : "-"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "PersonFinderImpl2b.java",
      "category" : "",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "net.sourceforge.pmd.lang.ast.ParseException: Parse exception in file '/var/jenkins_home/jobs/TheseFoolishThings_Metrics/workspace/modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2b.java' at line 47, column 5: Record declarations are a feature of Java 16, you should select your language version accordingly\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.ReportingStrategy$1.report(ReportingStrategy.java:55)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.ReportingStrategy$1.report(ReportingStrategy.java:42)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.LanguageLevelChecker.check(LanguageLevelChecker.java:105)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.LanguageLevelChecker.access$300(LanguageLevelChecker.java:72)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.LanguageLevelChecker$CheckVisitor.visit(LanguageLevelChecker.java:485)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.LanguageLevelChecker$CheckVisitor.visit(LanguageLevelChecker.java:431)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.ASTRecordDeclaration.acceptVisitor(ASTRecordDeclaration.java:38)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.acceptVisitor(AbstractJavaNode.java:38)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.LanguageLevelChecker.lambda$check$0(LanguageLevelChecker.java:98)\u000a\u0009at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\u000a\u0009at net.sourceforge.pmd.lang.ast.internal.IteratorBasedNStream.forEach(IteratorBasedNStream.java:102)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.internal.LanguageLevelChecker.check(LanguageLevelChecker.java:98)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.JavaParser.parseImpl(JavaParser.java:66)\u000a\u0009at net.sourceforge.pmd.lang.java.ast.JavaParser.parseImpl(JavaParser.java:25)\u000a\u0009at net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeParserAdapter.parse(JjtreeParserAdapter.java:36)\u000a\u0009at net.sourceforge.pmd.lang.impl.PmdRunnable.parse(PmdRunnable.java:112)\u000a\u0009at net.sourceforge.pmd.lang.impl.PmdRunnable.processSource(PmdRunnable.java:132)\u000a\u0009at net.sourceforge.pmd.lang.impl.PmdRunnable.run(PmdRunnable.java:80)\u000a\u0009at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)\u000a\u0009at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:1583)",
      "fileName" : "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2b.java",
      "fingerprint" : "9247A91D9B736422E39B34093152FBBD",
      "lineEnd" : 0,
      "lineStart" : 0,
      "message" : "ParseException: Parse exception in file '/var/jenkins_home/jobs/TheseFoolishThings_Metrics/workspace/modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2b.java' at line 47, column 5: Record declarations are a feature of Java 16, you should select your language version accordingly",
      "moduleName" : "TheseFoolishThings :: Examples :: Finder :: Extended Finder",
      "origin" : "pmd",
      "originName" : "PMD",
      "packageName" : "it.tidalwave.thesefoolishthings.examples.extendedfinderexample",
      "reference" : "1325",
      "severity" : "ERROR",
      "toString" : "PersonFinderImpl2b.java(0,0): -: : ParseException: Parse exception in file '/var/jenkins_home/jobs/TheseFoolishThings_Metrics/workspace/modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2b.java' at line 47, column 5: Record declarations are a feature of Java 16, you should select your language version accordingly",
      "type" : "-"
    }
  ],
  "size" : 5,
  "toString" : "5 warnings (error: 2, normal: 3)"
}