tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thiago H de Paula Figueiredo" <thi...@arsmachina.com.br>
Subject BeanModel and Commons package
Date Sun, 07 Dec 2014 02:49:23 GMT

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.


Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer

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

View raw message