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 SpotBugs, 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

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 created the first version of the website with a colleague.

willhaben.at - Desktop Website

I worked as developer on this website.

dasErtragReich.at

I created this website (except of the design). But due lack of time I passed the project on.