<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0">
			<channel>
			<title>12Robots.com - Jason Dean - Object-Oriented</title>
			<link>http://www.12robots.com/index.cfm</link>
			<description>ColdFusion, Database, MVC, Frameworks, Security and whatever</description>
			<language>en-us</language>
			<pubDate>Mon, 06 Sep 2010 19:38:15 -0500</pubDate>
			<lastBuildDate>Thu, 19 Nov 2009 23:18:00 -0500</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>jason@12robots.com</managingEditor>
			<webMaster>jason@12robots.com</webMaster>
			
			
			
			
			
			<item>
				<title>ORM (Hibernate) SQL Injection - Security Series #14</title>
				<link>http://www.12robots.com/index.cfm/2009/11/19/ORM-Hibernate-Injection--Security-Series-14</link>
				<description>
				
				During &lt;a href=&quot;http://www.silverwareconsulting.com/&quot; title=&quot;Flatware&quot;&gt;Bob Silverberg&apos;s&lt;/a&gt; &lt;a href=&quot;http://experts.na3.acrobat.com/p11953199/&quot;&gt;awesome ORM presentation&lt;/a&gt; today the topic of SQL injection came up. There was a question was about whether or not the &lt;a href=&quot;https://www.hibernate.org/&quot;&gt;Hibernate ORM&lt;/a&gt; service built into &lt;a href=&quot;http://www.adobe.com/products/coldfusion/&quot;&gt;ColdFusion 9&lt;/a&gt; would prevent SQL injection.  On the surface it would seem that it does, but just like everything else, there are exceptions.
				 [More]
				</description>
						
				
				<category>Object-Oriented</category>				
				
				<category>Security</category>				
				
				<category>ColdFusion</category>				
				
				<category>Database</category>				
				
				<pubDate>Thu, 19 Nov 2009 23:18:00 -0500</pubDate>
				<guid>http://www.12robots.com/index.cfm/2009/11/19/ORM-Hibernate-Injection--Security-Series-14</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>User Input Validation II - ColdBox Series Part 9b</title>
				<link>http://www.12robots.com/index.cfm/2008/12/4/User-Input-Validation-II--ColdBox-Series-Part-9b</link>
				<description>
				
				After a week of being sick I am finally getting back on track with my blogging. This is going to be one of the final entries in my &lt;em&gt;Building an Application with ColdBox&lt;/em&gt; series. There are a lot of other things I want to blog about. I will still blog on ColdBox topics, just separate from this series.

&lt;a href=&quot;http://www.12robots.com/index.cfm/2008/11/24/User-Input-Validation--ColdBox-Series-Part-9a&quot;&gt;Last time&lt;/a&gt; we talked about how to go about validation. Validation is a really complicated subject that I am still struggling with. I understand the concepts of the different ways of doing it, I just cannot seem to make the time to figure out how I want to do it. I think I will be looking at &lt;a href=&quot;http://validatethis.riaforge.org/&quot;&gt;ValidateThis!&lt;/a&gt; in the near future.
				 [More]
				</description>
						
				
				<category>ColdBox</category>				
				
				<category>Object-Oriented</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Thu, 04 Dec 2008 19:04:00 -0500</pubDate>
				<guid>http://www.12robots.com/index.cfm/2008/12/4/User-Input-Validation-II--ColdBox-Series-Part-9b</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>User Input Validation - ColdBox Series Part 9a</title>
				<link>http://www.12robots.com/index.cfm/2008/11/24/User-Input-Validation--ColdBox-Series-Part-9a</link>
				<description>
				
				I decided to start a new sub-series on Validation, since it is a huge and controversial subject, I suspect it will take a post or two, or three.

So, I was chatting with &lt;a href=&quot;http://blog.maestropublishing.com/&quot;&gt;Peter Farrell&lt;/a&gt; some time ago:

me: Peter, I have a quick question for you

Peter: Sure, what?

me: Where should input validation go? In the Controller or In the service layer?

Peter: THAT is NOT a quick question.
				 [More]
				</description>
						
				
				<category>ColdBox</category>				
				
				<category>Object-Oriented</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Mon, 24 Nov 2008 20:17:00 -0500</pubDate>
				<guid>http://www.12robots.com/index.cfm/2008/11/24/User-Input-Validation--ColdBox-Series-Part-9a</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Adding Todo Lists (Handlers and the Service Layer) - ColdBox Series Part 8d</title>
				<link>http://www.12robots.com/index.cfm/2008/11/15/Adding-Todo-Lists-Handlers-and-the-Service-Layer--ColdBox-Series-Part-8d</link>
				<description>
				
				Now we are really getting into this ColdBox stuff.  We&apos;ve got a view set up, we&apos;ve got some handlers, we&apos;ve auto-wired our handlers, and we&apos;ve added ColdSpring into our application.  Now we can start to do stuff.

