<?xml version="1.0" encoding="utf-8"?>
<!-- 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
-->
<?xml-stylesheet type="text/xsl" href="https://rollerweblogger.org/roller-ui/styles/rss.xsl" media="screen"?><rss version="2.0" 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:atom="http://www.w3.org/2005/Atom" >
<channel>
  <title>Blogging Roller</title>
  <link>https://rollerweblogger.org/roller/</link>
    <atom:link rel="self" type="application/rss+xml" href="https://rollerweblogger.org/roller/feed/entries/rss?cat=Java" />
  <description>Dave Johnson on open web technologies, social software and software development</description>
  <language>en-us</language>
  <copyright>Copyright 2026</copyright>
  <lastBuildDate>Tue, 7 Apr 2026 09:28:33 +0000</lastBuildDate>
  <generator>Apache Roller 6.1.5</generator>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/tim_bray_on_httpurlconnection</guid>
    <title>Tim Bray on HttpURLConnection</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/tim_bray_on_httpurlconnection</link>
    <pubDate>Mon, 23 Jan 2012 08:26:37 +0000</pubDate>
    <category>Java</category>
    <category>http</category>
<description>&lt;p&gt;Good information on a bad API. The comments are good too:&lt;/p&gt;
&lt;blockquote&gt;
HttpURLConnection&amp;#39;s Dark Secrets: If you&#146;re programming in the Java language and want to talk to a Web server, there are several libraries you can choose from. HttpURLConnection is one popular choice, and for Android programming, the engineering team has now officially suggested that you use it where possible.&lt;/blockquote&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/looks_like_i_ll_be</guid>
    <title>Looks like I&amp;#39;ll be waiting for Netbeans 7.1.1</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/looks_like_i_ll_be</link>
    <pubDate>Tue, 10 Jan 2012 07:20:58 +0000</pubDate>
    <category>Java</category>
    <category>jvi</category>
    <category>netbeans</category>
    <category>vi</category>
<description>&lt;blockquote&gt;
jVi Home Page:
NetBeans 7.1 Bug 205835 can lose edits; a variety of jVi commands run into this. jVi-1.4.5 disables itself if it detects module versions with the bug, AFAICT. The bug is scheduled to be fixed in NB-7.1.1; sometime around January/February.
&lt;/blockquote&gt;

&lt;p&gt;Seriously, how can you ship without vi?&lt;/p&gt;
</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/what_39_s_new_in</guid>
    <title>Maven 3.0: 50% to 400% speed improvement?</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/what_39_s_new_in</link>
    <pubDate>Wed, 26 May 2010 08:25:10 +0000</pubDate>
    <category>Java</category>
    <category>maven</category>
<description>&lt;p&gt;A drop-in replacement with 50% to 400% speed improvement? That sounds too good to be true.&lt;/p&gt;

&lt;blockquote&gt;
&lt;a href=&quot;http://raibledesigns.com/rd/entry/what_s_new_in_maven&quot;&gt;Matt Raible&lt;/a&gt;: The main improvement in Maven 3 is &lt;em&gt;speed&lt;/em&gt;. It&amp;#39;s been performance tuned to be 50% to 400% faster. Benchmarks (guaranteed by integration tests) include better: Disk I/O, Network I/O, CPU and Memory. Another new feature is extensibility so Maven is a better library rather than just a command-line tool. Now there&amp;#39;s a library and APIs that you can use to do the things that Maven does. Plexus has been replaced with Guice and it&amp;#39;s now much easier to embed Maven (&lt;a href=&quot;http://polyglot.sonatype.org&quot;&gt;Polyglot Maven&lt;/a&gt; and &lt;a href=&quot;http://shell.sonatype.org/&quot;&gt;Maven Shell&lt;/a&gt; are examples of this).
&lt;/blockquote&gt;

&lt;p&gt;Apparently it is not entirely true, at least not yet (Maven 3.0 is still in beta). I tried switching to Maven 3 for the Roller 5 build and hit several build errors related to class-loading and JPA byte-code enhancement.&lt;/p&gt;
</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/maven_support_in_ides</guid>
    <title>Maven support in IDEs</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/maven_support_in_ides</link>
    <pubDate>Tue, 23 Mar 2010 10:11:14 +0000</pubDate>
    <category>Java</category>
    <category>eclipse</category>
    <category>idea</category>
    <category>maven</category>
    <category>netbeans</category>
<description>&lt;a href=&quot;http://maven.apache.org&quot;&gt;
&lt;img style=&quot;padding:4px;align:left;&quot; src=&quot;http://rollerweblogger.org/roller/mediaresource/f20c4914-80dc-48f5-a8d1-2efa3d89eb07&quot; alt=&quot;Maven Logo&quot;&gt;
&lt;/a&gt;
 
&lt;p&gt;I&amp;#39;ve been switching around between the Eclipse, Netbeans and IntelliJ IDEs at home and at work. I&amp;#39;ve found that fiddling around with multiple IDE specific project configurations and launchers and class-paths is no fun at all. That&amp;#39;s one of the reasons I got interested in Maven. Yes, Maven is a build-system but it&amp;#39;s also a sort of IDE portability solution. Maven projects can be loaded right into all the major Java IDEs as you can see in the screenshots below. IDEs can find your sources, resources, dependencies and via the Maven Jetty plugin even run your Java webapps from the IDE -- things that are not possible if you&amp;#39;re using a custom Ant build-script as we were doing before with Roller.&lt;/p&gt;

&lt;p&gt;Here some screenshots that show the various Maven IDE plugins and their dependency graph feature.&lt;/p&gt;

&lt;b&gt;Roller / Maven Eclipse 3.5 / &lt;a href=&quot;http://m2eclipse.sonatype.org/&quot;&gt;M2Eclipse&lt;/a&gt;&lt;/b&gt;
&lt;p&gt;Here&amp;#39;s Roller loaded into Eclipse via the Maven M2 Eclipse plugin.&lt;p&gt;
&lt;p&gt;
&lt;a href=&quot;http://lh4.ggpht.com/_gRyDsh__fr0/S5JXdBQRLNI/AAAAAAAAAdE/nlZukqREyjI/e3-roller-maven.png&quot; class=&quot;slbLink&quot;&gt;&amp;lt;img src=&amp;quot;http://lh4.ggpht.com/_gRyDsh__fr0/S5JXdBQRLNI/AAAAAAAAAdE/nlZukqREyjI/s288/e3-roller-maven.png&amp;quot; 
alt=&amp;quot;Roller / Maven Eclipse 3.5 / M2Eclipse&amp;quot; /&amp;gt;
&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;By the way, if you want detailed instructions for getting Roller 5 up and running in Eclipse with the Eclipse Web tooling, check-out Harald Wellman&amp;#39;s helpful blog on the topic: &lt;a href=&quot;http://hwellmann.blogspot.com/2010/02/setting-up-eclipse-for-roller.html&quot;&gt;Setting up Eclipse for Roller&lt;/a&gt;.&lt;/p&gt;

&lt;b&gt;Roller / &lt;a href=&quot;http://wiki.netbeans.org/NewAndNoteworthyNB68#Maven&quot;&gt;Maven in Netbeans 6.8&lt;/a&gt;&lt;/b&gt;
&lt;p&gt;Here&amp;#39;s Roller loaded into Netbeans as a Maven project.&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://lh5.ggpht.com/_gRyDsh__fr0/S5JYhJYGkDI/AAAAAAAAAdM/9yPXRxlEkGQ/nb-roller-maven.png&quot; class=&quot;slbLink&quot;&gt;&lt;img src=&quot;http://lh5.ggpht.com/_gRyDsh__fr0/S5JYhJYGkDI/AAAAAAAAAdM/9yPXRxlEkGQ/s288/nb-roller-maven.png&quot; alt=&quot;Roller / Maven in Netbeans 6.8&quot;&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;b&gt;Roller / &lt;a href=&quot;http://www.jetbrains.com/idea/features/ant_maven.html&quot;&gt;Maven in IDEA IntelliJ 9.0&lt;/a&gt;&lt;/b&gt;
&lt;p&gt;And here&amp;#39;s Roller loaded into IDEA IntelliJ as a Maven project.&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://lh5.ggpht.com/_gRyDsh__fr0/S5Jb_Rpta7I/AAAAAAAAAdg/uhIDzTT76n0/ij-roller-maven.png&quot; class=&quot;slbLink&quot;&gt;&lt;img src=&quot;http://lh5.ggpht.com/_gRyDsh__fr0/S5Jb_Rpta7I/AAAAAAAAAdg/uhIDzTT76n0/s288/ij-roller-maven.png&quot; alt=&quot;Roller / Maven in IDEA IntelliJ 9.0&quot;&gt;
&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;I&amp;#39;m not sure which I prefer yet.&lt;/p&gt;
&lt;/p&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/apache_abdera_graduates</guid>
    <title>Atom news: Apache Abdera graduates</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/apache_abdera_graduates</link>
    <pubDate>Fri, 21 Nov 2008 15:54:48 +0000</pubDate>
    <category>Java</category>
    <category>asf</category>
    <category>atom</category>
    <category>atompub</category>
    <category>feeds</category>
    <category>java</category>
    <category>opensource</category>
    <category>rome</category>
<description>&lt;img src=&quot;http://rollerweblogger.org/roller/resource/atom-logo75px.gif&quot; align=&quot;right&quot; alt=&quot;Atom logo&quot; title=&quot;Atom logo&quot;&gt;

&lt;p&gt;Congratulations to the &lt;a href=&quot;http://incubator.apache.org/abdera/&quot;&gt;Apache Abdera&lt;/a&gt; team, who&amp;#39;ve just &lt;a href=&quot;http://mail-archives.apache.org/mod_mbox/incubator-abdera-dev/200811.mbox/%3C4585c4a60811191238t52bd9840q845653578eb0690d@mail.gmail.com%3E&quot;&gt;graduated&lt;/a&gt; to full Apache top level project status. The don&amp;#39;t have the new site at &lt;b&gt;abdera.apache.org&lt;/b&gt; up yet and they&amp;#39;re still not quite at 1.0 yet, but this is a  major milestone. They&amp;#39;ve got the best Atom format and protocol toolkit around, &lt;a href=&quot;http://rollerweblogger.org/roller/entry/rome_vs_abdera&quot;&gt;in my opinion&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;via &lt;a href=&quot;http://asdf.blogs.com/asdf/2008/11/abdera-graduation.html&quot;&gt;Garett&lt;/a&gt; and &lt;a href=&quot;http://www.snellspace.com/wp/?p=979&quot;&gt;James&lt;/a&gt;.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/restful_jsf_in_the_works</guid>
    <title>RESTful JSF in the works?</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/restful_jsf_in_the_works</link>
    <pubDate>Fri, 8 Aug 2008 15:52:58 +0000</pubDate>
    <category>Java</category>
    <category>java</category>
    <category>jsf</category>
    <category>rest</category>
<description>&lt;p&gt;JSF spec lead &lt;a href=&quot;http://weblogs.java.net/blog/edburns&quot;&gt;Ed Burns&lt;/a&gt; just pointed out that some of my Sun-internal comments about JSF have made it outside the firewall and into an &lt;a href=&quot;https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=272&quot;&gt;issue&lt;/a&gt; on the JSF specification project:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;On Wed, 19 Mar 2008, David M Johnson said:&lt;/p&gt;

&lt;p&gt;I think the goal should be to make JSF applications RESTful by  
default, with proper use of GET and POST, i.e. only use POST when  
application data is changing, not for component state. Another goal  
should be clean, book-markable URLs that only carry path-info and  
parameters needed by the application logic.&lt;/p&gt;

&lt;p&gt;That&amp;#39;s easy and the default situation with Rails, Grails, Struts, etc.  
How hard would it be to redesign JSF along those lines? Would it  
require EJB2 -&amp;gt; EJB3 level changes to JSF?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I suspect work on JSF 2.0 is too far along for this kind of change now, but it&amp;#39;s nice to hear that the idea of a truly RESTful JSF is at least under consideration.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/struts_2_in_action</guid>
    <title>Struts 2 in Action</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/struts_2_in_action</link>
    <pubDate>Wed, 7 May 2008 12:19:49 +0000</pubDate>
    <category>Java</category>
    <category>java</category>
    <category>javaone</category>
    <category>struts2</category>
<description>&amp;lt;img src=&amp;quot;http://rollerweblogger.org/roller/resource/struts2-in-action.jpg&amp;quot; 
hspace=&amp;quot;5px&amp;quot; align=&amp;quot;right&amp;quot; alt=&amp;quot;stack of struts 2 books at the JavaOne bookstore&amp;quot; /&amp;gt;

&lt;p&gt;&lt;a href=&quot;http://struts.apache.org&quot;&gt;Struts 2&lt;/a&gt; is my favorite Java web framework these days; it&amp;#39;s REST-friendly, simple, easy to use, very flexible and the only thing it has with its creaky old Struts 1.x parent is the fact that it&amp;#39;s an action framework rather than a component framework like JSF. As most of my readers probably already know, Struts 2 is based on WebWork/XWork the framework that powers JIRA and Confluence, two of the coolest Java webapps around.&lt;/p&gt;

&lt;p&gt;Apparently, I&amp;#39;m not alone in this thinking -- I keep on running into folks at JavaOne who feel the same way. But unfortunately, Struts 2 docs are lacking, so I was very happy to see two new books on Struts 2 at the JavaOne bookstore. There&amp;#39;s &lt;a href=&quot;http://www.manning.com/dbrown/&quot;&gt;Struts 2 in Action&lt;/a&gt;, a rewrite of the classic Manning book, and &amp;lt;a href=
&amp;quot;http://www.apress.com/book/view/1590599039&amp;quot;&amp;gt;Practical Apache Struts 2 Web 2.0 Projects from Apress.&lt;/p&gt;

