<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Sith Pleadings</title>
	<atom:link href="http://darthanthony.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://darthanthony.wordpress.com</link>
	<description>Tales from the RIA Dark Side</description>
	<lastBuildDate>Mon, 23 Jan 2012 21:00:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='darthanthony.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Sith Pleadings</title>
		<link>http://darthanthony.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://darthanthony.wordpress.com/osd.xml" title="Sith Pleadings" />
	<atom:link rel='hub' href='http://darthanthony.wordpress.com/?pushpress=hub'/>
		<item>
		<title>SpatialKey 2011 &#8211; Year in Review</title>
		<link>http://darthanthony.wordpress.com/2012/01/23/spatialkey-2011-year-in-review/</link>
		<comments>http://darthanthony.wordpress.com/2012/01/23/spatialkey-2011-year-in-review/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 20:59:50 +0000</pubDate>
		<dc:creator>darthanthony</dc:creator>
				<category><![CDATA[SpatialKey]]></category>

		<guid isPermaLink="false">http://darthanthony.wordpress.com/?p=73</guid>
		<description><![CDATA[Lots of great things happening all the time at SpatialKey.  It has been an incredible year for us.  Check out this blog post detailing the many accomplishments: http://blog.spatialkey.com/2012/01/what-we-did-in-2011-year-in-review/<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=73&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Lots of great things happening all the time at SpatialKey.  It has been an incredible year for us.  Check out this blog post detailing the many accomplishments:</p>
<p><a title="SpatialKey 2011 - Year in Review" href="http://blog.spatialkey.com/2012/01/what-we-did-in-2011-year-in-review/" target="_blank">http://blog.spatialkey.com/2012/01/what-we-did-in-2011-year-in-review/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/darthanthony.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/darthanthony.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/darthanthony.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/darthanthony.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/darthanthony.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/darthanthony.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/darthanthony.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/darthanthony.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/darthanthony.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/darthanthony.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/darthanthony.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/darthanthony.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/darthanthony.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/darthanthony.wordpress.com/73/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=73&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://darthanthony.wordpress.com/2012/01/23/spatialkey-2011-year-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9d844238f54384ddffd2e0ee38121bc1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">darthanthony</media:title>
		</media:content>
	</item>
		<item>
		<title>SpatialKey, Salesforce and Geopointe</title>
		<link>http://darthanthony.wordpress.com/2011/10/31/spatialkey-salesforce-and-geopointe/</link>
		<comments>http://darthanthony.wordpress.com/2011/10/31/spatialkey-salesforce-and-geopointe/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 16:37:05 +0000</pubDate>
		<dc:creator>darthanthony</dc:creator>
				<category><![CDATA[SpatialKey]]></category>
		<category><![CDATA[Force.com]]></category>
		<category><![CDATA[Geopointe]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[Salesforce]]></category>

		<guid isPermaLink="false">http://darthanthony.wordpress.com/?p=68</guid>
		<description><![CDATA[SpatialKey now offers its spatial analytics capabilities to Salesforce users by way of our partnership with Arrowpointe software&#8217;s Geopointe mapping solution for Force.com.  Geopointe is the #1 Force.com geo/mapping solution and by way of our partnership now adding full-featured Geo-Analytics as well. If you currently use Salesforce and are looking for a mapping and analytics [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=68&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>SpatialKey now offers its spatial analytics capabilities to Salesforce users by way of our partnership with Arrowpointe software&#8217;s Geopointe mapping solution for Force.com.  Geopointe is the #1 Force.com geo/mapping solution and by way of our partnership now adding full-featured Geo-Analytics as well.</p>
<p>If you currently use Salesforce and are looking for a mapping and analytics solution check out Geopointe!  Here is a link to the Geopointe blog talking about the new SpatialKey integration, oh and a video to!</p>
<p><a title="Geo-Analytics in Salesforce" href="http://www.arrowpointe.com/2011/06/17/geo-analytics-in-salesforce/" target="_blank">http://www.arrowpointe.com/2011/06/17/geo-analytics-in-salesforce/</a></p>
<span style="text-align:center; display: block;"><a href="http://darthanthony.wordpress.com/2011/10/31/spatialkey-salesforce-and-geopointe/"><img src="http://img.youtube.com/vi/YLSnp79xQPU/2.jpg" alt="" /></a></span>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/darthanthony.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/darthanthony.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/darthanthony.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/darthanthony.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/darthanthony.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/darthanthony.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/darthanthony.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/darthanthony.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/darthanthony.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/darthanthony.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/darthanthony.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/darthanthony.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/darthanthony.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/darthanthony.wordpress.com/68/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=68&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://darthanthony.wordpress.com/2011/10/31/spatialkey-salesforce-and-geopointe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9d844238f54384ddffd2e0ee38121bc1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">darthanthony</media:title>
		</media:content>
	</item>
		<item>
		<title>Our Application Server Stack</title>
		<link>http://darthanthony.wordpress.com/2011/10/03/our-application-server-stack/</link>
		<comments>http://darthanthony.wordpress.com/2011/10/03/our-application-server-stack/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 15:26:30 +0000</pubDate>
		<dc:creator>darthanthony</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Cold Fusion]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[PostGIS]]></category>
		<category><![CDATA[PostGreSQL]]></category>
		<category><![CDATA[SpatialKey]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[blaze]]></category>
		<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[JBoss]]></category>
		<category><![CDATA[postgres]]></category>
		<category><![CDATA[Railo]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://darthanthony.wordpress.com/?p=65</guid>
		<description><![CDATA[With a new year coming up I thought I would give a quick run down of our OS server stack.  From the beginning SpatialKey has been built on a number of great community/company open source platforms, here is what we currently use: Apache/Tomcat We are currently evaluating moving our application servers to pure Tomcat vs. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=65&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>With a new year coming up I thought I would give a quick run down of our OS server stack.  From the beginning SpatialKey has been built on a number of great community/company open source platforms, here is what we currently use:</p>
<ol>
<li>Apache/Tomcat</li>
<ol>
<li>We are currently evaluating moving our application servers to pure Tomcat vs. JBoss as at this time we are not taking advantage of any of the additional server capabilities JBoss provides and Tomcat gives a smaller and more easily managed servlet container.</li>
</ol>
<li>JBoss AS</li>
<ol>
<li>Has been our application server platform from the beginning.  I cannot say enough good things about JBoss.  It is an outstanding full stack J2EE server.</li>
</ol>
<li>Postgres SQL 9 + PostGIS</li>
<ol>
<li>SpatialKey would not be what it is today without Postgres and PostGIS.  Postgres is a great enterprise ready database from the get-go, but add PostGIS to it and you have a powerful full stack GIS database on top of it.</li>
</ol>
<li>Blaze DS</li>
<ol>
<li>The SpatialKey client is flash under the hood and Flex developed.  Blaze DS is the glue that allows the flash client to request server services.</li>
</ol>
<li>Server Development</li>
<ol>
<li>There are really too many technologies to list here, but there are three to definitely point out:</li>
<ol>
<li>Spring</li>
<ol>
<li>Ah, Spring&#8230; the magic container that brings the whole SpatialKey server together.  Don&#8217;t leave home without it!</li>
</ol>
<li>Hibernate</li>
<ol>
<li>Going hand in hand with Spring, Hibernate gives us an industry standard object relational mapping engine to help with the heavy lifting of standard database interactions.  Everything non-customer data goes through Hibernate in SpatialKey.</li>
</ol>
<li>Railo</li>
<ol>
<li>I have always been a ColdFusion fan.  I have worked on ColdFusion since its very early days and to this day believe it is still the easiest web application server to develop for.  Railo brings ColdFusion development to the open source world and of course at no charge!</li>
</ol>
</ol>
</ol>
</ol>
<p>So, there you have it the open source server stack used in SpatialKey (did I mention all of this great server goodness is free??).  If anyone has any specific questions regarding our usage of these products, please ask them in the comments and I will be glad to answer any that I can.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/darthanthony.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/darthanthony.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/darthanthony.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/darthanthony.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/darthanthony.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/darthanthony.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/darthanthony.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/darthanthony.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/darthanthony.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/darthanthony.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/darthanthony.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/darthanthony.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/darthanthony.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/darthanthony.wordpress.com/65/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=65&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://darthanthony.wordpress.com/2011/10/03/our-application-server-stack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9d844238f54384ddffd2e0ee38121bc1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">darthanthony</media:title>
		</media:content>
	</item>
		<item>
		<title>SpatialKey nearing 2.3</title>
		<link>http://darthanthony.wordpress.com/2011/10/03/spatialkey-nearing-2-3/</link>
		<comments>http://darthanthony.wordpress.com/2011/10/03/spatialkey-nearing-2-3/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 15:09:27 +0000</pubDate>
		<dc:creator>darthanthony</dc:creator>
				<category><![CDATA[SpatialKey]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[insurance]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[natural]]></category>
		<category><![CDATA[perils]]></category>

		<guid isPermaLink="false">http://darthanthony.wordpress.com/?p=63</guid>
		<description><![CDATA[Wow, the past year has been one of excitement and growth for SpatialKey as a platform!  We are now nearing a 2.3 version release of the server.  Over the year we have made great inroads into the insurance industry and are focusing in on a new &#8220;Apps&#8221; based approach for adding specific targeted capabilities to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=63&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Wow, the past year has been one of excitement and growth for SpatialKey as a platform!  We are now nearing a 2.3 version release of the server.  Over the year we have made great inroads into the insurance industry and are focusing in on a new &#8220;Apps&#8221; based approach for adding specific targeted capabilities to SpatialKey.</p>
<p>The first of these Apps will be a Natural Perils suite that we have recently introduced.  Check out what we are working on here:</p>
<p>http://spatialkey.com/industry-solutions/insurance/details/instantly-forecast-hurricane-exposures/</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/darthanthony.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/darthanthony.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/darthanthony.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/darthanthony.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/darthanthony.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/darthanthony.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/darthanthony.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/darthanthony.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/darthanthony.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/darthanthony.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/darthanthony.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/darthanthony.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/darthanthony.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/darthanthony.wordpress.com/63/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=63&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://darthanthony.wordpress.com/2011/10/03/spatialkey-nearing-2-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9d844238f54384ddffd2e0ee38121bc1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">darthanthony</media:title>
		</media:content>
	</item>
		<item>
		<title>Using SpatialKey to analyze how far closing Saturn dealerships are from other GM dealers.</title>
		<link>http://darthanthony.wordpress.com/2009/10/01/using-spatialkey-to-analyze-how-far-closing-saturn-dealerships-are-from-other-gm-dealers/</link>
		<comments>http://darthanthony.wordpress.com/2009/10/01/using-spatialkey-to-analyze-how-far-closing-saturn-dealerships-are-from-other-gm-dealers/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 17:18:30 +0000</pubDate>
		<dc:creator>darthanthony</dc:creator>
				<category><![CDATA[SpatialKey]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[GM]]></category>
		<category><![CDATA[Saturn]]></category>

		<guid isPermaLink="false">http://darthanthony.wordpress.com/?p=59</guid>
		<description><![CDATA[A lot of news coming from SpatialKey over the last week. First of all, SpatialKey is now officially out of beta and is live!  Free trial accounts are still available so check it out (completely re-designed web site too) &#8211; www.spatialkey.com! Second, with news coming out yesterday that GM is going to be closing Saturn [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=59&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A lot of news coming from SpatialKey over the last week.</p>
<p>First of all, SpatialKey is now officially out of beta and is live!  Free trial accounts are still available so check it out (completely re-designed web site too) &#8211; <a href="http://www.spatialkey.com" target="_blank">www.spatialkey.com</a>!</p>
<p>Second, with news coming out yesterday that GM is going to be closing Saturn dealerships owners are concerned (and rightfully so) about where they will be able to get warranty service going forward.  To help answer the question of &#8220;How far are Saturn dealerships from another GM dealership?&#8221; is one that can be answered very easily by SpatialKey.  After doing a spatial analysis of data provided by AggData of Saturn and other GM dealerships the answer is a good one for most owners: there is at least one other GM dealership within 10 miles of all closing Saturn dealers.</p>
<p>Check out this blog post (including screenshots and an interactive SpatialKey report) showing this information <a href="http://blog.spatialkey.com/" target="_blank">here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/darthanthony.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/darthanthony.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/darthanthony.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/darthanthony.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/darthanthony.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/darthanthony.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/darthanthony.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/darthanthony.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/darthanthony.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/darthanthony.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/darthanthony.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/darthanthony.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/darthanthony.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/darthanthony.wordpress.com/59/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=59&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://darthanthony.wordpress.com/2009/10/01/using-spatialkey-to-analyze-how-far-closing-saturn-dealerships-are-from-other-gm-dealers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9d844238f54384ddffd2e0ee38121bc1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">darthanthony</media:title>
		</media:content>
	</item>
		<item>
		<title>SpatialKey Nearing 1.0 Release!</title>
		<link>http://darthanthony.wordpress.com/2009/09/08/spatialkey-nearing-1-0-release/</link>
		<comments>http://darthanthony.wordpress.com/2009/09/08/spatialkey-nearing-1-0-release/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 15:27:04 +0000</pubDate>
		<dc:creator>darthanthony</dc:creator>
				<category><![CDATA[SpatialKey]]></category>

		<guid isPermaLink="false">http://darthanthony.wordpress.com/?p=57</guid>
		<description><![CDATA[These are exciting times for the SpatialKey team as we approach our 1.0 release!  Open beta has been going for a while now (you have signed up for a beta account haven&#8217;t you???) and the feedback we are getting from our users has been phenomenal!!  We have listened to what our users are telling us [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=57&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>These are exciting times for the SpatialKey team as we approach our 1.0 release!  Open beta has been going for a while now (you have signed up for a beta account haven&#8217;t you???) and the feedback we are getting from our users has been phenomenal!!  We have listened to what our users are telling us and continue to try and improve the product before launch.  So, thank you to everyone that has provided feedback, we are listening!</p>
<p>As I mentioned in the last SpatialKey update, part of the 1.0 release is a major UI enhancement.  We believe that the new report UI will make things easier to understand, become more intuitive, and expose features that you may have not even known were there.  We are very proud of it!</p>
<p>To illustrate some of these features we have a couple of new videos we are working on (still a work in progress) so check it out!</p>
<p>The first video (available via YouTube <a href="http://www.youtube.com/watch?v=vdSK6R9g7vA&amp;feature=channel" target="_blank">here</a>) shows off a bunch of the new UI features.  It goes through a real world scenario of how one user may use SpatialKey to create a report.</p>
<p>The second is a shorter video that specifically targets some of the features surrounding our new &#8220;Proximity Filtering&#8221; capabilities (see it <a href="http://www.youtube.com/watch?v=O07-4txkzas&amp;feature=channel" target="_blank">here</a>).</p>
<p>It is still not too late to check out the Beta including these new features and UI before we go live.  To sign up go <a href="http://www.spatialkey.com/signup/index.cfm" target="_blank">here</a>!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/darthanthony.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/darthanthony.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/darthanthony.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/darthanthony.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/darthanthony.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/darthanthony.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/darthanthony.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/darthanthony.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/darthanthony.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/darthanthony.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/darthanthony.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/darthanthony.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/darthanthony.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/darthanthony.wordpress.com/57/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=57&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://darthanthony.wordpress.com/2009/09/08/spatialkey-nearing-1-0-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9d844238f54384ddffd2e0ee38121bc1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">darthanthony</media:title>
		</media:content>
	</item>
		<item>
		<title>SpatialKey News</title>
		<link>http://darthanthony.wordpress.com/2009/07/30/spatialkey-news/</link>
		<comments>http://darthanthony.wordpress.com/2009/07/30/spatialkey-news/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 14:40:35 +0000</pubDate>
		<dc:creator>darthanthony</dc:creator>
				<category><![CDATA[SpatialKey]]></category>
		<category><![CDATA[Universal Mind]]></category>
		<category><![CDATA[UniversalMind]]></category>

		<guid isPermaLink="false">http://darthanthony.wordpress.com/?p=55</guid>
		<description><![CDATA[Some exciting things are happening in the SpatialKey world.  We are nearing the end of the Beta cycle and will soon be in open Beta.  So, if you have not yet applied or been accepted into the current closed Beta you should get your chance soon.  To apply go here: www.spatialkey.com.  Once the open Beta [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=55&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Some exciting things are happening in the SpatialKey world.  We are nearing the end of the Beta cycle and will soon be in open Beta.  So, if you have not yet applied or been accepted into the current closed Beta you should get your chance soon.  To apply go here: <a href="http://www.spatialkey.com" target="_blank">www.spatialkey.com</a>.  Once the open Beta begins it will just be a short time until we launch the 1.0 release.</p>
<p>The 1.0 release is going to include a report interface re-design that we are all very excited about.  Our team designer, Francisco Inchauste, is amazing.  Take a look at his blog post <a href="http://finch.posterous.com/spatialkey-ux-process-sketch-wireframe-pixel" target="_blank">here</a> for a tiny sample of the new look and feel.  Can&#8217;t wait to get it out!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/darthanthony.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/darthanthony.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/darthanthony.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/darthanthony.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/darthanthony.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/darthanthony.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/darthanthony.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/darthanthony.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/darthanthony.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/darthanthony.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/darthanthony.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/darthanthony.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/darthanthony.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/darthanthony.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=55&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://darthanthony.wordpress.com/2009/07/30/spatialkey-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9d844238f54384ddffd2e0ee38121bc1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">darthanthony</media:title>
		</media:content>
	</item>
		<item>
		<title>Dynamic Scheduling with Java/Spring</title>
		<link>http://darthanthony.wordpress.com/2009/07/07/dynamic-scheduling-with-javaspring/</link>
		<comments>http://darthanthony.wordpress.com/2009/07/07/dynamic-scheduling-with-javaspring/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 16:41:57 +0000</pubDate>
		<dc:creator>darthanthony</dc:creator>
				<category><![CDATA[SpatialKey]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://darthanthony.wordpress.com/?p=48</guid>
		<description><![CDATA[SpatialKey owes much of its success on the server to the simplicity and capabilities of the Spring framework.  Spring provides many services that we take advantage of and one of these is the scheduling service. The Spring scheduling service allows for the execution of tasks on a well&#8230; scheduled basis.  With basic Spring scheduling support [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=48&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.spatialkey.com" target="_blank">SpatialKey</a> owes much of its success on the server to the simplicity and capabilities of the <a href="http://www.springsource.com" target="_blank">Spring</a> framework.  Spring provides many services that we take advantage of and one of these is the scheduling service.</p>
<p>The Spring scheduling service allows for the execution of tasks on a well&#8230; scheduled basis.  With basic Spring scheduling support a developer can use XML based bean wiring to run tasks either using <a href="http://en.wikipedia.org/wiki/CRON_expression" target="_blank">CRON</a> expressions or with a simple timer.  This is probably all most applications would ever need and is pretty easy to set up.</p>
<p>Typically, to run a scheduled task with Spring you need three things.</p>
<ol>
<li>A SchedulerFactoryBean instance</li>
<li>One or more triggers (CRON or timer based)</li>
<li>One or more jobs</li>
</ol>
<p>Here is an example of what this could look like in a Spring configuration file:</p>
<pre style="padding-left:30px;">&lt;!-- Start the Triggers --&gt;
&lt;bean id="scheduleFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"&gt;
    &lt;property name="triggers"&gt;
        &lt;list&gt;
            &lt;ref bean="cronDailyFileCleanupTrigger"/&gt;
        &lt;/list&gt;
    &lt;/property&gt;
&lt;/bean&gt;

&lt;!-- Cron Triggers --&gt;
&lt;bean id="cronDailyFileCleanupTrigger"
    class="org.springframework.scheduling.quartz.CronTriggerBean"&gt;
    &lt;property name="jobDetail" ref="dailyFileCleanupJob"/&gt;
    &lt;property name="cronExpression" value="0 0 3 * * ?"/&gt;
&lt;/bean&gt;

&lt;!-- Begin Jobs --&gt;
&lt;bean id="dailyFileCleanupJob"
    class="org.springframework.scheduling.quartz.JobDetailBean"&gt;
    &lt;property name="jobClass" value="com.spatialkey.scheduledtasks.DailyFileCleanupJob"/&gt;
    &lt;property name="jobDataAsMap"&gt;
       &lt;map&gt;
           &lt;entry key="systemProps" value-ref="systemProperties"/&gt;
       &lt;/map&gt;
    &lt;/property&gt;
&lt;/bean&gt;</pre>
<p>The above code does the following:</p>
<ol>
<li>The first block instantiates a SchedulerFactoryBean.  This is the class that manages the creation of schedules in the Spring framework.  This instance can have one or more &#8220;triggers&#8221;.  These triggers represent a single scheduled task and are defined in another bean (shown below).  The list can contain any number of triggers as needed.</li>
<li>The second block defines a trigger.  This particular trigger is a CRON based trigger (specified by the class CronTriggerBean) and requires a CRON expression telling the trigger when it should execute.  I am not going to go into the ins and outs of <a href="http://en.wikipedia.org/wiki/CRON_expression" target="_blank">CRON</a> expressions in this article, but this particular trigger is set up for 3 am.  The other property (jobDetail) is a reference to a bean instance defining the task to run.</li>
<li>The third block defines the actual job/class to run.  The class itself is defined by the programmer containing the code to execute on the scheduled basis.  Also notice that other beans can be injected (just like any other Spring beans) using the jobDataAsMap property (there are other ways as well).</li>
</ol>
<p>Now, all of this is nothing new to Spring and this information is <a href="http://static.springsource.org/spring/docs/2.5.6/reference/scheduling.html" target="_blank">readily available</a> (I also highly recommend the book <a href="http://www.amazon.com/Spring-Action-Craig-Walls/dp/1932394354" target="_blank">Spring in Action</a> by Craig Walls).  What I really wanted to talk about in this blog is how to dynamically create triggers and scheduled tasks programmatically as there is not a whole lot of information out there on how to do this.</p>
<h3>The Dynamic Schedule Process</h3>
<p>If you are wanting to dynamically create scheduled tasks you cannot rely on XML configuration.  Instead we will use a programmatic process to do a similar thing that happens with the configuration example above.  The general process is:</p>
<ol>
<li>Wire up a SchedulerFactoryBean as above.  We will use this bean wired Spring service to create our schedules with.</li>
<li>In your code either inject the scheduler factory or access it using the Spring application context.</li>
<li>Get access to an instance of the object that will be executed on the timed basis.</li>
<li>Create an instance of a MethodInvokingJobDetailFactoryBean (thats a mouthful).  This object is a wrapper for a job object (that will get linked to a trigger) for execution.</li>
<li>Create an instance of a SimpleTriggerBean (for simple interval triggers) or a CronTriggerBean (for CRON based triggers).</li>
<li>Schedule the job with the scheduler.</li>
</ol>
<p>Ok, so what does this look like in code?  Here is an example:</p>
<pre style="padding-left:30px;">//get the quartzFactory bean
Scheduler scheduler = (Scheduler) ctx.getBean("scheduleFactory");

//get the task to run or it could have been injected
DataPollingTask dpTask = (DataPollingTask) ctx.getBean(taskName);

//this example uses a simple interval schedule, but could be done with a CRON schedule by using the correct Trigger Bean (CronTriggerBean)
//create job
jobDetail = new MethodInvokingJobDetailFactoryBean();
jobDetail.setTargetObject(dpTask);
jobDetail.setTargetMethod("run");
jobDetail.setName(taskName);
jobDetail.setConcurrent(false);
jobDetail.afterPropertiesSet();

//create trigger
SimpleTriggerBean trigger = new SimpleTriggerBean();
trigger.setBeanName(taskName);
trigger.setJobDetail((JobDetail) jobDetail.getObject());
trigger.setRepeatInterval(interval);
trigger.afterPropertiesSet();

//add to schedule
scheduler.scheduleJob((JobDetail) jobDetail.getObject(), trigger);</pre>
<p>A couple of things to note here.  Notice the setTargetMethod call on the job detail is set to &#8220;run&#8221;?  This is telling the job when it executes what the method name is that should be executed.  This method must exist in the target object to be executed.  The method should be public and return nothing (void).  Also the method (in this case &#8220;run&#8221;) should not take any parameters.</p>
<p>Of course there is more than one way to do this whole process and there are other properties/methods/techniques available in the Spring scheduling engine so please take a look at the various JavaDocs for the objects listed for more information but with the code an process outlined above you should be well on your way to creating dynamic Spring based scheduled tasks.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/darthanthony.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/darthanthony.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/darthanthony.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/darthanthony.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/darthanthony.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/darthanthony.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/darthanthony.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/darthanthony.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/darthanthony.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/darthanthony.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/darthanthony.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/darthanthony.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/darthanthony.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/darthanthony.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=48&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://darthanthony.wordpress.com/2009/07/07/dynamic-scheduling-with-javaspring/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9d844238f54384ddffd2e0ee38121bc1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">darthanthony</media:title>
		</media:content>
	</item>
		<item>
		<title>Running a command line executable in Java with redirected output???</title>
		<link>http://darthanthony.wordpress.com/2009/06/19/running-a-command-line-executable-in-java-with-redirected-output/</link>
		<comments>http://darthanthony.wordpress.com/2009/06/19/running-a-command-line-executable-in-java-with-redirected-output/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 17:18:37 +0000</pubDate>
		<dc:creator>darthanthony</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[PostGIS]]></category>
		<category><![CDATA[PostGreSQL]]></category>
		<category><![CDATA[SpatialKey]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Shape File]]></category>

		<guid isPermaLink="false">http://darthanthony.wordpress.com/?p=41</guid>
		<description><![CDATA[First off there are some awesome new features coming very soon to SpatialKey!  I can&#8217;t let the cat completely out of the bag, but by reading this article you may get some idea of what is coming&#8230; One of the requirements for SpatialKey that has come up is the necessity to execute a command line [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=41&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>First off there are some awesome new features coming very soon to SpatialKey!  I can&#8217;t let the cat completely out of the bag, but by reading this article you may get some idea of what is coming&#8230;</p>
<p>One of the requirements for SpatialKey that has come up is the necessity to execute a command line tool from inside of our Java server implementation.  If you are at all familiar with SpatialKey (and if not, what are you waiting for??? get on over to <a href="www.spatialkey.com" target="_blank">www.spatialkey.com</a>) you know that it is a geo-spatial application.  As such, we need to store and retrieve geo-spatial data and to accomplish this goal we have settled on using <a href="http://www.postgresql.org/" target="_blank">PostGreSQL</a> along with <a href="http://postgis.refractions.net/" target="_blank">PostGIS</a> extensions.</p>
<p>One of the tools that comes with PostGIS is called shp2pgsql (shape to PostGreSQL).  This tool allows for taking a geo-spatial <a href="http://en.wikipedia.org/wiki/Shapefile" target="_blank">shape file</a> and converting the contents into PostGreSQL compatable SQL for database insertion (hint&#8230; hint&#8230;).  These shapes can then be used for filtering in PostGIS SQL calls.</p>
<p>Here is a simple example of what using this tool would look like if run from a terminal window:</p>
<pre style="padding-left:30px;">./shp2pgsql roads.shp roads_table my_db &gt; roads.sql</pre>
<p>Notice the output redirection &#8216;&gt; roads.sql&#8217; this unix operator simply dumps the result into the file specified and works great from a terminal window.  The generated sql could then be run against the database to import the shape data.  Unfortunately, however, this is not the case when run from within Java.</p>
<p>So, how do you run a command line tool from Java?  It is pretty easy actually.  And the good folks at Apache Commons have made the process pretty robust.  I recommend using their command line execution package (download <a href="http://commons.apache.org/exec/" target="_blank">here</a>).</p>
<p>Using their code the above example might look something like this:</p>
<pre style="padding-left:30px;">CommandLine cmdLine = CommandLine.parse("./shp2pgsql roads.shp roads_table my_db &gt; roads.sql");
DefaultExecutor executor = new DefaultExecutor();
executor.execute(cmdLine);</pre>
<p>Unfortunately this does not work.  The JVM thinks this entire line is a part of the shp2pgsql command when in reality they are two separate commands that the operating system needs to interpret.  If we leave off the &#8220;&gt; roads.sql&#8221; then everything works as it should, but you have no captured SQL.  So how do we make this work?  We need to capture the output stream from the command line execution:</p>
<pre style="text-align:left;padding-left:30px;">ByteArrayOutputStream bos = new ByteArrayOutputStream();
CommandLine cmdLine = CommandLine.parse("./shp2pgsql roads.shp roads_table my_db");
PumpStreamHandler psh = new PumpStreamHandler(bos, System.out);
DefaultExecutor executor = new DefaultExecutor();
executor.setStreamHandler(psh);
executor.execute(cmdLine);
bos.close();</pre>
<p>So the code has changed a bit here.  First of all we define a ByteArrayOutputStream that will capture the data from the command execution.  This output stream is passed as an argument to a new instance of a PumpStreamHandler object (this object is a part of the Apache Commons Exec code base).  With this stream handler we can now tell the executor that we do not want the output stream to go to its default but instead to the ByteArrayOutputStream we defined.  Also notice that I removed the offending &#8220;&gt; roads.sql&#8221; from the original command line.</p>
<p>Once I had access to the stream I simply ran a toString() on the contents and executed the SQL.  Of course if I really wanted the contents placed into a file I could have used a FileOutputStream instead.</p>
<p>That&#8217;s all there is to it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/darthanthony.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/darthanthony.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/darthanthony.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/darthanthony.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/darthanthony.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/darthanthony.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/darthanthony.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/darthanthony.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/darthanthony.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/darthanthony.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/darthanthony.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/darthanthony.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/darthanthony.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/darthanthony.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=41&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://darthanthony.wordpress.com/2009/06/19/running-a-command-line-executable-in-java-with-redirected-output/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9d844238f54384ddffd2e0ee38121bc1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">darthanthony</media:title>
		</media:content>
	</item>
		<item>
		<title>Java Date Parsing (With an Unknown Format)</title>
		<link>http://darthanthony.wordpress.com/2009/05/29/java-date-parsing-with-an-unknown-format/</link>
		<comments>http://darthanthony.wordpress.com/2009/05/29/java-date-parsing-with-an-unknown-format/#comments</comments>
		<pubDate>Fri, 29 May 2009 14:30:32 +0000</pubDate>
		<dc:creator>darthanthony</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[SpatialKey]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[datetime]]></category>
		<category><![CDATA[parsing]]></category>

		<guid isPermaLink="false">http://darthanthony.wordpress.com/?p=37</guid>
		<description><![CDATA[One of the biggest challenges within SpatialKey is how we could handle the many different date formats that a user could come up with.  And there are so many combinations of numbers (one digit month/day, two digit (month/day), two and four diget year, etc.) , words (Mon, Tue, Monday, Tuesday, Jun, Jul, June, July, etc.), [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=37&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One of the biggest challenges within SpatialKey is how we could handle the many different date formats that a user could come up with.  And there are so many combinations of numbers (one digit month/day, two digit (month/day), two and four diget year, etc.) , words (Mon, Tue, Monday, Tuesday, Jun, Jul, June, July, etc.), and order of the parts that it is quite a daunting task.</p>
<p>The first solution was to create an acceptable list of formats and only parse for those.  We quickly realized that this (albeit an easy approach technically) would put a large data transformation headache on nearly all customers.  We really wanted a solution that would account for nearly all situations (although admitting that we could not support EVERY format imaginable).  The task then fell to me to figure out if/how we could make this a reality.</p>
<p>After looking all over for a good native Java way of doing this and coming up with nothing (pretty much everything needed a format string) I stumbled upon several forum posts referring to the <a href="http://sourceforge.net/project/platformdownload.php?group_id=226950" target="_blank">POJava project</a>.  This open source project contains many simple &#8220;Plain Old Java&#8221; object utilities but what most interested me was the date parser it comes with.  The POJava date parser org.pojava.datetime.DateTime is an immutable, and robust parser that supports multiple languages, time zones, and formats.  Best of all, the parser is heuristic and does not require a pre-existing &#8220;format&#8221; to work.  You just pass it a date/date-time text string and get out a java.util.Date!  It works great.  Will it do every possible format without exception, nope, but it will sure do the vast majority of them.</p>
<p>The only real issue I ran into was that the parser kept trying to put everything into the Pacific time zone and I wanted the dates to get stored in the server&#8217;s time zone.  To fix that I simple appended the appropriate time zone string to the end of the passed in date.  Easy.</p>
<p>So, if you have a similar requirement I highly recommend taking a look at <a href="http://sourceforge.net/project/platformdownload.php?group_id=226950" target="_blank">POJava</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/darthanthony.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/darthanthony.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/darthanthony.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/darthanthony.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/darthanthony.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/darthanthony.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/darthanthony.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/darthanthony.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/darthanthony.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/darthanthony.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/darthanthony.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/darthanthony.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/darthanthony.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/darthanthony.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=darthanthony.wordpress.com&amp;blog=5601774&amp;post=37&amp;subd=darthanthony&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://darthanthony.wordpress.com/2009/05/29/java-date-parsing-with-an-unknown-format/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9d844238f54384ddffd2e0ee38121bc1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">darthanthony</media:title>
		</media:content>
	</item>
	</channel>
</rss>