So where did we leave off last time?  Thinking.... thinking... thinking...  oh yeah.

&lt;h3&gt;Accepting user input&lt;/h3&gt;
Before we went off on a tangent of &lt;a href=&quot;http://www.12robots.com/index.cfm/2008/11/3/Adding-Todo-Lists--ColdBox-Series-Part-8b&quot;&gt;setting up ColdSpring&lt;/a&gt; and &lt;a href=&quot;http://www.12robots.com/index.cfm/2008/11/10/Adding-Todo-Lists-Autowiring-our-Handler--ColdBox-Series-Part-8c&quot;&gt;Autowiring Handlers&lt;/a&gt;, we had two simple handler methods inside of the list.cfc handler. We had addList() and doAddList().
				 [More]
				</description>
						
				
				<category>ColdBox</category>				
				
				<category>ColdFusion</category>				
				
				<category>Object-Oriented</category>				
				
				<category>ColdSpring</category>				
				
				<pubDate>Sat, 15 Nov 2008 21:16:00 -0500</pubDate>
				<guid>http://www.12robots.com/index.cfm/2008/11/15/Adding-Todo-Lists-Handlers-and-the-Service-Layer--ColdBox-Series-Part-8d</guid>
				
				<enclosure url="http://www.12robots.com/enclosures/todos2.zip" length="41886" type="application/zip"/>
				
			</item>
			
		 	
			
			
			<item>
				<title>Adding Todo Lists (Autowiring our Handler) - ColdBox Series Part 8c</title>
				<link>http://www.12robots.com/index.cfm/2008/11/10/Adding-Todo-Lists-Autowiring-our-Handler--ColdBox-Series-Part-8c</link>
				<description>
				
				As &lt;a href=&quot;http://www.luismajano.com/&quot;&gt;Luis&lt;/a&gt; stated in the comments section of &lt;a href=&quot;http://www.12robots.com/index.cfm/2008/11/3/Adding-Todo-Lists--ColdBox-Series-Part-8b&quot;&gt;my last post&lt;/a&gt;, we need to set up autowiring in our handler component. This is really cool stuff. I did not do this the first time around because my post was getting to long and because I wanted to demonstrate both ways of doing it.

&lt;h3&gt;What is autowiring?&lt;/h3&gt;
When you are using object factories (like Lightwire and ColdSpring) in your ColdBox applications, you can set up dependency injection for handlers, plugins and interceptors. This is done using the &lt;a href=&quot;http://ortus.svnrepository.com/coldbox/trac.cgi/wiki/cbAutowireGuide&quot;&gt;Autowire Interceptor&lt;/a&gt;.
				 [More]
				</description>
						
				
				<category>ColdBox</category>				
				
				<category>ColdFusion</category>				
				
				<category>Object-Oriented</category>				
				
				<category>ColdSpring</category>				
				
				<pubDate>Mon, 10 Nov 2008 20:33:00 -0500</pubDate>
				<guid>http://www.12robots.com/index.cfm/2008/11/10/Adding-Todo-Lists-Autowiring-our-Handler--ColdBox-Series-Part-8c</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Adding Todo Lists (Integrating ColdSpring into our Application) - ColdBox Series Part 8b</title>
				<link>http://www.12robots.com/index.cfm/2008/11/3/Adding-Todo-Lists--ColdBox-Series-Part-8b</link>
				<description>
				
				In the last post, we looked at how to create a view and how to use handlers to display that view and to receive user input from the view. Now we need to do something with that user input. Here is what we need to get done first:

&lt;ol&gt;
&lt;li&gt;Create our todoService.cfc&lt;/li&gt;
&lt;li&gt;Set up ColdSpring to create our todoService object and inject its dependencies&lt;/li&gt;
&lt;li&gt;Instantiate our todoService object in our handlers so that we can start to do something useful&lt;/li&gt;
&lt;/ol&gt;

