Dive into Oracle ADF

Send me a mail
 Dive into Oracle ADF   Click to see the XML version of this web page.   (Updated: 2/3/2008; 9:12:58 PM.)
Tips and tricks from Steve Muench on Oracle ADF Framework and JDeveloper IDE

Search blog with Google:
 

Search BC4J JavaDoc:
 

April 2004
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
Mar   May

Get Firefox!

Monday, April 19, 2004

Over in the JDeveloper OTN forum, some folks ran into troubles getting odd errors like:

oracle.jbo.PiggybackException: JBO-28300: Piggyback read error
at oracle.jbo.JboException.<init>(JboException.java:332)
at oracle.jbo.PiggybackException.<init>(PiggybackException.java:49)
at oracle.jbo.common.PiggybackInput.<init>(PiggybackInput.java:84)
at oracle.jbo.common.JboServiceMessage.unmarshal(JboServiceMessage.java:177)
:
## Detail 0 ##
java.io.InvalidClassException: oracle.jbo.domain.Number;
local class incompatible:
stream classdesc serialVersionUID = -7171468674200794918,
local class serialVersionUID = -6507359405709672486

:

This typically means one of two things:

  1. You have inadvertently mixed two mutually exclusive domain libraries like "BC4J Generic Domains" (bc4jdomgnrc.jar) and "BC4J Oracle Domains" (bc4jdomorcl.jar).
  2. You have added the "BC4J Datum" library (bc4jdatum.jar) to your middle-tier class path, and are trying to use a JDBC driver different from the one that ships with JDeveloper 10g in the box.

The BC4J Generic Domains and the BC4J Oracle Domains are never meant to be used in the same application classpath. They contain different implementations of the same set of classes, one destined for use in Oracle JDBC driver enrivonments, and the other for use with other non-Oracle JDBC drivers.

The BC4J Datum library is designed for use in a thin-client Classpath that is remotely accessing an ADF Business Components middle tier deployed as an EJB Session bean. It contains only the domain classes (typically jar'ed up as part of the whole Oracle JDBC Driver JAR) without having to have the rest of the JDBC Driver JAR on the thin client.

The most common reason I've seen for users getting into this situation is that they visit the "Libraries" panel of their project settings, and they, either on purpose or inadvertently, shuffle ALL of the libraries into the library list for the current project. A best practice is to just put the libraries you need in your classpath. I've seen users do this (sometimes in desperation) when they're not exactly sure which libraries to add to make something compile, so they add them all figuring, "That should do it!"

Instead, mixing some of the JAR's together can cause troubles due to some overlapping classes in them.

I've filed Bug#  3579457 for us to do a better job at warning developers at compile time that these incompatible pairs of libraries are in their path if at all possible.


11:09:11 PM    



Srini Raman from our Visual JSP Editor development team has started a new blog... subscribed! His first few posts offer some neat tips about the fruits of his (and the rest of the Visual JSP Editor teams) hard work in JDeveloper 10g. Check it out.
8:08:57 PM    


In 1974, Burger King in the United States had an advertising jingle that started off "Hold the pickles, hold the lettuce..." and ended with "Have it your way!".

JDeveloper 10g tries to deliver on this "have it your way" theme with our new window management features in the product. In earlier JDeveloper releases, honestly it was pretty tough to arrange two windows side by side or one above the other to do a visual comparison. A few quick notes on what you can now do in JDeveloper 10g with your windows:

For dockable windows like the Application Navigator, Structure Pane, Property Inspector, Data Control Palette, and all of the debugger windows, you can:

  • Auto-hide them (by pressing the little "auto-hide" window title bar icon that looks like a pushpin), or keep them open again by clicking on the same icon a second time)
  • Drag them to be docked to left, right, top, or bottom of your screen
  • Drag them to tab-together with other docked windows in the same place
  • Float them (by holding down the [Ctrl] key while dragging them) which is useful for multi-monitor situations.
  • Control exactly how the IDE uses the corners of your screen (allowing taller vertical sides, or wider horizontal top and bottom) by using the Tools | Preferences | Environment > Dockable Windows preference settings.

For editor windows (which occupy the center area of the IDE), you can:

  • Group them into tab-groups and easily drag/drop the windows to arrange them
  • Right-mouse on any current editor tab and select "New Tab Group" to create a new tab group
  • Drag drop editor tabs between tab groups
  • Easily position tab groups side by side or above/below each other
  • Split buffers (where allowed) to show multiple sections of a code file, or simultaneous visual and code views of the same document

We've definitely been busy...


12:26:43 PM    


The Italian weekly IT magazine Week.it gives JDeveloper 10g preview a spin and has several nice things to say about our ADF framework ("Un framework completo") and our new visual J2EE application building features ("Un approcio visuale"). [article in Italian].


11:57:07 AM    


One nice touch we've added in JDeveloper 10g for web developers is the new code-insight context-sensitive help for CSS stylesheet properties. CSS is quite powerful, but its features are hard to work with unless you have a pocket-reference guide handy. Now JDeveloper builds that quick reference right into the product so that if you're working in a CSS file and start to type the first few letters of a property like back and then press [Ctrl]-[Space], you'll get a short list of CSS properties that match. Of course, if you just type [Ctrl]-[Space] without typing anything first, you'll get a list of all the CSS properties if you're not sure even where to start for the name.

Certain properties, like color-related ones, offer additional in context help so that if I complete the property to be background-color, then press [Ctrl-Space] another time, then I'll get inplace assistance for picking a color as well. Big timesaver when your working with web pages that use CSS stylesheets.

If you've visited the "CSS" component palette page and done "Add Component..." on the right mouse menu, you can add all of your common CSS stylesheets to the palette, and then easily make a new page you're creating use one of these stylesheets by just dragging and dropping its name from the "CSS" component palette page.


11:15:01 AM    


Using the "Design" and "Source" tabs at the bottom of the editor for a JSP page, you can easily switch back and forth between the two views of your page. However, it's sometimes nice to be able to work simultaneously with both the visual and the source code at the same time. With JDeveloper 10g, this is really easy to do, albeit perhaps a little subtle to discover.

If you are familiar with splitting a worksheet in Microsoft Excel, or a document in Word, then you are already familiar with the little "splitter" widget that appears in the scrollbar trough as shown in the figure at the right. JDeveloper 10g supports this same metaphor, and you can use your mouse to drag the splitter down to split the visual view. When you split a visual view, we show you the source code in the other "half" of the editor. The JSP page in the screen shot at the right has been split to show this.

Even cooler, the visual and source code are kept in sync before your eyes, so you can decide whether a modifcation is easier to make right in the source, or using the visual view. As if that was not already enough to qualify as "productivity with choice", we also give you two other synchronized tools for working with your web page. As you are working in the page, the structure pane shows you a hierarchical view of the tags in the document and is synchronized with your selection in the buffer. That structure pane also supports drag and drop so you can not only structurally visualize things, but you can reorder them there, too. Finally, the property inspector has been enhanced in JDeveloper 10g to show you for any tag the attributes that that tag supports, so you can visualize and edit tag attributes using the property inspector, too.

We've also improved our support for context-sensitive code-insight as well and tag completion while you're working in the code, so when you're working in the source code of your page, you can press [Ctrl]-[Space] at any time to pop up context sensitive help for what you're doing at the moment.


11:05:56 AM    


© Copyright 2008 Steve Muench.