Skip to main content

Looking for Clues

Posted by editor on November 30, 2006 at 8:41 AM PST

Digging into your desktop's address book from your mobile device

So what's wrong with running a servlet on your desktop machine? I mean, aside from any concerns about resource consumption or security, is there something intrinsically wrong about servicing HTTP requests from something other than a dedicated server?

The idea behind
today's Feature Article basically requires you to be running Tomcat, GlassFish, Jetty, or some equivalent servlet container on your desktop. The idea is that you can put a servlet in place to serve up some custom data to a mobile client.

When I first heard the article pitch, I imagined some more exotic, Java-ish connection, like RMI or something. But on reflection, HTTP seems like a pretty good choice - it's well-understood, well-supported by Java ME, can run on known ports, passes unmolested through firewalls, can be proxied, etc. And hey, simple is good.

So take a look at how Biswajit Sarkar proposes to
Access Desktop Data from Mobile Devices in today's article. He combines a custom MIDlet on the phone and a servlet to format HTTP requests for address book queries in a simple format, does the work on the desktop, then parses the result on the phone. In a nice trick, the MIDlet client can actually dial the returned number on the handset, which should save you a few keypresses.

In the Java Today section,
the Semblance project has announced the release of Semblance 1.0B1, which incorporates the StrutsLive framework (formerly maintained as a separate project) a new Foundation framework, and a comprehensive example application. This is a major feature release that adds support for XHTML templating, dynamic query generation, and list management, including pagination, navigation, sorting, filtering, and selection management. Please see the release notes for further details.

Patrick Wright has announced that the SwingLabs website now has search: "We now have search enabled for SwingLabs-related topics on the SwingLabs website. This uses a new Google feature, Google Custom Search. The results come from Google, and are restricted (in this case) to a known set of websites, including the discussion forums, project sites, and blogs,
among others. We can tune the CSE settings over time to get more accurate results."

One of Europe's most popular Java conferences, JavaPolis starts in a little over a week, running from December 11 through 15 in Antwerp, Belgium. The first two days feature "University" sessions and hands-on labs, while the last three days are stuffed with 60-minute technical talks, 15-minute "quickies", BoFs, and "whiteboard" sessions that are proposed and assembled on-site, similar to an unconference. Registration is still open, with a €200 entrance fee.

Brian Leonard introduces some persistence trickiness in today's Weblogs. In

Using Composite Keys with JPA, he writes:
"If you find yourself needing to work with composite primary keys, the JPA's got you covered. However, there's more to it than simply setting at @Id annotation. In this blog entry I discuss the details."

Announcement: jMaki supports PHP! Greg Murray writes:
"jMaki is quickly approaching 1.0 Beta and as one of the new features we have full support for PHP 5.0. This includes the all widgets, layouts, glue code, and the XmlHttpProxy. "

Felipe Gaucho sees a need for
a syntax-dependent diff tool:
"How many times have you observed someone modifying the code formatting of Java classes and other people getting crazy about the loss of the project history from CVS? At first sight it seems just a problem of communication - but think again - is it really a human problem, or our tools are not wise enough to reduce the problem?"

Desktop topics dominate today's Forums, with entries from the SwingLabs and JAI forums. Kleopatra notes a Serializable gotcha in Components, listeners, serializable ... best practices?
"As it turns out, many parts of swingx (most probably not only table-related, but didn't dig into) are not serializable: as a naive approach I added a Serializable tag to whatever blows the example that comes with the issue .. but it looks endless: IconBorder, tableHeader.headerListener, columnModel.visibilityListener, xtable.tableAdapter. So I'm wondering if that's the best solution (last time I really used Serialization is eons ago...) An alternative might be to tag the offending field as transient - but then the readObject might be responsible for re-wiring?"

In Re: Integrating JXImagePanel into JXPanel, Fabrizio Giudici proposes refactoring parts of Mistral into SwingLabs, thanks to its imaging flexibility:
"The design uses delegation to an operation engine, as one of the targets of the project is to be able to deal with different imaging API (mostly Java2D and JAI, but we're also working on ImageJ). This is probably over-engineering for SwingLab, but perhaps we could find a way to refactor it, maybe allowing some extension points."

Finally, in
[JAI-IMAGEIO] codecLib and JPEG woes, Ken Blair points out a performance issue he's having with Java Advanced Imaging:
"I've noticed that due to codecLib returning an image of TYPE_CUSTOM when loading a JPEG the painting is much slower than the standard decoder. With respect to issue #81 it's not nearly as bad as when an ICC profile is present, but it's still much slower. Which leads me to two questions: 1. Is it intended that a TYPE_CUSTOM image always be returned? 2. Is there any intention to change this or just wait (and hope) that Java2D improves painting a TYPE_CUSTOM image?"

In today's
News Headlines

Registered users can submit news items for the href=""> News Page using our
news submission
. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href=""> News RSS

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href="">events submission form.
All submissions go through an editorial review before being posted to the

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 it will be
archived along with other past issues in the href=""> Archive.

Digging into your desktop's address book from your mobile device