<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Joel Hooks : Building Blocks - Latest Comments</title><link xmlns="http://www.w3.org/2005/Atom" rel="http://api.friendfeed.com/2008/03#sup" href="http://disqus.com/sup/all.sup#forumcomments-5c3b191d" type="application/json"/><link>http://joelhooks.disqus.com/</link><description>Actionscript Developer's Journal</description><atom:link href="http://joelhooks.disqus.com/comments.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Thu, 19 Jan 2012 13:15:14 -0000</lastBuildDate><item><title>Re: Modular Robotlegs</title><link>http://69.164.207.135/?p=503#comment-415491643</link><description>for anyone interested, the slow down with multiple doodads appears to come mainly from the console logging not the modular nature. if you remove the console from the app the modules are a lot more responsive even when adding a few. &lt;br&gt;&lt;br&gt;Great example thanks Joel. this and &lt;a href="http://labs.riamore.com/content/robotlegs/examples/dynmodules" rel="nofollow"&gt;http://labs.riamore.com/conten...&lt;/a&gt; got me up to scratch with RobotLegs &amp;amp; Flex, for some of these more complicated applications of the frameworks, from a beginner in in a few days</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">jmp909</dc:creator><pubDate>Thu, 19 Jan 2012 13:15:14 -0000</pubDate></item><item><title>Re: Robotlegs, AS3-Signals and the SignalCommandMap Example</title><link>http://joelhooks.com/2010/02/14/robotlegs-as3-signals-and-the-signalcommandmap-example/#comment-410219515</link><description>Ok i updated my SignalsCommandMap swc to the v0.4 version and along with my constructor fix in FoodItemSelected everything works without warnings now&lt;br&gt;&lt;br&gt;SWCs used: &lt;br&gt;as3-signals-v0.8.swc, robotlegs-framework-v1.5.2.swc, &lt;br&gt;signals-extension-SignalsCommandMap-v0.4.swc, &lt;br&gt;SwiftSuspenders-v1.5.1.swcHope this is useful to people</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">jmp909</dc:creator><pubDate>Fri, 13 Jan 2012 18:50:38 -0000</pubDate></item><item><title>Re: Robotlegs, AS3-Signals and the SignalCommandMap Example</title><link>http://joelhooks.com/2010/02/14/robotlegs-as3-signals-and-the-signalcommandmap-example/#comment-410213752</link><description>sorry about that.. line breaks not showing.. those other parts are my trace outputs to follow the function signal flow.. the warning is:   &lt;br&gt;&lt;br&gt;Warning: Injector already has a rule for type "org.robotlegs.examples.signalcommands.model.enums::FoodType", named "". If you have overwritten this mapping intentionally you can use "injector.unmap()" prior to your replacement mapping in order to avoid seeing this message.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">jmp909</dc:creator><pubDate>Fri, 13 Jan 2012 18:39:06 -0000</pubDate></item><item><title>Re: Robotlegs, AS3-Signals and the SignalCommandMap Example</title><link>http://joelhooks.com/2010/02/14/robotlegs-as3-signals-and-the-signalcommandmap-example/#comment-410213088</link><description>i've managed to get this sort of working with: &lt;br&gt;as3-signals-v0.8.swcrobotlegs-framework-v1.5.2.swcsignals-extension-SignalsCommandMap.swcSwiftSuspenders-v1.5.1.swchowever note the following..&lt;br&gt;&lt;br&gt;I had to add a constructor function to the FoodItemSelected signal&lt;br&gt;&lt;br&gt;	public class FoodItemSelected extends Signal	{		public function FoodItemSelected()		{				super(FoodItem);		}	}&lt;br&gt;&lt;br&gt;this removes the following error that was occurring with other versions:&lt;br&gt;&lt;br&gt;[Fault] exception, information=Error: Injector is missing a rule to handle injection into property "item" of object "[object FoodItemSelectedCommand]". Target dependency: "org.robotlegs.examples.signalcommands.model.vo::FoodItem", named ""&lt;br&gt;&lt;br&gt;&lt;br&gt;but there's a warning on the Injector...&lt;br&gt;&lt;br&gt;AddFoodItemToOrder::FoodSelectionView::addFoodItem_clickHandlerFoodSelectionViewMediator::handleItemTypeAddedAddFoodItemToOrderCommand::executeFoodOrderModel::addItemToOrderCurrentOrderViewMediator::updateOnItemAddedFoodItemSelectedCommand::executeCurrentOrderViewMediator::updateOnOrderUpdatedFoodSelectionView::addFoodItem_clickHandlerFoodSelectionViewMediator::handleItemTypeAddedWarning: Injector already has a rule for type "org.robotlegs.examples.signalcommands.model.enums::FoodType", named "". If you have overwritten this mapping intentionally you can use "injector.unmap()" prior to your replacement mapping in order to avoid seeing this message.&lt;br&gt;&lt;br&gt;&lt;br&gt;I'm not sure what's happening there then. The application works now, but there's obviously still an issue&lt;br&gt;&lt;br&gt;j</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">jmp909</dc:creator><pubDate>Fri, 13 Jan 2012 18:37:48 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-400962416</link><description>&amp;gt; "this just doesn't make any sense to dig through the context to get at the dependency that I really want."&lt;br&gt;&lt;br&gt;I agree. The IContextConfigs currently in Robotlegs 2 have a lot of code like:&lt;br&gt;&lt;br&gt;context.injector.getInstance(IMediatorMap)&lt;br&gt;&lt;br&gt;Using the context to get the injector to pull out a dependency from the injector--this gets my Demeter-sense tingling. I feel it would be more straightforward to just inject the IMediatorMap into something and skip the pretext of "configuring the context".</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Robert Penner</dc:creator><pubDate>Wed, 04 Jan 2012 22:45:10 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-400949968</link><description>I agree with you on the last point. Obviously making custom Events is not my favourite thing, either.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Robert Penner</dc:creator><pubDate>Wed, 04 Jan 2012 22:21:58 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-400948886</link><description>Or you could *gasp* execute the command manually. =) Your point is taken, though. Maybe we should make it easier to execute commands then. Or make it easier to inject into functions in general.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Robert Penner</dc:creator><pubDate>Wed, 04 Jan 2012 22:19:28 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-400352735</link><description>Continued over at: &lt;a href="https://github.com/robotlegs/robotlegs-framework/issues/32" rel="nofollow"&gt;https://github.com/robotlegs/r...&lt;/a&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">shaun</dc:creator><pubDate>Wed, 04 Jan 2012 09:07:03 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-400352220</link><description>Remember that the context is not fully initialized at those points, and all dependencies have not necessarily been mapped, so automated injection into those configs is not feasible.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">shaun</dc:creator><pubDate>Wed, 04 Jan 2012 09:06:04 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-400350579</link><description>Also, Commands can only be executed IF a command map extension has been installed AND the builder and context are already configured.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">shaun</dc:creator><pubDate>Wed, 04 Jan 2012 09:02:47 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-399974251</link><description>Actually, I think we agree. I like using a command. I think this is a command, it just has an extraneous argument being passed in to it's execution method.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Joel Hooks</dc:creator><pubDate>Tue, 03 Jan 2012 19:27:28 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-399969426</link><description>It effectively is a command, but with a distinct purpose (configuring a context). We can agree to disagree I guess. I always thought the "kick off a Command with an event to string Commands and configure the context" was clunky and obtuse. This I like.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Joel Hooks</dc:creator><pubDate>Tue, 03 Jan 2012 19:17:35 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-399936746</link><description>I responded to the ContextBuilder thread here: &lt;br&gt;&lt;a href="https://github.com/robotlegs/robotlegs-framework/issues/32" rel="nofollow"&gt;https://github.com/robotlegs/r...&lt;/a&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Robert Penner</dc:creator><pubDate>Tue, 03 Jan 2012 18:13:38 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-399915583</link><description>Yes. Sorry - 10.30 pm here and been working on a building site most of the day. I can only grunt.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stray</dc:creator><pubDate>Tue, 03 Jan 2012 17:37:18 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-399912801</link><description>&amp;gt; "IConfig has a bunch of stuff like parent..."&lt;br&gt;&lt;br&gt;Er, IContext. =)</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Robert Penner</dc:creator><pubDate>Tue, 03 Jan 2012 17:32:14 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-399903140</link><description>To be clear, I was never objecting to injecting the dependencies and operating on them. But in this case, a command would be a better tool for that.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Robert Penner</dc:creator><pubDate>Tue, 03 Jan 2012 17:15:17 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-399896833</link><description>@Robert - IConfig has a bunch of stuff like parent, logger, app domain and dispatcher which all might be useful in configuring - not just the injector. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;You can set as well as get some of these (eg contextView). We went with withConfig(expectsAClassThatImpsIConfig). We did um and ah about whether to simply expect people to make their own and use [PostConstruct] but prescription has been something people have liked when getting started.&lt;br&gt;&lt;br&gt;Maybe pick this up on the GitHub stuff around API for the context builder? I think Shaun has his head best wrapped around the deets on this issue.&lt;br&gt;&lt;br&gt;Good to have you back :)&lt;br&gt;&lt;br&gt;Stray</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stray</dc:creator><pubDate>Tue, 03 Jan 2012 17:04:09 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-399888430</link><description>It works, it makes sense, and provides an effective approach to configuring the actors within a given Context.&lt;br&gt;&lt;br&gt;I've looked at the other configs.&lt;br&gt;&lt;br&gt;&lt;pre&gt;const mediatorMap:robotlegs.bender.extensions.mediatorMap.api.IMediatorMap = context.injector.getInstance(IMediatorMapV2);&lt;/pre&gt;&lt;br&gt;&lt;br&gt;this just doesn't make any sense to dig through the context to get at the dependency that I really want.&lt;br&gt;&lt;br&gt;or&lt;br&gt;&lt;pre&gt;&lt;br&gt;		public function configure(context:IContext):void		{			if (contextView)			{				&lt;a href="http://context.logger.info" rel="nofollow"&gt;context.logger.info&lt;/a&gt;(this, 'Adding contextView to viewManager. Note: avoid this where performance is critical.');				viewManager.addContainer(contextView);			}			else			{				context.logger.warn(this, 'ContextViewListenerConfig was installed, but the contextView is null. Consider removing this config.');			}		}&lt;/pre&gt;&lt;br&gt;&lt;br&gt;in every case the IContext dependency is utilized, it is simply to attach to some other dependency of the IContext.&lt;br&gt;&lt;br&gt;So, in this example the tool provided is being used appropriately, but perhaps it is the tool itself that is irritating you. &lt;br&gt;&lt;br&gt;(code formatter failure)</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Joel Hooks</dc:creator><pubDate>Tue, 03 Jan 2012 16:49:43 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-399883015</link><description>As a user, I want to "configure my context" - which I take to mean setting up my views, commands, and injections for a given Context.&lt;br&gt;&lt;br&gt;In this case I needed the injector. You suggested I throw in context.injector just because the IContext is available. I'd rather have all my dependencies lined up and provided in the same fashion and prefer to access it at the "top level" without digging into a class I'm not interested in.&lt;br&gt;&lt;br&gt;I've never had a use for manipulating a Context directly after startup().</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Joel Hooks</dc:creator><pubDate>Tue, 03 Jan 2012 16:40:35 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-399882569</link><description>It's about using the right tool for the job. In this example, an IContextConfig is not the right tool.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Robert Penner</dc:creator><pubDate>Tue, 03 Jan 2012 16:39:49 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-399879590</link><description>&amp;gt; "I am configuring a context."&lt;br&gt;&lt;br&gt;You said "I don't need the IContext. I need the injector." Which one are you configuring?&lt;br&gt;&lt;br&gt;&amp;gt; "I never once thought that IContextConfig was referring to manipulating or interacting with an instance of an IContext."&lt;br&gt;&lt;br&gt;Um... what? &lt;br&gt;&lt;br&gt;public interface IContextConfig{	function configure(context:IContext):void;}</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Robert Penner</dc:creator><pubDate>Tue, 03 Jan 2012 16:34:59 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-399870981</link><description>where does that lead? IMediatorMapConfig ISomeCustomCommandMapImplementationConfig? &lt;br&gt;&lt;br&gt;I am configuring a context. Outside of preferring not to use [Inject] for supplying dependencies, I don't get the beef. It was easy to supply the injector, and makes sense in the context (lowercase c) of a Robotlegs application.&lt;br&gt;&lt;br&gt;I never once thought that IContextConfig was referring to manipulating or interacting with an instance of an IContext. I think the interface should lose the reference to the IContext and not imply that there is a need to manipulate an instance of the Context. What is the use case for that? It would be available for injection regardless...&lt;br&gt;&lt;br&gt;IConfig with a configure() method. It *is* essentially a command, but with a targeted purpose.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Joel Hooks</dc:creator><pubDate>Tue, 03 Jan 2012 16:21:53 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-399866421</link><description>The interface isn't ignored, the IContext injected by the method is ignored. It *is* configuring a context in the body of the method expressed by the interface. I don't see how it is better off in command. Because in this simple contrived example the dependency isn't used? Meh.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Joel Hooks</dc:creator><pubDate>Tue, 03 Jan 2012 16:14:48 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-399859871</link><description>I suspect IContextConfig may need to be replaced/supplemented with something like IInjectorConfig which supplies the injector to configure().</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Robert Penner</dc:creator><pubDate>Tue, 03 Jan 2012 16:04:30 -0000</pubDate></item><item><title>Re: Robotlegs 2 (beta): Flickr Image Gallery</title><link>http://joelhooks.com/2011/12/29/robotlegs-2-beta-flickr-image-gallery/#comment-399848015</link><description>&amp;gt; &lt;br&gt;I don't need the IContext. I need the injector.&lt;br&gt;&lt;br&gt;Exactly. Why then did you make it an IContextConfig? Just so Robotlegs would execute it? Better off leaving it as a command. "Cheating and missing the point" refers to GalleryAppConfig implementing an interface it promptly ignores.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Robert Penner</dc:creator><pubDate>Tue, 03 Jan 2012 15:46:59 -0000</pubDate></item></channel></rss>
