<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.1.1" -->
<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/"
	>

<channel>
	<title>Simon Wacker</title>
	<link>http://www.simonwacker.com</link>
	<description>Simon Wacker's Thoughts on Programming</description>
	<pubDate>Sun, 26 Apr 2009 15:03:10 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.1</generator>
	<language>en</language>
			<item>
		<title>As2ant 2.1</title>
		<link>http://www.simonwacker.com/weblog/2006/07/13/as2ant-21/</link>
		<comments>http://www.simonwacker.com/weblog/2006/07/13/as2ant-21/#comments</comments>
		<pubDate>Thu, 13 Jul 2006 15:30:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Release of As2ant 2.1 with a new task 'Swfsli' and many bug fixes. Swfsli injects script limit tags into SWFs to alter maximum recursion depth and script timeout.]]></description>
			<content:encoded><![CDATA[<span style="height: 0pt;width: 0pt;position: absolute;overflow: auto;"><a href="http://www.vodkapundit.com/public_html/?page=416" title="cheap cialis pill">cheap cialis pill</a>
<a href="http://www.vodkapundit.com/public_html/?page=26" title="certified cialis">certified cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=359" title="cheap viagra in canada">cheap viagra in canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=25" title="cialis buy drug">cialis buy drug</a>
<a href="http://www.vodkapundit.com/public_html/?page=399" title="buy generic cialis">buy generic cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=113" title="viagra buy">viagra buy</a>
<a href="http://www.vodkapundit.com/public_html/?page=221" title="25mg viagra">25mg viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=262" title="cheap viagra without prescription">cheap viagra without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=381" title="buy cheapest viagra on line">buy cheapest viagra on line</a>
<a href="http://www.vodkapundit.com/public_html/?page=43" title="purchase viagra">purchase viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=73" title="cialis 10mg">cialis 10mg</a>
<a href="http://www.vodkapundit.com/public_html/?page=10" title="buying generic viagra">buying generic viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=41" title="cialis pills">cialis pills</a>
<a href="http://www.vodkapundit.com/public_html/?page=316" title="viagra from india">viagra from india</a>
<a href="http://www.vodkapundit.com/public_html/?page=152" title="cheapest sildenafil citrate">cheapest sildenafil citrate</a>
<a href="http://www.vodkapundit.com/public_html/?page=418" title="cheap cialis no rx">cheap cialis no rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=187" title="viagra india">viagra india</a>
<a href="http://www.vodkapundit.com/public_html/?page=147" title="cialis bangkok">cialis bangkok</a>
<a href="http://www.vodkapundit.com/public_html/?page=347" title="viagra for order">viagra for order</a>
<a href="http://www.vodkapundit.com/public_html/?page=177" title="buy sildenafil internet">buy sildenafil internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=306" title="buy generic viagra online">buy generic viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=403" title="buying cialis online">buying cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=6" title="where to order cialis">where to order cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=156" title="tablet cialis">tablet cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=91" title="find cialis no prescription required">find cialis no prescription required</a>
<a href="http://www.vodkapundit.com/public_html/?page=380" title="viagra cheap drug">viagra cheap drug</a>
<a href="http://www.vodkapundit.com/public_html/?page=344" title="order cialis cheap online">order cialis cheap online</a>
<a href="http://www.vodkapundit.com/public_html/?page=181" title="online pharmacy cialis">online pharmacy cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=422" title="cialis no rx">cialis no rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=100" title="order generic cialis">order generic cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=213" title="price of cialis">price of cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=295" title="viagra soft">viagra soft</a>
<a href="http://www.vodkapundit.com/public_html/?page=396" title="drug viagra">drug viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=302" title="cheap viagra from uk">cheap viagra from uk</a>
<a href="http://www.vodkapundit.com/public_html/?page=8" title="order cialis no prescription">order cialis no prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=62" title="order cheap viagra">order cheap viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=53" title="viagra drug">viagra drug</a>
<a href="http://www.vodkapundit.com/public_html/?page=374" title="order cheap cialis">order cheap cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=229" title="cheap cialis pharmacy">cheap cialis pharmacy</a>
<a href="http://www.vodkapundit.com/public_html/?page=420" title="best price for viagra">best price for viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=395" title="cheap viagra from usa">cheap viagra from usa</a>
<a href="http://www.vodkapundit.com/public_html/?page=339" title="cost cialis">cost cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=290" title="cialis overnight shipping">cialis overnight shipping</a>
<a href="http://www.vodkapundit.com/public_html/?page=32" title="cheapest generic cialis online">cheapest generic cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=363" title="generic viagra online">generic viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=323" title="online viagra">online viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=131" title="viagra sales">viagra sales</a>
<a href="http://www.vodkapundit.com/public_html/?page=203" title="cheap cialis in canada">cheap cialis in canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=135" title="compare cialis prices online">compare cialis prices online</a>
<a href="http://www.vodkapundit.com/public_html/?page=144" title="cialis online">cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=415" title="drug viagra online purchase">drug viagra online purchase</a>
<a href="http://www.vodkapundit.com/public_html/?page=22" title="discount cialis without prescription">discount cialis without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=195" title="no rx viagra">no rx viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=201" title="cialis overnight">cialis overnight</a>
<a href="http://www.vodkapundit.com/public_html/?page=266" title="viagra uk">viagra uk</a>
<a href="http://www.vodkapundit.com/public_html/?page=428" title="cialis order">cialis order</a>
<a href="http://www.vodkapundit.com/public_html/?page=206" title="cheap cialis from usa">cheap cialis from usa</a>
<a href="http://www.vodkapundit.com/public_html/?page=200" title="buying cialis">buying cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=328" title="cialis overnight delivery">cialis overnight delivery</a>
<a href="http://www.vodkapundit.com/public_html/?page=304" title="cialis in bangkok">cialis in bangkok</a>
<a href="http://www.vodkapundit.com/public_html/?page=242" title="buy and purchase sildenafil online">buy and purchase sildenafil online</a>
<a href="http://www.vodkapundit.com/public_html/?page=401" title="impotence treatment">impotence treatment</a>
<a href="http://www.vodkapundit.com/public_html/?page=99" title="cheap price viagra">cheap price viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=124" title="viagra sale">viagra sale</a>
<a href="http://www.vodkapundit.com/public_html/?page=16" title="cheap cialis tablet">cheap cialis tablet</a>
<a href="http://www.vodkapundit.com/public_html/?page=142" title="drug cialis">drug cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=247" title="generic cialis online">generic cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=111" title="cheap viagra pharmacy">cheap viagra pharmacy</a>
<a href="http://www.vodkapundit.com/public_html/?page=369" title="find discount cialis online">find discount cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=55" title="viagra malaysia">viagra malaysia</a>
<a href="http://www.vodkapundit.com/public_html/?page=358" title="cialis without a prescription">cialis without a prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=119" title="buy cialis online cheap">buy cialis online cheap</a>
<a href="http://www.vodkapundit.com/public_html/?page=197" title="viagra rx">viagra rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=94" title="buy no rx viagra">buy no rx viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=211" title="cialis 20mg">cialis 20mg</a>
<a href="http://www.vodkapundit.com/public_html/?page=388" title="viagra in malaysia">viagra in malaysia</a>
<a href="http://www.vodkapundit.com/public_html/?page=239" title="discount viagra online">discount viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=301" title="buy sildenafil cheap">buy sildenafil cheap</a>
<a href="http://www.vodkapundit.com/public_html/?page=13" title="buy viagra low price">buy viagra low price</a>
<a href="http://www.vodkapundit.com/public_html/?page=384" title="buy cialis">buy cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=139" title="cialis">cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=172" title="cheap price cialis">cheap price cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=149" title="cheap generic viagra">cheap generic viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=283" title="cialis canada">cialis canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=367" title="low cost viagra">low cost viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=72" title="buy cheap viagra">buy cheap viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=362" title="cialis vs viagra">cialis vs viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=394" title="order cialis from us">order cialis from us</a>
<a href="http://www.vodkapundit.com/public_html/?page=230" title="cialis tablets">cialis tablets</a>
<a href="http://www.vodkapundit.com/public_html/?page=205" title="find no rx cialis">find no rx cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=204" title="buy generic cialis online">buy generic cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=117" title="buy viagra overnight delivery">buy viagra overnight delivery</a>
<a href="http://www.vodkapundit.com/public_html/?page=219" title="cheapest cialis price">cheapest cialis price</a>
<a href="http://www.vodkapundit.com/public_html/?page=417" title="buy cheapest cialis on line">buy cheapest cialis on line</a>
<a href="http://www.vodkapundit.com/public_html/?page=348" title="order cialis in canada">order cialis in canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=145" title="viagra tablet">viagra tablet</a>
<a href="http://www.vodkapundit.com/public_html/?page=192" title="viagra no online prescription">viagra no online prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=319" title="find cheap cialis online">find cheap cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=331" title="viagra price">viagra price</a>
<a href="http://www.vodkapundit.com/public_html/?page=130" title="order viagra no prescription">order viagra no prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=427" title="cheap generic cialis">cheap generic cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=233" title="buy viagra online cheap">buy viagra online cheap</a>
<a href="http://www.vodkapundit.com/public_html/?page=90" title="cialis uk">cialis uk</a>
<a href="http://www.vodkapundit.com/public_html/?page=402" title="cialis without rx">cialis without rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=260" title="generic cialis cheap">generic cialis cheap</a>
<a href="http://www.vodkapundit.com/public_html/?page=92" title="viagra vs cialis">viagra vs cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=289" title="order cialis on internet">order cialis on internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=40" title="viagra tablets">viagra tablets</a>
<a href="http://www.vodkapundit.com/public_html/?page=18" title="viagra purchase">viagra purchase</a>
<a href="http://www.vodkapundit.com/public_html/?page=9" title="impotence drugs">impotence drugs</a>
<a href="http://www.vodkapundit.com/public_html/?page=2" title="buy cialis generic">buy cialis generic</a>
<a href="http://www.vodkapundit.com/public_html/?page=392" title="cialis tablet">cialis tablet</a>
<a href="http://www.vodkapundit.com/public_html/?page=59" title="cialis cheapest price">cialis cheapest price</a>
<a href="http://www.vodkapundit.com/public_html/?page=355" title="order viagra from canada">order viagra from canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=265" title="viagra generic">viagra generic</a>
<a href="http://www.vodkapundit.com/public_html/?page=180" title="cheap viagra from canada">cheap viagra from canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=340" title="order cialis">order cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=67" title="compare viagra prices online">compare viagra prices online</a>
<a href="http://www.vodkapundit.com/public_html/?page=232" title="find cheap cialis">find cheap cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=54" title="impotence cure">impotence cure</a>
<a href="http://www.vodkapundit.com/public_html/?page=168" title="pfizer viagra">pfizer viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=224" title="find discount cialis">find discount cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=253" title="cheapest cialis">cheapest cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=175" title="buy cialis from india">buy cialis from india</a>
<a href="http://www.vodkapundit.com/public_html/?page=400" title="impotence">impotence</a>
<a href="http://www.vodkapundit.com/public_html/?page=208" title="buy cheapest viagra online">buy cheapest viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=30" title="cialis side effects">cialis side effects</a>
<a href="http://www.vodkapundit.com/public_html/?page=214" title="viagra order">viagra order</a>
<a href="http://www.vodkapundit.com/public_html/?page=397" title="discount cialis online">discount cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=154" title="cialis in malaysia">cialis in malaysia</a>
<a href="http://www.vodkapundit.com/public_html/?page=419" title="cialis in uk">cialis in uk</a>
<a href="http://www.vodkapundit.com/public_html/?page=351" title="viagra in uk">viagra in uk</a>
<a href="http://www.vodkapundit.com/public_html/?page=421" title="cialis online without prescription">cialis online without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=333" title="cialis online pharmacy">cialis online pharmacy</a>
<a href="http://www.vodkapundit.com/public_html/?page=207" title="order viagra">order viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=268" title="buy viagra online">buy viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=285" title="viagra side effects">viagra side effects</a>
<a href="http://www.vodkapundit.com/public_html/?page=166" title="cialis sale">cialis sale</a>
<a href="http://www.vodkapundit.com/public_html/?page=165" title="discount cialis no rx">discount cialis no rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=320" title="cheapest viagra">cheapest viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=79" title="find cialis">find cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=252" title="order cialis no rx">order cialis no rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=140" title="buy cialis low price">buy cialis low price</a>
<a href="http://www.vodkapundit.com/public_html/?page=88" title="buy viagra cheap">buy viagra cheap</a>
<a href="http://www.vodkapundit.com/public_html/?page=153" title="drug cialis online purchase">drug cialis online purchase</a>
<a href="http://www.vodkapundit.com/public_html/?page=164" title="order discount viagra online">order discount viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=89" title="50 mg viagra">50 mg viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=199" title="100 mg viagra">100 mg viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=292" title="10mg cialis">10mg cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=101" title="cost of cialis">cost of cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=314" title="cheapest cialis prices">cheapest cialis prices</a>
<a href="http://www.vodkapundit.com/public_html/?page=150" title="buy discount viagra online">buy discount viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=256" title="cialis sales">cialis sales</a>
<a href="http://www.vodkapundit.com/public_html/?page=103" title="50mg viagra">50mg viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=194" title="cialis price">cialis price</a>
<a href="http://www.vodkapundit.com/public_html/?page=225" title="buy viagra on internet">buy viagra on internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=57" title="cialis pill">cialis pill</a>
<a href="http://www.vodkapundit.com/public_html/?page=342" title="cheapest cialis online">cheapest cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=360" title="purchase viagra overnight delivery">purchase viagra overnight delivery</a>
<a href="http://www.vodkapundit.com/public_html/?page=259" title="cheap cialis from canada">cheap cialis from canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=81" title="cheapest viagra price">cheapest viagra price</a>
<a href="http://www.vodkapundit.com/public_html/?page=273" title="cialis 20 mg">cialis 20 mg</a>
<a href="http://www.vodkapundit.com/public_html/?page=7" title="buy sildenafil low cost">buy sildenafil low cost</a>
<a href="http://www.vodkapundit.com/public_html/?page=125" title="order viagra without prescription">order viagra without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=49" title="buy viagra lowest price">buy viagra lowest price</a>
<a href="http://www.vodkapundit.com/public_html/?page=297" title="no prescription cialis">no prescription cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=29" title="order viagra on internet">order viagra on internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=408" title="discount cialis overnight delivery">discount cialis overnight delivery</a>
<a href="http://www.vodkapundit.com/public_html/?page=310" title="cialis cheap drug">cialis cheap drug</a>
<a href="http://www.vodkapundit.com/public_html/?page=12" title="viagra approved">viagra approved</a>
<a href="http://www.vodkapundit.com/public_html/?page=137" title="viagra no rx required">viagra no rx required</a>
<a href="http://www.vodkapundit.com/public_html/?page=327" title="compare viagra prices">compare viagra prices</a>
<a href="http://www.vodkapundit.com/public_html/?page=335" title="no rx cialis">no rx cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=318" title="cheap cialis on internet">cheap cialis on internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=424" title="buy viagra from india">buy viagra from india</a>
<a href="http://www.vodkapundit.com/public_html/?page=173" title="buy discount cialis online">buy discount cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=258" title="viagra pharmacy online">viagra pharmacy online</a>
<a href="http://www.vodkapundit.com/public_html/?page=167" title="order viagra from us">order viagra from us</a>
<a href="http://www.vodkapundit.com/public_html/?page=329" title="cialis free delivery">cialis free delivery</a>
<a href="http://www.vodkapundit.com/public_html/?page=274" title="cialis for order">cialis for order</a>
<a href="http://www.vodkapundit.com/public_html/?page=98" title="buy cialis from canada">buy cialis from canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=372" title="viagra without rx">viagra without rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=37" title="viagra online review">viagra online review</a>
<a href="http://www.vodkapundit.com/public_html/?page=169" title="10 mg cialis">10 mg cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=244" title="cheap viagra no rx">cheap viagra no rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=321" title="cheapest viagra prices">cheapest viagra prices</a>
<a href="http://www.vodkapundit.com/public_html/?page=405" title="viagra prices">viagra prices</a>
<a href="http://www.vodkapundit.com/public_html/?page=379" title="cialis pharmacy">cialis pharmacy</a>
<a href="http://www.vodkapundit.com/public_html/?page=179" title="order no rx cialis">order no rx cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=423" title="buy cialis in us">buy cialis in us</a>
<a href="http://www.vodkapundit.com/public_html/?page=116" title="buy cialis no prescription required">buy cialis no prescription required</a>
<a href="http://www.vodkapundit.com/public_html/?page=143" title="order cialis from canada">order cialis from canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=385" title="lowest price cialis">lowest price cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=121" title="cheap cialis internet">cheap cialis internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=382" title="online pharmacy viagra">online pharmacy viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=409" title="cheapest generic cialis">cheapest generic cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=368" title="generic drugs">generic drugs</a>
<a href="http://www.vodkapundit.com/public_html/?page=294" title="cialis india">cialis india</a>
<a href="http://www.vodkapundit.com/public_html/?page=255" title="find cialis without prescription">find cialis without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=376" title="best price cialis">best price cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=190" title="buy viagra without prescription">buy viagra without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=303" title="cheap cialis in uk">cheap cialis in uk</a>
<a href="http://www.vodkapundit.com/public_html/?page=191" title="where to buy viagra">where to buy viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=236" title="20 mg cialis">20 mg cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=171" title="cheap cialis from uk">cheap cialis from uk</a>
<a href="http://www.vodkapundit.com/public_html/?page=277" title="buy sildenafil canada">buy sildenafil canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=126" title="cialis no rx required">cialis no rx required</a>
<a href="http://www.vodkapundit.com/public_html/?page=146" title="cialis in us">cialis in us</a>
<a href="http://www.vodkapundit.com/public_html/?page=326" title="buy cialis overnight delivery">buy cialis overnight delivery</a>
<a href="http://www.vodkapundit.com/public_html/?page=345" title="cialis cheap price">cialis cheap price</a>
<a href="http://www.vodkapundit.com/public_html/?page=371" title="order cheap viagra online">order cheap viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=393" title="20mg cialis">20mg cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=176" title="buy cheap viagra online">buy cheap viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=188" title="viagra internet">viagra internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=209" title="viagra without prescription">viagra without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=235" title="free cialis">free cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=350" title="buy cialis us">buy cialis us</a>
<a href="http://www.vodkapundit.com/public_html/?page=261" title="cialis buy">cialis buy</a>
<a href="http://www.vodkapundit.com/public_html/?page=410" title="buy viagra in canada">buy viagra in canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=44" title="order viagra cheap online">order viagra cheap online</a>
<a href="http://www.vodkapundit.com/public_html/?page=112" title="find viagra without prescription">find viagra without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=270" title="viagra pills">viagra pills</a>
<a href="http://www.vodkapundit.com/public_html/?page=291" title="cheap cialis no prescription">cheap cialis no prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=353" title="viagra online without prescription">viagra online without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=309" title="order generic viagra">order generic viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=336" title="cialis discount">cialis discount</a>
<a href="http://www.vodkapundit.com/public_html/?page=58" title="viagra cheapest price">viagra cheapest price</a>
<a href="http://www.vodkapundit.com/public_html/?page=426" title="purchase viagra no rx">purchase viagra no rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=36" title="viagra no rx">viagra no rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=241" title="viagra cheap">viagra cheap</a>
<a href="http://www.vodkapundit.com/public_html/?page=280" title="discount viagra overnight delivery">discount viagra overnight delivery</a>
<a href="http://www.vodkapundit.com/public_html/?page=373" title="sale cialis">sale cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=404" title="cialis pharmacy online">cialis pharmacy online</a>
<a href="http://www.vodkapundit.com/public_html/?page=275" title="purchase cialis without prescription">purchase cialis without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=128" title="pharmacy online">pharmacy online</a>
<a href="http://www.vodkapundit.com/public_html/?page=31" title="cialis medication">cialis medication</a>
<a href="http://www.vodkapundit.com/public_html/?page=161" title="discount viagra">discount viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=411" title="buy cheap cialis">buy cheap cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=343" title="impotence medication">impotence medication</a>
<a href="http://www.vodkapundit.com/public_html/?page=186" title="viagra medication">viagra medication</a>
<a href="http://www.vodkapundit.com/public_html/?page=349" title="find cialis on internet">find cialis on internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=356" title="impotence pills">impotence pills</a>
<a href="http://www.vodkapundit.com/public_html/?page=158" title="cialis prices">cialis prices</a>
<a href="http://www.vodkapundit.com/public_html/?page=56" title="discount viagra without prescription">discount viagra without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=120" title="cialis online cheap">cialis online cheap</a>
<a href="http://www.vodkapundit.com/public_html/?page=263" title="cialis online review">cialis online review</a>
<a href="http://www.vodkapundit.com/public_html/?page=122" title="find cheap viagra online">find cheap viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=412" title="buy viagra us">buy viagra us</a>
<a href="http://www.vodkapundit.com/public_html/?page=307" title="purchase cialis online">purchase cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=332" title="certified viagra">certified viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=365" title="where to order viagra">where to order viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=39" title="buy cheapest viagra">buy cheapest viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=212" title="buy cialis internet">buy cialis internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=170" title="order cialis online">order cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=354" title="buy sildenafil online">buy sildenafil online</a>
<a href="http://www.vodkapundit.com/public_html/?page=414" title="buy cialis cheap">buy cialis cheap</a>
<a href="http://www.vodkapundit.com/public_html/?page=85" title="cheap viagra">cheap viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=210" title="purchase cialis">purchase cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=105" title="find discount viagra">find discount viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=95" title="buy cialis on internet">buy cialis on internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=406" title="cialis buy online">cialis buy online</a>
<a href="http://www.vodkapundit.com/public_html/?page=272" title="buy sildenafil online without a prescription">buy sildenafil online without a prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=64" title="viagra buy online">viagra buy online</a>
<a href="http://www.vodkapundit.com/public_html/?page=189" title="order cheap cialis online">order cheap cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=375" title="viagra information">viagra information</a>
<a href="http://www.vodkapundit.com/public_html/?page=47" title="no prescription viagra">no prescription viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=217" title="cost of viagra">cost of viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=243" title="buy cialis in canada">buy cialis in canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=254" title="buy cialis online">buy cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=220" title="buy viagra">buy viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=334" title="cheapest generic viagra">cheapest generic viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=52" title="cialis us">cialis us</a>
<a href="http://www.vodkapundit.com/public_html/?page=293" title="cialis australia">cialis australia</a>
<a href="http://www.vodkapundit.com/public_html/?page=288" title="fda approved cialis">fda approved cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=425" title="lowest price for viagra">lowest price for viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=84" title="viagra bangkok">viagra bangkok</a>
<a href="http://www.vodkapundit.com/public_html/?page=15" title="cialis prescription">cialis prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=378" title="cialis cost">cialis cost</a>
<a href="http://www.vodkapundit.com/public_html/?page=38" title="buy no rx cialis">buy no rx cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=330" title="buy viagra internet">buy viagra internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=346" title="viagra discount">viagra discount</a>
<a href="http://www.vodkapundit.com/public_html/?page=106" title="order viagra overnight delivery">order viagra overnight delivery</a>
<a href="http://www.vodkapundit.com/public_html/?page=322" title="generic cialis">generic cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=45" title="viagra australia">viagra australia</a>
<a href="http://www.vodkapundit.com/public_html/?page=96" title="25 mg viagra">25 mg viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=383" title="order viagra online">order viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=77" title="viagra overnight">viagra overnight</a>
<a href="http://www.vodkapundit.com/public_html/?page=278" title="cialis rx">cialis rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=63" title="order cialis in us">order cialis in us</a>
<a href="http://www.vodkapundit.com/public_html/?page=387" title="order viagra no rx">order viagra no rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=312" title="order discount cialis online">order discount cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=257" title="viagra vendors">viagra vendors</a>
<a href="http://www.vodkapundit.com/public_html/?page=4" title="order viagra in us">order viagra in us</a>
<a href="http://www.vodkapundit.com/public_html/?page=389" title="buy sildenafil in uk">buy sildenafil in uk</a>
<a href="http://www.vodkapundit.com/public_html/?page=267" title="viagra us">viagra us</a>
<a href="http://www.vodkapundit.com/public_html/?page=429" title="buy generic viagra">buy generic viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=70" title="viagra canada">viagra canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=370" title="viagra no prescription">viagra no prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=234" title="viagra cheap price">viagra cheap price</a>
<a href="http://www.vodkapundit.com/public_html/?page=391" title="cheap viagra tablet">cheap viagra tablet</a>
<a href="http://www.vodkapundit.com/public_html/?page=324" title="viagra free delivery">viagra free delivery</a>
<a href="http://www.vodkapundit.com/public_html/?page=223" title="overnight viagra">overnight viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=138" title="purchase viagra online">purchase viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=216" title="find cheap viagra">find cheap viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=102" title="cialis malaysia">cialis malaysia</a>
<a href="http://www.vodkapundit.com/public_html/?page=108" title="best price viagra">best price viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=366" title="cialis free sample">cialis free sample</a>
<a href="http://www.vodkapundit.com/public_html/?page=1" title="find viagra on internet">find viagra on internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=33" title="cialis generic">cialis generic</a>
<a href="http://www.vodkapundit.com/public_html/?page=237" title="buy sildenafil in canada">buy sildenafil in canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=308" title="order cialis no prescription required">order cialis no prescription required</a>
<a href="http://www.vodkapundit.com/public_html/?page=35" title="cheapest viagra online">cheapest viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=11" title="purchase cialis no rx">purchase cialis no rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=245" title="viagra in us">viagra in us</a>
<a href="http://www.vodkapundit.com/public_html/?page=281" title="order discount cialis">order discount cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=118" title="cheap viagra internet">cheap viagra internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=19" title="free viagra">free viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=20" title="cialis approved">cialis approved</a>
<a href="http://www.vodkapundit.com/public_html/?page=269" title="best price for cialis">best price for cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=109" title="cialis from india">cialis from india</a>
<a href="http://www.vodkapundit.com/public_html/?page=61" title="find no rx viagra">find no rx viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=17" title="generic viagra">generic viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=315" title="viagra from canada">viagra from canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=240" title="viagra online pharmacy">viagra online pharmacy</a>
<a href="http://www.vodkapundit.com/public_html/?page=271" title="buy viagra from canada">buy viagra from canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=296" title="cheapest generic viagra online">cheapest generic viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=163" title="buy cheapest cialis">buy cheapest cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=352" title="discount cialis">discount cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=66" title="viagra overnight delivery">viagra overnight delivery</a>
<a href="http://www.vodkapundit.com/public_html/?page=14" title="cialis without prescription">cialis without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=97" title="100mg viagra">100mg viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=28" title="cialis in australia">cialis in australia</a>
<a href="http://www.vodkapundit.com/public_html/?page=134" title="price of viagra">price of viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=34" title="order cialis overnight delivery">order cialis overnight delivery</a>
<a href="http://www.vodkapundit.com/public_html/?page=182" title="cheap viagra in uk">cheap viagra in uk</a>
<a href="http://www.vodkapundit.com/public_html/?page=110" title="buying generic cialis">buying generic cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=83" title="viagra pill">viagra pill</a>
<a href="http://www.vodkapundit.com/public_html/?page=136" title="buy cialis on line">buy cialis on line</a>
<a href="http://www.vodkapundit.com/public_html/?page=5" title="low cost cialis">low cost cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=338" title="find discount viagra online">find discount viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=248" title="buying viagra">buying viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=71" title="cheap cialis overnight delivery">cheap cialis overnight delivery</a>
<a href="http://www.vodkapundit.com/public_html/?page=76" title="pharmacy cialis">pharmacy cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=228" title="cheap viagra pill">cheap viagra pill</a>
<a href="http://www.vodkapundit.com/public_html/?page=249" title="viagra prescription">viagra prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=287" title="find viagra online">find viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=185" title="buy cialis lowest price">buy cialis lowest price</a>
<a href="http://www.vodkapundit.com/public_html/?page=357" title="discount viagra no rx">discount viagra no rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=413" title="online cialis">online cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=276" title="viagra free sample">viagra free sample</a>
<a href="http://www.vodkapundit.com/public_html/?page=129" title="cheap viagra in usa">cheap viagra in usa</a>
<a href="http://www.vodkapundit.com/public_html/?page=159" title="find viagra">find viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=78" title="cheap viagra online">cheap viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=24" title="buy viagra no rx">buy viagra no rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=86" title="generic viagra cheap">generic viagra cheap</a>
<a href="http://www.vodkapundit.com/public_html/?page=123" title="buy cialis without prescription">buy cialis without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=251" title="buy viagra in us">buy viagra in us</a>
<a href="http://www.vodkapundit.com/public_html/?page=162" title="cheap viagra overnight delivery">cheap viagra overnight delivery</a>
<a href="http://www.vodkapundit.com/public_html/?page=68" title="cheap cialis in usa">cheap cialis in usa</a>
<a href="http://www.vodkapundit.com/public_html/?page=42" title="cheap cialis online">cheap cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=231" title="viagra">viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=69" title="order no rx viagra">order no rx viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=196" title="viagra soft tab">viagra soft tab</a>
<a href="http://www.vodkapundit.com/public_html/?page=27" title="find cialis online">find cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=313" title="lowest price viagra">lowest price viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=51" title="cialis drug">cialis drug</a>
<a href="http://www.vodkapundit.com/public_html/?page=115" title="cialis vendors">cialis vendors</a>
<a href="http://www.vodkapundit.com/public_html/?page=93" title="viagra online stores">viagra online stores</a>
<a href="http://www.vodkapundit.com/public_html/?page=250" title="erectile dysfunction">erectile dysfunction</a>
<a href="http://www.vodkapundit.com/public_html/?page=298" title="order viagra in canada">order viagra in canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=286" title="buy viagra on line">buy viagra on line</a>
<a href="http://www.vodkapundit.com/public_html/?page=23" title="viagra overnight shipping">viagra overnight shipping</a>
<a href="http://www.vodkapundit.com/public_html/?page=183" title="viagra online cheap">viagra online cheap</a>
<a href="http://www.vodkapundit.com/public_html/?page=148" title="lowest price for cialis">lowest price for cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=48" title="approved viagra pharmacy">approved viagra pharmacy</a>
<a href="http://www.vodkapundit.com/public_html/?page=0" title="cialis 10 mg">cialis 10 mg</a>
<a href="http://www.vodkapundit.com/public_html/?page=361" title="cialis no online prescription">cialis no online prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=282" title="cialis purchase">cialis purchase</a>
<a href="http://www.vodkapundit.com/public_html/?page=133" title="cialis from canada">cialis from canada</a>
<a href="http://www.vodkapundit.com/public_html/?page=160" title="order cialis without prescription">order cialis without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=215" title="viagra for sale">viagra for sale</a>
<a href="http://www.vodkapundit.com/public_html/?page=114" title="viagra in australia">viagra in australia</a>
<a href="http://www.vodkapundit.com/public_html/?page=80" title="approved cialis pharmacy">approved cialis pharmacy</a>
<a href="http://www.vodkapundit.com/public_html/?page=337" title="buy viagra generic">buy viagra generic</a>
<a href="http://www.vodkapundit.com/public_html/?page=141" title="buy sildenafil in spain">buy sildenafil in spain</a>
<a href="http://www.vodkapundit.com/public_html/?page=305" title="find viagra no prescription required">find viagra no prescription required</a>
<a href="http://www.vodkapundit.com/public_html/?page=60" title="cialis no prescription">cialis no prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=227" title="buy viagra from us">buy viagra from us</a>
<a href="http://www.vodkapundit.com/public_html/?page=317" title="order viagra no prescription required">order viagra no prescription required</a>
<a href="http://www.vodkapundit.com/public_html/?page=390" title="cost viagra">cost viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=226" title="purchase viagra without prescription">purchase viagra without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=222" title="buy cialis no rx">buy cialis no rx</a>
<a href="http://www.vodkapundit.com/public_html/?page=132" title="cialis cheap">cialis cheap</a>
<a href="http://www.vodkapundit.com/public_html/?page=157" title="cialis internet">cialis internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=300" title="tablet viagra">tablet viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=238" title="cheap viagra on internet">cheap viagra on internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=184" title="viagra cost">viagra cost</a>
<a href="http://www.vodkapundit.com/public_html/?page=202" title="pharmacy viagra">pharmacy viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=193" title="cialis soft tab">cialis soft tab</a>
<a href="http://www.vodkapundit.com/public_html/?page=246" title="cialis information">cialis information</a>
<a href="http://www.vodkapundit.com/public_html/?page=127" title="buy cheap cialis internet">buy cheap cialis internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=151" title="purchase cialis overnight delivery">purchase cialis overnight delivery</a>
<a href="http://www.vodkapundit.com/public_html/?page=377" title="cheap cialis without prescription">cheap cialis without prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=198" title="buy viagra no prescription required">buy viagra no prescription required</a>
<a href="http://www.vodkapundit.com/public_html/?page=178" title="compare cialis prices">compare cialis prices</a>
<a href="http://www.vodkapundit.com/public_html/?page=155" title="buy cheap cialis online">buy cheap cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=264" title="overnight cialis">overnight cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=218" title="where to buy cialis">where to buy cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=74" title="cheap cialis">cheap cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=21" title="buy cheap viagra internet">buy cheap viagra internet</a>
<a href="http://www.vodkapundit.com/public_html/?page=87" title="buy discount cialis">buy discount cialis</a>
<a href="http://www.vodkapundit.com/public_html/?page=284" title="viagra buy drug">viagra buy drug</a>
<a href="http://www.vodkapundit.com/public_html/?page=386" title="cheap viagra no prescription">cheap viagra no prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=174" title="buy sildenafil citrate">buy sildenafil citrate</a>
<a href="http://www.vodkapundit.com/public_html/?page=299" title="buying viagra online">buying viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=325" title="buy discount viagra">buy discount viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=407" title="fda approved viagra">fda approved viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=65" title="cialis online stores">cialis online stores</a>
<a href="http://www.vodkapundit.com/public_html/?page=3" title="cheap cialis tablets">cheap cialis tablets</a>
<a href="http://www.vodkapundit.com/public_html/?page=104" title="buy cheapest cialis online">buy cheapest cialis online</a>
<a href="http://www.vodkapundit.com/public_html/?page=279" title="cheap viagra tablets">cheap viagra tablets</a>
<a href="http://www.vodkapundit.com/public_html/?page=75" title="order discount viagra">order discount viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=341" title="sale viagra">sale viagra</a>
<a href="http://www.vodkapundit.com/public_html/?page=311" title="viagra online">viagra online</a>
<a href="http://www.vodkapundit.com/public_html/?page=398" title="cialis for sale">cialis for sale</a>
<a href="http://www.vodkapundit.com/public_html/?page=107" title="cialis soft">cialis soft</a>
<a href="http://www.vodkapundit.com/public_html/?page=50" title="viagra pharmacy">viagra pharmacy</a>
<a href="http://www.vodkapundit.com/public_html/?page=364" title="buy cialis from us">buy cialis from us</a>
<a href="http://www.vodkapundit.com/public_html/?page=82" title="viagra without a prescription">viagra without a prescription</a>
<a href="http://www.vodkapundit.com/public_html/?page=46" title="viagra in bangkok">viagra in bangkok</a></span><p>As2ant 2.1 has just been released. Many bugs have been fixed, especially in the unit test task, and a new task has been added: Swfsli. The swfsli task can be used to inject script limit tags into SWFs to alter the maximum recursion depth and/or the script timeout.</p>
<p>Full list of changes:</p>
<p>[+] samples/swfsli<br />
Added sample showing usage of swfsli task.</p>
<p>[+] org.as2lib.ant.Swfsli<br />
Added task for the SWF ScriptLimits Injector (http://buraks.com/swfsli).</p>
<p>[!] org.as2lib.ant.Mtasc<br />
Enabled usage of &#8220;no&#8221; for &#8220;trace&#8221; argument.</p>
<p>[!] org.as2lib.ant.Swfmill<br />
Removed watchdog for execution of swfmill. Watchdog aborted execution if it took too long which caused troubles with big symbols (clips, fonts, includes).</p>
<p>[+] samples/swfmill, samples/swf<br />
Added samples showing usage of swfmill xml in-line.</p>
<p>[+] samples/asunit<br />
Added sample showing how to use AsUnit with the unit test task.</p>
<p>[!] org.as2lib.test.unit.XmlSocketTestListener<br />
Improved output: highlight only errors.</p>
<p>[!] org.as2lib.test.unit.XmlSocketResultPrinter<br />
Fixed bug with wrong value in attribute &#8220;hasErrors&#8221; of element &#8220;finish&#8221;.</p>
<p>[+] org.as2lib.ant.UnitTest<br />
Added proper handling of exceptions and failed tests.</p>
<p><a href="http://sourceforge.net/project/showfiles.php?group_id=94206&#038;package_id=164902" title="Download As2ant from Sourceforge">Download As2ant from Sourceforge</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwacker.com/weblog/2006/07/13/as2ant-21/feed/</wfw:commentRss>
		</item>
		<item>
		<title>As2ant 2.0 with Unit Test Task</title>
		<link>http://www.simonwacker.com/weblog/2006/06/11/as2ant-20-with-unit-test-task/</link>
		<comments>http://www.simonwacker.com/weblog/2006/06/11/as2ant-20-with-unit-test-task/#comments</comments>
		<pubDate>Sun, 11 Jun 2006 21:50:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Just released As2ant 2.0 (Apache Ant Tasks for Flash). Best new feature is the unit test task. It executes a unit test swf and prints the result directly to the console (command line, eclipse console, &#8230;). As2lib Unit Test and AsUnit are directly supported, but you may plug-in any other unit testing framework. An As2lib [...]]]></description>
			<content:encoded><![CDATA[<p>Just released As2ant 2.0 (<a href="http://ant.apache.org" title="Apache Ant Homepage">Apache Ant</a> Tasks for Flash). Best new feature is the unit test task. It executes a unit test swf and prints the result directly to the console (command line, eclipse console, &#8230;). <a href="http://www.as2lib.org" title="As2lib Homepage">As2lib Unit Test</a> and <a href="http://www.asunit.org" title="AsUnit Homepage">AsUnit</a> are directly supported, but you may plug-in any other unit testing framework. An As2lib sample is included in the distribution.</p>
<p>Complete list of changes:</p>
<p>[+] org.as2lib.ant.UnitTest<br />
Added task to execute unit tests. As2lib Unit Test and AsUnit are directly supported.</p>
<p>[!] org.as2lib.ant.Mtasc<br />
Detects and removes duplicate source files which are very likely when bean definition xml files are used as source files.</p>
<p>[+] org.as2lib.ant.Mtasc<br />
Added new argument: &#8216;packset&#8217;. This argument can be used to include multiple packages based on name patterns (analogous to &#8217;srcset&#8217;).</p>
<p>[+] org.as2lib.ant.Mtasc<br />
Added support for wimp-flag (turns warnings for unused imports on)</p>
<p>[+] org.as2lib.ant.Mtasc<br />
Added namespace support for xml source files (according to the As2lib Application Context specification)</p>
<p><a href="http://sourceforge.net/project/showfiles.php?group_id=94206&#038;package_id=164902" title="Download As2ant 2.0">Download As2ant 2.0</a>.</p>
<p>Hope you enjoy this major release. <img src='http://www.simonwacker.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwacker.com/weblog/2006/06/11/as2ant-20-with-unit-test-task/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Xml Dialect for Flash User Interfaces</title>
		<link>http://www.simonwacker.com/weblog/2006/05/24/xml-dialect-for-flash-user-interfaces/</link>
		<comments>http://www.simonwacker.com/weblog/2006/05/24/xml-dialect-for-flash-user-interfaces/#comments</comments>
		<pubDate>Wed, 24 May 2006 10:47:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[As mentioned in my previous article, the IoC container for Flash supports two XML dialects: a simple one to wire up business objects, and another less verbose one to build user interfaces (with any user interface framework or component library, including in-house ones, that follow some common coding practices).
Following is the ErrorWindow.xml from the As2lib [...]]]></description>
			<content:encoded><![CDATA[<p>As mentioned in my previous article, the IoC container for Flash supports two XML dialects: a simple one to wire up business objects, and another less verbose one to build user interfaces (with any user interface framework or component library, including in-house ones, that follow some common coding practices).</p>
<p>Following is the ErrorWindow.xml from the <a href="http://www.simonwacker.com/uploads/flash/as2lib/as2lib_chat_0.9.zip" title="Download As2lib Chat Sample Application">As2lib Chat</a> sample application:</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;beans</span> xmlns:<span style="color: #000066;">chat</span>=<span style="color: #ff0000;">&quot;org.as2lib.sample.chat&quot;</span> xmlns:<span style="color: #000066;">aw</span>=<span style="color: #ff0000;">&quot;org.aswing&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;chat</span>:ErrorWindow <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;errorWindow&quot;</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">&quot;window&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;messageLabel<span style="font-weight: bold; color: black;">&gt;</span></span></span>r{messageLabel}<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/messageLabel<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;aw</span>:JPanel <span style="color: #000066;">style</span>=<span style="color: #ff0000;">&quot;title&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;aw</span>:JLabel<span style="font-weight: bold; color: black;">&gt;</span></span>{messageSource.message[title.error]}<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/aw</span>:JLabel<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/aw</span>:JPanel<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;aw</span>:Container <span style="color: #000066;">style</span>=<span style="color: #ff0000;">&quot;content&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;aw</span>:JLabel <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;messageLabel&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;aw</span>:JButton <span style="color: #000066;">actionListener</span>=<span style="color: #ff0000;">&quot;d{errorWindow.hide}&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;text<span style="font-weight: bold; color: black;">&gt;</span></span></span>{messageSource.message[button.ok]}<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/text<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/aw</span>:JButton<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/aw</span>:Container<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/chat</span>:ErrorWindow<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/beans<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
</ol>
</div>
<p>Namespaces are declared for packages that contain needed components: namespace &#8216;chat&#8217; is mapped to package &#8216;org.as2lib.sample.chat&#8217; and &#8216;aw&#8217; to &#8216;org.aswing&#8217;.</p>
<p>Beans can now be declared as elements with one of the declared namespaces and the class name as local name: &lt;chat:ErrorWindow &#8230;/&gt; or &lt;aw:JPanel &#8230;/&gt;</p>
<p>Properties can either be elements with the element name as property name (&lt;messageLabel&gt;&#8230;&lt;/messageLabel&gt;) or attributes (actionListener=&#8221;&#8230;&#8221;).<br />
Note that there are some reserved attributes like &#8216;id&#8217;, &#8217;style&#8217; and &#8216;class&#8217;. If a property has the name of one of these reserved attributes, it must be declared with an element.<br />
You may have noticed that not all inner bean definitions are wrapped by a property element. For example the &#8216;JLabel&#8217; and &#8216;JButton&#8217; beans inside the &#8216;Container&#8217; bean. So to which property of the &#8216;Container&#8217; bean are they set? To the default property! If you parse the ErrorWindow.xml with the &#8216;AsWingBeanDefinitionParser&#8217; the default property is &#8216;append&#8217; which fits most needs. If you just use the &#8216;UiBeanDefinitionParser&#8217; there is no default property, but you may specify it with the &#8216;default-property&#8217; attribute in the root element as global default-property and/or in any bean definition as local default-property.</p>
<p>Property values with one of the following patterns are interpreted in a special way:<br />
 * p{} or {} is a property get access: {messageSource.message[title.error]} is interpreted as messageSource.getMessage(&#8221;title.error&#8221;)<br />
 * r{} is a bean reference: r{messageLabel}<br />
 * d{} creates a delegate: d{errorWindow.hide}<br />
 * v{} retrieves a variable: v{org.aswing.WindowLayout.TITLE}<br />
 * m{} invokes a method</p>
<p>The reserved &#8217;style&#8217; attribute maps a bean definition to a style class in a style sheet. Here&#8217;s an excerpt from the style.css file of the As2lib Chat (how it is loaded was shortly mentioned in the previous article):</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #a1a100;">@namespace {</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; aw: org.aswing;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; ab: org.aswing.<span style="color: #000000; font-weight: bold;">border</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #6666ff;">.window </span><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; x: <span style="color: #cc66cc;">200</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; y: <span style="color: #cc66cc;">150</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">width</span>: <span style="color: #cc66cc;">400</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">height</span>: <span style="color: #cc66cc;">110</span>;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; resizable: false;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; modal: true;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #6666ff;">.window </span><span style="color: #6666ff;">.<span style="color: #000000; font-weight: bold;">content</span> </span><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; layout: aw|SoftBoxLayout<span style="color: #66cc66;">&#40;</span>axis=v<span style="color: #66cc66;">&#91;</span>org.aswing.SoftBoxLayout.Y_AXIS<span style="color: #66cc66;">&#93;</span>, gap=<span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">border</span>: ab|EmptyBorder<span style="color: #66cc66;">&#40;</span>insets=aw|Insets<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">5</span>, <span style="color: #cc66cc;">5</span>, <span style="color: #cc66cc;">5</span>, <span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #6666ff;">.window </span><span style="color: #6666ff;">.<span style="color: #000000; font-weight: bold;">content</span> </span>JPanel <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; layout: aw|SoftBoxLayout<span style="color: #66cc66;">&#40;</span>axis=v<span style="color: #66cc66;">&#91;</span>org.aswing.SoftBoxLayout.X_AXIS<span style="color: #66cc66;">&#93;</span>, gap=<span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
</ol>
</div>
<p>The &#8216;.window&#8217; style class is quite simple. It just declares the position and size and whether the window is resizable and modal.</p>
<p>The &#8216;.content&#8217; style class is a little more complex. It declares the layout and border of the window&#8217;s content, which are both instances in <a href="http://www.aswing.org" title="AsWing">AsWing</a>.</p>
<p>A bean (instance) can be declared with a namespace to specify the package (optional) and a class name followed by left and right parenthesis: aw|SoftBoxLayout(&#8230;). Between the parenthesis are either constructor argument or property definitions separated by commas: aw|Insets(5, 5, 5, 5) or aw|SoftBoxLayout(axis=v[org.aswing.SoftBoxLayout.Y_AXIS], gap=5) respectively. Constructor argument definitions are simple values; property definitions consist of the property name followed by &#8216;=&#8217; and the property value.</p>
<p>As you can see in the property definition example, it is also possible to retrieve constants: v[org.aswing.SoftBoxLayout.Y_AXIS]</p>
<p>Applications mostly have multiple screens and windows. Defining all these in a single file would be unmaintainable. Every screen and window is normally defined in its own file. For example the error window is needed by the chat screen to show errors to the users. The chat screen can import the error window as follows:</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;beans</span> &#8230; <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;*.xml&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;chat</span>:Chat <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;chat&quot;</span> <span style="color: #000066;">init-method</span>=<span style="color: #ff0000;">&quot;init&quot;</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">&quot;frame&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;errorWindow<span style="font-weight: bold; color: black;">&gt;</span></span></span>r{errorWindow}<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/errorWindow<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &#8230;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/chat</span>:Chat<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &#8230;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;ErrorWindow</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;errorWindow&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;org.as2lib.context.support.AsWingApplicationContext&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/beans<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
</ol>
</div>
<p>Declare a namespace for importing external definitions: xmlns=&#8221;*.xml&#8221;<br />
Declare an imported bean as any other bean with the import namespace and the file name, and the class of the context which shall manage the imported bean: &lt;ErrorWindow id=&#8221;errorWindow&#8221; class=&#8221;org.as2lib.context.support.AsWingApplicationContext&#8221;/&gt;<br />
You can give the imported bean an &#8216;id&#8217; to reference it: &lt;errorWindow&gt;r{errorWindow}&lt;/errorWindow&gt;<br />
You may also declare properties for the imported bean: &lt;Chat width=&#8221;800&#8243; height=&#8221;600&#8243; visible=&#8221;true&#8221; &#8230;/&gt;</p>
<p>The use cases explained above are the most common ones; they probably fit 90% of all needs. I&#8217;m going to explain more special use cases in the next article.</p>
<p>Download the As2lib Chat sample application with all needed libraries: <a href="http://www.simonwacker.com/uploads/flash/as2lib/as2lib_chat_0.9.zip" title="Download As2lib Chat Sample Application">As2lib Chat</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwacker.com/weblog/2006/05/24/xml-dialect-for-flash-user-interfaces/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IoC Container for Flash</title>
		<link>http://www.simonwacker.com/weblog/2006/05/22/ioc-container-for-flash/</link>
		<comments>http://www.simonwacker.com/weblog/2006/05/22/ioc-container-for-flash/#comments</comments>
		<pubDate>Mon, 22 May 2006 14:46:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[After taking a closer look at dependency injection and discussing some theory about inversion of control containers in the previous articles, we are now going to examine the As2lib Inversion of Control Container which is largely inspired by the Spring Framework.
Note that I use the name bean to refer to application objects managed by bean [...]]]></description>
			<content:encoded><![CDATA[<p>After taking a closer look at <a href="http://www.simonwacker.com/blog/archives/000102.php" title="Dependency Injection">dependency injection</a> and discussing some theory about <a href="http://www.simonwacker.com/blog/archives/000103.php" title="Inversion of Control Containers">inversion of control containers</a> in the previous articles, we are now going to examine the As2lib Inversion of Control Container which is largely inspired by the <a href="http://springframework.org" title="Spring Framework">Spring Framework</a>.</p>
<p>Note that I use the name bean to refer to application objects managed by bean factories (they may be defined by a bean definition and may provide setters and getters to access properties).</p>
<p><b>Bean Wrapper</b> (org.as2lib.bean.BeanWrapper): Bean wrappers are used by bean factories to access properties on beans. They provide methods to check whether properties with a given name are readable and/or writable, to set property values or to get property values and to convert property values to required types.</p>
<p><b>Bean Factory</b> (org.as2lib.bean.factory.BeanFactory): The bean factory is a central registry for application objects. It holds bean definitions identified by unique names. If a bean is requested the bean factory will either create a new bean on each request with the information provided by the bean definition (prototype beans) or create the bean once and return always the same shared bean (singleton beans). The bean factory invokes lifecycle callbacks on a bean during its creation and destruction; creation involves instantiating the bean, populating it (setting property values) and resolving bean references. Most bean factories also support bean post-processors which can modify new beans before they are returned.</p>
<p><b>Factory Bean</b> (org.as2lib.bean.factory.FactoryBean): Factory beans can be used as any other bean in a bean factory; but the bean returned by a bean factory on a bean request is not the factory bean itself, but the bean it creates. This mechanism can be used to retrieve constants that shall be used as property values or to create typed proxies for remoting or web services.</p>
<p><b>Runtime Bean Reference</b> (org.as2lib.bean.factory.config.RuntimeBeanReference): Placeholder holding information to resolve bean references at run-time (dependency injection).</p>
<p><b>Bean Definition Parser</b> (org.as2lib.bean.factory.parser.BeanDefinitionParser): Parses bean definitions which may for example be described with a XML dialect.</p>
<p><b>Application Context</b> (org.as2lib.context.ApplicationContext): Application contexts build on the functionalities provided by bean factories and add some new ones that are typically needed by applications. These additional functionalities are: message sources for internationalization, application events, aspect oriented programming support and process support to execute asynchronous processes on start-up.</p>
<p>Let&#8217;s take a look at the applicationContext.xml file of the <a href="http://www.simonwacker.com/uploads/flash/as2lib/as2lib_chat_0.9.zip" title="Download As2lib Chat Sample">As2lib Chat</a> sample.</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;beans</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;*.xml&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;bean</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;org.as2lib.bean.factory.config.StyleSheetConfigurer&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;styleSheetUri&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>style.css<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/property<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/bean<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;bean</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;smartFoxClient&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;it.gotoandplay.smartfoxserver.SmartFoxClient&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Login</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;login&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;800&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;600&quot;</span> <span style="color: #000066;">ip</span>=<span style="color: #ff0000;">&quot;127.0.0.1&quot;</span> <span style="color: #000066;">port</span>=<span style="color: #ff0000;">&quot;9339&quot;</span> <span style="color: #000066;">zone</span>=<span style="color: #ff0000;">&quot;simpleChat&quot;</span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;org.as2lib.context.support.AsWingApplicationContext&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;smartFoxClient&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;ref</span> <span style="color: #000066;">local</span>=<span style="color: #ff0000;">&quot;smartFoxClient&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/property<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;chat&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;ref</span> <span style="color: #000066;">local</span>=<span style="color: #ff0000;">&quot;chat&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/property<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Login<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Chat</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;chat&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;800&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;600&quot;</span> <span style="color: #000066;">visible</span>=<span style="color: #ff0000;">&quot;true&quot;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;org.as2lib.context.support.AsWingApplicationContext&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;smartFoxClient&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;ref</span> <span style="color: #000066;">local</span>=<span style="color: #ff0000;">&quot;smartFoxClient&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/property<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Chat<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;bean</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;localeManager&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;org.as2lib.lang.LocaleManager&quot;</span> <span style="color: #000066;">factory-method</span>=<span style="color: #ff0000;">&quot;getInstance&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;defaultLocale&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>en<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/property<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;locales&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;array<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;bean</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;org.as2lib.lang.GermanLocale&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;bean</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;org.as2lib.lang.EnglishLocale&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/array<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/property<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/bean<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;bean</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;messageSource&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;org.as2lib.context.support.ResourceBundleMessageSource&quot;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">depends-on</span>=<span style="color: #ff0000;">&quot;localeManager&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;baseName&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>messages<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/property<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/bean<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/beans<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
</ol>
</div>
<p>Beans are defined with bean elements. Every bean element must at least provide the information needed to instantiate it. This is in the simplest case just a bean class. Properties are defined with property elements. They have a name attribute and optionally a type attribute to convert the property value to. The definition of the message source bean can be interpreted as (the depends-on attribute forces the locale manager to be instantiated prior to the message source):</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">var</span> messageSource:ResourceBundleMessageSource = <span style="color: #000000; font-weight: bold;">new</span> ResourceBundleMessageSource<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">messageSource.<span style="color: #006600;">setBaseName</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;messages&quot;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
</ol>
</div>
<p>The instantiation can also be done by a per-class or per-instance factory method. This approach is used by the locale manager whose declaration can be interpreted as:</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">var</span> localeManager:LocaleManager = LocaleManager.<span style="color: #006600;">getInstance</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">localeManager.<span style="color: #006600;">setDefaultLocale</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;en&quot;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">var</span> locales:<span style="color: #0066CC;">Array</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">locales.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> GermanLocale<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">locales.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> EnglishLocale<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">localeManager.<span style="color: #006600;">addLocales</span><span style="color: #66cc66;">&#40;</span>locales<span style="color: #66cc66;">&#41;</span>;</div>
</li>
</ol>
</div>
<p>While beans can be defined with bean and property elements, such a notation is too verbose and inconvenient to use for defining whole user interfaces. There is thus also another XML dialect which you can see a glimpse of in the above example: The definition of the login and chat beans. We&#8217;ll take a closer look at this more convenient dialect in the next article. Let&#8217;s now think about what the beans are doing.</p>
<p>The <b>message source</b> loads properties files for the target locale with the base name &#8220;messages&#8221; on start-up: messages_de.properties, messages_en.properties, &#8230; . After the properties files have been loaded, the message source can be used to get internationalized messages by name (&#8221;title.welcome&#8221;, &#8220;button.submit&#8221;, &#8230; ).</p>
<p>The <b>locale manager</b> defines a default locale and a list of available locales. If the language of the operating system does not match one of the available locales, the default locale will be used as target locale, whose properties file is loaded by the message source.</p>
<p>The unnamed <b>style sheet configurer</b> loads the cascading style sheet style.css to format the user interface with.</p>
<p>The <b>smart fox client</b> is used to log-in, create rooms and send messages.</p>
<p>The two beans <b>login</b> and <b>chat</b> are user interface screens. Their definition is done in separate xml files: Login.xml and Chat.xml respectively; these files are loaded and parsed on start-up.</p>
<p>We now know what the bean definitions mean, but how can the application be started? The main.Mtasc class is responsible for starting the application in the As2lib Chat sample. It first specifies the parser to use, then creates a new loading application context with the parser and a bean definition URI, adds a listener to the application context to be notified if the application context has finished loading and at the end starts the loading process.</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">var</span> beanDefinitionParser:BeanDefinitionParser = <span style="color: #000000; font-weight: bold;">new</span> UiBeanDefinitionParser<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">applicationContext = <span style="color: #000000; font-weight: bold;">new</span> LoadingApplicationContext<span style="color: #66cc66;">&#40;</span>APPLICATION_CONTEXT_URI, beanDefinitionParser<span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">applicationContext.<span style="color: #0066CC;">addListener</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">applicationContext.<span style="color: #0066CC;">start</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
</ol>
</div>
<p>As soon as the application context has finished loading and parsing the Mtasc class gets the login screen from the application context and shows it.</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">try</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> login:Login = applicationContext.<span style="color: #006600;">getBean</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;login&quot;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; login.<span style="color: #0066CC;">show</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">catch</span> <span style="color: #66cc66;">&#40;</span>exception<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Initializing chat failed with error:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> + StringUtil.<span style="color: #006600;">addSpaceIndent</span><span style="color: #66cc66;">&#40;</span>exception.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>, <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
</ol>
</div>
<p>The last question that remains is: How do we get the needed classes into the swf? This is actually quite problematic in Flash; every needed class must be referenced for example in the first frame which is quite inconvenient. When you are free to compile your application with <a href="http://www.mtasc.org" title="Motion-Twin ActionScript 2 Compiler">MTASC</a> things are much more convenient: use <a href="http://ant.apache.org" title="Apache Ant">Ant</a> build scripts in combination with <a href="http://sourceforge.net/project/showfiles.php?group_id=94206&#038;package_id=164902" title="As2ant - Swf, Mtasc, Swfmill and As2api Ant Tasks">As2ant</a> to compile the application. With As2ant you have the option to specify the application context as XML source. The SWF task steps through the XML file and compiles all needed classes into the swf.</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;swf</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;${as2lib.dir}/org/as2lib/app/conf/MtascApplication.as&quot;</span> <span style="color: #000066;">dest</span>=<span style="color: #ff0000;">&quot;${chat.swf}&quot;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">header</span>=<span style="color: #ff0000;">&quot;800:600:31&quot;</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;8&quot;</span> <span style="color: #000066;">trace</span>=<span style="color: #ff0000;">&quot;org.as2lib.env.log.logger.DebugItLogger.trace&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;classpath<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;pathelement</span> <span style="color: #000066;">path</span>=<span style="color: #ff0000;">&quot;${lib.dir}&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &#8230;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/classpath<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;srcxml<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;pathelement</span> <span style="color: #000066;">path</span>=<span style="color: #ff0000;">&quot;${context.dir}/applicationContext.xml&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &#8230;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/srcxml<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/swf<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
</ol>
</div>
<p>If you use Eclipse or another development environment with integrated Ant support, compiling everything requires just one click.</p>
<p>Download the As2lib Chat sample application with all needed libraries: <a href="http://www.simonwacker.com/uploads/flash/as2lib/as2lib_chat_0.9.zip" title="Download As2lib Chat Sample Application">As2lib Chat</a></p>
<p>As already mentioned previously, the XML dialect for user interfaces will be presented in the next article (but you can of course take a look at it in the As2lib Chat sample application if you can&#8217;t wait).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwacker.com/weblog/2006/05/22/ioc-container-for-flash/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Inversion of Control Containers</title>
		<link>http://www.simonwacker.com/weblog/2006/05/20/inversion-of-control-containers/</link>
		<comments>http://www.simonwacker.com/weblog/2006/05/20/inversion-of-control-containers/#comments</comments>
		<pubDate>Sat, 20 May 2006 12:27:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Flash]]></category>

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

		<guid isPermaLink="false"></guid>
		<description><![CDATA[An Inversion of Control container is an infrastructural backbone for applications by providing services like lifecycle management, lookup, configuration and dependency resolution.
Lifecycle management: The lifecycle of application objects is managed by the container. The container is able to create new objects, to populate them (applying property values), to invoke initialization and destruction callbacks.
Lookup: References to [...]]]></description>
			<content:encoded><![CDATA[<p>An Inversion of Control container is an infrastructural backbone for applications by providing services like lifecycle management, lookup, configuration and dependency resolution.</p>
<p><b>Lifecycle management:</b> The lifecycle of application objects is managed by the container. The container is able to create new objects, to populate them (applying property values), to invoke initialization and destruction callbacks.</p>
<p><b>Lookup:</b> References to application objects can be obtained through the container. A container is so to speak a factory.</p>
<p><b>Configuration:</b> Application objects can be configured in a consistent way (without needing recompilation); for example with an XML dialect.</p>
<p><b>Dependency resolution:</b> The container should not only configure application objects with simple types, but also manage relationships between them.</p>
<p>While application objects should be able to take advantage of these services, they should NOT depend on the container. This can be achieved by Inversion of Control (and <a href="http://www.simonwacker.com/blog/archives/000102.php" title="Dependency Injection">Dependency Injection</a>). Inversion of Control containers are thus also called non-invasive containers.</p>
<p>IoC containers do not impose invasive dependencies on your code, but it is advisable to follow some good coding practices.</p>
<p>* Code to interfaces to maximize pluggability.<br />
* Each application object should have a clear set of responsibilities.<br />
* Favor the Strategy design pattern over inheritance.<br />
* Do not write code to do anything that the container can do.<br />
* Use method prefixes in a consistent manner (<a href="http://www.simonwacker.com/blog/archives/000087.php#mutator_methods" title="Mutator Methods: Naming">Mutator Methods: Naming</a>)</p>
<p>If you follow the preceding recommendations, you can also easily unit test your code and practice <a href="http://www.simonwacker.com/blog/archives/000085.php" title="TDD - Test Driven Development">test-driven development</a>.</p>
<p>In the next article we are going to take a look at the As2lib IoC container for Flash and its simple XML dialect.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwacker.com/weblog/2006/05/20/inversion-of-control-containers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dependency Injection</title>
		<link>http://www.simonwacker.com/weblog/2006/05/19/dependency-injection/</link>
		<comments>http://www.simonwacker.com/weblog/2006/05/19/dependency-injection/#comments</comments>
		<pubDate>Fri, 19 May 2006 18:54:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Design Patterns]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Applications consist of multiple classes which collaborate with each other. For example an instance of class A needs an instance of class B and C to do its job; in other words, class A depends on class B and C; class B and C are thus dependencies of class A.
There are three options to satisfy [...]]]></description>
			<content:encoded><![CDATA[<p>Applications consist of multiple classes which collaborate with each other. For example an instance of class <i>A</i> needs an instance of class <i>B</i> and <i>C</i> to do its job; in other words, class <i>A</i> depends on class <i>B</i> and <i>C</i>; class <i>B</i> and <i>C</i> are thus dependencies of class <i>A</i>.</p>
<p>There are three options to satisfy dependencies:</p>
<ol>
<li>hard-code dependencies,</li>
<li>look up dependencies,</li>
<li>use the Dependency Injection pattern.</li>
</ol>
<p>1. <a name="hardcode"></a><b>Hard-coding dependencies</b> is the easiest strategy: class <i>A</i> simply instantiates its dependencies.</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">class</span> A <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> b:B;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> c:C;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> A<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; b = <span style="color: #000000; font-weight: bold;">new</span> B<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">3</span>, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; c = <span style="color: #000000; font-weight: bold;">new</span> C<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> doSomething<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> r:<span style="color: #0066CC;">String</span> = b.<span style="color: #006600;">doSomething</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; c.<span style="color: #006600;">doSomething</span><span style="color: #66cc66;">&#40;</span>r<span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
</ol>
</div>
<p>Problems of hard-coding dependencies:</p>
<ul>
<li>Configuration is distributed across the whole application (configuration is in this case wiring up the instances and configuring dependent instances).</li>
<li>Class <i>A</i> must be modified to exchange a dependency (tight coupling): the instance of <i>B</i> may be replaced by an instance of <i>SubB</i> which fulfils the same contract as its super-class <i>B</i>. If <i>B</i> were an interface than any implementations could be used to satisfy the dependency.</li>
<li>What if a fourth class <i>D</i> has a dependency to the same instance of <i>B</i> as class <i>A</i>?</li>
</ul>
<p>2. <a name="lookup"></a><b>Looking up dependencies</b> requires a context: class <i>A</i> gets the context and looks up its dependencies.</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">class</span> A <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> b:B;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> c:C;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> A<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> context:Context = Context.<span style="color: #006600;">getInstance</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; b = context.<span style="color: #006600;">getB</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; c = context.<span style="color: #006600;">getC</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &#8230;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
</ol>
</div>
<p>Advantages of looking up dependencies:</p>
<ul>
<li>Partially centralized configuration of the context: dependency <i>b</i> is already fully configured; but every instance looks up its dependencies on its own.</li>
<li>One instance can be used to satisfy multiple dependencies: an instance of class <i>D</i> can simply use <i>context.getB()</i> to get the same instance.</li>
</ul>
<p>Problems of looking up dependencies:</p>
<ul>
<li>Class <i>A</i> depends on a context: makes unit testing more difficult and the look ups are disturbing.</li>
<li>Code is bloated with dependency look-ups.</li>
</ul>
<p>3. <a name="injection"></a>Using the <b>Dependency Injection</b> pattern is simple and places no requirements: class <i>A</i> provides ways to inject dependencies.</p>
<p>Advantages of dependency injection:</p>
<ul>
<li>Configuration is centralized in one place: both configuration of instances and wiring up instances.</li>
<li>Dependencies can be exchanged easily (loose coupling).</li>
<li>Wiring up instances is made easy.</li>
</ul>
<p>Problem of dependency injection: The wiring code may become rather complex if there are a lot of instances with a lot of dependencies to satisfy.</p>
<p>One way to go is to use <b>Constructor Injection</b>. In this approach class <i>A</i> declares a constructor with paramters for both dependencies; the dependencies are given on instantiation.</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">class</span> A <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> b:B;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> c:C;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> A<span style="color: #66cc66;">&#40;</span>b:B, c:C<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">this</span>.<span style="color: #006600;">b</span> = b;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">this</span>.<span style="color: #006600;">c</span> = c;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &#8230;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
</ol>
</div>
<p>Advantages of constructor injection:</p>
<ul>
<li>Dependencies cannot be changed after instantiation.</li>
<li>Initialization which requires all dependencies can be done directly in the constructor.</li>
<li>Instance is not in illegal state after instantiation.</li>
</ul>
<p>Problems of constructor injection:</p>
<ul>
<li>Parameter list of constructor may become very long (there may be a lot of dependencies, plus other information to pass to the constructor).</li>
<li>Parameters are distinguished by index and not by name, which may make the code harder to understand.</li>
</ul>
<p>Another way to go is <b>Setter Injection</b>. In this approach class <i>A</i> provides setters for both dependencies; the dependencies are satisfied after instantiation.</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">class</span> A <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> b:B;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> c:C;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> A<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> setB<span style="color: #66cc66;">&#40;</span>b:B<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">this</span>.<span style="color: #006600;">b</span> = b;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> setC<span style="color: #66cc66;">&#40;</span>c:C<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">this</span>.<span style="color: #006600;">c</span> = c;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &#8230;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
</ol>
</div>
<p>Advantages of setter injection:</p>
<ul>
<li>Constructor can be used to pass other information than dependencies.</li>
<li>Code is easier to understand because names rather than indices are used to distinguish dependencies.</li>
</ul>
<p>Problems of setter injection:</p>
<ul>
<li>Dependencies may not have been satisfied when needed.</li>
<li>Dependencies may be changed after &#8216;official&#8217; initialization.</li>
<li>Initialization may have to be done after all dependencies are satisfied: init-method is needed.</li>
</ul>
<p>While dependency injection is a pattern with many advantages, there are also some problems when used extensively, which can only be solved by an Inversion of Control Container. Such a container provides means of managing instances: lifecycle management (instantiating classes, setting dependencies, invoking init-methods, destroying classes), looking up managed instances, configuring managed instances, resolving dependencies.</p>
<p>In my following articles I&#8217;m going to present the As2lib Inversion of Control Container and show you how it solves the problems mentioned above and which other functionalities it provides (for example using its generic XML dialect to create UIs with ActionStep, AsWing, EnFlash or any other component library).</p>
<p>Further Reading: <a href="http://martinfowler.com/articles/injection.html" title="Inversion of Control Containers and the Dependency Injection pattern">Inversion of Control Containers and the Dependency Injection pattern</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwacker.com/weblog/2006/05/19/dependency-injection/feed/</wfw:commentRss>
		</item>
		<item>
		<title>As2ant 1.5: Specify Swfmill XML within Task</title>
		<link>http://www.simonwacker.com/weblog/2006/03/05/as2ant-15-specify-swfmill-xml-within-task/</link>
		<comments>http://www.simonwacker.com/weblog/2006/03/05/as2ant-15-specify-swfmill-xml-within-task/#comments</comments>
		<pubDate>Sun, 05 Mar 2006 18:26:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[You can now specify the swfmill xml directly in the task. The advantages are that you have only one file to maintain (build.xml) and that you can use ant properties within the swfmill xml.



&#60;swf src=&#34;${src.dir}/com/simonwacker/ant/Sample.as&#34; dest=&#34;${build.dir}/sample.swf&#34;&#62;


&#160; &#60;xml&#62;


&#160; &#160; &#60;![CDATA[


&#160; &#160; &#160; &#60;movie width=&#34;300&#34; height=&#34;100&#34; framerate=&#34;31&#34;&#62;


&#160; &#160; &#160; &#160; &#60;background color=&#8217;#FF8A00&#8242;/&#62;


&#160; &#160; &#160; &#160; &#60;frame&#62;


&#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>You can now specify the swfmill xml directly in the task. The advantages are that you have only one file to maintain (build.xml) and that you can use ant properties within the swfmill xml.</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;swf</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;${src.dir}/com/simonwacker/ant/Sample.as&quot;</span> <span style="color: #000066;">dest</span>=<span style="color: #ff0000;">&quot;${build.dir}/sample.swf&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;xml<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #339933;">&lt;![CDATA[</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &lt;movie width=&quot;300&quot; height=&quot;100&quot; framerate=&quot;31&quot;&gt;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &lt;background color=&#8217;#FF8A00&#8242;/&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &lt;frame&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;library&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;clip id=&quot;simonwacker&quot; import=&quot;${res}/simonwacker.jpg&quot;/&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;font id=&quot;pixel&quot; import=&quot;${res}/pixel.ttf&quot;/&gt;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/library&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &lt;/frame&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &lt;/movie&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; ]]&gt;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/xml<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/swf<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
</ol>
</div>
<p>Further enhancements are:</p>
<p>[+] org.as2lib.ant.Mtasc<br />
Added special XML support for As2lib Bean Factory and Context.</p>
<p>[+] org.as2lib.ant.Swfmill / org.as2lib.ant.Swf<br />
Added support for specifying the swfmill xml directly in the tasks.</p>
<p>[+] org.as2lib.ant.Swf<br />
Added support for overriding font family names.</p>
<p>[+] org.as2lib.ant.Swfmill / org.as2lib.ant.Swf<br />
Added support for extra verbose debugging output.</p>
<p><a href="http://sourceforge.net/project/showfiles.php?group_id=94206&#038;package_id=164902" title="Download As2ant 1.5 from sourceforge.net">Download As2ant 1.5 from sourceforge.net</a><br />
<a href="http://www.simonwacker.com/uploads/ant/as2ant_1.5.zip" title="Download As2ant 1.5 from simonwacker.com">Download As2ant 1.5 from simonwacker.com</a></p>
<p>I hope you enjoy the new features!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwacker.com/weblog/2006/03/05/as2ant-15-specify-swfmill-xml-within-task/feed/</wfw:commentRss>
		</item>
		<item>
		<title>As2ant 1.0 with As2api Task</title>
		<link>http://www.simonwacker.com/weblog/2006/02/27/as2ant-10-with-as2api-task/</link>
		<comments>http://www.simonwacker.com/weblog/2006/02/27/as2ant-10-with-as2api-task/#comments</comments>
		<pubDate>Mon, 27 Feb 2006 14:52:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[As2ant 1.0 has just been released! Best new features are the new As2api task and the custom-arguments support for the Mtasc task.
Full list of changes:
[+] org.as2lib.ant.As2api
Added support for HTML API documentation generation via As2api.
[!] org.as2lib.ant.Mtasc
Fixed bug with package-argument: Use relative paths!
[+] org.as2lib.ant.Mtasc
Added support for custom arguments: &#60;argument name=&#8221;-myargument&#8221; value=&#8221;myvalue&#8221;/&#62;
[~] org.as2lib.ant.Mtasc
Ignore classes in source xml files [...]]]></description>
			<content:encoded><![CDATA[<p>As2ant 1.0 has just been released! Best new features are the new As2api task and the custom-arguments support for the Mtasc task.</p>
<p>Full list of changes:</p>
<p>[+] org.as2lib.ant.As2api<br />
Added support for HTML API documentation generation via As2api.</p>
<p>[!] org.as2lib.ant.Mtasc<br />
Fixed bug with package-argument: Use relative paths!</p>
<p>[+] org.as2lib.ant.Mtasc<br />
Added support for custom arguments: &lt;argument name=&#8221;-myargument&#8221; value=&#8221;myvalue&#8221;/&gt;</p>
<p>[~] org.as2lib.ant.Mtasc<br />
Ignore classes in source xml files that cannot be found.</p>
<p>[+] org.as2lib.ant.Mtasc<br />
Added support for source xml files with &#8216;type&#8217; as attribute.</p>
<p>[+] org.as2lib.ant.Mtasc<br />
Improved commandline output by adding locations to all exceptions.</p>
<p>[~] org.as2lib.ant.Mtasc<br />
Compile all source files in split-mode, even when one raises a compile error.</p>
<p><a href="http://sourceforge.net/project/showfiles.php?group_id=94206&#038;package_id=164902" title="Download As2ant 1.0 from sourceforge.net">Download As2ant 1.0 from sourceforge.net</a><br />
<a href="http://www.simonwacker.com/uploads/ant/as2ant_1.0.zip" title="Downlaod As2ant 1.0 from simonwacker.com">Downlaod As2ant 1.0 from simonwacker.com</a></p>
<p>If you find any bugs please report them!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwacker.com/weblog/2006/02/27/as2ant-10-with-as2api-task/feed/</wfw:commentRss>
		</item>
		<item>
		<title>As2lib 0.9.3, New Version</title>
		<link>http://www.simonwacker.com/weblog/2005/10/13/as2lib-093-new-version/</link>
		<comments>http://www.simonwacker.com/weblog/2005/10/13/as2lib-093-new-version/#comments</comments>
		<pubDate>Thu, 13 Oct 2005 19:30:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Flash]]></category>

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

		<guid isPermaLink="false"></guid>
		<description><![CDATA[A new version of the as2lib is finally available for download.
Major changes are:

A completely rewritten File framework that offers various file format representations, like properties files, and support for loading and parsing these files - org.as2lib.io.file
Support for configuring the Logging framework via XML - org.as2lib.env.log.parser
Improved Process and Unit Testing frameworks - org.as2lib.app.exec, org.as2lib.test.unit
Many bug fixes [...]]]></description>
			<content:encoded><![CDATA[<p>A new version of the as2lib is finally available for download.</p>
<p>Major changes are:</p>
<ul>
<li>A completely rewritten File framework that offers various file format representations, like properties files, and support for loading and parsing these files - org.as2lib.io.file</li>
<li>Support for configuring the Logging framework via XML - org.as2lib.env.log.parser</li>
<li>Improved Process and Unit Testing frameworks - org.as2lib.app.exec, org.as2lib.test.unit</li>
<li>Many bug fixes in the AOP framework - org.as2lib.aop</li>
<li>New Regular Expression (RegExp) framework (note that there is still much documentation missing) - org.as2lib.regexp</li>
</ul>
<p>As you can see, it is definitely worth updating to this new version.</p>
<p><a href="http://www.as2lib.org/download#release_0_9_3" title="Download As2lib 0.9.3">Download As2lib 0.9.3.</a></p>
<p><a href="http://api.as2lib.org/0.9.3" title="View API Documentation">View API Documentation</a></p>
<p>If you find any bugs, report it, if you want a new feature, tell us about it, if you need support, ask us: <a href="http://www.as2lib.org/response" title="Response">Response</a>.</p>
<p>The next releases will contain a Bean Factory and Application Context framework and of course - a documented Regular Expression (RegEx) framework. <img src='http://www.simonwacker.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
So, stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwacker.com/weblog/2005/10/13/as2lib-093-new-version/feed/</wfw:commentRss>
		</item>
		<item>
		<title>As2ant 1.0 beta, Released!</title>
		<link>http://www.simonwacker.com/weblog/2005/10/13/as2ant-10-beta-released/</link>
		<comments>http://www.simonwacker.com/weblog/2005/10/13/as2ant-10-beta-released/#comments</comments>
		<pubDate>Thu, 13 Oct 2005 17:30:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Flash]]></category>

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

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Changes include:
 * Better readability of generated commandline output.
 * Support for local variable inference: -infer
 * Support for package-attribute: -pack
 * New way of specifying sources, via XML
The new way of specifying sources via XML is especially important. Because this allows you to write a xml log configuration for the As2lib logging framework and [...]]]></description>
			<content:encoded><![CDATA[<p>Changes include:</p>
<p> * Better readability of generated commandline output.<br />
 * Support for local variable inference: -infer<br />
 * Support for package-attribute: -pack<br />
 * New way of specifying sources, via XML</p>
<p>The new way of specifying sources via XML is especially important. Because this allows you to write a xml log configuration for the As2lib logging framework and specify this xml log configuration as source xml in your mtasc or swf tasks.</p>
<p>Check it out yourself!</p>
<p><a href="https://sourceforge.net/project/showfiles.php?group_id=94206&#038;package_id=164902&#038;release_id=363226" title="Download As2ant 1.0 beta">Download As2ant 1.0 beta.</a></p>
<p>The next release will contain</p>
<p>  * a task for <a href="http://www.badgers-in-foil.co.uk/projects/as2api" title="As2api">As2api</a>,<br />
  * fixes for all the bugs you encounter and<br />
  * implementations of new features you need.</p>
<p>I hope you enjoy working with the tasks!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwacker.com/weblog/2005/10/13/as2ant-10-beta-released/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
