Modified Cairngorm Store Uploaded

After downloading the Cairngorm Store I realized that I need the Flex Data Services and a J2EE (Web) Container. Reading some of the feedbacks from the community convinced me to modify the original example and support Business Delegate Mockups which means you now do not need any backend!

The install size is less than 1MB and you can extract import and run without any additional downloads or setups. Due to security issues the file type is doc – please rename to zip extract and read the readme.txt file.


update (22, feb. 2008) :  Please check out Douglas McCarrol’s update to the Modified Cairngorm which includes support for Flex 3!

Happy coding,

Chen Bekor.


16 Responses to “Modified Cairngorm Store Uploaded”

  1. Stefan Schmalhaus Says:

    Thank you very much for simplifying the Cairngorm store example. It helped me a lot to migrate from AMFPHP 1.2/Cairngorm 2.0 to AMFPHP 1.9b/Cairngorm 2.2.

  2. Fleximan Says:

    Clicking on a product in the text listing did not show details until I changed TextualProductList.mxml…

    dispatchEvent( new Event( SELECT_EVENT ) );
    //taken out CairngormEventDispatcher.getInstance().dispatchEvent( new
    //CairngormEvent( SELECT_EVENT ) );

    Perhaps this was a 2.2 change put in too early ? please advise.

  3. Fleximan Says:

    Actually, I dont understand why the original code didn’t work, since there are other successful usages of the CairngormEventDispatcher in the sample app that do work.

  4. Ashish Says:

    I have downloaded and installed the sample as described in the readme.txt . It builds but when I try to run it gives the following error:

    VerifyError: Error #1053: Illegal override of subtopic in mx.messaging.Consumer.
    at frame2
    at [abc-decode]
    at flash.display::MovieClip/nextFrame()
    at mx.managers::SystemManager/private::deferredNextFrame()
    at mx.managers::SystemManager/private::preloader_initProgressHandler()
    at mx.preloaders::Preloader/private::timerHandler()
    at flash.utils::Timer/flash.utils:Timer::_timerDispatch()
    at flash.utils::Timer/flash.utils:Timer::tick()

    Any clue ?

  5. Manu Says:

    If we ‘injected’ (Spring) our delegates into the commands so that my unit tests use the mock delegates and my application uses the real ones, we wouldn’t need code like this in the commands:

    //removed in favor of a mockup delegate
    //var delegate : ProductDelegate = new ProductDelegate( this );
    var delegate : ProductDelegateMock = new ProductDelegateMock( this );

  6. Guillermo Says:

    Ashish, did you find out how to solve that issue?
    I am having the same problem/error.


  7. Nelson Batista Says:

    Hello Ashish and Guillermo,

    Your Error #1053 is solved by using the FLEX SDK 2.0.1.Hotfix 1. Probably the FLEX SDK version your are using are: SDK 2.0.1 Hotfix2, or Moxie.


  8. Gus Says:

    I had the same problem… I was using moxie m2… it turned out that I forgot to rebuild some modules that I had in flex 2

    after I rebuild them in moxie every worked fine!!


  9. Idetrorce Says:

    very interesting, but I don’t agree with you

  10. Lenny Bonilla Says:

    VerifyError: Error #1053: Illegal override of subtopic in mx.messaging.Consumer.

    I also had this problem using Flex Builder 3 with SDK 2 Hotfix 3 (This is the default SDK installed for 2). The solution was to download the SDK 2 Hotfix 1 and use this SDK instead.

  11. Servlet Says:


  12. Tom Says:

    “Due to security issues the file type is doc – please rename to zip extract and read the readme.txt file.”

    …what possible security concern could be solved by renaming a zip file as .doc?

  13. CB Says:

    Lot’s of corporate firewalls don’t allow zipped downloads …

  14. Sudhir Says:

    Application works perfectly even with the latest version of Flex SDK 3.2

  15. Paul Says:

    I’m getting an error. 1044:Interface method fault in namespace mx.rpc:IResponder not implemented by class com.asians.command:CreateLocationCommand.

    Here’s the conetnts of my file:

    package com.asians.command {
    import com.adobe.cairngorm.commands.ICommand;
    import com.adobe.cairngorm.control.CairngormEvent;
    import com.asians.control.EventNames;
    import com.asians.util.CairngormUtils;

    import mx.rpc.IResponder;

    public class CreateLocationCommand implements ICommand,
    IResponder {
    public function CreateLocationCommand() {

    public function execute(event:CairngormEvent):void {
    var delegate:LocationDelegate =
    new LocationDelegate(this);

    public function result(event:Object):void {


    If anyone can help please do. I’m using Flex 3.


  16. Jagox Says:

    Very good Man, thnx!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: