<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-25636372</id><updated>2011-12-29T08:06:41.641-08:00</updated><title type='text'>The JJ Blogger - Java, Jython, Oracle, PostgreSQL, and More...</title><subtitle type='html'>I am a full-time database administrator and applications developer.  Frequent this blog to learn from my experiences in Oracle and SQL Server administration as well as PL/SQL, Java, and Python/Jython development.

Follow my tweets @  http://twitter.com/javajuneau</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default?start-index=101&amp;max-results=100'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>131</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-25636372.post-6106192479730324429</id><published>2011-12-29T07:33:00.000-08:00</published><updated>2011-12-29T08:01:55.436-08:00</updated><title type='text'>Java 7 Recipes: A Problem-Solution Approach</title><content type='html'>This is a quick post to mention a new book that will be published soon entitled Java 7 Recipes.  I had the pleasure of leading a team of excellent authors: Carl Dea, Mark Beaty, Freddy Guime, and John O' Conner in the authoring of this book.  It features a problem-solution approach demonstrating how to get up and running quickly with the Java language.  The book features some of the most common questions for newbies starting to develop with Java, and provides answers in an easy-to-learn and reuse manner.  It also features some of the most common intermediate and advanced problems and solutions, as well as material that is new to the Java 7 release.&lt;br /&gt;&lt;br /&gt;Carl Dea wrote several chapters on JavaFX 2.0, and the material covers enough information to get started with JavaFX 2.0 and then delves into some advanced examples as well.  If you are looking to learn the latest in Java desktop and rich internet client development, you will want to check out the chapters on JavaFX 2.0.&lt;br /&gt;&lt;br /&gt;Mark Beaty wrote a chapter covering data structures and iteration.  He is an expert in object oriented Java concepts, and this chapter covers some of the most fundamental parts of the Java language.  Mark also was a technical reviewer for the book, and he did an excellent job of working through the material and solidifying it.  I would also like to give a shout out to David Coffin who also performed technical review on several of the chapters...great work!&lt;br /&gt;&lt;br /&gt;Freddy Guime is a Java expert who wrote chapters on input/output, exceptions, concurrency, unit testing, and more.  Freddy has presented at JavaOne several times and his material exploits his knowledge of the Java language.&lt;br /&gt;&lt;br /&gt;John O' Conner has been an avid Java developer for years, and is seasoned in the language.  He began his career with Sun Microsystems and helped to develop the internationalization and Unicode support libraries of the core Java SE platform.  He authored chapters on those topics for the book, and more.&lt;br /&gt;&lt;br /&gt;I authored chapters varying from Strings, object orientation, numbers and dates, database development, and more.  We even threw in a chapter on Android so that interested Java developers could take a look at how to develop applications for the Android platform.&lt;br /&gt;&lt;br /&gt;Check this book out soon, or pre-order now on Amazon the Apress site.  This is a must-have for any Java developer!&lt;br /&gt;&lt;br /&gt;I am currently working on my latest Apress book entitled Java EE 7 Recipes...it should be published late next year...stay tuned for more updates on that book!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-6106192479730324429?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.apress.com/9781430240563' title='Java 7 Recipes: A Problem-Solution Approach'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/6106192479730324429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=6106192479730324429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6106192479730324429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6106192479730324429'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2011/12/java-7-recipes-problem-solution.html' title='Java 7 Recipes: A Problem-Solution Approach'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-3390765406919290088</id><published>2011-03-04T08:05:00.001-08:00</published><updated>2011-03-04T08:05:45.090-08:00</updated><title type='text'>Django-Jython 1.2.0b1 Available</title><content type='html'>The Django-Jython project is proud to announce the release of Django-Jython 1.2.0b1!&lt;br /&gt;&lt;br /&gt;This release adds Django 1.2.x compatibility for the Oracle, MySQL, and PostgreSQL backends.  Please test with your Django-Jython apps and provide feedback. &lt;br /&gt;&lt;br /&gt;If you are interested in helping to make the MS SQL Server backend compatible with Django 1.2.x, please join the project.&lt;br /&gt;&lt;br /&gt;Project Home:    http://code.google.com/p/django-jython/&lt;br /&gt;Documentation:  http://packages.python.org/django-jython/&lt;br /&gt;&lt;br /&gt;Thanks to all of those who helped out with this release, your time and effort is truly appreciated!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-3390765406919290088?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/3390765406919290088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=3390765406919290088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3390765406919290088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3390765406919290088'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2011/03/django-jython-120b1-available.html' title='Django-Jython 1.2.0b1 Available'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-8877623234092267413</id><published>2011-03-03T04:26:00.000-08:00</published><updated>2011-03-03T04:29:36.550-08:00</updated><title type='text'>Jython 2.5.2 Final Released</title><content type='html'>The Jython development team is proud to announce the release of Jython 2.5.2 final!  With this release comes new features, better performance, bug fixes, etc. &lt;br /&gt;&lt;br /&gt;For the latest release info, please visit:  http://jython.org/latest.html&lt;br /&gt;&lt;br /&gt;Thanks to all of the developers for the hard work they put into this release.  Looking forward to moving onto 2.6!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-8877623234092267413?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.jython.org' title='Jython 2.5.2 Final Released'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/8877623234092267413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=8877623234092267413' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/8877623234092267413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/8877623234092267413'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2011/03/jython-252-final-released.html' title='Jython 2.5.2 Final Released'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-2502690230428436690</id><published>2010-12-21T06:56:00.000-08:00</published><updated>2010-12-21T08:10:35.951-08:00</updated><title type='text'>Oracle PL/SQL Recipes</title><content type='html'>Since the beginning of my career, I have worked with Oracle databases.  I began as a database administrator, monitoring performance and creating database objects.  From there, I became a more advanced DBA as I began writing PL/SQL code and creating triggers, functions, packages, and procedures in the database.  After a while, I became interested in web application development because I was always receiving requests for creating database reports.  Why write a SQL statement and re-run it every time someone wanted to see the output, when you could write a web query that accepted parameters as input and the user could run it on their own?  That is the point when I discovered how to do web application development with PL/SQL and the Oracle PL/SQL web toolkit.  My good friend and colleague, Matt Arena, showed me the ropes about developing PL/SQL web applications, and it was great!  Now I was able to develop web-based queries whenever I had received a request for a report.&lt;br /&gt;&lt;br /&gt;After a while, I began to write Java stored procedures because I was developing some sophisticated PL/SQL web applications by that time and I wanted to use some features that the Java language had to offer.  Of course, this all worked very well...but I soon gained interest in developing Java Server Pages (JSP) based web Java web applications because they seemed a bit more versatile then PL/SQL web applications.  I learned that I could more clearly separate business logic from display code using Java technologies, and began to learn more about it.  Before long, I was a full-fledged Java application developer.  I was developing Java enterprise applications for Oracle database, and using PL/SQL objects to help facilitate my applications where it made sense.&lt;br /&gt;&lt;br /&gt;That brings me to where I am today.  I still develop web applications for Oracle database using Java technologies and PL/SQL.  I have broadened my horizons by using great languages such as Jython.  Life couldn't be much better.  This past year, I decided to author a book about PL/SQL that focuses on the basics...but also goes into advanced topics such as working with PL/SQL and Java to develop advanced solutions.  I brought my highly respected coworker, Matt Arena, into the book as my co-author.  Matt is the most advanced PL/SQL developer that I know, and he wrote the chapters that focus on PL/SQL web application development, collections, PL/SQL jobs, and performance.  He taught me, and now he is sharing his great knowledge by teaching others.  I authored many chapters that focus on the PL/SQL language fundamentals, and also some advanced chapters working with PL/SQL and Java application development.&lt;br /&gt;&lt;br /&gt;Our book is entitled, Oracle PL/SQL Recipes - A Problem-Solution Approach.  I recommend you picking it up if you are an Oracle applications developer.  Learning PL/SQL is a great asset to any Oracle developer's toolbox.  Even if you only work with Java applications, PL/SQL can help you to develop better-performing, and highly robust Oracle solutions.  A big thanks goes to Apress and the entire editorial team, including my good friend &lt;a href="http://gennick.com/"&gt; Jonathan Gennick&lt;/a&gt;, who has done an excellent job editing this book.  I look forward to working with him again on future projects.  I also thank my colleague and great friend Matt Arena for showing me the ropes with PL/SQL web application development...leading my to where I am today in my career.&lt;br /&gt;&lt;br /&gt;Oracle PL/SQL Recipes - A Problem-Solution Approach...publishing late December 2010.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-2502690230428436690?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://apress.com/book/view/1430232072' title='Oracle PL/SQL Recipes'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/2502690230428436690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=2502690230428436690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2502690230428436690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2502690230428436690'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2010/12/oracle-plsql-recipes.html' title='Oracle PL/SQL Recipes'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-7300053133620733300</id><published>2010-10-12T04:20:00.000-07:00</published><updated>2010-10-12T05:13:32.481-07:00</updated><title type='text'>JavaOne and Oracle Develop 2010 - A New Experience</title><content type='html'>I took my first trip to JavaOne this year.  There were many deciding factors that made me choose to make the trip this year, but perhaps the biggest reason that I attended was due to the Oracle acquisition of Sun Microsystems that took place earlier this year.  I wanted to see what Oracle's viewpoint was on the Java ecosystem, and what they planned to do with it over the next several years.  I must say that I was pleasantly surprised with the message that I received at the conference, I think Java is alive and very well.&lt;br /&gt;&lt;br /&gt;I attended several sessions each day, and the conference made for a very hectic week.  I had never visited San Francisco before and I must say that I found it very similar to Chicago.  Being a Chicago area person myself, I found nothing overly different about San Francisco as compared to Chicago, but then again, I did not take any opportunities to go sight seeing as I was completely focused on the conference itself.&lt;br /&gt;&lt;br /&gt;Having never been to a JavaOne conference before, i think that it was fairly well organized.  Now, JavaOne was spread across a few different hotels and one large tent...and in the past I believe that it was centered in the Moscone convention center.  I thought that the hotel system worked, but it did make for some rather busy shuffles from session to session.  I did like the fact that I had the opportunity to go outside in between sessions though, and since the Mason St. tent was in the center of it all, I could swing by the tent on the way to another session and pick up a coffee or chat with some interesting folk.  This really enhanced the experience for me.&lt;br /&gt;&lt;br /&gt;The sessions were well thought out and worthwhile.  Of course, being a Jython fan I went to as many sessions that were centered on dynamic languages on the JVM as possible.  Jim Baker and myself had put in for a Jython-specific talk at this year's JavaOne and unfortunately it was turned down.  Our talk was going to focus on the overall picture of bringing dynamic languages to the JVM...and Jython was going to be the example-case.  I wasn't too surprised when our session was turned down as there are thousands of submissions, but when I attended the conference it was clear to see why it was turned down...there were several excellent sessions regarding dynamic languages on the JVM already.  To be quite truthful, the dynamic language sessions at JavaOne covered several different languages...and I feel that the most used languages on the JVM today were nicely represented.  It would have been very nice to have a session devoted to Jython specifically, but the fact is that there are so many dynamic languages on the JVM nowadays, that there was just not enough room for a session on each.  &lt;br /&gt;&lt;br /&gt;To that end, I attended an excellent JRuby session as my first JavaOne session...it really started my experience off in a great way.  The presentation was given by Charles Nutter and Thomas Enebo...a couple of JRuby architects.  This was a solid session that really made me want to go and download JRuby afterwards and try it out.  Having not tried JRuby prior to the session, I was really focusing more on seeing another dynamic language on the JVM and getting some ideas of how they implemented it.  After the presentation, it was clear to see that the JRuby team has a focused effort and is doing very well in porting the Ruby language to the JVM...excellent session.&lt;br /&gt;&lt;br /&gt;My second session also focused on languages on the JVM...it was entitled "Multiple Languages, One Virtual Machine".  This talk was given by Brian Goetz and John Rose.  They did an excellent job of discussing invoke dynamic and what the future holds for dynamic languages on the JVM.  It was clear to see that Oracle is putting resource behind offering many different languages on the JVM...not just Java.  They are behind the invoke dynamic effort, and it will be included in JDK 7...which is due out sometime in 2011. &lt;br /&gt;&lt;br /&gt;I attended many sessions on Java EE 6, EJB, JSF, and other enterprise technologies as I am currently using EJB3 and JSF on many of my projects at work.  After attending so many sessions on the EJB 3.1 Lite and JSF 2.0 features, it is clear to see that I need to update my code to take advantage of many of the new features that are available today.  It is too easy to get a formula that works and just continue to develop applications using that formula.  I fell into that trap over the last couple of years, mainly due to a shortage of time for learning the new stuff.  Between my authoring of the Jython book and Oracle PL/SQL Recipes, I haven't enough time to devote an hour a day to learning EJB 3.1, JSF 2.0 or CDI.  However, I am making a goal for myself to learn how to migrate my EJB 3.0 code bases to take advantage of the new technologies as I can see from the JavaOne sessions that the newest implementations of the APIs are clearly more productive and easier to manage.&lt;br /&gt;&lt;br /&gt;And then there was JavaFX.  This technology has always been in the back of my mind as something that I want to learn and begin to use in my projects.  I had purchased and read the JavaFX Script book by Jim Weaver a while back...excellent book.  As everyone knows by now, it was announced at JavaOne that JavaFX Script will be going away and that the JavaFX API will be changing so that it can be used directly with Java code.  This is HUGE news for me as a Java and Jython developer.  I attended a great session by Jonathan Giles and Stephen Chin regarding the development of JavaFX applications using alternate languages.  They covered JRuby, Closure, Scala, and Groovy in the session.  It really looks like the new JavaFX API is going to be great and I am looking forward to writing a JavaFX application using Jython.  As a matter of fact, I spoke with Stephen Chin in the Mason St. tent later on, and he was also interested in developing a Jython demo.  I hope to see something soon, and plan to develop Jython and JavaFX applications when the new JavaFX API is available.&lt;br /&gt;&lt;br /&gt;My parting session was an introduction to Scala.  I am glad that I attended this session as well as I have been in the dark about this language until now.  I had been hearing lots of good things about Scala, but hadn't found the time to take a look.  Attending this session gave me a great overview of the language and really gave me the bug that I needed to put it on my priority list as a language to learn in the coming weeks.  Now I need to learn both JRuby and Scala...my time is really going to be growing thin!&lt;br /&gt;&lt;br /&gt;Other activities that I took part in included:  &lt;br /&gt;&lt;br /&gt;Oracle Publisher's Seminar - Since I am writing the PL/SQL Recipes book, I was able to attend this great seminar.  It gave me a good opportunity to learn about some Oracle strategies from the team leads themselves, and also meet other Oracle authors.&lt;br /&gt;&lt;br /&gt;Jython BoF - Oti Humbel and myself gave a Jython BoF on Wednesday of the conference in the Parc 55 hotel.  The BoF was not very well attended, but the appreciation event was also that evening and I suspect that had something to do with it.  Overall, Oti and I were able to muddle through the list of open bugs that need to be repaired prior to a Jython 2.5.2 final release.  I had a great time meeting with Oti and look forward to working with him on Jython for future releases.  We also met with Frank Wierzbicki, the Jython project lead and one of my co-authors for the Jython book.  It was great to talk Jython for a while with a couple of the core devs, and to strategize about future Jython developments.&lt;br /&gt;&lt;br /&gt;Keynotes - The JavaOne keynotes were okay...lots of hype around the future of Java and JavaFX.  Glad I attended them for the experience, but nothing too earth shattering.  My favorite keynote was the Oracle Develop keynote by Tom Kyte.  I have been a big fan of Tom Kyte for several years as he is a lead in Oracle database technologies and PL/SQL.  Excellent keynote with some great insight on Oracle 11gR2 and some of it's new features (some that I have not used yet!).&lt;br /&gt;&lt;br /&gt;JavaPosse - Perhaps the highlight of the conference for me was the JavaPosse BoF and rooftop party at the Passion Cafe.  I listen to the JavaPosse religiously, and finally having a chance to see the crew in person and have drinks with them after the BoF was a great experience.  They are truly great people who do an excellent job with the podcast.  Thanks JavaPosse crew, excellent show at JavaOne.&lt;br /&gt;&lt;br /&gt;So JavaOne 2010 was a new experience for me.  I think that it was a great experience and I would be happy to attend another JavaOne at some point in the future.  I think that given the atmosphere and the dynamics of the conference, it was a new experience for even those who had attended in previous years.  It is nice to see that Java is in good hands with Oracle, and I am looking forward to a bright future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-7300053133620733300?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.oracle.com/us/javaonedevelop/index.html' title='JavaOne and Oracle Develop 2010 - A New Experience'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/7300053133620733300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=7300053133620733300' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7300053133620733300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7300053133620733300'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2010/10/javaone-and-oracle-develop-2010-new.html' title='JavaOne and Oracle Develop 2010 - A New Experience'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-5179848620272815995</id><published>2010-03-24T06:44:00.000-07:00</published><updated>2010-03-24T09:40:34.036-07:00</updated><title type='text'>Working with Images Using Django on Jython</title><content type='html'>If you've tried to use Django on Jython along with an ImageField, you know well that Django on Jython does not support this field.  This is because the ImageField in Django relies on the Python Imaging Library (PIL).  Jython does not support the PIL since it is C based, and there is not currently a version of the PIL that has been ported to Java.&lt;br /&gt;&lt;br /&gt;That being said, how do we make use of images in Django on Jython?  Since the ImageField is not usable from Django on Jython, we need to use an alternate method for uploading and displaying images.  The following is a solution I've been using for one of my applications.  This is certainly not a perfect solution, nor do I think we should modify Django on Jython to support this solution out-of-the-box.  However, it works and gets the job done.&lt;br /&gt;&lt;br /&gt;In order to use images with Django on Jython, you need to make use of the FileField.  Since the FileField does not display in a template as an image, it is also a requirement to tweak the template which will be displaying the images with an ordinary "img" tag.  Also, to make things work nicely, it is important to code a variable...we'll call it "image_src"...with the path to the image that will be displayed.  This is done within your views in views.py.  Of course, images will take the name attribute of your FileField, but you must prefix that name with the path to your web server.  So my solution for this is to create another variable, say PHOTO_ROOT, in the settings.py and we will set it equal to the web server's MEDIA_ROOT location.&lt;br /&gt;&lt;br /&gt;Lots of steps to make a usable image?  Not really, it may seem daunting at first glance, but it does work easily once you've got it down.&lt;br /&gt;&lt;br /&gt;Steps for using images with Django Jython:&lt;br /&gt;&lt;br /&gt;1)  Create a FileField in your model to contain your image information.  Be sure to indicate where you wish the image to be uploaded to by specifying the "upload_to" attribute.&lt;br /&gt;&lt;br /&gt;For example, in the following case the "images" directory which is specified by the 'upload_to' attribute exists directly under the MEDIA_ROOT root:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;class MyTestModel(models.Model):&lt;br /&gt;  photo   = models.FileField(upload_to='images', blank=True)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;2)  Create a variable within settings.py to contain the path to your web server's MEDIA_ROOT location.  &lt;strong&gt;&lt;i&gt;Please note that this will need to be changed when you deploy to different environments (ie: development or production).&lt;/i&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;PHOTO_ROOT = 'http://localhost:8000/site_media/'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;3)  Add a variable to your views through which the image path will be exposed.  This variable will need to contain the PHOTO_ROOT you specified in settings.py, as well as the appended file.name for the FileField containing your image.  Therefore, you will need to code a line in each view you wish to expose the image through.&lt;br /&gt;&lt;br /&gt;In order to make your UI slick, it is a good idea to use a default image for any records that may not have an image uploaded.  You can assign the path for that default image to your variable if your FileField does not contain anything.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;# Be sure to import your settings file&lt;br /&gt;from django.conf import settings&lt;br /&gt;...&lt;br /&gt;# This code contains relevant portions of a detail view for displaying or modifying&lt;br /&gt;# a record&lt;br /&gt;def detail(request, record_id=0):&lt;br /&gt;  ...&lt;br /&gt;  record = get_object_or_404(MyTestModel, pk=record_id)&lt;br /&gt;  form = MyForm(instance=record)&lt;br /&gt;&lt;br /&gt;  # Check to see if the FileField (photo) contains anything&lt;br /&gt;  if record.photo:&lt;br /&gt;      image_src = '%s/%s' % (settings.PHOTO_ROOT, record.photo.name)&lt;br /&gt;  else:&lt;br /&gt;      image_src = '%s/images/nophoto.jpg' % settings.PHOTO_ROOT&lt;br /&gt;&lt;br /&gt;  ...&lt;br /&gt;  return render_to_response('detail.html',&lt;br /&gt;                            {'form':form,&lt;br /&gt;                             'image_src':image_src})&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;4)  Add an "img" tag to your template in order to display your image.  You must also add the "form.photo" field to the template in order to have the ability to upload an image.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;some_content&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                          {{ form.photo }}&lt;br /&gt;                        &lt;br /&gt;                          &amp;lt;img title="Photo" &lt;br /&gt;                                 src="{{ image_src }}"/&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;more_content&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;That is basically it.  When you view the record initially, the default image should appear.  After an image is uploaded successfully, it should replace the default image.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-5179848620272815995?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/5179848620272815995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=5179848620272815995' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5179848620272815995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5179848620272815995'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2010/03/working-with-images-using-django-on.html' title='Working with Images Using Django on Jython'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-7365887350694861819</id><published>2010-03-10T17:31:00.000-08:00</published><updated>2010-03-10T18:34:39.083-08:00</updated><title type='text'>Received Author Copies of The Definitive Guide to Jython</title><content type='html'>For the past few weeks since The Definitive Guide to Jython had been published, I've been checking my mail often in anticipation of seeing our book in print for the first time.  Well, today my copies finally arrived and it is great.  It is excellent to read the printed copy...and it will definitely be nice to have on my desk while I'm coding some Jython.&lt;br /&gt;&lt;br /&gt;Thanks again to all of my co-authors, the technical reviewers, editors, and everyone else involved in the publishing of the book.  It is a great resource and I am glad to be a part of it.  Looking forward to working on the second edition in the not too distant future!&lt;br /&gt;&lt;br /&gt;Now, onto more coding...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-7365887350694861819?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://developers.apress.com/book/view/9781430225270' title='Received Author Copies of The Definitive Guide to Jython'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/7365887350694861819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=7365887350694861819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7365887350694861819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7365887350694861819'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2010/03/received-author-copies-of-definitive.html' title='Received Author Copies of The Definitive Guide to Jython'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-7215109955705386155</id><published>2010-02-03T06:02:00.000-08:00</published><updated>2010-02-03T06:03:17.315-08:00</updated><title type='text'>Jython Book - Working with the Sources</title><content type='html'>The open source version of 'The Definitive Guide to Jython' (aka: Jython book) is available online, both in restructuredText format and HTML via &lt;a href="http://www.blogger.com/post-edit.g?blogID=25636372&amp;amp;postID=6703315307196091516"&gt;Sphinx&lt;/a&gt;.  Apress was good enough to send me the final versions for all of our chapters and appendicies in MS-Word format.  It is my task to convert them from MS Word format into restructuredText...which is a slow and sometimes painful process. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Overview of Conversion Process&lt;br /&gt;&lt;/b&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1)  Open the MS-Word document in Open Office (my preference) and remove headers and footers from each page&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2)  Save the document in open office format&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3)  Try to apply the apress_odt_to_rst.py script that was &lt;a href="http://jimmyg.org/blog/2009/my-experience-of-using-restructuredtext-to-write-the-definitive-guide-to-pylons.html" target="_blank"&gt;donated by James Gardner&lt;/a&gt;.  If that doesn't work, then save document in HTML format and use &lt;a href="http://johnmacfarlane.net/pandoc/" target="_blank"&gt;pandoc&lt;/a&gt; to convert.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Command:  &lt;i&gt;pandoc -t rst filename.htm &gt; filename.rst&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;4)  Manually parse through each rst file and repair issues (and there are usually a lot...especially with code markup and tables)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Interested in building the sources?&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;If you are interested in building the sources, you can check the out from &lt;a href="http://bitbucket.org/" target="_blank"&gt;bitbucket.org&lt;/a&gt; at the following link:  http://bitbucket.org/javajuneau/jythonbook/ and then build them using &lt;a href="http://bitbucket.org/javajuneau/jythonbook/" target="_blank"&gt;Sphinx&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;View the Open Source Book&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;If you'd like to simply view the open source book, it can be found at http://jythonbook.com in Sphinx format.  We of course recommend that you purchase a copy of the book from &lt;a href="http://www.apress.com/" target="_blank"&gt;Apress&lt;/a&gt; to keep handy as well so that you can mark it up, make notes, etc.   However, the open source version will be continually updated and it will be great for using as a quick reference while online.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-7215109955705386155?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://bitbucket.org/javajuneau/jythonbook/' title='Jython Book - Working with the Sources'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/7215109955705386155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=7215109955705386155' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7215109955705386155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7215109955705386155'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2010/02/jython-book-working-with-sources.html' title='Jython Book - Working with the Sources'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-6157232789712654721</id><published>2010-02-01T05:19:00.001-08:00</published><updated>2010-02-01T11:52:45.484-08:00</updated><title type='text'>The Definitive Guide to Jython Is Published</title><content type='html'>The Definitive Guide to Jython: Python for the Java Platform has been published.  This is a work in which five authors:  Jim Baker, Victor Ng, Leo Soto, Frank Wierzbicki, and myself, began to author early in 2009.  The book covers much detail on the Jython language and it's usage.  It was a much needed addition to the library of Jython books that are available today as this book focuses on Jython 2.5.1...the most current release to-date.  Many methodologies that hadn't been formally documented previously, such as the object factory pattern, with-statement, django and jython, and concurrency, have been documented in detail in this text.&lt;br /&gt;&lt;br /&gt;If you are interested in developing with Jython, I recommend you take a look at this book today.  There is also an online open source version of the book that can be found at http://jythonbook.com, but all of it's contents have not yet been updated to include finalized versions of all chapters.  I am working on converting the .doc formatted final versions into restructured text at this time, but it is a lengthy process.&lt;br /&gt;&lt;br /&gt;Thanks to all of my fellow authors and to the team at Apress for all of their hard work!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-6157232789712654721?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://apress.com/book/view/9781430225270' title='The Definitive Guide to Jython Is Published'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/6157232789712654721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=6157232789712654721' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6157232789712654721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6157232789712654721'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2010/02/definitive-guide-to-jython-is-published.html' title='The Definitive Guide to Jython Is Published'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-6114762630286817369</id><published>2009-09-16T10:47:00.000-07:00</published><updated>2009-09-16T11:46:32.971-07:00</updated><title type='text'>Jython 2.5.1rc2 - zxJDBC with-statement</title><content type='html'>This past weekend (09/12/2009), the Jython developer team rolled out the second release candidate for version 2.5.1.  In the release were many bug fixes and some additional features...I definitely recommend downloading it and trying it out if you haven't already done so.  Thanks to all of the developers who have made this release possible.&lt;br /&gt;&lt;br /&gt;One of the features added in this release for database work with the zxJDBC API is with-statement compatibility.   Thanks to Jim Baker for updating the PyConnection and PyCursor objects in Jython so that it can now be used in the context of a with-statement.  This can be useful for maintaining resources and transactional state when working with databases.&lt;br /&gt;&lt;br /&gt;To use the new feature, you must import the closing() function from contextlib so that the connection can be bound to a variable and closed at the end of the statement.  Use of this feature works as follows:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="Python"&gt;&lt;br /&gt;# In this example, I am connecting to a postgresql database.&lt;br /&gt;# Of course, we could connect to the database of our choice so long&lt;br /&gt;# as we have the appropriate JDBC driver in our CLASSPATH&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt; from __future__ import with_statement&lt;br /&gt;&gt;&gt;&gt; from com.ziclix.python.sql import zxJDBC                                  &lt;br /&gt;&gt;&gt;&gt; from contextlib import closing &lt;br /&gt;&gt;&gt;&gt; jdbc_url = "jdbc:postgresql:mydatabase"                                     &lt;br /&gt;&gt;&gt;&gt; username = "postgres"                                                     &lt;br /&gt;&gt;&gt;&gt; password = "mypass"&lt;br /&gt;&gt;&gt;&gt; driver = "org.postgresql.Driver"&lt;br /&gt;&gt;&gt;&gt; with closing(zxJDBC.connect(jdbc_url, username, password, driver)) as conn:&lt;br /&gt;...     with conn:                    &lt;br /&gt;&gt;&gt;&gt; # Use one or more cursors within the context of the with-statement                                        &lt;br /&gt;...         with conn.cursor() as c:                                          &lt;br /&gt;...             c.execute("select name from country")                         &lt;br /&gt;...             c.fetchone()                                                  &lt;br /&gt;...&lt;br /&gt;(u'Afghanistan',)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;In the example above, I queried a database table.  However, we could use the cursor in any way that we'd like within the context of the statement.  Use for transaction management and if an error occurs within a transaction then everything is rolled back.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code"&gt;&lt;br /&gt;&gt;&gt;&gt; with closing(zxJDBC.connect(jdbc_url, username, password, driver)) as conn:&lt;br /&gt;...     with conn:                                                             &lt;br /&gt;...         with conn.cursor() as c:                                           &lt;br /&gt;...             try:                                                           &lt;br /&gt;...                 stmt = "insert into country values (?,?)" &lt;br /&gt;...                 # the following produces an error                 &lt;br /&gt;...                 c.executemany(stmt, ['test'])   &lt;br /&gt;...                 # perform more inserts and updates&lt;br /&gt;...                 conn.commit()                           &lt;br /&gt;...             except Exception, err:                                         &lt;br /&gt;...                 raise Exception("There has been a zxJDBC error") &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Transaction management is taken care of such that if a statement fails, then the complete transaction is rolled back.  This is very useful for transaction management.  If you attempt to work with the cursor or connection outside of the statement then it will not work because the statement closes them after use.  That is the beauty of using the with-statement for resource management.  The with-statement is also nice for working with files and such in a similar manner.&lt;br /&gt;&lt;br /&gt;For more information on the use of the with_statement, please visit &lt;a href="http://www.python.org/doc/2.5/whatsnew/pep-343.html"&gt;PEP-343&lt;/a&gt; or the open source &lt;a href="http://www.jythonbook.com"&gt;Jython Book&lt;/a&gt; (&lt;i&gt;In Progress&lt;/i&gt;) which will soon be updated to illustrate correct usage of with-statement context management for zxJDBC in 2.5.1.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-6114762630286817369?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.jython.org' title='Jython 2.5.1rc2 - zxJDBC with-statement'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/6114762630286817369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=6114762630286817369' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6114762630286817369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6114762630286817369'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2009/09/jython-251rc2-zxjdbc-withstatement.html' title='Jython 2.5.1rc2 - zxJDBC with-statement'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-1986203466617487011</id><published>2009-07-02T05:39:00.000-07:00</published><updated>2009-07-02T05:51:27.567-07:00</updated><title type='text'>The Definitive Guide to Jython - Open Source Version</title><content type='html'>Start reading the open source version of 'The Definitive Guide to Jython'.  This book is currently being authored by Frank Wierzbicki, Jim Baker, Leo Soto, Vic Ng, and myself.  It is due to be published by Apress in the fall of 2009.  I am having a great time being part of the project and really appreciate the opportunity!  I thank Jim Baker for contacting me in regards to the book and giving me the opportunity to become the lead author.&lt;br /&gt;&lt;br /&gt;The book is available in restructured text format on the kenai.com website as the &lt;a href="http://kenai.com/projects/jythonbook"&gt;jythonbook project&lt;/a&gt;.  You will find the &lt;a href="http://sphinx.pocoo.org/"&gt;Sphinx&lt;/a&gt; formatted book &lt;a href="http://jythonpodcast.hostjava.net/jythonbook/index.html"&gt;here&lt;/a&gt; for the time being, but we will migrate it to jythonbook.com in the near future.  We encourage comments and suggestions.  &lt;br /&gt;&lt;br /&gt;A special thanks to &lt;a href="http://jimmyg.org/"&gt;James Gardner&lt;/a&gt; for his help on providing us with the tools to convert the book into restructured text format.  I plan to have a post dedicated to my work with converting from Word to rst and vice versa sometime in the near future.&lt;br /&gt;&lt;br /&gt;Our book is focusing on the 2.5 release of Jython, which you can &lt;a href="http://www.jython.org"&gt;download here&lt;/a&gt;.  It goes through the Python language basics through some advanced concepts.  The book then goes into Jython-specific topics such as java integration and the like.&lt;br /&gt;&lt;br /&gt;We hope you will find this book useful.  Stay tuned for more to follow on the book...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-1986203466617487011?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://jythonpodcast.hostjava.net/jythonbook/index.html' title='The Definitive Guide to Jython - Open Source Version'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/1986203466617487011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=1986203466617487011' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1986203466617487011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1986203466617487011'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2009/07/definitive-guide-to-jython-open-source.html' title='The Definitive Guide to Jython - Open Source Version'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-7503544726874200889</id><published>2009-06-16T11:56:00.001-07:00</published><updated>2009-06-16T13:47:02.681-07:00</updated><title type='text'>Jython 2.5.0 Has Been Released</title><content type='html'>Jython 2.5.0 has been released!  This release includes many new language features for Jython bringing it inline with more modern releases of Python.  This is a big release and I congratulate all of the developers!&lt;br /&gt;&lt;br /&gt;Go and download today from :  http://www.jython.org&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-7503544726874200889?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.jython.org' title='Jython 2.5.0 Has Been Released'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/7503544726874200889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=7503544726874200889' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7503544726874200889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7503544726874200889'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2009/06/jython-250-has-been-released.html' title='Jython 2.5.0 Has Been Released'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-117726509184105706</id><published>2009-04-10T09:59:00.000-07:00</published><updated>2009-04-10T10:02:27.804-07:00</updated><title type='text'>Netbeans Articles</title><content type='html'>James Branam has recently turned a couple of my Python/Jython tutorials for Netbeans 6.5 into Netbeans.org articles.  Check them out:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.netbeans.org/kb/docs/python/jython-quickstart.html" target="_blank"&gt;Developing a Jython App in Netbeans&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.netbeans.org/kb/docs/python/python-quickstart.html" target="_blank"&gt;Python Quickstart&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you haven't tried Netbeans out for Jython or Python development, now would be the time...it is great!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-117726509184105706?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/117726509184105706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=117726509184105706' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/117726509184105706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/117726509184105706'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2009/04/netbeans-articles.html' title='Netbeans Articles'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-5604171049022036655</id><published>2009-03-29T09:09:00.001-07:00</published><updated>2009-03-29T09:09:50.288-07:00</updated><title type='text'>The Definitive Guide to Jython...Fall 2009</title><content type='html'>A new Jython book will be published by Apress this fall entitled 'The Definitive Guide to Jython with Django'.  Authors include Jim Baker, Frank Wierzbicki, Leo Soto, Victor Ng, and myself.  &lt;br /&gt;&lt;br /&gt;This book will be of interest to those beginning Jython and also to advanced users.  We will also maintain an open source version of the book online. &lt;br /&gt;&lt;br /&gt;I'm looking forward to working with these talented individuals and assisting in the documentation of Jython.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-5604171049022036655?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/5604171049022036655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=5604171049022036655' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5604171049022036655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5604171049022036655'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2009/03/definitive-guide-to-jythonfall-2009.html' title='The Definitive Guide to Jython...Fall 2009'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-5717551832252849512</id><published>2009-02-24T04:35:00.000-08:00</published><updated>2009-02-24T04:43:24.340-08:00</updated><title type='text'>EMD Upload Error:  Oracle Enterprise Management Agent</title><content type='html'>I came into work on Monday and saw that all of the databases which are running on our development database server were no longer reporting to our Oracle Grid Control.  After looking at the Grid Control server, I realized that the management agent was not functioning correctly.  Time to investigate...&lt;br /&gt;&lt;br /&gt;I went to the command line and issued the following:&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;&lt;br /&gt;emctl status agent&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Everything looked fine, but then I realized that the "Collection Status" indicated that it had been disabled by the collection manager.  In my case, this had occurred because over the weekend I had been moving some files around and filled up one of the disks on the server completely.  Realizing I had done so, I immediately removed some of those files to free up disk space.  Unfortunately, this disk which filled up was the same one on which the Oracle Management Agent is installed.  Being that the disk filled up and that the collection manager was not able to add the required XML files to disk, it immediately disabled itself.&lt;br /&gt;&lt;br /&gt;The remedy:  Of course, ensure that the disk has available space.  Once you've done so, simply restart the management agent.  It will begin working immediately.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-5717551832252849512?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/5717551832252849512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=5717551832252849512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5717551832252849512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5717551832252849512'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2009/02/emd-upload-error-oracle-enterprise.html' title='EMD Upload Error:  Oracle Enterprise Management Agent'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-2158079181763940050</id><published>2009-02-05T05:27:00.000-08:00</published><updated>2009-02-05T05:56:06.749-08:00</updated><title type='text'>Developing Django-Jython Using Netbeans</title><content type='html'>If you are interested in using Django on Jython, then you will need to incorporate the Django-Jython project into your Jython installation after Django has been installed.  The Django-Jython project facilitates the use of Jython's zxJDBC database infrastructure in order for Django to access database backends.  At this time, the only fully supported database is Postgresql, but there are also experimental backends for using SQL Server, sqllite, and Oracle under development.  In order to use Django on Jython with another database or to assist in the development of these backends, you will need to download the Django-Jython project source code and write your own backend or update one which already exists.&lt;br /&gt;&lt;br /&gt;Working with the Django-Jython project using a text editor is one way to go, but if you are used to the automation and simplicity of using an IDE, text editing can be a painful experience.  This blog will walk you through the steps of setting up an environment within Netbeans 6.5 for developing the Django-Jython project.&lt;br /&gt;&lt;br /&gt;The process of development with Django-Jython is as follows:&lt;br /&gt;&lt;br /&gt;1.  &lt;a href="http://code.google.com/p/django-jython/"&gt;Download&lt;/a&gt; source for project&lt;br /&gt;&lt;br /&gt;2.  Add/Modify source code to facilitate your needs&lt;br /&gt;&lt;br /&gt;3.  Build the source and install it into your Jython home&lt;br /&gt;&lt;br /&gt;Number 1 above is easy enough, just visit the &lt;a href="http://code.google.com/p/django-jython/"&gt;Django-Jython&lt;/a&gt; project page.  However, numbers 2 and 3 are manually performed processes.  You can help to automate these processes by using the power of Netbeans.  Simply follow the procedure below to set up the environment:&lt;br /&gt;&lt;br /&gt;1)  Create a Python project with existing sources and name it something like "DjangoJython"&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u4V9mqhDwZg/SYrvTSkUxaI/AAAAAAAAD3A/kKI8ZL7b9W4/s1600-h/nbdjango-1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 222px;" src="http://2.bp.blogspot.com/_u4V9mqhDwZg/SYrvTSkUxaI/AAAAAAAAD3A/kKI8ZL7b9W4/s320/nbdjango-1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5299311026235557282" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;2)  Add the root-level directory of the "django-jython" source folder to the "Source Root Folders" window area when creating the project, then click finish.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;At this point your project will be created and you can work with the source.  However, we need a way to tell the IDE to build and install the project.  You can either use the command-line to do so by traversing to the project folder and issuing:&lt;br /&gt;&lt;br /&gt;jython setup.py build, followed by, jython setup.py install&lt;br /&gt;&lt;br /&gt;Or, you can perform have Netbeans IDE build the project for you when you invoke the "Run" process on the project by performing step 3.&lt;br /&gt;&lt;br /&gt;3)  Right-click on the project, and choose "Properties".  Select the "Run" category and then enter "setup.py" as the main module and enter "install" into the application arguments text field.  Now, each time you elect to "run" the project, it will cause netbeans to build and install it.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u4V9mqhDwZg/SYrv3QdBluI/AAAAAAAAD3I/naWWntspyoA/s1600-h/nb-django3.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 54px;" src="http://3.bp.blogspot.com/_u4V9mqhDwZg/SYrv3QdBluI/AAAAAAAAD3I/naWWntspyoA/s320/nb-django3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5299311644143359714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The only caveat to using this method of building and installing Django-Jython is that you will need to manually delete the "build" directory in your DjangoJython Netbeans project as well as delete the "doj" directory from your Jython installation (Jython-Path/Lib/site-packages/doj) prior to issuing "run" each time.  I have found that if you do not, sometimes all of the updated modules are not reinstalled.  Deleting these directories prior to running your build/install forces a new build and install to take place each time.&lt;br /&gt;&lt;br /&gt;Now, enjoy the great development experience of Netbeans while contributing to a great project...Django-Jython!  Have fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-2158079181763940050?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.netbeans.org' title='Developing Django-Jython Using Netbeans'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/2158079181763940050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=2158079181763940050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2158079181763940050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2158079181763940050'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2009/02/developing-django-jython-using-netbeans.html' title='Developing Django-Jython Using Netbeans'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_u4V9mqhDwZg/SYrvTSkUxaI/AAAAAAAAD3A/kKI8ZL7b9W4/s72-c/nbdjango-1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-5872747645105940346</id><published>2009-01-21T04:53:00.000-08:00</published><updated>2009-01-21T05:08:33.823-08:00</updated><title type='text'>Django-Jython: Working With Experimental Database Backends - Part 1</title><content type='html'>This is the first of several blogs that I plan to publish regarding the use of experimental database backends with the Django-Jython project.  In this series of blogs, I will cover the basics of how to begin using the experimental backends, as well as some details on how to create your own.  At the time of this posting, only one "fully supported" backend exists for the Django-Jython project and that is for the PostgreSQL database.  However, another experimental backend exists for SQLLite and there are more on the way.&lt;br /&gt;&lt;br /&gt;In order to build and begin using the experimental backend for SQLLite (or others), you must first obtain a copy of the code, which is available on the &lt;a href="http://code.google.com/p/django-jython/"&gt;project site&lt;/a&gt;, or via your command-line using the following line:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;svn checkout http://django-jython.googlecode.com/svn/trunk/ django-jython-read-only&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Once you've obtained the code, it is easy to build.  Simply traverse into the root directory of the downloaded code which should be named "django-jython", and perform the build using the setup.py build script as such:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;jython setup.py build&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Now, this works nicely for a build to use the PostgreSQL backend, but it will not include the experimental backend implementations.  In order to do so, you must open up the setup.py script and add the experimental backend that you wish to use within the "packages" listing as follows:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;from distutils.core import setup&lt;br /&gt;setup(&lt;br /&gt;    name = "django-jython",&lt;br /&gt;    version = "0.9",&lt;br /&gt;    packages = ['doj',&lt;br /&gt;                'doj.backends',&lt;br /&gt;                'doj.backends..zxjdbc',&lt;br /&gt;                'doj.backends..zxjdbc.postgresql',&lt;br /&gt;                'doj.backends..zxjdbc.sqllite',   # Experimental backend&lt;br /&gt;                'doj.management',&lt;br /&gt;                'doj.management.commands'],&lt;br /&gt; ...&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Once you've added this to the setup.py script, it will cause the experimental code to be built the next time the build process is invoked.  Now you can begin using the new backend.&lt;br /&gt;&lt;br /&gt;Next time I plan to delve into the process of creating your own experimental backend for the Django-Jython project!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-5872747645105940346?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://code.google.com/p/django-jython/' title='Django-Jython: Working With Experimental Database Backends - Part 1'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/5872747645105940346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=5872747645105940346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5872747645105940346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5872747645105940346'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2009/01/django-jython-working-with-experimental.html' title='Django-Jython: Working With Experimental Database Backends - Part 1'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-161426960977513551</id><published>2009-01-11T07:53:00.000-08:00</published><updated>2009-01-12T05:37:11.841-08:00</updated><title type='text'>Jython 101 - Altering Tuple Values</title><content type='html'>Often times we use lists and tuples to hold data that will be used at some later point in an application.  When we iterate through the data within them without changing it then they work without any issues.  However, if we wish to change one or two of the values that are contained in a tuple then we may run into an issue because they are immutable in the Jython world.  Lists are a bit different as they can be altered.  If you've run into this issue with tuples and need an easy solution, then hopefully the technique which I am about to describe will help you.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Problem&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let's say we have a tuple of parameters that we wish to pass to another Jython module at some later point.  However, once the receiving function obtains the tuple of parameters, it is found that a value needs to be added to it in order to make it complete.  How do we add or insert a value into a tuple if they are immutable?  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;The Solution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Quite easily actually, the answer is that we define a list that will take the values of the tuple and pass it on.&lt;br /&gt;&lt;br /&gt;For instance, lets define tuple:&lt;br /&gt;&lt;i&gt;&lt;br /&gt;x = ("one", "two", "four")&lt;br /&gt;&lt;br /&gt;print x   &lt;br /&gt;['one', 'two', four']&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;If we try to alter the tuple and insert the value "three" before the four, we receive an error:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;x[2] = "three"&lt;br /&gt;&lt;br /&gt;TypeError: can't assign to immutable object&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Therefore, a great workaround is to define an empty list and populate it with the contents of the tuple.  At the same time, you can add, change, or remove any elements that you wish.  In the end, use the newly define list as your "new" parameter list and pass it on.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;br /&gt;# define empty list&lt;br /&gt;y = []&lt;br /&gt;&lt;br /&gt;# iterate through tuple and populate new list&lt;br /&gt;&lt;br /&gt;for elem in x:&lt;br /&gt;&lt;br /&gt;    # check element to see if it's contents need to be changed, or moved&lt;br /&gt;    # in this case, we are looking for an element with the value "four"&lt;br /&gt;    # so that we can insert "three" in front of it&lt;br /&gt;&lt;br /&gt;    if elem == "four":&lt;br /&gt;   &lt;br /&gt;        # Insert the new element, and then the current element&lt;br /&gt;        y.append("three")&lt;br /&gt;        y.append(elem)&lt;br /&gt;    else:&lt;br /&gt;        # Insert the current element&lt;br /&gt;        y.append(elem)&lt;br /&gt;&lt;br /&gt;print y  # Use the new list and continue.&lt;br /&gt;['one', 'two', 'three', 'four']&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I hope that you find this tip for using Jython tuples useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-161426960977513551?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/161426960977513551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=161426960977513551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/161426960977513551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/161426960977513551'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2009/01/jython-101-altering-tuple-values.html' title='Jython 101 - Altering Tuple Values'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-400359259092355180</id><published>2009-01-11T07:35:00.000-08:00</published><updated>2009-01-11T07:41:06.312-08:00</updated><title type='text'>Joined the Netbeans Community Docs Team</title><content type='html'>I have joined the Netbeans Community Docs team recently.  This is a great program that has been put together to allow the Netbeans community to help document and provide guides for using the IDE.  I hope that I am able to add some benefit to the team by providing tutorials, articles, and documentation from time to time.  I am also going to be compiling and editing the monthly newsletter for the group.&lt;br /&gt;&lt;br /&gt;Stay tuned for more Netbeans-related blog entries focused on using the IDE with all of the technologies I love...including (but not limited to) Java, JavaEE, Jython, Groovy, JavaFX, Swing, SQL...and more!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-400359259092355180?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://nb-community-docs.blogspot.com/' title='Joined the Netbeans Community Docs Team'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/400359259092355180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=400359259092355180' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/400359259092355180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/400359259092355180'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2009/01/joined-netbeans-community-docs-team.html' title='Joined the Netbeans Community Docs Team'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-7705893199390603253</id><published>2009-01-04T08:17:00.002-08:00</published><updated>2009-01-04T08:19:55.012-08:00</updated><title type='text'>Web Beans 1.0.0 Alpha Released</title><content type='html'>JBoss has released Web Beans 1.0.0 Alpha recently.  Quoted from the Web Beans site:  &lt;br /&gt;&lt;br /&gt;"Web Beans defines a set of services for the Java EE environment that makes applications much easier to develop. Web Beans layers an enhanced lifecycle and interaction model over existing Java component types including JavaBeans and Enterprise Java Beans. As a complement to the traditional Java EE programming model, the Web Beans services provide:&lt;br /&gt;&lt;br /&gt;    * an improved lifecycle for stateful components, bound to well-defined contexts,&lt;br /&gt;    * a typesafe approach to dependency injection,&lt;br /&gt;    * interaction via an event notification facility, and&lt;br /&gt;    * a better approach to binding interceptors to components, along with a new kind of interceptor, called a decorator, that is more appropriate for use in solving business problems.&lt;br /&gt;&lt;br /&gt;Web Beans is especially useful in the context of web applications, but is applicable to many different kinds of applications and may even be used in the Java SE context, in conjunction with an embeddable EJB Lite container, as defined in the EJB 3.1 specification. "&lt;br /&gt;&lt;br /&gt;I'll be checking this out soon...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-7705893199390603253?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://seamframework.org/WebBeans' title='Web Beans 1.0.0 Alpha Released'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/7705893199390603253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=7705893199390603253' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7705893199390603253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7705893199390603253'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2009/01/web-beans-100-alpha-released.html' title='Web Beans 1.0.0 Alpha Released'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-7025345016109934705</id><published>2008-12-23T13:04:00.000-08:00</published><updated>2008-12-23T13:10:36.845-08:00</updated><title type='text'>Jython Podcast Domain Name</title><content type='html'>Thanks to Groovymag.com, the Jython Podcast site is now available at jythonpodcast.com.  If you haven't yet had a chance to read Groovymag, I suggest that you take a look if at all interested in Groovy or Grails.  The magazine is an excellent resource for beginners and advanced Groovy users alike.&lt;br /&gt;&lt;br /&gt;Thanks to Michael Kimsal and the Groovymag for the domain name.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-7025345016109934705?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.groovymag.com' title='Jython Podcast Domain Name'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/7025345016109934705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=7025345016109934705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7025345016109934705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7025345016109934705'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/12/jython-podcast-domain-name.html' title='Jython Podcast Domain Name'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-4126362448979427122</id><published>2008-12-19T09:18:00.000-08:00</published><updated>2008-12-19T09:26:20.597-08:00</updated><title type='text'>Jython Podcast Site Ready</title><content type='html'>I finished the preliminary Jython Podcast website last week and I thought that it would be a good idea to release it to the world for your thoughts and opinions.  I wanted to create and deploy the website as a Django site running on Jython.  However, as it turns out I am unable to deploy a Django on Jython site to a server running on JDK 1.5 (at least I haven't figured out how to do it as yet).  Therefore, I have had to postpone the deployment of the Django site until I can upgrade to JDK 1.6.&lt;br /&gt;&lt;br /&gt;It is my plan to begin the podcast with an episode near the end of December.  Hopefully once I get the first episode released, iTunes will not have any problems updating to include it.&lt;br /&gt;&lt;br /&gt;Check out the Jython Podcast site &lt;a href="http://jythonpodcast.hostjava.net" target="_blank"&gt;here&lt;/a&gt;.  I also would like to thank &lt;a href="http://www.hostjava.net" target="_blank"&gt;HostJava.net&lt;/a&gt; for providing the domain name and sponsoring the podcast.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-4126362448979427122?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://jythonpodcast.hostjava.net' title='Jython Podcast Site Ready'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/4126362448979427122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=4126362448979427122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4126362448979427122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4126362448979427122'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/12/jython-podcast-site-ready.html' title='Jython Podcast Site Ready'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-5415087612445708566</id><published>2008-12-02T04:22:00.000-08:00</published><updated>2008-12-02T04:31:50.930-08:00</updated><title type='text'>Jython CLASSPATH</title><content type='html'>I ran into a small issue this past weekend while doing some Django development with Jython 2.5 b0.  The Django scripts appeared to be running correctly until I attempted to synchronize with the database using:&lt;br /&gt;&lt;br /&gt;jython manage.py syncdb&lt;br /&gt;&lt;br /&gt;Each time I tried to run this against my Postgresql backend I was receiving an error stating that "org.postgresql.Driver" could not be found.  In reality, that driver was already in my Jython CLASSPATH because it is installed by default when Django is set up.&lt;br /&gt;&lt;br /&gt;The issue may be that I have too many Jython installations on my Mac now, but nonetheless, it is easy to work around.  I still have not found the complete solution as yet, but as long as the "--verify" argument is passed along with the "syncdb" call then everything works out well.  This is because the verify argument forces the CLASSPATH to be parsed at runtime.  While the --verify argument makes it take a second or two longer to run, it should resolve issues where the CLASSPATH is not being parsed as it should.&lt;br /&gt;&lt;br /&gt;Workaround solution:&lt;br /&gt;&lt;br /&gt;jython --verify manage.py syncdb&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-5415087612445708566?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/5415087612445708566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=5415087612445708566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5415087612445708566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5415087612445708566'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/12/jython-classpath.html' title='Jython CLASSPATH'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-3271985768252346057</id><published>2008-11-19T11:19:00.001-08:00</published><updated>2008-11-19T11:24:17.565-08:00</updated><title type='text'>NetCAT 6.5 Complete!</title><content type='html'>I'd like to thank all of the developers at Netbeans for hosting a great NetCAT session for the 6.5 release.  It seemed that everyone on the development team played an important role in this great release and the NetCAT team members also provided meaningful feedback and assistance.&lt;br /&gt;&lt;br /&gt;I'd recommend that anyone who is interested in having their voice heard for future releases of Netbeans should get involved in future NetCAT programs.  All of us members certainly had "our say" in many features of the final product.  This is a program that really goes to show how much the community can make a difference.&lt;br /&gt;&lt;br /&gt;Thanks again to Netbeans developers and fellow NetCAT 6.5 participants.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-3271985768252346057?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/3271985768252346057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=3271985768252346057' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3271985768252346057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3271985768252346057'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/11/netcat-65-complete.html' title='NetCAT 6.5 Complete!'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-3044588451723404973</id><published>2008-11-19T04:48:00.000-08:00</published><updated>2008-11-19T04:51:57.299-08:00</updated><title type='text'>Netbeans 6.5 GA Available</title><content type='html'>If you haven't done so already, I suggest that you go and pick up Netbeans 6.5 at this time.  It is arguably the best IDE release ever.  Along with the Java feature updates, this new version of the IDE includes Groovy support, compile on save, and Python support is available in EA format.&lt;br /&gt;&lt;br /&gt;If you want to migrate your libraries from an older version of 6.5 (release candidate), simply copy the project libraries files.  See &lt;a href="http://wiki.netbeans.org/MigrateClassLibraries"&gt;this wiki article&lt;/a&gt; for more details.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-3044588451723404973?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.netbeans.org' title='Netbeans 6.5 GA Available'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/3044588451723404973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=3044588451723404973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3044588451723404973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3044588451723404973'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/11/netbeans-65-ga-available.html' title='Netbeans 6.5 GA Available'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-7109016762144771325</id><published>2008-11-04T10:13:00.000-08:00</published><updated>2008-11-04T10:16:14.106-08:00</updated><title type='text'>Check out GroovyMag</title><content type='html'>Interested in Groovy or Grails?  If you are then you'll want to check out GroovyMag.com as the first issue of GroovyMag is now available for download.  Unfortunately, it looks like you have to purchase the magazine.  However, the cost looks pretty reasonable and it looks as though there is a lot of good content...probably worth the $4.99, so check it out at http://www.groovymag.com/main/ to see a summary of the content.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-7109016762144771325?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.groovymag.com/main/' title='Check out GroovyMag'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/7109016762144771325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=7109016762144771325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7109016762144771325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7109016762144771325'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/11/check-out-groovymag.html' title='Check out GroovyMag'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-1688536744641529630</id><published>2008-10-30T04:18:00.000-07:00</published><updated>2008-10-30T04:21:54.454-07:00</updated><title type='text'>Netbeans 6.5 RC2</title><content type='html'>Download Netbeans 6.5 RC2 now and try it out.&lt;br /&gt;&lt;br /&gt;If you have been using 6.5 RC1, then you will need to redo all of your settings for RC2.  However, the easiest way to get around this is to copy the contents of your Netbeans user directory from RC1 into RC2.  If you do this then all of your settings will be retained.&lt;br /&gt;&lt;br /&gt;Test RC2 and give feedback to the development team (nbdev@netbeans.org) if there are issues.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-1688536744641529630?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.netbeans.org' title='Netbeans 6.5 RC2'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/1688536744641529630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=1688536744641529630' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1688536744641529630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1688536744641529630'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/10/netbeans-65-rc2.html' title='Netbeans 6.5 RC2'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-5308150003575339649</id><published>2008-10-20T10:18:00.000-07:00</published><updated>2008-10-20T10:20:43.626-07:00</updated><title type='text'>Jython Monthly Newsletter</title><content type='html'>Anyone who wishes to post an article for the October distribution of Jython Monthly should place link on the following page. http://wiki.python.org/jython/JythonMonthly/Articles/October2008&lt;br /&gt;&lt;br /&gt;Distribution of the newsletter will occur this week.  Thanks in advance for all article submissions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-5308150003575339649?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.python.org/jython/JythonMonthly/Newsletters/October2008' title='Jython Monthly Newsletter'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/5308150003575339649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=5308150003575339649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5308150003575339649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5308150003575339649'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/10/jython-monthly-newsletter.html' title='Jython Monthly Newsletter'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-4237219939808266353</id><published>2008-09-24T20:33:00.000-07:00</published><updated>2008-09-24T20:35:50.248-07:00</updated><title type='text'>Java for Mac OS X 10.5 Update 2</title><content type='html'>Java for Mac OS X 10.5 Update 2 has been released.  Mac users (with compatible machines) should go to software updates and download soon.  I just installed the update and used it to run some tests with Netbeans 6.5 and the performance is much better than running on an Apple JDK 1.5 release.&lt;br /&gt;&lt;br /&gt;Things are looking good so far...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-4237219939808266353?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/4237219939808266353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=4237219939808266353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4237219939808266353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4237219939808266353'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/09/java-for-mac-os-x-105-update-2.html' title='Java for Mac OS X 10.5 Update 2'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-6092010044255867205</id><published>2008-09-09T08:51:00.000-07:00</published><updated>2008-09-09T08:57:48.487-07:00</updated><title type='text'>Groovy Datasources - Changing Hibernate Dialect - Oracle 11g</title><content type='html'>I found a funny while working with some Grails applications today.  I have been developing one of my Grails applications for about 2 or 3 weeks now.  I updated DataSource.groovy on Day 1 to make the application work with my development Oracle repository and all was well.&lt;br /&gt;&lt;br /&gt;Yesterday, I migrated my development Oracle environment to 11g and my Grails application stopped functioning.  I was receiving messages stating that the correct Hibernate dialect was not able to be determined.  I was forced to explicitly list which dialect to use within my DataSources.groovy file and I thought I'd share.&lt;br /&gt;&lt;br /&gt;If you migrate to Oracle 11g (from any previous release...in my case it was 10.2.0.3), and you need to specify the Hibernate dialect then you will need to add the following line to your DataSources.groovy within the DataSource block:&lt;br /&gt;&lt;br /&gt;dialect = org.hibernate.dialect.OracleDialect&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-6092010044255867205?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/6092010044255867205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=6092010044255867205' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6092010044255867205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6092010044255867205'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/09/groovy-datasources-changing-hibernate.html' title='Groovy Datasources - Changing Hibernate Dialect - Oracle 11g'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-6930711178343518251</id><published>2008-09-08T04:34:00.000-07:00</published><updated>2008-09-08T04:36:58.877-07:00</updated><title type='text'>Detecting Google Chrome In Javascript</title><content type='html'>Thanks to javascript.internet.com, here is a quick post on how to detect the new Google Chrome browser from within your Javascript code.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') &amp;gt; -1;&lt;br /&gt;&lt;br /&gt;By the way, if you are looking for some great javascript tips, take a look at javascript.internet.com as it is an excellent resource.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-6930711178343518251?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://javascript.internet.com/snippets/detecting-google-chrome.html' title='Detecting Google Chrome In Javascript'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/6930711178343518251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=6930711178343518251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6930711178343518251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6930711178343518251'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/09/detecting-google-chrome-in-javascript.html' title='Detecting Google Chrome In Javascript'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-1920938771602582264</id><published>2008-09-01T07:01:00.000-07:00</published><updated>2008-10-03T05:12:06.983-07:00</updated><title type='text'>Having Fun with JavaFX</title><content type='html'>I finally had a chance to play around a bit with Fx over this long holiday weekend.  At this point, the JavaFx script language is fairly straight forward, but I still find myself looking at examples in order to get the syntax correct when building a GUI.&lt;br /&gt;&lt;br /&gt;http://silveiraneto.net/2008/08/11/javafx-draggable-node/&lt;br /&gt;&lt;br /&gt;http://silveiraneto.net/2008/07/31/javafx-creating-a-sphere-with-shadow/&lt;br /&gt;&lt;br /&gt;I will be posting some updates to this blog at a later date.  As for now, I've successfully created a news ticker using JavaFX and I plan to release the source once I've worked out all of the rough edges.&lt;br /&gt;&lt;br /&gt;More to follow...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-1920938771602582264?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/1920938771602582264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=1920938771602582264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1920938771602582264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1920938771602582264'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/09/having-fun-with-javafx.html' title='Having Fun with JavaFX'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-43216927042719779</id><published>2008-08-25T05:26:00.000-07:00</published><updated>2008-08-25T05:30:05.713-07:00</updated><title type='text'>Jython News!</title><content type='html'>Check out the latest Jython Monthly for some great news on the up and coming Jython 2.5 release.  It is now in alpha stages, but it is looking great so far!&lt;br /&gt;&lt;br /&gt;You can also read-up on using Django with Jython...good work Leo Soto!  Also take this opportunity to ask all of your Jythonic questions of Jim Baker...a lead Jython developer.  See newsletter for more details!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-43216927042719779?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.python.org/jython/JythonMonthly/Newsletters/August2008' title='Jython News!'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/43216927042719779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=43216927042719779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/43216927042719779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/43216927042719779'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/08/jython-news.html' title='Jython News!'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-2905205089151874142</id><published>2008-08-25T05:10:00.000-07:00</published><updated>2008-08-25T05:25:59.171-07:00</updated><title type='text'>NetCAT 6.5 Update</title><content type='html'>I thought I'd give a brief update of the status on the NetCAT 6.5 testing.  If you are unaware of what NetCAT is, please visit the &lt;a href="http://qa.netbeans.org/processes/cat/65/index.html"&gt;site&lt;/a&gt; to learn more about it.&lt;br /&gt;&lt;br /&gt;Thus far, it appears that Netbeans 6.5 is on track with the latest projections of a production release sometime in October.  As you probably already know, the first beta release was distributed already and is available &lt;a href="http://www.netbeans.org/community/releases/65/"&gt;here&lt;/a&gt;.  In the release, most of the new features are fully implemented.  I will warn that there are some bugs obviously found in the release (expected because it is a beta) that could cause some minor issues in your development.  For instance, the new "deploy on save" feature of Netbeans is nice but has many quirks at this time.  If you are developing a JavaEE application, each time you save an XHMTL, JSP, or HTML file then the complete application is recompiled and deployed.  I have found that this can lead to decreased productivity as it can cause workstation performance degradation as well as PermGen errors on the deployment application server.  This is probably the largest bug I've seen since the beta release, so please do not allow it to keep you away from testing the release.&lt;br /&gt;&lt;br /&gt;For those of you who have downloaded and tested the beta release, you already know that the IDE is looking great!  Netbeans developers have been outstanding in repairing bugs and putting great new features into the IDE.  Each new release of Netbeans brings it one step closer to "the only IDE you will ever need" in my book...but don't take my word, please test and see for yourself.&lt;br /&gt;&lt;br /&gt;Before I post this blog I also want to mention that for those Grails developers in the community, Netbeans 6.5 is a must have!  Productivity time is increased even more by using the combination of Grails with Netbeans.  One of the advantages that Netbeans offers is the Grails plugin wizard...just right-click on your project to install or uninstall any Grails plugin.  No need to make that trip to the website any longer for plugin updates!&lt;br /&gt;&lt;br /&gt;Download 6.5 beta and enjoy...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-2905205089151874142?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.netbeans.org' title='NetCAT 6.5 Update'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/2905205089151874142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=2905205089151874142' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2905205089151874142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2905205089151874142'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/08/netcat-65-update.html' title='NetCAT 6.5 Update'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-831014032195348154</id><published>2008-08-13T06:16:00.000-07:00</published><updated>2008-08-13T06:19:42.514-07:00</updated><title type='text'>Netbeans 6.5 Beta Is Available...Grab It and Test!</title><content type='html'>The Netbeans team has just released 6.5 beta.  Having been testing the latest nightly builds, I think that you'll be pleased with the beta once you try it.  The Groovy/Grails support is in great shape.  New features have been added since M1, including a plugin manager and different application layout.&lt;br /&gt;&lt;br /&gt;You'll also enjoy the automatic deploy on save feature.  This really helps to speed up development time.&lt;br /&gt;&lt;br /&gt;Congrats to the Netbeans team on delivering this beta of 6.5...it is looking so far.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-831014032195348154?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.netbeans.org/community/releases/65/' title='Netbeans 6.5 Beta Is Available...Grab It and Test!'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/831014032195348154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=831014032195348154' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/831014032195348154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/831014032195348154'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/08/netbeans-65-beta-is-availablegrab-it.html' title='Netbeans 6.5 Beta Is Available...Grab It and Test!'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-6992914012482994458</id><published>2008-08-06T17:26:00.000-07:00</published><updated>2008-08-06T17:49:38.563-07:00</updated><title type='text'>Plan Your Events for Free - Gather Event Planning</title><content type='html'>Gather Event Planning is a free service that I started a few months ago to assist individuals or groups that are planning events.  The service is based upon my &lt;a href="http://sourceforge.org/projects/gather"&gt;open source reunion planning software&lt;/a&gt;.  This service is web hosting which provides sites geared towards planning and organizing events such as reunions, meetings, or gatherings in general.  Each Gather Event Planning website grants it's owner privileges to change all page content, administer mailing and guest lists, post news, etc.  &lt;br /&gt;&lt;br /&gt;Originally, I was planning to charge a minimal fee for the service in order to cover the costs of hosting.  However, I've partnered up with another group to pay for the hosting and together we've produced &lt;a href="http://www.restoringtheroar.com"&gt;Restoring The Roar&lt;/a&gt; a Chicago Blackhawks Hockey fan site.  I've also partnered up with another associate who will be starting a website shortly.  Gather Event Planning is now free thanks to the new partnerships.&lt;br /&gt;&lt;br /&gt;So if you or someone you know needs to plan an event of any kind, please try out &lt;a href="http://www.gathereventplanning.com"&gt;Gather Event Planning&lt;/a&gt;...and give me feedback!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-6992914012482994458?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.gathereventplanning.com/' title='Plan Your Events for Free - Gather Event Planning'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/6992914012482994458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=6992914012482994458' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6992914012482994458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6992914012482994458'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/08/plan-your-events-for-free-gather-event.html' title='Plan Your Events for Free - Gather Event Planning'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-4925776168017128719</id><published>2008-08-06T04:52:00.001-07:00</published><updated>2008-08-06T05:06:39.680-07:00</updated><title type='text'>Netbeans 6.5 - Project Properties Additions</title><content type='html'>Some of the nice new features of Netbeans 6.5 include Groovy and PHP support, automatic project deployment on save (which makes development time much quicker), and some new additions in the Project Properties menu.  &lt;a href="http://bigallan.blogspot.com/2008/08/project-based-formatting-in-netbeans-65.html"&gt;Allan Christensen&lt;/a&gt; blogs about the new Project-Based formatting option which is available.  This gives you the ability to apply different formatting styles on a per-project basis.&lt;br /&gt;&lt;br /&gt;Another nice new addition to the project properties menu is the Javascript Libraries.  This allows you to choose from a set of default Javascript libraries (Yahoo User Interface, Dojo, etc) and add them to your project.  This new option also gives you the ability to add your own libraries which is very handy.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/juneau001/WebImages/photo#5231373898510626834"&gt;&lt;img src="http://lh6.ggpht.com/juneau001/SJmS1_v58BI/AAAAAAAACV8/ERg83mcMac4/s400/netbeans-newjs.jpg" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-4925776168017128719?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.netbeans.org' title='Netbeans 6.5 - Project Properties Additions'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/4925776168017128719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=4925776168017128719' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4925776168017128719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4925776168017128719'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/08/netbeans-65-project-properties.html' title='Netbeans 6.5 - Project Properties Additions'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/juneau001/SJmS1_v58BI/AAAAAAAACV8/ERg83mcMac4/s72-c/netbeans-newjs.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-3448079927826945084</id><published>2008-07-29T04:11:00.000-07:00</published><updated>2008-07-29T04:14:00.167-07:00</updated><title type='text'>Adding Groovy File Compilation To Any Netbeans Project</title><content type='html'>Many of you may already be aware that adding support for groovy file&lt;br /&gt;compilation in any Netbeans project is easy.  You can easily adjust the&lt;br /&gt;build file to use the groovyc compiler.  For those of you who do not know&lt;br /&gt;how to do this, simply perform the following:&lt;br /&gt;&lt;br /&gt;1)  Adjust build.xml by adding the following target:&lt;br /&gt;&lt;p&gt;&amp;lt;target name="-pre-compile"&gt;&lt;br /&gt;      &lt;taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc"&lt;br /&gt;classpath="${your.netbeans.groovy.library.classpath}" /&gt;&lt;br /&gt;    &amp;lt;groovyc destdir="${classes.dir}"&lt;br /&gt;           classpath="${ your.netbeans.groovy.library.classpath}"&lt;br /&gt;           jointcompilationoptions="-j -Jsource=1.5 -Jtarget=1.5"&gt;&lt;br /&gt;      &lt;src path="${src.dir}"&gt;&lt;br /&gt;    &amp;lt;/groovyc&gt;&lt;br /&gt;  &amp;lt;/target&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;2)  Compile your project as normal!&lt;br /&gt;&lt;br /&gt;All .groovy files will be compiled into Java...seamless integration.  If you&lt;br /&gt;are already using the "-pre-compile" target for another task, then name it&lt;br /&gt;something else and adjust the build-impl.xml accordingly to include the new&lt;br /&gt;target.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-3448079927826945084?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/3448079927826945084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=3448079927826945084' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3448079927826945084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3448079927826945084'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/07/adding-groovy-file-compilation-to-any.html' title='Adding Groovy File Compilation To Any Netbeans Project'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-2305162542915788051</id><published>2008-07-15T09:58:00.000-07:00</published><updated>2008-07-15T10:00:32.727-07:00</updated><title type='text'>NetCAT 6.5 - Keeping Busy!</title><content type='html'>NetCAT 6.5 just started yesterday and I can say that there is a great group of Netbeans users from the community testing!  This is sure to be a stellar release of the IDE, and if you've downloaded and tried M1 I am sure you will agree.&lt;br /&gt;&lt;br /&gt;As Roman Strobl and Greg Sporar say...Happy Netbeaning...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-2305162542915788051?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/2305162542915788051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=2305162542915788051' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2305162542915788051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2305162542915788051'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/07/netcat-65-keeping-busy.html' title='NetCAT 6.5 - Keeping Busy!'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-9134158594642021122</id><published>2008-07-15T09:54:00.000-07:00</published><updated>2008-07-15T09:58:06.549-07:00</updated><title type='text'>Jython 2.5 Alpha Released!</title><content type='html'>&lt;a href="http://fwierzbicki.blogspot.com/"&gt;Frank Wierzbicki&lt;/a&gt; of Sun Microsystems has just announced the release of Jython 2.5 Alpha 1.  Click on the link above for the download...&lt;br /&gt;&lt;br /&gt;More to come once I have a chance to play with it a while...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-9134158594642021122?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://downloads.sourceforge.net/jython/jython_installer-2.5a0.jar' title='Jython 2.5 Alpha Released!'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/9134158594642021122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=9134158594642021122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/9134158594642021122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/9134158594642021122'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/07/jython-25-alpha-released.html' title='Jython 2.5 Alpha Released!'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-5931363082950756628</id><published>2008-07-07T19:20:00.000-07:00</published><updated>2008-07-07T19:22:36.567-07:00</updated><title type='text'>Netbeans 6.5 M1 Is Out!</title><content type='html'>Download it and start testing today!  I downloaded the IDE this morning and I've been using it for most of the day.  I have to say that it is in great shape!  I especially love the added Groovy editor and faster startup time.  Another great point is that I had no issues with importing projects and settings from 6.1.&lt;br /&gt;&lt;br /&gt;Another great Netbeans release is on it's way!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-5931363082950756628?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://bits.netbeans.org/download/6.5/m1/' title='Netbeans 6.5 M1 Is Out!'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/5931363082950756628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=5931363082950756628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5931363082950756628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5931363082950756628'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/07/netbeans-65-m1-is-out.html' title='Netbeans 6.5 M1 Is Out!'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-8494532257432863313</id><published>2008-06-20T17:55:00.001-07:00</published><updated>2008-06-20T17:56:04.085-07:00</updated><title type='text'>Ask Frank!  A Jython Interview with Frank Wierzbicki of Sun Microsystems</title><content type='html'>Jython Monthly Presents "Ask Frank"...a question and answer session with Frank Wierzbicki for the Jython community!&lt;br /&gt;&lt;br /&gt;I've been in touch with Frank Wierzbicki of Sun Microsystems. In case you aren't aware, Frank is one of the top Jython developers, and earlier this year Sun Microsystems hired him to work on Jython full time!&lt;br /&gt;&lt;br /&gt;He has agreed to answer questions from the community for our July 2008 newsletter. Gather your best questions and post them to the wiki at the URL below. If you have issues posting the questions on the wiki page, then please send them to me at juneau001@gmail.com so that they can be included. The deadline for posting questions is July 11th. After that time, Frank Wierzbicki will choose which ones he wishes to answer and we will include them in the next distribution.&lt;br /&gt;&lt;br /&gt;Please post your questions to Ask Frank at:  http://wiki.python.org/jython/JythonMonthly/Interviews/July2008/AskFrank and feel free to include your name/email address if you'd like.&lt;br /&gt;&lt;br /&gt;Thanks in advance for your participation...this is a great opportunity for the Jython community.&lt;br /&gt;&lt;br /&gt;Special thanks to Frank Wierzbicki for his time!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-8494532257432863313?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.python.org/jython/JythonMonthly/Interviews/July2008/AskFrank' title='Ask Frank!  A Jython Interview with Frank Wierzbicki of Sun Microsystems'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/8494532257432863313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=8494532257432863313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/8494532257432863313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/8494532257432863313'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/06/ask-frank-jython-interview-with-frank.html' title='Ask Frank!  A Jython Interview with Frank Wierzbicki of Sun Microsystems'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-2599450964245807401</id><published>2008-06-20T07:16:00.000-07:00</published><updated>2008-09-04T20:55:05.672-07:00</updated><title type='text'>JBoss Seam  - Interceptors Using Groovy - Quick Tip</title><content type='html'>Quick Tip:  If you are using Groovy in any of your Seam applications (particularly when deploying to Glassfish), be sure to update the @Interceptors annotation in your session beans as such:&lt;br /&gt;&lt;br /&gt;From: @Interceptors([org.jboss.seam.ejb.SeamInterceptor.class])&lt;br /&gt;&lt;br /&gt;To:  @Interceptors([org.jboss.seam.ejb.SeamInterceptor.class])&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-2599450964245807401?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/2599450964245807401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=2599450964245807401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2599450964245807401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2599450964245807401'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/06/jboss-seam-interceptors-using-groovy.html' title='JBoss Seam  - Interceptors Using Groovy - Quick Tip'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-2969771112475413500</id><published>2008-06-19T07:59:00.000-07:00</published><updated>2008-09-05T04:46:45.499-07:00</updated><title type='text'>Using Groovy with Seam 2.0 in Netbeans 6.1</title><content type='html'>Of course, Seam 2.0 is ready to go with Groovy support which is great news!  However, for someone who is not interested in using Seam Gen it is not very straight forward.  This is true especially if one wishes to use Eclipse or Netbeans for their development environment. &lt;br /&gt;&lt;br /&gt;A while back, I wrote a blog about developing Seam applications on Netbeans and deploying to Glassfish (http://jj-blogger.blogspot.com/2007/07/jboss-seam-configurations-jars-and.html).  I need to post an update blog because I am now deploying Seam 2.0 apps to Glassfish Version 2 using Netbeans.  I'd like to add a bit of syntactic candy into the process now and include Groovy support into my Netbeans Seam projects.&lt;br /&gt;&lt;br /&gt;Simply add the following to your build.xml file (contained within the root of your Netbeans project) and modify paths accordingly.  You will also need to package groovy-all.jar with your application.  Once completed, you can add Groovy files suffixed with .groovy into your project Seamlessly.  At compile time, they will be compiled into Java classes.&lt;br /&gt;&lt;br /&gt; &amp;lt;target name=&amp;quot;-pre-compile&amp;quot;&amp;gt;&lt;br /&gt;   &amp;lt;taskdef name=&amp;quot;groovyc&amp;quot; classname=&amp;quot;org.codehaus.groovy.ant.Groovyc&amp;quot; classpath=&amp;quot;${classpath-to-groovy}&amp;quot; /&amp;gt;&lt;br /&gt;    &amp;lt;groovyc destdir=&amp;quot;${classes.dir}&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;classpath&amp;gt;&lt;br /&gt;            &amp;lt;pathelement path=&amp;quot;${classpath-to-groovy}&amp;quot;/&amp;gt;&lt;br /&gt;        &amp;lt;/classpath&amp;gt;&lt;br /&gt;        &amp;lt;javac source=&amp;quot;1.5&amp;quot; target=&amp;quot;1.5&amp;quot; debug=&amp;quot;on&amp;quot;/&amp;gt;&lt;br /&gt;      &amp;lt;src path=&amp;quot;${src.dir}&amp;quot;/&amp;gt;&lt;br /&gt;    &amp;lt;/groovyc&amp;gt;&lt;br /&gt;  &amp;lt;/target&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-2969771112475413500?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/2969771112475413500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=2969771112475413500' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2969771112475413500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2969771112475413500'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/06/using-groovy-with-seam-20-in-netbeans.html' title='Using Groovy with Seam 2.0 in Netbeans 6.1'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-8712138124686400813</id><published>2008-06-19T04:28:00.000-07:00</published><updated>2008-06-19T04:47:01.630-07:00</updated><title type='text'>Counting Rows in Oracle in a Generic Fashion</title><content type='html'>As a DBA, every once in a while it is useful to have the ability of searching through all of the tables within a particular database to find a value.  This can be a useful thing to do if you need to find all references to a particular record in a database table.  Most likely, this kind of operation would need to be performed in order to safely delete a record from a database that was not using referential integrity.  I know that I administer at least one legacy database which does not utilize referential integrity much at all.  One major downfall to not using referential integrity is that records can be unsafely deleted, potentially leaving dangling references throughout the database.&lt;br /&gt;&lt;br /&gt;One could easily write a block of code to search for a particular value throughout all tables in the database by iteration using views such as USER_TABLES.  I have done so myself on many occasions.  So much, that I grew tired of coding new blocks of code to search for particular values each time I needed to do so.  I finally took a few minutes to write a generic stored procedure which will load into any Oracle database schema, and it has the ability to perform a full table search any particular value.  The procedure takes two parameters, column name (or value name) and value.  By invoking the procedure and passing these two values, the database will search through all tables within a particular schema and find those values within the column name you have given.  The one caveat is that some databases use different column names throughout the database for the same identifiers.  For example, I work with a database that calls an employee id number ID in one table, and EMP_ID in another.  You must account for such discrepancies when using this procedure.&lt;br /&gt;&lt;br /&gt;The code for this generic counting solution is as follows:&lt;br /&gt;&lt;br /&gt;create or replace&lt;br /&gt;procedure check_object_counts(column_name_val IN varchar2,&lt;br /&gt;                                    column_value IN varchar2) is&lt;br /&gt;cursor table_cur is&lt;br /&gt;select table_name&lt;br /&gt;from user_tab_columns&lt;br /&gt;where column_name =  upper(column_name_val);&lt;br /&gt;&lt;br /&gt;row_count       number := 0;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;   DBMS_OUTPUT.PUT_LINE('THE ' || upper(COLUMN_NAME_VAL) || ' IS REFERENCED IN THE FOLLOWING TABLES:');&lt;br /&gt;   for table_rec in table_cur LOOP&lt;br /&gt;       EXECUTE IMMEDIATE 'select count(*) from ' ||table_rec.table_name ||&lt;br /&gt;                         ' where ' || column_name_val || ' = :THIS_OBJECT'&lt;br /&gt;        INTO ROW_COUNT&lt;br /&gt;        USING column_value;&lt;br /&gt;&lt;br /&gt;        if row_count &gt; 0 then&lt;br /&gt;            DBMS_OUTPUT.PUT_LINE(table_rec.table_name || ' - ' || row_count || ' times ');&lt;br /&gt;        end if;&lt;br /&gt;&lt;br /&gt;        row_count := 0;&lt;br /&gt;&lt;br /&gt;    end LOOP;&lt;br /&gt;&lt;br /&gt;end;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;As stated previously, this procedure can be loaded into any schema which has CREATE ANY PROCEDURE privileges.  You invoke it as such from within SQLPlus:&lt;br /&gt;&lt;br /&gt;@check_object_counts('EMP_ID','10037E');&lt;br /&gt;&lt;br /&gt;** By the way, be sure to use SET SERVEROUTPUT ON prior to running the script so that you see the output!&lt;br /&gt;&lt;br /&gt;It may not be a catch all solution, but it does the trick 98% of the time!  Best to you and happy DBA-ing!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-8712138124686400813?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/8712138124686400813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=8712138124686400813' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/8712138124686400813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/8712138124686400813'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/06/counting-rows-in-oracle-in-generic.html' title='Counting Rows in Oracle in a Generic Fashion'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-1325902635319101465</id><published>2008-06-11T18:12:00.000-07:00</published><updated>2008-06-11T18:22:40.510-07:00</updated><title type='text'>TinyMCE Basics</title><content type='html'>I spent a good deal of time searching the web yesterday.  I was trying to remember how to make the TinyMCE WYSIWYG editor allow all HTML tags.  If you've never heard of this editor, it is an excellent AJAX based editor for your websites.  I use it to allow my clients the ability to edit and create HTML on-the-fly without any knowledge of Javascript.  Basically, it displays HTML as an OpenOffice (or Word) document would.  You can simply highlight text and make it bold, italic, or underlined.  It also allows the ability to post photos (as long as the photo is on the web) and much more.&lt;br /&gt;&lt;br /&gt;The key to allowing straight HTML is to include the following configuration at the top of your webpage.  TinyMCE will take any textarea and make it into a nice editor.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;tinyMCE.init({&lt;br /&gt; ...&lt;br /&gt; valid_elements : "a[href|target=_blank],strong/b,div[align],br"&lt;br /&gt;&lt;br /&gt;})&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Above is a basic configuration to allow certain html elements.  In order to allow a more flexible amount of elements, just follow this link:  http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/valid_elements&lt;br /&gt;&lt;br /&gt;Simple, eh...too bad I wasted some time searching for it when the answer was right in front of me...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-1325902635319101465?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/valid_elements' title='TinyMCE Basics'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/1325902635319101465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=1325902635319101465' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1325902635319101465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1325902635319101465'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/06/tinymce-basics.html' title='TinyMCE Basics'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-1575516702484651557</id><published>2008-06-10T10:32:00.000-07:00</published><updated>2008-06-10T10:35:55.331-07:00</updated><title type='text'>JSF 2.0 Early Access Revew</title><content type='html'>Take a minute to download and read the JSF 2.0 Early Access Review doc.  It looks like JSF will be getting better, I just hope that Seam will also continue to evolve into an even better (doesn't seam like it can get much better..it is great now) framework for JSF/EJB.  Hopefully JSF 2.0 will have some added benefit in this process...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-1575516702484651557?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.theserverside.com/news/thread.tss?track=NL-461&amp;ad=645256&amp;thread_id=49581&amp;asrc=EM_NLN_3809655&amp;uid=2267814' title='JSF 2.0 Early Access Revew'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/1575516702484651557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=1575516702484651557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1575516702484651557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1575516702484651557'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/06/jsf-20-early-access-revew.html' title='JSF 2.0 Early Access Revew'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-456233922157919824</id><published>2008-05-28T10:26:00.000-07:00</published><updated>2008-05-28T10:28:16.734-07:00</updated><title type='text'>Great Seam Security Article for 2.1.0GA</title><content type='html'>Check out the link below for a great article that discusses the new security features in Seam 2.1.0GA!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;http://shane.bryzak.com/blog/articles/seam_security_gets_an_upgrade&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-456233922157919824?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://shane.bryzak.com/blog/articles/seam_security_gets_an_upgrade' title='Great Seam Security Article for 2.1.0GA'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/456233922157919824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=456233922157919824' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/456233922157919824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/456233922157919824'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/05/great-seam-security-article-for-210ga.html' title='Great Seam Security Article for 2.1.0GA'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-3420008906781585516</id><published>2008-05-23T04:44:00.001-07:00</published><updated>2008-05-23T04:53:53.789-07:00</updated><title type='text'>Java SE 7 - What would you like to see?</title><content type='html'>As always, The Java Posse had another great interview in show #187.  This time, they interviewed Danny Coward who is "Chief Architect of Sun's Client Software, and Sun's Java SE/EE representative on the Executive Committee for the JCP".  I highly recommend listening if you are interested in learning about the future of Java SE and what SE 7 may bring.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One of the interesting topics in the interview was about what will be included with Java SE 7.  I thought I'd start a blog post to capture some of the community's ideas about what should be included in the release.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What would you like to see in the release of Java SE 7?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-3420008906781585516?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.javaposse.com/' title='Java SE 7 - What would you like to see?'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/3420008906781585516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=3420008906781585516' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3420008906781585516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3420008906781585516'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/05/java-se-7-what-would-you-like-to-see.html' title='Java SE 7 - What would you like to see?'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-5435770253658926217</id><published>2008-05-14T04:18:00.001-07:00</published><updated>2008-05-14T04:20:34.642-07:00</updated><title type='text'>Jython Monthly Call for Articles - May 2008</title><content type='html'>Let's get Jython back in the spotlight!  Send in some articles about Jython for distribution in this month's newsletter.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Please post all articles/tutorials in the following area:  http://wiki.python.org/jython/JythonMonthly/Articles/May2008&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All contributions are welcome!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-5435770253658926217?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/5435770253658926217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=5435770253658926217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5435770253658926217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5435770253658926217'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/05/jython-monthly-call-for-articles-may.html' title='Jython Monthly Call for Articles - May 2008'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-3225933663879888446</id><published>2008-05-13T10:58:00.000-07:00</published><updated>2008-05-13T11:02:04.486-07:00</updated><title type='text'>Netbeans 6.1 - Facelets and Seam Support!</title><content type='html'>It is not official yet, but I learned that you can download and build the facelets and seam support projects for Netbeans while reading today's Netbeans newsletter.  I will give a thumbs up in the affirmative as I have followed the directions within the blog and successfully achieved Facelets and Seam support within 6.1!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks for the excellent blog and for the time which was put forth in working on these projects!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-3225933663879888446?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://davidsalter.co.uk/index.php?q=node/104' title='Netbeans 6.1 - Facelets and Seam Support!'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/3225933663879888446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=3225933663879888446' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3225933663879888446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3225933663879888446'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/05/netbeans-61-facelets-and-seam-support.html' title='Netbeans 6.1 - Facelets and Seam Support!'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-6823023267293701277</id><published>2008-04-30T04:08:00.000-07:00</published><updated>2008-04-30T04:13:07.029-07:00</updated><title type='text'>Java 1.6 on OSX</title><content type='html'>I love my Mac even more today...Java SE 6 version 1.6.0_05 has finally been released (as if you hadn't already heard).  This is great news for any Mac Java developer!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Just remember, if you had installed a beta version of 1.6 then you will have to manually remove /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0 before you can get the update via Software Update.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-6823023267293701277?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/6823023267293701277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=6823023267293701277' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6823023267293701277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6823023267293701277'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/04/java-16-on-osx.html' title='Java 1.6 on OSX'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-7723935976321788414</id><published>2008-04-29T10:22:00.000-07:00</published><updated>2008-04-29T10:29:35.780-07:00</updated><title type='text'>Netbeans 6.1 - Out of the Box</title><content type='html'>I really haven't gotten too far into it yet, but I've just installed Netbeans 6.1 final edition.  So far, I can say that the start up time seems good, and I am glad that all of my libraries were migrated out-of-the-box.  I simply used the import prompt to grab all of my settings from 6.1 and I was good to go.  This is great news...it means that I can just start using Netbeans 6.1 with no additional configuration overhead.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That's all for now...I'm looking forward to using another great product from the Netbeans team!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-7723935976321788414?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.netbeans.org/' title='Netbeans 6.1 - Out of the Box'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/7723935976321788414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=7723935976321788414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7723935976321788414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7723935976321788414'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/04/netbeans-61-out-of-box.html' title='Netbeans 6.1 - Out of the Box'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-1700757818527943830</id><published>2008-04-23T06:31:00.000-07:00</published><updated>2008-04-23T07:17:06.213-07:00</updated><title type='text'>Grails - Coding and Accessing a simple custom controller method</title><content type='html'>If you've ever worked with Grails, then you know how easy it is to create domain classes which map to database tables.  Similarly, it is easy to access the database via the automatically generated conroller methods that are available (create, list, delete, save, edit, show).  However, if you need to perform a particular operation against the database which is not accomplished by using any of these automatically generated methods, it is still easy...but perhaps not very intuative.  Once you learn how to accomplish this task then the entire power behind using hibernate and accessing your database is at your hands.&lt;br /&gt;&lt;br /&gt;It really is as easy as 1, 2, 3 to create additional controller methods...especially if you know how to use the Groovy language itself.  I will show you how to create a simple finder method which takes a parameter and searches a particular database table for the value of that parameter...then it returns the results.&lt;br /&gt;&lt;br /&gt;As you already know, the list method for each Grails controller is already created for you...let's look at my list method for the "Test" domain class (database table):&lt;br /&gt;&lt;br /&gt;def list = {&lt;br /&gt; &lt;br /&gt;       if(!params.max) params.max = 10&lt;br /&gt;       [ testList: Test.list( params) ]&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is all well and good, but it returns the entire dataset for the Test database table.  What if I only wish to return all of the records which have foreign key id of 35?  Let's say that our foreign key id variable is fkId to make it simple.  So what we want is to return all members of the list returned using the "list" method above which have fkId == 35.&lt;br /&gt;&lt;br /&gt;We need to first obtain the complete list of results, and then filter it out accordingly.  This is where the power of Groovy comes into play.  We could use Java and write a filter so that we iterate through each of the items in the complete list of results searching for instances where fkId == 35 and then adding those matching objects to another list.  That would be lots of code though.  Let's use a Groovy closure to accomplish the same thing.  Take a look at the "find" method which does just that:&lt;br /&gt;&lt;br /&gt;def find = {&lt;br /&gt;     def testList = Test.list( params)&lt;br /&gt;     [testSearch : testList.findAll{it.fkId == Integer.valueOf(params.fkId)}]&lt;br /&gt;        &lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;Ok, simplicity at it's finest!  We first obtain the complete list from the database table into the testList object.  Then, we use the Groovy "findAll" method to search that list for all instances where fkId == the value of our parameter which is passed in (params.fkId)...let's assume that the parameter equals 35.  We store our results in the testSearch list.&lt;br /&gt;&lt;br /&gt;Now, how do we access this method?  Well, we have to create a Groovy Server Page named find.gsp to show our results.  We also need to pass the fkId parameter to this method somehow.  Here is a simple find.gsp which will iterate through all of the objects which are returned within the testSearch list.  Of course...this is just a quick page with ugly results...but you can clean it up to suit your needs.&lt;br /&gt;&lt;br /&gt;find.gsp:&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;lt;g:each in="${testSearch}" status="i" var="test"&amp;gt;&lt;/div&gt;&lt;div&gt;   FieldOne:  ${test.fieldOne}&lt;br /&gt;&lt;div&gt;   FieldTwo: ${test.fieldTwo}&lt;/div&gt;&lt;div&gt;&amp;lt;/g:each&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now, what is the URL which we use in order to access our new controller and page?  Assume that our application name is "site" and we are passing a parameter of fkId = 35...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;http://localhost:8080/site/test/find?fkId=35&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Easy enough, but it took me a bit of time to figure out when I first tried it.  Hopefully this post will save you some time and get you adding some much needed functionality to your standard Grails app.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-1700757818527943830?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/1700757818527943830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=1700757818527943830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1700757818527943830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1700757818527943830'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/04/grails-coding-and-accessing-simple.html' title='Grails - Coding and Accessing a simple custom controller method'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-32361952976525065</id><published>2008-04-18T06:49:00.000-07:00</published><updated>2008-04-18T07:03:01.853-07:00</updated><title type='text'>Groovy - Grails Work</title><content type='html'>Onto new stuff...I have been working a lot with Grails lately.  This is the technology that I have chosen to use for the implementation of the gathereventplanning.com website.  While Grails is easy to use out of the box, I have found myself searching the net for information regarding customization.  No doubt about it, unless you are creating your own simple CRUD application, you will want to customize the program in one way or another.&lt;br /&gt;&lt;br /&gt;There have been many articles and blogs written about creating Grails applications and customizing them, but perhaps one of the best I have found so far is the &lt;a href="http://www.ibm.com/developerworks/views/java/libraryview.jsp?search_by=mastering+grails"&gt;Mastering Grails&lt;/a&gt; series...it has been quite helpful thus far.&lt;br /&gt;&lt;br /&gt;I'm not going to get too technical in this brief post, but I will say that I have found a bug already.  The issue resides in the Grails 1.0.2 release.  I had created and customized a tiny CRUD application for testing purposes using the embedded database that comes with Grails.  All was good until I attempted to "hook" my program to a PostgreSQL database instead.  At that point the application was in read-only mode as it was unable to perform any batch inserts or updates to the database.  Each time I tried to insert or update data, I received a stack trace stating that there was a SQL Grammar error.  &lt;br /&gt;&lt;br /&gt;I scratched my head for days on this one, looked at lots of hibernate documenation (since this is used behind the scenes in Grails), and even tried to change my domain model a bit to see if that would work.  Eventually, I ended up downloading Grails 1.0.1 and trying to do the same thing.  It works perfectly...no issues as yet.  I have been able to successfully re-create my small application and use a PostgreSQL database without issues.&lt;br /&gt;&lt;br /&gt;My guess is that this will be resolved with Grails 1.0.3 release, but we will see.  So far, I love Grails as it is quite powerful and easy to use.  Other than the bug I found, the only complaint I have is that Grails is so involved...many plug-ins are available and the Grails documentation is huge as it is.  If you really want to become an expert Grails developer, you will be doing a lot of studying...but learning new technology like this is fun stuff.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-32361952976525065?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://grails.org/doc/1.0.x/' title='Groovy - Grails Work'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/32361952976525065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=32361952976525065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/32361952976525065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/32361952976525065'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/04/groovy-grails-work.html' title='Groovy - Grails Work'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-5063978034110267084</id><published>2008-04-14T06:03:00.000-07:00</published><updated>2008-04-14T06:41:15.038-07:00</updated><title type='text'>Netbeans 6.1 Beta - Subtle Issues</title><content type='html'>I've been using Netbeans 6.1 beta for most of my development since it has become available.  Until recently, I hadn't noticed any issues while using it.  Late last week I think I've encountered a subtle, but time consuming issue.&lt;br /&gt;&lt;br /&gt;I am in the process of migrating my Seam applications from 1.x to 2.0.1 at this time.  In doing so, I am also adjusting libraries within Netbeans as necessary.  As you may know, when moving from older versions of Seam you must update all JSF pages to comply with JSF 1.2 standards...so these libraries must be updated as well.&lt;br /&gt;&lt;br /&gt;The issue arose when I attempted to deploy one of my applications to my test environment which is running Glassfish V2.  Many class not found issues appeared in the server log each time I tried to deploy.  At the bottom of the stack trace I received a misleading message stating that there were "Errors in the EjbDescriptor".  This led me searching my ejb-jar.xml, pages.xml, and web.xml files looking for issues.  As none were found, I tried to give it the old clean, rebuild, and deploy once again...same issue. &lt;br /&gt;&lt;br /&gt;At this point I began comparing with another successful Seam 2.0 migration and there were really no apparent differences.  I spotted the problem when I went to the file system and looked in the application's dist directory.  None of my Seam 2.0 libraries were being packaged with the deployment.&lt;br /&gt;&lt;br /&gt;As it turns out, if you repackage and change libraries for an existing application within Netbeans 6.1 beta, then you must do the following:&lt;br /&gt;&lt;br /&gt;1)  Right click on the project, and choose properties.&lt;br /&gt;&lt;br /&gt;2)  Navigate to Libraries and make necessary changes.  &lt;br /&gt;&lt;br /&gt;3)  YOU MUST check and uncheck the package checkbox within the libraries configuration...even if it is checked by default.  This must update the build script for Netbeans because this was checked by default, but my libraries were not included.&lt;br /&gt;&lt;br /&gt;After I unchecked the library package box and then re-checked it everything worked fine.  The necessary JAR files that are contained within my included Netbeans libraries were deployed with my app and it works fine now.&lt;br /&gt;&lt;br /&gt;Not a big issue, but an issue that is definitely not obvious and took me some time to figure out.  I still recommend Netbeans 6.1...but I am not moving to RC1 at this time.  I will probably wait for the production release because I do not want to migrate my libraries manually...&lt;br /&gt;&lt;br /&gt;Happy NetBeaning....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-5063978034110267084?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/5063978034110267084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=5063978034110267084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5063978034110267084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5063978034110267084'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/04/netbeans-61-beta-subtle-issues.html' title='Netbeans 6.1 Beta - Subtle Issues'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-5125635858218691270</id><published>2008-04-07T09:51:00.000-07:00</published><updated>2008-04-07T10:08:33.341-07:00</updated><title type='text'>Shameless Self-Advertising</title><content type='html'>Time for a bit of shameless self-advertising.  I'd like to let everyone know about a new hosting service I've started to assist individuals in event planning.  If you or anyone you know needs to plan an event sometime soon, please take a look at my site and see if it will help out.  Gather Event Planning offers individuals their own dedicated web site for organizing an event.  The website includes a news blog, member registration, member forum, email contact lists, and much more to help aid in the process of planning an organized event.&lt;br /&gt;&lt;br /&gt;There is no fee to try the service...only an email address is required.  If you use the service for less than 30 days then it is free.  This will allow anyone to plan a short-term event (such as a surprise party) without incurring any charges.  There are plans available for those who wish to host a long-term event site for class reunions and such.&lt;br /&gt;&lt;br /&gt;Enough gabbing about the service, feel free to give it a try and then let me know what you think.  &lt;br /&gt;&lt;br /&gt;Visit the site at http://www.gathereventplanning.com for more details.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-5125635858218691270?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.gathereventplanning.com' title='Shameless Self-Advertising'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/5125635858218691270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=5125635858218691270' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5125635858218691270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5125635858218691270'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/04/shameless-self-advertising.html' title='Shameless Self-Advertising'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-7938643919409329904</id><published>2008-04-07T09:46:00.000-07:00</published><updated>2008-04-07T09:48:49.577-07:00</updated><title type='text'>SeamFramework.org - In case you did not know...</title><content type='html'>I wanted to let everyone know about another great JBoss SEAM resource, it is the seamframework.org website.  This site includes a lot of documentation, as well as a community for SEAM developers.&lt;br /&gt;&lt;br /&gt;Another good reason to use the SEAM framework!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-7938643919409329904?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.seamframework.org/' title='SeamFramework.org - In case you did not know...'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/7938643919409329904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=7938643919409329904' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7938643919409329904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7938643919409329904'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/04/seamframeworkorg-in-case-you-did-not.html' title='SeamFramework.org - In case you did not know...'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-61715276555076097</id><published>2008-04-07T04:38:00.000-07:00</published><updated>2008-04-07T04:39:21.801-07:00</updated><title type='text'>Jython Monthly Call for Articles - April 2008</title><content type='html'>The April 2008 edition of the Jython Monthly newsletter is scheduled for distribution on April 15, 2008.&lt;br /&gt;&lt;br /&gt;Please post any articles or contributions for the April 2008 distribution of the Jython Monthly newsletter at the following link:&lt;br /&gt;&lt;br /&gt;http://wiki.python.org/jython/JythonMonthly/Articles/April2008&lt;br /&gt;&lt;br /&gt;Visit http://wiki.python.org/jython/JythonMonthly/Articles/Submitting for details regarding newsletter artical submittals.&lt;br /&gt;&lt;br /&gt;All contributions are appreciated!  Please feel free to contact me if you have any questions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-61715276555076097?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/61715276555076097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=61715276555076097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/61715276555076097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/61715276555076097'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/04/jython-monthly-call-for-articles-april.html' title='Jython Monthly Call for Articles - April 2008'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-4727006050150790054</id><published>2008-04-01T09:44:00.000-07:00</published><updated>2008-04-01T09:50:37.853-07:00</updated><title type='text'>Groovy Netbeans Plugin</title><content type='html'>After searching for a while to find information regarding the Groovy and Grails Netbeans plugin, I determined that it is only available if you download and use a nightly build.  You must download a nightly build and then go to the plugin manager to find it.&lt;br /&gt;&lt;br /&gt;Ok, that is good news, so now I will get to try out the plugin and see how it works.  One slight reminder though, if you download and use a Netbeans nightly build then none of your created libraries will be carried forward.  I've got too many libraries created so I plan on using the nightly build to evaluate the Groovy plugin only...I will continue my day-to-day development on the NB 6.1 release.&lt;br /&gt;&lt;br /&gt;I wonder if a Jython plugin is in the future?  One would think that since a couple of Jython gurus have been hired by Sun, we may have some hope for good Jython support in a future Netbeans release...let's hope so!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-4727006050150790054?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/4727006050150790054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=4727006050150790054' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4727006050150790054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4727006050150790054'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/04/groovy-netbeans-plugin.html' title='Groovy Netbeans Plugin'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-8532954381087148042</id><published>2008-03-19T11:02:00.000-07:00</published><updated>2008-03-19T11:08:21.692-07:00</updated><title type='text'>Netbeans 6.1 Beta</title><content type='html'>I've downloaded the latest Netbeans 6.1 beta release and installed it on my Mac today.  I haven't had too much time to work with it as yet, but thus far I have found the following to be nice:&lt;br /&gt;&lt;br /&gt;  -  No need to manually set up libraries or import projects, ALL of my settings from 6.0.1 have been imported successfully!&lt;br /&gt;&lt;br /&gt;  -  Javascript support is nice&lt;br /&gt;&lt;br /&gt;  - Startup time has been greatly reduced!&lt;br /&gt;&lt;br /&gt;These are some of the improvements I've seen within the last few minutes of looking around.  It also seems like my applications build faster and deploy to Glassfish V2 with improved speed...&lt;br /&gt;&lt;br /&gt;I have found one negative point so far...Facelets support is completely gone from what I can see.  My facelets support plugin https://nbfaceletssupport.dev.java.net/ which worked in 6.0.1 does not load anymore.  All XHTML documents now look like plain old JSP...but I cannot say whether code completion for facelets will work or not as I have not really had a chance to test thus far.&lt;br /&gt;&lt;br /&gt;If you are looking to see improvements and don't mind losing the facelets plugin support, I recommend giving it a try.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-8532954381087148042?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.netbeans.org/' title='Netbeans 6.1 Beta'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/8532954381087148042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=8532954381087148042' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/8532954381087148042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/8532954381087148042'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/03/netbeans-61-beta.html' title='Netbeans 6.1 Beta'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-3237466222691272526</id><published>2008-03-11T05:37:00.001-07:00</published><updated>2008-03-11T05:37:39.749-07:00</updated><title type='text'>Jython Monthly Call for Articles - March 2008</title><content type='html'>The March 2008 edition of Jython Monthly is scheduled to be distributed next Tuesday, March 18th.  Everyone would definitely like to see more articles and/or tutorials, so if you have any content that you'd like to share then please submit it to the following area:&lt;br /&gt;&lt;br /&gt;http://wiki.python.org/jython/JythonMonthly/Articles/March2008&lt;br /&gt;&lt;br /&gt;Thanks in advance for all contributions!&lt;br /&gt;&lt;br /&gt;P.S -  Way to go Frank!!  Good luck at Sun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-3237466222691272526?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.python.org/jython/JythonMonthly/Articles/March2008' title='Jython Monthly Call for Articles - March 2008'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/3237466222691272526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=3237466222691272526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3237466222691272526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3237466222691272526'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/03/jython-monthly-call-for-articles-march.html' title='Jython Monthly Call for Articles - March 2008'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-1348378154536259068</id><published>2008-02-12T10:09:00.000-08:00</published><updated>2008-02-12T10:16:01.537-08:00</updated><title type='text'>Jython Monthly Call for Articles - February 2008</title><content type='html'>&lt;center&gt;&lt;img src="http://www.jython.org/css/jython.png"/&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Please submit new articles and/or tutorials for the Feburary 2008 distribution of Jython Monthly.  Feel free to write or teach about any topic that is Jython related...the more articles the better!&lt;br /&gt;&lt;br /&gt;Thanks in advance for your participation!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-1348378154536259068?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.python.org/jython/JythonMonthly/Articles' title='Jython Monthly Call for Articles - February 2008'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/1348378154536259068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=1348378154536259068' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1348378154536259068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1348378154536259068'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/02/jython-monthly-call-for-articles.html' title='Jython Monthly Call for Articles - February 2008'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-6313767798184713781</id><published>2008-02-11T09:59:00.000-08:00</published><updated>2008-02-11T10:10:02.931-08:00</updated><title type='text'>JavaFX Script - An Excellent Read</title><content type='html'>I finished reading the JavaFX Script book by James Weaver a couple of days ago.  I ordered this book from Amazon last November, and it just arrived last month.  I have to say that I was getting a bit impatient about the delay, but it really was worth the wait.&lt;br /&gt;&lt;br /&gt;If you are new to JavaFX like me, then you will find this to be an excellent starting point.  The book is really geared towards developers who are interested in authoring small Swing-like applications.  I'd have to say that it helped to have a good background in Swing prior to reading this book...but I think that anyone could pick it up and just start from scratch.  James does a great job from start to finish as he builds upon concepts as the book goes on.  It really is a start-to-finish book, but at 200 pages, that is not very rough to read straight through.  It really is a quick read, and quickly jumps into the basics and works up from there.  I was also impressed with the example applications used in the book as they gave me a great sense of what the language is capable of doing.  &lt;br /&gt;&lt;br /&gt;This book is definitely worth the read if you are interested in learning JavaFX basics and beyond.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-6313767798184713781?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.amazon.com/JavaFX-Script-Scripting-Client-side-Applications/dp/1590599454/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1202752791&amp;sr=1-1' title='JavaFX Script - An Excellent Read'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/6313767798184713781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=6313767798184713781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6313767798184713781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6313767798184713781'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/02/javafx-script-excellent-read.html' title='JavaFX Script - An Excellent Read'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-4716123508300003381</id><published>2008-01-24T10:24:00.000-08:00</published><updated>2008-01-24T10:34:26.983-08:00</updated><title type='text'>EJB 3.1 - Significant Changes Sound Promising</title><content type='html'>Being a big fan of the EJB 3.0 specification, I read this new &lt;a href="http://www.theserverside.com/tt/articles/article.tss?l=NewFeaturesinEJB3-1"&gt;EJB 3.1 New Features&lt;/a&gt; article published by Serverside right away.  Clearly, the current EJB spec is much simpler to use and maintain than previous generations.  Building upon that logic, the upcoming EJB 3.1 specification looks even better.&lt;br /&gt;&lt;br /&gt;Real quick, I just wanted to point two of the features I found most interesting about this article.  First, it sounds like interfaces will be made optional.  This could be viewed as a bonus or a downfall, depending upon the way you look at it.  Certainly removing the need for interfaces will simplify the writing of EJB code immensely.  However, the benefits of using the loose-coupled approach may make EJB more difficult in some circumstances.  If you enjoy unit testing of EJB code, this may make a big difference.  However, since the specification plans to make this an optional feature then it will leave the implementation to the coder.  Therefore, this seems to be a feature that can greatly benefit those who do not wish to write EJB interfaces.&lt;br /&gt;&lt;br /&gt;Second, the article briefly mentions support for stateful web services and EJB timer service enhancements to support scheduling and/or deployment-time timer creation.  I will be interested to hear more about these.&lt;br /&gt;&lt;br /&gt;Give the article a read if you are interested in EJB...it is worth the time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-4716123508300003381?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.theserverside.com/tt/articles/article.tss?l=NewFeaturesinEJB3-1' title='EJB 3.1 - Significant Changes Sound Promising'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/4716123508300003381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=4716123508300003381' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4716123508300003381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4716123508300003381'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/01/ejb-31-significant-changes-sound.html' title='EJB 3.1 - Significant Changes Sound Promising'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-219139540754269194</id><published>2008-01-10T05:19:00.000-08:00</published><updated>2008-01-10T05:37:53.758-08:00</updated><title type='text'>Oracle JDeveloper 11g Technology Preview 3 Released</title><content type='html'>I recently downloaded the new JDeveloper 11g Tech Preview 3 for my Mac, and I am impressed.  While I primarily use Netbeans for Java application development, the JDeveloper IDE is great for developing PL/SQL and Java Stored Procedures.&lt;br /&gt;&lt;br /&gt;All of the new features in this technology preview are amazing.  I understand that if you develop Java applications within the JDeveloper IDE then there have been many enhancements and improvements as well.  For instance, the SOA and Web Services modules have had some significant adjustments.&lt;br /&gt;&lt;br /&gt;My primary use of the JDeveloper IDE is for PL/SQL and Java Stored Procedure development.  If you are looking to create and/or maintain any PL/SQL, then this tool can help you greatly.  The new editor is nice, package body and header separation is a plus, and the automatic SQL command window is nice to have.  One no longer needs to open a SQL Worksheet to invoke an SQL statement, it opens automatically when a database connection is selected.  Of all the great SQL IDEs available today, I do not think any are better than JDeveloper for managing Oracle Java Stored Procedures.  Straightforward and easy to manage, developing Java Stored Procedures for the Oracle database has never been easier.&lt;br /&gt;&lt;br /&gt;I recommend downloading the &lt;a href="http://www.oracle.com/webapps/dialogue/dlgpage.jsp?p_ext=Y&amp;p_dlg_id=6166523&amp;src=1952635&amp;Act=82"&gt;technology preview&lt;/a&gt; and giving it a try.  Even if you do not develop any SQL or PL/SQL code, you may find that it has some nice features to benefit your Java development.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-219139540754269194?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.oracle.com/webapps/dialogue/dlgpage.jsp?p_ext=Y&amp;p_dlg_id=6166523&amp;src=1952635&amp;Act=82' title='Oracle JDeveloper 11g Technology Preview 3 Released'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/219139540754269194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=219139540754269194' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/219139540754269194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/219139540754269194'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/01/oracle-jdeveloper-11g-technology.html' title='Oracle JDeveloper 11g Technology Preview 3 Released'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-1491809182356920444</id><published>2008-01-08T10:06:00.000-08:00</published><updated>2008-01-08T10:19:08.642-08:00</updated><title type='text'>Glassfish - A Noteworthy Application Server</title><content type='html'>I've been running across quite a few &lt;a href="http://blogs.sun.com/theaquarium/entry/glassfish_fantastic_app_server_works"&gt;blogs&lt;/a&gt; lately speaking about Glassfish.  It appears that this great application server is being used by more people and gaining some real popularity.  I've been using Glassfish since version one.  Actually, prior to &lt;a href="https://glassfish.dev.java.net/"&gt;Project Glassfish&lt;/a&gt;, I used the Sun Java Application Server version 8.  &lt;br /&gt;&lt;br /&gt;I have nothing bad to say about Glassfish.  It is an excellent choice for a JavaEE application server.  Powerful and easy to use, this application server should not be overlooked if you are in the business of Java web development.&lt;br /&gt;&lt;br /&gt;I have not yet tried out version 3, but I plan to do so very soon.  I've been working primarily with Glassfish version 2 for the past few months.  I've found it very easy to deploy &lt;a href="http://www.jboss.com/products/seam"&gt;JBOSS Seam&lt;/a&gt; applications to Glassfish even though there is no direct IDE deployment option for this setup as yet.  &lt;br /&gt;&lt;br /&gt;I will post any issues or concerns with using Glassfish V3 and JBOSS Seam...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-1491809182356920444?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.sun.com/theaquarium/entry/glassfish_fantastic_app_server_works' title='Glassfish - A Noteworthy Application Server'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/1491809182356920444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=1491809182356920444' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1491809182356920444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1491809182356920444'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2008/01/glassfish-noteworthy-application-server.html' title='Glassfish - A Noteworthy Application Server'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-7245436721955962719</id><published>2007-11-19T09:55:00.000-08:00</published><updated>2007-11-19T10:03:16.272-08:00</updated><title type='text'>Mac OSX Leopard - Spaces Information</title><content type='html'>I love OSX Leopard, especially the spaces feature.  It is really nice to have several "Spaces" with different apps open on each.  However, I did find one nuance that is a bit annoying.  If you open an application which allows for multiple windows (such as Firefox), you must use all of the windows within the same space.  That means you cannot open Firefox in Space 1 and then go into Space 2 and open another FireFox window.&lt;br /&gt;&lt;br /&gt;Now, there is an easy work around to this, and that is simply opening up all of your Firefox windows within the same Space and then hitting F8 to show all Spaces.  Once you have all spaces showing then you can drag the windows into separate spaces as you wish.  The issue I have found with this is that if you use the dock to navigate and hit the Firefox icon then spaces may go berserk.  I have had spaces go back and forth between windows until I intervened with a mouse click.  &lt;br /&gt;&lt;br /&gt;This becomes frustrating if you are trying to use an technology such as Java Web Start in one Space and another Firefox window in a separate space.  If the Web Start application tries to fire another window (such as a report), then Spaces will go berserk again.  &lt;br /&gt;&lt;br /&gt;Really, this is not a big issue but I thought I would point it out for anyone who was having issues with Spaces.  The easiest work around in this case is to only use Firefox or other such apps within once Space only.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-7245436721955962719?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/7245436721955962719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=7245436721955962719' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7245436721955962719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7245436721955962719'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/11/mac-osx-leopard-spaces-information.html' title='Mac OSX Leopard - Spaces Information'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-1502652063315865800</id><published>2007-11-05T10:05:00.000-08:00</published><updated>2007-11-05T10:13:31.348-08:00</updated><title type='text'>OSX and JavaFX Script</title><content type='html'>Recently, there has been a ton of complaining that JDK6 has not been ported over to OSX 10.5 Leopard.  I am a 10.4 Tiger user, and I am currently running Apple's Java 1.5 implementation.  I like the Apple JDK 5 implementation...it looks much nicer than running Swing apps on Windows.  However, I do hope that JDK 6 is available soon for OSX because I'd like to start using JavaFX within my Java programs on my Mac.  &lt;br /&gt;&lt;br /&gt;Without thinking twice, I downloaded Netbeans 6.0 Beta 2 and the JavaFX plugins on my Mac.  I then started writing some FX code and calling it from native Java, and realized that I cannot code against the javax.script packages in JDK 5.  I am now in need of JDK 6 to move forward with JavaFX on the Mac.&lt;br /&gt;&lt;br /&gt;This blog post is just another posting regarding the desire for JDK 6 to be ported to OSX.  I hope it comes soon...until then I am stuck with Windows for writing any JavaFX apps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-1502652063315865800?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/1502652063315865800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=1502652063315865800' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1502652063315865800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1502652063315865800'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/11/osx-and-javafx-script.html' title='OSX and JavaFX Script'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-4487562452430333740</id><published>2007-09-26T14:42:00.000-07:00</published><updated>2007-09-26T14:45:33.062-07:00</updated><title type='text'>Jython Monthly - Call for Articles</title><content type='html'>After a long hiatus, the Jython Monthly newsletter will begin distribution again this October.  If you have any content that you would like to post, please do so using &lt;a href="http://wiki.python.org/jython/JythonMonthly/Articles/October2007"&gt;this link&lt;/a&gt;.  The October edition of Jython Monthly is scheduled for distribution on 10/9.&lt;br /&gt;&lt;br /&gt;Thanks in advance for any article or tutorial submissions!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-4487562452430333740?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.python.org/jython/JythonMonthly/Articles/October2007' title='Jython Monthly - Call for Articles'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/4487562452430333740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=4487562452430333740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4487562452430333740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4487562452430333740'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/09/jython-monthly-call-for-articles.html' title='Jython Monthly - Call for Articles'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-3413475056828338887</id><published>2007-09-12T08:01:00.001-07:00</published><updated>2007-09-12T08:47:50.963-07:00</updated><title type='text'>Migrating SEAM Applications from Glassfish V1 to Glassfish V2</title><content type='html'>I've come up with some simple steps for migrating a JBoss SEAM application from Glassfish V1 to Glassfish V2.  Actually, you can configure all SEAM applications which you plan on deploying to Glassfish in this manner, and they will be deployable on either V1 or V2. &lt;br /&gt;&lt;br /&gt;Keep in mind that I am also integrating Ajax4Jsf into my SEAM applications.&lt;br /&gt;&lt;br /&gt;1) Update faces-config.xml (if needed) to ensure that you are using SeamFaceletViewHandler&lt;br /&gt;&lt;br /&gt;&amp;lt;view-handler&amp;gt;org.jboss.seam.ui.facelet.SeamFaceletViewHandler&amp;lt;/view-handler&amp;gt;&lt;br /&gt;&lt;br /&gt;2) Update web.xml&lt;br /&gt;&lt;br /&gt;   - Add context-param for org.ajax4jsf.VIEW_HANDLERS&lt;br /&gt;&lt;br /&gt;    &amp;lt;context-param&amp;gt;  &lt;br /&gt;        &amp;lt;param-name&amp;gt;org.ajax4jsf.VIEW_HANDLERS&amp;lt;/param-name&amp;gt;&lt;br /&gt;        &amp;lt;param-value&amp;gt;org.jboss.seam.ui.facelet.SeamFaceletViewHandler&amp;lt;/param-value&amp;gt;   &lt;br /&gt;    &amp;lt;/context-param&amp;gt;       &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   - Add SUN Faces Listener&lt;br /&gt;&lt;br /&gt;    &amp;lt;listener&amp;gt;&lt;br /&gt;        &amp;lt;listener-class&amp;gt;com.sun.faces.config.ConfigureListener&amp;lt;/listener-class&amp;gt;&lt;br /&gt;    &amp;lt;/listener&amp;gt;&lt;br /&gt;&lt;br /&gt;   - If using Ajax4JSF, update the filter to include dispatchers&lt;br /&gt;&lt;br /&gt;    &amp;lt;filter-mapping&amp;gt;       &lt;br /&gt;        &amp;lt;filter-name&amp;gt;ajax4jsf&amp;lt;/filter-name&amp;gt;      &lt;br /&gt;        &amp;lt;url-pattern&amp;gt;*.seam&amp;lt;/url-pattern&amp;gt;   &lt;br /&gt;        &amp;lt;dispatcher&amp;gt;REQUEST&amp;lt;/dispatcher&amp;gt;&lt;br /&gt;        &amp;lt;dispatcher&amp;gt;FORWARD&amp;lt;/dispatcher&amp;gt;&lt;br /&gt;        &amp;lt;dispatcher&amp;gt;INCLUDE&amp;lt;/dispatcher&amp;gt;&lt;br /&gt;    &amp;lt;/filter-mapping&amp;gt;&lt;br /&gt;&lt;br /&gt;3) Ensure that all database drivers are installed on the new server.&lt;br /&gt;4) If using Ajax4Jsf, you will want to ensure that you are packaging Apache Commons 3.2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-3413475056828338887?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://glassfish.dev.java.net' title='Migrating SEAM Applications from Glassfish V1 to Glassfish V2'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/3413475056828338887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=3413475056828338887' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3413475056828338887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3413475056828338887'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/09/migrating-seam-applications-from.html' title='Migrating SEAM Applications from Glassfish V1 to Glassfish V2'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-3943580914858597937</id><published>2007-09-07T10:39:00.001-07:00</published><updated>2007-09-07T16:10:18.095-07:00</updated><title type='text'>Creating RSS Reader Component Using SEAM and ROME</title><content type='html'>I've been working lately on an enterprise application which will be used for developing and maintaining an organization's website.  The application is being written using JSF, JBoss SEAM 1.2.1 GA, Facelets, ROME, Ajax4Jsf, and deploying to Glassfish V1.&lt;br /&gt;&lt;br /&gt;There was a requirement to have an RSS reader as well as the ability to create RSS feeds.  I found that the &lt;a href="https://rome.dev.java.net/"&gt;Rome Project&lt;/a&gt; had all of the tools which I was going to require to make this function.  It is a great RSS library, and if you code in Java and use RSS then I definitely recommend it.&lt;br /&gt;&lt;br /&gt;I've created an RSS reader which uses an Oracle database back end to store a table of RSS feeds to parse.  There is also a table of pages in the database, and each RSS feed record is tied to one or more of the pages.  The RSS web page component can go on any page...as long as the page is registered in the database.  An administrator then has the ability to add RSS feeds to be read on that page.  The component uses AJAX to display a news title for 10 seconds, and then read the database and parse the next RSS entry in the feed.  Once the component has read all of the entries for a particular feed, it looks for more feeds registered to that page.  If it finds more then it will parse all entries within that feed and so on.  In the end, the RSS reader is a component which simply displays news from one or more RSS feed sources using AJAX.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Database&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;create table rss_feed as(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;FEED_ID NUMBER,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;CONTENT_PAGE_ID NUMBER,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;FEED_URL VARCHAR2(1000),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;FEED_NAME VARCHAR2(500));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;alter table rss_feed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;add constraint rss_feed_pk&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;primary key(feed_id);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;create sequence rssapp_rss_feed_seq&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;start with 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;increment by 1;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(This assumes that you have a table which stores each page name along with a unique page id)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Code&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Since we are using EJB3 technology with the SEAM framework, we will require an Entity class for persistence.  We also need an EJB session bean which will contain all of the RSS logic, along with a local interface.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Entity Class&lt;/span&gt; - Straight forward.  I use Netbeans to create the initial class from the database, and then I add the SEAM annotations.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;/*&lt;br /&gt;* RssAppRssFeed.java&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;package org.jj.entity;&lt;br /&gt;&lt;br /&gt;import java.io.Serializable;&lt;br /&gt;import java.math.BigDecimal;&lt;br /&gt;import java.math.BigInteger;&lt;br /&gt;import javax.persistence.Column;&lt;br /&gt;import javax.persistence.Entity;&lt;br /&gt;import javax.persistence.GeneratedValue;&lt;br /&gt;import javax.persistence.GenerationType;&lt;br /&gt;import javax.persistence.Id;&lt;br /&gt;import javax.persistence.NamedQueries;&lt;br /&gt;import javax.persistence.NamedQuery;&lt;br /&gt;import javax.persistence.SequenceGenerator;&lt;br /&gt;import javax.persistence.Table;&lt;br /&gt;import org.jboss.seam.ScopeType;&lt;br /&gt;import org.jboss.seam.annotations.Name;&lt;br /&gt;import org.jboss.seam.annotations.Scope;&lt;br /&gt;&lt;br /&gt;@Entity&lt;br /&gt;@Scope(ScopeType.PAGE)&lt;br /&gt;@Name("RssAppRssFeed")&lt;br /&gt;@Table(name = "RSSAPP_RSS_FEED")&lt;br /&gt;@NamedQueries( {&lt;br /&gt;@NamedQuery(name = "RssAppRssFeed.findByFeedId", query = "SELECT f FROM RssAppRssFeed f WHERE f.feedId = :feedId"),&lt;br /&gt;@NamedQuery(name = "RssAppRssFeed.findByContentPageId", query = "SELECT f FROM RssAppRssFeed f WHERE f.contentPageId = :contentPageId"),&lt;br /&gt;@NamedQuery(name = "RssAppRssFeed.findByFeedUrl", query = "SELECT f FROM RssAppRssFeed f WHERE f.feedUrl = :feedUrl"),&lt;br /&gt;@NamedQuery(name = "RssAppRssFeed.findByFeedName", query = "SELECT f FROM RssAppRssFeed f WHERE f.feedName = :feedName")&lt;br /&gt;})&lt;br /&gt;public class RssAppRssFeed implements Serializable {&lt;br /&gt;&lt;br /&gt;@Id&lt;br /&gt;@GeneratedValue(strategy=GenerationType.SEQUENCE,&lt;br /&gt;generator="RssApp_rss_feed_seq_generator")&lt;br /&gt;@SequenceGenerator(name="RssApp_rss_feed_seq_generator",sequenceName="RssApp_rss_feed_seq", allocationSize=1)&lt;br /&gt;@Column(name = "FEED_ID", nullable = false)&lt;br /&gt;private BigDecimal feedId;&lt;br /&gt;&lt;br /&gt;@Column(name = "CONTENT_PAGE_ID")&lt;br /&gt;private BigInteger contentPageId;&lt;br /&gt;&lt;br /&gt;@Column(name = "FEED_URL")&lt;br /&gt;private String feedUrl;&lt;br /&gt;&lt;br /&gt;@Column(name = "FEED_NAME")&lt;br /&gt;private String feedName;&lt;br /&gt;&lt;br /&gt;/** Creates a new instance of RssAppRssFeed */&lt;br /&gt;public RssAppRssFeed() {&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Creates a new instance of RssAppRssFeed with the specified values.&lt;br /&gt;* @param feedId the feedId of the RssAppRssFeed&lt;br /&gt;*/&lt;br /&gt;public RssAppRssFeed(BigDecimal feedId) {&lt;br /&gt;this.feedId = feedId;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Gets the feedId of this RssAppRssFeed.&lt;br /&gt;* @return the feedId&lt;br /&gt;*/&lt;br /&gt;public BigDecimal getFeedId() {&lt;br /&gt;return this.feedId;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Sets the feedId of this RssAppRssFeed to the specified value.&lt;br /&gt;* @param feedId the new feedId&lt;br /&gt;*/&lt;br /&gt;public void setFeedId(BigDecimal feedId) {&lt;br /&gt;this.feedId = feedId;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Gets the contentPageId of this RssAppRssFeed.&lt;br /&gt;* @return the contentPageId&lt;br /&gt;*/&lt;br /&gt;public BigInteger getContentPageId() {&lt;br /&gt;return this.contentPageId;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Sets the contentPageId of this RssAppRssFeed to the specified value.&lt;br /&gt;* @param contentPageId the new contentPageId&lt;br /&gt;*/&lt;br /&gt;public void setContentPageId(BigInteger contentPageId) {&lt;br /&gt;this.contentPageId = contentPageId;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Gets the feedUrl of this RssAppRssFeed.&lt;br /&gt;* @return the feedUrl&lt;br /&gt;*/&lt;br /&gt;public String getFeedUrl() {&lt;br /&gt;return this.feedUrl;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Sets the feedUrl of this RssAppRssFeed to the specified value.&lt;br /&gt;* @param feedUrl the new feedUrl&lt;br /&gt;*/&lt;br /&gt;public void setFeedUrl(String feedUrl) {&lt;br /&gt;this.feedUrl = feedUrl;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Gets the feedName of this RssAppRssFeed.&lt;br /&gt;* @return the feedName&lt;br /&gt;*/&lt;br /&gt;public String getFeedName() {&lt;br /&gt;return this.feedName;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Sets the feedName of this RssAppRssFeed to the specified value.&lt;br /&gt;* @param feedName the new feedName&lt;br /&gt;*/&lt;br /&gt;public void setFeedName(String feedName) {&lt;br /&gt;this.feedName = feedName;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Returns a hash code value for the object.  This implementation computes&lt;br /&gt;* a hash code value based on the id fields in this object.&lt;br /&gt;* @return a hash code value for this object.&lt;br /&gt;*/&lt;br /&gt;@Override&lt;br /&gt;public int hashCode() {&lt;br /&gt;int hash = 0;&lt;br /&gt;hash += (this.feedId != null ? this.feedId.hashCode() : 0);&lt;br /&gt;return hash;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Determines whether another object is equal to this RssAppRssFeed.  The result is&lt;br /&gt;* &lt;code&gt;true&lt;/code&gt; if and only if the argument is not null and is a RssAppRssFeed object that&lt;br /&gt;* has the same id field values as this object.&lt;br /&gt;* @param object the reference object with which to compare&lt;br /&gt;* @return &lt;code&gt;true&lt;/code&gt; if this object is the same as the argument;&lt;br /&gt;* &lt;code&gt;false&lt;/code&gt; otherwise.&lt;br /&gt;*/&lt;br /&gt;@Override&lt;br /&gt;public boolean equals(Object object) {&lt;br /&gt;// TODO: Warning - this method won't work in the case the id fields are not set&lt;br /&gt;if (!(object instanceof RssAppRssFeed)) {&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;RssAppRssFeed other = (RssAppRssFeed)object;&lt;br /&gt;if (this.feedId != other.feedId &amp;&amp;amp; (this.feedId == null || !this.feedId.equals(other.feedId))) return false;&lt;br /&gt;return true;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Returns a string representation of the object.  This implementation constructs&lt;br /&gt;* that representation based on the id fields.&lt;br /&gt;* @return a string representation of the object.&lt;br /&gt;*/&lt;br /&gt;@Override&lt;br /&gt;public String toString() {&lt;br /&gt;return "org.jj.entity.RssAppRssFeed[feedId=" + feedId + "]";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;EJB Session Bean&lt;/span&gt; - Once again, I use Netbeans to generate the initial session bean from the entity class and I modify for SEAM.  I then added all of the essential methods and logic for the RSS in working with ROME.  You will notice that I did not use SEAM's @In @Out annotations on some of the variables...that is because I had issues when doing so.  The code that I post here does work as expected.  You will also see some doubleSubmitIndex variables...this is due to an issue I've seen with Ajax4Jsf.  When I use the a4j:poll, the page seems to invoke the server method twice.  It causes the RSS reader to skip entries within the feed.  Therefore, I coded a work around which is kind of messy, but it works.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;/*&lt;br /&gt;* FeedReader.java&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;package org.jj.beans;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import com.sun.net.ssl.SSLContext;&lt;br /&gt;import com.sun.syndication.feed.synd.SyndEntryImpl;&lt;br /&gt;import java.net.URL;&lt;br /&gt;import java.io.InputStreamReader;&lt;br /&gt;import com.sun.syndication.feed.synd.SyndFeed;&lt;br /&gt;import com.sun.syndication.io.SyndFeedInput;&lt;br /&gt;import com.sun.syndication.io.XmlReader;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.Date;&lt;br /&gt;import java.util.List;&lt;br /&gt;import javax.ejb.Remove;&lt;br /&gt;import javax.ejb.Stateful;&lt;br /&gt;import javax.ejb.Stateless;&lt;br /&gt;import javax.interceptor.Interceptors;&lt;br /&gt;import javax.persistence.EntityManager;&lt;br /&gt;import javax.persistence.PersistenceContext;&lt;br /&gt;import javax.persistence.Query;&lt;br /&gt;import org.jj.entity.RssAppContentPage;&lt;br /&gt;import org.jj.entity.RssAppRssFeed;&lt;br /&gt;import org.jj.interfaces.FeedLocal;&lt;br /&gt;import org.jj.utility.RssAppCommonTasks;&lt;br /&gt;import org.jboss.seam.ScopeType;&lt;br /&gt;import org.jboss.seam.annotations.Destroy;&lt;br /&gt;import org.jboss.seam.annotations.Name;&lt;br /&gt;import org.jboss.seam.annotations.Out;&lt;br /&gt;import org.jboss.seam.annotations.Scope;&lt;br /&gt;import org.jboss.seam.annotations.datamodel.DataModel;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;@Stateful&lt;br /&gt;@Scope(ScopeType.SESSION)&lt;br /&gt;@Name("rssReader")&lt;br /&gt;@Interceptors({org.jboss.seam.ejb.SeamInterceptor.class})&lt;br /&gt;public class FeedReader implements FeedLocal {&lt;br /&gt;&lt;br /&gt; @PersistenceContext(unitName="rssApp-ejbPU-FESSPROD")&lt;br /&gt; private EntityManager em;&lt;br /&gt;&lt;br /&gt; @DataModel&lt;br /&gt; public List&lt;/span&gt;        &lt;feed&gt;&lt;span style="font-size:78%;"&gt; feedList=null;&lt;br /&gt;&lt;br /&gt; private List&lt;/span&gt;    &lt;rssapprssfeed&gt;&lt;span style="font-size:78%;"&gt; rssFeedList  = null;&lt;br /&gt; private String pageName                     = null;&lt;br /&gt;&lt;br /&gt; @Out(required=false)&lt;br /&gt; private Feed feedBean;&lt;br /&gt; private String feedText                     = null;&lt;br /&gt; private Date feedDate                       = null;&lt;br /&gt; private String feedTitle                    = null;&lt;br /&gt; private int feedCounter;&lt;br /&gt; private int feedEntryCounter;&lt;br /&gt; private int feedIndex;&lt;br /&gt; private int feedEntryIndex;&lt;br /&gt; private int doubleSubmitIndex;&lt;br /&gt; private int doubleSubmitFeedIndex;&lt;br /&gt;&lt;br /&gt; private Query qry;&lt;br /&gt;&lt;br /&gt; public void readFeed() {&lt;br /&gt;     pageName = RssAppCommonTasks.obtainPageName();&lt;br /&gt;     if (!pageName.equals("underMaintenance")){&lt;br /&gt;         qry = em.createQuery("select object(p) from RssAppContentPage as p " +&lt;br /&gt;                 "where p.contentPage = :pageName")&lt;br /&gt;                 .setParameter("pageName", pageName);&lt;br /&gt;         RssAppContentPage page = (RssAppContentPage) qry.getSingleResult();&lt;br /&gt;         qry = em.createQuery("select object(f) from RssAppRssFeed as f " +&lt;br /&gt;                 "where f.contentPageId = :pageId")&lt;br /&gt;                 .setParameter("pageId", page.getContentPageId());&lt;br /&gt;         rssFeedList = qry.getResultList();&lt;br /&gt;&lt;br /&gt;         // Parse rss feeds for page, if any&lt;br /&gt;         if (rssFeedList.size() &gt; 0){&lt;br /&gt;  for(int index = 0; index &lt;= rssFeedList.size()-1; index++){      boolean ok = false;      int entryNumber = 0;      int entryIndex  = 0;                         RssAppRssFeed rssFeed = new RssAppRssFeed();                         rssFeed = rssFeedList.get(index);                                              System.out.println("BEGINNING RSS READ.....");                                              if (rssFeed.getFeedUrl() != null) {                              try {                                     feedList = null;                                    URL feedUrl = new URL(rssFeed.getFeedUrl());        SyndFeedInput input = new SyndFeedInput();        SyndFeed feed = input.build(new XmlReader(feedUrl));                                    entryNumber = feed.getEntries().size();                                    initializeList();        for (entryIndex = 0; entryIndex &lt;= entryNumber; entryIndex++){                                            System.out.println("Reading...");           feedBean = new Feed();           feedBean.setAuthor(feed.getAuthor());                                           feedBean.setDescription(feed.getDescription());                                                         feedBean.setEntry(((SyndEntryImpl)feed.getEntries().get(entryIndex)).getTitle());                                                                                                                                 feedBean.setEntryLink(((SyndEntryImpl)feed.getEntries().get(entryIndex)).getLink());                                 feedBean.setEntryUpdatedDate(((SyndEntryImpl)feed.getEntries().get(entryIndex)).getPublishedDate());                                 feedBean.setTitle(feed.getTitle());  feedBean.setUri(feed.getUri());                                 feedList.add(feedBean);            }       ok = true;      } catch (Exception ex) {         ex.printStackTrace();          System.out.println("ERROR: "+ex.getMessage());                         }  } if (!ok) {                        System.out.println();  System.out.println("FeedReader reads and prints any RSS/Atom feed type.");                         System.out.println("The first parameter must be the URL of the feed to read.");                         System.out.println();  }  }             }  }  }  /**    * This method is invoked via ajax from the front end page in order to read         * a new feed into the display.  The ajax front end causes a double submit         * to this method, so we need to adjust counters such that they will only update         * on every other submit.  We do this by using the doubleSubmitIndex numbers.         */     public void updateFeed(){  if (doubleSubmitIndex &gt; 1){&lt;br /&gt;         doubleSubmitIndex = 0;&lt;br /&gt;     }&lt;br /&gt;     if (doubleSubmitFeedIndex &gt; 1){&lt;br /&gt;         doubleSubmitFeedIndex = 0;&lt;br /&gt;     }&lt;br /&gt;     pageName = RssAppCommonTasks.obtainPageName();&lt;br /&gt;&lt;br /&gt;     if (!pageName.equals("underMaintenance")){&lt;br /&gt;         qry = em.createQuery("select object(p) from RssAppContentPage as p " +&lt;br /&gt;                 "where p.contentPage = :pageName")&lt;br /&gt;                 .setParameter("pageName", pageName);&lt;br /&gt;&lt;br /&gt;         RssAppContentPage page = (RssAppContentPage) qry.getSingleResult();&lt;br /&gt;&lt;br /&gt;         qry = em.createQuery("select object(f) from RssAppRssFeed as f " +&lt;br /&gt;                 "where f.contentPageId = :pageId")&lt;br /&gt;                 .setParameter("pageId", page.getContentPageId());&lt;br /&gt;         rssFeedList = qry.getResultList();&lt;br /&gt;&lt;br /&gt;         /*&lt;br /&gt;          * Obtain a list of rss feeds for a particular web page.  If feeds&lt;br /&gt;          * exist for that page, then enter the feed parse logic.&lt;br /&gt;          */&lt;br /&gt;         if (rssFeedList.size() &gt; 0){&lt;br /&gt;             feedCounter = rssFeedList.size();&lt;br /&gt;             if(this.getFeedIndex() &gt; feedCounter - 1){&lt;br /&gt;                 this.setFeedIndex(0);&lt;br /&gt;             }&lt;br /&gt;&lt;br /&gt;             boolean ok = false;&lt;br /&gt;&lt;br /&gt;             int entryIndex  = 0;&lt;br /&gt;&lt;br /&gt;             /*&lt;br /&gt;              * Obtain all feed entries for this particular feed index&lt;br /&gt;              */&lt;br /&gt;             RssAppRssFeed rssFeed = new RssAppRssFeed();&lt;br /&gt;             RssFeed = rssFeedList.get(getFeedIndex());&lt;br /&gt;&lt;br /&gt;             System.out.println("Feed Index: " + getFeedIndex() + " Entry Index: " + getFeedEntryIndex());&lt;br /&gt;&lt;br /&gt;             if (rssFeed.getFeedUrl() != null) {&lt;br /&gt;                 try {&lt;br /&gt;                     feedList = null;&lt;br /&gt;                     URL feedUrl = new URL(rssFeed.getFeedUrl());&lt;br /&gt;                     String feedEntryDateText = null;&lt;br /&gt;                     String feedEntryText = null;&lt;br /&gt;                     String feedEntryUrl  = null;&lt;br /&gt;                     SyndFeedInput input = new SyndFeedInput();&lt;br /&gt;                     SyndFeed feed = input.build(new XmlReader(feedUrl));&lt;br /&gt;                      /*&lt;br /&gt;                       *  Obtain count of all feed entries&lt;br /&gt;                       */&lt;br /&gt;                     feedEntryCounter = feed.getEntries().size();&lt;br /&gt;                     initializeList();&lt;br /&gt;&lt;br /&gt;                     if(getFeedEntryIndex() &gt; 0){&lt;br /&gt;                         if (getFeedEntryIndex() &gt; feedEntryCounter - 1){&lt;br /&gt;                             setFeedEntryIndex(0);&lt;br /&gt;                         }&lt;br /&gt;                     }&lt;br /&gt;                     System.out.println("Reading...");&lt;br /&gt;                     feedBean = new Feed();&lt;br /&gt;                     feedBean.setAuthor(feed.getAuthor());&lt;br /&gt;                     feedBean.setDescription(feed.getDescription());&lt;br /&gt;                     feedBean.setEntry(((SyndEntryImpl)feed.getEntries().get(getFeedEntryIndex())).getTitle());&lt;br /&gt;                     feedBean.setEntryLink(((SyndEntryImpl)feed.getEntries().get(getFeedEntryIndex())).getLink());&lt;br /&gt;                     feedBean.setEntryUpdatedDate(((SyndEntryImpl)feed.getEntries().get(getFeedEntryIndex())).getPublishedDate());&lt;br /&gt;                     feedBean.setTitle(feed.getTitle());&lt;br /&gt;                     setFeedTitle(feed.getTitle());&lt;br /&gt;                     feedBean.setUri(feed.getUri());&lt;br /&gt;                     feedList.add(feedBean);&lt;br /&gt;                     this.feedDate = feedBean.getEntryUpdatedDate();&lt;br /&gt;                     feedText = "&lt;a href="http://www.blogger.com/%22%20+%20feedBean.getEntryLink%28%29%20+%20%22" target="new"&gt;" +&lt;br /&gt;                             feedBean.getEntry() + "&lt;/a&gt;";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                     ok = true;&lt;br /&gt;&lt;br /&gt;                     if(doubleSubmitIndex &gt; 0) {&lt;br /&gt;                         this.feedEntryIndex++;&lt;br /&gt;                         doubleSubmitIndex++;&lt;br /&gt;&lt;br /&gt;                         // If all entries within current feedIndex have been read, move on&lt;br /&gt;                         // to the next feed and start with entry zero.&lt;br /&gt;                         if (feedEntryIndex &gt; feedEntryCounter - 1){&lt;br /&gt;                             this.feedIndex++;&lt;br /&gt;                             this.feedEntryIndex = 0;&lt;br /&gt;                         }&lt;br /&gt;                     } else {&lt;br /&gt;                         doubleSubmitIndex++;&lt;br /&gt;                     }&lt;br /&gt;&lt;br /&gt;                 } catch (Exception ex) {&lt;br /&gt;                     ex.printStackTrace();&lt;br /&gt;                     System.out.println("ERROR: "+ex.getMessage());&lt;br /&gt;                 }&lt;br /&gt;             }&lt;br /&gt;&lt;br /&gt;             if (!ok) {&lt;br /&gt;                 System.out.println();&lt;br /&gt;                 System.out.println("FeedReader reads and prints any RSS/Atom feed type.");&lt;br /&gt;                 System.out.println("The first parameter must be the URL of the feed to read.");&lt;br /&gt;                 System.out.println();&lt;br /&gt;             }&lt;br /&gt;&lt;br /&gt;         }&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; private void initializeList(){&lt;br /&gt;     if (feedList == null){&lt;br /&gt;         feedList = new ArrayList();&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public String getFeedText() {&lt;br /&gt;     return feedText;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setFeedText(String feedText) {&lt;br /&gt;     this.feedText = feedText;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public String getFeedTitle() {&lt;br /&gt;     return feedTitle;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setFeedTitle(String feedTitle) {&lt;br /&gt;     this.feedTitle = feedTitle;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public int getFeedIndex() {&lt;br /&gt;     return feedIndex;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setFeedIndex(int feedIndex) {&lt;br /&gt;     this.feedIndex = feedIndex;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public int getFeedEntryIndex() {&lt;br /&gt;     return feedEntryIndex;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setFeedEntryIndex(int feedEntryIndex) {&lt;br /&gt;     this.feedEntryIndex = feedEntryIndex;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public Date getFeedDate() {&lt;br /&gt;     return feedDate;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setFeedDate(Date feedDate) {&lt;br /&gt;     this.feedDate = feedDate;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; @Remove @Destroy&lt;br /&gt; public void destroy(){}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;                                                                                                                                                                                                                                                                                                                                                                     &lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Local Interface&lt;/span&gt; - Nothing exciting in the local interface&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;/**&lt;br /&gt;* FeedLocal.java&lt;br /&gt;*/&lt;br /&gt;package org.jj.interfaces;&lt;br /&gt;&lt;br /&gt;import java.util.Date;&lt;br /&gt;&lt;br /&gt;public interface FeedLocal {&lt;br /&gt;void readFeed();&lt;br /&gt;&lt;br /&gt;java.lang.String getFeedText();&lt;br /&gt;&lt;br /&gt;void setFeedText(String feedText);&lt;br /&gt;&lt;br /&gt;void updateFeed();&lt;br /&gt;&lt;br /&gt;void destroy();&lt;br /&gt;&lt;br /&gt;int getFeedIndex();&lt;br /&gt;&lt;br /&gt;void setFeedIndex(int feedIndex);&lt;br /&gt;&lt;br /&gt;Date getFeedDate();&lt;br /&gt;&lt;br /&gt;void setFeedDate(Date feedDate);&lt;br /&gt;&lt;br /&gt;java.lang.String getFeedTitle();&lt;br /&gt;&lt;br /&gt;void setFeedTitle(String feedTitle);&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Utility Class&lt;/span&gt; - Here is an excerpt from my utility class.  This code obtains the current page name from the FacesContext.&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;public final class RssAppCommonTasks {&lt;br /&gt;&lt;br /&gt;public static String obtainPageName(){&lt;br /&gt;&lt;br /&gt;String currentPageName  = null;&lt;br /&gt;Query qry               = null;&lt;br /&gt;String tempPageName     = FacesContext.getCurrentInstance().getViewRoot().getViewId();&lt;br /&gt;if (tempPageName.lastIndexOf("/") &gt; 0) {&lt;br /&gt;tempPageName = tempPageName.substring(tempPageName.lastIndexOf("/") + 1).replace(".seam","").replace(".xhtml","");&lt;br /&gt;currentPageName = tempPageName;&lt;br /&gt;System.out.println("tempPageName: " + currentPageName);&lt;br /&gt;} else {&lt;br /&gt;System.out.println("view id: " + FacesContext.getCurrentInstance().getViewRoot().getViewId());&lt;br /&gt;System.out.println("updated view id: " +&lt;br /&gt;  FacesContext.getCurrentInstance().getViewRoot().getViewId().replace("/","").replace(".seam","").replace(".xhtml",""));&lt;br /&gt;&lt;br /&gt;currentPageName = FacesContext.getCurrentInstance().getViewRoot().getViewId().replace("/","").replace(".seam","").replace(".xhtml","");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;return currentPageName;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;***&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;pages.xml&lt;/span&gt; - Each page which contains the RSS component code will require an element within the pages.xml file to invoke server-side code.&lt;br /&gt;&lt;br /&gt;&amp;lt;page id="/myPage.xhtml" action="#{rssReader.updateFeed}"&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Component code in the XHTML page&lt;/span&gt; - I haven't yet created a separate component/tag for this code, but it should work by simply copying and pasting this code in each page which uses the reader.  The back end code then determines which page is calling the code and parses the feeds in the database which are tied to that page.&lt;br /&gt;&lt;br /&gt;                     &amp;lt;div id="autoreader"&amp;gt;&lt;br /&gt;                         &amp;lt;a4j:poll interval="10000"&lt;br /&gt;                                   reRender="autoReaderText, autoReaderDate, feedTitle"&lt;br /&gt;                                   action="#{rssReader.updateFeed}"&amp;gt;&lt;br /&gt;                         &amp;lt;/a4j:poll&amp;gt;&lt;br /&gt;                         &amp;lt;p align="center" class="sub_head_sub"&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;                             &amp;lt;h:outputText id="feedTitle"&lt;br /&gt;                                           value="#{rssReader.feedTitle}"/&amp;gt;&lt;br /&gt;                         &amp;lt;/p&amp;gt;&lt;br /&gt;                      &lt;br /&gt;                         &amp;lt;table id="feedList" name="feedList"&amp;gt;&lt;br /&gt;                             &amp;lt;td bgcolor="#CCFFCC" style="width: 100px"&amp;gt;&lt;br /&gt;                                 &amp;lt;h:outputText id="autoReaderDate"&lt;br /&gt;                                               value="#{rssReader.feedDate}"/&amp;gt;&lt;br /&gt;                             &amp;lt;/td&amp;gt;&lt;br /&gt;                             &amp;lt;td bgcolor="#CCFFCC" style="width: 400px"&amp;gt;     &lt;br /&gt;                                 &amp;lt;h:outputText id="autoReaderText"&lt;br /&gt;                                               escape="false"&lt;br /&gt;                                               value="#{rssReader.feedText}"/&amp;gt;&lt;br /&gt;                             &amp;lt;/td&amp;gt;&lt;br /&gt;                         &amp;lt;/table&amp;gt;&lt;br /&gt;                     &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;That is all there is to it.  There is a bit of code to write, but the end result is very appealing.  Once complete, one can add or remove feeds from the database and have them automatically appear on the desired pages.&lt;br /&gt;&lt;/rssapprssfeed&gt;&lt;/feed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-3943580914858597937?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/3943580914858597937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=3943580914858597937' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3943580914858597937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/3943580914858597937'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/09/creating-rss-reader-component-using.html' title='Creating RSS Reader Component Using SEAM and ROME'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-621565594400887376</id><published>2007-08-30T10:16:00.000-07:00</published><updated>2007-09-06T09:43:24.075-07:00</updated><title type='text'>Oracle Database 11g</title><content type='html'>I'm really excited about the release of Oracle database 11g...even if it is only for Linux at this time.  I am almost thinking about setting up a Linux box just to try it out...but perhaps I'll wait for the release of the Windows version.&lt;br /&gt;&lt;br /&gt;There are a significant number of new features added to this release.  One of the top items that I am interested in is "hot patching".  I'm also glad that PL/SQL performance has been improved, and that SQL Tuning can now be fully automated.&lt;br /&gt;&lt;br /&gt;Check out &lt;a href="http://www.dba-oracle.com/oracle11g/oracle_11g_new_features.htm"&gt;this link&lt;/a&gt; for a great amount of detail.  The latest edition of Oracle magazine also showcases the new release...grab a copy if you do not have one yet.  &lt;br /&gt;&lt;br /&gt;This looks to be a release that we will definitely want to invest some time into!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-621565594400887376?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/621565594400887376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=621565594400887376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/621565594400887376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/621565594400887376'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/08/oracle-database-11g.html' title='Oracle Database 11g'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-2678382981610503743</id><published>2007-07-12T10:18:00.000-07:00</published><updated>2008-12-10T22:54:41.112-08:00</updated><title type='text'>JBoss Seam Configurations - JARs and Details</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u4V9mqhDwZg/RpZmf_YPWRI/AAAAAAAAAAU/YJN3_Gz0fzo/s1600-h/ejb-jar.JPG"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've sucessfully implemented NetBeans 6.0 M10 and Netbeans 5.5.1 projects using the JBOSS Seam framework. I can successfully deploy these projects to both Glassfish V1, JBoss 4.2.0, and JBoss 4.1. This blog post is a log so that I can remember the specific JAR files and details required for each of these projects. I intend to add onto this blog as time goes on and I encounter more detailed information.&lt;br /&gt;&lt;br /&gt;Seam 1.2.1 GA and Glassfish V1:&lt;br /&gt;This project utilizes the Ajax4Jsf and RichFaces APIs. I have been unable to make this setup work with Glassfish V2 as yet. If you have figured that one out, please let me know.&lt;br /&gt;&lt;br /&gt;Follow these steps in either NB 5.5.1 or NB 6.0 M10&lt;br /&gt;&lt;br /&gt;1) Create new Enterprise Application, and also create the following libraries within the IDE:&lt;br /&gt;&lt;br /&gt;Seam1.2.1-GlassfishV1&lt;br /&gt;hibernate-all.jar&lt;br /&gt;hibernate-annotations.jar&lt;br /&gt;jboss-common.jar&lt;br /&gt;jboss-seam-debug.jar&lt;br /&gt;jboss-seam-pdf.jar&lt;br /&gt;jboss-seam-ui.jar&lt;br /&gt;jboss-seam.jar&lt;br /&gt;thirdparty-all.jar&lt;br /&gt;jbpm-3.1.2.jar (If you plan to use JBpm...I have not tested as yet)&lt;br /&gt;&lt;br /&gt;Ajax4Jsf&lt;br /&gt;ajax4jsf-1.1.1.jar&lt;br /&gt;commons-collections.jar&lt;br /&gt;oscache-2.3.2.jar&lt;br /&gt;richfaces-3.0.1.jar&lt;br /&gt;&lt;br /&gt;2) Add those two libraries to your ejb sub-project along with these others:&lt;br /&gt;commons-beanutils-1.7.0.jar&lt;br /&gt;commons-codec-1.3.jar&lt;br /&gt;commons-digester-1.6.jar&lt;br /&gt;jboss-archive-browsing.jar&lt;br /&gt;jsf-facelets.jar (unless you intend to add facelets support via the ide)&lt;br /&gt;&lt;br /&gt;3) Add the following JARs to your war sub-project:&lt;br /&gt;dom4j.jar (may not need this one...)&lt;br /&gt;jboss-seam-ui.jar&lt;br /&gt;&lt;br /&gt;4) Add configuration files to your ejb sub-project:&lt;br /&gt;a) Add ejb-jar.xml to src/conf&lt;br /&gt;b) Create empty seam.properties within src/conf&lt;br /&gt;c) Create log4j.xml within src/conf&lt;br /&gt;- Easiest configuration is to copy one of the log4j.xml files contained in the&lt;br /&gt;example projects within the Seam 1.2.1 GA download.&lt;br /&gt;d) Create persistence.xml within src/conf&lt;br /&gt;- Use NetBeans to create persistence unit by right-clicking on the ejb sub-project&lt;br /&gt;and then selecting New-&gt;Persistence Unit. Follow directions to create a unit&lt;br /&gt;based upon one of the existing database connections you have defined in the IDE.&lt;br /&gt;I use Toplink by default, but Hibernate works just as well.&lt;br /&gt;&lt;br /&gt;5) Add configuration files to your war sub-project&lt;br /&gt;a) Configure web.xml and faces-config.xml as suggested in &lt;a href="http://weblogs.java.net/blog/caroljmcdonald/archive/2007/07/sample_applicat_1.html"&gt;Carol McDonald's Blog&lt;/a&gt; or &lt;a href="http://weblogs.java.net/blog/bleonard/archive/2007/06/seam_refresh_1.html"&gt;Brian Leonard's Blog&lt;/a&gt;.  It is also a good idea to take a look at the web.xml file from within one of the sample projects which comes with your Seam download.  You will require a Seam filter, and Ajax4Jsf context-parameter if you plan to use that technology.  I almost always use the same configuration contained within the sample project web.xml files, but also add the ejb references as discussed in the blog posts above.&lt;br /&gt;b) Make sure the following additional xml files reside within your WEB-INF directory:&lt;br /&gt;components.xml - Copy and use the one from the glassfish example in your Seam download.  You will need to update it according to your ejb project name.&lt;br /&gt;&lt;?xml:namespace prefix = core /&gt;&lt;core:manager timeout="500" parameter="clr"&gt;pages.xml - this one can be left blank&lt;br /&gt;c) You may need to add META-INF to root of web pages and place application.xml within it.&lt;br /&gt;&lt;br /&gt;I'll add the other configurations as time goes on, but this one will get you started with Seam application development on Glassfish V1.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/core:manager&gt;&lt;core:manager timeout="500" parameter="clr"&gt;&lt;/core:manager&gt;&lt;core:manager timeout="500" parameter="clr"&gt;&lt;/core:manager&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-2678382981610503743?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/2678382981610503743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=2678382981610503743' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2678382981610503743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2678382981610503743'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/07/jboss-seam-configurations-jars-and.html' title='JBoss Seam Configurations - JARs and Details'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-6292161592140634484</id><published>2007-07-06T12:50:00.000-07:00</published><updated>2007-07-06T12:54:29.144-07:00</updated><title type='text'>Seam 2.0 and Netbeans 6.0 M10</title><content type='html'>Seam 2.0 works with Netbeans 6.0 M10 and the Netbeans Seam plugin.  I've spent some time preparing an application based upon some of the examples given in the &lt;a href="docs.jboss.com/seam/2.0.0.B1/reference/en/html/tutorial.html"&gt;Seam 2.0 documentation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I've managed to deploy and successfully run an application on JBoss 4.2.0 using Netbeans 6.0 M10 and the seam plugin.  I only used the plug-in to generate the initial application.  I did not use any of the other plug-in automation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-6292161592140634484?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/6292161592140634484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=6292161592140634484' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6292161592140634484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6292161592140634484'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/07/seam-20-and-netbeans-60-m10.html' title='Seam 2.0 and Netbeans 6.0 M10'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-5436854753089112113</id><published>2007-07-02T22:08:00.000-07:00</published><updated>2007-07-02T22:14:53.943-07:00</updated><title type='text'>Saw It, Got It, Using It</title><content type='html'>Netbeans 6.0 M10 is now available to the community.  There are &lt;a href="http://wiki.netbeans.org/wiki/view/NewAndNoteWorthyMilestone10"&gt;quite a few enhancements&lt;/a&gt; in this milestone.&lt;br /&gt;&lt;br /&gt;I'll blog more about the M10 release as needed as time goes on.  I've been using it all day with the &lt;a href="https://nbfaceletssupport.dev.java.net/servlets/ProjectDocumentList?folderID=7280&amp;expandFolder=7280&amp;folderID=0"&gt;Netbeans Seam plugin&lt;/a&gt; and Facelets plugin...and haven't experienced any issues thus far.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-5436854753089112113?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.netbeans.org/community/releases/60/index.html' title='Saw It, Got It, Using It'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/5436854753089112113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=5436854753089112113' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5436854753089112113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5436854753089112113'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/07/saw-it-got-it-using-it.html' title='Saw It, Got It, Using It'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-1900596899954870778</id><published>2007-06-29T06:27:00.000-07:00</published><updated>2007-06-29T06:35:52.640-07:00</updated><title type='text'>JBoss Seam + Netbeans Update 2</title><content type='html'>The good news is that the Seam plugin for Netbeans deploys without any issues to JBoss 4.0.5 server.  I've also added a Postgresql database into the mix and successfully generated entity classes and deployed to 4.0.5 successfully!&lt;br /&gt;&lt;br /&gt;The bad news is that I ran into an issue with M9.  At least, it is an issue with M9 and the Facelets plugin (on my workstation).  I cannot tell if this issue is a bug with M9, or just my slow workstation, but the IDE literally locks up if I try to edit XHTML files with the Facelets plugin installed.  I just found this out this morning when trying to add a new Facelets page to my Seam Plugin app.  It would not work...I restarted the M9 application several times.&lt;br /&gt;&lt;br /&gt;Needless to say, I've reverted to Netbeans 5.5.1 and have been using the Facelets code without issue.&lt;br /&gt;&lt;br /&gt;In summary:  Netbeans 5.5.1, Seam Framework Plugin, Facelets Plugin, and Postgresql database create an easy CRUD application without issue...and in just a few minutes!&lt;br /&gt;&lt;br /&gt;As stated in previous posts, I will try to make a mini-application using this model.  I then wish to port it to Glassfish as well just to see how difficult that step will be.  It may take me a while...but I will post my results.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-1900596899954870778?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/1900596899954870778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=1900596899954870778' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1900596899954870778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1900596899954870778'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/06/jboss-seam-netbeans-update-2.html' title='JBoss Seam + Netbeans Update 2'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-6545784210779344138</id><published>2007-06-23T09:08:00.000-07:00</published><updated>2007-06-23T09:15:44.218-07:00</updated><title type='text'>JBoss Seam + Netbeans 6.0 M9 Update</title><content type='html'>I've not had much time lately to play with Seam and get some good development going.  However, I've been trying to make the Seam plugin work with Netbeans 6.0 M9...and it does quite nicely.  Follow the link to the blog by &lt;a href="http://www.michaelyuan.com/blog/2007/04/17/first-release-of-seam-plugin-for-netbeans/"&gt;Michael Yuan&lt;/a&gt;to see how you should set up your environment.  This is tested and functional with Netbeans 6.0 M9.&lt;br /&gt;&lt;br /&gt;I tried to make this work with JBoss 4.2, but I never quite made it.  The issue is that I need to run JBoss on a different port other than the default 8080.  I cannot make this happen with JBoss 4.2 within the Netbeans 6.0 M9 environment.  When I register the server with Netbeans, it automatically defaults to 8080...I do not like this.  I've also tried to change all references to 8080 within the JBoss 4.2 home to something else...no luck.  The good thing is that with JBoss 4.0.5, you can simply adjust the server.xml within the server\default\deploy\jbossweb-tomcat55.sar directory.  This then registers with Netbeans 6.0 on the specified port without issue.&lt;br /&gt;&lt;br /&gt;I am hopeful to hear more about the Netbeans Seam plugin soon...the initial release is very good...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-6545784210779344138?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.michaelyuan.com/blog/2007/04/17/first-release-of-seam-plugin-for-netbeans/' title='JBoss Seam + Netbeans 6.0 M9 Update'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/6545784210779344138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=6545784210779344138' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6545784210779344138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6545784210779344138'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/06/jboss-seam-netbeans-60-m9-update.html' title='JBoss Seam + Netbeans 6.0 M9 Update'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-7577785052559232687</id><published>2007-06-09T21:10:00.001-07:00</published><updated>2007-06-09T21:14:05.957-07:00</updated><title type='text'>JBoss SEAM 1.2.1 GA and Glassfish V2</title><content type='html'>I've just followed the &lt;a href="http://weblogs.java.net/blog/rogerk/archive/2007/01/seam_110ga_on_g.html"&gt;excellent write-up&lt;/a&gt; by Roger Kitain and built the glassfish example for Seam on Glassfish v2.  If you follow Roger's blog instructions, it works without any issues using Seam 1.2.1 GA.&lt;br /&gt;&lt;br /&gt;Now...onto the Netbeans 6.0 M9 integration.  I hope to install the Seam plug-in (or minimally the Facelets plug-in) for Netbeans to M9 and deploy to Glassfish...I'll blog on my results.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-7577785052559232687?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/7577785052559232687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=7577785052559232687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7577785052559232687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7577785052559232687'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/06/jboss-seam-121-ga-and-glassfish-v2.html' title='JBoss SEAM 1.2.1 GA and Glassfish V2'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-7312501711662343438</id><published>2007-06-08T07:42:00.000-07:00</published><updated>2007-06-08T07:48:13.375-07:00</updated><title type='text'>Netbeans 6.0 - Great Information Resource</title><content type='html'>I am a little bit behind...but I've just recently read the article in the Netbeans Magazine May 2007 edition regarding Netbeans 6.0.  It is an excellent article.  If you are looking for a good resource to learn the newest features of the IDE then I definitely recommend giving it a read!&lt;br /&gt;&lt;br /&gt;Also, another excellent resource is always &lt;a href="http://blogs.sun.com/roumen/"&gt;Roumen's Weblog&lt;/a&gt;.  I listen to each of the Netbeans podcasts, and I visit his site often...always has great information regarding Netbeans.  He also has some good &lt;a href="http://blogs.sun.com/roumen/category/Flash+Demos"&gt;Flash Demos&lt;/a&gt; available.&lt;br /&gt;&lt;br /&gt;Check it out Netbeans users!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-7312501711662343438?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.netbeans.org/community/magazine/' title='Netbeans 6.0 - Great Information Resource'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/7312501711662343438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=7312501711662343438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7312501711662343438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/7312501711662343438'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/06/netbeans-60-great-information-resource.html' title='Netbeans 6.0 - Great Information Resource'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-8146627229759964440</id><published>2007-05-29T16:13:00.000-07:00</published><updated>2007-05-29T16:16:12.925-07:00</updated><title type='text'>Good Java Reference</title><content type='html'>Just wanted to post the link to a good Java reference I ran across today.  This may be old, but it is still a good reference while trying to port applications to different platforms.  Read &lt;a href="http://www.stevengould.org/portfolio/SunWorld/swol-11-1998/swol-11-javaapps.html"&gt;How to avoid pitfalls in your Java application development&lt;/a&gt; for some quick, yet decent material.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-8146627229759964440?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.stevengould.org/portfolio/SunWorld/swol-11-1998/swol-11-javaapps.html' title='Good Java Reference'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/8146627229759964440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=8146627229759964440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/8146627229759964440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/8146627229759964440'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/05/good-java-reference.html' title='Good Java Reference'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-875992270299561209</id><published>2007-05-29T04:16:00.000-07:00</published><updated>2007-05-29T04:20:30.996-07:00</updated><title type='text'>JFXBuilder...I'm Impressed</title><content type='html'>You've heard of JavaFX, right?  Of course you have...unless you have not paid any attention to the Java world in the past couple of months.  I'm interested in the upcoming technology and all that it will cover.  I've read through a few tutorials and played around a bit and I do like the syntax of the FX scripting language.  I was impressed when I checked out &lt;a href="http://www.java.net"&gt;java.net&lt;/a&gt; this morning and saw that &lt;a href="http://www.reportmill.com"&gt;ReportMill&lt;/a&gt; has already released a WYSIWYG editor for JavaFX.  I took a brief trial run and it looks good so far!  Give it a test run at http://www.reportmill.com/jfx/ and you will also be impressed!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-875992270299561209?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.reportmill.com/jfx/' title='JFXBuilder...I&apos;m Impressed'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/875992270299561209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=875992270299561209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/875992270299561209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/875992270299561209'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/05/jfxbuilderim-impressed.html' title='JFXBuilder...I&apos;m Impressed'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-1439612555890986611</id><published>2007-05-16T07:53:00.000-07:00</published><updated>2007-06-08T10:36:27.982-07:00</updated><title type='text'>Two Early Access IDE Releases</title><content type='html'>Just recently, two of the IDEs which I use on a daily basis have released early preview distributions of future products.  No doubt, JavaOne had a lot to do with the timing of these releases.  I've used both of the new releases, but I cannot say that I will be using either of them full time as yet.&lt;br /&gt;&lt;br /&gt;JDeveloper 11g - Quick Review&lt;br /&gt;&lt;br /&gt;The technical preview for JDeveloper 11g was released recently.  I decided to download it and take a look at it's capabilities this week.  I must admit that I was blown away by the new layout of the IDE altogether.  It is well thought out with added search boxes located throughout to assist in finding code.  The application menu now displays only one application at a time by default...the other applications are listed in a pull-down menu.  The overall look and feel is more visually appealing.  I use the database connections features quite often and it is slick.  Each database connection now has added options such as access to different types and database links.  Another nice feature of the database connection editors is the SQL editor which opens by default when you connect to a database.&lt;br /&gt;&lt;br /&gt;However, the JDeveloper 11g technical preview does have some faults.  Unfortunately, the faults will limit my exposure to the IDE until the bugs have been repaired.  For instance, the database connections expansion tree is way too sensitive.  It is hard to select a database package and/or body for editing.  By default, when you select a database package or package body then it opens in a read-only mode.  You must select a variable, function, or procedure definition in order to edit the package.  This is too cumbersome for my liking.  I hope that these changes can be made for the next release because I can definitely see the potential in this IDE.&lt;br /&gt;&lt;br /&gt;Netbeans 6.0 M9 - Quick Review&lt;br /&gt;&lt;br /&gt;The Milestone 9 release of Netbeans 6.0 has an abundance of &lt;a href="http://www.netbeans.org/community/releases/60/"&gt;new features&lt;/a&gt; to tout.  I have only performed some basic editing and development tasks thus far.  Therefore, I do not feel that I can give an informative review of this release.  However, with my limited exposure this IDE milestone release is outstanding.  I have not run into any bugs thus far.  The editor reacts nicely and the new look and feel is great.  Built-in profiler is a welcome feature as well.  &lt;br /&gt;&lt;br /&gt;The only disappointing feature of M9 that I have found so far is that it does not come fully equipped with Tomcat AS.  You must download and install Tomcat separately if you wish to use that application server.  M9 comes with Glassfish by default (which is nice), but I think many people are still using Tomcat and may not like the removal.&lt;br /&gt;&lt;br /&gt;It has been a great month for the Java community!  Check out the IDEs when you have a chance because both of them are worthy of a look or two.&lt;br /&gt;&lt;br /&gt;http://www.oracle.com/technology/software/products/jdev/index.html&lt;br /&gt;&lt;br /&gt;http://www.netbeans.org/community/releases/60/index.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-1439612555890986611?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/1439612555890986611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=1439612555890986611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1439612555890986611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/1439612555890986611'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/05/two-early-access-ide-releases.html' title='Two Early Access IDE Releases'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-9077990456137168104</id><published>2007-04-17T08:39:00.000-07:00</published><updated>2007-04-17T08:46:47.902-07:00</updated><title type='text'>Essential Web Development Tool</title><content type='html'>I have been doing quite a bit of graphical design within my web development as of late.  In previous web development projects, tools such as MS Paint and Open Office were good enough to complete the task.  However, at times you may run across a task which cannot be completed with those basic image editing utilities.  &lt;br /&gt;&lt;br /&gt;I was about to break down and purchase the one and only Adobe Photoshop so that I could perform high-end image editing.  Of all that I've heard, Photoshop is the ultimate image editing and graphic design software.  That may be true, but have you ever heard of &lt;a href="http://www.gimp.org/"&gt;The GIMP&lt;/a&gt;, an open-source image manipulation program?  If not, you may want to give it a spin.&lt;br /&gt;&lt;br /&gt;I am able to complete every task imaginable with &lt;a href="http://www.gimp.org/"&gt;The GIMP&lt;/a&gt;, including image editing, text formatting, and even animation.  Some of the tasks take a bit of work to complete, but there are a slew of online tutorials to help you along the way.&lt;br /&gt;&lt;br /&gt;If you are in the need of an image manipulator, GIF creator, or just a cool imaging utility, give &lt;a href="http://www.gimp.org/"&gt;The GIMP&lt;/a&gt; a try.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-9077990456137168104?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.gimp.org/' title='Essential Web Development Tool'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/9077990456137168104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=9077990456137168104' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/9077990456137168104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/9077990456137168104'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/04/essential-web-development-tool.html' title='Essential Web Development Tool'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-5426763677908258845</id><published>2007-04-10T05:51:00.000-07:00</published><updated>2007-04-10T05:57:29.546-07:00</updated><title type='text'>Help Wanted: New Jython Monthly Editor</title><content type='html'>I have sent my last distribution of the Jython Monthly newsletter this morning.  The choice to resign as editor of the newsletter comes about as a result of many changes which will impact my availability.  I already do not have time to spend with the newsletter, and the &lt;a href="http://wiki.python.org/jython/JythonMonthly/April2007"&gt;April Newsletter&lt;/a&gt; shows it.  I have not found the time to author articles for the newsletter as of late, and it has become increasingly difficult to find material for the distribution.&lt;br /&gt;&lt;br /&gt;I'd like for someone to take over as editor of the newsletter as it is a great way to help increase the online Jython library and overall awareness of the language.  If anyone is interested in taking over, please feel free to leave me a comment and let me know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-5426763677908258845?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.python.org/jython/JythonMonthly' title='Help Wanted: New Jython Monthly Editor'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/5426763677908258845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=5426763677908258845' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5426763677908258845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5426763677908258845'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/04/help-wanted-new-jython-monthly-editor.html' title='Help Wanted: New Jython Monthly Editor'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-6120997364703313947</id><published>2007-03-27T07:50:00.000-07:00</published><updated>2007-03-27T07:52:11.011-07:00</updated><title type='text'>JPC</title><content type='html'>Check out the attached link...the JPC project offers computer virtualization in Java.  Although I have only briefly reviewed the project, it looks to be very interesting and useful.  Have a look...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-6120997364703313947?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.physics.ox.ac.uk/jpc/' title='JPC'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/6120997364703313947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=6120997364703313947' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6120997364703313947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/6120997364703313947'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/03/jpc.html' title='JPC'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-4698813210564285100</id><published>2007-03-08T09:35:00.000-08:00</published><updated>2007-03-08T09:38:14.431-08:00</updated><title type='text'>Just a Quick Note on FireBug</title><content type='html'>I have to blog about FireBug...the web development FireFox add-on.  This tool is excellent, and it has helped me to find my javascripting bugs in a minimal amount of time.  No more guessing which javascript line caused the bug, or using alert messages to find errors...Firebug allows one to traverse the javsscript while it is executing.  This debugger is very similar to most IDE debuggers, and you can use it on any web page!&lt;br /&gt;&lt;br /&gt;Love FireBug...if you have not tried it then I suggest downloading it now!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-4698813210564285100?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://addons.mozilla.org/firefox/1843/' title='Just a Quick Note on FireBug'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/4698813210564285100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=4698813210564285100' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4698813210564285100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4698813210564285100'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/03/just-quick-note-on-firebug.html' title='Just a Quick Note on FireBug'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-5295869735170041179</id><published>2007-03-08T04:22:00.000-08:00</published><updated>2007-03-08T04:30:17.866-08:00</updated><title type='text'>Jython Monthly Articles Needed</title><content type='html'>I am the editor and distributor of the Jython Monthly newsletter.  Part of the monthly routine for ensuring an effective distribution is to obtain articles and blogs which are worth reading.  I hate to throw together a newsletter full of garbage and waste the expensive time of the readers.&lt;br /&gt;&lt;br /&gt;One of the reasons I started the Jython Monthly newsletter was to begin generating a more complete article library for Jython.  I had hoped to obtain at least one or two articles per month for distribution with the newsletter.  This worked well for a while, but we seem to have fallen into a slump as of late.  Since the new year has begun, I've received very few articles for distribution with the newsletter.  Therefore, I hope to see another spark in the community for generating useful Jython resources.  We need more Jython articles!&lt;br /&gt;&lt;br /&gt;If anyone has an article that they would like to contribute for this month or any coming month, please visit &lt;a href="http://wiki.python.org/jython/JythonMonthly/Articles"&gt;Jython Monthly Articles&lt;/a&gt; to get started.  Anyone can contribute, so feel free to post any and all Jython related content.&lt;br /&gt;&lt;br /&gt;Thanks for the help, and I look forward to reading your Jython Monthly article in the near future!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-5295869735170041179?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.python.org/jython/JythonMonthly' title='Jython Monthly Articles Needed'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/5295869735170041179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=5295869735170041179' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5295869735170041179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5295869735170041179'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/03/jython-monthly-articles-needed.html' title='Jython Monthly Articles Needed'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-2574814262718758971</id><published>2007-03-02T07:29:00.000-08:00</published><updated>2007-03-02T07:46:21.190-08:00</updated><title type='text'>Old Buggy Details</title><content type='html'>I was reviewing an issue involving a record modification form within a PL/SQL web application yesterday.  This modification form is basic...it displays the data which already exists within a database record and allows an end-user to modify that data within different text fields on the form.  &lt;br /&gt;&lt;br /&gt;The issue was that some of these text fields were not updating as expected.  After some initial review, I saw that the records having this issue had been submitted without any data in the fields that were not updating.  Furthermore, I checked the database and all varchar2 fields which were not updating as expected had NULL values within them.  Ahh...the old NULL value comparison issue!!!&lt;br /&gt;&lt;br /&gt;As it turns out, upon submitting a modified record, the PL/SQL application checks each field within the database to see if it's contents match the previously submitted data.  If not, then the field and new content are added to the update statement so that the resulting modifications are submitted successfully.  However, the comparison being used was not allowing for NULL values to be compared.  The result was a false positive result which was prohibiting the data to be updated.&lt;br /&gt;&lt;br /&gt;For example, the data is compared such as:&lt;br /&gt;&lt;br /&gt;if cursor_rec.old_value != incoming_new_value then&lt;br /&gt;   update_text := update_text || ' my_field = ''' || upper(incoming_new_value)&lt;br /&gt;                  || ''';&lt;br /&gt;end if;&lt;br /&gt;&lt;br /&gt;The issue is that the above IF statement is never true if the varchar2 value contained within the incoming_new_value variable is NULL.  You must always compare a varchar2 against a non-null value for obtaining a valid result in such cases.  Therefore, the use of the Oracle nvl function comes into play.&lt;br /&gt;&lt;br /&gt;The updated code which repairs the issue simply replaces a NULL value with a character so that comparisons will function as expected.&lt;br /&gt;&lt;br /&gt;if cursor_rec.old_value != nvl(incoming_new_value, '*') then&lt;br /&gt;   update_text := update_text || ' my_field = ''' || upper(incoming_new_value)&lt;br /&gt;                  || ''';&lt;br /&gt;end if;&lt;br /&gt;&lt;br /&gt;An oldie but goodie to remember!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-2574814262718758971?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/2574814262718758971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=2574814262718758971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2574814262718758971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/2574814262718758971'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/03/old-buggy-details.html' title='Old Buggy Details'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-8629436372672551462</id><published>2007-02-26T06:34:00.000-08:00</published><updated>2007-02-26T06:46:40.664-08:00</updated><title type='text'>Oracle ADF Faces</title><content type='html'>I've just read a &lt;a href="http://emarcoux.blogspot.com/2007/02/10-reasons-to-choose-adf-faces-article_11.html"&gt;great blog&lt;/a&gt; promoting the Oracle ADF Faces framework.  I am an advocate of ADF Faces and I've used it in many of the applications which I have written.  The open-sourced &lt;a href="http://gather.sourceforge.net"&gt;Gather! reunion application&lt;/a&gt; uses a version of ADF Faces which Oracle has open-sourced to Apache.  &lt;br /&gt;&lt;br /&gt;If you are a JSF developer and you have not yet worked with the framework, give it a chance and see how great it can be.  I have found that the framework can save lots of time and it helps to create a professional layout.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-8629436372672551462?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://emarcoux.blogspot.com/2007/02/10-reasons-to-choose-adf-faces-article_11.html' title='Oracle ADF Faces'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/8629436372672551462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=8629436372672551462' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/8629436372672551462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/8629436372672551462'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/02/oracle-adf-faces.html' title='Oracle ADF Faces'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-5158456819983998598</id><published>2007-02-21T05:54:00.000-08:00</published><updated>2007-02-21T06:01:51.783-08:00</updated><title type='text'>Another Fine JSF Component Library</title><content type='html'>I was performing my daily visual scrubbing of the &lt;a href="http://www.java.net"&gt;java.net&lt;/a&gt; website this morning and I found a blurb about a &lt;a href="https://woodstock.dev.java.net/index.html"&gt;new&lt;/a&gt; JSF component library called Woodstock.  I briefly visited the project homepage and tested a few of the components.  It looks as though this library could be a promising addition to the list of component libraries available for the JSF framework.  While some of the basic components such as buttons and labels do not seem too different from stuff we've seen before, the Woodstock library has "Alert" and "Image and Masthead" components which may be very useful.  &lt;br /&gt;&lt;br /&gt;Check out the &lt;a href="https://woodstock.dev.java.net/index.html"&gt;Woodstock JSF component library&lt;/a&gt; project page for more details, or go directly to the &lt;a href="https://woodstock.dev.java.net/Preview.htm"&gt;component preview&lt;/a&gt; to check out the features.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-5158456819983998598?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://woodstock.dev.java.net/index.html' title='Another Fine JSF Component Library'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/5158456819983998598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=5158456819983998598' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5158456819983998598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5158456819983998598'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/02/another-fine-jsf-component-library.html' title='Another Fine JSF Component Library'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-5907864807092003418</id><published>2007-02-20T05:18:00.000-08:00</published><updated>2007-02-20T05:22:45.295-08:00</updated><title type='text'>Best Jython/Python Podcasts</title><content type='html'>I am curious as to if anyone has any good links for podcasts relating to Jython or Python.  I currently listen to &lt;a href="http://www.awaretek.com/python/index.html"&gt;Python 411&lt;/a&gt; on a frequent basis, but I'd like to find out if there are any more very good podcasts for these subjects.&lt;br /&gt;&lt;br /&gt;If you know of any other good Jython or Python podcasts, please leave me a comment!&lt;br /&gt;&lt;br /&gt;Thanks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-5907864807092003418?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/5907864807092003418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=5907864807092003418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5907864807092003418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/5907864807092003418'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/02/best-jythonpython-podcasts.html' title='Best Jython/Python Podcasts'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-4033395473670355940</id><published>2007-02-15T05:28:00.000-08:00</published><updated>2007-02-15T05:53:16.675-08:00</updated><title type='text'>Easy to Use Javascript Charting</title><content type='html'>I am currently working on a PL/SQL application which requires some simple charting. I have a defined set of trend data for which I must created a line chart...thus, displaying the trend for the data. I Googled javascript charting and found this javascript library. I cannot perform a complete review of the library because I have only used the line charting thus far, but I can tell you that the library is easy to use, flexible, and works great.&lt;br /&gt;&lt;br /&gt;Using this library, it is possible to create one or many different charts on a web page. You can define static sets of data (does anyone do this anymore?) or use your database. I have found the line charting simple...especially with PL/SQL. The advantage of using PL/SQL to perform dynamic javascripting tasks is that your data is easily accessible.&lt;br /&gt;&lt;br /&gt;I'll wrap up this blog with a quick example of line charting using PL/SQL and the JSGraph javascript library. If you have the need for a dynamic charting solution in your application, give &lt;a href="http://www.geocities.com/james_melanson/JSOOP/jsgraph.html"&gt;JSGraph&lt;/a&gt; a look.&lt;br /&gt;&lt;br /&gt;The following is an example of line charting in PL/SQL. In my particular case, I've defined a package which contains many different procedures. I recommmend using the PL/SQL Web Toolkit to define PL/SQL web applications. This is an exerpt from the procedure within my PL/SQL web package which defines my line chart:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;(Please ignore the "-" within the tags...this blogger does not print tags well)&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;procedure GRAPH_TREND (in_trend_id number) is&lt;br /&gt;&lt;br /&gt;cursor trend_cur is&lt;br /&gt;select *&lt;br /&gt;from my_trend_data&lt;br /&gt;where trend_id = in_trend_id;&lt;br /&gt;&lt;br /&gt;... more definitions ...&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;&lt;br /&gt;... PL/SQL Code ...&lt;br /&gt;&lt;br /&gt;-- Define Chart (Static data for this example)&lt;br /&gt;htp.htmlopen;&lt;br /&gt;htp.headopen;&lt;br /&gt;htp.p('&lt;-script language="JavaScript1.2" src="jsgraph.js"&gt;&lt;-/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;-script language="JavaScript1.2"&gt;&lt;br /&gt;var graph = new JSGraph();&lt;br /&gt;graph.graphLeftPaddingOverride = 30;&lt;br /&gt;graph.yAxis(4, 200);&lt;br /&gt;graph.xAxis(4, 300);&lt;br /&gt;graph.addBackground('#FFF8DC');&lt;br /&gt;graph.addTrellis(40, 1, '#FF0000', 'blah1','tahoma,sans-serif',9);&lt;br /&gt;graph.addTrellis(80, 1, '#FF0000', 'blah2','tahoma,sans-serif',9);&lt;br /&gt;graph.addTrellis(120, 1, '#FF0000', 'blah3','tahoma,sans-serif',9);&lt;br /&gt;graph.addTrellis(160, 1, '#FF0000', 'blah4','tahoma,sans-serif',9);&lt;br /&gt;graph.addTrellis(200, 1, '#FF0000', 'blah5','tahoma,sans-serif',9);&lt;br /&gt;graph.addLinePlot(0);&lt;br /&gt;graph.addLinePlot(30,1,'maroon',1,'Foo 1','tahoma,sans-serif','maroon',9);&lt;br /&gt;graph.addLinePlot(50,1,'maroon',1,'Foo 2','tahoma,sans-serif','black',9);&lt;br /&gt;graph.addLinePlot(178,1,'maroon',1,'Foo 3','tahoma,sans-serif','maroon',9);&lt;br /&gt;graph.addLinePlot(200,1,'maroon',1,'Foo 4','tahoma,sans-serif','black',9);&lt;br /&gt;graph.addLinePlot(36,1,'maroon',1,'Foo 5','tahoma,sans-serif','maroon',9);&lt;br /&gt;graph.addLinePlot(0,1,'maroon',1,'Foo 6','tahoma,sans-serif','black',9);&lt;br /&gt;graph.addLinePlot(146,1,'maroon',1,'Foo 7','tahoma,sans-serif','maroon',9);&lt;br /&gt;graph.addLinePlot(12,1,'maroon',1,'Foo 8','tahoma,sans-serif','black',9);&lt;br /&gt;graph.addLinePlot(191,1,'maroon',1,'Foo 9','tahoma,sans-serif','maroon',9); &lt;-/script&gt;&lt;br /&gt;');&lt;br /&gt;htp.headclose;&lt;br /&gt;htp.bodyopen;&lt;br /&gt;htp.p('&lt;br /&gt;&lt;-div id="lineplotGraph1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 50px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; POSITION: absolute; TOP: 50px"&gt;&lt;br /&gt;&lt;-script language="JavaScript"&gt;&lt;br /&gt;graph.makeGraph();&lt;br /&gt;&lt;-/script&gt;&lt;br /&gt;&lt;-/div&gt;&lt;br /&gt;');&lt;br /&gt;htp.bodyclose;&lt;br /&gt;htp.htmlclose;&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;end GRAPH_TREND;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-4033395473670355940?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.geocities.com/james_melanson/JSOOP/jsgraph.html' title='Easy to Use Javascript Charting'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/4033395473670355940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=4033395473670355940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4033395473670355940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/4033395473670355940'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/02/easy-to-use-javascript-charting.html' title='Easy to Use Javascript Charting'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-117104671402608574</id><published>2007-02-09T10:41:00.000-08:00</published><updated>2007-02-13T14:21:22.256-08:00</updated><title type='text'>Jython 2.2 - Beta 1 - Part II</title><content type='html'>I have just finished installing Jython 2.2 beta1 without any issues.  The installer is clean and easy to use.  I am currently using Java SE 6 and this new Jython release had no problems installing.  &lt;br /&gt;&lt;br /&gt;I've only begun to test a few scripts out, but no issues thus far.&lt;br /&gt;&lt;br /&gt;Thanks again to the Jython developers...it is great to see a new release!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-117104671402608574?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/117104671402608574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=117104671402608574' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/117104671402608574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/117104671402608574'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/02/jython-22-beta-1-part-ii.html' title='Jython 2.2 - Beta 1 - Part II'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-117102074826125762</id><published>2007-02-09T03:28:00.000-08:00</published><updated>2007-02-09T03:34:30.636-08:00</updated><title type='text'>Jython 2.2 Beta 1 Released</title><content type='html'>The &lt;a href="http://www.jython.org"&gt;Jython&lt;/a&gt; project has just released 2.2 Beta 1!  This is a major milestone for Jython and it proves that the project is actively moving forward.  &lt;br /&gt;&lt;br /&gt;Thanks to all of the developers of Jython for their hard work!  You can download this new beta release &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=12867&amp;package_id=12218&amp;release_id=485053"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I'm going to get it right now!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-117102074826125762?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://sourceforge.net/project/showfiles.php?group_id=12867&amp;package_id=12218&amp;release_id=485053' title='Jython 2.2 Beta 1 Released'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/117102074826125762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=117102074826125762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/117102074826125762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/117102074826125762'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/02/jython-22-beta-1-released.html' title='Jython 2.2 Beta 1 Released'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-117085974637575802</id><published>2007-02-07T06:47:00.000-08:00</published><updated>2007-02-07T06:49:06.386-08:00</updated><title type='text'>Snippets</title><content type='html'>Check out the new site from DZone which will be a repository for source code snippets.  You can search the repository for existing code to use in your projects, or you can contribute some code which may be of use to others.&lt;br /&gt;&lt;br /&gt;This is a great idea!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-117085974637575802?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.bigbold.com/snippets/' title='Snippets'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/117085974637575802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=117085974637575802' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/117085974637575802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/117085974637575802'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/02/snippets.html' title='Snippets'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-117085649846238393</id><published>2007-02-07T05:48:00.000-08:00</published><updated>2007-02-07T05:54:58.473-08:00</updated><title type='text'>A Long Time Away</title><content type='html'>I have not posted for a while and I want to get back into the swing of things.  My free time has been spent on side projects and I have not had much time to focus on new technologies as of late.  &lt;br /&gt;&lt;br /&gt;One technology I really want to focus more on is the Seam framework by JBoss.  Seam takes the JSF framework and EJB 3 technology to a new level.  It seems to ease development in this area while creating a more functional application development experience.  I've only begun to look into the framework, but look for future blogs on this topic.&lt;br /&gt;&lt;br /&gt;I'd also like to blog more on Jython.  I have not had much time to spend with Jython as of late, but I'm still keeping up with the language.  I will be distributing the February issue of &lt;a href="http://wiki.python.org/jython/JythonMonthly"&gt;Jython Monthly&lt;/a&gt; on 2/12, so keep an eye out for that.&lt;br /&gt;&lt;br /&gt;Looking forward to a new year of great blogs...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-117085649846238393?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/117085649846238393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=117085649846238393' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/117085649846238393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/117085649846238393'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2007/02/long-time-away.html' title='A Long Time Away'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-116526481163108933</id><published>2006-12-04T12:36:00.000-08:00</published><updated>2006-12-04T12:40:11.640-08:00</updated><title type='text'>Gearing Up for Production 1.0</title><content type='html'>The Gather! project is gearing up for it's first production release.  The project is pretty solid at this point, but it is lacking in documentation.  I will be spending the better part of the next couple weeks on documenting the project so that we can attract new users.&lt;br /&gt;&lt;br /&gt;I urge all who are interested in last chance beta testing for Gather! reunion organizational software to go ahead and download RC1 as soon as possible.  &lt;br /&gt;&lt;br /&gt;Thanks to all who have given feedback...it is appreciated!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-116526481163108933?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://gather.sourceforge.net' title='Gearing Up for Production 1.0'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/116526481163108933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=116526481163108933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/116526481163108933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/116526481163108933'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2006/12/gearing-up-for-production-10.html' title='Gearing Up for Production 1.0'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-116307666599693288</id><published>2006-11-09T04:37:00.000-08:00</published><updated>2006-11-22T04:24:06.466-08:00</updated><title type='text'>Trinidad and Facelets</title><content type='html'>I am beginning to work with the Apache Trinidad API and Facelets.  Thus far, I've been using Netbeans 5.5 for my development since there is now a Facelets plugin available for the IDE.  The new plug in allows for Facelets projects to be produced in an easy fashion.  If you have ever used Netbeans 5.5 and created a JavaServer Faces project, it is very similar.  &lt;br /&gt;&lt;br /&gt;At first glance, it appears that my favorite thing about Facelets is going to be the templating feature.  This technology offers a new way to create templating within a JSF application so that all pages can have a similar layout.  I also have read (but not yet tried) about templating within templating...this allows for one to create a header template, for example, and use it within a page layout template.  What would that buy you?  It allows for one to create various different headers using the header template and apply them to the main layout template.  Take a look at &lt;a href="http://www-128.ibm.com/developerworks/java/library/j-facelets/"&gt;this link&lt;/a&gt; for more details!  So all in all...Facelets looks promising for templating and probably lots more once I get into it.&lt;br /&gt;&lt;br /&gt;The Apache Trinidad project is an open-sourced API for web applications...it used to be owned by Oracle and known as ADF faces.  The Trinidad project contains some of the most advanced JSF components available, and I think it is great that Oracle has donated the project to Apache.  It integrates seamlessly with MyFaces to allow one the ability for easy creation of JSF applications with a great selection of advanced components and page layouts.  Please check the &lt;a href="http://wiki.apache.org/myfaces/Trinidad"&gt;wiki&lt;/a&gt; for more information.  I will blog more about this great project once I've sunk my teeth into it a bit farther.  So far, I can tell you that the configuration with Facelets is fairly simple...there are a few steps but it is not too bad.  Netbeans 5.5 appears to function great for this application model since you now have the ability to use the new Facelets plugin.  If you are interested in using the original Oracle ADF Faces components within a WYSIWYG environment, JDeveloper offers excellent tools.  I have not yet attempted to use Trinidad within JDeveloper, but I will do so once I've gotten it to function as expected within Netbeans 5.5.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-116307666599693288?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/116307666599693288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=116307666599693288' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/116307666599693288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/116307666599693288'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2006/11/trinidad-and-facelets.html' title='Trinidad and Facelets'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-25636372.post-116109123043548895</id><published>2006-10-17T06:10:00.000-07:00</published><updated>2006-10-17T06:20:30.446-07:00</updated><title type='text'>Duplicating Oracle DB</title><content type='html'>I have recently begun using the RMAN utility for backing up all of my organization's Oracle 10g databases.  Previously, I've used manual OS commands and database hot backup procedures to perform the same tasks.  RMAN is definitely much easier, and it brings many benefits to the table as well.  While I am "old school" and still use my legacy backups in lieu of the RMAN backups (standard DBA best practices...or just paranoid), I think that if you are administering an Oracle database and not using RMAN then you are missing out.&lt;br /&gt;&lt;br /&gt;My organization has many different databases.  One in particular is used for hosting our maintenance management data.  We have three instances of this database...production, development, and integration.  The users are allowed to "beat up" the development instance and we can try out different features in this instance as well.  Integration is a mirror of production, but we use it to apply patches and test prior to roll out on our production database.  Obviously we all know what production is, so there is no need to describe that database.&lt;br /&gt;&lt;br /&gt;Since I've begun to use RMAN, one of the best new features is the DUPLICATE database feature.  This allows me to clone my production database in a matter of minutes.  Previously, I had to create a database and then import a recent dump from my production database in order to acheive the same result.  Now I just create the duplicate database instance, and then use RMAN to actually duplicate the datafiles, control files, and redo logs for me.  It creates an exact replica (different SID and data locations of course) which allows me to easily recreate my integration instance.&lt;br /&gt;&lt;br /&gt;Take a look at the bottom of &lt;a href="http://www.oracle.com/technology/obe/obe9ir2/obe-ha/rman/rman.htm"&gt;this document&lt;/a&gt; for the procedures to follow in order to successfully DUPLICATE your organization's databases.  It is worth the read....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25636372-116109123043548895?l=jj-blogger.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.oracle.com/technology/obe/obe9ir2/obe-ha/rman/rman.htm' title='Duplicating Oracle DB'/><link rel='replies' type='application/atom+xml' href='http://jj-blogger.blogspot.com/feeds/116109123043548895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=25636372&amp;postID=116109123043548895' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/116109123043548895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/25636372/posts/default/116109123043548895'/><link rel='alternate' type='text/html' href='http://jj-blogger.blogspot.com/2006/10/duplicating-oracle-db.html' title='Duplicating Oracle DB'/><author><name>Josh Juneau</name><uri>http://www.blogger.com/profile/09428149784665036612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://photos1.blogger.com/blogger/3972/2681/1600/blog.0.jpg'/></author><thr:total>0</thr:total></entry></feed>