&lt;p&gt;I picked up a copy of Struts 2 in Action on Monday and it looks great so far, but I&amp;#39;ve only skimmed it. I&amp;#39;ll let you know what I think once I dig-in on the flight home.&lt;/p&gt;

&lt;p&gt;If you&amp;#39;re at JavaOne, check out &lt;b&gt;TS-5739 - Hands-on Struts2&lt;/b&gt; by Ian Roughley (author of the Apress book) today at 10:50 AM in Esplanade 307/310.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/social_software_at_javaone</guid>
    <title>Social Software at JavaOne 2008</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/social_software_at_javaone</link>
    <pubDate>Tue, 29 Apr 2008 15:00:08 +0000</pubDate>
    <category>Java</category>
    <category>communityone</category>
    <category>communityone2008</category>
    <category>java</category>
    <category>javaone</category>
    <category>javaone2008</category>
<atom:summary type="html">There are quite a number of Social Software related talks at JavaOne and CommunityOne this year. You can learn about everything from building Social Networks with the Liferay portal and federated relationships with OpenSSO to creating 3D virtual works and implementing OpenSocial with Java. And, I&amp;#39;ll finally be able to talk about what I&amp;#39;ve been working on for the past couple of months -- more about that later.&amp;nbsp;</atom:summary><description>&lt;p&gt;There are quite a number of Social Software related talks coming up at &lt;a href=&quot;http://java.sun.com/javaone/sf&quot;&gt;JavaOne&lt;/a&gt; and &lt;a href=&quot;http://developers.sun.com/events/communityone/&quot;&gt;CommunityOne&lt;/a&gt; this year. You can learn about everything from building Social Networks with the Liferay portal and federated relationships with OpenSSO to creating 3D virtual works and implementing OpenSocial with Java. And, I&amp;#39;ll finally be able to talk about what I&amp;#39;ve been working on for the past couple of months -- more about that later.&lt;/p&gt;

&lt;p&gt;Here are the 11 Social Software related talks that I&amp;#39;ve found so far at both JavaOne and CommunityOne. Did I leave any out?&lt;/p&gt;

&lt;h3&gt;CommunityOne - Monday&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&amp;lt;a href=
&amp;quot;http://www28.cplan.com/cc197/session_details.jsp?isid=297141&amp;ilocation_id=197-1&amp;ilanguage=english&amp;quot;&amp;gt;
S297141 - Building a Social Network with Liferay Portal&lt;br&gt;	
Brian Chan, Liferay, Inc.&lt;br&gt;	
Monday May 05 12:25 - 13:20 / Moscone North - Hall E 135&lt;/li&gt;

&lt;li&gt;&amp;lt;a href=
&amp;quot;http://www28.cplan.com/cc197/session_details.jsp?isid=297226&amp;ilocation_id=197-1&amp;ilanguage=english&amp;quot;&amp;gt;
S295742 - Turn Your Web Site into an OpenSocial Container&lt;br&gt;	
Dave Johnson and Vijay Ramachandran, Sun Microsystems, Inc.&lt;br&gt;	
Monday May 05 14:35 - 15:30 / Moscone North - Hall E 135&lt;/li&gt;

&lt;li&gt;&amp;lt;a href=
&amp;quot;http://www28.cplan.com/cc197/session_details.jsp?isid=297300&amp;ilocation_id=197-1&amp;ilanguage=english&amp;quot;&amp;gt;
S297300 - OpenSSO: Federated Relationships with Social Networking and Web 2.0&lt;br&gt;
Pat Patterson, Daniel Raskin and Nick Wooler, Sun Microsystems, Inc.&lt;br&gt;
Monday May 05 16:00 - 16:55 - Moscone North - Hall E 135&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;JavaOne - Tuesday&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&amp;lt;a href=
&amp;quot;http://www28.cplan.com/sb191/session_details.jsp?isid=296125&amp;ilocation_id=191-1&amp;ilanguage=english&amp;quot;&amp;gt;
TS-6125 - Project Wonderland: A Toolkit for Building 3-D Virtual Worlds&lt;br&gt;
Paul Byrne and Jonathan Kaplan, Sun Microsystems, Inc.&lt;br&gt;
Tuesday 05/06/2008 3:20 PM -4:20 PM / North Mtg-121/122/124/125&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;JavaOne - Wednesday&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&amp;lt;a href=
&amp;quot;http://www28.cplan.com/sb191/session_details.jsp?isid=296574&amp;ilocation_id=191-1&amp;ilanguage=english&amp;quot;&amp;gt;
TS-6574 - How to Implement Your Own OpenSocial Container with Java&lt;br&gt;
Chris Schalk, Google&lt;br&gt;
Wednesday 05/07/2008 1:30 PM -2:30 PM&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;JavaOne - Thursday&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&amp;lt;a href=
&amp;quot;http://www28.cplan.com/sb191/session_details.jsp?isid=296362&amp;ilocation_id=191-1&amp;ilanguage=english&amp;quot;&amp;gt;
BOF-6362 - LinkedIn: Prof. Social Network Built with Java and Agile Practices&lt;br&gt;
Nick Dellamaggiore and Eishay Smith, LinkedIn&lt;br&gt;	
Thursday 05/08/2008 6:30 PM -7:20 PM / Esplanade 301&lt;/li&gt;

&lt;li&gt;&amp;lt;a href=
&amp;quot;http://www28.cplan.com/sb191/session_details.jsp?isid=295857&amp;ilocation_id=191-1&amp;ilanguage=english&amp;quot;&amp;gt;
BOF-5857 - Turn Your Web Site into an OpenSocial Container&lt;br&gt;	
Dave Johnson and Jamey Wood, Sun Microsystems, Inc.&lt;br&gt;	
Thursday 05/08/2008 6:30 PM &lt;/li&gt;

&lt;li&gt;&amp;lt;a href=
&amp;quot;http://www28.cplan.com/sb191/session_details.jsp?isid=296575&amp;ilocation_id=191-1&amp;ilanguage=english&amp;quot;&amp;gt;
BOF-6575 - Building OpenSocial JavaServer Faces Components&lt;br&gt;	
Ed Burns, Sun Microsystems, Inc.; Chris Schalk, Google&lt;br&gt;	
Thursday 05/08/2008 7:30 PM -8:20 PM&lt;/li&gt;

&lt;li&gt;&amp;lt;a href=
&amp;quot;http://www28.cplan.com/sb191/session_details.jsp?isid=295911&amp;ilocation_id=191-1&amp;ilanguage=english&amp;quot;&amp;gt;
BOF-5911 - Beatnik: Building an Open Social Network Browser&lt;br&gt;	
Tim Boudreau and Henry Story, Sun Microsystems, Inc.&lt;br&gt;	
Thursday 05/08/2008 7:30 PM -8:20 PM&lt;/li&gt;

&lt;li&gt;&amp;lt;a href=
&amp;quot;http://www28.cplan.com/sb191/session_details.jsp?isid=296435&amp;ilocation_id=191-1&amp;ilanguage=english&amp;quot;&amp;gt;
BOF-6435 - Creating Facebook and OpenSocial Widgets with Java&lt;br&gt;	
Florent Gerbod and Kevin Leong, Mo&amp;#39;Blast Inc.&lt;br&gt;	
Thursday 05/08/2008 8:30 PM -9:20 PM&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;JavaOne - Friday&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&amp;lt;a href=
&amp;quot;http://www28.cplan.com/sb191/session_details.jsp?isid=296537&amp;ilocation_id=191-1&amp;ilanguage=english&amp;quot;&amp;gt;
TS-6537 - Applications for the Masses by the Masses&lt;br&gt;
Girish Balachandran and Todd Fast, Sun Microsystems, Inc.&lt;br&gt;	
Friday 05/09/2008 10:50 AM -11:50 AM&lt;/li&gt;
&lt;/ul&gt;
</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/social_software_glassfish_screencast</guid>
    <title>Social Software for Glassfish screencast</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/social_software_glassfish_screencast</link>
    <pubDate>Thu, 21 Feb 2008 16:13:44 +0000</pubDate>
    <category>Java</category>
    <category>blogging</category>
    <category>roller</category>
    <category>slynkr</category>
    <category>socialsoftware</category>
<description>&lt;img src=&quot;http://rollerweblogger.org/roller/resource/sfish1.png&quot; alt=&quot;fish1&quot;&gt;
&lt;img src=&quot;http://rollerweblogger.org/roller/resource/sfish2.png&quot; alt=&quot;fish2&quot;&gt;
&lt;img src=&quot;http://rollerweblogger.org/roller/resource/sfish3.png&quot; alt=&quot;fish3&quot;&gt;

&lt;p&gt;I &lt;a href=&quot;http://rollerweblogger.org/roller/entry/ssg_ea2&quot;&gt;mentioned&lt;/a&gt; the Social Software for Glassfish (SSG) EA2 release before the winter break, but I never got around to posting any details. 

Since then 
&lt;a href=&quot;http://wiki.updatecenter.java.net/Wiki.jsp?page=CommunityDocs&quot;&gt;some documentation&lt;/a&gt; has appeared, 
&lt;a href=&quot;http://weblogs.java.net/blog/manveen/archive/2008/01/social_software.html&quot;&gt;Manveen Kaur&lt;/a&gt; blogged it, 
&lt;a href=&quot;http://blogs.sun.com/theaquarium/entry/blogging_content_rating_jmaki_and&quot;&gt;The Aquarium&lt;/a&gt; too 
and now screen-cast master 
&lt;a href=&quot;http://blogs.sun.com/arungupta&quot;&gt;Arun Gupta&lt;/a&gt; has created an excellent 
&lt;a href=&quot;http://blogs.sun.com/arungupta/entry/screencast_23_social_software_for&quot;&gt;Social Software for Glassfish screencast&lt;/a&gt; 
that walks you through the features in this &lt;i&gt;very&lt;/i&gt; early access release. Now I don&amp;#39;t have to say nearly as much.&lt;/p&gt;

</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/abdera_atompub_server_refactoring</guid>
    <title>Abdera AtomPub server refactoring</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/abdera_atompub_server_refactoring</link>
    <pubDate>Mon, 28 Jan 2008 09:05:45 +0000</pubDate>
    <category>Java</category>
    <category>abdera</category>
    <category>atompub</category>
<description>&lt;p&gt;I&amp;#39;ve got to carve out some time ASAP to take a close look at this. 
The code is in Abdera SVN and there&amp;#39;s &amp;lt;a href=
&amp;quot;http://cwiki.apache.org/confluence/download/attachments/69763/abderaserverguide.pdf&amp;quot;&amp;gt;
20-minute implementation guide (PDF) too:&lt;/p&gt;

&lt;blockquote&gt;
&lt;a href=&quot;http://www.snellspace.com/wp/?p=863&quot;&gt;James Snell&lt;/a&gt;: Dan Diephouse and I have been spending the last week refactoring the Abdera server framework with the goal of making is less complicated, easier, and generally better.
&lt;/blockquote&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/yahoo_weather_module_rome</guid>
    <title>Yahoo Weather RSS module for ROME</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/yahoo_weather_module_rome</link>
    <pubDate>Wed, 23 Jan 2008 15:40:22 +0000</pubDate>
    <category>Java</category>
    <category>feeds</category>
    <category>java</category>
    <category>rome</category>
    <category>rss</category>
<description>&lt;img src=&quot;http://rollerweblogger.org/roller/resource/rome-logo.png&quot;&gt;&lt;br&gt;

&lt;p&gt;Apparently, I spoke to soon about ROME being in maintenance mode. There&amp;#39;s an all-new 
&lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/YahooWeather&quot;&gt;Yahoo Weather module&lt;/a&gt; for 
&lt;a href=&quot;http://rome.dev.java.net&quot;&gt;ROME&lt;/a&gt; from 
&lt;a href=&quot;http://www.oreillynet.com/pub/au/2413&quot;&gt;Robert &amp;quot;kerbernet&amp;quot; Cooper&lt;/a&gt;.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/rome_vs_abdera</guid>
    <title>ROME vs. Abdera</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/rome_vs_abdera</link>
    <pubDate>Tue, 22 Jan 2008 18:18:40 +0000</pubDate>
    <category>Java</category>
    <category>abdera</category>
    <category>apache</category>
    <category>atom</category>
    <category>feeds</category>
    <category>java</category>
    <category>rome</category>
    <category>rss</category>
<description>&lt;img src=&quot;http://rollerweblogger.org/roller/resource/atom-logo75px.gif&quot; align=&quot;right&quot;&gt;

&lt;p&gt;For Java developers starting out with RSS and Atom, here are some notes to help you figure out the differences between the Java.net ROME and Apache Abdera (incubating) projects.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://rome.dev.java.net&quot;&gt;&lt;b&gt;ROME&lt;/b&gt;&lt;/a&gt; is a set of Java tools for parsing, fetching and generating all forms of RSS and Atom feeds. The core ROME library is relatively small and depends only on the somewhat creaky old JDOM XML parser. Available separately are modules to support various feed extensions such as OpenSearch, iTunes, GeoRSS, etc. ROME was originally developed and open sourced by Sun Portal dev team members in 2004.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomePropono&quot;&gt;&lt;b&gt;ROME Propono&lt;/b&gt;&lt;/a&gt; is a subproject of ROME that supports publishing/editing entries and files to blog servers and AtomPub servers. Propono is made up of three parts: 1) a Blog Client library can publish via either the old lagacy MetaWeblog API or the shiny new AtomPub protocol, 2) an AtomPub client that publishes only via AtomPub and 3) a framework for creating AtomPub servers. Propono was developed by Ramesh Mandava and Dave Johnson, based on code from &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/1932394494/bloggingrolle-20&quot;&gt;RSS and Atom in Action&lt;/a&gt; and open sourced as part of the Sun Web Developer Pack in 2007.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://incubator.apache.org/abdera/&quot;&gt;&lt;b&gt;Abdera&lt;/b&gt;&lt;/a&gt; is a set of Java tools for working with Atom feeds and AtomPub protocol. This includes a parser, writers, an AtomPub client and a framework for creating AtomPub servers. Abdera&amp;#39;s Atom feed parser uses STAX, so it uses less memory and is faster than ROME. Abdera&amp;#39;s Atom feed support is more comprehensive than ROME&amp;#39;s and it supports signatures, encryption, Atom to JSON, extensions for Threading, Paging, GeoRSS, OpenSearch, GoogleLogin, etc. etc. Abdera was developed by IBM and contribued to Apache in 2006.&lt;/p&gt;

