I'm assuming you've seen my second email by now but... the reason is because you're calling the static ServiceLocator.getInstance() method.
<quote> The ServiceLocator class is a singleton as well. You will only EVER have one in your application so even though you are creating a subclass as soon as you call getInstance() you will get the only instance there is in your application. If you had two Services.mxml files (Service1.mxml and Services2.mxml) in your app the last one created would be the one returned by ServiceLocator.getInstance(); </quote> ________________________________ From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Friday, January 05, 2007 12:13 PM To: [email protected] Subject: RE: [flexcoders] Cairngorm ServiceLocator I traced through the code, com.adobe.cairngorm.business.ServiceLocator refers to itself as "this" when looking up a service: private function getServiceForId( serviceId : String ) : Object { if ( this[ serviceId ] == null ) { throw new CairngormError( CairngormMessageCodes.NO_SERVICE_FOUND, serviceId ); } return this[ serviceId ]; } Except, in my case, there's no "projectService" associated with com.adobe.cairngorm.business.ServiceLocator, I've specified it in a Services.mxml file - How come I'm not running Services.getWebService() instead of ServiceLocator.getWebService() ? Jay Proulx [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ________________________________ From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Clint Modien Sent: January 5, 2007 3:00 PM To: [email protected] Cc: Ben Lucyk Subject: RE: [flexcoders] Cairngorm ServiceLocator The code is opensource so you can see how it works... here's the call it makes. (This is cairngorm v2) ________________________________ From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Friday, January 05, 2007 10:53 AM To: [email protected] Subject: [flexcoders] Cairngorm ServiceLocator I'm a little confused. How come I can ask com.adobe.cairngorm.business.ServiceLocator for a service from an MXML component which is a "sub-class" of ServiceLocator? i.e.: Services.mxml: <cairngorm:ServiceLocator ...> <mx:WebService name="myService" ... /> </cairngorm:ServiceLocator> var theService = ServiceLocator.getInstance().getWebService("myService"); How does ServiceLocator know what a "myService" is? It's not defined in ServiceLocator.as. It works, I just don't understand why... What is the relationship between an MXML file and an AS class that makes this happen? Jay Proulx Application Developer Internet Delivery Services - eVision Team [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> (613) 783-6711