Wow! That&apos;s a lot. It may not seem like a lot, but it is. So let&apos;s get started. here is our doAddList() handler method so far.
				 [More]
				</description>
						
				
				<category>ColdBox</category>				
				
				<category>ColdFusion</category>				
				
				<category>Object-Oriented</category>				
				
				<category>ColdSpring</category>				
				
				<pubDate>Mon, 03 Nov 2008 20:12:00 -0500</pubDate>
				<guid>http://www.12robots.com/index.cfm/2008/11/3/Adding-Todo-Lists--ColdBox-Series-Part-8b</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Adding Todo Lists - ColdBox Series Part 8a</title>
				<link>http://www.12robots.com/index.cfm/2008/11/2/Adding-Todo-Lists--ColdBox-Series-Part-8a</link>
				<description>
				
				So we&apos;ve set up our Coldbox Application, we&apos;ve built our model, now we need to build some front-end pieces and handlers to work with our model through the service layer. 

Today we will begin by creating a form and some handlers. In the next few posts we will look at creating the service layer, form validation, and persistence.
				 [More]
				</description>
						
				
				<category>ColdBox</category>				
				
				<category>ColdFusion</category>				
				
				<category>Object-Oriented</category>				
				
				<category>ColdSpring</category>				
				
				<pubDate>Sun, 02 Nov 2008 22:13:00 -0500</pubDate>
				<guid>http://www.12robots.com/index.cfm/2008/11/2/Adding-Todo-Lists--ColdBox-Series-Part-8a</guid>
				
				<enclosure url="http://www.12robots.com/enclosures/todos1.zip" length="20949" type="application/zip"/>
				
			</item>
			
		 	
			
			
			<item>
				<title>Creating the Gateway Object - ColdBox Series Part 7b</title>
				<link>http://www.12robots.com/index.cfm/2008/10/26/Creating-the-Gateway-Object--ColdBox-Series-Part-7b</link>
				<description>
				
				In my &lt;a href=&quot;http://www.12robots.com/index.cfm/2008/10/20/Creating-the-Gateway-Object--ColdBox-Series-Part-7a&quot;&gt;last post&lt;/a&gt; we began creating out Gateway Object. It was a lot more work then I thought it was going to be, hence, this is the second part of creating a gateway object. Hopefully, we won&apos;t get to three. But the fact of the matter is, we need these things in place so that we can create our ColdBox application.  So suck-it-up :)

&lt;h3&gt;Previously...&lt;/h3&gt;
In the last post we created 10 methods, for some we used the Illudium PU-36 code generator, and  for some we used our insanely fast typing abilities. The methods we&apos;ve created so far are:

&lt;ul&gt;
&lt;li&gt;createList(list:List):boolean&lt;/li&gt;
&lt;li&gt;readList(list:List):void&lt;/li&gt;
&lt;li&gt;updateList(list:List):boolean&lt;/li&gt;
&lt;li&gt;deleteList(list:List)boolean&lt;/li&gt;
&lt;li&gt;createItem(item:Item):boolean&lt;/li&gt;
&lt;li&gt;readItem(item:Item):void&lt;/li&gt;
&lt;li&gt;updateItem(item:Item):boolean&lt;/li&gt;
&lt;li&gt;deleteItem(item:Item):boolean&lt;/li&gt;
&lt;li&gt;getAllItemsAsQuery(id:Numeric):Query&lt;/li&gt;
&lt;li&gt;queryRowToStruct(qry:Query):Struct&lt;/li&gt;
&lt;/ul&gt;

After we created our methods, we modified our readList() method to return a List object with its child Item objects in a private property of type Array.

&lt;h3&gt;Modifying updateList() to include child objects&lt;/h3&gt;
Now we need to make the same modifications to the updateList() and deleteList() methods.
				 [More]
				</description>
						
				
				<category>ColdBox</category>				
				
				<category>Object-Oriented</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Sun, 26 Oct 2008 16:56:00 -0500</pubDate>
				<guid>http://www.12robots.com/index.cfm/2008/10/26/Creating-the-Gateway-Object--ColdBox-Series-Part-7b</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Creating the Gateway Object - ColdBox Series Part 7a</title>
				<link>http://www.12robots.com/index.cfm/2008/10/20/Creating-the-Gateway-Object--ColdBox-Series-Part-7a</link>
				<description>
				
				Geez, it doesn&apos;t seem like we are doing much with ColdBox in this ColdBox series, does it?

Of course, to get to the point where we are actually using something like ColdBox to manage the communication between our model and our views, we need to have a model and some views.

