OpenGTS is super wow...
OpenGTS is just an amazing example of over-engineering and pathological desire for code bloat and complexity. The worst java code I have seen for ages. The OpenGTS code is like a red book for anti-patterns. Basically the whole framework (or the most important part of it ) is statically coded so that each new server (device handler) should go through the Main class initialization route. Endless chains of call delegations ( loadDevice/loadDeviceBy for e.g ), code coupling, reinventing the wheel - the DB / XML configuration layers are just a marvelous pieces of code redundancy ! Guys, there are things like O/R mapping and XML binding API coming standard in Java, use them - it will benefit the users ! Use an Inversion of Control container (Spring/PicoContainer)- it will make the code modular. Have a look at sites like codinghorror.com more often, or just take a look at java4k.com to see how complete Super Mario/ Wolf3D games with multiple levels, sprites, physics and animations are done in just under 1000 lines of java code. Less is More guys, the KISS principle !!! And yes I can understand why OpenGTS is done like that. Enterprise support :) The more complex it is - the better the chances that nobody will have a clue how to integrate new servers without the help of the authors.
There are no 2 star reviews.