The Source for Java Technology Collaboration
User: Password:
Register | Login help    

Search

Online Books:
java.net on MarkMail:


Just Out of Reach

Posted by editor on July 11, 2007 at 7:20 AM PDT

...but tantalizingly closer to an unencumbered JDK

Back in May, we noted Red Hat's plans for OpenJDK, which involved using code from GNU Classpath in an effort to remove the remaining IP-encumbered code from OpenJDK, most obviously the graphics rasterizers we heard so much about at JavaOne 2007. Today, we've got an update on that, thanks to the OpenJDK community leaders, who came across the Fkung blog and started cross-posting its updates to the OpenJDK page.

It's not immediately obvious who Fkung is -- the blog's about page is empty, though a January entry indicates that he or she is an intern at Red Hat, working though the summer on Classpath -- but whoever's writing it has some pretty exciting developments to report. It starts with a "major milestone" on June 25, regarding IcedTea graphics: for the first time, Java2D and Swing are shown to work with the Classpath-integrated graphics bits. And it looks like it's been a hard road getting there:

Graphics are a major encumbrance in the OpenJDK; however the encumbered parts are only critical bits and pieces - not wholesale packages. This makes their replacement all the more difficult; we could throw away all of OpenJDK’s graphics code and completely replace it with Classpath (something I believe Roman Kennke is working on, by plugging Classpath’s GTK peers into the OpenJDK), but I’ve opted to keep as much of the OpenJDK’s X11 code as possible and get that working (including compatibility fixes with colour management and raster creation). If both of our efforts succeed, we’ll have two working toolkits in Linux - pluggable toolkits anybody?

That entry indicated that fonts were still unsupported, but those got added the next week, as detailed in IcedTea fonts. "IcedTea has basic font support using Freetype! Of course it’s nowhere as complete as it would need to be to completely replace T2K, but it’s a good stopgap measure until Sun releases their internal code." The latest update, from Friday, reports more progress:

The rendering problems from my last post have been cleared up, and IcedTea now has basic font support looking quite decent. Metrics-calculation still isn’t working, which affects the Swing/AWT layout managers (I’m not sure where this is done: the native graphics code doesn’t seem to be called), but the rest seems good.

That said, a comment on an earlier entry suggests proceeding slowly with the Freetype integration. "Dmitry" of the Java2D team writes "You might want to hold off doing that, as our font guys are very far on the path of integrating Freetype as a plug-in font renderer for openjdk," and says an update will be posted to the font-scaler-dev mailing list. Presumably, that update is Quick update on project status, posted on June 29, which reports that the "proposed fix for replacing encumbered T2K library with freetype is under code review." Following what's expected to be a lengthy review, the "changes will start making their way to master workspace and going public."

So, possible duplication of effort aside, you can see from a little spelunking between blogs and mailing lists that there's signficant progress to be reported in un-encumbering the graphics bits of the JDK. And that's pretty good news...


Also in Java Today, Chris Oliver's latest blog on JavaFX focuses on new features, including bi-directional binding: "In addition to corrections to local variable binding, the next update of the JavaFX interpreter will include extended bidirectional binding, including of logical negation, unary minus, arithmetic, and sequence indexing. Here's a JavaFXPad example you can try out.."

The NetBeans tutorial Building a Java Desktop Database Application shows how to create a desktop Java application through which you can access and update a database. The tutorial takes advantage of support in NetBeans IDE 6.0 for the Java Persistence API, Beans Binding (JSR-295), and Swing Application Framework (JSR-296). The tutorial shows how to create a database CRUD (create, read, update, delete) application with a custom component used for visualizing the data (car design preview).


When it comes to the much-delayed Mac version of Java 6, no news is bad news. So that's what has Fabrizio Giudici looking at Java and Mac OS X - again... in today's Weblogs. "In the past months, there have been several blog posts about the status of Java 6 on Mac OS X, mainly dealing with the complete lack of information about Apple's plans.The worse scenarios have been fortunately dissipated when Apple published the titles of seminars of the latest WWDC."

In GlassFish V2 Beta3 and Vista - Interoperable out-of-the-box, Arun Gupta writes: "GlassFish V2 beta3 is now available. I take this opportune moment for a follow up entry showing how a Reliable WSIT endpoint can be invoked from WCF client and vice versa."

Finally, in Spring MVC, Tiles and Jetty, John Ferguson Smart offers "a short entry about an issue I came across using the Spring MVC form tag with Tiles and Jetty. And about a work-around, if not a fix..."


Our latest JavaOne Community Corner Podcast is j1-2k7-mtT04: Jarvis: The JasperReports Visual Designer for NetBeans by Toni Epple. Enhance your applications with reports: Project Jarvis adds this ability to NetBeans. Jarvis is a full featured visual multiview designer that integrates the whole process of design, testing and integration of reports. The special asset of jarvis is it's seamless integration with the IDE. Due to that you cannot only design the reports, jarvis also helps you to use them from your java code. In this session you will get an introduction to the concepts and aims of jarvis. You will experience NetBeans as a visual report designer that can link datasources to your report via drag & drop, and finally you will learn how easy it is to enhance your applications with the generated reports.


In today's Forums, xyzzy offers some debugging advice for tracking down inexplicable ME shutdowns in Re: cvm termination problem. "CVM won't typically exit without a message saying why. If you are running linux, then the kernel might be killing the cvm process if the system is out of memory. You could also try running with "strace" or "ltrace" to see if exit() is getting called. Running inside gdb might reveal something too."

In response to a request for a no-frills download, Abhijit Kumar has good news in Re: Sun Application Platform SDK. "Yes, there is a "standalone" application server installer without blueprints, first cup etc. Go to the SDK download page java.sun.com/javaee/downloads or java.sun.com/javaee/downloads/ea, scroll to the bottom of the page and look under the section "Download the Components Independently"."

Finally,  James Cheng has some ideas about how to get an up-to-date JAI installed on the Mac, even if Apple's older JAI implementation is already there. In Re: [JAI] Re: JAI on MAC, he writes: "You might have to put them at /System/Library/Java/Extensions/. The files from Apple installed there seem to take precedence, so you might have to replace files there, or uninstall Apple's JAI. I am not sure how to uninstall JAI on Mac. If you can do that, then you might be able to install JAI 1.1.3 anywhere pointed to by your CLASSPATH."


Current and upcoming Java Events :

Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.


Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive.



...but tantalizingly closer to an unencumbered JDK
Comments
Comments are listed in date ascending order (oldest first)