Software Development optimize

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 10.1.3.3 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.

16 comments
dvrameshusa
dvrameshusa

You look like you know, both ends of SQLServer and Oracle. I need some information on how to connect between SQLServer 2005 & Jdeveloper. Please give the instructions here or e-mail me at dvrameshusa at gmail dot com. Thanks Ramesh

brianduff
brianduff

I have filed bug 6309777 in our bug database for this issue.

Justin James
Justin James

I am rather surprised, since JDeveloper is/was done by Borland (its sister product is JBuilder). What, you thought Oracle could make something that good on their own? ;) J.Ja

RexWorld
RexWorld

Okay, so my first try at a YouTube screencast flopped--the audio track did not survive after the AVI got converted by YouTube. I'll try and figure that out before I do this again. But ignoring that, I was just hoping for some feedback on the overall appeal of these types of screencasts. I have a couple of topics in mind where I thought I might illustrate the concept with one of these screencasts. Should I try, or are these things just a waste of bandwidth?

RexWorld
RexWorld

Awesome, thanks! Like I said, a tiny bug but it will be great to see it go away.

brianduff
brianduff

This is a misapprehension that unfortunately has plagued JDeveloper for years... JDeveloper 3.2 released in 2000 was the last version of JDeveloper that was based on licensed code from Borland. JDeveloper was completely rewritten from the ground up by Oracle in mid 2000, and released as JDeveloper 9.0.2 in 2001. Out of curiosity, Justin, have you ever actually tried JDeveloper? If so, what don't you like about it specifically?

shiny_topadm
shiny_topadm

because of limited bandiwidth available, I don't allow the common video sites through the firewall. For all the reasons cited by J.Ja, and no available budget to add internet connections, this isn't likely to change for my business network. At home, I may get to see it, but I prefer 'smaller' methods of examples.

Justin James
Justin James

But I cannot bloody stand them. Thanks to the YouTube clip, any reader behind a twitchy firewall will appear to be goofy off or accessing restricted/prohibited materials (http://blogs.techrepublic.com.com/programming-and-development/?p=392). Plus, it is not usable/accessible to the handicapped, vision imparied, and so on (http://blogs.techrepublic.com.com/programming-and-development/?p=40), as well as suffering from the other issues that I have with *casting in general. And, of course, I generally am against any kind of "mashups", *particularly* on a commerical Web site (http://blogs.techrepublic.com.com/programming-and-development/?p=24). But that is just one person's opinion. :) J.Ja [Edited 7/27/07: To make it clear, I did not actually look at the video itself, YouTube generally overcompresses them anyways and makes it hard to see details. So I am reacting against the idea itself, not your particular video!]

JohnnySacks
JohnnySacks

The swing code produced by the IDE GUI builder still has the Borland JBuilder jbinit method and looks a lot like what JBuilder produces. I like the price and availability myself, besides the fact the tool works very well. I can't believe Borland still gets thousands of $$ for JBuilder. Can you imagine how much a Java shop would have paid for upgrades since JBuilder 4?

Justin James
Justin James

... that was the version of JDeveloper (3X, the Borland based version) I was using. 2001/2002 was the last time I did work in Java. Like I said, I thought it was decent at the time. I figured out that it was really JBuilder, because I had just tried that around the time too, and saw that it was the same. I cannot speak to its current quality. I will be frankly honest, every tool from Oracle I have ever used since then was total junk, from SQLLDR to "Enterprise Manager", even the SQL notepad thingy stinks. Whether or not that applies to JDeveloper in its current incarnation, I cannot say since I have not used it recently, but hopefully, in this case, "past performance is no gaurantee of future returns". Hopefully, it is not plagued by the same kind of insanely stupid and obvious bugs that the rest of Oracle's toolset is, things like dropping the first character typed into a text box... J.Ja

RexWorld
RexWorld

Turns out the YouTube videos are also problemmatic for this publishing platform. They had a problem where the video stopped working for some reason and so they had to move the HTML that inserts it to the top of my post. Instead of towards the bottom where I had originally placed it. Given that it doesn't seem to add value and it causes technical glitches on the site, I guess I'll do without. It just kinda seems like a shame because there's video and animation going on in the ads. It would be nice to have some in the content as well to provide balance I think.

Justin James
Justin James

Steve - Thanks for the links! While I am not a JDeveloper user, it is always interesting to read the history of how things develop, it gives a nice snapshot of the changes that Java and Oracle's relationship to it have been through. J.Ja

RexWorld
RexWorld

Like I said, I kinda have to use JDeveloper since I work at an Oracle shop. But I will say that it's a pretty good IDE. It definitely does not have the large community of plug-in developers that Eclipse has. But in terms of doing Java coding it stands up pretty well. And the integration with the Oracle database is pretty darn good. I mean you wouldn't want to do DBA-type tasks with JDeveloper. But in terms of building PL/SQL packages and creating tables, it's decent. Not as complete as TOAD, and so I do find myself usually running both TOAD and JDeveloper when I am working on anything. Ironically I find TOAD's support of Java stored procs is better than JDevelopers. Where I find JDeveloper really handy is that it can deploy so easily into OC4J containers like the ones used to power Oracle Portal. There's an OC4J container built into JDeveloper as well so you can test your deploys in an environment essentially identical to your target, which is nice.

Justin James
Justin James

I do agree that multimedia has a place on the Web, but it needs to be very carefully handled. I would much rather prefer to see TechRepublic's publishing platform have its own widget that I could use, so at least the source was coming from TechRepublic.com, not YouTube or whatever. I will say though, you did a good job at describing in text what the video would show, so no one who did not watch the video missed something. Luckily for us, programming is a discipline where the action is not even worth showing 99% of the time... what is someone going to see, me tyoing text into an editor, or dragging and dropping something onto the screen? ;) J.Ja

brianduff
brianduff

As a member of the JDeveloper development team, this kind of thing is actually very useful. It's often hard to reproduce problems like this without seeing them in-action... (BTW: I added a todo item to look into this issue when I'm back in the office on Monday)