Hi Andrew,

Congrats! Customer's happiness is all about what we wanted for this project
:)

Thanks,
Piotr

pon., 22 lip 2019 o 17:01 Frost, Andrew <andrew.fr...@harman.com>
napisał(a):

> Perfect, thanks! With a bit of a mixture of typing and then of using that
> format with the accessing, it worked.. I didn't want to have to create
> class definitions for all of these various options but just using the
> ["RESULT_CODE"] notification in ActionScript means that the generated (and
> minified) JavaScript creates it as .RESULT_CODE and this then works with
> the dynamically recreated data.
>
> Thanks for the support, one step closer as now our release builds are
> picking up the database connection (makes our customer happier as they
> don't like the slow loading time for all the .js files in a debug build...)
>
> cheers
>
>
>
> -----Original Message-----
> From: Carlos Rovira <carlosrov...@apache.org>
> Sent: 22 July 2019 14:52
> To: dev@royale.apache.org
> Subject: [EXTERNAL] Re: AMF and class aliases
>
> Hi Andrew,
>
> first of all if you are using ArrayCollection and not ArrayList you must
> configure that. In my code I'm using this to configure ArrayList as the
> type royale must use when send and receive java ArrayCollection:
>
> registerClassAlias("flex.messaging.io.ArrayCollection", ArrayList);
>
> (don't remember if Greg made it default to ArrayCollection)
>
> about serialization/deserialization issues, maybe other could give you
> better clues than me, since all our objects are strongly typed so objects
> in collections are classes and if that classes has collections then the sub
> objects will be typed as well.
>
> I found that when I have problems when something runs in debug mode but
> not in release mode for deserialization issues the object bracket access
> use to work always, so I think is what you need to do, so for example in
> you case I think this should work:
>
> results[I]["outputArray"]["source"][0][RESULT_CODE]
>
> HTH
>
> Carlos
>
> El lun., 22 jul. 2019 a las 11:17, Frost, Andrew (<andrew.fr...@harman.com
> >)
> escribió:
>
> > Hi again
> >
> > One extra question here: we have the AMF connection working fine now
> > in Debug mode, but in Release mode the minifier is changing the
> > property names of our JavaScript (compiled from ActionScript), but
> > these are not being reflected in the objects that are deserialised.
> >
> > So for example, we are receiving an ArrayCollection, and accessing one
> > element's property directly e.g.:
> > var results : ArrayCollection = resultEvt.result as ArrayCollection;
> > for (var i : uint = 0; i < results.length; i++) {
> >   var resultCode : String =
> > results[i].outputArray.source[0].RESULT_CODE;
> > ...
> >
> > There are a couple of things going on:
> > (a) each element in the main ArrayCollection has an "outputArray"
> > property which is itself an ArrayCollection. We could cast it into an
> > ArrayCollection variable I guess, but instead have just added "source"
> > so that the JavaScript doesn't try adding the [] operator to the
> > ArrayCollection object directly...
> > (b) the contents of this ArrayCollection, in this particular case, is
> > a simple object {RESULT_CODE: "OK"} - which I can see in the console
> > when we add some trace. The js-debug file has the same structure as
> > the ActionScript; but the js-release file has a mapping at the start
> > "nc='RESULT_CODE'" and then accesses the data with "
> > a.L(c).outputData.source[0].tP" (and that's even weirder as why is it
> 'tP'
> > rather than 'nc'?!)
> >
> >
> > I guess the questions I have are:
> >
> > 1) Is there a way to prevent the Google closure compiler from
> > minifying a particular property name/string?
> > or
> > 2) Are we going to have to just declare classes for all of these and
> > do a typecast e.g. along the lines of:
> > class ResultCode { [Bindable]public var RESULT_CODE; } and then var
> > resultCodeObj : ResultCode = results[i].outputArray.source[0]; var
> > resultCode : String = resultCodeObj.RESULT_CODE;
> >
> >
> > thanks
> >
> >    Andrew
> >
> >
> > --
> > Carlos Rovira
> > https://clicktime.symantec.com/3R6MVFpF7GfH9MBneA8xfU97Vc?u=http%3A%2F
> > %2Fabout.me%2Fcarlosrovira
> >
> >
> >
> >
>


-- 

Piotr Zarzycki

Patreon: *https://www.patreon.com/piotrzarzycki
<https://www.patreon.com/piotrzarzycki>*

Reply via email to