"I will try to make the full source of what I have available for Cairngorm port in about 24 hours time from this email. I need to check all the licence stuff. "
Sorry, I did not get to the above yet as I had hoped, but I will find time tomorrow local time. It turns out that I might need to use this myself for a client. On Sun, Feb 9, 2020 at 7:30 PM Greg Dove <[email protected]> wrote: > > There is a css clash between Jewel and MXRoyale, and there might be more > issues at the child element level with different required base classes etc, > but I am not sure because I did not try that. Alex will undoubtedly explain > better than me. > I am pretty sure you cannot use MXRoyale visual components combined with > Jewel in the same project. But you do need the service related classes from > MXRoyale for Cairngorm. > > I am testing Cairngorm using 'Express', but if you want to use Jewel (e.g. > always <j:Button or <j:SomethingElse and never <mx:Something), the > following should work so that you can still use the service classes from MX > (which Cairngorm has hard dependencies for). > > Below is what I am doing... you need to add the third option of the > following in maven: > <additionalCompilerOptions> > -js-default-initializers=true; > -source-map=true; > > -compiler.exclude-defaults-css-files=MXRoyale-0.9.7-SNAPSHOT-js.swc:defaults.css; > </additionalCompilerOptions> > > The first 2 above are options I use during development - you may or may > not want those. > > I will try to make the full source of what I have available for Cairngorm > port in about 24 hours time from this email. I need to check all the > licence stuff. I have a test app working but no view-related Cairngorm > stuff yet. > > > > > > On Sun, Feb 9, 2020 at 12:33 PM De Carli Gustavo <[email protected]> > wrote: > >> Hi . >> >> *Alex* : 0.9.7-snapshot royale-compiler - you're right, this was >> correct, the error does not reproduce anymore (null0). >> *Greg*. I tried the library and it worked correctly, I would like to >> know the implementation of the ServiceLocator.as how it is done, I made my >> own and although it worked, I have problems when I add a jewel tag in the >> project, for example a <j: Button> >> >> Is it possible or correct to have tag mx and jewel in the same project? >> >> *thanks to you .* >> >> >> El vie., 7 feb. 2020 a las 14:14, Alex Harui (<[email protected]>) >> escribió: >> >>> Make sure your app is using the updated compiler. I assume you are >>> using Maven to compile the app? Check the pom.xml to make sure it is >>> referencing the 0.9.7-SNAPSHOT and not just 0.9.7 or some other version. >>> One trick is to add some System.out.println to the file that was changed >>> and see if it shows up in the output. >>> >>> >>> >>> Regarding the tests, in the pom.xml for some of the projects like >>> compiler-jx, the maven-surefire-plugin and maven-failsafe-plugin dictate >>> which tests/files are run. >>> >>> >>> >>> HTH, >>> >>> -Alex >>> >>> >>> >>> *From: *De Carli Gustavo <[email protected]> >>> *Reply-To: *"[email protected]" <[email protected]> >>> *Date: *Friday, February 7, 2020 at 3:15 AM >>> *To: *"[email protected]" <[email protected]> >>> *Subject: *Re: Cairngorm problem add remote object MXML. >>> >>> >>> >>> >>> Hi, yesterday I tried with the change of Alex, from the royale-compiler >>> without success, the "null0" continues. I don't know if I missed a step. >>> >>> I rebuilt with the royale-compiler project "mvn clean install" and tried >>> again the compilation of my project. >>> >>> On the other hand I am seeing to create a Test in the project, but I see >>> that they are not running the tests of the package "royale-compiler \ >>> compiler-jx \ src \ test \ java \ org \ apache \ royale \ compiler \ >>> internal \ codegen \ mxml \ ...", do you know why? >>> >>> >>> >>> Thanks. >>> >>> Gustavo. >>> >>> >>> >>> El vie., 7 feb. 2020 a las 4:21, Greg Dove (<[email protected]>) >>> escribió: >>> >>> >>> I'll try to get an minimal example working over my weekend sometime to >>> test what I have. I made a quick start on that, just to get something that >>> compiles. Once I see that it seems to be working I will release to git repo >>> for the port. >>> >>> If you do want to try a different swc from what you already have, you >>> could try one now from builds here I think: >>> >>> >>> >>> https://www.dropbox.com/sh/xk8aui9ghy30mid/AAAAx0LUpfjXEQWC221zAjTza?dl=0 >>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.dropbox.com%2Fsh%2Fxk8aui9ghy30mid%2FAAAAx0LUpfjXEQWC221zAjTza%3Fdl%3D0&data=02%7C01%7Caharui%40adobe.com%7C707a97326caa408ce15e08d7abbf0ebb%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637166709390899554&sdata=6YfYnU896lHruaduCxUnrCkndhecXz7JELyQBoJd%2FFU%3D&reserved=0> >>> >>> >>> >>> (I will remove that link in some days once the port is more thoroughly >>> tested and available to all) >>> >>> >>> >>> I was able to inspect and verify that the js build had a ServicesLocator >>> (as defined in that swc) mxml subclass which was populating correctly with >>> the recent compiler changes from Alex, but I am not yet able to test more >>> thoroughly. The view support probably won't work yet because there are no >>> 'added' and 'removed' events, but we will figure something out. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> On Fri, Feb 7, 2020 at 6:23 PM Greg Dove <[email protected]> wrote: >>> >>> >>> Alex, I tested this change today. There is more to it than that, it >>> seems. I will discuss details in dev list. >>> >>> >>> >>> >>> >>> On Fri, Feb 7, 2020 at 8:40 AM Alex Harui <[email protected]> wrote: >>> >>> royale-compiler >>> >>> >>> >>> *From: *De Carli Gustavo <[email protected]> >>> *Reply-To: *"[email protected]" <[email protected]> >>> *Date: *Thursday, February 6, 2020 at 11:39 AM >>> *To: *"[email protected]" <[email protected]> >>> *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 (<[email protected]>) >>> 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 <[email protected]> >>> *Reply-To: *"[email protected]" <[email protected]> >>> *Date: *Thursday, February 6, 2020 at 6:03 AM >>> *To: *"[email protected]" <[email protected]> >>> *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 (<[email protected]>) >>> 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 (<[email protected]>) >>> escribió: >>> >>> Greg, thanks for your clarification. Anyway, it is a great work. >>> Carlos, thanks all the times.^_^ >>> >>> >>> >>> 2020年2月6日(木) 13:22 Greg Dove <[email protected]>: >>> >>> >>> >>> 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 <[email protected]> >>> 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 <[email protected]>: >>> >>> >>> 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%7C707a97326caa408ce15e08d7abbf0ebb%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637166709390899554&sdata=bgcBkFJNdbJ3J%2BqiPmrcNDOPSDrM%2Bl45ekrJY%2BG%2Blm4%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 < >>> [email protected]> 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 (<[email protected]>) >>> 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 <[email protected]> >>> *Reply-To: *"[email protected]" <[email protected]> >>> *Date: *Wednesday, February 5, 2020 at 12:00 PM >>> *To: *"[email protected]" <[email protected]> >>> *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%7C707a97326caa408ce15e08d7abbf0ebb%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637166709390909515&sdata=Gc4%2FtARZq7gGGanmKlHKBRfGGAoA7BCvlhQYI5CcnMs%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 (<[email protected]>) >>> escribió: >>> >>> Carlos, What Flash APIs is Cairngorm dependent on? >>> >>> >>> >>> -Alex >>> >>> >>> >>> *From: *Carlos Rovira <[email protected]> >>> *Reply-To: *"[email protected]" <[email protected]> >>> *Date: *Wednesday, February 5, 2020 at 10:05 AM >>> *To: *"[email protected]" <[email protected]> >>> *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 (< >>> [email protected]>) escribió: >>> >>> Alex >>> >>> >>> >>> <version>0.9.7-SNAPSHOT</version> >>> >>> >>> >>> Thank >>> >>> >>> >>> El mié., 5 feb. 2020 a las 14:02, Alex Harui (<[email protected]>) >>> 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 <[email protected]> >>> *Reply-To: *"[email protected]" <[email protected]> >>> *Date: *Wednesday, February 5, 2020 at 7:35 AM >>> *To: *"[email protected]" <[email protected]> >>> *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%7C707a97326caa408ce15e08d7abbf0ebb%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637166709390909515&sdata=Tk8Pj%2F2DIb2xkXZ0mVPc5n4ZB6k%2FzSR2QERtGHMtnRQ%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%7C707a97326caa408ce15e08d7abbf0ebb%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637166709390919472&sdata=b28A5VvEoq7nU%2F4YvSXE6Lk2PTjKIDEehzOoNPSmj%2Fk%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%7C707a97326caa408ce15e08d7abbf0ebb%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637166709390919472&sdata=fJXMZ6bipo5Lb9NGlxNZ5kCL89t5xVomfwABNLngzMs%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%7C707a97326caa408ce15e08d7abbf0ebb%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637166709390929426&sdata=uj3muDWmQFOheOtB05JV2M%2FG3l5NuevazrXlP38S%2B1w%3D&reserved=0> >>> >>> >>> >>>
