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

Reply via email to