Re: [ANNOUNCEMENT] Tapestry 5.4.4

2019-01-08 Thread Thiago H. de Paula Figueiredo
By the way, I've just found this ticket, so you don't need to create
another: https://issues.apache.org/jira/browse/TAP5-2560

On Tue, Jan 8, 2019 at 7:38 PM Thiago H. de Paula Figueiredo <
thiag...@gmail.com> wrote:

> On Thu, Jan 3, 2019 at 7:51 AM Chris Poulsen 
> wrote:
>
>> Hi
>>
>
> Hello!
>
>
>> The "fix" for GenericsUtils is attached.
>>
>
> I don't think the attachment worked. Could you please post it inline? Or,
> better yet, to a Jira issue? Thanks in advance. :)
>
>
>> I think that Guava is not the proper general solution as it is a rather
>> huge beast to bring in, just to get access to its TypeToken. Personally I
>> would prefer a lighter solution.
>>
>> We have been running this code in production since medio '16 without
>> requiring any more fixes. I can see from my commit comment back then, that
>> I initially attempted to fix GenericsUtils itself, then attempted to use
>> the commons-lang3 (reflect stuff) and finally gave up plugging in Guava as
>> it was already a dependency of our application. If the reflect stuff from
>> commons-lang3 could be made to work, that would not require any additional
>> dependencies being added and be a good solution IMO.
>>
>> I'm not sure I did create a ticket for the GenericsUtils issue, I may
>> just have asked on the list to see if anyone else was had experienced
>> something similar.
>>
>> Revisiting our override code I also see that we have a custom
>> PropertyAccessImpl in place, that one fixes some cases where the Java
>> Introspector fails to locate some setters, but I see that the Tapestry
>> class has received some changes after our version was created, so I
>> probably need to check whether that one is still necessary.
>>
>> --
>> Chris
>>
>>
>> On Thu, Jan 3, 2019 at 1:05 AM Thiago H. de Paula Figueiredo <
>> thiag...@gmail.com> wrote:
>>
>>> On Wed, Dec 19, 2018 at 11:26 AM Chris Poulsen 
>>> wrote:
>>>
>>> > Hi
>>> >
>>> > Hello!
>>>
>>>
>>> > We are using some pretty complex data models with deep interface
>>> > hierarchies and generics, and I ended up replacing the internals of
>>> > GenericsUtils with calls to com.google.common.reflect.TypeToken
>>> (Guava) to
>>> > get correct behavior
>>>
>>>
>>> Would it be possible to share your GenericUtils implementation using
>>> Guava
>>> with the Tapestry project? Also, what's the ticket you posted before? We
>>> definitely want to fix it for the 5.5.0 release. I already got another
>>> report of a similar problem from another person and it would be nice to
>>> reuse your solution if possible.
>>>
>>>
>>> > (often tapestry would complain that some "setter" was
>>> > not found or similar because it resolved the type to something higher
>>> in
>>> > the interface/object hierarchy and missed the correct method override
>>> due
>>> > to typing or something else. (I spent some time on attempting to fix
>>> the
>>> > tapestry implementation, but ended up thinking it was a waste of time
>>> > trying to replicate functionality that was already coded (more
>>> correctly)
>>> > by other people, and picked guava as that was already present in our
>>> > dependencies).
>>> >
>>> > Perhaps it is possible to find a lightweight,/focused library with a
>>> > compatible license today, that tapestry could rely on, instead of
>>> > attempting to implement this on its own.
>>> >
>>> > This is obviously not a widespread problem, but it is one of
>>> correctness
>>> > and it tickles my OCD ;)
>>> >
>>> > --
>>> > Chris
>>> >
>>> > On Wed, Dec 19, 2018 at 1:23 PM Thiago H. de Paula Figueiredo <
>>> > thiag...@gmail.com> wrote:
>>> >
>>> > > On Wed, Dec 19, 2018 at 8:41 AM Rafael Bugajewski <
>>> > > raf...@juicycocktail.com>
>>> > > wrote:
>>> > >
>>> > > > Congratulations! Thanks to the core team for your continuous work
>>> and
>>> > the
>>> > > > effort you put into maintaining Tapestry.
>>> > > >
>>> > >
>>> > > Thanks!
>>> > >
>>> > >
>>> > > > I think the whole industry goes the way of trying to simplify
>>> things
>>> > > (just
>>> > > > take a look at the most recent programming languages &
>>> frameworks). If
>>> > > > we’re talking about modernizing and competing with other
>>> frameworks, I
>>> > > > would like to see Tapestry reducing the complexity that is
>>> currently
>>> > > > required to grasp the framework and its various concepts (which are
>>> > > > technically great, but sometimes hard to understand if you just
>>> start
>>> > > > working with Tapestry). I think this will only work by providing
>>> old &
>>> > > new
>>> > > > APIs at the same time and by making the upgrade path and
>>> improvements
>>> > > very
>>> > > > clear in the documentation.
>>> > > >
>>> > >
>>> > > Well, some stuff is indeed not simple, and I'd say the form support
>>> is
>>> > the
>>> > > part which could use some new components to make at least the simpler
>>> > > scenarios simpler to implement (for example, when there are no
>>> loops).
>>> > > Which other areas do you think could or should be simplified?
>>> > >
>>> > >

