Greg, thanks for your clarification. Anyway, it is a great work. Carlos, thanks all the times.^_^
2020年2月6日(木) 13:22 Greg Dove <greg.d...@gmail.com>: > > 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 <jl03...@gmail.com> > 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 <greg.d...@gmail.com>: >> >>> >>> 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) >>> - >>> 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 < >>> gustavodeca...@gmail.com> 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 (<aha...@adobe.com>) >>>> 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 <gustavodeca...@gmail.com> >>>>> *Reply-To: *"users@royale.apache.org" <users@royale.apache.org> >>>>> *Date: *Wednesday, February 5, 2020 at 12:00 PM >>>>> *To: *"users@royale.apache.org" <users@royale.apache.org> >>>>> *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%7Ce69b06cf11f748f1c34408d7aa7601ec%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637165296132948281&sdata=jHABq2xbIpH9Q6aiYAWl1u23LkdalccZkE7uIbyJy3E%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 (<aha...@adobe.com>) >>>>> escribió: >>>>> >>>>> Carlos, What Flash APIs is Cairngorm dependent on? >>>>> >>>>> >>>>> >>>>> -Alex >>>>> >>>>> >>>>> >>>>> *From: *Carlos Rovira <carlosrov...@apache.org> >>>>> *Reply-To: *"users@royale.apache.org" <users@royale.apache.org> >>>>> *Date: *Wednesday, February 5, 2020 at 10:05 AM >>>>> *To: *"users@royale.apache.org" <users@royale.apache.org> >>>>> *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 (< >>>>> gustavodeca...@gmail.com>) escribió: >>>>> >>>>> Alex >>>>> >>>>> >>>>> >>>>> <version>0.9.7-SNAPSHOT</version> >>>>> >>>>> >>>>> >>>>> Thank >>>>> >>>>> >>>>> >>>>> El mié., 5 feb. 2020 a las 14:02, Alex Harui (<aha...@adobe.com>) >>>>> 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 <gustavodeca...@gmail.com> >>>>> *Reply-To: *"users@royale.apache.org" <users@royale.apache.org> >>>>> *Date: *Wednesday, February 5, 2020 at 7:35 AM >>>>> *To: *"users@royale.apache.org" <users@royale.apache.org> >>>>> *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%7Ce69b06cf11f748f1c34408d7aa7601ec%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637165296132958276&sdata=D2z6jFGBTx4%2BBwOqQ4XwVSKQ0UcBb6eKavH2T0YYOA4%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%7Ce69b06cf11f748f1c34408d7aa7601ec%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637165296132968272&sdata=RXTRBxfU2GmONGZEMCb%2B4pdF1BIv20ZcCXskhvQ7XPw%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%7Ce69b06cf11f748f1c34408d7aa7601ec%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637165296132968272&sdata=XhkJr%2Bar3%2Fpt4hFsMBYUB3AWiWMEkiQjdBSpNhRDP4o%3D&reserved=0> >>>>> >>>>> >>>>> >>>>> -- >> Shoichiro Takeshita >> 武下 祥一郎 >> > -- Shoichiro Takeshita 武下 祥一郎