So in &lt;a href=&quot;http://www.12robots.com/index.cfm/2008/10/12/Creating-our-Domain-Objects--ColdBox-Series-Part-6&quot;&gt;the last post&lt;/a&gt; we discussed creating our Domain Objects(beans). So now we have two domain objects. We have our TodoList bean and our TodoItem bean.
				 [More]
				</description>
						
				
				<category>ColdBox</category>				
				
				<category>Object-Oriented</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Mon, 20 Oct 2008 22:18:00 -0500</pubDate>
				<guid>http://www.12robots.com/index.cfm/2008/10/20/Creating-the-Gateway-Object--ColdBox-Series-Part-7a</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Creating our Domain Objects - ColdBox Series Part 6</title>
				<link>http://www.12robots.com/index.cfm/2008/10/12/Creating-our-Domain-Objects--ColdBox-Series-Part-6</link>
				<description>
				
				Now that we have our database tables set up from our UML and our folder structure has been created we can begin creating our domain objects (Technically we could have done it first, it could probably be argued both ways). 

&lt;h3&gt;Code Generator&lt;/h3&gt;
I am going to use &lt;a href=&quot;http://remotesynthesis.com/&quot;&gt;Brian Rinaldi&apos;s&lt;/a&gt; &lt;a href=&quot;http://cfcgenerator.riaforge.org/&quot;&gt;Illudium PU-36 Code Generator&lt;/a&gt; to help create our domain objects. Since Illudium uses the database tables to create the objects, we needed to have the database set up first. To see the MySQL DDL script check out &lt;a href=&quot;http://www.12robots.com/index.cfm/2008/9/28/Setting-up-a-ColdBox-Application--ColdBox-Series-Part-2&quot;&gt;part 2&lt;/a&gt; of this series.
				 [More]
				</description>
						
				
				<category>ColdBox</category>				
				
				<category>UML</category>				
				
				<category>Object-Oriented</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Sun, 12 Oct 2008 20:48:00 -0500</pubDate>
				<guid>http://www.12robots.com/index.cfm/2008/10/12/Creating-our-Domain-Objects--ColdBox-Series-Part-6</guid>
				
				<enclosure url="http://www.12robots.com/enclosures/todos.zip" length="1967" type="application/x-zip-compressed"/>
				
			</item>
			
		 	
			
			
			<item>
				<title>Understanding the coldbox.xml config file - ColdBox Series Part 4</title>
				<link>http://www.12robots.com/index.cfm/2008/10/6/Understanding-the-coldboxxml-config-file--ColdBox-Series-Part-4</link>
				<description>
				
				In my previous posts we began building a To-Do list application with ColdBox. If you have not already reviewed the first three parts of these posts, you may want to consider doing so. They are linked at the bottom of the page in the &quot;related posts&quot; section.

