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

<channel>
	<title>Developer&#039;s Blog</title>
	<atom:link href="http://www.badu.ro/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.badu.ro</link>
	<description>In Hot Pursue of Excellency</description>
	<lastBuildDate>Sun, 05 Sep 2010 08:18:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>XML to Value Object</title>
		<link>http://www.badu.ro/?p=143</link>
		<comments>http://www.badu.ro/?p=143#comments</comments>
		<pubDate>Sun, 05 Sep 2010 08:18:01 +0000</pubDate>
		<dc:creator>Badu</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>

		<guid isPermaLink="false">http://www.badu.ro/?p=143</guid>
		<description><![CDATA[I&#8217;ve seen a lot of solutions like this around, but a bit too complex for my taste. Basically, this came up because I needed to work with configuration files, but wasn&#8217;t too happy about using binding over XML.
The present solution de-serializes XML into value objects, by reading the name-space of that XML and creating instance [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve seen a lot of solutions like this around, but a bit too complex for my taste. Basically, this came up because I needed to work with configuration files, but wasn&#8217;t too happy about using binding over XML.</p>
<p>The present solution de-serializes XML into value objects, by reading the name-space of that XML and creating instance of the pointed class. After having an instance, we&#8217;re just filling the values read from XML into that class and we&#8217;re done. The class has two static methods for doing this.</p>
<p>In the example below I&#8217;m using also an array as a property for the main value object. For each element of that array it is required to declare the namespace of the value object that represents the array&#8217;s element type.</p>

		<span class="flash">
		<object width="450" height="800">
			<param name="movie" value="http://www.badu.ro/flex/xml2vo/Test.swf"></param>
			<param name="allowFullScreen" value="true"></param>
			<param name="allowscriptaccess" value="always"></param>
			<embed src="http://www.badu.ro/flex/xml2vo/Test.swf" type="application/x-shockwave-flash"allowscriptaccess="always" allowfullscreen="true" width="450" height="800"></embed>
		</object>
		</span>
		
<p>Source is free and can be viewed <a title="XML to value object" href="http://www.badu.ro/flex/xml2vo/srcview/index.html" target="_blank">here </a>- enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.badu.ro/?feed=rss2&amp;p=143</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Way I Debug in Flex</title>
		<link>http://www.badu.ro/?p=134</link>
		<comments>http://www.badu.ro/?p=134#comments</comments>
		<pubDate>Sun, 05 Sep 2010 06:30:45 +0000</pubDate>
		<dc:creator>Badu</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>

		<guid isPermaLink="false">http://www.badu.ro/?p=134</guid>
		<description><![CDATA[Tracing is the most important thing in developer&#8217;s life, isn&#8217;t it? I&#8217;ve seen a lot of good developers using chaos method in tracing, just throwing traces here and there. How do you find something that you are tracing, mostly if we&#8217;re talking about a large number of classes and complex projects?
I prefer to concentrate on [...]]]></description>
			<content:encoded><![CDATA[<p>Tracing is the most important thing in developer&#8217;s life, isn&#8217;t it? I&#8217;ve seen a lot of good developers using chaos method in tracing, just throwing traces here and there. How do you find something that you are tracing, mostly if we&#8217;re talking about a large number of classes and complex projects?<br />
I prefer to concentrate on development rather than concentrate on finding things and for that you need to know exactly where that trace came from.<br />
First method that I used for a couple of month uses the class below &#8211; which was integrated by the company I&#8217;m working for without conserving the original package name (the only information about the original author was left as a comment in the code):</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package ro.<span style="color: #006600;">badu</span>.<span style="color: #006600;">utils</span>.<span style="color: #006600;">debug</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">utils</span>.<span style="color: #006600;">getQualifiedClassName</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">utils</span>.<span style="color: #0066CC;">getTimer</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">utils</span>.<span style="color: #006600;">ObjectUtil</span>;
&nbsp;
	CONFIG::AIR_LOG
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">import</span> ro.<span style="color: #006600;">badu</span>.<span style="color: #006600;">utils</span>.<span style="color: #006600;">debug</span>.<span style="color: #006600;">logger</span>.<span style="color: #006600;">LogWriter</span>;
	<span style="color: #66cc66;">&#125;</span>
	<span style="color: #808080; font-style: italic;">/*
		A simple class which allows you to perform &quot;extensive&quot; traces.
&nbsp;
		@authors :
			Per Kristian Stoveland - perk.stoveland[at]gmail.com (original)
			Dinu Bogdan Gabriel - badu[at]badu.ro
&nbsp;
		Usage example:
&nbsp;
		protected function someMethod():void
		{
&nbsp;
			var myArrayCollection : ArrayCollection = new ArrayCollection();
			myArrayCollection.addItem({firstname:&quot;test1&quot; , lastname: &quot;test2&quot;});
			myArrayCollection.addItem({firstname:&quot;test3&quot; , lastname: &quot;test4&quot;});
&nbsp;
			OldTracer.log( this , &quot;someMethod&quot; , myArrayCollection , true);
&nbsp;
		}
&nbsp;
		public static function log( inClass:Object, inMethod:String = &quot;&quot;, message:Object=null, isObjectUtilDump : Boolean = false ):void
&nbsp;
		Parameters : 
			inClass - where is the place the trace comes from 
			inMethod - usually a string that you have to complete by hand to illustrate in which method
			message - the message you want to trace. Can accept complex objects which in combination with isObjectUtilDump= true will
				use ObjectUtil to dump it all
			isObjectUtilDump - see above
&nbsp;
		Note : do not forget to set compiler params -define CONFIG::DEBUG true -define CONFIG::AIR_LOG false if you are using it as it is
	*/</span>
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> OldTracer 
	<span style="color: #66cc66;">&#123;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> _useQName:<span style="color: #0066CC;">Boolean</span> = <span style="color: #000000; font-weight: bold;">true</span>;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> useQualifiedClassName<span style="color: #66cc66;">&#40;</span> b:<span style="color: #0066CC;">Boolean</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			_useQName = b;
		<span style="color: #66cc66;">&#125;</span> 
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">log</span><span style="color: #66cc66;">&#40;</span> inClass:<span style="color: #0066CC;">Object</span>, inMethod:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;&quot;</span>, <span style="color: #0066CC;">message</span>:<span style="color: #0066CC;">Object</span>=<span style="color: #000000; font-weight: bold;">null</span>, isObjectUtilDump : <span style="color: #0066CC;">Boolean</span> = <span style="color: #000000; font-weight: bold;">false</span> <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>CONFIG::AIR_LOG<span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">var</span> _log:LogWriter = <span style="color: #000000; font-weight: bold;">new</span> LogWriter<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #0066CC;">try</span> 
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">var</span> className:<span style="color: #0066CC;">String</span> = getQualifiedClassName<span style="color: #66cc66;">&#40;</span> inClass <span style="color: #66cc66;">&#41;</span>;
&nbsp;
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">!</span>_useQName <span style="color: #66cc66;">&#41;</span>
				<span style="color: #66cc66;">&#123;</span>
					<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">start</span>:uint = className.<span style="color: #0066CC;">indexOf</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;::&quot;</span> <span style="color: #66cc66;">&#41;</span> + <span style="color: #cc66cc;">2</span>;
					className = className.<span style="color: #0066CC;">substring</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">start</span>, className.<span style="color: #0066CC;">length</span> <span style="color: #66cc66;">&#41;</span>;
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span> 
			<span style="color: #0066CC;">catch</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">e</span>:<span style="color: #0066CC;">Error</span> <span style="color: #66cc66;">&#41;</span> 
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;Can not get qualified class name for: &quot;</span> + inClass.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #ff0000;">&quot; in Tracer.&quot;</span> <span style="color: #66cc66;">&#41;</span>;
				<span style="color: #b1b100;">return</span>;
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #000000; font-weight: bold;">var</span> _tracedMessage:<span style="color: #0066CC;">String</span> ;
&nbsp;
			_tracedMessage = <span style="color: #ff0000;">&quot;[&quot;</span> + <span style="color: #0066CC;">getTimer</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #ff0000;">&quot;]<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> + className;
&nbsp;
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> inMethod == <span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">&#41;</span> _tracedMessage += <span style="color: #ff0000;">&quot;()&quot;</span>;			
			<span style="color: #b1b100;">else</span> _tracedMessage += <span style="color: #ff0000;">&quot;/&quot;</span> + inMethod + <span style="color: #ff0000;">&quot;()&quot;</span>;
&nbsp;
			<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>isObjectUtilDump<span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">message</span> <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span> <span style="color: #66cc66;">&#41;</span> _tracedMessage += <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> + ObjectUtil.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">message</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #b1b100;">else</span>
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">message</span> <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span> <span style="color: #66cc66;">&#41;</span> _tracedMessage += <span style="color: #ff0000;">&quot; - &quot;</span> + <span style="color: #0066CC;">message</span>;	
			<span style="color: #66cc66;">&#125;</span>			
&nbsp;
			<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>CONFIG::AIR_LOG<span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				_log.<span style="color: #0066CC;">log</span><span style="color: #66cc66;">&#40;</span>_tracedMessage<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
&nbsp;
			<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>_tracedMessage<span style="color: #66cc66;">&#41;</span>; 
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>As you can see what comment says, you have to pass the instance the class where trace happens, method name and the message. The message parameter can take complex objects and using it with the boolean parameter you can trace them. It was useful to me mostly because of this feature, not having to write every time ObjectUtil.toString() whenever I needed to dump objects. You can take the class from <a title="Old Tracer" href="http://www.badu.ro/flex/tracer/OldTracer.as" target="_blank">here</a>.</p>
<p>The new version is done because I got lazy : I didn&#8217;t want to point out from where the trace came from and I needed to trace with line numbers. In large classes you get easily disoriented using the above class. Having the line number displayed, you can navigate (CTRL+L on Windows) to that line number without effort.</p>
<p>I&#8217;ve seen an idea over the web, about creating an Error (but not throwing it) to get the whole information chain and I have applied this here.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package ro.<span style="color: #006600;">badu</span>.<span style="color: #006600;">utils</span>.<span style="color: #006600;">debug</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">utils</span>.<span style="color: #0066CC;">getTimer</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">utils</span>.<span style="color: #006600;">ObjectUtil</span>;
&nbsp;
	CONFIG::AIR_LOG
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">import</span> ro.<span style="color: #006600;">badu</span>.<span style="color: #006600;">utils</span>.<span style="color: #006600;">debug</span>.<span style="color: #006600;">logger</span>.<span style="color: #006600;">LogWriter</span>;
	<span style="color: #66cc66;">&#125;</span>
	<span style="color: #808080; font-style: italic;">/*
	A simple class which allows you to perform extensive traces with line numbers.
&nbsp;
	@author :
	Dinu Bogdan Gabriel - badu[at]badu.ro
&nbsp;
	Usage example:
&nbsp;
	protected function someMethod():void
	{
&nbsp;
		var myArrayCollection : ArrayCollection = new ArrayCollection();
		myArrayCollection.addItem({firstname:&quot;test1&quot; , lastname: &quot;test2&quot;});
		myArrayCollection.addItem({firstname:&quot;test3&quot; , lastname: &quot;test4&quot;});
&nbsp;
		Tracer.log( new Error() , myArrayCollection , true);
	}
&nbsp;
	public static function log( source : Error , message:Object=null,  isObjectUtilDump : Boolean = false ):void
&nbsp;
	Parameters :
	source : Error - the place where the trace comes from, usually using &quot;new Error()&quot; will provide all the info you need, regardless of the
							type of class / method
	message - the message you want to trace. Can accept complex objects which in combination with isObjectUtilDump= true will
							use ObjectUtil to dump it all
	isObjectUtilDump - see above
&nbsp;
	Important Note : 
&nbsp;
		1. do not forget to set compiler param -define CONFIG::AIR_LOG false if you are using it as it is
		2. I recommend you to use -define CONFIG::DEBUG true too and do conditionals on traces that are &quot;permanent&quot; (remains there until you deliver)
&nbsp;
	*/</span>
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Tracer
	<span style="color: #66cc66;">&#123;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> const brackets : RegExp = <span style="color: #000000; font-weight: bold;">new</span> RegExp<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">/</span>\<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">|</span>\<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">/</span>ig<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> const linebreak : RegExp = <span style="color: #000000; font-weight: bold;">new</span> RegExp<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">/</span>\n<span style="color: #66cc66;">/</span>ig<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> const twopoints : RegExp = <span style="color: #000000; font-weight: bold;">new</span> RegExp<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">/</span>\:<span style="color: #66cc66;">/</span>ig<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> const doubletwopoints : RegExp = <span style="color: #000000; font-weight: bold;">new</span> RegExp<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">/</span>\::<span style="color: #66cc66;">/</span>ig<span style="color: #66cc66;">&#41;</span>;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">log</span><span style="color: #66cc66;">&#40;</span> source : <span style="color: #0066CC;">Error</span> , <span style="color: #0066CC;">message</span>:<span style="color: #0066CC;">Object</span>=<span style="color: #000000; font-weight: bold;">null</span>,  isObjectUtilDump : <span style="color: #0066CC;">Boolean</span> = <span style="color: #000000; font-weight: bold;">false</span> <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>CONFIG::AIR_LOG<span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">var</span> _log:LogWriter = <span style="color: #000000; font-weight: bold;">new</span> LogWriter<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> _tracedMessage:<span style="color: #0066CC;">String</span> ;
			<span style="color: #000000; font-weight: bold;">var</span> _lines : <span style="color: #0066CC;">Array</span> = <span style="color: #66cc66;">&#40;</span>source.<span style="color: #006600;">getStackTrace</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #0066CC;">split</span><span style="color: #66cc66;">&#40;</span>linebreak<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span> as <span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #0066CC;">split</span><span style="color: #66cc66;">&#40;</span>brackets<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #000000; font-weight: bold;">var</span> _where : <span style="color: #0066CC;">String</span> = _lines<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span> as <span style="color: #0066CC;">String</span>;
			<span style="color: #000000; font-weight: bold;">var</span> _sourceFile : <span style="color: #0066CC;">String</span> = <span style="color: #66cc66;">&#40;</span>_lines<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span> as <span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #0066CC;">split</span><span style="color: #66cc66;">&#40;</span>twopoints<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#93;</span> as <span style="color: #0066CC;">String</span>;
			_where = _where.<span style="color: #006600;">replace</span><span style="color: #66cc66;">&#40;</span>doubletwopoints , <span style="color: #ff0000;">&quot; =&amp;gt; &quot;</span><span style="color: #66cc66;">&#41;</span>;
			_tracedMessage = <span style="color: #ff0000;">&quot;[&quot;</span> + <span style="color: #0066CC;">getTimer</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #ff0000;">&quot; ms]&quot;</span> + _where.<span style="color: #006600;">replace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;..&quot;</span> , <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span><span style="color: #66cc66;">&#41;</span>+<span style="color: #ff0000;">&quot;  [LINE #&quot;</span>+_sourceFile+<span style="color: #ff0000;">&quot;]&quot;</span>;
&nbsp;
			<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>isObjectUtilDump<span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">message</span> <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span> <span style="color: #66cc66;">&#41;</span> _tracedMessage += <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> + ObjectUtil.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">message</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #b1b100;">else</span>
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">message</span> <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span> <span style="color: #66cc66;">&#41;</span> _tracedMessage += <span style="color: #ff0000;">&quot; - &quot;</span> + <span style="color: #0066CC;">message</span>;
			<span style="color: #66cc66;">&#125;</span>		
&nbsp;
			<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>CONFIG::AIR_LOG<span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				_log.<span style="color: #0066CC;">log</span><span style="color: #66cc66;">&#40;</span>_tracedMessage<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
&nbsp;
			<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>_tracedMessage<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>You can have the <a title="New Tracer" href="http://www.badu.ro/flex/tracer/Tracer.as" target="_blank">source</a> for this too. As the comment says, be sure to setup the compiler&#8217;s parameter before using it as it is. If you need traces in AIR, you can create that logger class (LogWriter) which does nothing more than dumping what Tracer provides into a text file.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.badu.ro/?feed=rss2&amp;p=134</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Romania is NOT in Europe</title>
		<link>http://www.badu.ro/?p=130</link>
		<comments>http://www.badu.ro/?p=130#comments</comments>
		<pubDate>Wed, 09 Jun 2010 08:06:45 +0000</pubDate>
		<dc:creator>Badu</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>

		<guid isPermaLink="false">http://www.badu.ro/?p=130</guid>
		<description><![CDATA[This post has nothing to do with Flex. It&#8217;s about the frustration of being born into this country. Over time I have encountered all sort of problems related to the fact that I live in Romania : mostly related with banks, cheques and the relations with the rest of the world &#8211; civilized world. I [...]]]></description>
			<content:encoded><![CDATA[<p>This post has nothing to do with Flex. It&#8217;s about the frustration of being born into this country. Over time I have encountered all sort of problems related to the fact that I live in Romania : mostly related with banks, cheques and the relations with the rest of the world &#8211; civilized world. I thought it is my people&#8217;s fault, cursed their ignorance, their laziness and always tried to break the ice by showing them how cool things can be.</p>
<p>Now, the real story behind this post is the world&#8217;s confirmation regarding Romania. I have purchased from Skype a product named &#8220;Unlimited Europe&#8221;. What do you understand by Europe ?  Because for me, the geography, the attendance to European Union some years ago confirm the fact that Romania is in Europe. What Skype thinks about that? It is NOT!</p>
<p>I&#8217;m looking for an answer from them on what should I do now with a product which I cannot use and had the ignorance to think that Europe means whole Europe, not Europe minus Romania.</p>
<p>Note : Skype was kind enough to refund me. I&#8217;ve have purchased credit from that refund and the problem is &#8230; let&#8217;s say solved on a rate of 27 euro cents per minute!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.badu.ro/?feed=rss2&amp;p=130</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Flex 4 Release and Flash Builder 4 Are Here!</title>
		<link>http://www.badu.ro/?p=128</link>
		<comments>http://www.badu.ro/?p=128#comments</comments>
		<pubDate>Mon, 22 Mar 2010 08:48:53 +0000</pubDate>
		<dc:creator>Badu</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://www.badu.ro/?p=128</guid>
		<description><![CDATA[I am thrilled  to find out that as of today (22nd of March) final releases of Flash Builder  4 and the Flex 4 framework are out.
Here are some resources for you to visit :
·        Read Andrew  Shorten&#8217;s FlexTeam &#60;http://blogs.adobe.com/flex/&#62; blog post
·         AdobeTV: developers about Flash [...]]]></description>
			<content:encoded><![CDATA[<p><em></em>I am thrilled  to find out that as of today (22nd of March) final releases of Flash Builder  4 and the Flex 4 framework are out.</p>
<p>Here are some resources for you to visit :</p>
<p>·        Read Andrew  Shorten&#8217;s FlexTeam &lt;<a href="http://blogs.adobe.com/flex/" target="_blank">http://blogs.adobe.com/flex/</a>&gt; blog post</p>
<p>·         AdobeTV: developers about Flash Builder &lt;<a href="http://tv.adobe.com/watch/adc-presents/developers-speak-out-about-flash-builder-4/" target="_blank">http://tv.adobe.com/watch/adc-presents/developers-speak-out-about-flash-builder-4/</a>&gt;</p>
<p>·         AdobeTV:  new  Flash Platform products &lt;<a href="http://tv.adobe.com/watch/flash-platform-in-action/introducing-new-flash-platform-tools/" target="_blank">http://tv.adobe.com/watch/flash-platform-in-action/introducing-new-flash-platform-tools/</a>&gt;</p>
<p>·        Test drive Flex 4 &lt;<a href="http://www.adobe.com/devnet/flex/testdrive/" target="_blank">http://www.adobe.com/devnet/flex/testdrive/</a>&gt;  &#8211; build an application in an hour</p>
<p>·         Flex-in-a-week free training &lt;<a href="http://www.adobe.com/devnet/flex/videotraining/" target="_blank">http://www.adobe.com/devnet/flex/videotraining/</a>&gt;</p>
<p>·        Get the brand new Flash Builder 4 &lt;<a href="http://www.adobe.com/go/try_flashbuilder" target="_blank">http://www.adobe.com/go/try_flashbuilder</a>&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.badu.ro/?feed=rss2&amp;p=128</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
