CVS Directory*: http://cvs.arca.ime.usp.br/cgi-bin/viewcvs.cgi/gerbo/#dirlist
Download package: http://sourceforge.net/project/showfiles.php?group_id=33675
* The CVS will migrate to SourceForge if we get enough interest.
What is Gerbo?
Gerbo is Yet Another Object Mapper,
Given a XML file (which is pretty the same one from Torque, and it will be compatible), you will have a mapping between yor objects and your database.
And if you need to do something too different from what an object mapping can do, you can still encapsulate it, since Gerbo has a two layer abstraction. I mean, you will not have to write sql code in your code.
It will have support (pretty soon) for joining tables from different databases, like:
We also plan to have a GUI, so you do not need to do the xml by hand, and you will be able to instrospect a database, getting the XML from it.
The tutorials are short and dense, but really enough, if you do java, you will spend like 10-20 minutes reading all of them.
Go for the tutorials:
Another good way to learn how it works, is to look at GerboTest.java, the JUnit test case that is generated after you run Gerbo.
Take a look at the Javadoc API generated for this xml file with Gerbo.
More tutorials to come ASAP.
What is Mamute?
It is a little webapp framework. It makes full use of jakarta velocity, encapsulates HttpResponse and HttpRequest, handle multipart requests, and make everything a little bit easier.
What is PinkRacoon?
It will be a small webportal, based in gerbo and mamute, given a portal.xml. It will be able to generate webportals on the fly.
Just like phpnuke, but in java. It will also have phpbb support, what means that you can share your user table with phpbb.
Why should I use these instead of ObjectBridge, Torque, Struts, Turbine and so many other jakarta projects?
You should not. Gerbo and Mamute are really basic and slow tools. But you can use it for smaller pourposes, or when your deadline is tomorrow.
So you should use them to do small websites, you can do it quickly and you will be able to understand the whole data broker functionality. And if you cant do a difficult query using Torque Criteria, or something like that, in gerbo you can still work with SQL statements, without hardcoding them into your javas.
Where can I get the files?
You need jdk1.4 to compile and run gerbo, and you will need
jdk 1.4 to compile and run the classes generated by Gerbo.
The zip files already includes two necessary jar files: mmmysqldriver 2.14 jar file, velocity 1.2 jar file and junit jar file. Older versions will probably work.
For mamute, we will use velocity and junit.
Can I help?
I beg you. Specially swing, new ideas, new features, new databases support and so on.
PROJECT TODO:
- Organize the tutorials
GERBO TODO:
- Accept different connections for each table (joins between different databases, cool)
- Make PostgreSQL properties files
- More tutorials, more colorful and well organized
- Make it Maven compatible
- Use it simply as a JAR
- .equals() ovewritten for the mapped classes
- get the last inserted id, to auto update the instance (?)
- support also setFieldId(field), not only Integers
- Support for multi primary key (?)
- Primary key is always Integer and Auto increment, we must change this
- GUI
- for creating the XML file
- or to make introspection given a jdbc driver and connection string
- it must be beautiful
MAMUTE TODO:
- Start it (I already have some stuff)
PINKRACOON TODO:
- Start it
LICENSE:
GPL, better statement soon