<?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"
	>

<channel>
	<title>Flabo</title>
	<atom:link href="http://flabo.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://flabo.org</link>
	<description>ActionScript/JavaScriptでRIA!!RIA!!</description>
	<pubDate>Tue, 11 Nov 2008 13:19:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>iPhone風のアイコンジェネレータiCone</title>
		<link>http://flabo.org/2008/11/07/icon/</link>
		<comments>http://flabo.org/2008/11/07/icon/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 19:58:44 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[FlashPlayer]]></category>

		<category><![CDATA[iCone]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=317</guid>
		<description><![CDATA[
FlashPlayer10ではFileReferenceクラスが拡張され、ローカルのデータをサーバーを介することなくFlashPlayerに読み込めるようになりました。
試してみようと思いつつ、データをFlashPlayerにロードしてローカルにセーブするだけだと面白くないんで、iPhone風のアイコンジェネレータiConeを作ってみました。
アイコンはiPhone Icon Style .psd KitWEIRDのを使ってます。
背景透明の矩形のpngとかgifを&#8221;Load&#8221;して、アイコン色とか背景色変えて&#8221;セーブ&#8221;でローカルに保存するって感じで使います。
またひとつFlashの守備範囲が広くなって楽しくなったなーと。ただ、AIRのメリットはひとつ減ったような気がしますけど。]]></description>
			<content:encoded><![CDATA[<a href="http://icone.flabo.org/"><img src="http://flabo.org/wp-content/uploads/2008/11/icone.png" alt="" title="icone" width="560" height="150" class="alignnone size-full wp-image-321" /></a>
<p>FlashPlayer10ではFileReferenceクラスが拡張され、ローカルのデータをサーバーを介することなくFlashPlayerに読み込めるようになりました。</p>
<p>試してみようと思いつつ、データをFlashPlayerにロードしてローカルにセーブするだけだと面白くないんで、iPhone風のアイコンジェネレータ<a href="http://icone.flabo.org/">iCone</a>を作ってみました。<br />
アイコンは<a href="http://www.keepthewebweird.com/iphone-icon-psd-template/">iPhone Icon Style .psd Kit</a><span class="at"><a href="http://www.keepthewebweird.com/">WEIRD</a></span>のを使ってます。<br />
背景透明の矩形のpngとかgifを&#8221;Load&#8221;して、アイコン色とか背景色変えて&#8221;セーブ&#8221;でローカルに保存するって感じで使います。</p>
<p>またひとつFlashの守備範囲が広くなって楽しくなったなーと。ただ、AIRのメリットはひとつ減ったような気がしますけど。</p>]]></content:encoded>
			<wfw:commentRss>http://flabo.org/2008/11/07/icon/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FONユーザになってみた</title>
		<link>http://flabo.org/2008/11/04/fon/</link>
		<comments>http://flabo.org/2008/11/04/fon/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 16:23:25 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
		
		<category><![CDATA[Local]]></category>

		<category><![CDATA[FON]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=313</guid>
		<description><![CDATA[2000円弱のルータを買うと他のFONユーザーとWi-Fiを共有することができて、世界中にWi-Fiスポットができるっていうすばらしい思想に共感しちゃって購入。
ネットワーク的なセキュリティは完璧っていう触れ込みだけど、当然IPも共有なんで自分のFONルータのエリア内でよからぬ事に使われると・・・っていう問題はあるみたい。
La Fonera

実際のユーザーが周りにどれくらいいるかっていうのをFON Mapsから確認することができる。よく行く場所にFONアクセスポイントがあるなら入ってみるのもいいかもー。]]></description>
			<content:encoded><![CDATA[<p>2000円弱のルータを買うと他のFONユーザーとWi-Fiを共有することができて、世界中にWi-Fiスポットができるっていうすばらしい思想に共感しちゃって購入。<br />
ネットワーク的なセキュリティは完璧っていう触れ込みだけど、当然IPも共有なんで自分のFONルータのエリア内でよからぬ事に使われると・・・っていう問題はあるみたい。</p>
<p>La Fonera<br/>
<img src="http://flabo.org/wp-content/uploads/2008/11/img11.jpg" alt="La Fonera" title="img11" width="175" height="177" class="alignnone size-medium wp-image-314" /></p>
<p>実際のユーザーが周りにどれくらいいるかっていうのを<a href="http://maps.fon.com/?lang=jp&#038;lt=38&#038;ln=138&#038;zm=5">FON Maps</a>から確認することができる。よく行く場所にFONアクセスポイントがあるなら入ってみるのもいいかもー。</p>]]></content:encoded>
			<wfw:commentRss>http://flabo.org/2008/11/04/fon/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FlashPlayer10用のswfの作り方</title>
		<link>http://flabo.org/2008/10/29/flashplayer10-2/</link>
		<comments>http://flabo.org/2008/10/29/flashplayer10-2/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 18:36:48 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[FlashPlayer]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=310</guid>
		<description><![CDATA[開発環境作りで何度もぐぐっちゃってクタクタなんで、メモ。
この辺参考にすること。

FlashPlayer10に対応したFlexSDKのDLとFlexBuilderへの設定方法
Flex Builder 3をFlash Player 10に対応させるAS3S.ORG
FlashPlayer10 API のリファレンス
Flash Player API in Astroの「公式リファレンス」Spark project
]]></description>
			<content:encoded><![CDATA[<p>開発環境作りで何度もぐぐっちゃってクタクタなんで、メモ。<br />
この辺参考にすること。</p>
<dl>
<dt>FlashPlayer10に対応したFlexSDKのDLとFlexBuilderへの設定方法</dt>
<dd><a href="http://as3s.org/2008/10/flex-builder-3-flash-player-10/">Flex Builder 3をFlash Player 10に対応させる</a><span class="at"><a href="http://as3s.org/">AS3S.ORG</a></span></dd>
<dt>FlashPlayer10 API のリファレンス</dt>
<dd><a href="http://wiki.libspark.org/wiki/FlashPlayer/10/API">Flash Player API in Astro</a>の「公式リファレンス」<span class="at"><a href="http://wiki.libspark.org/">Spark project</a></span></dd>
</dl>]]></content:encoded>
			<wfw:commentRss>http://flabo.org/2008/10/29/flashplayer10-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>flash.text.engine.ElementFormatリサーチ</title>
		<link>http://flabo.org/2008/10/28/flashplayer10/</link>
		<comments>http://flabo.org/2008/10/28/flashplayer10/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 18:32:42 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[ActionScript 3.0]]></category>

		<category><![CDATA[FlashPlayer]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=305</guid>
		<description><![CDATA[要FlashPlayer10






FlashPlayer10のflash.text.engine.*が気になったけど、サンプル見つからなかった。
手始めにElementFormatがどんな感じか見てみることに。
ごりごり使うには、オーサリングツール側で調整できるようにならないと現実問題厳しい感じ。
FlashCS4に期待。]]></description>
			<content:encoded><![CDATA[<p>要<a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">FlashPlayer10</a></p>

<object type="application/x-shockwave-flash" width="560" height="800">
<param name="movie" value="http://flabo.org/wp-content/uploads/2008/10/flashplayer10_api.swf" />
<embed src="http://flabo.org/wp-content/uploads/2008/10/flashplayer10_api.swf" type="application/x-shockwave-flash" width="560" height="800" >
</object>

<p>FlashPlayer10のflash.text.engine.*が気になったけど、サンプル見つからなかった。<br />
手始めにElementFormatがどんな感じか見てみることに。</p>
<p>ごりごり使うには、オーサリングツール側で調整できるようにならないと現実問題厳しい感じ。<br />
FlashCS4に期待。</p>]]></content:encoded>
			<wfw:commentRss>http://flabo.org/2008/10/28/flashplayer10/feed/</wfw:commentRss>
		</item>
		<item>
		<title>iG:Syntax HiliterのGeSHiを最新版に入れ替える</title>
		<link>http://flabo.org/2008/10/22/igsyntax-hiliter-4/</link>
		<comments>http://flabo.org/2008/10/22/igsyntax-hiliter-4/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 16:28:08 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[iG:Syntax Hiliter]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=249</guid>
		<description><![CDATA[iG:Syntax Hiliter3.5のGeSHiはVer.1.0.7.6で21言語。最新版のGeSHiはVer.1.0.8で101言語。
80言語増えてる。なんてバブリーな増え方！！
AS3にもデフォで対応してるし、これで自作AS3ライブラリとオサラバ。勿論入れ替えますよね！？
GeSHiのDownloadsから落として解凍。
/wp-content/plugins/ig_syntax_hilite/geshi.php と /wp-content/plugins/ig_syntax_hilite/geshi/ をバックアップ。
落としてきたgeshiフォルダの中身を /wp-content/plugins/ig_syntax_hilite/ にアップ。
すげ、超簡単。]]></description>
			<content:encoded><![CDATA[<p>iG:Syntax Hiliter3.5のGeSHiはVer.1.0.7.6で21言語。最新版のGeSHiはVer.1.0.8で101言語。<br />
80言語増えてる。なんてバブリーな増え方！！<br />
AS3にもデフォで対応してるし、これで自作AS3ライブラリとオサラバ。勿論入れ替えますよね！？</p>
<p><a href="http://qbnz.com/highlighter/index.php">GeSHi</a>のDownloadsから落として解凍。<br />
/wp-content/plugins/ig_syntax_hilite/geshi.php と /wp-content/plugins/ig_syntax_hilite/geshi/ をバックアップ。<br />
落としてきたgeshiフォルダの中身を /wp-content/plugins/ig_syntax_hilite/ にアップ。</p>
<p>すげ、超簡単。</p>]]></content:encoded>
			<wfw:commentRss>http://flabo.org/2008/10/22/igsyntax-hiliter-4/feed/</wfw:commentRss>
		</item>
		<item>
		<title>iG:Syntax HiliterをStyleでハイライト</title>
		<link>http://flabo.org/2008/10/21/igsyntax-hiliter-3/</link>
		<comments>http://flabo.org/2008/10/21/igsyntax-hiliter-3/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 19:04:56 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[iG:Syntax Hiliter]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=227</guid>
		<description><![CDATA[iG:Syntax Hiliterの気になっていた部分で、ハイライトのスタイル指定をhtmlベースでやってるってことがあったのだけど、geshi.php側にちゃんとメソッドが用意されてました。
syntax_hilite.phpに一行追加で、スタイルをCSSにお任せできますね。ヤッター！
			PHP		syntax_hilite.php	Source

if&#40;$igCheckFile&#41; &#123;
&#160; &#160; $geshi = new GeSHi&#40;trim&#40;$mTxt&#41;, $mType, $this-&#62;ig_geshipath&#41;;
&#160; &#160; $geshi-&#62;enable_classes&#40;true&#41;; &#160; &#160; &#160; // この辺りにこの行を追加
&#160; &#160; $geshi-&#62;set_header_type&#40;GESHI_HEADER_DIV&#41;;

	


使用する言語数分CSS書く気力がある人はやってみるといいよ。]]></description>
			<content:encoded><![CDATA[<p>iG:Syntax Hiliterの気になっていた部分で、ハイライトのスタイル指定をhtmlベースでやってるってことがあったのだけど、geshi.php側にちゃんとメソッドが用意されてました。<br/>
syntax_hilite.phpに一行追加で、スタイルをCSSにお任せできますね。ヤッター！</p>
	<ul class="syntax_hilite_header">		<li class="language">PHP</li>		<li class="filename">syntax_hilite.php</li>	<li class="source"><a href="#" onclick="javascript:showCodeTxt('php-2'); return false;">Source</a></li></ul><div class="syntax_hilite">
<div id="php-2">
<div class="php php" style="font-family:monospace;"><ol start="136"><li class="li1"><div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$igCheckFile</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">&#40;</span><a href="http://www.php.net/trim"><span class="kw3">trim</span></a><span class="br0">&#40;</span><span class="re0">$mTxt</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="re0">$mType</span><span class="sy0">,</span> <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">ig_geshipath</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">enable_classes</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span>; &nbsp; &nbsp; &nbsp; <span class="co1">// この辺りにこの行を追加</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_header_type</span><span class="br0">&#40;</span>GESHI_HEADER_DIV<span class="br0">&#41;</span>;</div></li>
</ol></div>
	</div>
</div>

<p>使用する言語数分CSS書く気力がある人はやってみるといいよ。</p>]]></content:encoded>
			<wfw:commentRss>http://flabo.org/2008/10/21/igsyntax-hiliter-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IEでTextInputにCtrl＋Enterで改行されるバグ</title>
		<link>http://flabo.org/2008/10/19/ie_bug_textfield/</link>
		<comments>http://flabo.org/2008/10/19/ie_bug_textfield/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 12:06:44 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=204</guid>
		<description><![CDATA[IE6/7で確認。






上はFlexで書き出したSWFだけど、Flashの入力可能な単一行のTextFieldでも同様の動作。
IEの独自機能のショートカットとFlashPlayerの競合だと思うけど、いつまで放置してるんでしょう。
改行を削除しようにも改行が追加されたタイミングを、Event.CHANGEやFlexEvent.VALUE_COMMITで取得できないので、泥臭く消すしかないっていう。
Web内見回してみたところ、処理してるとこの方が少ないから気づかなかったってことでいいですか？]]></description>
			<content:encoded><![CDATA[<p>IE6/7で確認。</p>

<object type="application/x-shockwave-flash" width="560" height="230">
<param name="movie" value="http://flabo.org/wp-content/uploads/2008/10/textinput_ie_ctrlenter.swf" />
<embed src="http://flabo.org/wp-content/uploads/2008/10/textinput_ie_ctrlenter.swf" type="application/x-shockwave-flash" width="560" height="230" >
</object>

<p>上はFlexで書き出したSWFだけど、Flashの入力可能な単一行のTextFieldでも同様の動作。<br/>
IEの独自機能のショートカットとFlashPlayerの競合だと思うけど、いつまで放置してるんでしょう。</p>
<p>改行を削除しようにも改行が追加されたタイミングを、Event.CHANGEやFlexEvent.VALUE_COMMITで取得できないので、泥臭く消すしかないっていう。</P>
<p>Web内見回してみたところ、処理してるとこの方が少ないから気づかなかったってことでいいですか？</P>]]></content:encoded>
			<wfw:commentRss>http://flabo.org/2008/10/19/ie_bug_textfield/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ActionScript2→3する時に読んどくリンク達</title>
		<link>http://flabo.org/2008/08/25/as2to3/</link>
		<comments>http://flabo.org/2008/08/25/as2to3/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 14:09:03 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[ActionScript 3.0]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=184</guid>
		<description><![CDATA[AS3に慣れてきたら、なんで今までこうじゃなかったんだって思ってしまうけど、それが言語というものなんだろうし。
で、AS3初めて触った時、

for each
trace
E4X

の順で感動しましたよ。（使用頻度の問題じゃなくて。）
なんで今までこうじゃなかったんだろう・・・と。

AS2からAS3への移行
知っていると得をするActionScript3.0新文法BeInteractive!
AS3最適化
ActionScript3 最適化・高速化Tips 簡易まとめConquestArrow
]]></description>
			<content:encoded><![CDATA[<p>AS3に慣れてきたら、なんで今までこうじゃなかったんだって思ってしまうけど、それが言語というものなんだろうし。<br />
で、AS3初めて触った時、</p>
<ul>
<li>for each</li>
<li>trace</li>
<li>E4X</li>
</ul>
<p>の順で感動しましたよ。（使用頻度の問題じゃなくて。）<br />
なんで今までこうじゃなかったんだろう・・・と。</p>
<dl class="links">
<dt>AS2からAS3への移行</dt>
<dd><a href="http://www.be-interactive.org/index.php?itemid=168">知っていると得をするActionScript3.0新文法</a><span class="at"><a href="http://www.be-interactive.org/">BeInteractive!</a></span></dd>
<dt>AS3最適化</dt>
<dd><a href="http://actionscript.g.hatena.ne.jp/ConquestArrow/20070621/1182359767">ActionScript3 最適化・高速化Tips 簡易まとめ</a><span class="at"><a href="http://actionscript.g.hatena.ne.jp/">ConquestArrow</a></span></dd>
</dl>]]></content:encoded>
			<wfw:commentRss>http://flabo.org/2008/08/25/as2to3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Messaging中にRemoteObjectの処理をする</title>
		<link>http://flabo.org/2008/08/25/messaging-remoteobject/</link>
		<comments>http://flabo.org/2008/08/25/messaging-remoteobject/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 13:06:53 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[BlazeDS]]></category>

		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=186</guid>
		<description><![CDATA[Messaging中にRemoteObjectにデータを保存したり、メソッド実行したりする際にRemotingObjectにアクセスする方法を忘れないようにメモ。

パッケージ名：packagename
Messagingをするクラス名：MessagingAdapter（ServiceAdapterのサブクラス）
Messagingのadapter-definition id：hoge-messaging-adapter
RemoteObjectのクラス名：ClassName
RemoteObjectのdestination id：hoge-remote-object

FlexContext.getServletContext()で取得したServletContextから、getAttribute('destination id')でRemoteObjectの参照を取得する。
これでメッセージングする度にRemoteObjectのsetDataにmessageのbodyが渡されるようになる。
あとは煮るなり焼くなり・・・

			Java		ClassName.java	Source

package packagename;
&#160;
import packagename.ClassName;
&#160;
import flex.messaging.config.ConfigMap;
import flex.messaging.messages.Message;
import flex.messaging.FlexContext;
import flex.messaging.MessageBroker;
import flex.messaging.services.MessageService;
import flex.messaging.services.ServiceAdapter;
&#160;
import java.util.HashMap;
&#160;
import javax.servlet.ServletContext;
&#160;
public class MessagingAdapter extends ServiceAdapter &#123;
&#160; &#160; private MessageBroker messageBroker;
&#160; &#160; private MessageService messageService;
&#160; &#160; private ServletContext servletContext;
&#160; &#160; private ClassName remoteObject;
&#160; &#160; 
&#160; &#160; @Override
&#160; &#160; public void initialize&#40;String id, ConfigMap properties&#41; &#123;
&#160; &#160; &#160; &#160; 
&#160; &#160; &#125;
&#160; &#160; 
&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Messaging中にRemoteObjectにデータを保存したり、メソッド実行したりする際にRemotingObjectにアクセスする方法を忘れないようにメモ。</p>
<ul>
<li>パッケージ名：packagename</li>
<li>Messagingをするクラス名：MessagingAdapter（ServiceAdapterのサブクラス）</li>
<li>Messagingのadapter-definition id：hoge-messaging-adapter</li>
<li>RemoteObjectのクラス名：ClassName</li>
<li>RemoteObjectのdestination id：hoge-remote-object</li>
</ul>
<p>FlexContext.getServletContext()で取得したServletContextから、getAttribute('destination id')でRemoteObjectの参照を取得する。<br/>
これでメッセージングする度にRemoteObjectのsetDataにmessageのbodyが渡されるようになる。<br />
あとは煮るなり焼くなり・・・</p>

	<ul class="syntax_hilite_header">		<li class="language">Java</li>		<li class="filename">ClassName.java</li>	<li class="source"><a href="#" onclick="javascript:showCodeTxt('java-6'); return false;">Source</a></li></ul><div class="syntax_hilite">
<div id="java-6">
<div class="java java" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="kw1">package</span> <span class="co2">packagename</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">import</span> <span class="co2">packagename.ClassName</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">import</span> <span class="co2">flex.messaging.config.ConfigMap</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">import</span> <span class="co2">flex.messaging.messages.Message</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">import</span> <span class="co2">flex.messaging.FlexContext</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">import</span> <span class="co2">flex.messaging.MessageBroker</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">import</span> <span class="co2">flex.messaging.services.MessageService</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">import</span> <span class="co2">flex.messaging.services.ServiceAdapter</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">import</span> <span class="co2">java.util.HashMap</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">import</span> <span class="co2">javax.servlet.ServletContext</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">public</span> <span class="kw1">class</span> MessagingAdapter <span class="kw1">extends</span> ServiceAdapter <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">private</span> MessageBroker messageBroker;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">private</span> MessageService messageService;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">private</span> ServletContext servletContext;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">private</span> ClassName remoteObject;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; @Override</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">void</span> initialize<span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> id, ConfigMap properties<span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; @Override</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">void</span> start<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// MessagingService取得</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; messageBroker <span class="sy0">=</span> MessageBroker.<span class="me1">getMessageBroker</span><span class="br0">&#40;</span><span class="kw2">null</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; messageService <span class="sy0">=</span> <span class="br0">&#40;</span>MessageService<span class="br0">&#41;</span> messageBroker.<span class="me1">getService</span><span class="br0">&#40;</span><span class="st0">&quot;hoge-messaging-service&quot;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// RemoteObject取得</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; servletContext <span class="sy0">=</span> FlexContext.<span class="me1">getServletContext</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; remoteObject <span class="sy0">=</span> <span class="br0">&#40;</span>IconManager<span class="br0">&#41;</span> servletContext.<span class="me1">getAttribute</span><span class="br0">&#40;</span><span class="st0">&quot;hoge-remote-object&quot;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; @Override</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">void</span> stop<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; @Override</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aobject+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Object</span></a> invoke<span class="br0">&#40;</span>Message message<span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Messaging配信</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; messageService.<span class="me1">pushMessageToClients</span><span class="br0">&#40;</span>message, <span class="kw2">true</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; messageService.<span class="me1">sendPushMessageFromPeer</span><span class="br0">&#40;</span>message, <span class="kw2">true</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// RemoteObjectへmessageのbodyを渡す</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ahashmap+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">HashMap</span></a> hmMessage <span class="sy0">=</span> <span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ahashmap+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">HashMap</span></a><span class="br0">&#41;</span> message.<span class="me1">getBody</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; remoteObject.<span class="me1">setData</span><span class="br0">&#40;</span>hmMessage<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">null</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
</ol></div>
	</div>
</div>

<p>ちなみにこの時の*-config.xmlたちはこんな感じ。</p>
	<ul class="syntax_hilite_header">		<li class="language">XML</li>		<li class="filename">messaging-config.xml</li>	<li class="source"><a href="#" onclick="javascript:showCodeTxt('xml-7'); return false;">Source</a></li></ul><div class="syntax_hilite">
<div id="xml-7">
<div class="xml xml" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;service</span> <span class="re0">id</span>=<span class="st0">&quot;hoge-messaging-service&quot;</span></span></div></li>
<li class="li1"><div class="de1"><span class="sc3">&nbsp; &nbsp; <span class="re0">class</span>=<span class="st0">&quot;flex.messaging.services.MessageService&quot;</span><span class="re2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;adapters<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;adapter-definition</span> <span class="re0">id</span>=<span class="st0">&quot;actionscript&quot;</span></span></div></li>
<li class="li1"><div class="de1"><span class="sc3">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">class</span>=<span class="st0">&quot;flex.messaging.services.messaging.adapters.ActionScriptAdapter&quot;</span></span></div></li>
<li class="li1"><div class="de1"><span class="sc3">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">default</span>=<span class="st0">&quot;true&quot;</span> <span class="re2">/&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;adapter-definition</span> <span class="re0">id</span>=<span class="st0">&quot;hoge-messaging-service&quot;</span></span></div></li>
<li class="li1"><div class="de1"><span class="sc3">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">class</span>=<span class="st0">&quot;packagename.MessagingAdapter&quot;</span> <span class="re2">/&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/adapters<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc-1">&lt;!-- ...中略... --&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;/service<span class="re2">&gt;</span></span></span></div></li>
</ol></div>
	</div>
</div>


	<ul class="syntax_hilite_header">		<li class="language">XML</li>		<li class="filename">remoting-config.xml</li>	<li class="source"><a href="#" onclick="javascript:showCodeTxt('xml-8'); return false;">Source</a></li></ul><div class="syntax_hilite">
<div id="xml-8">
<div class="xml xml" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;service</span> <span class="re0">id</span>=<span class="st0">&quot;hoge-remoting-service&quot;</span> <span class="re0">class</span>=<span class="st0">&quot;flex.messaging.services.RemotingService&quot;</span><span class="re2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc-1">&lt;!-- ...中略... --&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;destination</span> <span class="re0">id</span>=<span class="st0">&quot;hoge-remote-object&quot;</span><span class="re2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;properties<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;source<span class="re2">&gt;</span></span></span>packagename.ClassName<span class="sc3"><span class="re1">&lt;/source<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;scope<span class="re2">&gt;</span></span></span>application<span class="sc3"><span class="re1">&lt;/scope<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/properties<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/destination<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;/service<span class="re2">&gt;</span></span></span></div></li>
</ol></div>
	</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://flabo.org/2008/08/25/messaging-remoteobject/feed/</wfw:commentRss>
		</item>
		<item>
		<title>識別子なのに識別できなかった件</title>
		<link>http://flabo.org/2008/08/21/clientid/</link>
		<comments>http://flabo.org/2008/08/21/clientid/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 11:43:17 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[BlazeDS]]></category>

		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=185</guid>
		<description><![CDATA[BlazeDSのMessaging APIsのServiceAdapterとAbstractBootstrapServiceのサブクラスを作っていた時のお話。
			Java		MessagingAdapter.java	Source

public class MessagingAdapter extends ServiceAdapter &#123;
&#160; &#160; // ...中略...
&#160; &#160; @Override
&#160; &#160; public Object invoke&#40;Message message&#41; &#123;
&#160; &#160; &#160; &#160; System.out.println&#40;message.getClientId&#40;&#41;&#41;;&#160; // Result 19FF0FC6-1818-5450-D6BE-33FF6297BFD0
&#160; &#160; &#125;
&#125;

	


			Java		BootstrapService.java	Source

public class BootstrapService extends AbstractBootstrapService &#123;
&#160; &#160; // ...中略... 
&#160; &#160; class ClientWatcher implements MessageClientListener &#123;
&#160; &#160; &#160; &#160; public void messageClientCreated&#40;MessageClient msgClient&#41; &#123;
&#160; &#160; &#160; &#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>BlazeDSのMessaging APIsのServiceAdapterとAbstractBootstrapServiceのサブクラスを作っていた時のお話。</p>
	<ul class="syntax_hilite_header">		<li class="language">Java</li>		<li class="filename">MessagingAdapter.java</li>	<li class="source"><a href="#" onclick="javascript:showCodeTxt('java-11'); return false;">Source</a></li></ul><div class="syntax_hilite">
<div id="java-11">
<div class="java java" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="kw1">public</span> <span class="kw1">class</span> MessagingAdapter <span class="kw1">extends</span> ServiceAdapter <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="co1">// ...中略...</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; @Override</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aobject+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Object</span></a> invoke<span class="br0">&#40;</span>Message message<span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">System</span></a>.<span class="me1">out</span>.<span class="me1">println</span><span class="br0">&#40;</span>message.<span class="me1">getClientId</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;&nbsp; <span class="co1">// Result 19FF0FC6-1818-5450-D6BE-33FF6297BFD0</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
</ol></div>
	</div>
</div>

	<ul class="syntax_hilite_header">		<li class="language">Java</li>		<li class="filename">BootstrapService.java</li>	<li class="source"><a href="#" onclick="javascript:showCodeTxt('java-12'); return false;">Source</a></li></ul><div class="syntax_hilite">
<div id="java-12">
<div class="java java" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="kw1">public</span> <span class="kw1">class</span> BootstrapService <span class="kw1">extends</span> AbstractBootstrapService <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="co1">// ...中略... </span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">class</span> ClientWatcher <span class="kw1">implements</span> MessageClientListener <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">void</span> messageClientCreated<span class="br0">&#40;</span>MessageClient msgClient<span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">System</span></a>.<span class="me1">out</span>.<span class="me1">println</span><span class="br0">&#40;</span>msgClient.<span class="me1">getClientId</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;&nbsp; &nbsp; <span class="co1">// Result 19FF11B5-B30A-3172-EDD2-0AB30F8A73EA</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
</ol></div>
	</div>
</div>

<p>この二つで取得できるクライアントIDって同一のクライアントなはずなのに別モノ。<br />
この二つのクラスからRemoteObjectにクライアントID渡してごにょごにょしようとしてたらできなくて、調べていくとこういうことだった。</p>
<p>同じものが取得できると思ったのに。同じものが取得できると思ったのに。</p>]]></content:encoded>
			<wfw:commentRss>http://flabo.org/2008/08/21/clientid/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
