Odd little Oracle JDeveloper bug

I work at an Oracle shop so, when it comes time to the choice of Java development environments, there really isn't much of a choice. I use Oracle JDeveloper like good little a Oracle soldier.

Actually I don't really have many complaints about it. It's a decent IDE, and it has great integration with Oracle products. Like I can connect to an Oracle database right in the IDE and create/edit/view objects in that database. Plus, it has decent integration to the Oracle Portal, letting me deploy new Java portlets into the Portal with the click of a mouse. Now I do wish it would register that new portlet automatically with the Portal; unfortunately, that part you still have to do manually.

However, like any such big piece of software, JDeveloper has some odd little bugs here and there. One that I've seen for the last couple versions, including the current release, is that the auto-complete doesn't always work for anonymous inner classes.

What happens is that if you're writing an anonymous inner class and don't force an extra line-break, then the auto-complete won't give you the closing curly-brace. It's a bit hard to explain, so I recorded a little YouTube video. Unfortunately the sound did not work out -- something with CamStudio wasn't set quite right. But the video gives you the idea so, rather than futz around and try re-recording, I'll use this one (as shown above).

It's really not that big of a deal. And besides, I don't know that those of us coding on the Web really do a lot of anonymous inner classes. The only time I've had to drag them out is doing Swing UI programming, which I don't do on a regular basis since most of my Java code ends up in portlets and JSPs.

Still I thought it was interesting that the bug has persisted through so many versions of the product. I'm thinking if that, JDeveloper had been open source, somebody along the line would have gotten annoyed enough at the bug to submit a fix. But it's not, so the bug lives on. I haven't tried the pre-release JDeveloper 11, but I would bet the bug is still there.