[Arp] arpx - > CommandControl
nyls
info at nyls.nl
Fri Dec 22 06:16:32 PST 2006
Cool, thanks for clarifying that .. I didn't think of those possibilities :>
Thanks for the great extensions ..
_____
Van: arp-bounces at ariaware.com [mailto:arp-bounces at ariaware.com] Namens Grant
Davies
Verzonden: Friday, December 22, 2006 2:57 PM
Aan: General List for Ariaware RIA Platform users and developers
Onderwerp: Re: [Arp] arpx - > CommandControl
Nyls, you mentioned you thought that putting the event to command mapping in
an xml document and I agree if your application doesn't change much... We
have cases where a command / event is mapped differently depending on where
its deployed, for example sometimes my authentiation function will do simple
authentication to a file (in testing) and then authenticate to a database in
production, I could put code in my application with a swtich but using the
xml document lets we swap out commands at runtime. I also don't use imports
on the commands to force them into the swf, I use the -pack option of MTASC
to include my commands folder on my classpath.
I think if your applications event to command mapping doesn't change very
often then you are correct, its easier not to use the xml.
I've used arp and arpx on about 10 major projects now and its really good,
so thanks to Aral and the arp community! :)
Cheers,
Grant
...........................................
> b l u e t u b e i n t e r a c t i v e.
.: grant davies
.: 404.428.6839 (c)
.: 708-983-1577 (F)
> grant at bluetube.com
> <http://www.bluetube.com/bti> http://www.bluetube.com/bti
> A Tribal <http://www.tribalchicken.com/> Chicken Designs Affiliate
_____
From: arp-bounces at ariaware.com [mailto:arp-bounces at ariaware.com] On Behalf
Of nyls
Sent: Friday, December 22, 2006 7:51 AM
To: 'General List for Ariaware RIA Platform users and developers'
Subject: Re: [Arp] arpx - > CommandControl
Hello
Here are a few extensions/ extra classes I am using, with some real good
tutorials to go with it..
- Appsettings : singleton which can load application props from an
XML >Christophe Herreman
http://www.herrodius.com/blog/?p=26
- LocaleManager: localization multi-lingual user interfaces
>Christophe Herreman
http://www.herrodius.com/blog/?cat=9
- CommandController/ SystemController >> Grant Davies
http://theresidentalien.typepad.com/ginormous/2005/10/extending_arp.html
- StageManager: wrapper for the Stage class >Christophe Herreman
During Christmas break (YESS) I will wrap some of the above classes in the
Pizza Example .
nyls
_____
Van: arp-bounces at ariaware.com [mailto:arp-bounces at ariaware.com] Namens
Michiel van der Ros
Verzonden: Thursday, December 21, 2006 12:34 PM
Aan: General List for Ariaware RIA Platform users and developers
Onderwerp: Re: [Arp] arpx - > CommandControl
Totally agree. Studying the source of a working example is probably the best
way to understand concepts and patterns like this. I couldn't have learned
ARP without Aral's Pizza Service ;-)
@Sander: Nice to see others in Amsterdam working with ARP!
COLIN LIGHT wrote:
Hi Guys,
It Would be nice to consolidate some of these ideas into one working example
like Aral's Pizza RIA. It would really help and hopefully speed up
understanding for people like myself.
Col.
Sander Wichers <mailto:sander at qi-ideas.com> <sander at qi-ideas.com> wrote:
Nyls is talking about me :), so here is my (grants) stripped
commandcontroller:
Adding mappings:
CommandController.getInstance().addEventMapping(EventNames.FOO_REQUEST,
"com.foo.command.GetFooCommand", com.foo.command.GetFooCommand);
I prefer to use the commandcontroller instead of the systemcontroller,
so dispatching would be something like this:
CommandController.getInstance().dispatchEvent({type:
EventNames.FOO_REQUEST, target: this});
-- Sander
import mx.utils.Delegate;
import mx.events.EventDispatcher;
import com.ariaware.arp.CommandTemplate;
class com.foo.CommandController
{
private static var instance : CommandController = null;
private var eventCommandMap : Object;
public var addEventListener : Function;
public var removeEventListener : Function;
public var dispatchEvent : Function;
private function CommandController()
{
EventDispatcher.initialize(this);
this.eventCommandMap = new Object();
}
public static function getInstance() : CommandController
{
if (!instance)
{
instance = new CommandController();
}
return instance;
}
public function addEventMapping(event : String, cmd : String,
classRef : Function) : Void
{
// dynamically create a command:
var command : Function = eval("_global." + cmd);
if (command == null)
{
trace("CommandController:addEventMapping() Could
not create instance for command [" + cmd + "] make sure the command is
FORCED into your swf file.");
}
if (!this.eventCommandMap [ event ])
{
this.eventCommandMap [ event ] = command;
this.addEventListener(event, this);
}
}
private function handleEvent(event:Object) : Void
{
var cmd : CommandTemplate;
if ((cmd = this.eventCommandMap[event.type]) != null)
{
var theCommand : Object = new cmd();
// Execute the command
theCommand.execute( event.target );
}
else
{
trace("CommandController:handleEvent() Could not
find command for event " + event.type);
}
}
}
________________________________
From: arp-bounces at ariaware.com [mailto:arp-bounces at ariaware.com] On
Behalf Of henrik weber (freemind-design)
Sent: donderdag 21 december 2006 11:25
To: General List for Ariaware RIA Platform users and developers
Subject: [Arp] arpx - > CommandControl
hi nyls,
this sounds really interesting; totally failed to notice the
CommandControl-class.
your college absolutely has a point... could someone sketch how we could
use it this way?
@colin: grant explained his thoughts about arpx pretty detailed here ->
http://theresidentalien.typepad.com/ginormous/2005/10/extending_arp.html
hth
henrik
--
_______freemind design_______
MediaDesign & FlashDevelopment
home: www.freemind-design.de
nyls wrote:
Yeps,
I use the CommandControl class, it just binds commands
to events .. I think it is more elegant then the original ARP controller
.. speaking with my new upcoming college :> he made his point that it is
maybe a little overkill to use an external XML file for mapping commands
to events, why not do the 'binding' in the command controller class
itself. You need to 'import' the commands anyway (forceImport for
compiling)
nyls
________________________________
Van: arp-bounces at ariaware.com
[mailto:arp-bounces at ariaware.com] Namens COLIN LIGHT
Verzonden: Wednesday, December 20, 2006 5:32 PM
Aan: General List for Ariaware RIA Platform users and developers
Onderwerp: Re: [Arp] Another ModelLocator Question
Hi Nyls,
I've just been looking at Grants arpx classes. Can you
tell me do you use his CommandControl class? from what I can make out
brings in commands from the 'command-config.xml'
Col.
COLIN LIGHT
wrote:
Hi Nyls,
Thanks again for getting back to me.
Yeah this does make sense. I've been
getting a little muddled up cos I downloaded Grants arpx (which doesn't
seem to contain a ModelLocator) and christophes version which seems
slightly different with a modelLocator with binding etc.
Col.
nyls wrote:
Hey,
The modellocator (ML) is
a singleton so there is only one instance of it in your app. This is
your single entry point to your data/ models from everywhere in your
app.
I tend to use the ARPX
-systemcontroller from Grant , So I let views listen to the
systemcontroller for 'update' events.
So when a command get's
it's result it fills a model through the ML and dispatches an
systemEvent
ModelLocator.getInstance().setModel(ModelNames.NAVIGATION_MODEL,OCLiteVO
(response.ocliteVO));
SystemController.getInstance().dispatchEvent({type:EventNames.NAVIGATION
_MODEL_CHANGE})
And in the appropriate
views I listen for thos system events and grab the model from the
modellocator
SystemController.getInstance().addEventListener(EventNames.NAVIGATION_MO
DEL_CHANGE, Proxy.create(this, navigationModelChanged));
var navModel =
ModelLocator.getInstance().getModel(ModelNames.NAVIGATION_MODEL).getValu
e();
That's how I do it,
Is this of help ??
nyls
________________________________
Van:
arp-bounces at ariaware.com [mailto:arp-bounces at ariaware.com] Namens COLIN
LIGHT
Verzonden: Wednesday, December 20, 2006 2:37 PM
Aan: arp at ariaware.com
Onderwerp: [Arp] Another ModelLocator Question
Hi List,
I'm (as ever) hoping
someone can help me out with an ARP issue. I've been using arp for a few
months now and just when I think I'm get it something else comes along
and I question my own understanding :(
I've been looking at the
ModelLocator pattern, I have read previous post's about this and found
some sample files although it does seem a little confusing. I downloaded
the arpx classes http://www.herrodius.com/upload/arp_extensions.zip
which contain quite a comprehensive version with databinding etc, I've
also seen and much simpler single class version which I have been trying
to use.
I have a number of
ArpForms which compose my views. Within these forms are other Arpforms
which effectively are like components.
What I'm struggling with
is how to populate mx components in my component forms, is it good
practice to import my modelLocator class and then have an update method
which gets called from the main application class when the model gets
populate or create a listener on each form for update events from the
modelLocator?
Col.
_______________________________________________
Arp mailing list
Arp at ariaware.com
http://ariaware.com/mailman/listinfo/arp_ariaware.com
_______________________________________________
Arp mailing list
Arp at ariaware.com
http://ariaware.com/mailman/listinfo/arp_ariaware.com
________________________________
_______________________________________________
Arp mailing list
Arp at ariaware.com
http://ariaware.com/mailman/listinfo/arp_ariaware.com
_______________________________________________
Arp mailing list
Arp at ariaware.com
http://ariaware.com/mailman/listinfo/arp_ariaware.com
_____
_______________________________________________
Arp mailing list
Arp at ariaware.com
http://ariaware.com/mailman/listinfo/arp_ariaware.com
--
[ weblog ][ http://michiel.vanderros.nl ]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/arp_ariaware.com/attachments/20061222/502de7da/attachment-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 1518 bytes
Desc: not available
Url : /pipermail/arp_ariaware.com/attachments/20061222/502de7da/attachment-0001.jpe
More information about the Arp
mailing list