Lists of todos and ideas for future version (see also Wish List).


  • patterntesting-check
    • Use assert in AbstractNullPointerTrap and NotNullAspect.
  • patterntesting-tools
    • migrate the existing Maven plugin to Maven 2
    • adapt the Ant plugin to the actual Ant version
  • extended thread support


  • divide patterntesting lib in a several parts:
    • patterntesting-check.jar with runtime checks (like the NullPointerTrap) for testing
    • patterntesting-rt.jar with better IO exceptions and other goodies
    • patterntesting-samples.zip with samples how to use patterntesting
    • patterntesting-tools.jar with the plugins for Ant and Maven
  • Change naming convention from "AbstractXxxTest" to "AbstractXxxCheck" to avoid confusion with the (internal) JUnit tests (which has a similar naming convention)
  • refactoring: move patterntest.java.runtime package to patterntesting.runtime (but keep the old java package for downward compatibility)
  • support for better thread testing (e.g. put a Thread.sleep() after each access to a attribute to provocate lost updates and other common thread problems)
  • reactivate Maven plugin


  • switch to Java 6 and AspectJ 1.6
  • reactivate Ant plugin
  • thread support


  • create a new CVS modul "PatternTesting05"
  • switch from Maven 1 to Maven 2 and set up a new directory structure
  • import bit for bit of the existing sources (but not the Maven1 plugin)
  • switch to Java 5 and AspectJ 5
  • scan the todos for 0.4 to see what can be realized


  • Improve Documentation.
  • Merge runtime report with compile time report
  • Add support to Logger for logging warnings and errors versus the generic PTViolation.
  • Refactor Maven plugin to depend on AspectJ plugin where possible
  • Add ability to enable/disable PT plugin
  • Add ability to fail the build based on PT error.
  • Add support for runtime aspects by providing a base class that adds violations to an XML file, which gets transformed into HTML after the tests are run. Modify the maven plugin so that it supports weaving pattern test aspects into the main classes so that these tests are triggered when running the unit tests ( Maven "test" goal). Will need to extend that to Cactus tests and functional tests later on.
  • Add notion of listeners to AjcErrorHandler. Provide 2 listeners: XMLFormatter and PlainFormatter (stdout). Same as for the junit Ant task.
  • Improve AjcTestCase by providing assertXXX() APIs to more easily assert result from Ajc.
  • Move the "declare error" from AbstractXXXTestPattern to the concrete implementations in the Maven plugin and add ability for users to define the text to be printed. Indeed, in order to get informative error message, it needs to be provided by the application, in its context.
  • Create a generic test case as all junit test cases seem to follow the same pattern.


  • Add support for JBossAOP.
  • Add support for AspectWerkz.