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>
>>
>>
>>
>>

Reply via email to