Nice ! I'm looking forward to reading your post ;) Franck.
2014-06-04 13:24 GMT+02:00 Gary Yang <[email protected]>: > Franck, > > I will post some example usages of Stage3D, GraniteDS and Spring together > in July. > > The Vector serialization is very important for 3D because the 3D data is > all Vector<int> and Vector<Number>, I am very surprised that after Stage3D > has been release 3 years, I still can't find related topics online, it > seems most developers are following HTML/JS bluffing! > > Great job! > > Thanks. > > -Gary > > > On Wed, Jun 4, 2014 at 5:44 AM, Franck Wolff <[email protected]> wrote: > > > Gary, > > > > Nice to know you're happy with GraniteDS! > > > > Unfortunately, I can't see your image, something went wrong with the > > post... Any link outside this mailing list? > > > > Cheers, > > Franck. > > > > > > 2014-06-03 22:17 GMT+02:00 Gary Yang <[email protected]>: > > > > > Franck, > > > > > > Version 3.1.0 working perfect! > > > > > > After overring the writingCollection( very little code change ), I have > > > managed to load very complex type of data from server!!! > > > > > > Please see: > > > > > > [image: Inline image 1] > > > > > > Thank you very much! > > > > > > Best, > > > > > > -Gary > > > > > > > > > > > > On Tue, Jun 3, 2014 at 6:52 AM, Franck Wolff <[email protected]> > wrote: > > > > > >> See https://github.com/fwolff/flex-vectors-example and especially > > >> > > >> > > > https://github.com/fwolff/flex-vectors-example/blob/master/java/org/granite/example/vectors/java/VectorService.java > > >> , > > >> which shows how to serialize java arrays / collections as AMF vectors > > >> (sorry this feature isn't well documented yet). > > >> > > >> Franck. > > >> > > >> > > >> 2014-06-02 23:18 GMT+02:00 Gary Yang <[email protected]>: > > >> > > >> > Hi Frank, > > >> > > > >> > I just did a little test against GraniteDS, it can parse bytes into > > Java > > >> > Object very well even for strong typed vector array. > > >> > > > >> > But I don't see GraniteDS can convert a Java Array into Actionscript > > >> > Vector, could you help me please? > > >> > > > >> > > > >> > I also took a look in org.granite.messaging.amf.io.AMF3Serializer, > it > > >> > serializes all Java Collection into actionscript > > >> > mx.collection.ArrayCollection, does mobile app based on Flex have > > >> > ArrayCollection compiled in? Which is the best way to change this > > >> default > > >> > behaviour please? > > >> > > > >> > > > >> > Best, > > >> > > > >> > -Gary > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > On Fri, May 30, 2014 at 12:02 PM, Gary Yang <[email protected] > > > > >> > wrote: > > >> > > > >> > > Right, I want to try GraniteDS because > > >> > > > > >> > > 1) Vector support is important! > > >> > > > > >> > > 2) BlazeDS is too old, 2011 code based on JDK5! No one can > guarantee > > >> it > > >> > > works with JDK8/Servlet3!! > > >> > > > > >> > > > > >> > > But I am very sure BlazeDS can catch up very fast once development > > >> back > > >> > on > > >> > > track! > > >> > > > > >> > > -Gary > > >> > > > > >> > > > > >> > > On Fri, May 30, 2014 at 11:50 AM, Christofer Dutz < > > >> > > [email protected]> wrote: > > >> > > > > >> > >> Or we will be able to finally start tweaking BlazeDS as soon as > we > > >> have > > >> > >> the parity release out the door ;-) > > >> > >> > > >> > >> Chris > > >> > >> > > >> > >> -----Ursprüngliche Nachricht----- > > >> > >> Von: Gary Yang [mailto:[email protected]] > > >> > >> Gesendet: Freitag, 30. Mai 2014 17:14 > > >> > >> An: [email protected] > > >> > >> Betreff: Re: AMF3 Serialization Benchmark (GraniteDS 3.1.0.M1 vs. > > >> > BlazeDS > > >> > >> 4.0.0) > > >> > >> > > >> > >> Franck, > > >> > >> > > >> > >> Very impressive! > > >> > >> > > >> > >> I guess it is time to switch to GraniteDS. > > >> > >> > > >> > >> Thanks. > > >> > >> > > >> > >> -Gary > > >> > >> > > >> > >> > > >> > >> > > >> > >> On Fri, May 30, 2014 at 4:41 AM, Franck Wolff < > [email protected]> > > >> > wrote: > > >> > >> > > >> > >> > Gary, > > >> > >> > > > >> > >> > Just have a look at the link I gave you before: > > >> > >> > > > >> > >> > > > >> > > > https://github.com/fwolff/amf-benchmark/blob/master/src/org/granite/be > > >> > >> > nchmark/amf/BenchmarkGraniteDSAmf.java > > >> > >> > . > > >> > >> > It doesn't run inside a servlet container, does it? > > >> > >> > > > >> > >> > F. > > >> > >> > > > >> > >> > > > >> > >> > 2014-05-29 17:22 GMT+02:00 Gary Yang <[email protected]>: > > >> > >> > > > >> > >> > > Franck, > > >> > >> > > > > >> > >> > > Does GraniteDS have to run inside a servlet container? I only > > >> want > > >> > >> > > to AMF serialization/deserialization function which has > nothing > > >> to > > >> > >> > > do with network, http or servlet. > > >> > >> > > > > >> > >> > > thanks. > > >> > >> > > > > >> > >> > > -Gary > > >> > >> > > > > >> > >> > > > > >> > >> > > On Thu, May 29, 2014 at 7:44 AM, Franck Wolff < > > >> [email protected]> > > >> > >> > wrote: > > >> > >> > > > > >> > >> > > > Gary, > > >> > >> > > > > > >> > >> > > > See the benchmark classes: > > >> > >> > > > > > >> > >> > > > > > >> > >> > > > > > >> > >> > > > > >> > >> > > > >> > > > https://github.com/fwolff/amf-benchmark/blob/master/src/org/granite/be > > >> > >> > nchmark/amf/BenchmarkBlazeDSAmf.java > > >> > >> > > > vs. > > >> > >> > > > > > >> > >> > > > > > >> > >> > > > > >> > >> > > > >> > > > https://github.com/fwolff/amf-benchmark/blob/master/src/org/granite/be > > >> > >> > nchmark/amf/BenchmarkGraniteDSAmf.java > > >> > >> > > > > > >> > >> > > > GraniteDS needs a bit more configuration, but is still very > > >> easy > > >> > >> > > > to > > >> > >> > use. > > >> > >> > > > > > >> > >> > > > BTW, about DTOs: you can have a look to our > > Converter/Reverter > > >> > >> > > > feature, even if it isn't meant to be used this way in the > > >> first > > >> > >> > > > place (see documentation > > >> > >> > > > > > >> > >> > > > > > >> > >> > > > > >> > >> > > > >> > > > http://www.granitedataservices.com/public/docs/latest/docs/reference/f > > >> > >> > lex/graniteds-refguide-flex.html#extensibility.customtypes > > >> > >> > > > ). > > >> > >> > > > > > >> > >> > > > Let's say you have a bean MyBean on your server and you > want > > to > > >> > >> > serialize > > >> > >> > > > MyBeanDTO instead (and vice-versa). You can easily write > this > > >> kind > > >> > >> > > > of > > >> > >> > > > converter: > > >> > >> > > > > > >> > >> > > > public class MyBeanConverter extends Converter implements > > >> Reverter > > >> > >> > > > { > > >> > >> > > > > > >> > >> > > > public MyBeanConverter(Converters converters) { > > >> > >> > > > super(converters); > > >> > >> > > > } > > >> > >> > > > > > >> > >> > > > // AMF3Deserialization (Converter)... > > >> > >> > > > > > >> > >> > > > @Override > > >> > >> > > > protected boolean internalCanConvert(Object value, Type > > >> > >> > targetType) { > > >> > >> > > > return (value instanceof MyBeanDTO); > > >> > >> > > > } > > >> > >> > > > > > >> > >> > > > @Override > > >> > >> > > > protected Object internalConvert(Object value, Type > > >> > targetType) > > >> > >> { > > >> > >> > > > MyBean bean = new MyBean(); > > >> > >> > > > MyBeanDTO dto = (MyBeanDTO)value; > > >> > >> > > > // copy properties from dto to bean... > > >> > >> > > > return bean; > > >> > >> > > > } > > >> > >> > > > > > >> > >> > > > // AMF3Serialization (Reverter)... > > >> > >> > > > > > >> > >> > > > public boolean canRevert(Object value) { > > >> > >> > > > return (value instanceof MyBean); > > >> > >> > > > } > > >> > >> > > > > > >> > >> > > > public Object revert(Object value) { > > >> > >> > > > MyBeanDTO dto = new MyBeanDTO(); > > >> > >> > > > MyBean bean = (MyBean)value; > > >> > >> > > > // copy properties from bean to dto... > > >> > >> > > > return dto; > > >> > >> > > > } > > >> > >> > > > } > > >> > >> > > > > > >> > >> > > > Then, just plug this new converter (along with any others) > in > > >> your > > >> > >> > > > granite-config.xml: > > >> > >> > > > > > >> > >> > > > <granite-config> > > >> > >> > > > <converters> > > >> > >> > > > <converter type="path.to.MyBeanConverter" /> > > >> > >> > > > </converters> > > >> > >> > > > </granite-config> > > >> > >> > > > > > >> > >> > > > According to this configuration, all MyBean instances will > be > > >> > >> > serialized > > >> > >> > > as > > >> > >> > > > MyBeanDTOs and all MyBeanDTOs will be deserialized as > MyBeans > > >> (you > > >> > >> > don't > > >> > >> > > > need to anything else, your services can return eg. a > > >> collection > > >> > >> > > > of > > >> > >> > > MyBeans > > >> > >> > > > it will be serialized as a collection of MyBeanDTOs). Of > > >> course, > > >> > >> > > > it can > > >> > >> > > be > > >> > >> > > > a bit restrictive if you want to have different DTOs > classes > > >> for a > > >> > >> > > > same bean class... > > >> > >> > > > > > >> > >> > > > Franck. > > >> > >> > > > > > >> > >> > > > > > >> > >> > > > 2014-05-29 2:33 GMT+02:00 Gary Yang < > [email protected] > > >: > > >> > >> > > > > > >> > >> > > > > Sounds great! > > >> > >> > > > > > > >> > >> > > > > Do you think it is possible that I can use the > > >> > >> > > > > serialization/deserialization features as simple as using > > >> > >> > > > > BlazeDS > > >> > >> > like > > >> > >> > > > > below? > > >> > >> > > > > > > >> > >> > > > > > > >> > >> > > > > in pom.xml : > > >> > >> > > > > > > >> > >> > > > > <dependency> > > >> > >> > > > > <groupId>org.springframework.flex</groupId> > > >> > >> > > > > <artifactId>spring-flex-core</artifactId> > > >> > >> > > > > </dependency> > > >> > >> > > > > > > >> > >> > > > > then in Java file: > > >> > >> > > > > > > >> > >> > > > > ... ... > > >> > >> > > > > > > >> > >> > > > > Amf3Output aOut= new Amf3Output(new > > >> > >> SerializationContext()); > > >> > >> > > > > aOut.setOutputStream( outStream ); > > >> > >> > > > > aOut.writeObject(data); > > >> > >> > > > > > > >> > >> > > > > ... ... > > >> > >> > > > > > > >> > >> > > > > Amf3Input aIn = new Amf3Input( new > > >> > SerializationContext() > > >> > >> ); > > >> > >> > > > > aIn.setInputStream( inputStream ); > > >> > >> > > > > data = aIn.readObject(); > > >> > >> > > > > > > >> > >> > > > > Thanks. > > >> > >> > > > > > > >> > >> > > > > > > >> > >> > > > > - Gary > > >> > >> > > > > > > >> > >> > > > > > > >> > >> > > > > > > >> > >> > > > > On Wed, May 14, 2014 at 8:51 AM, Franck Wolff > > >> > >> > > > > <[email protected]> > > >> > >> > > > wrote: > > >> > >> > > > > > > >> > >> > > > > > Hi everybody, > > >> > >> > > > > > > > >> > >> > > > > > We have just published the benchmark results on the > > >> GraniteDS > > >> > >> blog: > > >> > >> > > > > > > > >> > >> > > > > > > > >> > >> > > > > > > >> > >> > > > > > >> > >> > > > > >> > >> > > > >> > > > http://www.granitedataservices.com/2014/05/14/amf3-benchmark-graniteds > > >> > >> > -3-1-vs-blazeds-4-0 > > >> > >> > > > > > . > > >> > >> > > > > > > > >> > >> > > > > > Feedback would be very appreciated. > > >> > >> > > > > > > > >> > >> > > > > > Franck > > >> > >> > > > > > @graniteds > > >> > >> > > > > > > > >> > >> > > > > > > >> > >> > > > > > >> > >> > > > > >> > >> > > > >> > >> > > >> > > > > >> > > > > >> > > > >> > > > > > > > > >
