{
  "_class" : "io.jenkins.plugins.analysis.core.restapi.ReportApi",
  "issues" : [
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringSimpleMessageSubscriberAspect.aj",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "it/tidalwave/messagebus/impl/spring/SpringSimpleMessageSubscriberAspect.aj",
      "fingerprint" : "eb9a268422da4e2e8091e4b4e4773a12",
      "lineEnd" : 1,
      "lineStart" : 1,
      "message" : "Primitive field it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberAspect.ajc$perSingletonInstance is public and set from inside the class, which makes it too exposed. Consider making it private to limit external accessibility.",
      "moduleName" : "TheseFoolishThings :: MessageBus :: Spring",
      "origin" : "spotbugs",
      "originName" : "SpotBugs",
      "packageName" : "it.tidalwave.messagebus.impl.spring",
      "reference" : "617",
      "severity" : "LOW",
      "toString" : "SpringSimpleMessageSubscriberAspect.aj(1,0): PA_PUBLIC_PRIMITIVE_ATTRIBUTE: BAD_PRACTICE: Primitive field it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberAspect.ajc$perSingletonInstance is public and set from inside the class, which makes it too exposed. Consider making it private to limit external accessibility.",
      "type" : "PA_PUBLIC_PRIMITIVE_ATTRIBUTE"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringSimpleMessageSubscriberSupport.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringMessageBus/src/main/java/it/tidalwave/messagebus/impl/spring/SpringSimpleMessageSubscriberSupport.java",
      "fingerprint" : "fd0baca0ed7888da3db312c0f0cdede1",
      "lineEnd" : 47,
      "lineStart" : 47,
      "message" : "Exception thrown in class it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberSupport at new it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberSupport(BeanFactory, Object) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.",
      "moduleName" : "TheseFoolishThings :: MessageBus :: Spring",
      "origin" : "spotbugs",
      "originName" : "SpotBugs",
      "packageName" : "it.tidalwave.messagebus.impl.spring",
      "reference" : "617",
      "severity" : "LOW",
      "toString" : "SpringSimpleMessageSubscriberSupport.java(47,0): CT_CONSTRUCTOR_THROW: BAD_PRACTICE: Exception thrown in class it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberSupport at new it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberSupport(BeanFactory, Object) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.",
      "type" : "CT_CONSTRUCTOR_THROW"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DciContextWithAutoThreadBindingAspect.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/DciContextWithAutoThreadBindingAspect.java",
      "fingerprint" : "c90993cfb0760641904d3060662c815c",
      "lineEnd" : 1,
      "lineStart" : 1,
      "message" : "Primitive field it.tidalwave.role.spring.spi.DciContextWithAutoThreadBindingAspect.ajc$perSingletonInstance is public and set from inside the class, which makes it too exposed. Consider making it private to limit external accessibility.",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "SpotBugs",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "617",
      "severity" : "LOW",
      "toString" : "DciContextWithAutoThreadBindingAspect.java(1,0): PA_PUBLIC_PRIMITIVE_ATTRIBUTE: BAD_PRACTICE: Primitive field it.tidalwave.role.spring.spi.DciContextWithAutoThreadBindingAspect.ajc$perSingletonInstance is public and set from inside the class, which makes it too exposed. Consider making it private to limit external accessibility.",
      "type" : "PA_PUBLIC_PRIMITIVE_ATTRIBUTE"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "AsDisplayableComparator.java",
      "category" : "CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Roles/src/main/java/it/tidalwave/role/ui/impl/AsDisplayableComparator.java",
      "fingerprint" : "5665fffa39b235d8e5aa1d8cd9ea2ff7",
      "lineEnd" : 48,
      "lineStart" : 44,
      "message" : "Class (it.tidalwave.role.ui.impl.AsDisplayableComparator) using singleton design pattern has non-private constructor.",
      "moduleName" : "TheseFoolishThings :: Roles",
      "origin" : "spotbugs",
      "originName" : "SpotBugs",
      "packageName" : "it.tidalwave.role.ui.impl",
      "reference" : "617",
      "severity" : "LOW",
      "toString" : "AsDisplayableComparator.java(44,0): SING_SINGLETON_HAS_NONPRIVATE_CONSTRUCTOR: CORRECTNESS: Class (it.tidalwave.role.ui.impl.AsDisplayableComparator) using singleton design pattern has non-private constructor.",
      "type" : "SING_SINGLETON_HAS_NONPRIVATE_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DisplayableComparator.java",
      "category" : "CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Roles/src/main/java/it/tidalwave/role/ui/impl/DisplayableComparator.java",
      "fingerprint" : "4cf590f15416565371321a6fc9cc255e",
      "lineEnd" : 47,
      "lineStart" : 43,
      "message" : "Class (it.tidalwave.role.ui.impl.DisplayableComparator) using singleton design pattern has non-private constructor.",
      "moduleName" : "TheseFoolishThings :: Roles",
      "origin" : "spotbugs",
      "originName" : "SpotBugs",
      "packageName" : "it.tidalwave.role.ui.impl",
      "reference" : "617",
      "severity" : "LOW",
      "toString" : "DisplayableComparator.java(43,0): SING_SINGLETON_HAS_NONPRIVATE_CONSTRUCTOR: CORRECTNESS: Class (it.tidalwave.role.ui.impl.DisplayableComparator) using singleton design pattern has non-private constructor.",
      "type" : "SING_SINGLETON_HAS_NONPRIVATE_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DefaultPreferencesHandler.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/impl/DefaultPreferencesHandler.java",
      "fingerprint" : "a0c539ac1e34b5706cb2556060fb8dfd",
      "lineEnd" : 85,
      "lineStart" : 85,
      "message" : "Exception thrown in class it.tidalwave.util.impl.DefaultPreferencesHandler at new it.tidalwave.util.impl.DefaultPreferencesHandler() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "SpotBugs",
      "packageName" : "it.tidalwave.util.impl",
      "reference" : "617",
      "severity" : "LOW",
      "toString" : "DefaultPreferencesHandler.java(85,0): CT_CONSTRUCTOR_THROW: BAD_PRACTICE: Exception thrown in class it.tidalwave.util.impl.DefaultPreferencesHandler at new it.tidalwave.util.impl.DefaultPreferencesHandler() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.",
      "type" : "CT_CONSTRUCTOR_THROW"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "HierarchicFinderSupport.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/spi/HierarchicFinderSupport.java",
      "fingerprint" : "45ae0ac40fa144e84504a769f4190259",
      "lineEnd" : 129,
      "lineStart" : 129,
      "message" : "Exception thrown in class it.tidalwave.util.spi.HierarchicFinderSupport at new it.tidalwave.util.spi.HierarchicFinderSupport() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "SpotBugs",
      "packageName" : "it.tidalwave.util.spi",
      "reference" : "617",
      "severity" : "LOW",
      "toString" : "HierarchicFinderSupport.java(129,0): CT_CONSTRUCTOR_THROW: BAD_PRACTICE: Exception thrown in class it.tidalwave.util.spi.HierarchicFinderSupport at new it.tidalwave.util.spi.HierarchicFinderSupport() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.",
      "type" : "CT_CONSTRUCTOR_THROW"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "HierarchicFinderSupport.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/spi/HierarchicFinderSupport.java",
      "fingerprint" : "9f313e4999f382f2f216213fe663a94c",
      "lineEnd" : 114,
      "lineStart" : 114,
      "message" : "Exception thrown in class it.tidalwave.util.spi.HierarchicFinderSupport at new it.tidalwave.util.spi.HierarchicFinderSupport(String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "SpotBugs",
      "packageName" : "it.tidalwave.util.spi",
      "reference" : "617",
      "severity" : "LOW",
      "toString" : "HierarchicFinderSupport.java(114,0): CT_CONSTRUCTOR_THROW: BAD_PRACTICE: Exception thrown in class it.tidalwave.util.spi.HierarchicFinderSupport at new it.tidalwave.util.spi.HierarchicFinderSupport(String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.",
      "type" : "CT_CONSTRUCTOR_THROW"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "ThreadAssertions.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/thread/ThreadAssertions.java",
      "fingerprint" : "cb07dde94c9da84f157f453e8351e330",
      "lineEnd" : 52,
      "lineStart" : 52,
      "message" : "Assertion validates method argument at it.tidalwave.util.thread.ThreadAssertions.assertThread(ThreadType). If assertions are disabled, there won't be any argument validation.",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "SpotBugs",
      "packageName" : "it.tidalwave.util.thread",
      "reference" : "617",
      "severity" : "LOW",
      "toString" : "ThreadAssertions.java(52,0): AA_ASSERTION_OF_ARGUMENTS: BAD_PRACTICE: Assertion validates method argument at it.tidalwave.util.thread.ThreadAssertions.assertThread(ThreadType). If assertions are disabled, there won't be any argument validation.",
      "type" : "AA_ASSERTION_OF_ARGUMENTS"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "Person.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/examples/Data/src/main/java/it/tidalwave/thesefoolishthings/examples/person/Person.java",
      "fingerprint" : "325ac0fb7f8a1c4ea89440d358d84566",
      "lineEnd" : 56,
      "lineStart" : 56,
      "message" : "Exception thrown in class it.tidalwave.thesefoolishthings.examples.person.Person at new it.tidalwave.thesefoolishthings.examples.person.Person(String, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.",
      "moduleName" : "TheseFoolishThings :: Examples :: Data",
      "origin" : "spotbugs",
      "originName" : "SpotBugs",
      "packageName" : "it.tidalwave.thesefoolishthings.examples.person",
      "reference" : "617",
      "severity" : "LOW",
      "toString" : "Person.java(56,0): CT_CONSTRUCTOR_THROW: BAD_PRACTICE: Exception thrown in class it.tidalwave.thesefoolishthings.examples.person.Person at new it.tidalwave.thesefoolishthings.examples.person.Person(String, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.",
      "type" : "CT_CONSTRUCTOR_THROW"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "JpaFinder.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/examples/JPAFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/jpafinderexample/impl/JpaFinder.java",
      "fingerprint" : "8f1199a0a095a48c8c16127db9bdcd90",
      "lineEnd" : 100,
      "lineStart" : 100,
      "message" : "Exception thrown in class it.tidalwave.thesefoolishthings.examples.jpafinderexample.impl.JpaFinder at new it.tidalwave.thesefoolishthings.examples.jpafinderexample.impl.JpaFinder(Class, Function, TxManager) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.",
      "moduleName" : "TheseFoolishThings :: Examples :: Finder :: JPA Finder",
      "origin" : "spotbugs",
      "originName" : "SpotBugs",
      "packageName" : "it.tidalwave.thesefoolishthings.examples.jpafinderexample.impl",
      "reference" : "617",
      "severity" : "LOW",
      "toString" : "JpaFinder.java(100,0): CT_CONSTRUCTOR_THROW: BAD_PRACTICE: Exception thrown in class it.tidalwave.thesefoolishthings.examples.jpafinderexample.impl.JpaFinder at new it.tidalwave.thesefoolishthings.examples.jpafinderexample.impl.JpaFinder(Class, Function, TxManager) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.",
      "type" : "CT_CONSTRUCTOR_THROW"
    }
  ],
  "size" : 11,
  "toString" : "11 warnings (low: 11)"
}