Hi!

As I've mentioned some time ago, I realized the BeanModel classes from tapestry-core would an awesome, easy-to-use, fast Java property reflection library if it was a library of its own, specially POJO mapping and binding ones like JAXB or Jackson. That's what I did today. ;)

All this work was done on the 'beanmodel-split' branch. I invite everyone to take a look and all feedback, constructive or destructive, will be most welcome. If no one objects in the next couple of weeks, I'll merge it into the master branch.

I've created two new subprojects: BeanModel and Commons. Basically, the BeanModel subproject is the set of classes and interfaces needed to obtain BeanModel instances. The Commons one contains stuff needed by BeanModel, but made more sense in a JAR of its own then stuffed inside the BeanModel one. Now tapestry-ioc has a dependency on BeanModel, which has a dependency on Commons.

I did this refactoring taking extreme care on backward-compatibility and changing or moving as little code as possible. Indeed, around a handful files had actual code changes. Classes that were moved from tapestry-core and tapestry-ioc to BeanModel or Commons are in the same package as before, so no code using the BeanModel classes will be broken by this change (assuming it has the BeanModel and Commons JARs in the classpath, of course). Git detects it as file renames. I did have to refactor a couple internal classes, specially InternalUtils, which had part of it broken off to Commons' InternalCommonsUtils. I've also created BeanModelSourceBuilder for making it easy to create BeanModelSource objects without Tapestry-IoC, even its JavaDoc saying T-IoC is the recommended approach. BeanModelSourceBuilderTest test it.

Cheers!

--
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tapestry.apache.org
For additional commands, e-mail: dev-h...@tapestry.apache.org

Reply via email to