<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: AIR Cairngorm 2.0</title>
	<atom:link href="http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/</link>
	<description>Thoughts on Software Design and Development</description>
	<lastBuildDate>Sun, 08 Jan 2012 14:25:56 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Artem</title>
		<link>http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/comment-page-1/#comment-142137</link>
		<dc:creator>Artem</dc:creator>
		<pubDate>Tue, 14 Jun 2011 13:33:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/#comment-142137</guid>
		<description>Thank you!Great example!</description>
		<content:encoded><![CDATA[<p>Thank you!Great example!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eric</title>
		<link>http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/comment-page-1/#comment-142039</link>
		<dc:creator>eric</dc:creator>
		<pubDate>Fri, 11 Feb 2011 14:28:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/#comment-142039</guid>
		<description>Hi Manuel,

It has been almost 3 years since any updates have been made to the AIR Cairngorm project. That being said, the latest version can be found in this post and the core implementation can be built upon to suit your needs. You will more than likely need to (at least to some extent) make some changes as many of the original AIR APIs have changed in the time since.

Best,
Eric</description>
		<content:encoded><![CDATA[<p>Hi Manuel,</p>
<p>It has been almost 3 years since any updates have been made to the AIR Cairngorm project. That being said, the latest version can be found in this post and the core implementation can be built upon to suit your needs. You will more than likely need to (at least to some extent) make some changes as many of the original AIR APIs have changed in the time since.</p>
<p>Best,<br />
Eric</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Manuel Guillen</title>
		<link>http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/comment-page-1/#comment-142036</link>
		<dc:creator>Manuel Guillen</dc:creator>
		<pubDate>Wed, 09 Feb 2011 22:19:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/#comment-142036</guid>
		<description>Hello everyone! ÁIR Cairngorm It´s a Nice API. How can i get the latest version and documentation?? Thanks for share that. Regards!!</description>
		<content:encoded><![CDATA[<p>Hello everyone! ÁIR Cairngorm It´s a Nice API. How can i get the latest version and documentation?? Thanks for share that. Regards!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: julrich</title>
		<link>http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/comment-page-1/#comment-141816</link>
		<dc:creator>julrich</dc:creator>
		<pubDate>Mon, 03 May 2010 17:19:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/#comment-141816</guid>
		<description>Hey Eric,
nice to hear that!
I extended your SQLService class to work with encrypted databases, worked like a charm due to the ease in extending it.
One more question though, as I read both vane and mikeydevs comment on problems with the string statements, especially in the case of vane problems with Date-objects. Is there a problem saving Date-objects with your current implementation, and is their way the way to go (as I understand them, they just removed the String-statements entirely)?
I&#039;m asking because right now I&#039;m facing problems with Date-objects, too. It seems the Date is converted to a String before passing it into the statement itself, and thus is no longer recognized as a Date when trying to execute the statement, resulting in a &quot;could not convert string value to date&quot; SQLError (Error #3132: Data type mismatch.).

regards Jonas</description>
		<content:encoded><![CDATA[<p>Hey Eric,<br />
nice to hear that!<br />
I extended your SQLService class to work with encrypted databases, worked like a charm due to the ease in extending it.<br />
One more question though, as I read both vane and mikeydevs comment on problems with the string statements, especially in the case of vane problems with Date-objects. Is there a problem saving Date-objects with your current implementation, and is their way the way to go (as I understand them, they just removed the String-statements entirely)?<br />
I&#8217;m asking because right now I&#8217;m facing problems with Date-objects, too. It seems the Date is converted to a String before passing it into the statement itself, and thus is no longer recognized as a Date when trying to execute the statement, resulting in a &#8220;could not convert string value to date&#8221; SQLError (Error #3132: Data type mismatch.).</p>
<p>regards Jonas</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eric</title>
		<link>http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/comment-page-1/#comment-141805</link>
		<dc:creator>eric</dc:creator>
		<pubDate>Wed, 14 Apr 2010 18:35:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/#comment-141805</guid>
		<description>HI Jonas,

I developed this framework about 2 1/2 years ago so it&#039;s been quite awhile since I last updated it. However, that being said I do plan to review it&#039;s currently implementation and update it at some point to reflect the many changes in AIR in the time since this framework was implemented.

Best,
Eric</description>
		<content:encoded><![CDATA[<p>HI Jonas,</p>
<p>I developed this framework about 2 1/2 years ago so it&#8217;s been quite awhile since I last updated it. However, that being said I do plan to review it&#8217;s currently implementation and update it at some point to reflect the many changes in AIR in the time since this framework was implemented.</p>
<p>Best,<br />
Eric</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: julrich</title>
		<link>http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/comment-page-1/#comment-141804</link>
		<dc:creator>julrich</dc:creator>
		<pubDate>Wed, 14 Apr 2010 14:24:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/#comment-141804</guid>
		<description>Hi Eric,
great component!
One question, have you thought about a switch or something for encrypted local databases? As I&#039;m currently implementing such a thing using your component, would the code be of interest to you?

regards Jonas</description>
		<content:encoded><![CDATA[<p>Hi Eric,<br />
great component!<br />
One question, have you thought about a switch or something for encrypted local databases? As I&#8217;m currently implementing such a thing using your component, would the code be of interest to you?</p>
<p>regards Jonas</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mikeydev</title>
		<link>http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/comment-page-1/#comment-141747</link>
		<dc:creator>mikeydev</dc:creator>
		<pubDate>Thu, 12 Nov 2009 23:24:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/#comment-141747</guid>
		<description>Sorry forgot to add my link, please visit my new blog</description>
		<content:encoded><![CDATA[<p>Sorry forgot to add my link, please visit my new blog</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mikeydev</title>
		<link>http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/comment-page-1/#comment-141746</link>
		<dc:creator>mikeydev</dc:creator>
		<pubDate>Thu, 12 Nov 2009 23:22:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/#comment-141746</guid>
		<description>Hey Vane, nice comment, I too had the same problems with errors in the string being passed in Eric&#039;s class for sqlstatement. I simply extended the appropriate class like this and now I pass the sqlstatement object, it works a treat, thx for your work Eric:

package com.wmanager.control.other.customClasses
{
	import com.ericfeminella.air.cairngorm.business.ISQLResponder;
	import com.ericfeminella.air.cairngorm.business.SQLService;
	
	import flash.data.SQLStatement;
	import flash.net.Responder;
	
	public class SQLStatementService extends SQLService
	{
		public function SQLStatementService()
		{
			super();
		}
		public function executeStatementAsync(statement:SQLStatement, responder:ISQLResponder, dataType:Class = null, prefetch:int = -1.0) : void
		{
			_statement = statement;
			_statement.sqlConnection = _connection;
			//_statement.text = statement;
			
			if ( dataType != null )
			{
				_statement.itemClass = dataType;
			}
			
			_statement.execute( prefetch, new Responder( responder.result, responder.fault) );
		}
		
	}
}</description>
		<content:encoded><![CDATA[<p>Hey Vane, nice comment, I too had the same problems with errors in the string being passed in Eric&#8217;s class for sqlstatement. I simply extended the appropriate class like this and now I pass the sqlstatement object, it works a treat, thx for your work Eric:</p>
<p>package com.wmanager.control.other.customClasses<br />
{<br />
	import com.ericfeminella.air.cairngorm.business.ISQLResponder;<br />
	import com.ericfeminella.air.cairngorm.business.SQLService;</p>
<p>	import flash.data.SQLStatement;<br />
	import flash.net.Responder;</p>
<p>	public class SQLStatementService extends SQLService<br />
	{<br />
		public function SQLStatementService()<br />
		{<br />
			super();<br />
		}<br />
		public function executeStatementAsync(statement:SQLStatement, responder:ISQLResponder, dataType:Class = null, prefetch:int = -1.0) : void<br />
		{<br />
			_statement = statement;<br />
			_statement.sqlConnection = _connection;<br />
			//_statement.text = statement;</p>
<p>			if ( dataType != null )<br />
			{<br />
				_statement.itemClass = dataType;<br />
			}</p>
<p>			_statement.execute( prefetch, new Responder( responder.result, responder.fault) );<br />
		}</p>
<p>	}<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Darrin</title>
		<link>http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/comment-page-1/#comment-141712</link>
		<dc:creator>Darrin</dc:creator>
		<pubDate>Mon, 14 Sep 2009 07:48:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/#comment-141712</guid>
		<description>Good Day,
  I am also a big fan of cairngorm, like the fact that it is a tight framework.  I am tring to get into air apps and just wanted to know what needs to be done to get your examples to work.  I added your swc and the normal cairngorm swc, but I am still getting errors when I try to compile.  Is there something I am missing in the build paths?

Thanks</description>
		<content:encoded><![CDATA[<p>Good Day,<br />
  I am also a big fan of cairngorm, like the fact that it is a tight framework.  I am tring to get into air apps and just wanted to know what needs to be done to get your examples to work.  I added your swc and the normal cairngorm swc, but I am still getting errors when I try to compile.  Is there something I am missing in the build paths?</p>
<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vane</title>
		<link>http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/comment-page-1/#comment-141690</link>
		<dc:creator>vane</dc:creator>
		<pubDate>Tue, 21 Jul 2009 08:50:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/#comment-141690</guid>
		<description>Hi, first thanks very much for your air-cairngorm, I&#039;m a big fan of cairngorm and I use it for my every project cause of it simplicity and ability to extend. 
I&#039;m playing with air-cairngorm  now and I had some difficulties when mapping data types to SQL cause there are affiliates in air SQLite. I got problems with it, especially with DATE class. 
I modified it a bit to get rid of the string and now in SQLService I simply pass the SQLStatement instead of string so I get rid of the string class and also the speed is better with large statements.
 I now pass the parameters ex. 
SQL statement: INSERT_USER = INSERT INTO users (username, password, some_date, todo) VALUES( :username, :password, :some_date, :todo)

and sample function in the delegate now looks like this

public function addUser(user:UserVO) : void
{	
	var statement:SQLStatement = new SQLStatement();
	
	statement.text = SQLStatementConfiguration.INSERT_USER;
	statement.parameters[&#039;:username&#039;] = user.username;
	statement.parameters[&#039;:password&#039;] = user.password;
	statement.parameters[&#039;:some_date&#039;]= user.date;
	statement.parameters[&#039;:todo&#039;]     = user.todo;

	sql.openConnection(statement, responder, UserVO);
}

where UserVO is simply class with

public var username:String;
public var password:String;
public var date:Date;
public var todo:Boolean;

I hope that it makes sense.
Maby you got better idea how to map the objects to the table.
Thanks.</description>
		<content:encoded><![CDATA[<p>Hi, first thanks very much for your air-cairngorm, I&#8217;m a big fan of cairngorm and I use it for my every project cause of it simplicity and ability to extend.<br />
I&#8217;m playing with air-cairngorm  now and I had some difficulties when mapping data types to SQL cause there are affiliates in air SQLite. I got problems with it, especially with DATE class.<br />
I modified it a bit to get rid of the string and now in SQLService I simply pass the SQLStatement instead of string so I get rid of the string class and also the speed is better with large statements.<br />
 I now pass the parameters ex.<br />
SQL statement: INSERT_USER = INSERT INTO users (username, password, some_date, todo) VALUES( :username, :password, :some_date, :todo)</p>
<p>and sample function in the delegate now looks like this</p>
<p>public function addUser(user:UserVO) : void<br />
{<br />
	var statement:SQLStatement = new SQLStatement();</p>
<p>	statement.text = SQLStatementConfiguration.INSERT_USER;<br />
	statement.parameters[':username'] = user.username;<br />
	statement.parameters[':password'] = user.password;<br />
	statement.parameters[':some_date']= user.date;<br />
	statement.parameters[':todo']     = user.todo;</p>
<p>	sql.openConnection(statement, responder, UserVO);<br />
}</p>
<p>where UserVO is simply class with</p>
<p>public var username:String;<br />
public var password:String;<br />
public var date:Date;<br />
public var todo:Boolean;</p>
<p>I hope that it makes sense.<br />
Maby you got better idea how to map the objects to the table.<br />
Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan</title>
		<link>http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/comment-page-1/#comment-141685</link>
		<dc:creator>Stefan</dc:creator>
		<pubDate>Thu, 25 Jun 2009 14:13:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/#comment-141685</guid>
		<description>Hi,
the examples show two different apps for handling synchronous and asynchronous requests. 
What is the best way to handle synchronous and aynchronous db requests in the same application?

Thank you!
Stefan</description>
		<content:encoded><![CDATA[<p>Hi,<br />
the examples show two different apps for handling synchronous and asynchronous requests.<br />
What is the best way to handle synchronous and aynchronous db requests in the same application?</p>
<p>Thank you!<br />
Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: doug</title>
		<link>http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/comment-page-1/#comment-141677</link>
		<dc:creator>doug</dc:creator>
		<pubDate>Thu, 11 Jun 2009 22:38:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.ericfeminella.com/blog/2008/06/22/air-cairngorm-20/#comment-141677</guid>
		<description>Ah, I found the event dispatcher in SelectUsersCommand.as.  I thought it was being manually dispatched, I ran profiling on it to see what classes were being called during spin up and saw SelectUsersCommand in the list which led me to it.
Thanks for the lib!</description>
		<content:encoded><![CDATA[<p>Ah, I found the event dispatcher in SelectUsersCommand.as.  I thought it was being manually dispatched, I ran profiling on it to see what classes were being called during spin up and saw SelectUsersCommand in the list which led me to it.<br />
Thanks for the lib!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