Re: [ANNOUNCEMENT] Tapestry 5.4.4

2019-01-08 Thread Thiago H. de Paula Figueiredo
On Thu, Jan 3, 2019 at 7:51 AM Chris Poulsen  wrote:

> Hi
>

Hello!


> The "fix" for GenericsUtils is attached.
>

I don't think the attachment worked. Could you please post it inline? Or,
better yet, to a Jira issue? Thanks in advance. :)


> I think that Guava is not the proper general solution as it is a rather
> huge beast to bring in, just to get access to its TypeToken. Personally I
> would prefer a lighter solution.
>
> We have been running this code in production since medio '16 without
> requiring any more fixes. I can see from my commit comment back then, that
> I initially attempted to fix GenericsUtils itself, then attempted to use
> the commons-lang3 (reflect stuff) and finally gave up plugging in Guava as
> it was already a dependency of our application. If the reflect stuff from
> commons-lang3 could be made to work, that would not require any additional
> dependencies being added and be a good solution IMO.
>
> I'm not sure I did create a ticket for the GenericsUtils issue, I may just
> have asked on the list to see if anyone else was had experienced something
> similar.
>
> Revisiting our override code I also see that we have a custom
> PropertyAccessImpl in place, that one fixes some cases where the Java
> Introspector fails to locate some setters, but I see that the Tapestry
> class has received some changes after our version was created, so I
> probably need to check whether that one is still necessary.
>
> --
> Chris
>
>
> On Thu, Jan 3, 2019 at 1:05 AM Thiago H. de Paula Figueiredo <
> thiag...@gmail.com> wrote:
>
>> On Wed, Dec 19, 2018 at 11:26 AM Chris Poulsen 
>> wrote:
>>
>> > Hi
>> >
>> > Hello!
>>
>>
>> > We are using some pretty complex data models with deep interface
>> > hierarchies and generics, and I ended up replacing the internals of
>> > GenericsUtils with calls to com.google.common.reflect.TypeToken (Guava)
>> to
>> > get correct behavior
>>
>>
>> Would it be possible to share your GenericUtils implementation using Guava
>> with the Tapestry project? Also, what's the ticket you posted before? We
>> definitely want to fix it for the 5.5.0 release. I already got another
>> report of a similar problem from another person and it would be nice to
>> reuse your solution if possible.
>>
>>
>> > (often tapestry would complain that some "setter" was
>> > not found or similar because it resolved the type to something higher in
>> > the interface/object hierarchy and missed the correct method override
>> due
>> > to typing or something else. (I spent some time on attempting to fix the
>> > tapestry implementation, but ended up thinking it was a waste of time
>> > trying to replicate functionality that was already coded (more
>> correctly)
>> > by other people, and picked guava as that was already present in our
>> > dependencies).
>> >
>> > Perhaps it is possible to find a lightweight,/focused library with a
>> > compatible license today, that tapestry could rely on, instead of
>> > attempting to implement this on its own.
>> >
>> > This is obviously not a widespread problem, but it is one of correctness
>> > and it tickles my OCD ;)
>> >
>> > --
>> > Chris
>> >
>> > On Wed, Dec 19, 2018 at 1:23 PM Thiago H. de Paula Figueiredo <
>> > thiag...@gmail.com> wrote:
>> >
>> > > On Wed, Dec 19, 2018 at 8:41 AM Rafael Bugajewski <
>> > > raf...@juicycocktail.com>
>> > > wrote:
>> > >
>> > > > Congratulations! Thanks to the core team for your continuous work
>> and
>> > the
>> > > > effort you put into maintaining Tapestry.
>> > > >
>> > >
>> > > Thanks!
>> > >
>> > >
>> > > > I think the whole industry goes the way of trying to simplify things
>> > > (just
>> > > > take a look at the most recent programming languages & frameworks).
>> If
>> > > > we’re talking about modernizing and competing with other
>> frameworks, I
>> > > > would like to see Tapestry reducing the complexity that is currently
>> > > > required to grasp the framework and its various concepts (which are
>> > > > technically great, but sometimes hard to understand if you just
>> start
>> > > > working with Tapestry). I think this will only work by providing
>> old &
>> > > new
>> > > > APIs at the same time and by making the upgrade path and
>> improvements
>> > > very
>> > > > clear in the documentation.
>> > > >
>> > >
>> > > Well, some stuff is indeed not simple, and I'd say the form support is
>> > the
>> > > part which could use some new components to make at least the simpler
>> > > scenarios simpler to implement (for example, when there are no loops).
>> > > Which other areas do you think could or should be simplified?
>> > >
>> > >
>> > > > Personally I’m also getting into the vibe of smaller services that
>> > > > communicate with each other, instead of this one monolithic giant
>> that
>> > > > tries to be everything, but is nothing in the end. We use
>> > > bootique-tapestry
>> > > > (and also other Bootique-compatible integrations). I would like to
>> see
>> > > > Tapestry to also go in this direction and