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 武下 祥一郎