&lt;p&gt;Now let&amp;#39;s compare frameworks. The pros and cons of ROME are:
&lt;ul&gt;
&lt;li&gt;Pro: complete RSS support, all of the dozen various flavors&lt;/li&gt;
&lt;li&gt;Pro: it&amp;#39;s generally simple and small, depending only one jar (JDOM)&lt;/li&gt;
&lt;li&gt;Pro: easy to understand and use the AtomPub server framework&lt;/li&gt;
&lt;li&gt;Pro: MetaWeblog API support&lt;/li&gt;
&lt;li&gt;Con: Atom feed support not as comprehensive as Abdera&lt;/li&gt;
&lt;li&gt;Con: parser uses lots of memory, slower, JDOM based&lt;/li&gt;
&lt;li&gt;Con: community not as active, seems to be in maintenance mode 
(See also &lt;a href=&quot;http://ohloh.com/projects/413/analyses/latest/contributors&quot;&gt;Ohloh stats&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The pros and cons of Abdera are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pro: comprehensive Atom feed support, lots more Atom extensions&lt;/li&gt;
&lt;li&gt;Pro: faster more efficient parser&lt;/li&gt;
&lt;li&gt;Pro: In the Apache Incubator with active and growing community
(See also &lt;a href=&quot;http://ohloh.com/projects/4718/analyses/latest/contributors&quot;&gt;Ohloh stats&lt;/a&gt;)
&lt;li&gt;Con: lots of dependencies&lt;/li&gt;
&lt;li&gt;Con: AtomPub server framework poorly documented, overly complex (rewrite coming soon)&lt;/li&gt;
&lt;li&gt;Con: no RSS support (there is something in Abdera contrib, but it&amp;#39;s incomplete).&lt;/li&gt;
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;There you have it. ROME and Abdera folks: think that&amp;#39;s a fair comparison? Are you a ROME or Abdera user? How would you like to see these frameworks move forward?&lt;/p&gt; &lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/holiday_project_jmaki_for_roller</guid>
    <title>Holiday project: JMaki for Roller</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/holiday_project_jmaki_for_roller</link>
    <pubDate>Wed, 2 Jan 2008 13:12:54 +0000</pubDate>
    <category>Java</category>
    <category>java</category>
    <category>javascript</category>
    <category>jmaki</category>
    <category>roller</category>
<description>&lt;p&gt;
&lt;img src=&quot;http://rollerweblogger.org/roller/resource/jmaki-logo.png&quot; alt=&quot;JMaki seal&quot; align=&quot;right&quot;&gt;
Over the holidays I avoided doing anything directly related to my current set of work tasks. Sun went quiet, which helped, and I ignored the messages that piled-up in the Roller user and dev lists.  It was so quiet that I had time for a fun little project: a JMaki plugin for Roller.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://ajax.dev.java.net&quot;&gt;JMaki&lt;/a&gt; makes it easy to use JavaScript widgets (Dojo, Google, YUI, etc.) from PHP, JSP, JSF and now Roller. To use a widget, all you have to do is call a method or include a tag and JMaki takes care of including the right JavaScript files and generating the right HTML for you. That&amp;#39;s not all JMaki does, there&amp;#39;s also a pub/sub facility to make it easy to wire widgets together via events, there&amp;#39;s a proxy for fetching remote resources common table and tree data models. The theme is cool widgets with ease-of-development and that&amp;#39;s what I&amp;#39;d like to see in Roller. You can read more about the JMaki value proposition on the &lt;a href=&quot;https://ajax.dev.java.net/whyusejmaki.html&quot;&gt;Why Use JMaki page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here&amp;#39;s an example. Below is a Roller page template that uses two JavaScript widgest, the Dojo Clock and the YUI Data Table. All it takes is a single line of template code to include each widget, and one widget is dynamic i.e. the table is populated via an RSS feed.&lt;/p&gt;

&lt;pre&gt;

    &amp;lt;html&amp;gt;
    &amp;lt;head&amp;gt;&amp;lt;title&amp;gt;JMaki test page&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;

        &amp;lt;h1&amp;gt;JMaki test: dojo.clock&amp;lt;/h1&amp;gt;
        $jmaki.addWidget(&amp;quot;dojo.clock&amp;quot;)

        &amp;lt;h1&amp;gt;JMaki test: yahoo.dataTable&amp;lt;/h1&amp;gt;
        $jmaki.addWidget(&amp;quot;yahoo.dataTable&amp;quot;, &amp;quot;/roller/xhp?id=rss&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;)

    &amp;lt;/body&amp;gt;
    &amp;lt;/html&amp;gt;

&lt;/pre&gt;

&lt;p&gt;And here&amp;#39;s what that page looks like when displayed by Roller:&lt;/p&gt;

&lt;a href=&quot;http://www.flickr.com/photos/snoopdave/2143146264/&quot; title=&quot;JMaki Plugin for Roller w/Dojo and YUI by snoopdave, on Flickr&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2221/2143146264_2d39b97ff9.jpg&quot; width=&quot;500&quot; height=&quot;377&quot; alt=&quot;JMaki Plugin for Roller w/Dojo and YUI&quot;&gt;&lt;/a&gt;
&lt;br&gt;

&lt;p&gt;I&amp;#39;ll write more about the plugin once I install it on this site. If you want some details about how the plugin was developed, you can read the email that I sent to the JMaki dev list: &lt;a href=&quot;https://ajax.dev.java.net/servlets/ReadMsg?list=dev&amp;msgNo=2035&quot;&gt;JMaki for Roller issues and suggestions&lt;/a&gt;. It links to the Java source code for the plugin.&lt;/p&gt;

</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/php_support_in_netbeans</guid>
    <title>PHP support in Netbeans</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/php_support_in_netbeans</link>
    <pubDate>Wed, 28 Nov 2007 16:55:37 +0000</pubDate>
    <category>Java</category>
    <category>netbeans</category>
    <category>php</category>
<description>&lt;p&gt;Hadn&amp;#39;t heard about this one until today, but Netbeans 6.1 will have plugin support for creating, editing, deploying to Apache HTTPD, running and even debugging PHP projects. Check out the details and screenshots on the 
&lt;a href=&quot;http://blogs.sun.com/phantom/entry/hello_netbeans_this_is_php&quot;&gt;Phantom Reference blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here&amp;#39;s a sceenshot from the &lt;a href=&quot;http://wiki.netbeans.org/wiki/view/PHP&quot;&gt;Netbeans Wiki page on PHP&lt;/a&gt;:&lt;/p&gt;

&lt;img src=&quot;http://rollerweblogger.org/roller/resource/php-netbeans.jpg&quot; alt=&quot;screenshot of PHP in NB editor&quot;&gt;
</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/groovy_netbeans</guid>
    <title>Groovy support back in Netbeans</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/groovy_netbeans</link>
    <pubDate>Wed, 28 Nov 2007 09:05:28 +0000</pubDate>
    <category>Java</category>
    <category>groovy</category>
    <category>java</category>
    <category>netbeans</category>
<description>&lt;p&gt;After going missing in NB 5.5, Groovy support is back in Netbeans. Basic Groovy support with syntax coloring and support for running scripts from the IDE is available in plugin form (&lt;a href=&quot;http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=3914&quot;&gt;download page&lt;/a&gt;) for Netbeans 6.0 (starting with RC2), read about it on  
&lt;a href=&quot;http://blogs.sun.com/geertjan/entry/groovy_plugin_updates_to_netbeans&quot;&gt;Geertjan&amp;#39;s blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here&amp;#39;s what&amp;#39;s coming after Netbeans 6.0, Groovy project support:&amp;lt;/&amp;gt;

&lt;img src=&quot;http://rollerweblogger.org/roller/resource/netbeans-grails.jpg&quot; alt=&quot;screenshot of Groovy NB project types&quot;&gt;

&lt;p&gt;After Netbeans 6.0, the story gets better. &lt;a href=&quot;http://blogs.sun.com/geertjan/entry/big_milestone_for_groovy_and&quot;&gt;Geertjan writes&lt;/a&gt; that a brand new Groovy plugin will be available in the post-6.0 builds that adds support for three types of Groovy projects: applications, class libraries and Grails webapps.&lt;/p&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/blogapps_2_1_released</guid>
    <title>Blogapps 2.1 released</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/blogapps_2_1_released</link>
    <pubDate>Tue, 2 Oct 2007 21:49:40 +0000</pubDate>
    <category>Java</category>
    <category>app</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>blogging</category>
    <category>java</category>
    <category>jspwiki</category>
    <category>roller</category>
    <category>rss</category>
<description>&lt;p&gt;&amp;lt;a href=
&amp;quot;http://www.amazon.com/dp/1932394494?tag=bloggingrolle-20&amp;link_code=as3&amp;creativeASIN=1932394494&amp;creative=373489&amp;camp=211189&amp;quot;&amp;gt;
&lt;img src=&quot;http://rollerweblogger.org/roller/resource/dmjohnson_3d.gif&quot; alt=&quot;RSS and Atom in Action image&quot; align=&quot;right&quot;&gt;
The next releases that I&amp;#39;d like to announce are the &lt;a href=&quot;http://blogapps.dev.java.net&quot;&gt;Blogapps&lt;/a&gt; 2.1 Examples and the Blogapps 2.1 Server.&lt;/p&gt;


&lt;p&gt;If you&amp;#39;d like to learn more about the Blogapps examples and server then read &lt;a href=&quot;http://today.java.net/pub/a/today/2006/10/17/the-blogapps-project.html&quot;&gt;The Blogapps Project&lt;/a&gt; article at Java.net. Here&amp;#39;s a quick summary:&lt;/p&gt;

&lt;blockquote&gt;
            The Blogapps project hosts a collection of &lt;b&gt;useful RSS and Atom utilities and 
            examples&lt;/b&gt; from &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;RSS and Atom In Action&lt;/a&gt; 
            by Dave Johnson.  They&amp;#39;re 
            designed to be useful even if you haven&amp;#39;t read the book and they&amp;#39;re available 
            under the Apache License 2.0 so you can use the code in your applications and 
            you can modify and redistribute them as you wish. 
&lt;/blockquote&gt;

&lt;p&gt;What&amp;#39;s changed since 2.0? The examples have been updated to include the latest version of ROME Propono, which means that most of them now support the final Atom protcol spec. The server has been updated to include Roller 4.0 RC5, which also includes Atom protocol support and JSPWiki 2.4. And of course, various bugs have been fixed. Here are the release files, installation instructions and release notes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blogapps.dev.java.net/server.html&quot;&gt;Blogapps server install instructions&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;https://blogapps.dev.java.net/files/documents/4151/70491/blogapps-server-2.1.tar.gz&quot;&gt;Blogapps Server-2.1.tar.gz&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;https://blogapps.dev.java.net/files/documents/4151/70516/blogapps-server-2.1.zip&quot;&gt;Blogapps-Server-2.1.zip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blogapps.dev.java.net/java/blogapps_2.x/README.html&quot;&gt;Blopapps example release notes&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;https://blogapps.dev.java.net/files/documents/4151/70489/blogapps-java-examples-2.1.tar.gz&quot;&gt;Blogapps-Examples-2.1.tar.gz&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;https://blogapps.dev.java.net/files/documents/4151/70490/blogapps-java-examples-2.1.zip&quot;&gt;Blogapps Examples-2.1.zip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This blog entry was posted via Atom protocol and the MatisseBlogger blog-client, which you can see in the screen-shot below (which was also posted via Atom.&lt;/p&gt;

&lt;a href=&quot;http://rollerweblogger.org/roller/resource/roller-2007100222411.jpg&quot;&gt;
   &lt;img src=&quot;http://rollerweblogger.org/roller/resource/matisse-blogger-2.1.jpg&quot; alt=&quot;screenshot of MatisseBlogger&quot;&gt;
&lt;/a&gt;

&lt;p&gt;What&amp;#39;s next? Not sure at this point, but I will do another Blogapps release once ROME 1.0 is released.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/openjpa_1_0_released</guid>
    <title>OpenJPA 1.0 released</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/openjpa_1_0_released</link>
    <pubDate>Thu, 30 Aug 2007 08:24:28 +0000</pubDate>
    <category>Java</category>
<description>&lt;p&gt;
Congratulations to the &lt;a href=&quot;http://openjpa.apache.org/&quot;&gt;Apache OpenJPA&lt;/a&gt; team on making their &lt;a href=&quot;http://cwiki.apache.org/confluence/pages/viewblogposts.action?key=openjpa&amp;amp;postingDate=2007%2F8%2F28&amp;amp;period=5&quot;&gt;first official release&lt;/a&gt; since graduation. I wish I&amp;#39;d paid closer attention to the OpenJPA mailing lists and tested the release candidates. Oh well. I&amp;#39;ll download and test the final 1.0 release and maybe we can get it into Apache Roller 4.0 RC2.
&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/re_java_needs_an_overhaul</guid>
    <title>re: Java needs an overhaul</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/re_java_needs_an_overhaul</link>
    <pubDate>Tue, 28 Aug 2007 16:57:23 +0000</pubDate>
    <category>Java</category>
<description>&lt;blockquote&gt;
&lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2007/08/28/Tech-Tab-Sweep&quot;&gt;Tim Bray&lt;/a&gt;: Java still remains by far the largest development ecosystem, and the selection and quality of libraries put pretty well any other language&amp;#8217;s to shame, and it&amp;#8217;s really fucking fast, and has superb tooling, and we know how to run it securely, and it&amp;#8217;s Open-Source. So, if you want to move the state of the art along, a smart idea would be to work with, not against, Java.
&lt;/blockquote&gt;

&lt;p&gt;
Finally, something I can agree with on the &lt;a href=&quot;http://www.russellbeattie.com/blog/java-needs-an-overhaul&quot;&gt;topic&lt;/a&gt;.
&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/app_interop_event_today</guid>
    <title>APP interop event today and congrats to Atomic Joe Gregorio</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/app_interop_event_today</link>
    <pubDate>Mon, 6 Aug 2007 11:52:46 +0000</pubDate>
    <category>Java</category>
    <category>atomprotocol</category>
    <category>java</category>
    <category>rome</category>
    <category>romepropono</category>
<description>&lt;p&gt;I wasn&amp;#39;t paying attention and this one snuck-up on me. Today at noon Pacific Time there will be an online &lt;a href=&quot;http://intertwingly.net/wiki/pie/August2007Interop&quot;&gt;Atom Publishing Protocol interop event&lt;/a&gt;. The location is IRC on the Freenode network in the #atom channel: irc://irc.freenode.net/atom.&lt;/p&gt;

&lt;p&gt;I&amp;#39;m really glad I didn&amp;#39;t miss this announcement because I spent much of the last two weekends updating the &amp;lt;a href=
&amp;quot;https://rome.dev.java.net/apidocs/subprojects/propono/0.5/overview-summary.html&amp;quot;&amp;gt;
ROME Propono and &amp;lt;a href=
&amp;quot;http://cwiki.apache.org/confluence/display/ROLLER/What%27s+New+in+Roller+4.0&amp;quot;&amp;gt;Apache Roller 4.0 implementations to work with the final version of APP (&lt;a href=&quot;http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-17.html&quot;&gt;draft #17&lt;/a&gt;). I&amp;#39;ve got both implementations online now and ready for interop.&lt;/p&gt; 

&lt;p&gt;And in kinda sorta related news, one of the founders of the Atom effort &lt;a href=&quot;http://bitworking.org/news/229/Roads&quot;&gt;Joe Gregorio is leaving IBM&lt;/a&gt; and heading over to Google. Congratulations Joe! I hope this doesn&amp;#39;t mean you&amp;#39;ll be leaving the Triangle behind.&lt;/p&gt;

</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/finally_go_to_file_in</guid>
    <title>Finally... &amp;quot;go to file&amp;quot; in Netbeans</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/finally_go_to_file_in</link>
    <pubDate>Wed, 1 Aug 2007 17:02:18 +0000</pubDate>
    <category>Java</category>
    <category>java</category>
    <category>netbeans</category>
<description>&lt;p&gt;I&amp;#39;ve been waiting years for this one. As Roumen Strobl &lt;a href=&quot;http://blogs.sun.com/roumen/entry/little_features_that_help&quot;&gt;points out&lt;/a&gt;, the Netbeans 6.0 nightly builds &lt;i&gt;finally&lt;/i&gt; include a &amp;quot;go to file&amp;quot; feature, much like CTRL-SHIFT-R in Eclipse (but in Netbeans 6.0 it&amp;#39;s CTRL-SHIFT-O).&lt;/p&gt;

&lt;p&gt;I&amp;#39;m diggin&amp;#39; 6.0 and it&amp;#39;s starting to look pretty stable in advance of beta1, which is coming out this month. Grab a &lt;a href=&quot;http://bits.netbeans.org/download/6.0/nightly/&quot;&gt;nightly build&lt;/a&gt; and check it out. According to &lt;a href=&quot;http://blogs.sun.com/tor/&quot;&gt;Tor&lt;/a&gt; on the Java Posse the nightly builds are likely to be more stable than the most recent M10 milestone release.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/java_already_built_into_iphone</guid>
    <title>Java already built-into iPhone h/w</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/java_already_built_into_iphone</link>
    <pubDate>Mon, 9 Jul 2007 10:45:05 +0000</pubDate>
    <category>Java</category>
    <category>apple</category>
    <category>iphone</category>
<description>So says ZDNet&amp;#39;s Ed Burnette.

&lt;blockquote&gt;
&lt;a href=&quot;http://blogs.zdnet.com/Burnette/?p=338&quot;&gt;Ed Burnette&lt;/a&gt;: Shortly after the iPhone went on sale, hardware enthusiasts started &lt;a href=&quot;http://content.zdnet.com/2346-9595_22-93276-27.html&quot;&gt;tearing into them&lt;/a&gt; to see what made them tick. They found that the iPhone is using an ARM1176JZF-based processor, probably the Samsung &lt;a href=&quot;http://www.samsung.com/products/semiconductor/MobileSoC/ApplicationProcessor/ARM11Series/S3C6400/S3C6400.htm&quot; taget=&quot;_blank&quot;&gt;S3C6400&lt;/a&gt; that operates at 667MHz. This chip sports an embedded Java acceleration engine called &lt;a href=&quot;http://www.arm.com/products/esd/jazelle_home.html&quot;&gt;Jazelle&lt;/a&gt;. 
&lt;/blockquote&gt;

And in closing Ed writes:

&lt;blockquote&gt;
Now, if Apple can just get over its anachronistic â&#128;&#156;Java is heavyweightâ&#128;&#157; beliefs, then small, efficient, hardware-accelerated Java games and multimedia for your iPhone could be just a software upgrade away.
&lt;/blockquote&gt;

Maybe the iPhone won&amp;#39;t suck for developers after all.</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/glassfish_at_unc_chapel_hill</guid>
    <title>Glassfish at UNC-Chapel Hill</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/glassfish_at_unc_chapel_hill</link>
    <pubDate>Tue, 3 Jul 2007 21:41:01 +0000</pubDate>
    <category>Java</category>
    <category>glassfish</category>
    <category>opensource</category>
    <category>triangle</category>
<description>&lt;img src=&quot;http://blogs.sun.com/stories/resource/unc/gf_license-250_127px.png&quot; alt=&quot;Glassfish NC license tag&quot; align=&quot;right&quot;&gt;
&lt;p&gt;Via &lt;a href=&quot;http://blogs.sun.com/theaquarium/entry/glassfish_at_unc&quot;&gt;the Aquarium&lt;/a&gt;, there&amp;#39;s a nice Java EE and Glassfish &lt;a href=&quot;http://blogs.sun.com/stories/entry/unc&quot;&gt;adoption story&lt;/a&gt; over in Chillboro:&lt;/p&gt;

&lt;blockquote&gt;&lt;a href=&quot;http://kmdev.atn.unc.edu/roller/adamc/&quot;&gt;Adam Constabaris&lt;/a&gt;:
A fundamental question for us in building this application was whether to use Tomcat and &amp;quot;soup it up&amp;quot; by using Spring to add services Tomcat doesn&amp;#39;t provide itself, or whether to use a full Java EE container.  We could have made it work with the servlet container approach, since our application isn&amp;#39;t heavily &amp;quot;enterprisey&amp;quot; and we were initially reluctant to pay the complexity price of EJBs.  After looking at the Java EE 5 specification, though, we saw a lot of ways we could simplify and standardize things, such as using JSF 1.2 and coding to the Java Persistence API rather than using Hiberrnate APIs directly.
&lt;/blockquote&gt;

&lt;p&gt;Hey! I know that guy. Hi Adam.&lt;/p&gt;

&lt;p&gt;Is there a trend towards full app servers and away from plain old Tomcat? Is it because of strong open source Java EE offerings from Sun, JBoss and Apache? I don&amp;#39;t know, but I sure hope so.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/zero</guid>
    <title>Zero</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/zero</link>
    <pubDate>Mon, 2 Jul 2007 09:28:53 +0000</pubDate>
    <category>Java</category>
    <category>groovy</category>
    <category>java</category>
    <category>rest</category>
<description>IBM&amp;#39;s &lt;a href=&quot;http://www.projectzero.org&quot;&gt;project Zero&lt;/a&gt; has de-cloaked.

&lt;blockquote&gt;
Project Zero introduces a simple environment for creating, assembling and executing applications based on popular Web technologies. The Project Zero environment includes a scripting runtime for Groovy and PHP with application programming interfaces optimized for producing REST-style services, integration mash-ups and rich Web interfaces.
&lt;/blockquote&gt;

Smells a lot like &lt;a href=&quot;https://phobos.dev.java.net/&quot;&gt;Phobos&lt;/a&gt; (see also &lt;a href=&quot;http://weblogs.java.net/blog/robc/archive/2006/11/phobos_meets_th.html&quot;&gt;Phobos Meets Atom, REST&lt;/a&gt;), but Phobos is focusing on server-side JavaScript first. Oh, and Phobos &lt;i&gt;is&lt;/i&gt; open source. Project Zero is not. 

&lt;blockquote&gt;
&amp;quot;This community is an experiment in a new way to build commercial software, an approach we are currently calling Community-Driven Commercial Development. Community-Driven means that we want feedback, insight, suggestions, criticism, and dialogue with you, the users of Project Zero. This interaction will yield a better solution that is more targeted at the problems you have and a technology that truly delivers on its objectives. Commercial means that this is not an open source project.&amp;quot;
&lt;/blockquote&gt;

Community-driven? Sounds like the community is a back-seat driver with freedom to complain but no access to the steering wheel, gas pedal or breaks.</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/apache_openjpa_graduates</guid>
    <title>Apache OpenJPA graduates</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/apache_openjpa_graduates</link>
    <pubDate>Tue, 22 May 2007 08:50:28 +0000</pubDate>
    <category>Java</category>
    <category>asf</category>
    <category>java</category>
    <category>jpa</category>
    <category>orm</category>
<description>&lt;p&gt;Congrats to the OpenJPA team.&lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;a href=&quot;http://jroller.com/page/pcl?entry=openjpa_graduates_from_the_apache&quot;&gt;Patrick Linksey&lt;/a&gt;: Last week, OpenJPA graduated from the Apache incubator, meaning that
it&amp;#39;s now a fully-fledged Apache project. We&amp;#39;re graduating to a
top-level project, so once the infrastructure administrivia gets worked
out, the new URL will be http://openjpa.apache.org.&lt;p&gt;I&amp;#39;d like to thank Craig Russell for pushing the project through the
last mile of graduation details, and our incubation mentors (Brian
McAllister, Eddie O&amp;#39;Neil, and Geir Magnusson) for all their help
transitioning into the Apache world.&lt;/p&gt;&lt;/blockquote&gt;




&lt;p&gt;I&amp;#39;m pushing to replace Hibernate with JPA in Roller and OpenJPA seems the most likely candidate, so I&amp;#39;m glad to hear the community is thriving.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/basic_groovy_for_netbeans_6</guid>
    <title>Basic Groovy, for Netbeans 6.0</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/basic_groovy_for_netbeans_6</link>
    <pubDate>Mon, 21 May 2007 16:24:23 +0000</pubDate>
    <category>Java</category>
    <category>groovy</category>
    <category>java</category>
    <category>netbeans</category>
<description>&lt;p&gt;Speaking of open source projects that need help, there&amp;#39;s &lt;a href=&quot;https://coyote.dev.java.net/&quot;&gt;Coyote&lt;/a&gt;, which promised to bring scripting support to Netbeans and did so for Netbeans 5.0. Since then, the project has been pretty stagnant. JRuby&amp;#39;s getting all the attention these days.&lt;br&gt;&lt;/p&gt;&lt;p&gt; &lt;a href=&quot;http://blogs.sun.com/geertjan/entry/basic_groovy&quot;&gt;Geertjan is doing his best&lt;/a&gt; to jump-start Groovy support in Netbeans, but it&amp;#39;s not really his job. He&amp;#39;s gone beyond the call of duty and it looks like he&amp;#39;s got something pretty functional going, which is very nice. I&amp;#39;ve been doing some Groovy scripting lately, so I&amp;#39;ll try it out. It would be cool if the Groovy project itself had time to help out, or even take over, but they&amp;#39;re probably pretty busy too.
&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/sun_open_sources_slynkr_digg</guid>
    <title>Sun open sources Slynkr, Digg-like social bookmarking app</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/sun_open_sources_slynkr_digg</link>
    <pubDate>Mon, 21 May 2007 08:05:41 +0000</pubDate>
    <category>Java</category>
    <category>foss</category>
    <category>java</category>
    <category>web2.0</category>
<description>&lt;p&gt;
Sun just open sourced an interesting Java webapp called Slynkr that supports a Digg-like form of social bookmarking and tagging. You can get the source and docs at &lt;a href=&quot;http://slynkr.dev.java.net&quot;&gt;slynkr.dev.java.net&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Slynkr was developed inside Sun by &lt;a href=&quot;http://blogs.sun.com/woodjr/&quot;&gt;Jamey Wood&lt;/a&gt; and others. The small community that formed around it found it useful and fun and wanted to share it. Slynkr was first deployed externally (and experimentally) at &lt;a href=&quot;https://slynkr.sunwarp.net&quot;&gt;slynkr.sunwarp.net&lt;/a&gt; and more recently it was put into production at &lt;a href=&quot;http://www.sdnshare.com&quot;&gt;www.sdnshare.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Slynkr has a nice feature set and UI, but under the covers it needs some work. It&amp;#39;s only been tested with the Sun app server and Oracle, so it&amp;#39;s probably got some &amp;quot;portability&amp;quot; issues. For better or worse, it&amp;#39;s got a simple Servlet/JSP and JDBC architecture -- no frameworks or persistence layer yet. Jamey is interested in improving the architecture, making it work on multiple servers and databases and growing a community around the project. So if you&amp;#39;re interested, grab the source, join the mailing-list and get in on the ground-floor of an cool new open source project.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Update&lt;/b&gt;: check out &lt;a href=&quot;http://blogs.sun.com/woodjr/entry/introducing_slynkr&quot;&gt;Jamey&amp;#39;s post on Slynkr&lt;/a&gt; for some more background.&lt;br&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/ts_6029_beyond_blogging_feeds</guid>
    <title>TS-6029 - Beyond Blogging: Feeds in Action</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/ts_6029_beyond_blogging_feeds</link>
    <pubDate>Thu, 10 May 2007 16:27:29 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>feeds</category>
    <category>java</category>
    <category>rss</category>
<description>&lt;p&gt;As usual, I&amp;#39;m enjoying JavaOne and meeting lots of new people and putting faces to names. I&amp;#39;ve also been practicing my talk daily so I can give you my best performance, so eat lunch a little early or a little late and come see how it goes. Here are the details:&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www28.cplan.com/sb158/session_details.jsp?isid=286029&amp;amp;ilocation_id=158-1&amp;amp;ilanguage=english&quot;&gt;TS-6029 - Beyond Blogging: Feeds in Action&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Friday   05/11/2007&amp;nbsp; 12:10 PM -1:10 PM &lt;/li&gt;&lt;li&gt;Moscone Center Esplanade 307 / 310&lt;/li&gt;&lt;/ul&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/app_and_openid_at_javaone</guid>
    <title>APP and OpenID at JavaOne</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/app_and_openid_at_javaone</link>
    <pubDate>Mon, 7 May 2007 14:43:56 +0000</pubDate>
    <category>Java</category>
    <category>app</category>
    <category>atom</category>
    <category>javaone2007</category>
    <category>openid</category>
    <category>rest</category>
    <category>webservices</category>
<description>&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;http://blogs.sun.com/treydrake/entry/atom_app_openid_and_opends&quot;&gt;Trey Drake&lt;/a&gt;: How do you demo a directory server?  Build cool apps around it.  To that end, we&amp;#39;ve built an &lt;a href=&quot;http://en.wikipedia.org/wiki/Atom_%28standard%29&quot;&gt;Atom/APP&lt;/a&gt;
server, a lightweight OpenID server, a blogging and &amp;quot;twitter&amp;quot; like app
- all powered by OpenDS. Drop by our booth (Glassfish alley at
CommunityONE and .org section of the pavilion during JavaONE). &lt;a href=&quot;http://blogs.sun.com/ludo&quot;&gt;Ludo&lt;/a&gt; and I will introduce OpenDS and show off the demos in two talks; today at &lt;a href=&quot;http://developers.sun.com/events/communityone/track2.jsp&quot;&gt;CommunityONE&lt;/a&gt; at 5PM and Wednesday at 1:30 in the CommunityCorner.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Very cool. I&amp;#39;m not going to be the only one talking about Atom protocol at JavaOne. I&amp;#39;ll have to stop by the CommunityCorner, that sounds too good to miss.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/propono_0_5_released</guid>
    <title>Propono 0.5 released</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/propono_0_5_released</link>
    <pubDate>Mon, 23 Apr 2007 15:32:10 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>atomprotocol</category>
    <category>java</category>
    <category>metaweblogapi</category>
    <category>rest</category>
    <category>rome</category>
    <category>romepropono</category>
    <category>rss</category>
    <category>webservices</category>
<description>ROME Propono 0.5 is a minor bug fix release of Propono. You can get the release files and updated Javadocs from the &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomeProponoRelease05&quot;&gt;Propono 0.5 release page&lt;/a&gt;.</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/app_interop_follow_up</guid>
    <title>APP interop follow-up</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/app_interop_follow_up</link>
    <pubDate>Sun, 22 Apr 2007 19:59:19 +0000</pubDate>
    <category>Java</category>
    <category>app</category>
    <category>atom</category>
    <category>java</category>
    <category>propono</category>
    <category>rome</category>
<description>&lt;p&gt;Following up on the APP interop event last week, here are the &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomePropono&quot;&gt;ROME Propono&lt;/a&gt; APP client issues we found:&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://rome.dev.java.net/issues/show_bug.cgi?id=66&quot;&gt;ROME #66 BUG - don&amp;#39;t expect entry to be returned from update (FIXED)&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;
&lt;a href=&quot;https://rome.dev.java.net/issues/show_bug.cgi?id=67&quot;&gt;
ROME #67 BUG - handle relative URIs in Service Doc
&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;
&lt;a href=&quot;https://rome.dev.java.net/issues/show_bug.cgi?id=68&quot;&gt;
ROME #68 BUG - handle out-of-line categories in Service Doc
&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://rome.dev.java.net/issues/show_bug.cgi?id=69&quot;&gt;
ROME #69 RFE - use pluggable auth. scheme w/Google and WSSE support&lt;br&gt;
&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;





&lt;p&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;/p&gt;&lt;p&gt;And here are the Roller APP server issues:&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://opensource.atlassian.com/projects/roller/browse/ROL-1393&quot;&gt;
ROL-1393 BUG - attributes in service doc should not be namespaced (FIXED)&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;
&lt;a href=&quot;http://opensource.atlassian.com/projects/roller/browse/ROL-1394&quot;&gt;
ROL-1394 BUG - wrong content-type for service doc (FIXED)&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;
&lt;a href=&quot;http://opensource.atlassian.com/projects/roller/browse/ROL-1395&quot;&gt;
ROL-1395 BUG - support slugs for entries too&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;
&lt;a href=&quot;http://opensource.atlassian.com/projects/roller/browse/ROL-1396&quot;&gt;
ROL-1396 RFE - RSD support, auto-discovery for APP&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://opensource.atlassian.com/projects/roller/browse/ROL-1397&quot;&gt;
ROL-1397 BUG - null byte 0x0 getting into entry contents&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;I plan on fixing the Roller issues for this summer&amp;#39;s Roller 4.0 release. I won&amp;#39;t have time to fix the Propono issues for the upcoming Propono 0.5 release (due this week), so they&amp;#39;ll be in 0.6 sometime after JavaOne.&lt;br&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/rome_propono_0_4_released</guid>
    <title>ROME Propono 0.4 released</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/rome_propono_0_4_released</link>
    <pubDate>Tue, 10 Apr 2007 15:20:26 +0000</pubDate>
    <category>Java</category>
    <category>app</category>
    <category>atom</category>
    <category>java</category>
    <category>rome</category>
    <category>rss</category>
<description>&lt;p&gt;&lt;a href=&quot;http://rome.dev.java.net&quot;&gt;&lt;img vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; align=&quot;right&quot; src=&quot;http://rollerweblogger.org/roller/resource/rome-logo.png&quot;&gt;&lt;/a&gt;I&amp;#39;m happy to announce the first release of the &lt;a href=&quot;https://rome.dev.java.net/&quot;&gt;ROME&lt;/a&gt; subproject Propono. Propono is a ROME-based Java class library that supports publishing protocols, specifically the Atom Publishing Protocol and the legacy MetaWeblog API. Propono includes an Atom client library, an Atom server framework and a Blog client that supports both Atom protocol and the MetaWeblog API.&lt;br&gt;&lt;br&gt;Here&amp;#39;s the project page&lt;br&gt; &amp;nbsp; &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomePropono&quot; target=&quot;_blank&quot;&gt;http://wiki.java.net/bin/view/Javawsxml/RomePropono&lt;/a&gt;&lt;br&gt;&lt;br&gt;Here&amp;#39;s the Propono 0.4 release page:&lt;br&gt; &amp;nbsp; &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomeProponoRelease04&quot; target=&quot;_blank&quot;&gt;http://wiki.java.net/bin/view/Javawsxml/RomeProponoRelease04&lt;/a&gt;&lt;br&gt;&lt;br&gt;And here&amp;#39;s a link to the API docs, which include details, diagrams and code examples:&lt;br&gt; &amp;nbsp; &lt;a href=&quot;https://rome.dev.java.net/apidocs/subprojects/propono/0.4/overview-summary.html&quot; target=&quot;_blank&quot;&gt;https://rome.dev.java.net/apidocs/subprojects/propono/0.4/overview-summary.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;I&amp;#39;ll be testing Propono this week and next (at the Google-hosted &lt;a href=&quot;http://www.intertwingly.net/wiki/pie/April2007Interop&quot;&gt;APP interop meeting&lt;/a&gt;) so now is a great time to provide feedback and bug reports. I plan on releasing Propono 0.5 in the *very* near future.
&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/javaone_beyond_blogging_feeds_in</guid>
    <title>@JavaOne: Beyond Blogging: Feeds in Action</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/javaone_beyond_blogging_feeds_in</link>
    <pubDate>Wed, 4 Apr 2007 17:32:34 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>feeds</category>
    <category>java</category>
    <category>javaone</category>
    <category>propono</category>
    <category>rest</category>
    <category>rss</category>
<atom:summary type="html">As promised here&amp;#39;s some more info on my &lt;a href=&quot;http://java.sun.com/javaone/sf/&quot;&gt;JavaOne 2007&lt;/a&gt;
session. It&amp;#39;s based in part on the Beyond Blogging presentation that I
presented to a tiny audience at the local Tri-XML conference last year.
Tim Bray didn&amp;#39;t attend my talk, but he read the slides and &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2006/07/29/Johnson-on-Feeds&quot;&gt;called&lt;/a&gt;
them &amp;quot;the single best introduction and overview Iâ&#128;&#153;ve ever seen
about feeds and syndication and RSS and Atom and all that stuff.&amp;quot; I
shouldn&amp;#39;t brag. Had he attended the talk he might have had an entirely
different opinion, who knows. Anyhow, the presentation has been updated,
stream-lined and large portions rewritten to cover &lt;a href=&quot;http://rome.dev.java.net/&quot;&gt;ROME&lt;/a&gt; and ROME&amp;#39;s new Propono sub-project.&amp;nbsp;</atom:summary><description>&lt;p&gt;As &lt;a href=&quot;http://rollerweblogger.org/roller/entry/apacheconeu_roller_and_blogs_as&quot;&gt;promised&lt;/a&gt; here&amp;#39;s some more info on my &lt;a href=&quot;http://java.sun.com/javaone/sf/&quot;&gt;JavaOne 2007&lt;/a&gt; session. It&amp;#39;s based in part on the Beyond Blogging presentation that I presented to a tiny audience at the local Tri-XML conference last year. Tim Bray didn&amp;#39;t attend my talk, but he read the slides and &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2006/07/29/Johnson-on-Feeds&quot;&gt;called&lt;/a&gt; them &amp;quot;the single best introduction and overview I&amp;#39;ve ever seen
about feeds and syndication and RSS and Atom and all that stuff.&amp;quot; I shouldn&amp;#39;t brag. Had he attended the talk he might have had an entirely different opinion, who knows. Anyhow, the presentation has been updated, stream-lined and large portions rewritten to cover &lt;a href=&quot;http://rome.dev.java.net&quot;&gt;ROME&lt;/a&gt; and ROME&amp;#39;s new Propono sub-project. Here&amp;#39;s the outline:&lt;br&gt;&lt;br&gt;&lt;b&gt;The web is bloggy&lt;br&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Blogging, XML and web services&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Feeds on the web today&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Feeds as an integration technology&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WS Death Star&lt;br&gt;&lt;b&gt;Understanding RSS and Atom&lt;br&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The birth of the RSS&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The RDF fork: RSS 1.0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Elements of RSS 1.0 (abridged)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Feed Extension Modules&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The simple fork: RSS 0.92 â&#128;&#147; RSS 2.0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Elements of RSS 2.0 (abridged)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RSS limitations&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Atom Publishing Format&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Elements of Atom (abridged)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RSS and Atom feed family tree&lt;br&gt;&lt;b&gt;Consuming feeds with ROME&lt;br&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; It&amp;#39;s just XML&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROME RSS/Atom feed utilities&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; How does ROME work?&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROME SyndFeed model&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; How to fetch feeds&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fetching a feed with ROME Fetcher&lt;br&gt;&lt;b&gt;Producing feeds with ROME&lt;/b&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Serving feeds: generate XML&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Use your favorite XML tools or...&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Generating Atom with ROME&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Serving feeds&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cache cache cache&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Serving Atom with ROME&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Feed auto-discovery&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Serving valid feeds&lt;br&gt;&lt;b&gt;Publishing with ROME Propono&lt;/b&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Atom Publishing Protocol (APP)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; What does APP do?&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; How does it do all that? The REST way&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; APP Service Document&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; An Atom collection &amp;lt;feed&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Getting an APP collection - with paging&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROME Propono&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROME Propono Atom Client API&lt;br&gt;RSS/Atom trends&lt;br&gt;For More Information&lt;br&gt;Summary&lt;br&gt;Q &amp;amp; A&amp;nbsp;&lt;/p&gt;&lt;p&gt;And for the folks who&amp;#39;ve written to me about Propono, the new ROME subproject devoted to publishing via Atom protocol (and the MetaWeblog API): I hope to commit the code to ROME and starting blogging about it this week.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/geertjan_s_blog</guid>
    <title>Geertjan&amp;#39;s blog</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/geertjan_s_blog</link>
    <pubDate>Tue, 3 Apr 2007 23:01:08 +0000</pubDate>
    <category>Java</category>
    <category>blogging</category>
    <category>java</category>
    <category>netbeans</category>
    <category>sun</category>
<description>&lt;p&gt;I&amp;#39;ve really been enjoying &lt;a href=&quot;http://blogs.sun.com/geertjan&quot;&gt;Geertjan&lt;/a&gt;&amp;#39;s blog recently. Lots of interesting details, screenshots and his passion for his work really comes through. His posts on the Netbeans &lt;a href=&quot;http://wiki.netbeans.org/wiki/view/Schliemann&quot;&gt;Schliemann&lt;/a&gt; generic languages framework and today&amp;#39;s &lt;a href=&quot;http://blogs.sun.com/geertjan/entry/capturing_matisse&quot;&gt;Capturing Matisse&lt;/a&gt; make me want to drop everything and start hacking Netbeans. And I&amp;#39;m especially happy to see that somebody is interesting in Breathing Life Back into a Dead Coyote (&lt;a href=&quot;http://blogs.sun.com/geertjan/entry/breathing_life_into_a_dead&quot;&gt;part 1&lt;/a&gt; and &lt;a href=&quot;http://blogs.sun.com/geertjan/entry/breathing_life_into_a_dead1&quot;&gt;part 2&lt;/a&gt;), which is currently the main vehicle for &lt;a href=&quot;http://groovy.codehaus.org/&quot;&gt;Groovy&lt;/a&gt; language support in Netbeans -- I&amp;#39;d hate to see Groovy dropped in the mad rush to Ruby.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/newsgator_launches_java_me_powered</guid>
    <title>Newsgator launches Java ME powered feed reader</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/newsgator_launches_java_me_powered</link>
    <pubDate>Thu, 15 Mar 2007 12:06:36 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>javame</category>
    <category>rss</category>
<description>&lt;p&gt;&lt;a href=&quot;http://www.newsgator.com&quot;&gt;Newsgator&lt;/a&gt;, makers of FeedDemon and NetNewsWire, have launched a Java ME powered RSS/Atom feed reader. Here are some details from the &lt;a href=&quot;http://www.newsgator.com/news/archive.aspx?post=126&quot;&gt;press release&lt;/a&gt;:&amp;nbsp;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;NewsGator Go! for BlackBerry and NewsGator Go! for Java were developed in a technology partnership with &lt;a href=&quot;http://www.freerangeinc.com/&quot;&gt;&lt;em&gt;FreeRange Communications&lt;/em&gt;&lt;/a&gt;&lt;em&gt;,&lt;/em&gt;
the leading developers of mobile publishing and mobile RSS solutions,
and is available for BlackBerry, Sony Ericsson, Nokia, and most other
MID-P 2.0 mobile phones, including Samsung, Sanyo and LG. NewsGator Go!
is available for $29.95 or $14.95 if bought with any of NewsGatorâ&#128;&#153;s
desktop readers, including FeedDemon, NetNewsWire and Inbox.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Via &lt;a href=&quot;http://www.newsgator.com/news/archive.aspx?post=126&quot;&gt;Randy Morin&lt;/a&gt;.&lt;br&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/sun_web_developer_pack_r1</guid>
    <title>Sun Web Developer Pack R1 with RSS and Atom goodies</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/sun_web_developer_pack_r1</link>
    <pubDate>Mon, 12 Mar 2007 21:20:29 +0000</pubDate>
    <category>Java</category>
    <category>ajax</category>
    <category>atom</category>
    <category>java</category>
    <category>rest</category>
    <category>rome</category>
    <category>rss</category>
    <category>swdp</category>
    <category>web20</category>
<description>The &lt;a href=&quot;http://developers.sun.com/web/swdp/&quot;&gt;Sun Web Developer Pack&lt;/a&gt; (SWDP) finally &lt;a href=&quot;http://blogs.sun.com/arungupta/entry/introducing_sun_web_developer_pack&quot;&gt;uncloaked&lt;/a&gt; today, so I can talk a
little more openly about what I and my Java EE co-workers have been
working on. You can get the full scoop at the SWDP site, but basically
SWDP is a bundle of technologies to help developers build &amp;quot;Web 2.0&amp;quot; or
next-generation web applications on the Java platform. Ajax, scripting
languages, REST and of course RSS/Atom are all part of that. The
RSS/Atom bits are ROME 0.9 (Beta), Blogapps 2.0 (Early Access) and a
ROME-based Atom Server kit based on code from Roller.&amp;nbsp; There are also
example Atom server implementations in the REST API and Phobos
components of the pack.&lt;br&gt; &lt;p&gt;I&amp;#39;m pretty excited that we&amp;#39;re putting some resources behind ROME and that both &lt;a href=&quot;https://rome.dev.java.net/&quot;&gt;ROME&lt;/a&gt; and &lt;a href=&quot;https://blogapps.dev.java.net/&quot;&gt;Blogapps&lt;/a&gt;
are part of SWDP R1, but I&amp;#39;m even more excited about the next release.
In R2 we&amp;#39;ll drop the Atom Server Kit and Blogapps BlogClient and we&amp;#39;ll
replace them with &lt;a href=&quot;https://rome.dev.java.net/servlets/ReadMsg?list=dev&amp;amp;msgNo=2282&quot;&gt;ROME Propono&lt;/a&gt; a brand new Atom protocol client and server library that we&amp;#39;re getting ready to contribute to the ROME project.&lt;/p&gt;I haven&amp;#39;t had a whole lot of time to experiment with the various components in the pack, but I have played with &lt;a href=&quot;https://phobos.dev.java.net/&quot;&gt;Phobos&lt;/a&gt;
and I think it&amp;#39;s pretty compelling. Phobos is a &amp;quot;lightweight,
scripting-friendly, web application
environment.&amp;quot; It&amp;#39;s not just for creating server-side JavaScript
applications, but that&amp;#39;s the angle the I find interesting. So many
developers are creating JavaScript/Ajax applications these days that
working in JavaScript on both client and server-sides makes sense --
especially when you can debug into JavaScript code in your IDE as you
can with the Netbeans Phobos module. Also note that the &lt;a href=&quot;https://ajax.dev.java.net/&quot;&gt;jMaki&lt;/a&gt; Ajax components work with JSP, PHP &lt;i&gt;and&lt;/i&gt; Phobos -- jMaki and Phobos look like a winning combination.</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/jpa_jpa_jpa</guid>
    <title>JPA JPA JPA</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/jpa_jpa_jpa</link>
    <pubDate>Thu, 8 Mar 2007 14:33:59 +0000</pubDate>
    <category>Java</category>
    <category>hibernate</category>
    <category>java</category>
    <category>openjpa</category>
    <category>orm</category>
    <category>toplink</category>
<description>&lt;p&gt;That&amp;#39;s three JPAs. I&amp;#39;ve been fighting to get a new Roller back-end running, one that uses the &lt;a href=&quot;http://java.sun.com/javaee/overview/faq/persistence.jsp&quot;&gt;Java Persistence API&lt;/a&gt; (JPA) rather than the native Hibernate API that we use now. &lt;/p&gt;&lt;p&gt;Craig Russell and Mitesh Meswani wrote the new JPA back-end and tested it against &lt;a href=&quot;https://glassfish.dev.java.net/javaee5/persistence/&quot;&gt;Toplink/JPA&lt;/a&gt; (JPA #&lt;b&gt;1&lt;/b&gt;) and the Derby database. I&amp;#39;ve been refactoring it, updating it for Roller 4.0 and testing it against various other databases and JPA implementations with mixed results.&lt;/p&gt;&lt;p&gt;I tried to run it against MySQL, ran into a bunch of problems and fixed those. &lt;a href=&quot;http://www.mans-end.com/&quot;&gt;Allen&lt;/a&gt; switched out Toplink/JPA for &lt;a href=&quot;http://entitymanager.hibernate.org/&quot;&gt;Hibernate/JPA&lt;/a&gt; (JPA #&lt;b&gt;2&lt;/b&gt;), ran into problems and fixed those. I switched out Toplink for &lt;a href=&quot;http://incubator.apache.org/openjpa/&quot;&gt;Apache OpenJPA&lt;/a&gt;-incubating (JPA #&lt;b&gt;3&lt;/b&gt;), ran into problems and fixed those. So now we have a back-end implementation that runs against OpenJPA, but requires two small code changes to work against Toplink -- not exactly an ideal situation.&lt;br&gt; &lt;/p&gt;&lt;p&gt;I&amp;#39;m a JPA newbie for sure and still trying to figure this stuff out, but it does seem that switching JPA implementations is not as easy as it ought to be.&lt;/p&gt;&lt;p&gt;In other JPA news... &lt;/p&gt;&lt;p&gt;I didn&amp;#39;t realize that the open source version of Toplink that Oracle contributed to Glassfish, &lt;a href=&quot;https://glassfish.dev.java.net/javaee5/persistence/&quot;&gt;Toplink Essentials&lt;/a&gt;, is the pee-wee version of the full and still closed source Toplink product. That&amp;#39;s why I was somewhat surprised to hear that &lt;a href=&quot;http://www.infoworld.com/article/07/03/06/HNoracleeclipse_1.html?source=rss&amp;amp;url=http://www.infoworld.com/article/07/03/06/HNoracleeclipse_1.html&quot;&gt;Oracle is open sourcing and donating the full version of Toplink to the Eclipse foundation&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Two observations about that news. First, this move appears to be a fork that will result in a &lt;a href=&quot;http://opensource.org/licenses/cddl1.php&quot;&gt;CDDL&lt;/a&gt; licensed version of Toplink Essentials in Glassfish and an &lt;a href=&quot;http://opensource.org/licenses/eclipse-1.0.php&quot;&gt;EPL&lt;/a&gt; version in Eclipse -- I hope I&amp;#39;m wrong about that. And second: apparently IBM will be soon be supporting two versions of JPA: OpenJPA via Geronimo and Toplink/JPA via Eclipse. &lt;br&gt; &lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/hudson</guid>
    <title>Hudson: an amazingly easy-to-use build server</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/hudson</link>
    <pubDate>Mon, 5 Mar 2007 08:08:24 +0000</pubDate>
    <category>Java</category>
    <category>buildsystem</category>
    <category>hudson</category>
    <category>java</category>
<description>&lt;p&gt;
I&amp;#39;ve never used a build or &amp;quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Continuous_Integration&quot;&gt;continuous integration&lt;/a&gt;&amp;quot; server before so I&amp;#39;ve got nothing to compare &lt;a href=&quot;https://hudson.dev.java.net/&quot;&gt;Hudson&lt;/a&gt; to, but I can say this: it&amp;#39;s amazingly easy to install and configure. Just drop the hudson.war file in Tomcat&amp;#39;s webapps directory or deploy to your favorite app server and start setting up build jobs. &lt;/p&gt;&lt;p&gt;Hudson can pull from CVS and Subversion. It can run Maven builds, Ant builds and shell scripts. It can publish&amp;nbsp; javadocs, build artifacts, test reports and RSS feeds. The UI is simple but full of options and with plenty of built-in help. Here are the projects I&amp;#39;m monitoring with Hudson:&lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;img vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; align=&quot;bottom&quot; src=&quot;http://rollerweblogger.org/roller/resource/myhudson.jpg&quot; alt=&quot;screenshot of hudson&quot;&gt;&lt;br&gt;My Hudson is setup on old (Pentium 450mhz) Linux box and I&amp;#39;ve got it setup to poll my projects every 30 minutes and do a full rebuild and test on any change. I&amp;#39;m subscribed via RSS, so I&amp;#39;ll quickly learn of any failure. Very handy.&lt;br&gt;&lt;br&gt;Read more about Hudson at &lt;a href=&quot;https://hudson.dev.java.net/&quot;&gt;the project&amp;#39;s Java.net site&lt;/a&gt; and the Aquarium has a nice set of &lt;a href=&quot;http://blogs.sun.com/theaquarium/tags/hudson&quot;&gt;Hudson links&lt;/a&gt;.&lt;br&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/javaone1</guid>
    <title>JavaOne here I come!</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/javaone1</link>
    <pubDate>Fri, 2 Mar 2007 21:28:09 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>java</category>
    <category>rss</category>
<description>&lt;p&gt;&lt;a href=&quot;http://java.sun.com/javaone/sf/index.jsp&quot;&gt;&lt;img vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; align=&quot;bottom&quot; src=&quot;http://rollerweblogger.org/roller/resource/2007JavaOneBanner.jpg&quot; alt=&quot;JavaOne banner&quot;&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I&amp;#39;m very happy to report that my talk was accepted for &lt;a href=&quot;http://java.sun.com/javaone/sf/index.jsp&quot;&gt;JavaOne 2007&lt;/a&gt;. I&amp;#39;ll be giving a thoroughly revamped and updated version of my Beyond Blogging talk (aka &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2006/07/29/Johnson-on-Feeds&quot;&gt;Johnson on Feeds&lt;/a&gt;), which adds in-depth coverage of ROME and ROME Propono. I&amp;#39;m excited about going to JavaOne again, but I&amp;#39;m also feeling a bit frazzled. I&amp;#39;m swamped with work right now and I&amp;#39;ve got a stack of deadlines clustered around the March 20 due date for the slides.&lt;/p&gt;&lt;p&gt;I helped out with the session selection for the web-tier track this year so I can say with some confidence that at least one track is going to rock -- we&amp;#39;ve got a wonderful set of talks lined up, so don&amp;#39;t miss it. The full session schedule isn&amp;#39;t online yet, but &lt;a href=&quot;http://java.sun.com/javaone/sf/registration.jsp&quot;&gt;registration is open&lt;/a&gt;.&lt;br&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/netbeans_6_pre_beta_impressions</guid>
    <title>Netbeans 6.0 pre-beta first impressions</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/netbeans_6_pre_beta_impressions</link>
    <pubDate>Wed, 28 Feb 2007 10:21:33 +0000</pubDate>
    <category>Java</category>
    <category>eclipse</category>
    <category>java</category>
    <category>netbeans</category>
<description>&lt;p&gt;When I saw that &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2007/02/26/Netbeans-6&quot;&gt;Tim Bray upgraded&lt;/a&gt; to a Netbeans 6 daily-build and it seemed to work OK, I just had to give it a try myself and I&amp;#39;m glad I did. I&amp;#39;ve been using it for a solid day now and I can tell that it&amp;#39;s going to be a vast improvement over 5.5. It&amp;#39;s fast. It starts up way faster than 5.5, seems faster overall and shutdown is almost instantaneous. Bravo! What else?&lt;br&gt; &lt;/p&gt;&lt;p&gt;Tim was impressed by the hip new JRuby support, and I&amp;#39;ll give that a try, but right now I&amp;#39;m digging the more routine things, things that I&amp;#39;ve been missing from Eclipse like multi-file search &amp;amp; replace, local history and a smart editor. The only thing I miss from Eclipse now is this: Netbeans has a nice Ctrl-Shft-O to &lt;i&gt;Go To Type&lt;/i&gt; feature and I use it all the time; why can&amp;#39;t we have a nice slick Ctrl-Shft-R &lt;i&gt;Go To Resource&lt;/i&gt; like Eclipse does?&lt;br&gt;&lt;br&gt;Anyhow... NB6 is looking good already, so if you&amp;#39;re using 5.5, you might want to take the latest milestone &lt;a href=&quot;http://wiki.netbeans.org/wiki/view/Milestone7Report&quot;&gt;Netbeans 6.0 M7&lt;/a&gt; or one of the &lt;a href=&quot;http://www.netbeans.info/downloads/dev.php&quot;&gt;dailies&lt;/a&gt; for a spin.&lt;br&gt; &lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/re_javax_ws_rest</guid>
    <title>Re: javax.ws.rest</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/re_javax_ws_rest</link>
    <pubDate>Thu, 15 Feb 2007 10:57:12 +0000</pubDate>
    <category>Java</category>
    <category>blogging</category>
    <category>java</category>
    <category>vacation</category>
<description>&lt;p&gt;I&amp;#39;ve been updating &lt;a href=&quot;http://rollerweblogger.org/roller/entry/javax_ws_rest&quot;&gt;my javax.ws.rest post&lt;/a&gt; with links to blogs about &lt;a href=&quot;http://www.jcp.org/en/jsr/detail?id=311&quot;&gt;JSR 311: Java (TM) API for RESTful Web Services&lt;/a&gt;. I went from a couple to nine links today and I&amp;#39;ll probably keep on linking, but I&amp;#39;m about to go quiet for couple of days. It&amp;#39;s wiki mountain weekend time &lt;a href=&quot;http://rollerweblogger.org/roller/entry/mountain_wiki_weekend&quot;&gt;again&lt;/a&gt;.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;p&gt;&amp;nbsp;&lt;img vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; align=&quot;bottom&quot; src=&quot;http://farm1.static.flickr.com/3/3769990_67318a793e.jpg&quot; alt=&quot;N.C. mountain house with snow&quot;&gt;&lt;/p&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/javax_ws_rest</guid>
    <title>javax.ws.rest</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/javax_ws_rest</link>
    <pubDate>Wed, 14 Feb 2007 10:24:20 +0000</pubDate>
    <category>Java</category>
    <category>java</category>
    <category>rest</category>
    <category>webservices</category>
<description>&lt;p&gt;That&amp;#39;s big news. A standard Java API is coming for building REST based web services. If you&amp;#39;re an expert in REST, you can participate in it&amp;#39;s development by &lt;a href=&quot;http://www.jcp.org/en/jsr/egnom?id=311&quot;&gt;signing up for the expert group&lt;/a&gt;. Apache, BEA, Google and Jerome Louvel (the &lt;a href=&quot;http://www.restlet.org/&quot;&gt;RESTlet&lt;/a&gt; guy) are on-board. Here&amp;#39;s the intro from the JSR:

&lt;/p&gt;&lt;blockquote&gt;&lt;a href=&quot;http://www.jcp.org/en/jsr/detail?id=311&quot;&gt;JSR 311: Java (TM) API for RESTful Web Services&lt;/a&gt;: This API will enable developers to rapidly build Web applications in
Java that are characteristic of the best designed parts of the Web.
This JSR will develop an API for providing REST(Representational State
Transfer - See reference to Roy Fielding&amp;#39;s dissertation in section 3.1)
support in the Java Platform. Lightweight, RESTful approaches are
emerging as a popular alternative to SOAP-based technologies for
deployment of services on the internet. Currently, building RESTful Web
services using the Java Platform is significantly more complex than
building SOAP-based services and requires using low-level APIs like
Servlets or the dynamic JAX-WS APIs. Correct implementation requires a
high level of HTTP knowledge on the developer&amp;#39;s part.&lt;p&gt;
This JSR will aim to provide a high level easy-to use API for
developers to write RESTful web services independent of the underlying
technology and will allow these services to run on top of the Java EE
or the Java SE platforms. The expert group will investigate whether a
subset of the API can be made used with Java ME. The goal of this JSR
is to provide an easy to use, declarative style of programming using
annotations for developers to write REST ful Web Services and also
enable low level access in cases where needed by the application.&lt;/p&gt;&lt;p&gt;
RESTful Web Services is a relatively new area in the industry and there
are still a lot of unknowns in this space. For example, a key aspect of
RESTful Web Services is for the service to be stateless. However, this
often requires the developer to produce boiler-plate state restoration
code that could be avoided with state-aware API help. We expect the
expert group to be an active and engaged group of people participating
to prioritize and help drive issues to achieve the end goal of a
developer friendly API. &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;

Here are a couple more links about the new JSR:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://blog.noelios.com/2007/02/14/&quot;&gt;Elliote Rusty Harold&lt;/a&gt; is not exactly positive, saying &amp;quot;this is like asking Karl Rove and Dick Cheney to write the Democratic Party platform&amp;quot; but concludes with a call for participation: &amp;quot;are there any JSR members here who might join the working group and bring some sanity and actual REST experience to the development of the eventual specification?&amp;quot;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://blog.noelios.com/2007/02/14/&quot;&gt;Jerome Louvel&lt;/a&gt; explains the idea of REST annotations and explains that implementations will be possible with JAX-WS, Servlet API or Restlet API.&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://netzooid.com/blog/2007/02/14/jsr-311-javaxwsrest/&quot;&gt;Dan Diephouse&lt;/a&gt; says &amp;quot;This is excellent news - Iâ&#128;&#153;m glad to see people are thinking more seriously about RESTful services on Java&amp;quot; and &amp;quot;Expert group members may be interested in checking out the previous work Iâ&#128;&#153;ve done on Java REST annotations&amp;quot;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://kasparov.skife.org/blog/src/java/vb-by-committee.html&quot;&gt;Brian McAllister&lt;/a&gt;: says the JSR sounds like another case where &amp;quot;reasonably good developers trying to design software for
presumed-incompetent developers which will in fact be used unhappily by
basically competent developers.&amp;quot; &lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://weblogs.java.net/blog/mhadley/archive/2007/02/jsr_311_java_ap.html&quot;&gt;Mark Hadley&lt;/a&gt; addresses some of the concerns raised above and provides an interesting code example showing the REST annotations in action. &lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://wanderingbarque.com/nonintersecting/2007/02/14/new-rest-jsr/&quot;&gt;Pete Lacey&lt;/a&gt;: &amp;quot;Initial thoughts: 1) Cool! 2) The servlet API is not ideal, this is needed. 3) I hope they donâ&#128;&#153;t screw it up (see &lt;a href=&quot;http://java.sun.com/webservices/jaxws/&quot;&gt;JAX-WS&lt;/a&gt;).&amp;quot;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.1060.org/blogxter/entry?publicid=8C08746C8C0462CC6FB4E4D69098F1AE&quot;&gt;Steve Loughran&lt;/a&gt;: &amp;quot;I don&amp;#39;t have the faintest clue what a REST
API should look like, except that &lt;i&gt;it must not look like JAX-RPC/JAX-WS&amp;quot;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.infoq.com/news/2007/02/jsr-311-java-rest-api&quot;&gt;InfoQ thread&lt;/a&gt;: summary of news and three comments as of Thursday &lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://blogs.sun.com/sandoz/entry/jsr_311_and_the_republicans&quot;&gt;Paul Sandoz&lt;/a&gt;: &amp;quot;I have been wanting to work on such an API and implementation for about
5 years! [...] Now the Web &lt;a href=&quot;http://blogs.sun.com/sandoz/entry/rest_is_showing_some_life%3F&quot;&gt;zeitgeist&lt;/a&gt; is back and so are we :-)&amp;quot;&lt;/li&gt;&lt;/ul&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/jruby_on_the_javaposse</guid>
    <title>JRuby on the JavaPosse</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/jruby_on_the_javaposse</link>
    <pubDate>Thu, 18 Jan 2007 09:36:00 +0000</pubDate>
    <category>Java</category>
    <category>jruby</category>
<description>&lt;p&gt;Interested in the &lt;a href=&quot;http://jruby.org&quot;&gt;JRuby&lt;/a&gt; project? Then you should check out the JavaPosse podcast &lt;a href=&quot;http://javaposse.com/index.php?post_id=171709&quot;&gt;interview with JRuby developers Charles Nutter and Thomas Enebo&lt;/a&gt;. They cover project status, JRuby vs. CRuby, Ruby on Rails on the JVM and their new jobs at Sun.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/open_source_ghetto_at_javaone</guid>
    <title>Open source ghetto at JavaOne?</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/open_source_ghetto_at_javaone</link>
    <pubDate>Fri, 12 Jan 2007 12:57:17 +0000</pubDate>
    <category>Java</category>
    <category>java</category>
    <category>javaone</category>
    <category>opensource</category>
<description>Geir&amp;#39;s got a &lt;a href=&quot;http://blogs.codehaus.org/people/geir/archives/001484_can_we_please_have_an_open_source_ghetto_at_javaones_pavilion.html&quot;&gt;great idea&lt;/a&gt; for JavaOne. Hope it&amp;#39;s not too late for 2007.</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/javaone_2007_call_for_papers1</guid>
    <title>JavaOne 2007 call for papers closes today</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/javaone_2007_call_for_papers1</link>
    <pubDate>Fri, 15 Dec 2006 08:52:44 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>javaone</category>
    <category>roller</category>
    <category>rss</category>
<description>&lt;p&gt;
There&amp;#39;s still time to get those proposals in. I ended up submitting three proposals for technical sessions related to RSS/Atom and one for a Roller birds-of-a-feather (BOF) session. &lt;/p&gt;&lt;p&gt;Here&amp;#39;s the link to submit proposals: &lt;a href=&quot;http://www.cplan.com/sun/javaone07/cfp&quot;&gt;http://www.cplan.com/sun/javaone07/cfp&lt;/a&gt;.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/join_the_blogs_sun_com</guid>
    <title>Join the blogs.sun.com team</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/join_the_blogs_sun_com</link>
    <pubDate>Tue, 12 Dec 2006 22:58:04 +0000</pubDate>
    <category>Java</category>
    <category>blogging</category>
    <category>java</category>
    <category>solaris</category>
    <category>sun</category>
<description>&lt;p&gt;
If you dig blogs, wikis, feeds, Java and Solaris then you might be interested in the fact that we&amp;#39;re hiring. Linda &lt;a href=&quot;http://blogs.sun.com/lskrocki/entry/want_to_work_on_sun&quot;&gt;Skrocki&amp;#39;s got the scoop&lt;/a&gt; on the job opening in Sun&amp;#39;s Community Software Engineering team.&lt;br&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/javaone_2007_call_for_papers</guid>
    <title>JavaOne 2007 call for papers ends Friday</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/javaone_2007_call_for_papers</link>
    <pubDate>Tue, 12 Dec 2006 22:57:18 +0000</pubDate>
    <category>Java</category>
    <category>javaone</category>
<description>&lt;blockquote&gt;The 2007 JavaOne Conference is May 8th-May 11th and this is the perfect forum to share your technology expertise at Sun&amp;#39;s Worldwide Developer Conference.&amp;nbsp; This year, the conference is being expanded so that while Java is at the core, with a significant emphasis on Java ME, SE and EE, there will be ample opportunity to present your technology or ideas in such areas as open source &amp;amp; community development (which includes Java, OpenSolaris, OpenOffice and others), next generation web or &amp;quot;web 2.0&amp;quot; technologies, web services and platform integration, consumer technologies and how to leverage Java and other technologies for businesses (including start-ups). &lt;br&gt;&lt;br&gt;So if you have a hot topic, specific tips or tricks that you believe will help developers, then please go to &lt;a href=&quot;http://www.cplan.com/sun/javaone07/cfp&quot;&gt;http://www.cplan.com/sun/javaone07/cfp&lt;/a&gt; and submit your session abstract.&lt;/blockquote&gt;

I&amp;#39;ve got a trio of proposals just about ready to go. Hopefully, at least one will be accepted and I&amp;#39;ll be attending my 4th JavaOne next year and my 3rd one as a speaker.</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/java_se_6_too</guid>
    <title>Java SE 6 too</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/java_se_6_too</link>
    <pubDate>Mon, 11 Dec 2006 21:59:24 +0000</pubDate>
    <category>Java</category>
<description>In the rather unlikely case that you read my blog and don&amp;#39;t know it yet, &lt;a href=&quot;http://java.sun.com/javase/6/&quot;&gt;Java SE 6&lt;/a&gt; was released today. The Sun bloggers are blogging it up and Danny Coward has posted a very nice &lt;a href=&quot;http://blogs.sun.com/dannycoward/entry/java_se_6_top_ten&quot;&gt;top ten new features&lt;/a&gt; list with links to related blog posts and articles and such. Maybe someday I&amp;#39;ll be able to upgrade.</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/rome_0_9_beta_is</guid>
    <title>ROME 0.9 (beta) is available</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/rome_0_9_beta_is</link>
    <pubDate>Mon, 11 Dec 2006 18:52:49 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>java</category>
    <category>rome</category>
    <category>rss</category>
<atom:summary type="html">A new release of the &lt;span style=&quot;text-decoration:underline;&quot;&gt;R&lt;/span&gt;SS and At&lt;span style=&quot;text-decoration:underline;&quot;&gt;om&lt;/span&gt; Utiliti&lt;span style=&quot;text-decoration:underline;&quot;&gt;e&lt;/span&gt;s (ROME) project &lt;b&gt;ROME 0.9 (beta)&lt;/b&gt; is now available on &lt;a href=&quot;http://rome.dev.java.net/&quot;&gt;the project&amp;#39;s Java.net website&lt;/a&gt;. This new release includes fixes to Atom relative URI resolution, easier parsing for RSS feeds that use &amp;lt;content:encoded&amp;gt;,
better support for mapping of RSS to and from Atom and numerous small
fixes.&amp;nbsp;</atom:summary><description>&lt;p&gt;
A new release of the &lt;span style=&quot;text-decoration:underline;&quot;&gt;R&lt;/span&gt;SS and At&lt;span style=&quot;text-decoration:underline;&quot;&gt;om&lt;/span&gt; Utiliti&lt;span style=&quot;text-decoration:underline;&quot;&gt;e&lt;/span&gt;s (ROME) project &lt;b&gt;ROME 0.9 (beta)&lt;/b&gt; is now available on &lt;a href=&quot;http://rome.dev.java.net/&quot;&gt;the project&amp;#39;s Java.net website&lt;/a&gt;. This new release includes fixes to Atom relative URI resolution, easier parsing for RSS feeds that use &amp;lt;content:encoded&amp;gt;,
better support for mapping of RSS to and from Atom and numerous small
fixes. Here are some quick links to the relevant release docs and
files.
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/Rome09&quot;&gt;Release page&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomeChangesLog#Changes_made_since_v0_8&quot;&gt;Change list&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://rome.dev.java.net/apidocs/0_9/overview-summary.html&quot;&gt;Javadocs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Direct link to downloads:
&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://rome.dev.java.net/source/browse/*checkout*/rome/www/dist/rome-0.9.tar.gz?rev=1.1&quot;&gt;rome-0.9.tar.gz&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://rome.dev.java.net/source/browse/*checkout*/rome/www/dist/rome-0.9.zip?rev=1.1&quot;&gt;rome-0.9.zip&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;
Let&amp;#39;s review a couple of the changes that might affect the ways you use ROME, starting with the RSS parsing changes.
&lt;/p&gt;&lt;p&gt;
&lt;b&gt;Easier parsing of RSS feeds that use &amp;lt;content:encoded&amp;gt;&lt;/b&gt;
&lt;/p&gt;&lt;p&gt;
Now that ROME includes built-in support for &amp;lt;content:encoded&amp;gt;,
most user will no longer need to download and configure the separate
and optional Content Module plugin. That&amp;#39;s important because many RSS
feeds use &amp;lt;description&amp;gt; as item summary and &amp;lt;content:encoded&amp;gt; as item content. It&amp;#39;s also important because Atom supports both entry &amp;lt;summary&amp;gt; and &amp;lt;content&amp;gt;.
So, whether you are parsing RSS or Atom the code to get an RSS item or
Atom entry summary and content is the same. To this this, we made a
number of small changes:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Added a new com.sun.syndication.feed.rss.Content object to the RSS model&lt;/li&gt;&lt;li&gt;Added code to converters to convert RSS Content to SyndEntry Content and vice-versa&lt;/li&gt;&lt;li&gt;Added code to generate &amp;lt;content:encoded&amp;gt; if content is present&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Here&amp;#39;s a simple example that shows how to parse and print out
parts of an RSS feed with entries that have both summary and content
(using ROME&amp;#39;s SyndFeed model):
&lt;/p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String urlstring = &amp;quot;http://scripting.wordpress.com/feed/&amp;quot;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InputStream is = new URL(urlstring).openConnection().getInputStream(); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SyndFeedInput input = new SyndFeedInput();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SyndFeed feed = (SyndFeed)input.build(&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new InputStreamReader(is, Charset.forName(&amp;quot;UTF-8&amp;quot;)));   &lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Iterator entries = feed.getEntries().iterator();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;    while (entries.hasNext()) {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        SyndEntry entry = (SyndEntry)entries.next();            &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&amp;quot;-------------&amp;quot;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        System.out.println(&amp;quot;Title:     &amp;quot; + entry.getTitle());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        System.out.println(&amp;quot;Published: &amp;quot; + entry.getPublishedDate());         &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        if (entry.getDescription() != null) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;            System.out.println(&amp;quot;Description: &amp;quot; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + entry.getDescription().getValue());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }                       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (entry.getContents().size() &amp;gt; 0) {            &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;            SyndContent content = (SyndContent)entry.getContents().get(0);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;            System.out.println(&amp;quot;Content type=&amp;quot; + content.getType());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&amp;quot;Content value=&amp;quot; + content.getValue());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        } &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br&gt;&lt;p&gt;
That certainly makes things easier in most cases, but if you need full support for all of the features defined by the &lt;a href=&quot;http://web.resource.org/rss/1.0/modules/content/&quot;&gt;Content Module specification&lt;/a&gt; you can still download and use ROME&amp;#39;s Content Module &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/Content&quot;&gt;plugin&lt;/a&gt; -- it works exactly as it did before.
&lt;/p&gt;&lt;p&gt;
&lt;b&gt;Better mapping for mapping Atom and RSS&lt;/b&gt;&lt;b&gt;
&lt;br&gt;&lt;/b&gt;
&lt;/p&gt;&lt;p&gt;As ROME users already know, ROME supports parsing feeds to three
different object models the RSS model, the Atom model and &amp;quot;SyndFeed&amp;quot; --
an abstract model that you can use when you do not care about the
source format of the feed. ROME includes converters to convert to and from the different models. We made two changes to
improve the mapping done by the converters. First, as you saw above, we added support for
Content to our RSS model. That allows us to map Atom summary/content
nicely to and from RSS description/content, like so:
&lt;/p&gt;&lt;p&gt;
RSS &amp;lt;description&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;     &amp;lt;--&amp;gt;  SyndEntry.description  &amp;lt;--&amp;gt;  Atom &amp;lt;summary&amp;gt;
&lt;br&gt;    RSS &amp;lt;content:encoded&amp;gt; &amp;lt;--&amp;gt;  SyndEntry.contents[0]  &amp;lt;--&amp;gt;  Atom &amp;lt;content&amp;gt;
&lt;/p&gt;&lt;p&gt;Second, we added better support for Atom title and subtitles. In
the old ROME, there was some potential for information loss because the
SyndFeed model did not completely support the Atom model. Specifically,
titles and subtitles did not support a type attribute. To fix that
without breaking the API (i.e. ensuring that old ROME code still
compiles and works), we added a number of new methods to make the type
information available by returning title and description as SyndContent
objects (which have type and value properties).
&lt;/p&gt;&lt;p&gt;
SyndFeed additions:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;public SyndContent getTitleEx()
&lt;/li&gt;&lt;li&gt;public void setTitleEx(SyndContent title)&lt;/li&gt;&lt;li&gt;public SyndContent getDescriptionEx()
&lt;/li&gt;&lt;li&gt;public void setDescriptionEx(SyndContent desc)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
SyndEntry&lt;span style=&quot;font-size:0pt;&quot;&gt;
&lt;br&gt;&lt;/span&gt;
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;public SyndContent getTitleEx()
&lt;/li&gt;&lt;li&gt;public void setTitleEx(SyndContent title)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;We left the existing getters and setters in place, so your
existing code will continue to compile and work properly. And that&amp;#39;s it
for the quick review...
&lt;br&gt;&lt;b&gt;
&lt;br&gt;What&amp;#39;s next?&lt;/b&gt;
&lt;/p&gt;&lt;p&gt;
Download it, try it out, report bugs and give the ROME project some &lt;a href=&quot;https://rome.dev.java.net/servlets/ProjectMailingListList&quot;&gt;feedback and support&lt;/a&gt;.
And what&amp;#39;s next for ROME? I think ROME is just about ready for a 1.0
release, but there&amp;#39;s one last feature we need to add: some form of &lt;a href=&quot;http://www.snellspace.com/wp/?p=448&quot;&gt;feed security&lt;/a&gt; to strip potentially malicious JavaScript from feeds. Then onto &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/ROME2Proposal2&quot;&gt;ROME2&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;
&lt;b&gt;For even more information on ROME...
&lt;br&gt;&lt;/b&gt;
&lt;br&gt;There&amp;#39;s a complete chapter on ROME in my recently published book &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;RSS and Atom in Action&lt;/a&gt;.
&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/apache_abdera_0_2_0</guid>
    <title>Apache Abdera 0.2.0 (incubating) released</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/apache_abdera_0_2_0</link>
    <pubDate>Thu, 7 Dec 2006 11:45:49 +0000</pubDate>
    <category>Java</category>
    <category>apache</category>
    <category>atom</category>
    <category>java</category>
<description>&lt;p&gt;Abdera is an open source Atom parser, generator, client and server tool-kit for Java. James Snell &lt;a href=&quot;http://www.snellspace.com/wp/?p=556&quot;&gt;announced a new version of Apache Abdera&lt;/a&gt; (incubating) the other day and the feature list is impressive, especially for a &amp;quot;0.2.0&amp;quot; release. Here&amp;#39;s an excerpt:&lt;br&gt; &lt;/p&gt;&lt;blockquote&gt;The goal of the Apache Abdera project is to build a
functionally-complete, high-performance implementation of the IETF Atom
Syndication Format (RFC 4287) and Atom Publishing Protocol
(in-progress) specifications. [... incubator blah blah blah ...]&lt;br&gt;&lt;ul&gt;&lt;li&gt;A reworked API that improves usability&lt;/li&gt;&lt;li&gt;Decoupled extensions from the underlying parser implementation&lt;/li&gt;&lt;li&gt;An Atom Publishing Protocol client implementation&lt;/li&gt;&lt;li&gt;Updated support for the current Atom Publishing Protocol draft specification&lt;/li&gt;&lt;li&gt;Added support for Internationalized Resource Identifiers (IRIs)&lt;/li&gt;&lt;li&gt;Improved Thread Safety&lt;/li&gt;&lt;li&gt;Fixed a number of Classloader issues that kept Abdera from working properly in application server environments.&lt;/li&gt;&lt;li&gt;Improved Javadocs&lt;/li&gt;&lt;li&gt;Added test cases and sample code&lt;/li&gt;&lt;li&gt;Added experimental Bidirectional Text support&lt;/li&gt;&lt;li&gt;Improved implementation of OpenSearch v1.0 and v1.1 extensions&lt;/li&gt;&lt;li&gt;Implementation of MediaRSS extensions&lt;/li&gt;&lt;li&gt;Implementation of Feed Paging and Archiving extensions&lt;/li&gt;&lt;li&gt;GoogleLogin Authentication Support&lt;/li&gt;&lt;/ul&gt;
&lt;/blockquote&gt;We might have to steal that IRI support for ROME. Actually, that&amp;#39;s something that should be built right into the Java platform. Apparently IRI support was  &lt;span style=&quot;text-decoration:underline;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5085902&quot;&gt;considered&lt;/a&gt; for Java SE 6 and something was implemented, but then &lt;a href=&quot;http://java.sun.com/javase/6/jcp/mr2/&quot;&gt;rolled back&lt;/a&gt;.&lt;br&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/visual_web_pack_is_not</guid>
    <title>Visual Web Pack is NOT for you if...</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/visual_web_pack_is_not</link>
    <pubDate>Wed, 6 Dec 2006 18:16:42 +0000</pubDate>
    <category>Java</category>
    <category>java</category>
    <category>jsf</category>
    <category>netbeans</category>
    <category>webdev</category>
<description>&lt;blockquote&gt;&lt;a href=&quot;http://blogs.sun.com/roumen/entry/is_netbeans_visual_web_pack&quot;&gt;Roumen&lt;/a&gt;: Visual tools for web development are a double-edged sword. They have their advantages and disadvantages. Some users love Visual Web Pack for what it provides but some of them go crazy because by using visual tools they lose a bit of control or they don&amp;#39;t fit their development environment. So I&amp;#39;d like to discuss this topic, so that you can decide whether Visual Web Pack is for you or it is not.&lt;/blockquote&gt;&lt;p&gt;A very thoughtful and balanced post from Netbeans evangelist Roumen Strobl that examines some of the reasons you might or &lt;i&gt;might not&lt;/i&gt; want to use the new &lt;a href=&quot;http://www.netbeans.org/products/visualweb/&quot;&gt;Netbeans Visual Web Pack&lt;/a&gt;.&lt;/p&gt;</description>  </item>
</channel>
</rss>