Jun 18th, 2009, 11:22 AM
Autowired view components compiler settings
I was trying to get the [Autowired] going for dynamically assigning models to views.
Apparently my compiler settings were wrong. On many places on the web you see examples like:
Maybe this works for ant builds but in my FlexBuilder compiler settings this didn't work. It took me long to find out what was wrong. For me only the next syntax works:
-keep-as3-metadata "Bla" -keep-as3-metadata "Test" -keep-as3-metadata "Autowired"
So quote them and for each metadata add a separate -keep -meta-data
BTW im on OSX, FlexBuilder standalone 3.0.205647
This would be a nice one to include in the docs if this is a general thing instead of my funky system. Otherwise this post may be useful for anyone having the same issues.
Jun 18th, 2009, 12:13 PM
Also make sure you instantiate / load the applicationcontext when the application is finished.
my handler looks like this:
private function loadApplicationContext( event : Event ) : void
applicationContext = new FlexXMLApplicationContext(Application.application. parameters.applicationContexts.split(","));
applicationContext.addEventListener(Event.COMPLETE , initApplication);
if i call it on:
initialize, preinitialize or creationComplete
of the main application the views don't get autowired.
If i call it instead on applicationComplete it works.
Probably this has something to do with the internals of hao and when the systemmanager is available which listens to the Event.ADDED for assigning stuff to [Autowired] properties.
Hope this is helpful for some people.
Jun 18th, 2009, 03:34 PM
thanx for the tip
Thanx for the tip Arnoud,
I've added a note in the documentation about this exception, I guess this is a flexbuilder OSX issue, I hadn't heard aboutthis before.
As for the autowiring not working after creationcomplete, etc. Are you using the latest version from the SVN trunk?
Just recently we added pre-initialisation caching, so as soon as the systemManager becomes available every object that's been added to the stage before the application context has finished parsing its configuration will be cached and autowired when the app context is ready.
Jun 18th, 2009, 04:26 PM
thank you for the quick reply. You are right, it works like a charm now.
I'll be a bit more careful with my tips as the second one is not valid anymore and was actually about an unfinished class.
Just a quick question: Do you guys mind if people asking / remarking about the version in svn? I can imagine that you want to spend your time on coding instead of anwering qustions about stuff that is not finished yet. If so i'll be quiet until the 0.8 release ;-)
Jun 19th, 2009, 02:13 AM
every kind of tip is welcome
I think the whole idea behind open source is that it is 'open', which means that everyone can follow the development step-by-step in the trunk. And if you see anything happening there that you have questions or comments about then please always feel free to chime in here at the forums or on the developer's mailing list, it might save someone heading down a wrong path or give hem him/her a great idea for improvement.
Also if there's parts in the documentation that you find incomplete, confusing, etc, all comments and suggestions are more than welcome.