<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mariush T. - Freelance Flex/PureMVC Developer - blog &#187; shell</title>
	<atom:link href="http://mariusht.com/blog/tag/shell/feed/" rel="self" type="application/rss+xml" />
	<link>http://mariusht.com/blog</link>
	<description>A blog about Flex Development.</description>
	<lastBuildDate>Wed, 21 Apr 2010 13:22:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Connecting Module to Shell &#8211; simplified diagram</title>
		<link>http://mariusht.com/blog/2009/06/24/connecting-module-to-shell-simplified-diagram/</link>
		<comments>http://mariusht.com/blog/2009/06/24/connecting-module-to-shell-simplified-diagram/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 21:30:39 +0000</pubDate>
		<dc:creator>Mariush T.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[Pipes]]></category>
		<category><![CDATA[PureMVC]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://mariusht.com/blog/?p=991</guid>
		<description><![CDATA[I had a hard time to understand Flex/PureMVC-Multicore version with Pipes utility especially when simple demos on the web use TeeSplit and Pipe to connect single module to application (diagram at the top-left). It didn&#8217;t really make sense to have TeeSplit for only one Pipe/Module. It makes more sense to add Tees(TeeSpit, TeeMerge) only when [...]]]></description>
			<content:encoded><![CDATA[<p>I had a hard time to understand Flex/PureMVC-Multicore version with Pipes utility especially when simple demos on the web use TeeSplit and Pipe to connect single module to application (diagram at the top-left). It didn&#8217;t really make sense to have TeeSplit for only one Pipe/Module. It makes more sense to add Tees(TeeSpit, TeeMerge) only when you go to the next level of having the application collaborate with multiple modules (diagram at the bottom).</p>
<hr />
<img class="alignnone" src="http://mariusht.com/files/blog/connecting_shell_to_module/shell_to_module.jpg" alt="" width="669" height="170" /></p>
<hr style="border: 1px solid #EBEBEB;" />
<img class="alignnone" src="http://mariusht.com/files/blog/connecting_shell_to_module/shell_to_modules.jpg" alt="" width="669" height="170" /></p>
<hr />
<span id="more-991"></span>Below code shows how to connect single module to application. <a href="http://mariusht.com/files/blog/connecting_shell_to_module/single_module/ShellJunctionMediator.as.html">ShellJunctionMediator.as</a> </p>
<pre class="MXML"><span class="ActionScriptpackage">package</span> <span class="ActionScriptDefault_Text">com</span>.<span class="ActionScriptDefault_Text">mariusht</span>.<span class="ActionScriptDefault_Text">shellModuleDemo</span>.<span class="ActionScriptDefault_Text">shell</span>.<span class="ActionScriptDefault_Text">view</span>
<span class="ActionScriptBracket/Brace">{</span>
    <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">com</span>.<span class="ActionScriptDefault_Text">mariusht</span>.<span class="ActionScriptDefault_Text">shellModuleDemo</span>.<span class="ActionScriptDefault_Text">common</span>.<span class="ActionScriptDefault_Text">IPipeAwareModule</span>;
    <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">com</span>.<span class="ActionScriptDefault_Text">mariusht</span>.<span class="ActionScriptDefault_Text">shellModuleDemo</span>.<span class="ActionScriptDefault_Text">common</span>.<span class="ActionScriptDefault_Text">PipeAwareModuleConstants</span>;
    <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">com</span>.<span class="ActionScriptDefault_Text">mariusht</span>.<span class="ActionScriptDefault_Text">shellModuleDemo</span>.<span class="ActionScriptDefault_Text">shell</span>.<span class="ActionScriptDefault_Text">ShellFacade</span>;

    <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">org</span>.<span class="ActionScriptDefault_Text">puremvc</span>.<span class="ActionScriptDefault_Text">as3</span>.<span class="ActionScriptDefault_Text">multicore</span>.<span class="ActionScriptDefault_Text">interfaces</span>.<span class="ActionScriptDefault_Text">INotification</span>;
    <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">org</span>.<span class="ActionScriptDefault_Text">puremvc</span>.<span class="ActionScriptDefault_Text">as3</span>.<span class="ActionScriptDefault_Text">multicore</span>.<span class="ActionScriptDefault_Text">utilities</span>.<span class="ActionScriptDefault_Text">pipes</span>.<span class="ActionScriptDefault_Text">plumbing</span>.<span class="ActionScriptDefault_Text">Junction</span>;
    <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">org</span>.<span class="ActionScriptDefault_Text">puremvc</span>.<span class="ActionScriptDefault_Text">as3</span>.<span class="ActionScriptDefault_Text">multicore</span>.<span class="ActionScriptDefault_Text">utilities</span>.<span class="ActionScriptDefault_Text">pipes</span>.<span class="ActionScriptDefault_Text">plumbing</span>.<span class="ActionScriptDefault_Text">JunctionMediator</span>;
    <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">org</span>.<span class="ActionScriptDefault_Text">puremvc</span>.<span class="ActionScriptDefault_Text">as3</span>.<span class="ActionScriptDefault_Text">multicore</span>.<span class="ActionScriptDefault_Text">utilities</span>.<span class="ActionScriptDefault_Text">pipes</span>.<span class="ActionScriptDefault_Text">plumbing</span>.<span class="ActionScriptDefault_Text">Pipe</span>;

    <span class="ActionScriptReserved">public</span> <span class="ActionScriptclass">class</span> <span class="ActionScriptDefault_Text">ShellJunctionMediator</span> <span class="ActionScriptReserved">extends</span> <span class="ActionScriptDefault_Text">JunctionMediator</span>
    <span class="ActionScriptBracket/Brace">{</span>
        <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">NAME</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptString">&apos;ShellJunctionMediator&apos;</span>;

        <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">ShellJunctionMediator</span><span class="ActionScriptBracket/Brace">()</span>
        <span class="ActionScriptBracket/Brace">{</span>
            <span class="ActionScriptReserved">super</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">NAME</span>, <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Junction</span><span class="ActionScriptBracket/Brace">())</span>;
        <span class="ActionScriptBracket/Brace">}</span>

        <span class="ActionScriptReserved">override</span> <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">listNotificationInterests</span><span class="ActionScriptBracket/Brace">()</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Array</span>
        <span class="ActionScriptBracket/Brace">{</span>
            <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">interests</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Array</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">super</span>.<span class="ActionScriptDefault_Text">listNotificationInterests</span><span class="ActionScriptBracket/Brace">()</span>;
            <span class="ActionScriptDefault_Text">interests</span>.<span class="ActionScriptDefault_Text">push</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">ShellFacade</span>.<span class="ActionScriptDefault_Text">MODULE_ADDED</span><span class="ActionScriptBracket/Brace">)</span>;
            <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">interests</span>;
        <span class="ActionScriptBracket/Brace">}</span>

        <span class="ActionScriptReserved">override</span> <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">handleNotification</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">note</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">INotification</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">:</span><span class="ActionScriptReserved">void</span>
        <span class="ActionScriptBracket/Brace">{</span>
            <span class="ActionScriptReserved">switch</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">note</span>.<span class="ActionScriptDefault_Text">getName</span><span class="ActionScriptBracket/Brace">())</span>
            <span class="ActionScriptBracket/Brace">{</span>
                <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">ShellFacade</span>.<span class="ActionScriptDefault_Text">MODULE_ADDED</span><span class="ActionScriptOperator">:</span>
                    <span class="ActionScriptDefault_Text">connectModule</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">note</span>.<span class="ActionScriptDefault_Text">getBody</span><span class="ActionScriptBracket/Brace">()</span> <span class="ActionScriptReserved">as</span> <span class="ActionScriptDefault_Text">IPipeAwareModule</span><span class="ActionScriptBracket/Brace">)</span>;
                    <span class="ActionScriptReserved">break</span>;
            <span class="ActionScriptBracket/Brace">}</span>
        <span class="ActionScriptBracket/Brace">}</span>

        <span class="ActionScriptReserved style1">private</span> <span class="ActionScriptfunction style1">function</span> <span class="ActionScriptDefault_Text style1">connectModule</span><span class="ActionScriptBracket/Brace style1">(</span><span class="ActionScriptDefault_Text style1">module</span><span class="ActionScriptOperator style1">:</span><span class="ActionScriptDefault_Text style1">IPipeAwareModule</span><span class="ActionScriptBracket/Brace style1">)</span><span class="ActionScriptOperator style1">:</span><span class="ActionScriptReserved style1">void</span>
        <span class="ActionScriptBracket/Brace style1">{</span>
            <span class="ActionScriptvar style1">var</span> <span class="ActionScriptDefault_Text style1">pipe</span><span class="ActionScriptOperator style1">:</span><span class="ActionScriptDefault_Text style1">Pipe</span> <span class="ActionScriptOperator style1">=</span> <span class="ActionScriptReserved style1">new</span> <span class="ActionScriptDefault_Text style1">Pipe</span><span class="ActionScriptBracket/Brace style1">()</span><span class="style1">;
            junction.registerPipe</span><span class="ActionScriptBracket/Brace style1">(</span><span class="ActionScriptDefault_Text style1">PipeAwareModuleConstants</span><span class="style1">.SHELL_TO_MODULE_PIPE,
                Junction.OUTPUT, pipe</span><span class="ActionScriptBracket/Brace style1">)</span><span class="style1">;

            module.acceptInputPipe</span><span class="ActionScriptBracket/Brace style1">(</span><span class="ActionScriptDefault_Text style1">PipeAwareModuleConstants</span><span class="style1">.SHELL_TO_MODULE_PIPE, pipe</span><span class="ActionScriptBracket/Brace style1">)</span><span class="style1">;
        }</span>
    <span class="ActionScriptBracket/Brace">}</span>
<span class="ActionScriptBracket/Brace">}</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://mariusht.com/blog/2009/06/24/connecting-module-to-shell-simplified-diagram/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
