You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by Thiago H de Paula Figueiredo <th...@arsmachina.com.br> on 2014/12/07 03:49:23 UTC
BeanModel and Commons package
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-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org
Re: BeanModel and Commons package
Posted by Howard Lewis Ship <hl...@gmail.com>.
The test referenced classes that had moved, with a little juggling, I got
it all to work.
On Mon, Dec 29, 2014 at 6:03 AM, Lance Java <la...@googlemail.com>
wrote:
> Educated stab in the dark here but does ClasspathScannerImpl assume each
> package is contained within a single jar?
>
> I'm guessing Thiago's changes involved splitting a single package across 2
> (maybe 3) jars to maintain backwards compatibility.
> On 23 Dec 2014 23:00, "Howard Lewis Ship" <hl...@gmail.com> wrote:
>
> > I'm doing a build of latest, currently. Seeing one oddity:
> >
> > ioc.specs.ClasspathScannerImplSpec > can locate classes inside a
> > subpackage, inside an extracted JAR file FAILED
> > org.spockframework.runtime.ConditionNotSatisfiedError at
> > ClasspathScannerImplSpec.groovy:40
> >
> > 708 tests completed, 1 failed, 2 skipped
> > :tapestry-ioc:test FAILED
> >
> > Off to investigate.
> >
> > On Mon, Dec 22, 2014 at 5:12 AM, Jochen Kemnade <ke...@gmail.com>
> wrote:
> >
> > > I have to admit that I didn't have a chance to look into the changes
> you
> > > made yet, and probably, I won't get to doing that until 2015.
> > > But a new beta would be a good way to make more people (including me)
> > give
> > > them a try in the near future, so I'd say, just go ahead. :-)
> > >
> >
> >
> >
> > --
> > Howard M. Lewis Ship
> >
> > Creator of Apache Tapestry
> >
> > The source for Tapestry training, mentoring and support. Contact me to
> > learn how I can get you up and productive in Tapestry fast!
> >
> > (971) 678-5210
> > http://howardlewisship.com
> > @hlship
> >
>
--
Howard M. Lewis Ship
Creator of Apache Tapestry
The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!
(971) 678-5210
http://howardlewisship.com
@hlship
Re: BeanModel and Commons package
Posted by Lance Java <la...@googlemail.com>.
Educated stab in the dark here but does ClasspathScannerImpl assume each
package is contained within a single jar?
I'm guessing Thiago's changes involved splitting a single package across 2
(maybe 3) jars to maintain backwards compatibility.
On 23 Dec 2014 23:00, "Howard Lewis Ship" <hl...@gmail.com> wrote:
> I'm doing a build of latest, currently. Seeing one oddity:
>
> ioc.specs.ClasspathScannerImplSpec > can locate classes inside a
> subpackage, inside an extracted JAR file FAILED
> org.spockframework.runtime.ConditionNotSatisfiedError at
> ClasspathScannerImplSpec.groovy:40
>
> 708 tests completed, 1 failed, 2 skipped
> :tapestry-ioc:test FAILED
>
> Off to investigate.
>
> On Mon, Dec 22, 2014 at 5:12 AM, Jochen Kemnade <ke...@gmail.com> wrote:
>
> > I have to admit that I didn't have a chance to look into the changes you
> > made yet, and probably, I won't get to doing that until 2015.
> > But a new beta would be a good way to make more people (including me)
> give
> > them a try in the near future, so I'd say, just go ahead. :-)
> >
>
>
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
> @hlship
>
Re: BeanModel and Commons package
Posted by Howard Lewis Ship <hl...@gmail.com>.
I'm doing a build of latest, currently. Seeing one oddity:
ioc.specs.ClasspathScannerImplSpec > can locate classes inside a
subpackage, inside an extracted JAR file FAILED
org.spockframework.runtime.ConditionNotSatisfiedError at
ClasspathScannerImplSpec.groovy:40
708 tests completed, 1 failed, 2 skipped
:tapestry-ioc:test FAILED
Off to investigate.
On Mon, Dec 22, 2014 at 5:12 AM, Jochen Kemnade <ke...@gmail.com> wrote:
> I have to admit that I didn't have a chance to look into the changes you
> made yet, and probably, I won't get to doing that until 2015.
> But a new beta would be a good way to make more people (including me) give
> them a try in the near future, so I'd say, just go ahead. :-)
>
--
Howard M. Lewis Ship
Creator of Apache Tapestry
The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!
(971) 678-5210
http://howardlewisship.com
@hlship
Re: BeanModel and Commons package
Posted by Jochen Kemnade <ke...@gmail.com>.
I have to admit that I didn't have a chance to look into the changes you
made yet, and probably, I won't get to doing that until 2015.
But a new beta would be a good way to make more people (including me) give
them a try in the near future, so I'd say, just go ahead. :-)
Re: BeanModel and Commons package
Posted by Thiago H de Paula Figueiredo <th...@arsmachina.com.br>.
On Sun, 07 Dec 2014 00:49:23 -0200, Thiago H de Paula Figueiredo
<th...@arsmachina.com.br> wrote:
> 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.
A couple weeks later, nobody objected, so I merged the beanmodel-split
branch into master, committed and pushed.
What about a new beta so we can test it before the final 5.4 release?
--
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org
Re: BeanModel and Commons package
Posted by Howard Lewis Ship <hl...@gmail.com>.
interesting. I think if we had access to Gradle and Git longer in the past,
we would have seen Tapestry as more small libraries in the first place.
Certainly that's the approach I've been taking in my Clojure efforts.
On Saturday, December 6, 2014, Thiago H de Paula Figueiredo <
thiago@arsmachina.com.br> wrote:
> 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-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: dev-help@tapestry.apache.org
>
>
--
Howard M. Lewis Ship
Creator of Apache Tapestry
The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!
(971) 678-5210
http://howardlewisship.com
@hlship