Thanks for the write up. I would definitely have it in mind.
BTW can you expand a bit on the stream thingy? Is there a link somewhere to
read about?
Vassilis
On Fri, Aug 19, 2016 at 8:59 PM, Ignacio Baca Moreno-Torres <
[email protected]> wrote:
> Migrating everything is not a good idea, but you should give a try to
> arrays in new models or some parts of your application. We found that we
> frequently end up using Immutable collections and FluentIterable, and this
> is almost the same that using arrays and streams. As you said, migrating a
> whole project is too complicated, but you can just start using and
> progressively applying to the whole API if this actually works for you. In
> 3 years we past from using RequestFactory, to RestyGWT to almost plain
> request + jsinterop (actually autorest-gwt). Maybe using plain objects and
> arrays doesn't fit in your project, but you really should try.
>
> Emm... and a bit of context; I'm try to justify that the complexity added
> during parsing/encoding to support collections and generics really do not
> worth (depends on projects) if your API use DTOs and you have streams
> available. In our project the DTOs classes end up as a scheme definition,
> defining the name and type of each property and with a minimal overhead
> during parsing/encoding in JRE, GWT and even Android (
> https://github.com/ibaca/autorest-nominatim-example/).
>
> On Friday, August 19, 2016 at 4:10:30 PM UTC+2, Vassilis Virvilis wrote:
>>
>> This makes sense for newer projects maybe.
>>
>> I already have a codebase and making trampolines to convert collections
>> and maps to arrays and don't know what is a terrifying option.
>>
>> I prefer to depend on gwt-jackson (which doesn't work for me - resty-gwt
>> works - resty-gwt is switching to gwt-jackson - eventually gwt-jackson will
>> work for me) especially if I am using jackson already in the server,
>>
>>
>> On Fri, Aug 19, 2016 at 5:02 PM, Ignacio Baca Moreno-Torres <
>> [email protected]> wrote:
>>
>>> IMHO supporting the whole collection frameworks is just an unnecessary
>>> complication. Just use plain array, not generics need, and now that stream
>>> are supported in GWT you has no excuse to use arrays. The inheritance is
>>> not solved in JsInterop for now, just try to avoid.
>>>
>>> On Friday, August 19, 2016 at 3:38:28 PM UTC+2, Vassilis Virvilis wrote:
>>>>
>>>> How about transmitting nested Collections, Map, complex inheritance and
>>>> generics?
>>>>
>>>> On Fri, Aug 19, 2016 at 4:30 PM, zakaria amine <[email protected]>
>>>> wrote:
>>>>
>>>>> I also tried to convert back to the original object:
>>>>>
>>>>> @JsType(isNative=true, namespace=GLOBAL)
>>>>> public class JSON {
>>>>> public native static String stringify(Object obj);
>>>>> public native static Object parse(String obj);
>>>>>
>>>>> }
>>>>>
>>>>> and then:
>>>>> //....
>>>>>
>>>>> Record converted = (Record) JSON.parse(json);
>>>>>
>>>>> and it works just fine. why would we need something like gwt-jackson
>>>>> anymore?
>>>>>
>>>>>
>>>>> Le vendredi 19 août 2016 12:05:32 UTC+2, zakaria amine a écrit :
>>>>>>
>>>>>> It works. I prefer your solution.
>>>>>>
>>>>>> Le vendredi 19 août 2016 11:51:35 UTC+2, Jens a écrit :
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Am Freitag, 19. August 2016 11:43:12 UTC+2 schrieb zakaria amine:
>>>>>>>>
>>>>>>>> I have tried something like:
>>>>>>>>
>>>>>>>> @JsType(namespace=GLOBAL)
>>>>>>>> public class Record {
>>>>>>>> String id;
>>>>>>>> String date;
>>>>>>>> String data;
>>>>>>>> public Record() {
>>>>>>>> }
>>>>>>>> }
>>>>>>>>
>>>>>>>
>>>>>>> By default @JsType property "isNative" is false, so your Record
>>>>>>> class is a non-native class that might get exported to JS if you use
>>>>>>> -generateJsInteropExports during compilation. If you don't use that flag
>>>>>>> the @JsType is treated as a normal class I guess.
>>>>>>>
>>>>>>> You should use @JsType(isNative=true, namespace=GLOBAL,
>>>>>>> name="Object") so that your Record class becomes a plain JavaScript
>>>>>>> object
>>>>>>>
>>>>>>> -- J.
>>>>>>>
>>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "GWT Users" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> Visit this group at https://groups.google.com/group/google-web-toolkit
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Vassilis Virvilis
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "GWT Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at https://groups.google.com/group/google-web-toolkit.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Vassilis Virvilis
>>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>
--
Vassilis Virvilis
--
You received this message because you are subscribed to the Google Groups "GWT
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.