GSoC/GCI Archive
Google Summer of Code 2009

The Codehaus

Web Page:

Mailing List:

“The Codehaus” is a collaborative environment for building opensource projects with a strong emphasis on modern languages, focussed on quality components that meet real world needs. We believe in open source as a pragmatic approach to software development, and all our projects have business-friendly licences. Codehaus is an umbrella group; much like the Apache Software Foundation.


  • Foci, web stats project. Improving and extending the Foci web stats application, which has the core logic in place, but there's still work to be done on the interfaces and on the performance to allow it to withstand heavy loads.
  • Google Summer of Code 2009 Proposal – Castor JPA Compliance The Castor project is a quite popular and ongoing data binding and persistence framework. It demonstrates its strength in a wide variety of usage scenarios, embedment in powerful frameworks and a highly participating community. This project intends to implement Java Persistence API interfaces (excluding JPA annotation support and JPA query language) to allow developers the usage of Castor as a JPA persistence provider in a Java environment.
  • Groovy on Android Currently, Groovy is not able to run on Google's Android mobile platform. The goal of this GSoC project is to work with the Groovy core team towards the goal of making any Groovy program to run on the Android platform, so that apps for such mobile phone can be written fully in Groovy.
  • Nokogiri JRuby support The work will consist on finishing Nokogiri JRuby support and help in other libraries people is using, like ar-jdbc and RMagick (the last one, continue with RMagick4J and explore the possibility of a ffi-based library).
  • Refactor generation of SQL queries Castor is an Open Source data binding framework for Java. It provides Java-XML binding and Java-SQL Persistence etc. The object query language supported by Castor is very limited. Castor uses descriptor classes at every step of query construction and for fetching of results which is an overhead and second problem is to keep the SQL column list passed, to be in synchronization with the sequence of columns in the resultset. To address these problems, there is a need to standardize the query engine