<?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 for Patric Brown</title>
	<atom:link href="http://www.patricbrown.com/blog/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.patricbrown.com/blog</link>
	<description>Open Source Enterprise Software Development</description>
	<pubDate>Wed, 10 Mar 2010 14:18:06 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Switching VOIP Service Providers - AT&#038;T Callvantage vs Vonage by SystemsThinker</title>
		<link>http://www.patricbrown.com/blog/switching-voip-service-providers-att-callvantage-vs-vonage/#comment-69</link>
		<dc:creator>SystemsThinker</dc:creator>
		<pubDate>Mon, 17 Aug 2009 18:35:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.patricbrown.com/blog/?p=37#comment-69</guid>
		<description>Hey. I came across your blog because I'm in the same position - CallVantage user having to switch. And I've come to the same conclusion for the same reason. Vonage seems like the easiest, safest choice. Hopefully it will work out well for both of us and be as good as CallVantage. Like you said, someone finally gets the service right and then they drop it. Figures haha.</description>
		<content:encoded><![CDATA[<p>Hey. I came across your blog because I&#8217;m in the same position - CallVantage user having to switch. And I&#8217;ve come to the same conclusion for the same reason. Vonage seems like the easiest, safest choice. Hopefully it will work out well for both of us and be as good as CallVantage. Like you said, someone finally gets the service right and then they drop it. Figures haha.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Penn State&#8217;s Certificate in Geographic Information Systems by Patric Brown</title>
		<link>http://www.patricbrown.com/blog/penn-states-certificate-in-geographic-information-systems/#comment-43</link>
		<dc:creator>Patric Brown</dc:creator>
		<pubDate>Sat, 21 Mar 2009 13:39:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.patricbrown.com/blog/?p=33#comment-43</guid>
		<description>Great Question!  There are so many tools available, one of the toughest things for anyone new to it is to to decide where to begin.  A good start would be to try &lt;a href="http://www.qgis.org"/ rel="nofollow"&gt;Quantum GIS&lt;/a&gt;.  Depending on your interests, I would also recommend looking at &lt;a href="http://grass.osgeo.org/" rel="nofollow"&gt;GRASS GIS&lt;/a&gt;, &lt;a href="http://mapserver.org/" rel="nofollow"&gt;MapServer&lt;/a&gt; and &lt;a href="http://postgis.refractions.net/" rel="nofollow"&gt;PostGIS&lt;/a&gt;.  These projects have active user communities and recent releases... generally meaning they're well maintained and going somewhere.</description>
		<content:encoded><![CDATA[<p>Great Question!  There are so many tools available, one of the toughest things for anyone new to it is to to decide where to begin.  A good start would be to try <a href="http://www.qgis.org"/ rel="nofollow">Quantum GIS</a>.  Depending on your interests, I would also recommend looking at <a href="http://grass.osgeo.org/" rel="nofollow">GRASS GIS</a>, <a href="http://mapserver.org/" rel="nofollow">MapServer</a> and <a href="http://postgis.refractions.net/" rel="nofollow">PostGIS</a>.  These projects have active user communities and recent releases&#8230; generally meaning they&#8217;re well maintained and going somewhere.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Penn State&#8217;s Certificate in Geographic Information Systems by Paul Ferretti</title>
		<link>http://www.patricbrown.com/blog/penn-states-certificate-in-geographic-information-systems/#comment-42</link>
		<dc:creator>Paul Ferretti</dc:creator>
		<pubDate>Fri, 20 Mar 2009 19:22:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.patricbrown.com/blog/?p=33#comment-42</guid>
		<description>Patric,

Congratulations on completing the course. Can you provide a list of open source tools you would recommend?

Thanks,

Paul</description>
		<content:encoded><![CDATA[<p>Patric,</p>
<p>Congratulations on completing the course. Can you provide a list of open source tools you would recommend?</p>
<p>Thanks,</p>
<p>Paul</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using Groovy to Create Sample Data in XML format for AppFuse by Sebastian Gärtner</title>
		<link>http://www.patricbrown.com/blog/using-groovy-to-create-sample-data-in-xml-format-for-appfuse/#comment-23</link>
		<dc:creator>Sebastian Gärtner</dc:creator>
		<pubDate>Thu, 11 Sep 2008 13:50:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.patricbrown.com/blog/?p=21#comment-23</guid>
		<description>Hi,
here is another short one, without the cost of fetching MetaData
...
def sql = Sql.newInstance(URL,USER,PWD, DRIVER)
def tablename="any_table";
table=sql.rows("select * from "+tablename)
xml = new groovy.xml.MarkupBuilder()
xml."${tablename}"(){
    for (row in table){
        Row(){
            for (field in row){
                "${field.key}"(field.value)
            }
        }
    }
}</description>
		<content:encoded><![CDATA[<p>Hi,<br />
here is another short one, without the cost of fetching MetaData<br />
&#8230;<br />
def sql = Sql.newInstance(URL,USER,PWD, DRIVER)<br />
def tablename=&#8221;any_table&#8221;;<br />
table=sql.rows(&#8221;select * from &#8220;+tablename)<br />
xml = new groovy.xml.MarkupBuilder()<br />
xml.&#8221;${tablename}&#8221;(){<br />
    for (row in table){<br />
        Row(){<br />
            for (field in row){<br />
                &#8220;${field.key}&#8221;(field.value)<br />
            }<br />
        }<br />
    }<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using Groovy to Create Sample Data in XML format for AppFuse by Craig MacKay</title>
		<link>http://www.patricbrown.com/blog/using-groovy-to-create-sample-data-in-xml-format-for-appfuse/#comment-15</link>
		<dc:creator>Craig MacKay</dc:creator>
		<pubDate>Thu, 04 Sep 2008 20:29:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.patricbrown.com/blog/?p=21#comment-15</guid>
		<description>pretty useful way to dump data. I wanted to do something similar so I altered what you had and made the following:  

        def db = Sql.newInstance(databaseUrl, databaseUsername, databasePassword, databaseDriver)
        def file = new File("output.xml")
        def tables = ["tableA", "tableB"]
        def xml = new MarkupBuilder(file.newWriter())
        xml.data {
            tables.each { table -&#62;
                xml.table(name:"${table}") {
                    db.eachRow("select * from ${table}".toString()) { row -&#62;
                        def data = [:]
                        def metaData = row.getMetaData()
                        for (i in 0..&#60;metaData.columnCount) {
                            def name = metaData.getColumnLabel(i+1)
                            def value = row[i]
                            data."${name}" = value
                        }
                        xml.row(data)
                    }
                }
            }
        }

Pretty much the same thing as yours except I wanted to dump data for multiple tables and I merged the metadata code with iterating the rows.</description>
		<content:encoded><![CDATA[<p>pretty useful way to dump data. I wanted to do something similar so I altered what you had and made the following:  </p>
<p>        def db = Sql.newInstance(databaseUrl, databaseUsername, databasePassword, databaseDriver)<br />
        def file = new File(&#8221;output.xml&#8221;)<br />
        def tables = ["tableA", "tableB"]<br />
        def xml = new MarkupBuilder(file.newWriter())<br />
        xml.data {<br />
            tables.each { table -&gt;<br />
                xml.table(name:&#8221;${table}&#8221;) {<br />
                    db.eachRow(&#8221;select * from ${table}&#8221;.toString()) { row -&gt;<br />
                        def data = [:]<br />
                        def metaData = row.getMetaData()<br />
                        for (i in 0..&lt;metaData.columnCount) {<br />
                            def name = metaData.getColumnLabel(i+1)<br />
                            def value = row[i]<br />
                            data.&#8221;${name}&#8221; = value<br />
                        }<br />
                        xml.row(data)<br />
                    }<br />
                }<br />
            }<br />
        }</p>
<p>Pretty much the same thing as yours except I wanted to dump data for multiple tables and I merged the metadata code with iterating the rows.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using Groovy to Create Sample Data in XML format for AppFuse by Patric Brown</title>
		<link>http://www.patricbrown.com/blog/using-groovy-to-create-sample-data-in-xml-format-for-appfuse/#comment-7</link>
		<dc:creator>Patric Brown</dc:creator>
		<pubDate>Thu, 14 Aug 2008 00:07:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.patricbrown.com/blog/?p=21#comment-7</guid>
		<description>I actually played around with using DbUnit's export feature, as I thought that would be the easy way to do it.  I first had some issues in that the exported XML contained the schema's  from which I was migrating data,  though I ultimately was able to get around that, and then I found my exported xml was not nearly as pretty (I'm picky).  Writing the Groovy script probably took less time than learning more about DbUnit to fix my issues.  Groovy is a no-brainer language to pick up for a Java developer, and it rocks as a quick, get-it-done, scripting language for tasks such as this.</description>
		<content:encoded><![CDATA[<p>I actually played around with using DbUnit&#8217;s export feature, as I thought that would be the easy way to do it.  I first had some issues in that the exported XML contained the schema&#8217;s  from which I was migrating data,  though I ultimately was able to get around that, and then I found my exported xml was not nearly as pretty (I&#8217;m picky).  Writing the Groovy script probably took less time than learning more about DbUnit to fix my issues.  Groovy is a no-brainer language to pick up for a Java developer, and it rocks as a quick, get-it-done, scripting language for tasks such as this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using Groovy to Create Sample Data in XML format for AppFuse by Matt Raible</title>
		<link>http://www.patricbrown.com/blog/using-groovy-to-create-sample-data-in-xml-format-for-appfuse/#comment-5</link>
		<dc:creator>Matt Raible</dc:creator>
		<pubDate>Tue, 12 Aug 2008 00:24:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.patricbrown.com/blog/?p=21#comment-5</guid>
		<description>You can also use DbUnit's "export" feature to export a database's tables to XML format. I've used this in the past to export a prod database to dev to reproduce an issue related to bad data.</description>
		<content:encoded><![CDATA[<p>You can also use DbUnit&#8217;s &#8220;export&#8221; feature to export a database&#8217;s tables to XML format. I&#8217;ve used this in the past to export a prod database to dev to reproduce an issue related to bad data.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using Groovy to Create Sample Data in XML format for AppFuse by andhapp</title>
		<link>http://www.patricbrown.com/blog/using-groovy-to-create-sample-data-in-xml-format-for-appfuse/#comment-4</link>
		<dc:creator>andhapp</dc:creator>
		<pubDate>Mon, 11 Aug 2008 10:06:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.patricbrown.com/blog/?p=21#comment-4</guid>
		<description>You can do the loops in a much better way in groovy... look it up..</description>
		<content:encoded><![CDATA[<p>You can do the loops in a much better way in groovy&#8230; look it up..</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Moving up to AppFuse 2 by Allan Ang</title>
		<link>http://www.patricbrown.com/blog/moving-up-to-appfuse-2/#comment-3</link>
		<dc:creator>Allan Ang</dc:creator>
		<pubDate>Sun, 10 Aug 2008 02:37:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.patricbrown.com/blog/?p=9#comment-3</guid>
		<description>If you want to skip the reloading of tables, use this switch at the command line when running "mvn"

-Dmaven.test.skip=true</description>
		<content:encoded><![CDATA[<p>If you want to skip the reloading of tables, use this switch at the command line when running &#8220;mvn&#8221;</p>
<p>-Dmaven.test.skip=true</p>
]]></content:encoded>
	</item>
</channel>
</rss>
