Visual Café Database Edition : Java Glossary

I have left this tombstone entry for historical interest.

Visual Café DBE
ake Visual Café Database Edition. This product is now defunct. Symantec’s Java development package that includes a compiler, editor, debugger, dbAnywhere and Sybase SQL (Standard Query Language). It is the same code as Visual Café Database Pro Edition, but with a few additions. Unfortunately it use the same extension *.vpj as SlickEdit for its project files.

Visual Café started out at Symantec. Then Symantec sold it to Webgain. Webgain went belly up and sold it to TogetherSoft. Then TogetherSoft sold it to Borland. Borland seem to have dropped it entirely. They appear to have bought it just to kill any possible competition with JBuilder. Your best bet now to get a copy of Visual Café would be look on eBay.

Here are some hints on using Visual Café Database Development Edition. The online help documentation is out of date and downright erroneous. Much of this material will also apply to Visual Café, Visual Café Pro edition and Visual Café 1.0.

Preparing JavaBeans

I suggest you read the BeanInfo, BeanBox, Jar File, Manifest and JavaBean entries in the Java & Internet Glossary. Symantec just crashes if you try to add a bean with anything in the least the matter with it. You must test them first with the Sun BeanBox. The Symantec Jar file create is hopeless. I suggest you prepare a manifest file manually and use Oracle’s Jar.exe to create your jar file. It is quite easy to whip up a BeanInfo class for each bean, even if your only intent is to provide an icon. You can then add the entire jar at once to the component library. Make sure the jar file in on the CLASSPATH in SC.INI.

Installing a JavaBean Component In the Library

Visual Cafe has a two step process to get a bean ready for use on the component toolbar:
  1. You must add it from a class file to the library.
  2. You must add it to the toolbar from the library.
Both the library and the toolbar have groups. They need not have the same naming structure. Not all components in the library need be on the toolbar.

The tools for adding and deleting components and groups from the library and toolbar are chaotic. I am being charitable. But worse, they are improperly documented. Here is how you actually do these procedures.

When you add a new bean, VCP (Visual Cafe Pro) will create an object of that bean type and exercise its methods. If they are not up to snuff, you will get a blanket rejection, no explanation of the precise problem, or if you less lucky, VCP will crash. It will continue crashing every time you bring it up. To get out of this, you must start VCP by clicking on some *.java file to invoke VCP, so it won’t start the last project it was working on. This seems to clear its little brain. Sometimes you can clear problems when the bean implementation code has changed by clicking on an OBJECT of that type in the project window.

Installing a JavaBean Component On The Toolbar

First you must install your JavaBean components by the process above. Then you can add them to the toolbar: These clickings are far from obvious. You can spend a long time searching those menus until you stumble on these magic combinations.

How JavaBean Installs Should Work

How should this work? If I were in charge at Symantec, I would simplify the whole business like this:

Your component library and toolbar are more integrated. Each component can be marked visible or invisible — which determines whether it shows up on the toolbar. If a group contains nothing but invisible components, that group does not show up on the toolbar.

You start the process off by clicking on the Window Component Library, or right clicking on the component toolbar and selecting edit palette.. You see the component library with groups that can be +/- expanded/-collapsed to see the components. Components are colour coded to indicate visible-invisible.

You right click on any component:

You right click on any group: When you add a bean, it would be nice if you could select a toolbar icon for your Bean without having to manually write a BeanInfo class. Alternatively, it would nice if there were a wizard for generating a simple BeanInfo class — e.g. that selected an icon and perhaps let you hide some of the methods, giving you effectively a public and published scope.

Attempting to Create A Jar file With the IDE (Integrated Development Environment)

The create JAR file function has numerous problems:
  1. The waiting cursor stays on indefinitely when you click JAR.
  2. You can’t just accept the offered filename or type your own name for the created JAR file, you must click the… and select the filename that way.
  3. After you select the file, you must wait fifteen seconds or so while it looks for files likely to go in your jar. It gives you no indication it is busy other than the more icon is grayed out.
  4. When you add a dependency, the display does not change to reflect that change. You have to select an unrelated item.
  5. Every time you add a file it forgets the directory you last picked up a file from.
  6. It will not let you add more than one dependency. (What do you do with a bean with two inner anonymous classes?)
  7. I’m not totally sure of this, but it seems that once you remove a file, you can’t add it back. Under some conditions, add refuses to do anything.
  8. It is not clear from the documentation that dependent classes are also supposed to be represented at the outer level. You can’t select a dependent class that is not already added as a class in its own right at the top level.
  9. I would like a bit more explanation of just what dependencies are. I would think it means that class A uses the dependent classes B and C, or gifs d and e. Then a class B might be a dependent of several classes. Since this information is already encoded in the class files themselves, what is this FOR?
Fortunately Symantec has recognized the problem and has totally rewritten the Jar create function. The new code will be in the next update.

Creating A Jar file with JAR.EXE

Be in the directory one closer to the root than your source files (which might be the root if your package name is
D:\vcp\java\bin\jar.exe cfvm myjar.jar myDir
Where myjar.jar is the desired name of the jar file, myDir is where your class files are and MANIFEST.MF is the name of your manually prepared manifest file. See manifest in the Java & Internet Glossary for more details about its format. Jar.exe will recurse directories and embed the myDir directory name in the archive.

Don’t for get the f option and don’t put any spaces between the option letters or your screen will receive the unintelligible binary output.

Then use WinZip to prune the junk out you don’t want. Unfortunately it won’t clean up the MANIFEST.MF file for you. Jar.exe does not seem to understand wildcards. WinZip tends to put too much directory information in the jar file if you try to build it with WinZip directly.

You can then add more files like

D:\vcp\java\bin\jar.exe fv myjar.jar myDir\myDir2\myClass1.class


Here are some bugs I have found in Visual Café that are giving me grief:

This page is posted
on the web at:

Optional Replicator mirror
on local hard disk J:

Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number