Projects

Maven Central Repository

My private projects which are available on the Central Repository.

Maven POM-Project

The POM of the POM-Project is indented to be used as a parent POM, to speed up the setup/configuration of a project. I am using this POM as a parent POM for all my projects.

Features
  • Static code analysis with FindBugs, PMD and CheckStyle with reasonable configuration
  • JaCoCo for code coverage reports
  • Surefire with two configurations
    • tests which are thread safe and will be executed in parallel on the same JVM
    • tests which aren't thread safe and therefore will be run in JVM forks
  • Failsafe to execute integration tests
  • Maven Site to generate a nice documentation
    • Markdown for the documentation
    • Project info reports
    • Generated Javadoc
    • Source Code as HTML for code references
    • Generated tag lists for todo/fixme and @deprecated
    • JaCoCo, Surfire and Failsafe reports

Resources: Source Code (GitHub), Documentation

spBee - Stored Procedure Bee

This framework allows to declare the stored procedures calls declarative instead of programmatically. Only the interfaces, the entities and add a few annotations need to be written.The code for the stored procedures, the necessary entity mappers and the implementations of the DAO interfaces is generated by spBee.

An important point is that there is no magic behind this framework like JPA/Hibernate with crazy reflection, proxies and framework logic. The only logic is how to translate the annotations to the corresponding Java code. Thereby spBee has only about 1700 LoC (measured with sloc).

Everything is done at compile time. Therefore there is no performance shortcoming. No reflection. No proxies.

Resources: Source Code (GitHub), Documentation

Private Projects

My projects which aren't on the Central Repository, because it doesn't make sense to include them as Maven dependency.

LCMiP - Log Called Methods in Production

A tool box to log all called methods and to create a report of all unused classes and unused methods.

To instrument the code a Java Agent is used.

Resources: Source Code (GitHub), Documentation

Spring MVC Bootstrap Project

The main focus of this project is to create a template for a webapp. So that you can just start developing your webapp and you don't need to configure everything first. It's quite time consuming to create a nicely configured webapp project.
This structure is intended for small to medium size websites. Like this site which is based on this template.

Features

TODO: finish demo project and put it on GitHub.

jLearn

A website to help people learn Java. On the website are interactive exercises. The exercises can be solved and executed directly in the browser. Nevertheless the output should be exactly the same if the program would be compiled and run with javac and java.

For me the most interesting aspect of the project was to do the compilation on the fly and the execution of the Java code inside of the server JVM - no IO operations, no external processes. Of course the execution of the user code must be sandboxed.

Link to the jLearn website (German).

Contract Work

My contract work projects, which are publicly accessible. My other work is listed in my CV under work experience.

willhaben.at - Mobile Website

I am the architect of this website and work in a team as developer on this website.

willhaben.at - Desktop Website

I work in a team as developer on this website.

dasErtragReich.at

I created this website alone (except of the design).