In this post we are going to discuss the coldbox.xml file (sometimes named coldbox.xml.cfm &lt;a href=&quot;http://www.12robots.com/index.cfm/2008/7/31/Controlling-Access-to-Config-Files-Custom-Tags-and--other-files--Security-Series-73&quot;&gt;for security reasons&lt;/a&gt;)
				 [More]
				</description>
						
				
				<category>ColdBox</category>				
				
				<category>Object-Oriented</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Mon, 06 Oct 2008 19:59:00 -0500</pubDate>
				<guid>http://www.12robots.com/index.cfm/2008/10/6/Understanding-the-coldboxxml-config-file--ColdBox-Series-Part-4</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>A Look at Event Handlers - ColdBox Series Part 3</title>
				<link>http://www.12robots.com/index.cfm/2008/10/1/A-Look-at-Event-Handlers--ColdBox-Series-Part-3</link>
				<description>
				
				In my &lt;a href=&quot;http://www.12robots.com/index.cfm/2008/9/28/Setting-up-a-ColdBox-Application--ColdBox-Series-Part-2&quot;&gt;last post&lt;/a&gt;, we set up a base ColdBox application using the Application Template. So now we have a basic application that welcomes us to ColdBox.  Not very useful.

So let&apos;s look at our Event Handlers and see if we can get them to do something more interesting.

&lt;h3&gt;What is an Event?&lt;/h3&gt;
Since ColdBox is an Event-Driven framework, and since we are going to be &quot;handling&quot; events with our event handlers (clever name), we probably need to understand what an event is.
				 [More]
				</description>
						
				
				<category>ColdBox</category>				
				
				<category>Object-Oriented</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 01 Oct 2008 22:28:00 -0500</pubDate>
				<guid>http://www.12robots.com/index.cfm/2008/10/1/A-Look-at-Event-Handlers--ColdBox-Series-Part-3</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Setting up a ColdBox Application - ColdBox Series Part 2</title>
				<link>http://www.12robots.com/index.cfm/2008/9/28/Setting-up-a-ColdBox-Application--ColdBox-Series-Part-2</link>
				<description>
				
				I guess I am making this a series. Well, let&apos;s get started.

I am not going to start with the typical &quot;What is a MVC Framework&quot; or &quot;ColdBox is...&quot; kind of posts. For two reasons:

&lt;ol&gt;
&lt;li&gt;No one wants that, we want to jump right into structure and code, right?&lt;/li&gt;
&lt;li&gt;You can already read those things:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.coldboxframework.com/index.cfm/about&quot;&gt;Overview About ColdBox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://ortus.svnrepository.com/coldbox/trac.cgi/wiki/ColdBox&quot;&gt;What is ColdBox?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Model-view-controller&quot;&gt;MVC on Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://adobechats.adobe.acrobat.com/p40648765/&quot;&gt;&lt;em&gt;ColdBox Down &amp; Dirty&lt;/em&gt; Connect Presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;http://coldfusion.sys-con.com/node/49179&quot;&gt;Model-View-Controller for You and Me&lt;/a&gt; (Warning: sys-con Link)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

In this series we are building a To-Do List application using &lt;a href=&quot;http://www.coldboxframework.com/&quot;&gt;ColdBox&lt;/a&gt; and &lt;a href=&quot;http://www.coldspringframework.org/&quot;&gt;ColdSpring&lt;/a&gt;.
				 [More]
				</description>
						
				
				<category>ColdBox</category>				
				
				<category>UML</category>				
				
				<category>Object-Oriented</category>				
				
				<category>ColdSpring</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Sun, 28 Sep 2008 21:34:00 -0500</pubDate>
				<guid>http://www.12robots.com/index.cfm/2008/9/28/Setting-up-a-ColdBox-Application--ColdBox-Series-Part-2</guid>
				
				<enclosure url="http://www.12robots.com/enclosures/ColdBoxApplicationTemplate.zip" length="27492" type="application/zip"/>
				
			</item>
			
		 	
			
			
			<item>
				<title>Building an Application with ColdBox and ColdSpring - Part 1</title>
				<link>http://www.12robots.com/index.cfm/2008/9/21/Building-an-Application-with-ColdBox-and-ColdSpring--Part-1</link>
				<description>
				
				I have begun putting together an application to build using ColdBox and ColdSpring. I am doing this to demonstrate how I have been doing this to solicit feedback from the experts to see if I am making any huge or stupid mistakes and to show some new comers to OO how to build an Application using OO principles and tools. I am hoping that my learning experience and blogging can help others learn these concepts too.

As I said before, I do not consider myself an expert in Object-Orient programming or in ColdBox/ColdSpring, but I feel I know enough to demonstrate these things at a basic level.  I am counting on the true experts to keep me honest.
				 [More]
				</description>
						
				
				<category>ColdBox</category>				
				
				<category>UML</category>				
				
				<category>Object-Oriented</category>				
				
				<category>Transfer</category>				
				
				<category>ColdSpring</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Sun, 21 Sep 2008 19:01:00 -0500</pubDate>
				<guid>http://www.12robots.com/index.cfm/2008/9/21/Building-an-Application-with-ColdBox-and-ColdSpring--Part-1</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Blogging My Experiences with ColdBox</title>
				<link>http://www.12robots.com/index.cfm/2008/9/15/Blogging-My-Experiences-with-ColdBox</link>
				<description>
				
				So a week, or so, ago I suggested I might start blogging about ColdBox and my experiences with it. I got a pretty good response, so I am going to go with it.

I am not sure yet what this is going to turn into. Whether it will be a few blog posts, or a series, or just what, is unknown. For now I am thinking of just creating a new, simple application and walking through the steps that I would take build it.  Not too dissimilar from what Ben Nadel is doing with his &lt;a href=&quot;http://www.bennadel.com/blog/1275-OOPhoto-Another-Attempt-At-Learning-Object-Oriented-Programming-OOP-In-ColdFusion.htm&quot;&gt;OOPhoto&lt;/a&gt; project. But mine will be focused on using ColdBox to build the application.
				 [More]
				</description>
						
				
				<category>ColdBox</category>				
				
				<category>Object-Oriented</category>				
				
				<category>Transfer</category>				
				
				<category>ColdSpring</category>				
				
				<pubDate>Mon, 15 Sep 2008 10:18:00 -0500</pubDate>
				<guid>http://www.12robots.com/index.cfm/2008/9/15/Blogging-My-Experiences-with-ColdBox</guid>
				
			</item>
			
		 	
			</channel></rss>