What do you mean exactly by "collection support in JsInterop"? From you description I only understand that you want to keep using java collection API for existing & server side code. If you want use your JavaScript array/map instance from Java, you need an adaptor; doesn't matter who provides. And sure you can do it yourself. If you want use you Java collection from JavaScript, we already jsinterop-enabled many collection APIs.
On Mon, May 8, 2017 at 1:44 PM, Manuel Carrasco Moñino <[email protected]> wrote: > If in your model is enough to have Collections/Lists based on ArrayList > you can easily convert from JsArrays to ArrayLists and vice-versa by using > a bit of JSNI since the ArrayList implementation in GWT relies on a > javascript array. > > Take a look to this code used in the gwt-polymer-elements library (put > attention to asList and asArrayList methods) > > https://github.com/manolo/gwt-api-generator/blob/master/lib/ > com/vaadin/polymer/Polymer.java#L522 > > - Manolo > > > On Mon, May 8, 2017 at 10:27 PM, Marcin Okraszewski <[email protected]> > wrote: > >> Basically what we need it for is REST. Currently we use AutoBeans, but we >> want to change it because we need to pass the model to JS too; secondly >> AutoBeans generate a lot of code. We would like to still preserve shared >> model with the server. So, JsInterop seems the most natural choice, except >> it doesn't support collections. We mostly need List and Map. Switching to >> JsInterop with replacing Lists with some JS array view would be quite an >> effort. It would introduce that into our server logic too (by the shared >> model). And and you could even use Java's for each loop, as native JsType >> cannot extend non-JsType interfaces, so it could not extend Iterable (of >> course adapter could be instantiated for every list you want to iterate). >> Same for streams. >> >> Therefore we look for collection support in JsInterop, which was planned >> for "phase 2". If that was in our reach, we could help in getting it. >> >> Marcin >> >> >> On Monday, 8 May 2017 16:42:17 UTC+2, Ray Cromwell wrote: >>> >>> The adapter class adds overhead though and you need to convert into and >>> out of it every time you pass it to JS. At that point you may as well use >>> Java.util.List and write an adapter around JS array. >>> >>> >>> On Mon, May 8, 2017 at 7:10 AM Jens <[email protected]> wrote: >>> >>>> IMHO if you want a JavaScript array, set, map behave the same as a Java >>>> collection, so you can use it with other libraries, you should write an >>>> adapter class that implements the Java API and operates internally on the >>>> JavaScript data type. >>>> >>>> Basically do not rely on invisible magic. That could easily be >>>> implemented as a 3rd party project. >>>> >>>> -- J. >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "GWT Contributors" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to google-web-toolkit-contributor >>>> [email protected]. >>>> To view this discussion on the web visit https://groups.google.com/d/ms >>>> gid/google-web-toolkit-contributors/4d08f88c-ec88-4818-b778- >>>> 3e0e247f2e7e%40googlegroups.com >>>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/4d08f88c-ec88-4818-b778-3e0e247f2e7e%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "GWT Contributors" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit https://groups.google.com/d/ms >> gid/google-web-toolkit-contributors/5e9868cd-35d6-4f48-81b8- >> ef26ff791906%40googlegroups.com >> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/5e9868cd-35d6-4f48-81b8-ef26ff791906%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to the Google Groups > "GWT Contributors" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/google-web-toolkit-contributors/CAM28XAsesxqBxAS9Pjov%3DfPqy_ > u2raCEmFWLsO6OZN%3DbDrcpqA%40mail.gmail.com > <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAM28XAsesxqBxAS9Pjov%3DfPqy_u2raCEmFWLsO6OZN%3DbDrcpqA%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "GWT Contributors" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAN%3DyUA1BE9gw6700%3Dia5Lq-2kOPahesOcX9SGcQSFvKrbO_mtw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
