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

Reply via email to