{
  "_class" : "io.jenkins.plugins.analysis.core.restapi.ReportApi",
  "issues" : [
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "AnnotationSpringSystemRoleFactory.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/AnnotationSpringSystemRoleFactory.java",
      "fingerprint" : "e7d9cab325cb9fff901efd6a16082e70",
      "lineEnd" : 50,
      "lineStart" : 50,
      "message" : "Overridable method ajc$afterReturning$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$2$1ea6722c is called from constructor new it.tidalwave.role.spring.spi.AnnotationSpringSystemRoleFactory().",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "546",
      "severity" : "LOW",
      "toString" : "AnnotationSpringSystemRoleFactory.java(50,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method ajc$afterReturning$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$2$1ea6722c is called from constructor new it.tidalwave.role.spring.spi.AnnotationSpringSystemRoleFactory().",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "AnnotationSpringSystemRoleFactory.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/AnnotationSpringSystemRoleFactory.java",
      "fingerprint" : "f2d0c80fd259722b725cb65818bf48ea",
      "lineEnd" : 50,
      "lineStart" : 50,
      "message" : "Overridable method ajc$before$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$1$e854fa65 is called from constructor new it.tidalwave.role.spring.spi.AnnotationSpringSystemRoleFactory().",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "546",
      "severity" : "LOW",
      "toString" : "AnnotationSpringSystemRoleFactory.java(50,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method ajc$before$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$1$e854fa65 is called from constructor new it.tidalwave.role.spring.spi.AnnotationSpringSystemRoleFactory().",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "AnnotationSpringSystemRoleFactory.java",
      "category" : "CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/AnnotationSpringSystemRoleFactory.java",
      "fingerprint" : "4f6e8a5d24378cff423a3a8e11cb3c02",
      "lineEnd" : 50,
      "lineStart" : 50,
      "message" : "Non-null field beanFactory is not initialized by new it.tidalwave.role.spring.spi.AnnotationSpringSystemRoleFactory()",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "546",
      "severity" : "NORMAL",
      "toString" : "AnnotationSpringSystemRoleFactory.java(50,0): NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR: CORRECTNESS: Non-null field beanFactory is not initialized by new it.tidalwave.role.spring.spi.AnnotationSpringSystemRoleFactory()",
      "type" : "NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "AnnotationSpringSystemRoleFactory.java",
      "category" : "STYLE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/AnnotationSpringSystemRoleFactory.java",
      "fingerprint" : "a1a0838e5f8a8dd2567bb67e281de1b1",
      "lineEnd" : 50,
      "lineStart" : 50,
      "message" : "Redundant nullcheck of this, which is known to be non-null in new it.tidalwave.role.spring.spi.AnnotationSpringSystemRoleFactory()",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "546",
      "severity" : "LOW",
      "toString" : "AnnotationSpringSystemRoleFactory.java(50,0): RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE: STYLE: Redundant nullcheck of this, which is known to be non-null in new it.tidalwave.role.spring.spi.AnnotationSpringSystemRoleFactory()",
      "type" : "RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "AsDelegate.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/role/impl/AsDelegate.java",
      "fingerprint" : "5d870cc1b5cd713568d6636ef559aae2",
      "lineEnd" : 71,
      "lineStart" : 71,
      "message" : "Overridable method createRoleFactory is called from constructor new it.tidalwave.role.impl.AsDelegate().",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.impl",
      "reference" : "546",
      "severity" : "LOW",
      "toString" : "AsDelegate.java(71,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method createRoleFactory is called from constructor new it.tidalwave.role.impl.AsDelegate().",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "AsDelegate.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/role/impl/AsDelegate.java",
      "fingerprint" : "f6f3cc9c2a6211efe0f77ce30776fb4d",
      "lineEnd" : 114,
      "lineStart" : 114,
      "message" : "Overridable method createRoleFactory is called from constructor new it.tidalwave.role.impl.AsDelegate(Object, Collection).",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.impl",
      "reference" : "546",
      "severity" : "LOW",
      "toString" : "AsDelegate.java(114,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method createRoleFactory is called from constructor new it.tidalwave.role.impl.AsDelegate(Object, Collection).",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DefaultContextManager.java",
      "category" : "PERFORMANCE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/role/impl/DefaultContextManager.java",
      "fingerprint" : "b2c3aa96765d6f3081cf9ed54dee449c",
      "lineEnd" : 56,
      "lineStart" : 56,
      "message" : "The class it.tidalwave.role.impl.DefaultContextManager$1 could be refactored into a named _static_ inner class",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.impl",
      "reference" : "546",
      "severity" : "LOW",
      "toString" : "DefaultContextManager.java(56,0): SIC_INNER_SHOULD_BE_STATIC_ANON: PERFORMANCE: The class it.tidalwave.role.impl.DefaultContextManager$1 could be refactored into a named _static_ inner class",
      "type" : "SIC_INNER_SHOULD_BE_STATIC_ANON"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "ReflectionUtils.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/ReflectionUtils.java",
      "fingerprint" : "77d808d30e81a0e03d34e00d01193a5b",
      "lineEnd" : 179,
      "lineStart" : 179,
      "message" : "Invocation of reflect.Field.setAccessible(boolean), which should be invoked from within a doPrivileged block, in it.tidalwave.util.ReflectionUtils.injectDependencies(Object, Map)",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util",
      "reference" : "546",
      "severity" : "LOW",
      "toString" : "ReflectionUtils.java(179,0): DP_DO_INSIDE_DO_PRIVILEGED: MALICIOUS_CODE: Invocation of reflect.Field.setAccessible(boolean), which should be invoked from within a doPrivileged block, in it.tidalwave.util.ReflectionUtils.injectDependencies(Object, Map)",
      "type" : "DP_DO_INSIDE_DO_PRIVILEGED"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "ReflectionUtils.java",
      "category" : "STYLE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/ReflectionUtils.java",
      "fingerprint" : "10b6c30d77fba5e675929d6fadf1a5d",
      "lineEnd" : 77,
      "lineStart" : 77,
      "message" : "Possible null pointer dereference in it.tidalwave.util.ReflectionUtils.getTypeArguments(Class, Class) due to return value of called method",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util",
      "reference" : "546",
      "severity" : "LOW",
      "toString" : "ReflectionUtils.java(77,0): NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE: STYLE: Possible null pointer dereference in it.tidalwave.util.ReflectionUtils.getTypeArguments(Class, Class) due to return value of called method",
      "type" : "NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DefaultPreferencesHandler.java",
      "category" : "I18N",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/impl/DefaultPreferencesHandler.java",
      "fingerprint" : "63bc3860945c376aeb5dd62f353873c6",
      "lineEnd" : 67,
      "lineStart" : 67,
      "message" : "Use of non-localized String.toUpperCase() or String.toLowerCase() in new it.tidalwave.util.impl.DefaultPreferencesHandler()",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util.impl",
      "reference" : "546",
      "severity" : "LOW",
      "toString" : "DefaultPreferencesHandler.java(67,0): DM_CONVERT_CASE: I18N: Use of non-localized String.toUpperCase() or String.toLowerCase() in new it.tidalwave.util.impl.DefaultPreferencesHandler()",
      "type" : "DM_CONVERT_CASE"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "MappingFinder.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/impl/finder/MappingFinder.java",
      "fingerprint" : "fa2ffc2350e5e3e7dc76ba596541a746",
      "lineEnd" : 0,
      "lineStart" : 0,
      "message" : "The field it.tidalwave.util.impl.finder.MappingFinder.delegate is transient but isn't set by deserialization",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util.impl.finder",
      "reference" : "546",
      "severity" : "LOW",
      "toString" : "MappingFinder.java(0,0): SE_TRANSIENT_FIELD_NOT_RESTORED: BAD_PRACTICE: The field it.tidalwave.util.impl.finder.MappingFinder.delegate is transient but isn't set by deserialization",
      "type" : "SE_TRANSIENT_FIELD_NOT_RESTORED"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "MappingFinder.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/impl/finder/MappingFinder.java",
      "fingerprint" : "2ee9b4e52312d8a5f7e746397b358738",
      "lineEnd" : 0,
      "lineStart" : 0,
      "message" : "The field it.tidalwave.util.impl.finder.MappingFinder.decorator is transient but isn't set by deserialization",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util.impl.finder",
      "reference" : "546",
      "severity" : "LOW",
      "toString" : "MappingFinder.java(0,0): SE_TRANSIENT_FIELD_NOT_RESTORED: BAD_PRACTICE: The field it.tidalwave.util.impl.finder.MappingFinder.decorator is transient but isn't set by deserialization",
      "type" : "SE_TRANSIENT_FIELD_NOT_RESTORED"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "ProviderFinder.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/impl/finder/ProviderFinder.java",
      "fingerprint" : "78620ceffac5909bda9cff745c7c2707",
      "lineEnd" : 0,
      "lineStart" : 0,
      "message" : "Class it.tidalwave.util.impl.finder.ProviderFinder defines non-transient non-serializable instance field supplier",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util.impl.finder",
      "reference" : "546",
      "severity" : "LOW",
      "toString" : "ProviderFinder.java(0,0): SE_BAD_FIELD: BAD_PRACTICE: Class it.tidalwave.util.impl.finder.ProviderFinder defines non-transient non-serializable instance field supplier",
      "type" : "SE_BAD_FIELD"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SupplierFinder.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/impl/finder/SupplierFinder.java",
      "fingerprint" : "d7ee15815c14bcc4a339b6f44da62359",
      "lineEnd" : 0,
      "lineStart" : 0,
      "message" : "Class it.tidalwave.util.impl.finder.SupplierFinder defines non-transient non-serializable instance field supplier",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util.impl.finder",
      "reference" : "546",
      "severity" : "LOW",
      "toString" : "SupplierFinder.java(0,0): SE_BAD_FIELD: BAD_PRACTICE: Class it.tidalwave.util.impl.finder.SupplierFinder defines non-transient non-serializable instance field supplier",
      "type" : "SE_BAD_FIELD"
    }
  ],
  "size" : 14,
  "toString" : "14 warnings (2 duplicates) (normal: 1, low: 13)"
}