royale-compiler

From: De Carli Gustavo <gustavodeca...@gmail.com>
Reply-To: "users@royale.apache.org" <users@royale.apache.org>
Date: Thursday, February 6, 2020 at 11:39 AM
To: "users@royale.apache.org" <users@royale.apache.org>
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 
(<aha...@adobe.com<mailto:aha...@adobe.com>>) 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 
<gustavodeca...@gmail.com<mailto:gustavodeca...@gmail.com>>
Reply-To: "users@royale.apache.org<mailto:users@royale.apache.org>" 
<users@royale.apache.org<mailto:users@royale.apache.org>>
Date: Thursday, February 6, 2020 at 6:03 AM
To: "users@royale.apache.org<mailto:users@royale.apache.org>" 
<users@royale.apache.org<mailto:users@royale.apache.org>>
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 
(<carlosrov...@apache.org<mailto:carlosrov...@apache.org>>) 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 
(<jl03...@gmail.com<mailto:jl03...@gmail.com>>) escribió:
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<mailto: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<mailto: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<mailto: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<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 
<gustavodeca...@gmail.com<mailto: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<mailto: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<mailto:gustavodeca...@gmail.com>>
Reply-To: "users@royale.apache.org<mailto:users@royale.apache.org>" 
<users@royale.apache.org<mailto:users@royale.apache.org>>
Date: Wednesday, February 5, 2020 at 12:00 PM
To: "users@royale.apache.org<mailto:users@royale.apache.org>" 
<users@royale.apache.org<mailto: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%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 
(<aha...@adobe.com<mailto:aha...@adobe.com>>) escribió:
Carlos, What Flash APIs is Cairngorm dependent on?

-Alex

From: Carlos Rovira <carlosrov...@apache.org<mailto:carlosrov...@apache.org>>
Reply-To: "users@royale.apache.org<mailto:users@royale.apache.org>" 
<users@royale.apache.org<mailto:users@royale.apache.org>>
Date: Wednesday, February 5, 2020 at 10:05 AM
To: "users@royale.apache.org<mailto:users@royale.apache.org>" 
<users@royale.apache.org<mailto: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<mailto: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<mailto: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<mailto:gustavodeca...@gmail.com>>
Reply-To: "users@royale.apache.org<mailto:users@royale.apache.org>" 
<users@royale.apache.org<mailto:users@royale.apache.org>>
Date: Wednesday, February 5, 2020 at 7:35 AM
To: "users@royale.apache.org<mailto:users@royale.apache.org>" 
<users@royale.apache.org<mailto: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%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>

Reply via email to