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 <mailingl...@nesluop.dk>
> 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 <mailingl...@nesluop.dk>
>>> 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 improve integration on
>>> > similar
>>> > > > deployment environments.
>>> > > >
>>> > >
>>> > > We could definitely have some ideas to make microservices easier to
>>> build
>>> > > on the top of Tapestry-IoC.
>>> > >
>>> > >
>>> > > > On the other side, I’m currently pretty happy with the state of
>>> > Tapestry
>>> > > > and with the framework keeping up with modern Java versions.
>>> > > >
>>> > >
>>> > > Thanks!
>>> > >
>>> > > --
>>> > > Thiago
>>> > >
>>> >
>>>
>>>
>>> --
>>> Thiago
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>
>
> --
> Thiago
>


-- 
Thiago

Reply via email to