Hi, yesterday I tried with the change of Alex, from the royale-compiler without success, the "null0" continues. I don't know if I missed a step. I rebuilt with the royale-compiler project "mvn clean install" and tried again the compilation of my project. On the other hand I am seeing to create a Test in the project, but I see that they are not running the tests of the package "royale-compiler \ compiler-jx \ src \ test \ java \ org \ apache \ royale \ compiler \ internal \ codegen \ mxml \ ...", do you know why?
Thanks. Gustavo. El vie., 7 feb. 2020 a las 4:21, Greg Dove (<[email protected]>) escribió: > > I'll try to get an minimal example working over my weekend sometime to > test what I have. I made a quick start on that, just to get something that > compiles. Once I see that it seems to be working I will release to git repo > for the port. > If you do want to try a different swc from what you already have, you > could try one now from builds here I think: > > https://www.dropbox.com/sh/xk8aui9ghy30mid/AAAAx0LUpfjXEQWC221zAjTza?dl=0 > > (I will remove that link in some days once the port is more thoroughly > tested and available to all) > > I was able to inspect and verify that the js build had a ServicesLocator > (as defined in that swc) mxml subclass which was populating correctly with > the recent compiler changes from Alex, but I am not yet able to test more > thoroughly. The view support probably won't work yet because there are no > 'added' and 'removed' events, but we will figure something out. > > > > > On Fri, Feb 7, 2020 at 6:23 PM Greg Dove <[email protected]> wrote: > >> >> Alex, I tested this change today. There is more to it than that, it >> seems. I will discuss details in dev list. >> >> >> On Fri, Feb 7, 2020 at 8:40 AM Alex Harui <[email protected]> wrote: >> >>> royale-compiler >>> >>> >>> >>> *From: *De Carli Gustavo <[email protected]> >>> *Reply-To: *"[email protected]" <[email protected]> >>> *Date: *Thursday, February 6, 2020 at 11:39 AM >>> *To: *"[email protected]" <[email protected]> >>> *Subject: *Re: Cairngorm problem add remote object MXML. >>> >>> >>> >>> Sorry Alex, what repository is that of the push ? >>> >>> >>> >>> El jue., 6 feb. 2020 a las 16:13, Alex Harui (<[email protected]>) >>> escribió: >>> >>> I just pushed a change to the compiler. It should now have valid output >>> for ServiceLocator. >>> >>> >>> >>> The compiler change was interesting in that I changed an else clause >>> that was put in to handle instances specified as children of top tags but >>> was doing the wrong thing. All of the compiler tests passed, but never hit >>> that code so none of our tests actually used that code, even though the >>> commit log implied it was for one of the tests. Either I made the earlier >>> change to propagate the fix for plain properties to instances or there is >>> some other scenario for instances as children (without a default property) >>> that I am not thinking of. >>> >>> >>> >>> -Alex >>> >>> >>> >>> *From: *De Carli Gustavo <[email protected]> >>> *Reply-To: *"[email protected]" <[email protected]> >>> *Date: *Thursday, February 6, 2020 at 6:03 AM >>> *To: *"[email protected]" <[email protected]> >>> *Subject: *Re: Cairngorm problem add remote object MXML. >>> >>> >>> >>> >>> Exactly, cairmgorm, as Carlos says, is not the best option, but we save >>> a lot of time in migrations where they use it and leave more time for other >>> questions. >>> >>> i will continue to test how to fill that array today. >>> >>> Thank you very much for everyone in this collaboration. >>> >>> >>> >>> Gustavo. >>> >>> >>> >>> El jue., 6 feb. 2020 a las 8:39, Carlos Rovira (<[email protected]>) >>> escribió: >>> >>> Thanks Greg, for the sponsor credits, and thanks Takeshita for the words >>> :) >>> >>> >>> >>> I know Cairngorm could be good for people wanting to migrate with the >>> less effort possible. Anyway, I recommend, if possible to try to switch to >>> Crux. We already did that several years ago in Flex, since all DI, IOC >>> stuff, make us be more efficient and increase options. For people creating >>> new apps, for me there's no doubt, for people migrating, should contemplate >>> the Crux option if they continue evolving the app with new features... >>> >>> >>> >>> just my 2 :) >>> >>> >>> >>> Carlos >>> >>> >>> >>> >>> >>> >>> >>> El jue., 6 feb. 2020 a las 5:28, Takeshita Shoichiro (<[email protected]>) >>> escribió: >>> >>> Greg, thanks for your clarification. Anyway, it is a great work. >>> Carlos, thanks all the times.^_^ >>> >>> >>> >>> 2020年2月6日(木) 13:22 Greg Dove <[email protected]>: >>> >>> >>> >>> Hi Takeshita, >>> >>> >>> >>> Yes I think a few people have asked for Cairngorm or expressed interest >>> in it. Given the choice, I personally think Crux will be a more >>> modern/better option, but like I said, more people are asking for Cairngorm >>> now, so probably it makes sense to port that too. >>> >>> >>> >>> I'm also pleased to hear that you are using Crux, I hope it's working >>> well for you. Please report any issues if you see them. >>> >>> >>> >>> One small thing: I definitely understand that you were referring to the >>> work I did on porting it to Royale, but just for the sake of anyone else >>> who reads this: it's definitely not 'my Crux framework'. The code is ported >>> from Swiz, and credit for the awesome features it has rests with the >>> original authors of Swiz (I was in contact with the original developer >>> during my efforts to port it to Royale). >>> >>> Also, just so people are aware, Carlos sponsored the majority of my work >>> on porting that, so you really have Carlos to thank for that. >>> >>> >>> >>> cheers, >>> >>> Greg >>> >>> >>> >>> On Thu, Feb 6, 2020 at 5:04 PM Takeshita Shoichiro <[email protected]> >>> wrote: >>> >>> Greg, >>> >>> >>> >>> Thanks for your work. We already have your Crux framework replacing >>> Cairngorm, it is great if Cairngorm works with Royale. It will save a >>> plenty of time of emulation work. >>> >>> >>> >>> 2020年2月6日(木) 12:33 Greg Dove <[email protected]>: >>> >>> >>> There does not appear to be a default property, like an array to put the >>> 'children' in. I think it just creates the children as instances and makes >>> sure they have id properties on the mxml-generated subclass that the >>> instances are assigned to. >>> >>> >>> >>> The services are then identified and categorised by iterating the >>> accessors of the ServiceLocator subclass via reflection and checking their >>> types and then registering them. >>> >>> Although it is and mxml instance of ServiceLocator, it is also an >>> enforced singleton which is accessed elsewhere from code. At least that is >>> how it appears to be set up to me. >>> >>> >>> >>> I already took a look at the code and have made (not many) local changes >>> and have the Cairngorm swc compiling via maven for both js and swf. I have >>> not tested it. Things like weak event listeners are gone. >>> >>> The main issue I think will be the Event.ADDED and Event.REMOVED for >>> ViewHelper automated register/unregister. Maybe we can have a >>> CaingormViewBase class with support for these, or perhaps we can use the >>> ADDED/REMOVED_FROM_STAGE emulation support that Crux uses, and that might >>> be all that is needed, but it may not always work the same. >>> >>> >>> >>> I'll try to tidy it up and share it tomorrow. The licence is BSD and is >>> permissive ( >>> https://sourceforge.net/adobe/cairngorm/code/HEAD/tree/cairngorm/trunk/frameworks/cairngorm/License.txt >>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourceforge.net%2Fadobe%2Fcairngorm%2Fcode%2FHEAD%2Ftree%2Fcairngorm%2Ftrunk%2Fframeworks%2Fcairngorm%2FLicense.txt&data=02%7C01%7Caharui%40adobe.com%7C1fd5f302a43c4e39e9d608d7ab3c3235%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637166147400608747&sdata=7y4FI%2BvBGn%2FlwLCr3zdfOzK0%2FG04kKfIceQxatTQ15Q%3D&reserved=0>) >>> - >>> It seems to be to be similar to others like MIT etc, but I don't know >>> specifically what the rules are for Apache with that licence (in terms of >>> possibility to include in Royale itself). >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> On Thu, Feb 6, 2020 at 3:40 PM De Carli Gustavo < >>> [email protected]> wrote: >>> >>> Alex : >>> >>> >>> In flex use the swc. I am seeing the same thing that you are commenting, >>> I do not understand where it assigns the remote objects to the >>> ServiceLocator. This would have to be added to the "services" attribute of >>> the RemoteObjects class. I will try to assign by code without using the >>> mxml to see if it does not generate the error "null0". >>> >>> >>> >>> El mié., 5 feb. 2020 a las 23:15, Alex Harui (<[email protected]>) >>> escribió: >>> >>> I grabbed ServiceLocator.as and was able to produce the null0 problem, >>> but the cause is that ServiceLocator does not have a default property. Did >>> your MXML work in Flex? What ServiceLocator property would be assigned the >>> mx:RemoteObject? >>> >>> >>> >>> -Alex >>> >>> >>> >>> *From: *De Carli Gustavo <[email protected]> >>> *Reply-To: *"[email protected]" <[email protected]> >>> *Date: *Wednesday, February 5, 2020 at 12:00 PM >>> *To: *"[email protected]" <[email protected]> >>> *Subject: *Re: Cairngorm problem add remote object MXML. >>> >>> >>> >>> >>> >>> I download https://sourceforge.net/adobe/cairngorm/code/ >>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourceforge.net%2Fadobe%2Fcairngorm%2Fcode%2F&data=02%7C01%7Caharui%40adobe.com%7C1fd5f302a43c4e39e9d608d7ab3c3235%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637166147400608747&sdata=xTeCqCaR2f41uYLLsRBMgOGqUsFsFVZ0p7K1uHQ4b5Q%3D&reserved=0>, >>> and change. >>> >>> >>> >>> import flash.utils.describeType; >>> >>> --> import org.apache.royale.reflection.describeType; >>> >>> import flash.utils.Dictionary; >>> >>> --> import org.apache.royale.utils.ObjectMap; >>> >>> >>> >>> And this method >>> >>> >>> >>> >>> >>> /** >>> >>> >>> >>> * Return all the accessors on this object. >>> >>> >>> >>> * @param serviceLocator the IServiceLocator instance. >>> >>> >>> >>> * @return this object's accessors. >>> >>> >>> >>> */ >>> >>> >>> >>> protected >>> >>> function getAccessors( >>> >>> serviceLocator : IServiceLocator ) : >>> >>> XMLList >>> >>> >>> >>> { >>> >>> >>> >>> /* >>> >>> >>> >>> var description : XML = describeType( serviceLocator ); >>> >>> >>> >>> var accessors : XMLList = description.accessor.( @access == "readwrite" >>> ).@name; >>> >>> >>> >>> >>> >>> return accessors; >>> >>> >>> >>> */ >>> >>> >>> >>> >>> >>> return describeType( serviceLocator).accessors(@access == >>> >>> "readwrite" ).@name; >>> >>> >>> >>> } >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> El mié., 5 feb. 2020 a las 16:04, Alex Harui (<[email protected]>) >>> escribió: >>> >>> Carlos, What Flash APIs is Cairngorm dependent on? >>> >>> >>> >>> -Alex >>> >>> >>> >>> *From: *Carlos Rovira <[email protected]> >>> *Reply-To: *"[email protected]" <[email protected]> >>> *Date: *Wednesday, February 5, 2020 at 10:05 AM >>> *To: *"[email protected]" <[email protected]> >>> *Subject: *Re: Cairngorm problem add remote object MXML. >>> >>> >>> >>> Hi, >>> >>> >>> >>> Cairngorm depends on Flash APIs, so make a Royale migration could be not >>> easy, or requires some expertise. >>> >>> You can use Crux instead that has support for Cairngorm style Commands. >>> Crux is the same as Swiz Framework for Flex but rewritten to work in >>> Royale, and supports much more like dependency injection, Inversion of >>> control, event handling, ... >>> >>> You have 3 examples in the examples/crux folder you can check. >>> >>> I recommend you Crux over Cairngorm since Swiz was born to substitute >>> Cairngorm >>> >>> >>> >>> >>> >>> El mié., 5 feb. 2020 a las 18:24, De Carli Gustavo (< >>> [email protected]>) escribió: >>> >>> Alex >>> >>> >>> >>> <version>0.9.7-SNAPSHOT</version> >>> >>> >>> >>> Thank >>> >>> >>> >>> El mié., 5 feb. 2020 a las 14:02, Alex Harui (<[email protected]>) >>> escribió: >>> >>> What version of the compiler are you using? >>> >>> >>> >>> What does the ServiceLocator source look like? It might be an issue >>> with defaultProperties for non-DOM objects. >>> >>> >>> >>> -Alex >>> >>> >>> >>> *From: *De Carli Gustavo <[email protected]> >>> *Reply-To: *"[email protected]" <[email protected]> >>> *Date: *Wednesday, February 5, 2020 at 7:35 AM >>> *To: *"[email protected]" <[email protected]> >>> *Subject: *Cairngorm problem add remote object MXML. >>> >>> >>> >>> >>> >>> >>> I am trying to transcribe gairngorm, at runtime it gives me an error in >>> the construction of the ServiceLocator, I understand that it is an error of >>> the MXMLDataInterpreter. Anyone have any idea of the problem. >>> >>> Thank >>> >>> Gustavo. >>> >>> >>> >>> *1. CODE * >>> >>> >>> >>> >>> >>> <?xml version="1.0" encoding="utf-8"?> >>> >>> >>> >>> <cairngorm:ServiceLocator >>> >>> xmlns:fx="http://ns.adobe.com/mxml/2009 >>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fns.adobe.com%2Fmxml%2F2009&data=02%7C01%7Caharui%40adobe.com%7C1fd5f302a43c4e39e9d608d7ab3c3235%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637166147400618703&sdata=jEYBHjnS%2BvazCk42nCf3UnZSneKBB0PEfnXzv8XVX54%3D&reserved=0> >>> " >>> >>> >>> >>> xmlns:mx="library://ns.apache.org/royale/mx >>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fns.apache.org%2Froyale%2Fmx&data=02%7C01%7Caharui%40adobe.com%7C1fd5f302a43c4e39e9d608d7ab3c3235%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637166147400618703&sdata=LeacGlrWkh6ciIouAWJAt%2B%2Fe37otIpVutcpYiQ7odzQ%3D&reserved=0> >>> " >>> >>> >>> >>> xmlns:cairngorm="com.adobe.cairngorm.business.*"> >>> >>> >>> >>> >>> >>> <mx:RemoteObject >>> >>> id="srvSeguridades" >>> >>> >>> >>> destination="seguridades" >>> >>> >>> >>> result="event.token.resultHandler(event)" >>> >>> >>> >>> fault="event.token.faultHandler(event)" >>> >>> >>> >>> endpoint="http://localhost:8080/messagebroker/amf"/> >>> >>> >>> >>> >>> >>> </cairngorm:ServiceLocator> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> *2. LINE OF ERROR (RED)* >>> >>> / >>> >>> >>> >>> ** >>> * @constructor >>> * @extends {com.adobe.cairngorm.business.ServiceLocator} >>> */ >>> services.Servicio = function() { >>> services.Servicio.base(this, 'constructor'); >>> >>> /** >>> * @private >>> * @type {mx.rpc.remoting.mxml.RemoteObject} >>> */ >>> this.srvSeguridades_; >>> >>> /** >>> * @private >>> * @type {Array} >>> */ >>> this.mxmldd; >>> >>> /** >>> * @private >>> * @type {Array} >>> */ >>> this.mxmldp; >>> >>> this.generateMXMLAttributes >>> ([1, >>> mx.rpc.remoting.mxml.RemoteObject, >>> 3, >>> 'id', >>> true, >>> 'srvSeguridades', >>> 'destination', >>> true, >>> 'seguridades', >>> 'endpoint', >>> true, >>> 'http://localhost:8080/messagebroker/amf', >>> 0, >>> 2, >>> 'result', >>> this.$EH0, >>> 'fault', >>> this.$EH1, >>> null0, <- ERROR >>> 0 >>> ]); >>> >>> }; >>> >>> >>> >>> >>> >>> 3. Trace console log >>> >>> >>> >>> Servicio.js:61 Uncaught ReferenceError: null0 is not defined >>> at new services.Servicio (Servicio.js:61) >>> at >>> Function.org.apache.royale.utils.MXMLDataInterpreter.generateMXMLArray >>> (MXMLDataInterpreter.js:126) >>> at >>> Function.org.apache.royale.utils.MXMLDataInterpreter.generateMXMLInstances >>> (MXMLDataInterpreter.js:271) >>> at main.Main.mx.core.UIComponent.createChildren (UIComponent.js:923) >>> at main.Main.mx.core.Container.createChildren (Container.js:136) >>> at main.Main.mx.core.Application.createChildren (Application.js:122) >>> at main.Main.mx.core.UIComponent.initialize (UIComponent.js:871) >>> at main.Main.mx.core.UIComponent.addedToParent (UIComponent.js:417) >>> at main.Main.mx.core.Container.addedToParent (Container.js:123) >>> at >>> Main_mx_managers_SystemManager.org.apache.royale.core.UIBase.addElement >>> (UIBase.js:402) >>> >>> >>> >>> >>> -- >>> >>> Carlos Rovira >>> >>> http://about.me/carlosrovira >>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C1fd5f302a43c4e39e9d608d7ab3c3235%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637166147400628660&sdata=DP9xP4cvH8WfMVnahVfGrq9FfWU3ZaRDCdPVRzvefXo%3D&reserved=0> >>> >>> >>> >>> -- >>> >>> Shoichiro Takeshita >>> 武下 祥一郎 >>> >>> -- >>> >>> Shoichiro Takeshita >>> 武下 祥一郎 >>> >>> >>> >>> >>> -- >>> >>> Carlos Rovira >>> >>> http://about.me/carlosrovira >>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C1fd5f302a43c4e39e9d608d7ab3c3235%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637166147400628660&sdata=DP9xP4cvH8WfMVnahVfGrq9FfWU3ZaRDCdPVRzvefXo%3D&reserved=0> >>> >>> >>> >>>
