<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-4837420061859077187</id><updated>2009-10-20T11:30:38.733-06:00</updated><title type='text'>DTP News and Views</title><subtitle type='html'>The DTP News and Views blog is Brian Fitzpatrick's (aka "Fitz") window on the world. Here you'll find information about what DTP is up to, articles on using DTP better, and how folks in the community are using DTP around the Eclipse-a-verse.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default?start-index=26&amp;max-results=25'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>30</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-6017545729814460027</id><published>2009-10-20T11:23:00.004-06:00</published><updated>2009-10-20T11:30:38.741-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='help'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Tools Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='DTP'/><title type='text'>Looking for DTP Hitchhikers...</title><content type='html'>Hi everyone... &lt;br /&gt;&lt;br /&gt;Wow... It's been a while since I last wrote on this blog. I've been keeping busy at Red Hat since I hopped the fence back in June. :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_SGDIFhEee7E/St3yctMqA5I/AAAAAAAAAAQ/Jzec89-xtlU/s1600-h/nicubunu_Thumb_up.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 128px; height: 128px;" src="http://4.bp.blogspot.com/_SGDIFhEee7E/St3yctMqA5I/AAAAAAAAAAQ/Jzec89-xtlU/s400/nicubunu_Thumb_up.png" alt="" id="BLOGGER_PHOTO_ID_5394734503642661778" border="0" /&gt;&lt;/a&gt;Unfortunately, with Sybase's reduction in DTP resources and a few other folks we've lost by attrition, we're suffering from a serious lack of help in the Connectivity and Enablement projects at the moment. Though Linda from Actuate helps out in Connectivity every now and then, it's pretty much just yours truly with occasional help from our friends at Codehoop. And my time these days is pretty minimal for DTP. &lt;br /&gt;&lt;br /&gt;Talking with Brian Payton, our fearless leader these days in DTP, it came up that with the small core of folks involved it was like we were in a book "Hitchhiking Through Europe on Pennies a Day" - not getting too far, but when you do get picked up and make some progress on your journey it's often for a brief burst of speed and then you're out of the car on foot again. &lt;br /&gt;&lt;br /&gt;So we're looking for a few hitchhikers to help us out.  &lt;br /&gt;&lt;br /&gt;I come to you, our friends in the DTP community and the broader Eclipse community, and ask for help. We're not asking for full time, devoted folks. We're asking that if you get some time and want to dig into DTP, we have lots of Bugzilla entries that could use some tender loving care.  &lt;br /&gt;&lt;br /&gt;If everyone who uses DTP would dig into one DTP bug every few months and provide a patch, I'm pretty sure our list of issues would decrease dramatically.  &lt;br /&gt;&lt;br /&gt;We already have a few mediums out there to communicate... We have the Eclipse DTP mailing lists and newsgroup (check out http://wiki.eclipse.org/DTP_New_Committer_Info to get the list of how to find those resources). And I just created a new IRC chat (#eclipse-dtp) on freenode that I'll be on any time I happen to be logged in. Maybe we can get the conversation going between other DTP community members and bring things back to life a bit! &lt;br /&gt;&lt;br /&gt;Personally, I've been involved with DTP since 2006 and have really enjoyed working with everyone I've met. Who knows who you might meet? We can't offer fame or fortune for your contributions, but we can definitely offer our gratitude and most likely the gratitude of a grateful DTP community.   &lt;br /&gt;&lt;br /&gt;Who's interested in helping us out? &lt;br /&gt;&lt;br /&gt;--Fitz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-6017545729814460027?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/6017545729814460027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=6017545729814460027' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/6017545729814460027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/6017545729814460027'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2009/10/looking-for-dtp-hitchhikers.html' title='Looking for DTP Hitchhikers...'/><author><name>Fitzy</name><uri>http://www.blogger.com/profile/12762089629432071554</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08694700005862971126'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_SGDIFhEee7E/St3yctMqA5I/AAAAAAAAAAQ/Jzec89-xtlU/s72-c/nicubunu_Thumb_up.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-418639286434560992</id><published>2009-08-27T12:52:00.003-06:00</published><updated>2009-08-27T13:01:08.747-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PMC'/><category scheme='http://www.blogger.com/atom/ns#' term='Helios'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Tools Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='1.7.1'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='DTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Galileo'/><title type='text'>Greetings from the land of Red Hats!</title><content type='html'>Hi all...&lt;br /&gt;&lt;br /&gt;It's been a while since I last posted anything on this blog, but I want to assure you it's not dead. Well, not quite anyway. My new position at Red Hat has been and will continue to be a challenge - a good one! But that means I have less time to spend on DTP topics...&lt;br /&gt;&lt;br /&gt;I know I still owe (oh ye few who read these words) the remainder of the YouTube/DTP plug-in I promised way back in March with my EclipseCon 2009 talk. But I hope to get back to that sooner than later.&lt;br /&gt;&lt;br /&gt;In the meantime, I wanted to congratulate Brian Payton from IBM for becoming the new DTP lead. He's a great guy who's kept a handle on the SQL Editor for quite a while now and I'm sure he'll do great for the rest of DTP too! I'll continue to help out where I can and be involved, but to a much smaller extent.&lt;br /&gt;&lt;br /&gt;As such, if you see him around please welcome Brian P to his new position if you get a chance. I'm sure he'd be happy to hear from our community!&lt;br /&gt;&lt;br /&gt;We're in the process of finishing up 1.7.1 for the end of September with the Galileo SR1 release train and will then see what we can do for Helios.&lt;br /&gt;&lt;br /&gt;If you, our great community, have some extra cycles to help out, we'd love to have you join the party. Give us a holler on the mailing lists or newsgroups and let us know what you're thinking. The more the merrier!&lt;br /&gt;&lt;br /&gt;Thanks a ton for your continued support of DTP and hopefully I'll get back on track with some new posts here before long. :)&lt;br /&gt;&lt;br /&gt;--Fitz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-418639286434560992?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/418639286434560992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=418639286434560992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/418639286434560992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/418639286434560992'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2009/08/greetings-from-land-of-red-hats.html' title='Greetings from the land of Red Hats!'/><author><name>Fitzy</name><uri>http://www.blogger.com/profile/12762089629432071554</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08694700005862971126'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-6252711635190367953</id><published>2009-06-16T08:17:00.002-06:00</published><updated>2009-06-16T08:21:48.629-06:00</updated><title type='text'>The end of an era and a new beginning...</title><content type='html'>To the Eclipse and DTP communities...&lt;br /&gt;&lt;br /&gt;Some of you may have already known that I was leaving the leadership of DTP at the end of Galileo. If you didn't already know, Sybase is pulling away from project leadership for now. They have their reasons for doing so, and though valid I am sad to see us retreat from DTP after the last four years.&lt;br /&gt;&lt;br /&gt;That said, it's been an honor to help lead the DTP project over the last year and I'm proud to have been involved with all the participants and the community for the last four years. I've learned a ton and met some truly amazing people. And most of all, I've had fun. Those are always my three criteria for success -- the people I work with, what I learn on the job, and whether the job itself has some elements of fun. It's not always fun, but it has to have a bit at least. :)&lt;br /&gt;&lt;br /&gt;I'll miss being as involved as I have been, but still hope to retain my committer status as I shift jobs, leave Sybase, and head to Red Hat at the end of the month. After more than 13 years at New Era and Sybase, I'm leaving to pursue a different opportunity. Definitely time for a change and RH made me an offer I couldn't refuse.&lt;br /&gt;&lt;br /&gt;So I'll still be around DTP, just not as much as I have been over the last few years. I'm sure that others will pick up the mantle of DTP leadership and continue to shepherd the project forward. We have a great community that continues to grow and use our code in innovative ways, so I'm hopeful about the future of the project. I will still try and continue to post here as time allows, but I can't guarantee anything.&lt;br /&gt;&lt;br /&gt;Thank you to all of you who have helped over the years. I'll still be around and hope to keep in touch!&lt;br /&gt;&lt;br /&gt;--Fitz (aka Brian Fitzpatrick)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-6252711635190367953?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/6252711635190367953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=6252711635190367953' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/6252711635190367953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/6252711635190367953'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2009/06/end-of-era-and-new-beginning.html' title='The end of an era and a new beginning...'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-1460044955257990744</id><published>2009-04-23T09:10:00.003-06:00</published><updated>2009-04-23T09:20:22.560-06:00</updated><title type='text'>Interesting trend in DTP Mailing List</title><content type='html'>Hey all...&lt;br /&gt;&lt;br /&gt;I saw &lt;a href="http://intellectualcramps.blogspot.com/2009/04/markmail-and-eclipse-mailing-lists.html"&gt;Dave Carver's post&lt;/a&gt; about using MarkMail's indices of the Eclipse mailing lists and was inspired to take a look at the DTP mailing list to see if there were any trends. We seem to follow the same trend as WTP...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://4.bp.blogspot.com/_nuPmrhsllU8/SfCFhrTP_DI/AAAAAAAAAEY/VNfUyXLNZ6s/s400/markmail_dtp_trends.JPG" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 205px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5327905172784938034" /&gt;We seem to peak around the time of each year's release train, which makes sense, and then drop off a bit after that. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This helps to understand a bit of the adoption curve as was noted in the EclipseCon 2009 keynote "The Social Mind: Designing Like Groups Matter" (you can see the abstract &lt;a href="http://www.eclipsecon.org/2009/sessions?id=751"&gt;here&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;They showed a picture of Wikipedia contributions that looks somewhat similar to the graphs for WTP in Dave's post and this one for the DTP list. Initially there's a lot of contributions and conversation and it starts to drop off over time with only a few people doing the majority of the posting. In our case, the top 5 are all either Sybase or IBM folks, but it's heartening to see that at #6, we have Oracle represented and some of our friends at Actuate as well. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What does this tell us? Honestly not much more than we already knew, but it's good to have another metric. Thanks Dave for pointing out that Markmail is there!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If anyone's interested in the DTP-DEV stats, feel free to check them out &lt;a href="http://eclipse.markmail.org/search/?q=#query:list%3Aorg.eclipse.dtp-dev+page:1+state:facets"&gt;here &lt;/a&gt;as well.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Back to the grindstone! &lt;/div&gt;&lt;div&gt;--Fitz&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-1460044955257990744?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/1460044955257990744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=1460044955257990744' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/1460044955257990744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/1460044955257990744'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2009/04/interesting-trend-in-dtp-mailing-list.html' title='Interesting trend in DTP Mailing List'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_nuPmrhsllU8/SfCFhrTP_DI/AAAAAAAAAEY/VNfUyXLNZ6s/s72-c/markmail_dtp_trends.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-8976379032879305008</id><published>2009-04-15T09:25:00.009-06:00</published><updated>2009-04-15T11:03:01.422-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='YouTube'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Plug-in'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Tools Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='Application programming interface'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Source code'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet Protocol'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='DTP'/><title type='text'>DTPtv - Part 1 - Using YouTube APIs in Eclipse</title><content type='html'>Hey there...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So yes, I'm back to talking about DTPtv... (You can see my introduction to the series here.) &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p class="zemanta-img zemanta-action-dragged" style="margin-top: 1em; margin-right: 1em; margin-bottom: 1em; margin-left: 1em; float: right; display: block; width: 210px; "&gt;&lt;a href="http://en.wikipedia.org/wiki/Image:YouTube_logo.svg"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/en/thumb/6/66/YouTube_logo.svg/200px-YouTube_logo.svg.png" alt="YouTube, LLC" style="border:none;display:block" width="200" height="101" /&gt;&lt;/a&gt;&lt;span class="zemanta-img-attribution"&gt;Image via &lt;a href="http://en.wikipedia.org/wiki/Image:YouTube_logo.svg"&gt;Wikipedia&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;Now that we know generally what we want to do, we'll start by focusing on making the &lt;a class="zem_slink" href="http://www.youtube.com/" title="YouTube" rel="homepage"&gt;YouTube&lt;/a&gt; &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Application_programming_interface" title="Application programming interface" rel="wikipedia"&gt;APIs&lt;/a&gt; usable in &lt;a class="zem_slink" href="http://www.eclipse.org/" title="Eclipse (software)" rel="homepage"&gt;Eclipse&lt;/a&gt; and perform a simple test. Easy enough, right?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So the first thing I had to do was grab the YouTube jars from &lt;a class="zem_slink" href="http://google.com/" title="Google" rel="homepage"&gt;Google&lt;/a&gt;. I found those &lt;a href="http://code.google.com/p/gdata-java-client/downloads/list"&gt;here&lt;/a&gt;. I grabbed the latest version of gdata-samples.java. The YouTube/Google APIs also have some dependencies, so I had to go out and grab imap.jar, mailapi.jar, pop3,jar, and smtp.jar. I was able to re-use a plug-in wrapper for javax.activation.jar from Orbit, which I'll talk about in a sec.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With all of the jars downloaded, I just had to create an Eclipse plug-in wrapper so they were available to other plug-ins. To do this is cake... Right-click in the Package Explorer, select New-&gt;Project, and in the list of Wizards select "Plug-in from existing &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/JAR_%28file_format%29" title="JAR (file format)" rel="wikipedia"&gt;JAR&lt;/a&gt; archives". Select your external jars (it will copy them into the plug-in wrapper). I named mine "com.google.gdata.youtube" and unchecked the "Unzip the JAR archives into the project" so it kept the jars as jars, not &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Source_code" title="Source code" rel="wikipedia"&gt;source code&lt;/a&gt;. Click Finish and watch the magic happen.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When it's done, I had to do one last thing to add a dependency. The Google APIs still depend on the javax.activation.jar...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Do you remember I mentioned the Orbit project? Well, you can read more about it &lt;a href="http://www.eclipse.org/orbit/overview.php"&gt;here&lt;/a&gt;, but the idea is that it provides a repository for a number of third-party projects/resources that are shared across Eclipse. These have already gone through the IP process and are approved for our use. (Note however that even       if a library is approved by the Foundation for use by all projects, project       teams must still fill out a &lt;a href="http://ipzilla.eclipse.org/"&gt;Contribution        Questionnaire&lt;/a&gt; and notify the Foundation of their intentions to use a library). And there are quite a few of them. If you look at the &lt;a href="http://download.eclipse.org/tools/orbit/downloads/drops/R20080807152315/"&gt;latest build&lt;/a&gt; (from back in August 2008), you'll see 83 different packages available.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://3.bp.blogspot.com/_nuPmrhsllU8/SeYHi3DXfvI/AAAAAAAAAEI/YhhoS0kcauI/s400/youtube_dependency.JPG" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 329px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5324951904887209714" /&gt;&lt;div&gt;In this case, I just want javax.activation, so I locate it in the list, download it, and drop it in my Eclipse environment. Once the workbench picks it up, I can add it as a dependency in the MANIFEST.MF file for my wrapper plug-in.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cool. So that pretty much wraps up my jar wrapper plug-in.  Not too tough there. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So now what? Now that we have this plug-in, we can write a quick little application to do something with it. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've gone ahead and created a simple class that does a very basic YouTube search...&lt;/div&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;package org.eclipse.datatools.sample.utube.sandbox;&lt;br /&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.net.URL;&lt;br /&gt;&lt;br /&gt;import com.google.gdata.client.youtube.YouTubeQuery;&lt;br /&gt;import com.google.gdata.client.youtube.YouTubeService;&lt;br /&gt;import com.google.gdata.data.youtube.VideoFeed;&lt;br /&gt;import com.google.gdata.util.ServiceException;&lt;br /&gt;&lt;br /&gt;public class UTubeUtils {&lt;br /&gt;&lt;br /&gt;public static String TR_FEED_URL = "http://gdata.youtube.com/feeds/api/standardfeeds/top_rated";//$NON-NLS-1$&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Return a list of video entries back to the calling method&lt;br /&gt;*/&lt;br /&gt;public static VideoFeed getResults(String author, String title) throws IOException, ServiceException&lt;br /&gt;{&lt;br /&gt;  YouTubeService myService = new YouTubeService(&lt;br /&gt;          "&lt;my&gt;", //$NON-NLS-1$&lt;br /&gt;          "&lt;my&gt;");  //$NON-NLS-1$&lt;br /&gt;&lt;br /&gt;  String VIDEO_FEED = TR_FEED_URL;&lt;br /&gt;  YouTubeQuery query = new YouTubeQuery(new URL(VIDEO_FEED));&lt;br /&gt;&lt;br /&gt;  //set the author&lt;br /&gt;  if( (author != null) &amp;amp;&amp;amp; author.length() &amp;gt; 0)&lt;br /&gt;  {&lt;br /&gt;      query.setAuthor(author);&lt;br /&gt;  }&lt;br /&gt;  //set the actual query string&lt;br /&gt;  if((title != null) &amp;amp;&amp;amp; title.length() &amp;gt; 0)&lt;br /&gt;  {&lt;br /&gt;      query.setFullTextQuery(title);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  //choose most viewed as the ordering&lt;br /&gt;  query.setOrderBy(YouTubeQuery.OrderBy.VIEW_COUNT);&lt;br /&gt;&lt;br /&gt;  //get the video feed&lt;br /&gt;  VideoFeed feed = myService.query(query,VideoFeed.class);&lt;br /&gt;  return feed;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/my&gt;&lt;/my&gt;&lt;/code&gt;&lt;/pre&gt;So all that this really does is get a list of the top rated videos currently at YouTube. Pretty straightforward.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You'll notice a couple of things about the code. You have to have a developer key (your own ID as a developer or one for a particular company) and a client ID (seems you can have many of these). This basically lets the Google &amp;amp; YouTube APIs know that you're legitimately asking for data and aren't some rogue hacker trying to cause trouble. You can get these two items &lt;a href="http://code.google.com/apis/youtube/dashboard/"&gt;here&lt;/a&gt;. Once you have them, you can just create new constants for them and just use the constants.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;So if you swap your developer key and client ID into the above code, it should do a quick search. But how should we test it?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I like creating new plug-in projects with example menu actions. To do this is pretty easy... Right-click in the Package Explorer, select New-&gt;Project, and in the list of Wizards select "Plug-in Project". Name it and set the plug-in ID and other info, and on the "Templates" page in the wizard, select "Plug-in with a popup menu." By default it keys off an IFile, so you can get to it from the Navigator or Project Navigator in the workbench.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It goes off and creates the basic code and you can then use your new utility class pretty easily by changing the run() method in the action class to look something like this:&lt;/div&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;    public void run(IAction action) {&lt;br /&gt;   try {&lt;br /&gt;       VideoFeed feed = UTubeUtils.getResults(null, null);&lt;br /&gt;       if (feed != null) {&lt;br /&gt;           if (feed.getEntries() != null &amp;amp;&amp;amp; feed.getEntries().size() &amp;gt; 0) {&lt;br /&gt;               System.out.println("Found some videos...");&lt;br /&gt;               Iterator&amp;lt;VideoEntry&amp;gt; iter = feed.getEntries().listIterator();&lt;br /&gt;               while (iter.hasNext()) {&lt;br /&gt;                   VideoEntry entry = iter.next();&lt;br /&gt;                   System.out.println("Video Entry: " + entry.getTitle().getPlainText());&lt;br /&gt;               }&lt;br /&gt;           }&lt;br /&gt;           // clean up&lt;br /&gt;           feed = null;&lt;br /&gt;       }&lt;br /&gt;   } catch (ServiceException se) {&lt;br /&gt;       se.printStackTrace();&lt;br /&gt;   } catch (IOException ie) {&lt;br /&gt;       ie.printStackTrace();&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;img src="http://4.bp.blogspot.com/_nuPmrhsllU8/SeYOYY9C7CI/AAAAAAAAAEQ/Zf3JJRdR2OE/s400/youtube_sandbox_console.JPG" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 201px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5324959421590334498" /&gt;When you run the workbench and right-click on your action in the Navigator, you should see something like this in your development workbench console view...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Success! We have a plug-in wrapper for our YouTube jars and their dependencies. And we've verified that we can use those APIs in an Eclipse environment.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Next we have to figure out how to hook up YouTube to DTP and show a video in the workbench. And after that we can fine tune our look and feel to make it easier for our users.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Maybe this was a bit longer to write up than I'd thought originally, but this part of the process only took me about half a day when I was creating this code the first time. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Questions? Comments? Drop me a note here and I'll be happy to get back to you.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Next time I'll write about hooking up YouTube and DTP and how I used the built-in Eclipse web browser UI component to show videos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;--Fitz&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;/div&gt;&lt;fieldset class="zemanta-related"&gt;&lt;legend class="zemanta-related-title"&gt;Related articles by Zemanta&lt;/legend&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://fitzdtp.blogspot.com/2009/04/i-want-my-dtptv.html"&gt; I Want My DTPtv... &lt;/a&gt; (fitzdtp.blogspot.com)&lt;/li&gt;&lt;/ul&gt;&lt;/fieldset&gt;  &lt;div class="zemanta-pixie" style="margin-top:10px;height:15px"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/3a4b17ad-c4ad-4bb0-9966-594d6b46401d/" title="Reblog this post [with Zemanta]"&gt;&lt;img class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_c.png?x-id=3a4b17ad-c4ad-4bb0-9966-594d6b46401d" alt="Reblog this post [with Zemanta]" style="border:none;float:right" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-8976379032879305008?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/8976379032879305008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=8976379032879305008' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/8976379032879305008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/8976379032879305008'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2009/04/dtptv-part-1-using-youtube-apis-in.html' title='DTPtv - Part 1 - Using YouTube APIs in Eclipse'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_nuPmrhsllU8/SeYHi3DXfvI/AAAAAAAAAEI/YhhoS0kcauI/s72-c/youtube_dependency.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-3666816097471156938</id><published>2009-04-13T10:45:00.005-06:00</published><updated>2009-04-13T10:58:14.764-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Languages'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Tools Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Definition Language'/><category scheme='http://www.blogger.com/atom/ns#' term='Application programming interface'/><category scheme='http://www.blogger.com/atom/ns#' term='DTP'/><title type='text'>DTP APis and How to Use a Transient Connection Profile</title><content type='html'>Hi there...&lt;br /&gt;&lt;br /&gt;On the DTP newsgroup we had a question about using DTP &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Application_programming_interface" title="Application programming interface" rel="wikipedia"&gt;APIs&lt;/a&gt; to create a new transient connection profile and then use that to execute some &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Data_Definition_Language" title="Data Definition Language" rel="wikipedia"&gt;DDL&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;It's pretty easy actually... The trick for the transient profile is knowing all the bits and pieces you have to have ahead of time, like the:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;provider ID, which is the connection profile type ID&lt;br /&gt;&lt;/li&gt;&lt;li&gt;vendor and version, which relate to the vendor/version of the database you're connecting to&lt;/li&gt;&lt;li&gt;and then the driver path. Note that you can also use a pre-defined driver and get the DriverInstance from the DriverManager, then retrieve various properties like the vendor, version, class name, and driver path from there&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;So you end up with something like this:&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;    private static String providerID = "org.eclipse.datatools.connectivity.db.derby.embedded.connectionProfile"; //$NON-NLS-1$&lt;br /&gt;   private static String vendor = "Derby"; //$NON-NLS-1$&lt;br /&gt;   private static String version = "10.1"; //$NON-NLS-1$&lt;br /&gt;&lt;br /&gt;   private static String jarList = "C:\\Derby10.1.3.1\\db-derby-10.1.3.1-bin\\lib\\derby.jar"; //$NON-NLS-1$&lt;br /&gt;   private static String dbPath = "c:\\DerbyDatabases\\MyDB"; //$NON-NLS-1$&lt;br /&gt;   private static String userName = ""; //$NON-NLS-1$&lt;br /&gt;   private static String password = ""; //$NON-NLS-1$&lt;br /&gt;&lt;br /&gt;   private static String driverClass = "org.apache.derby.jdbc.EmbeddedDriver"; //$NON-NLS-1$&lt;br /&gt;   private static String driverURL = "jdbc:derby:" + dbPath + ";create=true"; //$NON-NLS-1$ //$NON-NLS-2$&lt;br /&gt;&lt;br /&gt;   public static Properties generateTransientDerbyProperties() {&lt;br /&gt;       Properties baseProperties = new Properties();&lt;br /&gt;       baseProperties.setProperty( IDriverMgmtConstants.PROP_DEFN_JARLIST, jarList );&lt;br /&gt;       baseProperties.setProperty(IJDBCConnectionProfileConstants.DRIVER_CLASS_PROP_ID, driverClass);&lt;br /&gt;       baseProperties.setProperty(IJDBCConnectionProfileConstants.URL_PROP_ID, driverURL);&lt;br /&gt;       baseProperties.setProperty(IJDBCConnectionProfileConstants.USERNAME_PROP_ID, userName);&lt;br /&gt;       baseProperties.setProperty(IJDBCConnectionProfileConstants.PASSWORD_PROP_ID, password);&lt;br /&gt;       baseProperties.setProperty(IJDBCConnectionProfileConstants.DATABASE_VENDOR_PROP_ID, vendor);&lt;br /&gt;       baseProperties.setProperty(IJDBCConnectionProfileConstants.DATABASE_VERSION_PROP_ID, version);&lt;br /&gt;       baseProperties.setProperty( IJDBCConnectionProfileConstants.SAVE_PASSWORD_PROP_ID, String.valueOf( true ) );&lt;br /&gt;       return baseProperties;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public void createTransientDerbyProfile() throws Exception {&lt;br /&gt;       ProfileManager pm = ProfileManager.getInstance();&lt;br /&gt;      &lt;br /&gt;       IConnectionProfile transientDerby = pm.createTransientProfile(providerID, generateTransientDerbyProperties());&lt;br /&gt;       // do something with the profile&lt;br /&gt;      &lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;And then once you have your transient profile, connect, get the &lt;a class="zem_slink" href="http://java.sun.com" title="Java (software platform)" rel="homepage"&gt;Java&lt;/a&gt; connection object, and execute your DDL...&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;        IStatus status = transientDerby.connect();&lt;br /&gt;       if (status.equals(IStatus.OK)) {&lt;br /&gt;           // success&lt;br /&gt;           java.sql.Connection conn = getJavaConnectionForProfile(transientDerby);&lt;br /&gt;           if (conn != null) {&lt;br /&gt;               try {&lt;br /&gt;                   java.sql.Statement stmt = conn.createStatement();&lt;br /&gt;                   java.sql.ResultSet results = stmt.executeQuery("&amp;lt;INSERT QUERY/DDL HERE&amp;gt;");&lt;br /&gt;               } catch (java.sql.SQLException sqle) {&lt;br /&gt;                   sqle.printStackTrace();&lt;br /&gt;               }&lt;br /&gt;&lt;br /&gt;           }&lt;br /&gt;          &lt;br /&gt;       } else {&lt;br /&gt;           // failure :(&lt;br /&gt;           if (status.getException() != null) {&lt;br /&gt;               status.getException().printStackTrace();&lt;br /&gt;           }&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;So not too bad. Great question though! Hope this helps!&lt;br /&gt;&lt;br /&gt;--Fitz&lt;br /&gt; &lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/44bddeea-0577-490c-97b0-be11289f9355/" title="Reblog this post [with Zemanta]"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_c.png?x-id=44bddeea-0577-490c-97b0-be11289f9355" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-3666816097471156938?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/3666816097471156938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=3666816097471156938' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/3666816097471156938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/3666816097471156938'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2009/04/dtp-apis-and-how-to-use-transient.html' title='DTP APis and How to Use a Transient Connection Profile'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-8557348048936005417</id><published>2009-04-09T14:12:00.006-06:00</published><updated>2009-04-09T14:55:53.238-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='YouTube'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Tools Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='Application programming interface'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Rich Client Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='DTP'/><title type='text'>I Want My DTPtv...</title><content type='html'>Hi again...&lt;br /&gt;&lt;br /&gt;So one of my presentations at EclipseCon 2009 was "DTPtv and Other Wacky Ideas."&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nuPmrhsllU8/Sd5Zshw9FtI/AAAAAAAAAEA/klsEKrXAfpE/s1600-h/DTPtv_bluerays.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 249px; height: 167px;" src="http://4.bp.blogspot.com/_nuPmrhsllU8/Sd5Zshw9FtI/AAAAAAAAAEA/klsEKrXAfpE/s400/DTPtv_bluerays.jpg" alt="" id="BLOGGER_PHOTO_ID_5322790431111321298" border="0" /&gt;&lt;/a&gt;Was this truly a wacky idea? Probably. Who would have thought to merge &lt;a href="http://www.eclipse.org"&gt;Eclipse&lt;/a&gt;, &lt;a class="zem_slink" href="http://www.youtube.com/" title="YouTube" rel="homepage"&gt;YouTube&lt;/a&gt;, and &lt;a href="http://www.eclipse.org/datatools"&gt;DTP &lt;/a&gt;in one go?&lt;br /&gt;&lt;br /&gt;My goal was two-fold... First, I wanted to show that DTP can be used for something more than just databases. Far too often we're pidgeonholed as a provider of database tools. And though we do that, we do much more as well. Second, I wanted to do something out of the usual box, and YouTube is pretty dang far out of the box...&lt;br /&gt;&lt;br /&gt;Basically I focused on three different things...&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Make the YouTube &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Application_programming_interface" title="Application programming interface" rel="wikipedia"&gt;APIs&lt;/a&gt; accessible and test them.&lt;/li&gt;&lt;li&gt;Create a YouTube Search connection profile in DTP so you could create and manage multiple searches in a variety of ways.&lt;/li&gt;&lt;li&gt;Create a viewer that would allow a user to take advantage of YouTube searches on the fly and see the results within the &lt;a class="zem_slink" href="http://www.eclipse.org/" title="Eclipse (software)" rel="homepage"&gt;Eclipse IDE&lt;/a&gt; or in an &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Rich_Client_Platform" title="Rich Client Platform" rel="wikipedia"&gt;RCP&lt;/a&gt; application.&lt;/li&gt;&lt;/ol&gt;Now why would you want to do this you might ask? Good question.&lt;br /&gt;&lt;br /&gt;&lt;p class="zemanta-img zemanta-action-dragged" style="margin: 1em; float: right; display: block; width: 204px;"&gt;&lt;a href="http://www.crunchbase.com/company/youtube"&gt;&lt;img src="http://www.crunchbase.com/assets/images/resized/0001/0724/10724v1-max-450x450.png" alt="Image representing YouTube as depicted in Crun..." style="border: medium none ; display: block;" width="194" height="71" /&gt;&lt;/a&gt;&lt;span class="zemanta-img-attribution"&gt;Image via &lt;a href="http://www.crunchbase.com"&gt;CrunchBase&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;Let's say you write Eclipse RCP applications for a company with a healthy education department. They want to help out beginning users by recording tutorials and putting them up on YouTube. Not only will it help your users, but it works as a bit of helpful &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Marketing" title="Marketing" rel="wikipedia"&gt;marketing&lt;/a&gt; for your sales staff. And now that they're doing this, they want a way to be able to take advantage of these YouTube videos right inside the application.&lt;br /&gt;&lt;br /&gt;Maybe this isn't so far fetched after all?&lt;br /&gt;&lt;br /&gt;In the next series of blog posts, I'll focus on the three steps I took to get this all working. I demoed working code at the conference and will clean it up a little, zip it up, and have it available on a &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/File_sharing" title="File sharing" rel="wikipedia"&gt;file sharing&lt;/a&gt; site soon. I hope to also contribute it back to the Examples project at Eclipse, as it crosses project boundaries.&lt;br /&gt;&lt;br /&gt;As always, please feel free to ask questions or make comments as I go through the process. Many of you will find this old hat, but I'm hoping someone can take advantage of the information. :)&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;--Fitz&lt;br /&gt;&lt;br /&gt;&lt;fieldset class="zemanta-related"&gt;&lt;legend class="zemanta-related-title"&gt;Related articles by Zemanta&lt;/legend&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://fitzdtp.blogspot.com/2009/04/eclipsecon-2009-post-mortem.html"&gt; EclipseCon 2009 Post-mortem &lt;/a&gt; (fitzdtp.blogspot.com)&lt;/li&gt;&lt;/ul&gt;&lt;/fieldset&gt;  &lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/0d70b04f-dd0d-4298-8d82-eb6b9288704e/" title="Reblog this post [with Zemanta]"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_c.png?x-id=0d70b04f-dd0d-4298-8d82-eb6b9288704e" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related"&gt;&lt;script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-8557348048936005417?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/8557348048936005417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=8557348048936005417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/8557348048936005417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/8557348048936005417'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2009/04/i-want-my-dtptv.html' title='I Want My DTPtv...'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_nuPmrhsllU8/Sd5Zshw9FtI/AAAAAAAAAEA/klsEKrXAfpE/s72-c/DTPtv_bluerays.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-8060427495319304799</id><published>2009-04-02T09:08:00.004-06:00</published><updated>2009-04-02T09:25:50.081-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='United States'/><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='California'/><category scheme='http://www.blogger.com/atom/ns#' term='Application programming interface'/><category scheme='http://www.blogger.com/atom/ns#' term='Santa Clara  California'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Santa Clara'/><category scheme='http://www.blogger.com/atom/ns#' term='Germany'/><category scheme='http://www.blogger.com/atom/ns#' term='DTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Counties'/><title type='text'>EclipseCon 2009 Post-mortem</title><content type='html'>Hey all!&lt;br /&gt;&lt;br /&gt;I'm still in the process of getting my act back together after EclipseCon 2009 last week in &lt;a class="zem_slink" href="http://maps.google.com/maps?ll=37.3544444444,-121.969166667&amp;amp;spn=0.1,0.1&amp;amp;q=37.3544444444,-121.969166667%20%28Santa%20Clara%2C%20California%29&amp;amp;t=h" title="Santa Clara, California" rel="geolocation"&gt;Santa Clara, California&lt;/a&gt;. Was a great conference as per usual, and a bit of an eye-opener for me at least as far as the excitement (or lack thereof) for DTP in the conference community.&lt;br /&gt;&lt;br /&gt;&lt;p class="zemanta-action-dragged zemanta-rich" style="margin: 1em; float: right; display: block; width: 310px;"&gt;&lt;iframe marginheight="0" marginwidth="0" src="http://maps.google.com/?ie=UTF8&amp;amp;ll=37.3544444444,-121.969166667&amp;amp;spn=0.219778,0.613861&amp;amp;z=11&amp;amp;output=embed&amp;amp;s=AARTsJqzARj-Z8VnW5pkPMLMmZbqrJcYpw" scrolling="no" width="300" frameborder="0" height="250"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;small&gt;&lt;a href="http://maps.google.com/?ie=UTF8&amp;amp;ll=37.3544444444,-121.969166667&amp;amp;spn=0.219778,0.613861&amp;amp;z=11&amp;amp;source=embed" style="color: rgb(0, 0, 255); text-align: left;"&gt;View Larger Map&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;First, let me say that I am &lt;span style="font-weight: bold;"&gt;very&lt;/span&gt; excited about Amazon's announcement about the AWS Toolkit for &lt;a class="zem_slink" href="http://www.eclipse.org/" title="Eclipse (software)" rel="homepage"&gt;Eclipse&lt;/a&gt;. Eclipse in the Cloud is a very cool concept and one that I think will prove to be fertile ground for all sorts of interesting applications. The exciting part for me was hearing that the AWS Toolkit team is still looking at using DTP to help them integrate with their &lt;a class="zem_slink" href="http://www.amazon.com/gp/browse.html?node=342335011" title="SimpleDB" rel="homepage"&gt;SimpleDB&lt;/a&gt; database in the Cloud in a future release of the toolkit.&lt;br /&gt;&lt;br /&gt;Anything we at DTP can do to help with that effort would be very educational and cool for us. And as always, we'll help wherever we can. :)&lt;br /&gt;&lt;br /&gt;Second... There were a TON of great talks at EclipseCon this year. Though E4 seemed to get most of the buzz, I think that runtime talks were running a close second. After attending a number of talks in all parts of the spectrum (business, coding, new tools, and so on), I came away with a ton of cool ideas I'd love to explore if time allowed. Things from exposing DTP as &lt;a class="zem_slink" href="http://www.osgi.org" title="OSGi" rel="homepage"&gt;OSGi&lt;/a&gt; services, to using the Data Binding &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Application_programming_interface" title="Application programming interface" rel="wikipedia"&gt;APIs&lt;/a&gt;, to using Zest to possibly help to visualize a &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Database_schema" title="Database schema" rel="wikipedia"&gt;database schema&lt;/a&gt; and other things. I have a loooong list of things to explore.&lt;br /&gt;&lt;br /&gt;And third, I was bummed about the lack of interest in our DTP talks this year. We had a few people show up at the DTP tutorial on Monday, and I had a few people at my DTPtv talk, but we ended up with an empty room for our set of short talks at the end of Thursday.&lt;br /&gt;&lt;br /&gt;Now, I know that DTP is really more of a "plumbing" project and I get that plumbing isn't sexy. But when people put time and effort into creating presentations (and in one case fly from Germany to present), it's disappointing that nobody wanted to listen.&lt;br /&gt;&lt;br /&gt;Yes, there were probably extenuating circumstances. I know that many people left the conference early to catch flights and there were other talks that were probably much more exciting (I missed John &amp;amp; Max's talk in the same slot and would have liked to attended). But still...&lt;br /&gt;&lt;br /&gt;Even with that bummer deal, I still think it was an excellent conference. Scott Rosenbaum and the program committee (of which I was a very very minor part) did a great job recruiting amazing keynotes and cool folks to come talk about their technologies. And as I said, I came away brimming with ideas for DTP.&lt;br /&gt;&lt;br /&gt;So maybe next year will be a better year for DTP... Who knows?&lt;br /&gt;&lt;br /&gt;I'll be writing up one or two more posts about my EclipseCon experience this year, including a post about my DTPtv talk, which (though it went short), I had a great time doing.&lt;br /&gt;&lt;br /&gt;Thanks to everybody involved in the conference this year. Let's do it again next year!&lt;br /&gt;&lt;br /&gt;--Fitz&lt;br /&gt;&lt;br /&gt;&lt;fieldset class="zemanta-related"&gt;&lt;legend class="zemanta-related-title"&gt;Related articles by Zemanta&lt;/legend&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://aws.typepad.com/aws/2009/03/new-aws-toolkit-for-eclipse.html"&gt;New AWS Toolkit for Eclipse&lt;/a&gt; (aws.typepad.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://r.zemanta.com/?u=http%3A//www.infoworld.com/article/09/03/25/Amazon_stresses_cloud_opportunities_for_developers_1.html&amp;amp;a=3970136&amp;amp;rid=71e34436-ec80-46d4-904b-56fb32f66fd9&amp;amp;e=8cde6f7668efc11cd71a7da1e7649ed7"&gt;Amazon stresses cloud opportunities for developers&lt;/a&gt; (infoworld.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://ianskerrett.wordpress.com/2009/03/25/cloud-day-at-eclipsecon/"&gt;Cloud Day at EclipseCon&lt;/a&gt; (ianskerrett.wordpress.com)&lt;/li&gt;&lt;/ul&gt;&lt;/fieldset&gt;  &lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/71e34436-ec80-46d4-904b-56fb32f66fd9/" title="Zemified by Zemanta"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_c.png?x-id=71e34436-ec80-46d4-904b-56fb32f66fd9" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related"&gt;&lt;script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-8060427495319304799?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/8060427495319304799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=8060427495319304799' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/8060427495319304799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/8060427495319304799'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2009/04/eclipsecon-2009-post-mortem.html' title='EclipseCon 2009 Post-mortem'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-2553943776180517378</id><published>2009-03-19T09:09:00.004-06:00</published><updated>2009-03-19T09:28:54.469-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='YouTube'/><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='California'/><category scheme='http://www.blogger.com/atom/ns#' term='Application programming interface'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Ingres'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseCon'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>DTP at EclipseCon 2009</title><content type='html'>Hey there!&lt;br /&gt;&lt;br /&gt;Yes, it's almost that time again... EclipseCon 2009 starts with a bang on Monday. Can you believe it? It's already here!!&lt;br /&gt;&lt;br /&gt;I head out to the (hopefully sunny) state of &lt;a class="zem_slink" href="http://maps.google.com/maps?ll=37.0,-120.0&amp;amp;spn=1.0,1.0&amp;amp;q=37.0,-120.0%20%28California%29&amp;amp;t=h" title="California" rel="geolocation"&gt;California&lt;/a&gt; on Sunday morning early for a boatload of meetings that afternoon and then &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Dynamic_Trunking_Protocol" title="Dynamic Trunking Protocol" rel="wikipedia"&gt;DTP&lt;/a&gt; has a tutorial bright and early Monday morning at 8am.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nuPmrhsllU8/SXSoXPstt1I/AAAAAAAAADo/oAknHJqoYAc/S1600-R/130x100_speakingEC2009.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 130px; height: 100px;" src="http://4.bp.blogspot.com/_nuPmrhsllU8/SXSoXPstt1I/AAAAAAAAADo/oAknHJqoYAc/S1600-R/130x100_speakingEC2009.gif" alt="" border="0" /&gt;&lt;/a&gt;But I thought I'd fill everyone in on what's cool in the world of DTP at EclipseCon this year...&lt;br /&gt;&lt;br /&gt;We have our tutorial obviously -- "&lt;a href="http://www.eclipsecon.org/2009/sessions?id=686"&gt;Using and Extending Eclipse Data Tools (DTP)&lt;/a&gt;" on Monday morning at 8am. If you're planning on attending, please check out the list of &lt;a href="http://wiki.eclipse.org/EclipseCon_2009_DTP_Tutorial_Prerequisites"&gt;pre-requisites&lt;/a&gt;. We'll start with the DTP tooling, talk about DTP &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Application_programming_interface" title="Application programming interface" rel="wikipedia"&gt;APIs&lt;/a&gt;, and then go a bit into how to extend the ODA and &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/SQL" title="SQL" rel="wikipedia"&gt;SQL&lt;/a&gt; editor for your own particular uses. Linda Chan (&lt;a class="zem_slink" href="http://www.actuate.com/" title="Actuate" rel="homepage"&gt;Actuate&lt;/a&gt;), &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Brian_Payton" title="Brian Payton" rel="wikipedia"&gt;Brian Payton&lt;/a&gt; (&lt;a class="zem_slink" href="http://www.ibm.com/" title="IBM" rel="homepage"&gt;IBM&lt;/a&gt;), and myself will be presenting.&lt;br /&gt;&lt;br /&gt;We also have a couple of long talks...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;"&lt;a href="http://www.eclipsecon.org/2009/sessions?id=341"&gt;DTPtv and Other Wacky Ideas&lt;/a&gt;" (My talk merging DTP and &lt;a class="zem_slink" href="http://www.youtube.com/" title="YouTube" rel="homepage"&gt;YouTube&lt;/a&gt;... yeah, you read that right!)&lt;/li&gt;&lt;li&gt;"&lt;a href="http://www.eclipsecon.org/2009/sessions?id=520"&gt;Generating intelligent data access widgets&lt;/a&gt;" (Our friends at &lt;a class="zem_slink" href="http://www.ingres.com/" title="Ingres (database)" rel="homepage"&gt;Ingres&lt;/a&gt; talking about some cool new functionality built on DTP.)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;And a number of short talks that will be collected into one curated session hosted by yours truly...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The curated session with all of these short talks is "&lt;a href="http://www.eclipsecon.org/2009/sessions?id=688"&gt;Data Tools from Users to Commercial Extenders&lt;/a&gt;"&lt;/li&gt;&lt;li&gt;Included in this set of short talks:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;"&lt;a href="http://www.eclipsecon.org/2009/sessions?id=513"&gt;Access your data without Eclipse clutter!&lt;/a&gt;" (more from our friends at Ingres)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;"&lt;a href="http://www.eclipsecon.org/2009/sessions?id=568"&gt;Getting started with the DTP SQL Query Builder&lt;/a&gt;" (Brian Payton - IBM)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;"&lt;a href="http://www.eclipsecon.org/2009/sessions?id=642"&gt;IBM pureQuery: leveraging the DTP project to integrate Java and SQL development&lt;/a&gt;" (Brian Payton - IBM)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;So it's not forgotten, we also have a Birds of a Feather session on Monday night. If you want to come and chat, ask questions, and see what's going on in the world of DTP please drop by!&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.eclipsecon.org/2009/sessions?id=762"&gt;Eclipse Data Tools Platform (DTP) Bof&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;And if you're going to attend the &lt;a href="http://www.eclipsecon.org/2009/sessions?id=745"&gt;Eclipse Community Spotlight&lt;/a&gt; panel at the end of the conference, you'll get to see a bunch of us talking about what's going on in the world of Eclipse.&lt;br /&gt;&lt;br /&gt;So be sure to check us out while you're at EclipseCon! I hope to see you there!&lt;br /&gt;&lt;br /&gt;--Fitz&lt;br /&gt;&lt;fieldset class="zemanta-related"&gt;&lt;legend class="zemanta-related-title"&gt;Related articles by Zemanta&lt;/legend&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://fitzdtp.blogspot.com/2009/01/cool-dtp-talks-at-eclipsecon-2009.html"&gt;Cool DTP Talks at EclipseCon 2009&lt;/a&gt; (fitzdtp.blogspot.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://fitzdtp.blogspot.com/2008/12/data-tools-at-eclipsecon-2009.html"&gt;Data Tools at EclipseCon 2009&lt;/a&gt; (fitzdtp.blogspot.com)&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://fitzdtp.blogspot.com/2009/02/podcast-about-dtp-at-eclipsecon-2009.html"&gt;Podcast about DTP at EclipseCon 2009&lt;/a&gt; (fitzdtp.blogspot.com)&lt;/li&gt;&lt;/ul&gt;&lt;/fieldset&gt;  &lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/2aa9f34d-9a99-4e4e-82d7-1d97f0ba4123/" title="Zemified by Zemanta"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_c.png?x-id=2aa9f34d-9a99-4e4e-82d7-1d97f0ba4123" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related"&gt;&lt;script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-2553943776180517378?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/2553943776180517378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=2553943776180517378' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/2553943776180517378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/2553943776180517378'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2009/03/dtp-at-eclipsecon-2009.html' title='DTP at EclipseCon 2009'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-2847136028105168703</id><published>2009-02-17T09:40:00.004-07:00</published><updated>2009-02-17T09:49:26.208-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kermit the Frog'/><title type='text'>Podcast about DTP at EclipseCon 2009</title><content type='html'>Hi all!&lt;br /&gt;&lt;br /&gt;&lt;p class="zemanta-img zemanta-action-dragged" style="margin: 1em; float: right; display: block; width: 212px;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Image:Tv_the_muppet_show_bein_green_gone.png"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/en/thumb/4/48/Tv_the_muppet_show_bein_green_gone.png/202px-Tv_the_muppet_show_bein_green_gone.png" alt="Kermit the Frog" style="border: medium none ; display: block;" width="202" height="158" /&gt;&lt;/a&gt;&lt;span class="zemanta-img-attribution"&gt;Image via &lt;a href="http://en.wikipedia.org/wiki/Image:Tv_the_muppet_show_bein_green_gone.png"&gt;Wikipedia&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;A couple of weeks ago, Wayne Beaton was kind enough to put up with me for a &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Podcast" title="Podcast" rel="wikipedia"&gt;podcast&lt;/a&gt; in his series about EclipseCon 2009. What did we talk about? The &lt;a href="http://www.eclipse.org/datatools"&gt;Data Tools Platform&lt;/a&gt; of course!&lt;br /&gt;&lt;br /&gt;We chatted about some of the talks we have for DTP at EclipseCon this year. And we of course hope to see you DTP community members at each of them... ok, maybe just a few (there are so many great presentations, you almost wish you could clone yourself!). But definitely stop by!&lt;br /&gt;&lt;br /&gt;Though I still think I sound like &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Kermit_the_Frog" title="Kermit the Frog" rel="wikipedia"&gt;Kermit the Frog&lt;/a&gt;, the podcast is up there for all to hear at &lt;a href="http://live.eclipse.org/node/674"&gt;Eclipse Live&lt;/a&gt;. Check it out and let me know what you think!&lt;br /&gt;&lt;br /&gt;Thanks Wayne!&lt;br /&gt;--Fitz&lt;br /&gt;&lt;br /&gt; &lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/de611411-1d32-4000-bd96-af76552310cd/" title="Zemified by Zemanta"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_c.png?x-id=de611411-1d32-4000-bd96-af76552310cd" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-2847136028105168703?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/2847136028105168703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=2847136028105168703' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/2847136028105168703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/2847136028105168703'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2009/02/podcast-about-dtp-at-eclipsecon-2009.html' title='Podcast about DTP at EclipseCon 2009'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-8911881177358072149</id><published>2009-01-19T09:21:00.004-07:00</published><updated>2009-01-19T09:34:23.597-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Languages'/><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Application programming interface'/><category scheme='http://www.blogger.com/atom/ns#' term='Ingres'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseCon'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Database Connectivity'/><category scheme='http://www.blogger.com/atom/ns#' term='DTP'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Cool DTP Talks at EclipseCon 2009</title><content type='html'>Hey all!&lt;br /&gt;&lt;br /&gt;I'm always amazed by the depth and breadth of talks at EclipseCon and this year is no different. In the Data Tooling category, we have a diverse set of talks (you can see the list &lt;a href="https://www.eclipsecon.org/2009/sessions?category=Frameworks%20-%20Data%20Tooling"&gt;here&lt;/a&gt;) on everything from some new tooling we've been working on, updates to the Graphical &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/SQL" title="SQL" rel="wikipedia"&gt;SQL&lt;/a&gt; Query Builder,  how &lt;a class="zem_slink" href="http://www.ingres.com/" title="Ingres (database)" rel="homepage"&gt;Ingres&lt;/a&gt; is rolling DTP components in new and unique ways, to using &lt;a class="zem_slink" href="http://www.youtube.com/" title="YouTube" rel="homepage"&gt;YouTube&lt;/a&gt; in DTP and how a commercial vendor (&lt;a class="zem_slink" href="http://www.ibm.com/" title="IBM" rel="homepage"&gt;IBM&lt;/a&gt;) is using and extending DTP &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Application_programming_interface" title="Application programming interface" rel="wikipedia"&gt;APIs&lt;/a&gt; for their &lt;a class="zem_slink" href="http://www.ibm.com/software/data/studio/purequery/" title="IBM PureQuery" rel="homepage"&gt;PureQuery&lt;/a&gt; product.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nuPmrhsllU8/SXSrc-rpoGI/AAAAAAAAAD4/Dgq754ZzijA/s1600-h/130x100_speakingEC2009.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 130px; height: 100px;" src="http://3.bp.blogspot.com/_nuPmrhsllU8/SXSrc-rpoGI/AAAAAAAAAD4/Dgq754ZzijA/s400/130x100_speakingEC2009.gif" alt="" id="BLOGGER_PHOTO_ID_5293043976417943650" border="0" /&gt;&lt;/a&gt;I have to admit I'm sort of partial to the YouTube presentation I'm doing :), but I'm very curious to hear Ingres and IBM talk about their tooling and products and how DTP is playing a role in those.&lt;br /&gt;&lt;br /&gt;For those of you just getting started with DTP, we have a tutorial scheduled for the Monday of the conference that's going to walk through a ton of topics from adding a new &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity" rel="wikipedia"&gt;JDBC&lt;/a&gt; driver to the mix, to supporting a new database, and customizing SQL syntax and so on...&lt;br /&gt;&lt;br /&gt;DTP is much more than just a great set of tools for data access... It's a great community. And EclipseCon is when that community comes together.&lt;br /&gt;&lt;br /&gt;Come join our community!&lt;br /&gt;&lt;br /&gt;--Fitz&lt;br /&gt;&lt;fieldset class="zemanta-related"&gt;&lt;legend class="zemanta-related-title"&gt;Related articles by Zemanta&lt;/legend&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.devx.com/DevX/Article/40240?trk=DXRSS_LATEST"&gt;Smoothly Blending Java and SQL with pureQuery&lt;/a&gt;&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://ostatic.com/177040-blog/new-open-source-database-offerings-from-ingres-and-sun"&gt;New Open Source Database Offerings from Ingres and Sun&lt;/a&gt;&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://fitzdtp.blogspot.com/2008/12/data-tools-at-eclipsecon-2009.html"&gt;Data Tools at EclipseCon 2009&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/fieldset&gt;  &lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/bf9b0b0a-0d7b-471e-b44f-d626b2f6b710/" title="Zemified by Zemanta"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_c.png?x-id=bf9b0b0a-0d7b-471e-b44f-d626b2f6b710" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-8911881177358072149?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/8911881177358072149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=8911881177358072149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/8911881177358072149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/8911881177358072149'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2009/01/cool-dtp-talks-at-eclipsecon-2009.html' title='Cool DTP Talks at EclipseCon 2009'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_nuPmrhsllU8/SXSrc-rpoGI/AAAAAAAAAD4/Dgq754ZzijA/s72-c/130x100_speakingEC2009.gif' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-5796562005947137110</id><published>2008-12-19T08:44:00.004-07:00</published><updated>2008-12-19T08:56:46.858-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='YouTube'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Rich Client Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Data Tools at EclipseCon 2009</title><content type='html'>Hey all!&lt;br /&gt;&lt;br /&gt;Yes, the holidays are almost upon us... But even better than that, EclipseCon 2009 is just around the corner! (Ok, maybe not RIGHT around the corner, but three months will zip by in no time.)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nuPmrhsllU8/SUvB1Se6I-I/AAAAAAAAADg/LG3ZPXgRsJs/s1600-h/130x100_speakingEC2009.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 130px; height: 100px;" src="http://1.bp.blogspot.com/_nuPmrhsllU8/SUvB1Se6I-I/AAAAAAAAADg/LG3ZPXgRsJs/s320/130x100_speakingEC2009.gif" alt="" id="BLOGGER_PHOTO_ID_5281528109260743650" border="0" /&gt;&lt;/a&gt;This year in the Data Tools track we have a tutorial coming up and bunch of cool talks from a number of different directions.&lt;br /&gt;&lt;br /&gt;Though I'm helping with the tutorial this year and moderating a block of short talks, I also am talking about how to use DTP to connect to something other than a database. After all, not all data is in databases!&lt;br /&gt;&lt;br /&gt;My long talk this year will show how DTP and the Data Source Explorer can be used for searching and viewing &lt;a href="http://www.youtube.com/" title="YouTube" rel="homepage" class="zem_slink"&gt;YouTube&lt;/a&gt; videos in &lt;a href="http://www.eclipse.org/" title="Eclipse (software)" rel="homepage" class="zem_slink"&gt;Eclipse&lt;/a&gt;. How do these two worlds meet? Come to my talk and find out!&lt;br /&gt;&lt;br /&gt;Besides that, I get to moderate a set of three cool short talks. These bright folks will talk about how DTP is being used in &lt;a href="http://en.wikipedia.org/wiki/Rich_Client_Platform" title="Rich Client Platform" rel="wikipedia" class="zem_slink"&gt;RCP&lt;/a&gt; as a database developer's type of tool, what's going on with the &lt;a href="http://en.wikipedia.org/wiki/SQL" title="SQL" rel="wikipedia" class="zem_slink"&gt;SQL&lt;/a&gt; Query Builder in Galileo, and how DTP is being used in cool ways by a commercial application.&lt;br /&gt;&lt;br /&gt;So be sure to check out some of our talks this year! In another post, I'll talk some about what to expect from our tutorial and some of the other cool talks going on at EC2009 that I'm excited about!&lt;br /&gt;&lt;br /&gt;Register today and don't forget to reserve a room at the hotel (it fills up fast!)!&lt;br /&gt;&lt;br /&gt;Happy Holidays to all!&lt;br /&gt;--Fitz&lt;br /&gt;&lt;br /&gt;&lt;fieldset class="zemanta-related"&gt;&lt;legend class="zemanta-related-title"&gt;Related articles by Zemanta&lt;/legend&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://fitzdtp.blogspot.com/2008/07/how-are-you-using-dtp.html"&gt;How are YOU using DTP?&lt;/a&gt;&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.theregister.co.uk/2008/06/16/eclipse_ganymede_overview/"&gt;Eclipse projects squeeze into record Summer fun pack&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/fieldset&gt;  &lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/af087fee-f945-442c-8eea-58e7bb8013e8/" title="Zemified by Zemanta"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=af087fee-f945-442c-8eea-58e7bb8013e8" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-5796562005947137110?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/5796562005947137110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=5796562005947137110' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/5796562005947137110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/5796562005947137110'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2008/12/data-tools-at-eclipsecon-2009.html' title='Data Tools at EclipseCon 2009'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_nuPmrhsllU8/SUvB1Se6I-I/AAAAAAAAADg/LG3ZPXgRsJs/s72-c/130x100_speakingEC2009.gif' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-7992104045482173313</id><published>2008-12-16T09:09:00.000-07:00</published><updated>2008-12-16T09:09:00.936-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VM'/><category scheme='http://www.blogger.com/atom/ns#' term='Ganymede'/><category scheme='http://www.blogger.com/atom/ns#' term='EMF'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='DTP'/><title type='text'>Out of Memory Errors...</title><content type='html'>&lt;span class="zemanta-img" style="margin: 1em; float: right; display: block;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Image:Ganymede_g1_true.jpg"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/en/thumb/2/2e/Ganymede_g1_true.jpg/202px-Ganymede_g1_true.jpg" alt="True-color image taken by the Galileo probe" style="border: medium none ; display: block;" width="202" height="216" /&gt;&lt;/a&gt;&lt;span class="zemanta-img-attribution"&gt;Image via &lt;a href="http://en.wikipedia.org/wiki/Image:Ganymede_g1_true.jpg"&gt;Wikipedia&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;Hi all...&lt;br /&gt;&lt;br /&gt;I recently spent about a day and a half chasing my tail trying to track down some bizarre out of memory errors I was running into with Ganymede SR1 when debugging some DTP stuff and thought I'd pass along what I learned. I was continually running out of heap space while debugging, which was very troubling.&lt;br /&gt;&lt;br /&gt;At first, I thought I had somehow corrupted my workspace. So I created a new workspace and tried it again (several times actually) and ended up with the same problem.&lt;br /&gt;&lt;br /&gt;Next, I thought I'd try the Galileo Platform Galileo M3 build (along with the associated GEF, EMF, and DTP builds) and see if I got the error. At first I didn't, and I thought 3.5 might have fixed the problem... [sigh] No luck.&lt;br /&gt;&lt;br /&gt;So then I started poking around on Google, trying to figure out how to bump up my heap space.&lt;br /&gt;&lt;br /&gt;I kept running across this suggestion (which after thinking about it was kind a "well duh" kind of thing):&lt;br /&gt;&lt;blockquote&gt;"Add -Xms256M -Xmx512M to the VM arguments for the runtime configuration or on the main &lt;a href="http://www.eclipse.org/" title="Eclipse (software)" rel="homepage" class="zem_slink"&gt;Eclipse&lt;/a&gt; command line when you start it up..."&lt;/blockquote&gt;&lt;br /&gt;Lo and behold it works now in Galileo and Ganymede. Life is good.&lt;br /&gt;&lt;br /&gt;But it was a frustrating end to the week, only to discover that I was just oblivious to the simple solution. :(&lt;br /&gt;&lt;br /&gt;Hope this saves someone else from the pain and suffering!&lt;br /&gt;&lt;br /&gt;--Fitz&lt;br /&gt;&lt;fieldset class="zemanta-related"&gt;&lt;legend class="zemanta-related-title"&gt;Related articles by Zemanta&lt;/legend&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://fitzdtp.blogspot.com/2008/06/new-dtp-ganymede-video-at-eclipse-live.html"&gt;New DTP Ganymede Video at Eclipse Live&lt;/a&gt;&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://fitzdtp.blogspot.com/2008/06/dtp-t-shirts-get-your-t-shirts-here.html"&gt;DTP T-shirts... Get your t-shirts here...&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/fieldset&gt;    &lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/819b72bc-fb32-4879-8744-22f8995d3353/" title="Zemified by Zemanta"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=819b72bc-fb32-4879-8744-22f8995d3353" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-7992104045482173313?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/7992104045482173313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=7992104045482173313' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/7992104045482173313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/7992104045482173313'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2008/12/out-of-memory-errors.html' title='Out of Memory Errors...'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-8100094572614898247</id><published>2008-12-15T08:59:00.003-07:00</published><updated>2008-12-15T09:09:02.445-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Databases'/><category scheme='http://www.blogger.com/atom/ns#' term='Ingres'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>New DB Support in DTP for Galileo...</title><content type='html'>&lt;span class="zemanta-img" style="margin: 1em; float: right; display: block; width: 212px;"&gt;&lt;a href="http://commons.wikipedia.org/wiki/Image:SQLite_Logo_4.png"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/19/SQLite_Logo_4.png/202px-SQLite_Logo_4.png" alt="The :en:SQLite logo as of 2007-12-15" style="border: medium none ; display: block;" width="202" height="60" /&gt;&lt;/a&gt;&lt;span class="zemanta-img-attribution"&gt;Image via &lt;a href="http://commons.wikipedia.org/wiki/Image:SQLite_Logo_4.png"&gt;Wikipedia&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;Hey All!&lt;br /&gt;&lt;br /&gt;Yes, it's been a while. But things are starting to hop with DTP for Galileo.&lt;br /&gt;&lt;br /&gt;Our DTP 1.7 release will include some support for new databases and some updated support for existing ones...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ingres.com/" title="Ingres (database)" rel="homepage" class="zem_slink"&gt;Ingres&lt;/a&gt; has been kind enough to contribute their plug-ins for Ingres DB support in DTP for Galileo and we finally have them as part of our regular build.&lt;/li&gt;&lt;li&gt;I added some rudimentary &lt;a href="http://sqlite.org/" title="SQLite" rel="homepage" class="zem_slink"&gt;SQLite&lt;/a&gt; support recently and that's now part of the regular build.&lt;/li&gt;&lt;li&gt;And Ivar and our friends at NexB were kind enough to contribute some big updates to our &lt;a href="http://www.microsoft.com/sqlserver/2008/en/us/" title="Microsoft SQL Server" rel="homepage" class="zem_slink"&gt;Microsoft SQL Server&lt;/a&gt; support, including new support for SQL Server 2008.&lt;/li&gt;&lt;/ul&gt;So big thanks to Ingres and NexB for making those contributions possible!&lt;br /&gt;&lt;br /&gt;More changes are going in all the time as well... Enhancements and bug fixes mostly, but some new features as well.&lt;br /&gt;&lt;br /&gt;Be sure to check out our M4 milestone build &lt;a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/drops/N_DTP_1.7/dtp-sdk-1.7.0M4-200812120500.zip"&gt;here&lt;/a&gt; for some early access!&lt;br /&gt;&lt;br /&gt;--Fitz&lt;br /&gt;&lt;fieldset class="zemanta-related"&gt;&lt;legend class="zemanta-related-title"&gt;Related articles by Zemanta&lt;/legend&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.enterpriseirregulars.com/EI/34156"&gt;Ingres Database Achieves Certified Integration With SAP NetWeaver Technology Platform&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/fieldset&gt;  &lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/e9238c05-453b-4c0e-9392-8138d64713c0/" title="Zemified by Zemanta"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=e9238c05-453b-4c0e-9392-8138d64713c0" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-8100094572614898247?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/8100094572614898247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=8100094572614898247' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/8100094572614898247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/8100094572614898247'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2008/12/new-db-support-in-dtp-for-galileo.html' title='New DB Support in DTP for Galileo...'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-2033741486965430389</id><published>2008-11-07T13:36:00.002-07:00</published><updated>2008-11-07T13:47:31.532-07:00</updated><title type='text'>Get your submissions in for EclipseCon 2009!</title><content type='html'>Hi all!&lt;br /&gt;&lt;br /&gt;Yes, it's just the first week of November... But November 24 is creeping up on us all too quickly... 18 days and will come and go and you'll be wondering where all the time went!&lt;br /&gt;&lt;br /&gt;So it's time to think about a presentation for EclipseCon!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.eclipsecon.org/2009/static/image/eclipsecon09_logo.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 325px; height: 95px;" src="http://www.eclipsecon.org/2009/static/image/eclipsecon09_logo.jpg" alt="" border="0" /&gt;&lt;/a&gt;Simply want to share some cool tips or news with the world? Do a short talk! You only have to fill 10 minutes and it goes by like lightning.&lt;br /&gt;&lt;br /&gt;Do you have more to say? Do a long talk! 50 minutes goes by very quickly.&lt;br /&gt;&lt;br /&gt;Do you have too much to say in an hour and want to help people learn some new Eclipse skills? By all means try for a tutorial slot! Two hours of your very own to teach a few old (or new) developers some new tricks!&lt;br /&gt;&lt;br /&gt;But don't wait too long! We'd love to see some DTP-themed talks. What cool things are you doing with Data Tools? Use it in new and twisted ways and share it with the rest of us!&lt;br /&gt;&lt;br /&gt;Only 18 more days to get your proposals in!&lt;br /&gt;&lt;br /&gt;Good luck and hope to see some talks soon!&lt;br /&gt;&lt;br /&gt;--Fitz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-2033741486965430389?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/2033741486965430389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=2033741486965430389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/2033741486965430389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/2033741486965430389'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2008/11/get-your-submissions-in-for-eclipsecon.html' title='Get your submissions in for EclipseCon 2009!'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-2433370916331210844</id><published>2008-09-22T08:00:00.000-06:00</published><updated>2008-09-22T10:50:13.464-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beer'/><category scheme='http://www.blogger.com/atom/ns#' term='United States'/><category scheme='http://www.blogger.com/atom/ns#' term='License'/><category scheme='http://www.blogger.com/atom/ns#' term='Gratis versus Libre'/><category scheme='http://www.blogger.com/atom/ns#' term='Proprietary software'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse Foundation'/><category scheme='http://www.blogger.com/atom/ns#' term='Source code'/><title type='text'>Perceived Benefits of "Free" Open Source Software</title><content type='html'>Hi all...&lt;br /&gt;&lt;br /&gt;Perceived benefits of &lt;a href="http://en.wikipedia.org/wiki/Open_source" title="Open source" rel="wikipedia" class="zem_slink"&gt;Open Source&lt;/a&gt; involvement. I'm betting that nearly everyone in the Open Source community has wrestled with it at some point, either with customers, management, or both. And I have to admit, it was a bit of a shock to the system (in a good way) when I was introduced to the Eclipse community a few years ago. I didn't really have a good understanding of Open Source back then. And I may still not have a good handle on open source, but I'd like to think I know a little more than when I started.&lt;br /&gt;&lt;span class="zemanta-img zemanta-action-click" style="margin: 1em; float: left; display: block;"&gt;&lt;a href="http://commons.wikipedia.org/wiki/Image:Weizenbier.jpg"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Weizenbier.jpg/202px-Weizenbier.jpg" alt="German Weißbier" style="border: medium none ; display: block;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;Open Source means different things to different people. Some people just see the word "free" and get all giddy. Others see it as an opportunity to spread the wealth a bit and help out the community. Frameworks are popular in this respect - just look at Eclipse, Apache, and &lt;a href="http://sourceforge.net/" title="SourceForge.net" rel="homepage" class="zem_slink"&gt;SourceForge&lt;/a&gt;. Each has its own piece to the puzzle and companies and developers can take those bits and assemble them in cool and unique ways if they meet their needs.&lt;br /&gt;&lt;br /&gt;But ultimately the "free" of Open Source is that it's "free" to use, modify, and redistribute within the scope of the license agreement under which it's distributed. Note that I didn't say it's "free" in what it costs to create or maintain.&lt;br /&gt;&lt;br /&gt;Often you'll hear the phrase "free as in beer" not "free as in speech". Or &lt;a href="http://en.wikipedia.org/wiki/Gratis_versus_Libre" title="Gratis versus Libre" rel="wikipedia" class="zem_slink"&gt;gratis vs. libre&lt;/a&gt;. It takes time, money, and all the various ingredients for whatever it is you're putting together - whether that be virtual, like software, or physical, like beer.&lt;br /&gt;&lt;br /&gt;Let me expand on that a bit. I like beer, so it's an easy analogy to expand on. :)&lt;br /&gt;&lt;br /&gt;When the "beer" flows freely, it acts as more than just a &lt;a href="http://en.wikipedia.org/wiki/Alcoholic_beverage" title="Alcoholic beverage" rel="wikipedia" class="zem_slink"&gt;social lubricant&lt;/a&gt; (those EclipseCon evening social events we do so enjoy). I think it actually greases the wheels of progress so individuals can get beyond the gears and widgets they may be stuck on and move on to higher levels of complexity. (For example, focusing on the design of the "car" and not the "nuts and bolts" required to put it all together.)&lt;br /&gt;&lt;br /&gt;But in order for the "beer" to flow, somebody has to make it. Somebody must grow the hops and barley, secure water rights, acquire a facility to ferment and bottle the results, and so on. It takes effort to combine these ingredients, as well as time and money, into a nectar that can be shared to do all these wonderful things in an open community of ideas.&lt;br /&gt;&lt;br /&gt;Each Eclipse project has its own brand of beer. And not everyone will be able to use every kind of beer that's available. Think of it as a brewery introducing a new &lt;a href="http://en.wikipedia.org/wiki/Wheat_beer" title="Wheat beer" rel="wikipedia" class="zem_slink"&gt;wheat beer&lt;/a&gt;. I'm not a big wheat beer fan, but I can appreciate the care that goes into making it, and many of the processes involved are the same used for other &lt;a href="http://en.wikipedia.org/wiki/Beer" title="Beer" rel="wikipedia" class="zem_slink"&gt;beers&lt;/a&gt;, so there's a shared or at least similar set of ingredients that we can help with or at least support in this community of peers.&lt;br /&gt;&lt;br /&gt;To continue the "beer" analogy, &lt;a href="http://en.wikipedia.org/wiki/Eclipse_Foundation" title="Eclipse Foundation" rel="wikipedia" class="zem_slink"&gt;the Eclipse Foundation&lt;/a&gt; is as much a bottling facility and brew pub as it is an actual brewery. Its role is to help distribute the beer around the world, but also to gather communities and raise awareness so the beer doesn't stop flowing due to a lack of participation from those communities. Free beer does nothing for anyone if nobody knows about it and nobody drinks it.&lt;br /&gt;&lt;br /&gt;So I see my role as the titular head of DTP (if only because we need a head to chop off should things get out of hand) to do three things at a high level...&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Represent Sybase's interests at Eclipse so we can continue making and drinking beer, whether it's a Sybase brand of beer or someone else's.&lt;/li&gt;&lt;li&gt;Invite others to drink our beer so we start seeing more people drinking their way to newer and more exciting things that would then allow us to do bigger and better things as well.&lt;/li&gt;&lt;li&gt;And make sure the beer continues to flow. Ingredients must keep coming to the brewery. New types of beer improve the richness of the overall production of the brewery, and sometimes we need to coordinate to help market and sell the beer to other distributors and markets to make sure the free exchange continues to perpetuate itself.&lt;/li&gt;&lt;/ol&gt;The grand goal is to continue to make the beer that we need to survive, but also allow open source, DTP, and Eclipse to expand and grow in surprising ways.&lt;br /&gt;&lt;br /&gt;I'm constantly amazed at the breadth of products and projects that are beginning to adopt and use DTP for their own purposes. Every year, we add more great people and companies to the mix. So we need to continue to nurture and grow DTP to continue building awareness and adoption of our beer so that the immediate community as well as our customers are aware of our efforts.&lt;br /&gt;&lt;br /&gt;So drink up... I'd like to see us making and drinking DTP beer for a long time to come. :)&lt;br /&gt;&lt;br /&gt;--Fitz&lt;br /&gt;&lt;br /&gt;&lt;fieldset class="zemanta-related"&gt;&lt;legend class="zemanta-related-title"&gt;Related articles by Zemanta&lt;/legend&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;articleId=9102838&amp;amp;source=rss_topic63"&gt;Eclipse set for coordinated release of 23 updates&lt;/a&gt;&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.longtail.com/the_long_tail/2008/08/the-surprising.html"&gt;The surprising derivation of the word free&lt;/a&gt;&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.infoworld.com/article/08/04/08/eclipse-innovation_1.html?source=rss&amp;amp;url=http://www.infoworld.com/article/08/04/08/eclipse-innovation_1.html"&gt;Eclipse promotes innovation networks&lt;/a&gt;&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://ianskerrett.wordpress.com/2008/03/18/working-together-sun-glassfish-and-eclipselink/"&gt;Working Together: Sun Glassfish and EclipseLink&lt;/a&gt;&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.infoworld.com/article/08/04/04/15NF-eclipse-ide-future_1.html?source=rss&amp;amp;url=http://www.infoworld.com/article/08/04/04/15NF-eclipse-ide-future_1.html"&gt;Eclipse IDE at a crossroads&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/fieldset&gt;      &lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/75724eee-b928-440d-8b8d-8171e6003b8e/" title="Zemified by Zemanta"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=75724eee-b928-440d-8b8d-8171e6003b8e" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-2433370916331210844?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/2433370916331210844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=2433370916331210844' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/2433370916331210844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/2433370916331210844'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2008/09/perceived-benefits-of-free-open-source.html' title='Perceived Benefits of &quot;Free&quot; Open Source Software'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-8933021277994618691</id><published>2008-08-28T13:53:00.012-06:00</published><updated>2008-08-28T14:36:47.490-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQLite'/><category scheme='http://www.blogger.com/atom/ns#' term='Ganymede'/><category scheme='http://www.blogger.com/atom/ns#' term='Connection Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Plug-in'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Tools Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='Connection Profile'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse Foundation'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Database Connectivity'/><category scheme='http://www.blogger.com/atom/ns#' term='DTP'/><title type='text'>Creating the SQLite Connection Profile UI bits</title><content type='html'>Hi there!&lt;br /&gt;&lt;br /&gt;So now we're almost to our first functional version of a &lt;a href="http://sqlite.org/" title="SQLite" rel="homepage" class="zem_slink"&gt;SQLite&lt;/a&gt; connection profile in DTP. We have a driver-wrapper plug-in, a driver definition, an overridden catalog loader, and a connection profile with its associated connection and connection factory classes. What's next? Why, adding the UI so you can create the profile, of course!&lt;br /&gt;&lt;br /&gt;With versions of DTP prior to Ganymede, this was a more difficult, but not horrible task. In Ganymede, we've reduced the amount of work to adding three extension points and writing four key classes in a org.eclipse.datatools.enablement.sqlite.ui plug-in (basically just extending these classes a tad, so little real work involved):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A connection profile wizard extension that uses the org.eclipse.datatools.connectivity.connectionProfile extension and uses the newWizard node so we can define our wizard&lt;/li&gt;&lt;li&gt;A property page extension (org.eclipse.ui.propertyPages) to define a property page so we can edit our SQLite conneciton profile instances&lt;/li&gt;&lt;li&gt;A driver UI contributor extension (org.eclipse.datatools.connectivity.ui.driverUIContributor) to create a reusable UI component that gathers the information we need for our SQLite connections&lt;/li&gt;&lt;li&gt;A connection profile wizard class that extends the org.eclipse.datatools.connectivity.ui.wizards.ExtensibleNewConnectionProfileWizard class&lt;/li&gt;&lt;li&gt;A connection profile wizard page that extends org.eclipse.datatools.connectivity.ui.wizards.ExtensibleProfileDetailsWizardPage&lt;/li&gt;&lt;li&gt;A connection profile property page that extends org.eclipse.datatools.connectivity.ui.wizards.ExtensibleProfileDetailsPropertyPage&lt;/li&gt;&lt;li&gt;And a driver UI component that is used on the wizard and property pages that implements org.eclipse.datatools.connectivity.ui.wizards.IDriverUIContributor&lt;/li&gt;&lt;/ul&gt;It may look daunting, but really it boils down to a few extension points, a few extended classes, and an instance of poor man's inheritance (copying a class from another project).&lt;br /&gt;&lt;br /&gt;So let's get started!&lt;br /&gt;&lt;!--more--&gt;&lt;br /&gt;&lt;h2&gt;Implementing the Driver UI Contributor Class&lt;/h2&gt;We're going to start with something that may seem a little backwards, but will make sense in a few minutes (hopefully). We're going to start with the driver UI component. Why? Because it's used on the property page and the wizard page, and will make our lives easier.&lt;br /&gt;&lt;br /&gt;To avoid starting from scratch, I simply took the Derby Embedded driver UI contributor from the Derby UI project (org.eclipse.datatools.connectivity.apache.derby.ui is the plug-in project and you're looking for the DerbyEmbeddedDriverUIContributor class in package org.eclipse.datatools.connectivity.apache.derby.internal.ui.connection.drivers). You'll also probably want to grab the Messages class and properties files from that package.&lt;br /&gt;&lt;br /&gt;After that, I just changed the names to protect the innocent for this first version. I'll go through and do a cleanup pass later. (I'll upload a zip with all of the code so you can play with it yourself.)&lt;br /&gt;&lt;br /&gt;All we're doing is creating a basic UI that will gather the necessary information for the &lt;a href="http://en.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity" rel="wikipedia" class="zem_slink"&gt;JDBC&lt;/a&gt; URL. The Derby UI works just fine for SQLite (for now), so why change anything?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nuPmrhsllU8/SLcDnqaqitI/AAAAAAAAAB4/Ggoc7xFGYeE/s1600-h/sqlite_driver_ui.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_nuPmrhsllU8/SLcDnqaqitI/AAAAAAAAAB4/Ggoc7xFGYeE/s320/sqlite_driver_ui.JPG" alt="" id="BLOGGER_PHOTO_ID_5239660671404772050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;Defining the Driver UI Contributor extension&lt;/h2&gt;So now that we have our driver UI contributor class, we can let DTP know about it. To do that, we define a "org.eclipse.datatools.connectivity.ui.driverUIContributor" extension point and add a new driverUIContributor node beneath it.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nuPmrhsllU8/SLcEkmwwNLI/AAAAAAAAACQ/z0cvLQ5SdXo/s1600-h/sqlite_extension_driver_ui_tree.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_nuPmrhsllU8/SLcEkmwwNLI/AAAAAAAAACQ/z0cvLQ5SdXo/s320/sqlite_extension_driver_ui_tree.JPG" alt="" id="BLOGGER_PHOTO_ID_5239661718395696306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nuPmrhsllU8/SLcEkzpqHzI/AAAAAAAAACY/fDFHUh65_KU/s1600-h/sqlite_extension_driver_ui_properties.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_nuPmrhsllU8/SLcEkzpqHzI/AAAAAAAAACY/fDFHUh65_KU/s320/sqlite_extension_driver_ui_properties.JPG" alt="" id="BLOGGER_PHOTO_ID_5239661721855598386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can see that this is pretty straightforward as far as properties go.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;id = a unique ID for the driver UI contributor&lt;/li&gt;&lt;li&gt;class = the fully qualified name of our driver UI contributor class&lt;/li&gt;&lt;li&gt;driverTemplateID = the ID for the driver we're defining the UI for&lt;/li&gt;&lt;/ul&gt;Pretty easy. Next, we'll set up the wizard.&lt;br /&gt;&lt;h2&gt;Creating the Wizard&lt;/h2&gt;So new let's take a look at the newWizard part of the connectionProfile extension.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nuPmrhsllU8/SLcD66zw9KI/AAAAAAAAACA/L08ATATa9d0/s1600-h/extension_tree.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_nuPmrhsllU8/SLcD66zw9KI/AAAAAAAAACA/L08ATATa9d0/s320/extension_tree.JPG" alt="" id="BLOGGER_PHOTO_ID_5239661002222531746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nuPmrhsllU8/SLcD7VV3qZI/AAAAAAAAACI/D8KSgaIjfuw/s1600-h/extension_properties.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_nuPmrhsllU8/SLcD7VV3qZI/AAAAAAAAACI/D8KSgaIjfuw/s320/extension_properties.JPG" alt="" id="BLOGGER_PHOTO_ID_5239661009344899474" border="0" /&gt;&lt;/a&gt;As you can see, we have a number of properties we need to fill out.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;id = the unique ID for this particular connection profile wizard&lt;/li&gt;&lt;li&gt;name = the text that shows up in the list of connection profiles&lt;/li&gt;&lt;li&gt;class = this is the class that extends org.eclipse.datatools.connectivity.ui.wizards.ExtensibleNewConnectionProfileWizard (we'll cover it in just a minute)&lt;/li&gt;&lt;li&gt;profile = this is the ID of our connection profile that we created in the last article&lt;/li&gt;&lt;li&gt;icon = this is the image for the wizard. you can copy this icon directly out of any of the other connection profile UI plug-ins from the DTP &lt;a href="http://www.nongnu.org/cvs" title="Concurrent Versions System" rel="homepage" class="zem_slink"&gt;CVS&lt;/a&gt; repository&lt;/li&gt;&lt;li&gt;description = a general description of what the wizard does that is displayed as a tooltip&lt;/li&gt;&lt;li&gt;category = not used&lt;/li&gt;&lt;/ul&gt;So now that we have our extension, let's work on our wizard and wizard page classes.&lt;br /&gt;&lt;br /&gt;As metioned earlier, these are simply going to be extending a couple of classes that already exist in org.eclipse.datatools.connectivity.ui.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A connection profile wizard class that extends the org.eclipse.datatools.connectivity.ui.wizards.ExtensibleNewConnectionProfileWizard class&lt;/li&gt;&lt;li&gt;A connection profile wizard page that extends org.eclipse.datatools.connectivity.ui.wizards.ExtensibleProfileDetailsWizardPage&lt;/li&gt;&lt;/ul&gt;These classes look pretty darn easy.&lt;br /&gt;&lt;br /&gt;Our wizard class looks like this:&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;package org.eclipse.datatools.enablement.sqlite.ui.connection;&lt;br /&gt;&lt;br /&gt;import org.eclipse.datatools.connectivity.ui.wizards.ExtensibleNewConnectionProfileWizard;&lt;br /&gt;&lt;br /&gt;public class NewSQLITEConnectionProfileWizard extends&lt;br /&gt;ExtensibleNewConnectionProfileWizard {&lt;br /&gt;public NewSQLITEConnectionProfileWizard() {&lt;br /&gt;super(&lt;br /&gt;    new SQLITEProfileDetailsWizardPage(&lt;br /&gt;            "org.eclipse.datatools.enablement.sqlite.ui.connection.SQLITEProfileDetailsWizardPage")); //$NON-NLS-1$&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;And our wizard page looks like this:&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;package org.eclipse.datatools.enablement.sqlite.ui.connection;&lt;br /&gt;&lt;br /&gt;import org.eclipse.datatools.connectivity.ui.wizards.ExtensibleProfileDetailsWizardPage;&lt;br /&gt;import org.eclipse.datatools.enablement.sqlite.ISQLITEConnectionProfileConstants;&lt;br /&gt;&lt;br /&gt;public class SQLITEProfileDetailsWizardPage extends&lt;br /&gt;ExtensibleProfileDetailsWizardPage {&lt;br /&gt;&lt;br /&gt;public SQLITEProfileDetailsWizardPage(String pageName) {&lt;br /&gt;super(pageName, ISQLITEConnectionProfileConstants.SQLITE_CATEGORY_ID);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;You'll notice the reference to ISQLITEConnectionProfileConstants.SQLITE_CATEGORY_ID. That's just a way to point to the category of driver templates we're interested in for this connection profile. In our case, it looks like this:&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;public static final String SQLITE_CATEGORY_ID = "org.eclipse.datatools.enablement.sqlite.driver.category"; //$NON-NLS-1$&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;So now all we have left to do is define our property page.&lt;br /&gt;&lt;h2&gt;Defining a SQLite property page&lt;/h2&gt;There's no special mojo for defining a property page for a connection profile. It works the same as it does elsewhere in &lt;a href="http://www.eclipse.org/" title="Eclipse (software)" rel="homepage" class="zem_slink"&gt;Eclipse&lt;/a&gt;. You define a property page extension (org.eclipse.ui.propertyPages) and provide it a property page class.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nuPmrhsllU8/SLcKjKDMaeI/AAAAAAAAACg/VRKre2Zf6N0/s1600-h/sqlite_extension_property_page_tree.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_nuPmrhsllU8/SLcKjKDMaeI/AAAAAAAAACg/VRKre2Zf6N0/s320/sqlite_extension_property_page_tree.JPG" alt="" id="BLOGGER_PHOTO_ID_5239668290578311650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nuPmrhsllU8/SLcKjeCYHPI/AAAAAAAAACo/q7Q4knwygl0/s1600-h/sqlite_extension_property_page_properties.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_nuPmrhsllU8/SLcKjeCYHPI/AAAAAAAAACo/q7Q4knwygl0/s320/sqlite_extension_property_page_properties.JPG" alt="" id="BLOGGER_PHOTO_ID_5239668295943593202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Once that is done, we can work on the filter to indicate what type of object this is a property page for.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nuPmrhsllU8/SLcKvHbPNwI/AAAAAAAAACw/Zm050rSeYSI/s1600-h/sqlite_extension_property_page_filter_tree.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_nuPmrhsllU8/SLcKvHbPNwI/AAAAAAAAACw/Zm050rSeYSI/s320/sqlite_extension_property_page_filter_tree.JPG" alt="" id="BLOGGER_PHOTO_ID_5239668496032282370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nuPmrhsllU8/SLcKvVZ7GSI/AAAAAAAAAC4/HE8BpOZG7gU/s1600-h/sqlite_extension_property_page_filter_detail.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_nuPmrhsllU8/SLcKvVZ7GSI/AAAAAAAAAC4/HE8BpOZG7gU/s320/sqlite_extension_property_page_filter_detail.JPG" alt="" id="BLOGGER_PHOTO_ID_5239668499784866082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The filter is on the org.eclipse.datatools.profile.property.id property and we set that to org.eclipse.datatools.enablement.sqlite.connectionProfile, which is the ID for our SQLite connection profile type.&lt;br /&gt;&lt;br /&gt;And lastly, we specify when we want our property page to be enabled. And as seen in the last few screens, we merely want our page to be enabled when we're on a connection profile object.&lt;br /&gt;&lt;br /&gt;The property page class itself is as simple as the wizard page was earlier. The class extends org.eclipse.datatools.connectivity.ui.wizards.ExtensibleProfileDetailsPropertyPage.&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;package org.eclipse.datatools.enablement.sqlite.ui.connection;&lt;br /&gt;&lt;br /&gt;import org.eclipse.datatools.connectivity.ui.wizards.ExtensibleProfileDetailsPropertyPage;&lt;br /&gt;import org.eclipse.datatools.enablement.sqlite.ISQLITEConnectionProfileConstants;&lt;br /&gt;&lt;br /&gt;public class SQLITEProfilePropertyPage extends&lt;br /&gt;ExtensibleProfileDetailsPropertyPage {&lt;br /&gt;&lt;br /&gt;public SQLITEProfilePropertyPage() {&lt;br /&gt;super(ISQLITEConnectionProfileConstants.SQLITE_CATEGORY_ID);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;And that's really all there is to it.&lt;br /&gt;&lt;br /&gt;Now we can test to make sure our wizard and property pages work.&lt;br /&gt;&lt;br /&gt;From the Data Source Explorer when you create a new connection profile, you'll see the list of available profile types.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nuPmrhsllU8/SLcK8FfwGFI/AAAAAAAAADA/ivghQAt5vVA/s1600-h/wizard1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_nuPmrhsllU8/SLcK8FfwGFI/AAAAAAAAADA/ivghQAt5vVA/s320/wizard1.JPG" alt="" id="BLOGGER_PHOTO_ID_5239668718852642898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nuPmrhsllU8/SLcK8hrvQEI/AAAAAAAAADI/PjeAWOlcOCY/s1600-h/wizard2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_nuPmrhsllU8/SLcK8hrvQEI/AAAAAAAAADI/PjeAWOlcOCY/s320/wizard2.JPG" alt="" id="BLOGGER_PHOTO_ID_5239668726419112002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Once you've created it and connected, you can drill in and see something like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nuPmrhsllU8/SLcLKgE8ROI/AAAAAAAAADQ/yCm9xBdIOIk/s1600-h/wizard3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_nuPmrhsllU8/SLcLKgE8ROI/AAAAAAAAADQ/yCm9xBdIOIk/s320/wizard3.jpg" alt="" id="BLOGGER_PHOTO_ID_5239668966506120418" border="0" /&gt;&lt;/a&gt;And to test the property pages, you can right-click on your profile and select Properties.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nuPmrhsllU8/SLcLTdN6t3I/AAAAAAAAADY/0RMzACO1GGY/s1600-h/wizard4.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_nuPmrhsllU8/SLcLTdN6t3I/AAAAAAAAADY/0RMzACO1GGY/s320/wizard4.JPG" alt="" id="BLOGGER_PHOTO_ID_5239669120357283698" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So now we have the start of SQLite support in DTP!&lt;br /&gt;&lt;br /&gt;In the next article, I'll explain some of the bits and pieces we can do to clean this up and make it easier for users. Things like automatically creating the driver definition if the driver plug-in wrapper happens to be in the Eclipse environment.&lt;br /&gt;&lt;br /&gt;Hopefully this has helped somebody doing some DTP development.&lt;br /&gt;&lt;br /&gt;If you'd like to see me focus on other parts of DTP dev, let me know and I'll see what I can pull together. I'd love for some community-inspired questions to pop up!&lt;br /&gt;&lt;br /&gt;Until next time...&lt;br /&gt;--Fitz&lt;fieldset class="zemanta-related"&gt;&lt;legend class="zemanta-related-title"&gt;Related articles by Zemanta&lt;/legend&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.news.com/8301-13580_3-9879010-39.html?part=rss&amp;amp;subj=news"&gt;Adobe funds SQLite database&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/fieldset&gt;&lt;br /&gt;&lt;br /&gt; &lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/8715e2d4-9c52-473f-8941-437d0fd3df66/" title="Zemified by Zemanta"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=8715e2d4-9c52-473f-8941-437d0fd3df66" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-8933021277994618691?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/8933021277994618691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=8933021277994618691' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/8933021277994618691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/8933021277994618691'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2008/08/creating-sqlite-connection-profile-ui.html' title='Creating the SQLite Connection Profile UI bits'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_nuPmrhsllU8/SLcDnqaqitI/AAAAAAAAAB4/Ggoc7xFGYeE/s72-c/sqlite_driver_ui.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-1611706175053927685</id><published>2008-08-28T12:06:00.004-06:00</published><updated>2008-08-28T12:14:26.558-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ganymede'/><category scheme='http://www.blogger.com/atom/ns#' term='DTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Bugzilla'/><title type='text'>DTP's Been Babel-ized!</title><content type='html'>&lt;span class="zemanta-img" style="margin: 1em; float: right; display: block;"&gt;&lt;a href="http://commons.wikipedia.org/wiki/Image:Qapla%27.svg"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/69/Qapla%27.svg/202px-Qapla%27.svg.png" alt="Rendering in Klingon gliphs of the word Qapla'..." style="border: medium none ; display: block;" /&gt;&lt;/a&gt;&lt;span class="zemanta-img-attribution" style="margin: 1em 0pt 0pt; display: block;"&gt;Image via &lt;a href="http://commons.wikipedia.org/wiki/Image:Qapla%27.svg"&gt;Wikipedia&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;Hi all!&lt;br /&gt;&lt;br /&gt;Just thought I'd share some cool news from DTP land. I received word from Denis (via Bugzilla) that the initial translations for DTP's 1.6 (Ganymede) release have been added to Babel! Yay!&lt;br /&gt;&lt;br /&gt;I would like to thank the folks who helped get us going with translations in Babel:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Antoine Toulmé&lt;/li&gt;&lt;li&gt;Yasuo Doshiro&lt;/li&gt;&lt;li&gt;Denis Roy&lt;/li&gt;&lt;li&gt;and Kit Lo&lt;/li&gt;&lt;/ul&gt;So thanks to everybody who helped get us started. Pretty soon we'll be able to have DTP in &lt;a href="http://en.wikipedia.org/wiki/Klingon_language" title="Klingon language" rel="wikipedia" class="zem_slink"&gt;Klingon&lt;/a&gt; (probably not, but it's an interesting concept at any rate!)!&lt;br /&gt;&lt;br /&gt;--Fitz&lt;br /&gt;  &lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/9b63a726-a5fc-4d03-b8cc-4ad3f156d683/" title="Zemified by Zemanta"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=9b63a726-a5fc-4d03-b8cc-4ad3f156d683" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-1611706175053927685?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/1611706175053927685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=1611706175053927685' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/1611706175053927685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/1611706175053927685'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2008/08/dtps-been-babel-ized.html' title='DTP&apos;s Been Babel-ized!'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-1377798585264599987</id><published>2008-08-20T08:00:00.002-06:00</published><updated>2008-08-20T08:09:30.094-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQLite'/><category scheme='http://www.blogger.com/atom/ns#' term='Database connection'/><category scheme='http://www.blogger.com/atom/ns#' term='Universal Description Discovery and Integration'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Connection Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Tools Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Database Connectivity'/><category scheme='http://www.blogger.com/atom/ns#' term='DTP'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Creating an Actual SQLite Connection Profile (minus the UI)</title><content type='html'>Hi there!&lt;br /&gt;&lt;br /&gt;So now we have the majority of our work done. We have a driver-wrapper plug-in, a driver definition, and an overridden catalog loader. What's next? Wrapping the functionality in a nice, easy to use connection profile!&lt;br /&gt;&lt;br /&gt;Note: Previous articles in this series cover the following topics: &lt;a href="http://fitzdtp.blogspot.com/2008/08/dtp-sqlite-support-continued-on-to.html"&gt;Catalog Loaders&lt;/a&gt;, &lt;a href="http://fitzdtp.blogspot.com/2008/06/how-do-you-add-your-own-custom-driver.html"&gt;Driver Templates&lt;/a&gt;, and the &lt;a href="http://fitzdtp.blogspot.com/2008/06/dtp-driver-framework-repost.html"&gt;Driver Framework&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Many moons ago, we talked at a high level about the driver template &amp;amp; driver definition frameworks. It's now time to talk briefly about the connection profile framework.&lt;br /&gt;&lt;br /&gt;It all boils down to this... A connection profile manages a connection to something. Right now in DTP we connect to &lt;a href="http://en.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity" rel="wikipedia" class="zem_slink"&gt;JDBC&lt;/a&gt; databases and file systems for the most part. But the &lt;a href="http://www.sybase.com/" title="Sybase" rel="homepage" class="zem_slink"&gt;Sybase&lt;/a&gt; WorkSpace product also uses DTP to connect to application servers, &lt;a href="http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol" title="Lightweight Directory Access Protocol" rel="wikipedia" class="zem_slink"&gt;LDAP&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Universal_Description_Discovery_and_Integration" title="Universal Description Discovery and Integration" rel="wikipedia" class="zem_slink"&gt;UDDI&lt;/a&gt; repositories, and much more. So it's not limited in any way.&lt;br /&gt;&lt;br /&gt;With that in mind, a JDBC &lt;a href="http://en.wikipedia.org/wiki/Database_connection" title="Database connection" rel="wikipedia" class="zem_slink"&gt;database connection&lt;/a&gt; profile, such as the one we want to create for &lt;a href="http://sqlite.org/" title="SQLite" rel="homepage" class="zem_slink"&gt;SQLite&lt;/a&gt;, just needs to manage a JDBC connection under the covers. We'll add a layer on top of that to attach the &lt;a href="http://en.wikipedia.org/wiki/SQL" title="SQL" rel="wikipedia" class="zem_slink"&gt;SQL&lt;/a&gt; Model to the connection so we can display the &lt;a href="http://en.wikipedia.org/wiki/Database" title="Database" rel="wikipedia" class="zem_slink"&gt;database&lt;/a&gt; specifics in the Data Source Explorer tree.&lt;br /&gt;&lt;br /&gt;In the DTP Ganymede (1.6) release, we've really simplified creating a new connection profile if it's associated with a db definition vendor/version and a driver template. So we'll take advantage of that for SQLite.&lt;br /&gt;&lt;br /&gt;To create a connection profile, we will go to the org.eclipse.datatools.enablement.sqlite plug-in project and create a couple of classes and two extension points. These steps are kind of chicken &amp;amp; egg - the order isn't really important so long as you get them all done.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 1: Create a new connection factory and connection class for SQLite. These are the actual raw connections that our SQLite connection profile will manage for us.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The connection class is pretty easy. We're just going to extend the Generic JDBC JDBCConnection class for SQLite so we have our own specialized version of it.&lt;br /&gt;&lt;br /&gt;That code looks like this:&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;package org.eclipse.datatools.enablement.sqlite.connection;&lt;br /&gt;&lt;br /&gt;import org.eclipse.datatools.connectivity.IConnectionProfile;&lt;br /&gt;import org.eclipse.datatools.connectivity.db.generic.JDBCConnection;&lt;br /&gt;&lt;br /&gt;public class SQLITEJDBCConnection extends JDBCConnection {&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @param profile&lt;br /&gt;* @param factoryClass&lt;br /&gt;*/&lt;br /&gt;public SQLITEJDBCConnection(IConnectionProfile profile,&lt;br /&gt;                              Class factoryClass) {&lt;br /&gt;super(profile, factoryClass);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;The connection factory requires a little more work, but not much more:&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;package org.eclipse.datatools.enablement.sqlite.connection;&lt;br /&gt;&lt;br /&gt;import org.eclipse.datatools.connectivity.IConnection;&lt;br /&gt;import org.eclipse.datatools.connectivity.IConnectionProfile;&lt;br /&gt;import org.eclipse.datatools.connectivity.db.generic.JDBCConnectionFactory;&lt;br /&gt;&lt;br /&gt;public class SQLITEJDBCConnectionFactory extends JDBCConnectionFactory {&lt;br /&gt;&lt;br /&gt;public SQLITEJDBCConnectionFactory() {&lt;br /&gt;super();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public IConnection createConnection(IConnectionProfile profile) {&lt;br /&gt;SQLITEJDBCConnection connection = new SQLITEJDBCConnection(profile, getClass());&lt;br /&gt;connection.open();&lt;br /&gt;return connection;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Basically in the connection factory, we're just creating one of our new SQLiteJDBCConnection class instances for the profile that's passed in.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2: We want to add a new extension point to the plugin.xml in the org.eclipse.datatools.enablement.sqlite plug-in project: org.eclipse.datatools.connectivity.connectionProfile.&lt;/span&gt;&lt;br /&gt;This extension point has a couple of nodes we're going to create beneath it: connectionFactory and connectionProfile.&lt;br /&gt;&lt;br /&gt;Let's define our connectionProfile first, so we have the connection profile ID to use for the connectionFactory.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nuPmrhsllU8/SKsuRZfC_YI/AAAAAAAAABk/xXlrIzs5VHk/s1600-h/connectionFactoryExtension+%28Small%29.JPG"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_nuPmrhsllU8/SKsuRZfC_YI/AAAAAAAAABk/xXlrIzs5VHk/s200/connectionFactoryExtension+%28Small%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5236329868182093186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can see from the screen that we're giving our connection profile the following properties:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;id = org.eclipse.datatools.enablement.sqlite.connectionProfile&lt;/li&gt;&lt;li&gt;category = org.eclipse.datatools.connectivity.db.category (this ensures that our connection profile shows up under the "Databases" category in the DSE)&lt;/li&gt;&lt;li&gt;name = SQLite Connection Profile&lt;/li&gt;&lt;li&gt;icon = icons/jdbc_16.gif (you can copy this from the Generic JDBC connection profile plug-in)&lt;/li&gt;&lt;li&gt;pingFactory = org.eclipse.datatools.enablement.sqlite.connection.SQLITEJDBCConnectionFactory (our new connection factory class we created in step 1)&lt;/li&gt;&lt;/ul&gt;Then we define our connectionFactory:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nuPmrhsllU8/SKsuatOI3UI/AAAAAAAAABs/55zFZn5Iy30/s1600-h/connectionProfileExtension+%28Small%29.JPG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_nuPmrhsllU8/SKsuatOI3UI/AAAAAAAAABs/55zFZn5Iy30/s200/connectionProfileExtension+%28Small%29.JPG" alt="" id="BLOGGER_PHOTO_ID_5236330028098706754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Our connectionFactory extension has the following properties:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;id = java.sql.Connection (this maps to the type of connection this connection factory/connection class maps back to -- in this case, a JDBC connection)&lt;/li&gt;&lt;li&gt;class = org.eclipse.datatools.enablement.sqlite.connection.SQLITEJDBCConnectionFactory (our connection factory class)&lt;/li&gt;&lt;li&gt;profile = org.eclipse.datatools.enablement.sqlite.connectionProfile (our SQLite connection profile ID from the connectionProfile extension)&lt;/li&gt;&lt;li&gt;name = SQLite Connection Factory&lt;/li&gt;&lt;/ul&gt;So now we have a connection profile for SQLite in DTP. Now all we need is a user interface (wizard, wizard page, property page, and driver UI) and we'll be golden!&lt;br /&gt;&lt;br /&gt;That's what we'll cover next time.&lt;br /&gt;--Fitz&lt;br /&gt;&lt;br /&gt;&lt;fieldset class="zemanta-related"&gt;&lt;legend class="zemanta-related-title"&gt;Related articles by Zemanta&lt;/legend&gt;&lt;ul class="zemanta-article-ul"&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.theregister.co.uk/2008/02/26/adobe_sqlite_consortium/"&gt;Adobe throws weight behind SQLite&lt;/a&gt;&lt;/li&gt;&lt;li class="zemanta-article-ul-li"&gt;&lt;a href="http://www.news.com/8301-13580_3-9879010-39.html?part=rss&amp;amp;subj=news"&gt;Adobe funds SQLite database&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/fieldset&gt;      &lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/bd3cfe84-6e73-446a-8d98-b02addfaaecf/" title="Zemified by Zemanta"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=bd3cfe84-6e73-446a-8d98-b02addfaaecf" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-1377798585264599987?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/1377798585264599987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=1377798585264599987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/1377798585264599987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/1377798585264599987'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2008/08/creating-actual-sqlite-connection.html' title='Creating an Actual SQLite Connection Profile (minus the UI)'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_nuPmrhsllU8/SKsuRZfC_YI/AAAAAAAAABk/xXlrIzs5VHk/s72-c/connectionFactoryExtension+%28Small%29.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-4344918944943054892</id><published>2008-08-19T11:55:00.002-06:00</published><updated>2008-08-19T12:00:19.727-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Operating system'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Update'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='updates'/><title type='text'>Eclipse's e4 vs. Microsoft's e7</title><content type='html'>Hey all...&lt;br /&gt;&lt;br /&gt;This is slightly off topic... But I just saw an interesting post over at &lt;a href="http://www.pcmag.com" title="PC Magazine" rel="homepage" class="zem_slink"&gt;PC Magazine&lt;/a&gt;'s &lt;a href="http://www.appscout.com/2008/08/microsoft_launches_windows_7_d.php"&gt;site&lt;/a&gt;... Evidently the &lt;a href="http://www.microsoft.com" title="Microsoft" rel="homepage" class="zem_slink"&gt;Microsoft&lt;/a&gt; &lt;a href="http://www.microsoft.com/WINDOWS" title="Windows" rel="homepage" class="zem_slink"&gt;Windows&lt;/a&gt; 7 team has created a new blog (you can see it &lt;a href="http://blogs.msdn.com/e7/"&gt;here&lt;/a&gt;) and the shorthand term for Windows 7 is e7.&lt;br /&gt;&lt;br /&gt;Isn't it kind of odd in the year when e4 is getting ramped up for Eclipse that Microsoft would also have their own "e" term for a release? I guess there *are* only 26 letters in the alphabet... So there's a *chance* (small, but there) it was random...&lt;br /&gt;&lt;br /&gt;Anybody else have any thoughts?&lt;br /&gt;--Fitz&lt;br /&gt; &lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/b142a8a7-137d-4d2f-881d-1169872317a0/" title="Zemified by Zemanta"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=b142a8a7-137d-4d2f-881d-1169872317a0" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-4344918944943054892?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/4344918944943054892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=4344918944943054892' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/4344918944943054892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/4344918944943054892'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2008/08/eclipses-e4-vs-microsofts-e7.html' title='Eclipse&apos;s e4 vs. Microsoft&apos;s e7'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-1892506349354730179</id><published>2008-08-07T16:47:00.006-06:00</published><updated>2008-08-08T08:08:48.361-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQLite'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Tools Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='Markup Languages'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Formats'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Database Connectivity'/><category scheme='http://www.blogger.com/atom/ns#' term='DTP'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>DTP SQLite support continued... on to Catalog Loaders...</title><content type='html'>Hi all...&lt;br /&gt;&lt;br /&gt;Yes, it's been a while since I wrote the last article in this series. I apologize for that. This summer has been busy both at work and home (not like I got to go on a cruise like Ed Merks or anything, but we've been bouncing around!). So the series of articles fell by the wayside a bit.&lt;br /&gt;&lt;br /&gt;That said... Let's get back to it. When we last left our intrepid coders, we were working through the steps of trying to get SQLite to connect and show its underlying model (schemas/tables/procedures, etc.) in the Data Source Explorer. We had just finished creating some driver templates (see that article &lt;a href="http://fitzdtp.blogspot.com/2008/06/how-do-you-add-your-own-custom-driver.html"&gt;here&lt;/a&gt;) and that didn't really buy us all that much.&lt;br /&gt;&lt;br /&gt;The next step is to then create a custom catalog loader to take care of any shortcomings of the SQLite driver. We have a db definition (vendor/version) to hang the catalog loader from, which means we just have to choose which level to focus on first.&lt;br /&gt;&lt;br /&gt;In this case, since we're interested in schemas as the highest level of the model for SQLite, we'll override the schema catalog loader.&lt;br /&gt;&lt;br /&gt;To do this, we need to do a things.&lt;br /&gt;&lt;br /&gt;1) In the plug-in manifest editor (opened either from MANIFEST.MF or plugin.xml) for the org.eclipse.datatools.enablement.sqlite plug-in project, we need to add a new dependency. Select the Dependencies tab in the manifest editor and add org.eclipse.connectivity.sqm.core. This will provide one of the extension points that we need to extend to override the catalog loader.&lt;br /&gt;&lt;br /&gt;2) On the Extensions tab, add a new extension and select org.eclipse.datatools.connectivity.sqm.core.catalog. Right-click on the extension and select "overrideLoader". Then select the "overrideLoader" node in the extension tree. You should see something like the following:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nuPmrhsllU8/SJt81tTXJEI/AAAAAAAAAA8/zrTreMKX2QU/s1600-h/new_catalog_overrideLoader_ext.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_nuPmrhsllU8/SJt81tTXJEI/AAAAAAAAAA8/zrTreMKX2QU/s200/new_catalog_overrideLoader_ext.png" alt="" id="BLOGGER_PHOTO_ID_5231912654256677954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Product and version equate directly to the db definition that we've already created. Provider is the actual loader class we'll override the default with. And eclass is the SQL model class that we want to override the loader for our SQLite databases.&lt;br /&gt;&lt;br /&gt;In this case:&lt;br /&gt;&lt;br /&gt;* product = SQLITE&lt;br /&gt;* version = 3.5.9&lt;br /&gt;* eclass = org.eclipse.datatools.modelbase.sql.schema.Schema&lt;br /&gt;* provider = a new class we'll create called SQLiteSchemaLoader&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nuPmrhsllU8/SJt9brzn4_I/AAAAAAAAABM/qyOWZBqoUso/s1600-h/finished_catalog_overrideLoader_ext.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_nuPmrhsllU8/SJt9brzn4_I/AAAAAAAAABM/qyOWZBqoUso/s320/finished_catalog_overrideLoader_ext.JPG" alt="" id="BLOGGER_PHOTO_ID_5231913306690151410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The SQLiteSchemaLoader looks something like this:&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;package org.eclipse.datatools.enablement.sqlite.loader;&lt;br /&gt;&lt;br /&gt;import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;&lt;br /&gt;import org.eclipse.datatools.connectivity.sqm.loader.IConnectionFilterProvider;&lt;br /&gt;import org.eclipse.datatools.connectivity.sqm.loader.JDBCSchemaLoader;&lt;br /&gt;&lt;br /&gt;public class SQLiteSchemaLoader extends JDBCSchemaLoader {&lt;br /&gt;&lt;br /&gt;public SQLiteSchemaLoader(ICatalogObject catalogObject,&lt;br /&gt;    IConnectionFilterProvider connectionFilterProvider) {&lt;br /&gt;&lt;br /&gt;    super(catalogObject, connectionFilterProvider);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Since SQLite has no concept of a "schema", we need to dummy one up so that the model is satisfied. (Yes, this is one more case where the loose JDBC "standard" bites us in the rear when we try to adhere to it.) To do that, we really only need to focus on overriding a couple of key methods:&lt;br /&gt;&lt;br /&gt;* protected void initialize(Schema schema, ResultSet rs) throws SQLException&lt;br /&gt;* public void loadSchemas(List containmentList, Collection existingSchemas) throws SQLException&lt;br /&gt;&lt;br /&gt;In the default JDBCSchemaLoader, it relies on the driver to provide a result set of schemas. In the SQLite case, since there are none, we need to change the behavior to just dummy up a schema object and pass it along.&lt;br /&gt;&lt;br /&gt;So loadSchemas becomes:&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;public void loadSchemas(List containmentList, Collection existingSchemas)&lt;br /&gt;throws SQLException {&lt;br /&gt;Schema schema = (Schema) getAndRemoveSQLObject(existingSchemas,&lt;br /&gt;        "DEFAULT");&lt;br /&gt;if (schema == null) {&lt;br /&gt;    schema = processRow(null);&lt;br /&gt;    if (schema != null) {&lt;br /&gt;        containmentList.add(schema);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;    containmentList.add(schema);&lt;br /&gt;    if (schema instanceof ICatalogObject) {&lt;br /&gt;        ((ICatalogObject) schema).refresh();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;And initialize is changed to ignore the result set and just name the schema "DEFAULT":&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;protected void initialize(Schema schema, ResultSet rs) throws SQLException {&lt;br /&gt;schema.setName("DEFAULT");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;The last thing we have to do is make our catalog loader class actually run as an executable extension. If we don't add the following constructor, you get an InstantiationException, which is always a pain to track down:&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;public SQLiteSchemaLoader() {&lt;br /&gt;super(null);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Once the dummy schema is in place, the driver actually does return the tables list correctly, as seen in the following screen shot.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nuPmrhsllU8/SJt90gLIPyI/AAAAAAAAABU/3zZHFfHhx_E/s1600-h/sqlite_dse_with_schema_tables_columns.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_nuPmrhsllU8/SJt90gLIPyI/AAAAAAAAABU/3zZHFfHhx_E/s320/sqlite_dse_with_schema_tables_columns.JPG" alt="" id="BLOGGER_PHOTO_ID_5231913733064245026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However... It appears that the SQLite driver does not return getImportedKeys() directly (it throws a "not yet implemented" SQLException for me), so we will need to clean up the JDBCTableConstraintLoader before we're done, but we can do that during code cleanup. (We'll also have to remove some of the nodes that don't make sense for a SQLite database, such as Authorization IDs, Stored Procedures and User-defined Functions.)&lt;br /&gt;&lt;br /&gt;So now we have a (mostly) working catalog loader that will connect to a SQLite database and allow us to drill in and see tables and columns.&lt;br /&gt;&lt;br /&gt;In the next article we'll walk through the simplified process for creating a brand new connection profile (wizard, wizard page, property page, connection factory, and connection classes). And then we can talk about the clean up phases and some of the nice things we can do to help out our users and developers.&lt;br /&gt;&lt;br /&gt;Hope that helps!&lt;br /&gt;&lt;br /&gt;--Fitz&lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/edd7f8b0-af5b-45e2-9aff-9745b5d07049/" title="Zemified by Zemanta"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=edd7f8b0-af5b-45e2-9aff-9745b5d07049" alt="Zemanta Pixie" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-1892506349354730179?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/1892506349354730179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=1892506349354730179' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/1892506349354730179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/1892506349354730179'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2008/08/dtp-sqlite-support-continued-on-to.html' title='DTP SQLite support continued... on to Catalog Loaders...'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_nuPmrhsllU8/SJt81tTXJEI/AAAAAAAAAA8/zrTreMKX2QU/s72-c/new_catalog_overrideLoader_ext.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-763245240353823304</id><published>2008-07-22T10:34:00.009-06:00</published><updated>2008-07-22T11:23:11.245-06:00</updated><title type='text'>Ever wonder how to get a Database from a Connection Profile?</title><content type='html'>&lt;p&gt;Hi all!&lt;/p&gt;Have you ever wondered how to get a DTP SQL Model Database object from a connected connection profile? I seem to run into this problem infrequently, but always have to go through many gyrations to find the answer.&lt;br /&gt;&lt;p&gt;Larry from IBM, another member of the Connectivity team, was kind enough to provide the answer. It resulted in this chunk of code:&lt;/p&gt;&lt;div class="java" align="left"&gt;&lt;code&gt;&lt;span style="color:#7f0055;"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;Database getDatabaseForProfile &lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;IConnectionProfile profile&lt;/span&gt;&lt;span style="color:#000000;"&gt;) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt;  &lt;/span&gt;&lt;span style="color:#000000;"&gt;IManagedConnection managedConnection = &lt;/span&gt;&lt;span style="color:#000000;"&gt;((&lt;/span&gt;&lt;span style="color:#000000;"&gt;IConnectionProfile&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;profile&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt;   &lt;/span&gt;&lt;span style="color:#000000;"&gt;getManagedConnection&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;"org.eclipse.datatools.connectivity.sqm.core.connection.ConnectionInfo"&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt;  &lt;/span&gt;&lt;span style="color:#7f0055;"&gt;&lt;b&gt;if &lt;/b&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;managedConnection != &lt;/span&gt;&lt;span style="color:#7f0055;"&gt;&lt;b&gt;null&lt;/b&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#ffffff;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;{ &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt;   &lt;/span&gt;&lt;span style="color:#7f0055;"&gt;&lt;b&gt;try &lt;/b&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt;    &lt;/span&gt;&lt;span style="color:#000000;"&gt;ConnectionInfo connectionInfo = &lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;ConnectionInfo&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#000000;"&gt;managedConnection.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt;     &lt;/span&gt;&lt;span style="color:#000000;"&gt;getConnection&lt;/span&gt;&lt;span style="color:#000000;"&gt;()&lt;/span&gt;&lt;span style="color:#000000;"&gt;.getRawConnection&lt;/span&gt;&lt;span style="color:#000000;"&gt;()&lt;/span&gt;&lt;span style="color:#000000;"&gt;; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt;    &lt;/span&gt;&lt;span style="color:#7f0055;"&gt;&lt;b&gt;if &lt;/b&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;connectionInfo != &lt;/span&gt;&lt;span style="color:#7f0055;"&gt;&lt;b&gt;null&lt;/b&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;) { &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt;     &lt;/span&gt;&lt;span style="color:#7f0055;"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;connectionInfo.getSharedDatabase&lt;/span&gt;&lt;span style="color:#000000;"&gt;()&lt;/span&gt;&lt;span style="color:#000000;"&gt;;         &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt;    &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt;   &lt;/span&gt;&lt;span style="color:#000000;"&gt;} &lt;/span&gt;&lt;span style="color:#7f0055;"&gt;&lt;b&gt;catch &lt;/b&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;Exception e&lt;/span&gt;&lt;span style="color:#000000;"&gt;) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt;    &lt;/span&gt;&lt;span style="color:#000000;"&gt;e.printStackTrace&lt;/span&gt;&lt;span style="color:#000000;"&gt;()&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt;   &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt;  &lt;/span&gt;&lt;span style="color:#000000;"&gt;} &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt;  &lt;/span&gt;&lt;span style="color:#7f0055;"&gt;&lt;b&gt;return null&lt;/b&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;(Sorry the code's not pretty. I haven't found a great way of including code in Blogger blog posts yet.)&lt;br /&gt;&lt;br /&gt;Basically under the covers there is a ConnectionInfo connection adapter that is used to map between the java.sql.Connection object we get from JDBC and the SQL model that's populated via the catalog loaders.&lt;br /&gt;&lt;/div&gt;&lt;p&gt;So there you have it! Not that many people have a need for such a thing, but it's handy just in case!&lt;/p&gt;--Fitz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-763245240353823304?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/763245240353823304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=763245240353823304' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/763245240353823304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/763245240353823304'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2008/07/ever-wonder-how-to-get-database-from.html' title='Ever wonder how to get a Database from a Connection Profile?'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-1924779944064767630</id><published>2008-07-17T12:53:00.007-06:00</published><updated>2008-07-17T13:12:15.934-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Data Tools Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='feedback'/><category scheme='http://www.blogger.com/atom/ns#' term='DTP'/><title type='text'>How are YOU using DTP?</title><content type='html'>&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_nuPmrhsllU8/SH-Y0R-uoQI/AAAAAAAAAAs/afCOwaw7c4s/s200/1093078.jpg" alt="" id="BLOGGER_PHOTO_ID_5224062116720189698" border="0" /&gt;&lt;br /&gt;Hi all!&lt;br /&gt;&lt;br /&gt;Now that the Ganymede release has gone out the door, DTP 1.6 has been released into the wild.&lt;br /&gt;&lt;br /&gt;We in the DTP project would like to know how you are using DTP -- either as an end user, an adopter, or an extender. Are you using it to help with day to day database development tasks? Are you integrating with it from different projects in Eclipse such as BIRT, WTP, or JPA?&lt;br /&gt;&lt;br /&gt;Though we're working on our first maintenance release for September, we're also starting to plan our next major release due in June 2009 along with the rest of the Eclipse Release Train. So we want to know what you would like to see in the next major release.&lt;br /&gt;&lt;br /&gt;What do you like? What don't you like? We're here to help our community grow and develop. But to help us do that, we need guidance from the very folks who are using our stuff or looking at using it.&lt;br /&gt;&lt;br /&gt;Let us know! Either by leaving a comment on this blog entry or by posting a message to the DTP newsgroup or mailing list!&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;--Fitz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-1924779944064767630?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/1924779944064767630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=1924779944064767630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/1924779944064767630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/1924779944064767630'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2008/07/how-are-you-using-dtp.html' title='How are YOU using DTP?'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_nuPmrhsllU8/SH-Y0R-uoQI/AAAAAAAAAAs/afCOwaw7c4s/s72-c/1093078.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-3493993759167165277</id><published>2008-06-27T10:06:00.004-06:00</published><updated>2008-06-27T10:08:20.826-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ganymede'/><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Tools Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse Live'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='DTP'/><title type='text'>New DTP Ganymede Video at Eclipse Live</title><content type='html'>Hi all!&lt;br /&gt;&lt;br /&gt;Just thought I'd let you know as part of the Ganymede release, Ian had most of the main projects create 15-20 minute videos to include on Eclipse Live to highlight what's new and cool in Ganymede.&lt;br /&gt;&lt;br /&gt;Well, I'm happy to say that the DTP demo is live. :)&lt;br /&gt;&lt;br /&gt;You can take a look at it &lt;a href="http://live.eclipse.org/node/547"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Please be gentle, as it's my first live demo video. :)&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;--Fitz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-3493993759167165277?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/3493993759167165277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=3493993759167165277' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/3493993759167165277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/3493993759167165277'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2008/06/new-dtp-ganymede-video-at-eclipse-live.html' title='New DTP Ganymede Video at Eclipse Live'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4837420061859077187.post-5453131940955456363</id><published>2008-06-25T09:03:00.004-06:00</published><updated>2008-06-25T09:09:14.100-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ganymede'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Tools Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='T-shirt'/><category scheme='http://www.blogger.com/atom/ns#' term='DTP'/><title type='text'>DTP T-shirts... Get your t-shirts here...</title><content type='html'>Hey all...&lt;br /&gt;&lt;br /&gt;In honor of the Eclipse Ganymede release and DTP's 1.6 release, I put together a &lt;a href="http://www.cafepress.com/fitzdtp"&gt;t-shirt design&lt;/a&gt; so you can share your DTP love with the world. It's not much, but it's colorful and after one revision yesterday (thanks Linda!) I think it includes a majority of DTP projects, components, and terms in a creative way.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.cafepress.com/fitzdtp"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_nuPmrhsllU8/SGJfMGT9XeI/AAAAAAAAAAk/UW573sM4EOQ/s320/t-shirt.JPG" alt="" id="BLOGGER_PHOTO_ID_5215835979905850850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cafepress.com/fitzdtp"&gt;Pick one up&lt;/a&gt; to share with your friends and coworkers. :)&lt;br /&gt;&lt;br /&gt;Thanks to everyone involved with DTP's Ganymede release!&lt;br /&gt;&lt;br /&gt;--Fitz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4837420061859077187-5453131940955456363?l=fitzdtp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fitzdtp.blogspot.com/feeds/5453131940955456363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4837420061859077187&amp;postID=5453131940955456363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/5453131940955456363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4837420061859077187/posts/default/5453131940955456363'/><link rel='alternate' type='text/html' href='http://fitzdtp.blogspot.com/2008/06/dtp-t-shirts-get-your-t-shirts-here.html' title='DTP T-shirts... Get your t-shirts here...'/><author><name>Brian Fitzpatrick (aka "Fitz)</name><uri>http://www.blogger.com/profile/12177983788459862629</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08473615003118735782'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_nuPmrhsllU8/SGJfMGT9XeI/AAAAAAAAAAk/UW573sM4EOQ/s72-c/t-shirt.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>