This document contains a subset of known problems, workarounds and tips for JBuilder 6.
General
Installation
Enterprise JavaBeans (EJB)
Web Development
Team Development
XML
Debugger
Designer
Database and JDataStore
Runtime
Help Viewer
Linux/Solaris
Macintosh
Samples
Performance
International
Documentation
Copyrights, conditions and disclaimers
For the latest JBuilder FAQ's and TI's, please visit:
jdk.config
file:
vmparam -Dsun.java2d.noddraw
jbuilder.config
file:
vmparam -Duse.old.bmj
lib/ext
directory. This can cause problems when users copy the contents of their old lib/ext
directory, including old configuration files, which can then cause problems in JBuilder.Some of the changes in JBuilder 6 make it extremely inconvenient to share the .jbuilder5
directory with an installation of JBuilder 6. As a service to our customers, we put the settings for JBuilder 6 in a new directory, .jbuilder6
.
Note: JBuilder 6 shares the following directories with previous versions of JBuilder:
.dbpilot
You can change the location where JBuilder looks for your .jbuilderx
directory by adding the following entry in the jbuilder.config
file:
vmparam -Djbuilder.home=path to the parent directory for .jbuilder-dir
where .jbuilder-dir is the name of your alternate home directory.
setup_windows.html
setup_linux.html
setup_solaris.html
setup_macintosh.html
It is very important to follow those directions.
the output will include a line looking like:cat /proc/meminfo
where "########" should equal the amount of memory your computer has. If it doesn't, you'll need to explicitly tell the kernel by editing the fileMemTotal: ######## kB
/etc/lilo.conf
.
Details for doing this can be found at: http://www.redhat.com/support/docs/faqs/rhl_general_faq/FAQ-7.html
uncompress
program is not installed. Install it from your Linux CD, then install JBuilder 6.To uninstall JBuilder 6, run the following from the Uninstallxxxxxxx directory (where xxxxxxx is the name of the JBuilder edition you installed) under the directory where you installed JBuilder 6:
Uninstallxxxxxxx\Uninstallxxxxxxx.exe
.Uninstallxxxxxxx
Uninstallxxxxxxx
dtfile
(typically in /usr/dt/bin
) is in your PATH.netscape
(typically in /opt/NSCPcom
) is in your PATH.Warning: Name: HorScrollBar Class: XmScrollBar The specified scrollbar value is greater than the maximum scrollbar value minus the scrollbar slider size.
.reg
file to put the old keys back.Note: Deploying an EAR using the deploy context menu options for a EAR module will only deploy the EJB modules in the EAR. To deploy the complete contents of an EAR, use the console.
JBuilder 6 supports Borland AppServer 4.5 (BAS) as your application server for project development. There are few manual changes required for proper operation:
JBuilder 6, by default, supports Service Pack 10.
If you have set up the WebLogic 5.1 application server, it will have created a WebLogic 5.1 client library for your project. If this library is part of your project classpath, you might get some strange compiler errors when building your EJB. The weblogicaux.jar overrides some Java classes.
JBuilder 6 provides EJB 1.1/EJB 2.0 support for the WebLogic Application Server 6.x:
JBuilder supports WebSphere 3.5 (EJB 1.0):
JBuilder supports WebSphere 4.0.1 Advanced Edition/Single Server (EJB 1.1):
lt;RDBSchema:RDBSchema xmi:id="RDBSchema_1" name="<your schema name>" database="<database_id>" tables="<table_id>"/>
The ias-web.xml file is not automatically generated in this release of JBuilder. You can create one manually and configure JBuilder to insert it into the WAR file so you can deploy the WAR. To do so:
These steps will add the ias-web.xml to the WAR when its Web Application is built. You might also want to add the ias-web.xml as a regular file in your project so you can edit it. It will not appear under the "Deployment descriptors" node under the Web Application node.
By default, the WAR will also include all the required client libraries of your project (e.g., javax.jar, iasclient.jar, etc.). To exclude them, right click on the Web Application node in the project pane, select Properties...|Dependencies. Select the "iPlanet 6.0 Client" library (and any other libraries you wish to exclude from the WAR file), and select the "Never include any classes or resources" radio button. The status for the library you selected should change to "Exclude All" and none of those files will be included in the WAR file.
JB_HOME/bin
does not enable enterprise functionality. This will happen for any configuration file in lib/ext
which uses relative paths.
JB_HOME/bin
.BES_HOME/SonicMQ/lib/client.jar
. This is needed if MDB's are being deployed.
This document provides specific information about working with Borland Enterprise Server 5.0 web server/appserver and JBuilder. Borland Enterprise Server 5.0 ships with Tomcat 4.0.
Note: Borland Enterprise Server 5.0 has to be installed and setup using Tools|Enterprise Setup. After completing enterprise setup, go through the following steps to work with Tomcat 3.2:
Borland Enterprise Server 5.0 has to be installed and setup using Tools|Enterprise Setup.
-Dvbroker.agent.port=<osagent port>
BES_HOME/var/servers/YOURSERVERNAME/adm/properties/partitions/standard/partition.properties
and change the directive container.classloader.policy
to container
(i.e. container.classloader.policy=container
).BES_HOME/var/servers/YOURSERVERNAME/adm/properties/partitions/standard/partition.properties
and change the directive container.classloader.policy
to per_module
(i.e. container.classloader.policy=per_module
).BES_HOME/var/servers/YOURSERVERNAME/adm/properties/partitions/standard/tomcat/conf/server.xml
.Define a non-SSL HTTP/1.1 Connector on port 8080
. Modify the port
attribute from 8080 (default) to the port number you wish to use.BES_HOME/var/servers/YOURSERVERNAME/adm/properties/partitions/standard/management_vbroker.properties
.vbroker.security.disable=true
.BES_HOME/var/servers/YOURSERVERNAME/adm/properties/management_vbroker.properties
.vbroker.security.disable=true
.osagent -p <port no.>
from the BES_HOME/bin
directory.
(Note: The default management port is 42424. To find out the management port for your server, start up the console from BES_HOME/bin
).
Note: The default application server install includes ROOT.war
, which contains the default context. If you deploy an EAR that contains a default context, you must delete ROOT.war
(or rename its extension) so that it does not load and cause a conflict. If deploying WARs (with the container classloader policy), the resulting WAR is automatically copied to the partition as ROOT.war
, in which case there is no conflict. Please note that it is the <context-root>!ROOT!</context-root>
in the web-borland.xml
file that designates the context as root, not the file name.
If you are working on a named context but have the root context in an already deployed archive, the internal web browser in JBuilder will attempt to load once that archive is loaded by the container, because the root context can potentially match any URL. You'll then probably get a "Document not found" error. To prevent this, remove ROOT.war
if you're not using it or overwriting it.
To take full advantage of CVS capabilities in JBuilder, it is recommended that you use the version of CVS that is installed with JBuilder (version 1.10.8 or later).
For projects that are under version control, it is recommended you do not use "New Folder" feature from the Project Pane. It is better to organize your project using JBuilder's automatic source package discovery, or by choosing Add Files/Packages.
It is possible to use SSH to have a secure connection to a CVS server when using the Team Development features of JBuilder. SSH provides a way of connecting to a host machine using strong encryption, thus assuring that confidential data is kept confidential.
JBuilder supports this option. You need to use SSH1 (SSH2 could work but has not been tested) and the connection has to be configured in such a way that SSH will not prompt for a password. This is extremely important. Failing to configure SSH to connect without a password will cause JBuilder to "freeze" until the SSH program is explicitly terminated. (Please refer to the SSH documentation for more information.)
To test if your connection is configured correctly, before trying it in JBuilder, enter ssh
followed by the name of the server you want to connect to. For example, if the server is called codecentral
, enter:
ssh codecentral
If SSH connects to the server without prompting you for a password, you can use SSH in JBuilder.
After SSH is properly configured, you need to specify some parameters on the CVS configuration page. To do this:
ssh
.After these parameters have been specified, you can perform all the CVS operations in a secure environment that uses strong encryption for data transfer.
bin
directory, rename the file cvs95.exe
to cvs.exe
.cleartools.exe
is running.CVSHelper.exe
without having the cygwin
tools installed, they will receive an "Unable to locate DLL" error because CVSHelper cannot locate cygwin1.dll
in the user's path.
cygwin1.dll
from the cvshelper
directory into a directory in your path.If transformation of your XML document fails, check to see if you are using the correct version of the stylesheet specification, http://www.w3.org/1999/XSL/Transform, and not the working draft.
Castor now requires 2001 schema support, <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">. If an older version is used, an error or exception might occur. The Castor sample has been updated: <jbuilder>/samples/tutorials/XML/databinding/fromSchema/Castor.jpx
. The same is true for XML schema validation. You can find the latest Xerces schema samples with 2001 schema support in <jbuilder>/extras/xerces/data/
.
Castor has been updated and there is a change to the Castor.jpx
sample in <jbuilder>/samples/tutorials/XML/databinding/fromSchema/
. When Castor generates the class file, XmlEmployees.java
, the order of parameters in the setXmlEmployee(int index, XmlEmployee vXmlEmployee)
method has been switched with the index now being the first parameter. DB_Castor.java
and the online documentation for the tutorial have been updated. However, the printed documentation still reflects the incorrect order of parameters. See the online tutorial for the corrected documentation, "Schema databinding with Castor" in the XML Developer's Guide.
xsl
declaration has a new line in it: ?XML-stylesheet ...
xsl
declaration in one line without breaks.-classic
option as the first VM parameter in your project (Project|Project Properties, Run tab, VM Parameters) before you debug. Note that JBuilder 6 will do this by default as appropriate for these JDKs.classic
parameter will be automatically added to the debug command line when using this JDK in your project. JBuilder tries to default this checkbox appropriately. If the JDK is one that does not support a classic VM, this option will not be selected.dt_shmem.dll
in the JDK. This DLL is used as an implementation of the debugging protocol on Windows (used in communication between the debugger and debuggee), and causes intermittent problems. To avoid using this DLL, remove it from any JDKs you are planning to use for debugging, and make sure that any directories that contain this DLL do not appear on your system PATH. If you do this, the alternate dt_socket.dll
will be used for the debugging protocol. This DLL does not appear to have the problems of dt_shmem.dll
.-classic
option as the first VM parameter in your project (Project|Project Properties, Run tab, VM Parameters) when debugging.The Designer now supports VisualAge auto-generated code. You can not only view sources generated by VisualAge, but also use the Designer with the sources without having to modify the sources in any way. Using the Designer to add additional components, copy/paste, moving components between containers, move to first, move to last, and changing properties and constraints is all supported.
If you see one of your components as a red box with its class name at the top, JBuilder has not been able to create an instance of that component for the designer. This is called a "Red Bean". Some reasons you might see a Red Bean are:
Items (1) and (2) can be fixed by supplying a proper default constructor or subclassing that class in order to provide a default constructor. Item (3) is more complex. Whenever JBuilder needs to instantiate an object to be the "this" object, it encounters a paradox. It cannot instantiate the object you are designing. To circumvent this problem, JBuilder always attempts to instantiate the superclass of the "this" object. If the superclass is abstract, it cannot be instantiated. Here is the solution:
In the file .jbuilder6/user.properties
, you will find a line that looks like:
designer;proxy.java.awt.Component=com.borland.jbuilder.designer.dt.ComponentProxy
This line says that whenever you are forced to instantiate com.sun.java.swing.JComponent
(which is abstract), you will find an acceptable concrete proxy class for it in:
com.borland.jbuilder.dt.JComponentProxy
You may add your own proxy objects using this pattern. The proxy class does not need to do anything other than the following:
If you create a 3.51 JDataStore, or have an existing 3.51 JDataStore, and you wish to add JDS 4 features to that JDataStore, you can upgrade it at any time. To do so:
com.borland.javax.sql
package), you will need to have an Java 2 Enterprise Edition (J2EE) implementation on your classpath. The preferred way to do this is to install the BES 5.0 (included with JBuilder Enterprise). You can also download J2EE release 1.2.1 from java.sun.com/j2ee/download.html.
After you have installed a J2EE implementation, add the following lines to your jbuilder.config
file:
addpath C:/j2sdkee1.2.1/lib/j2ee.jar addpath C:/j2sdkee1.2.1/lib/jhall.jar addpath C:/j2sdkee1.2.1/lib/ejb10deployment.jar
You will also need to create a library for J2EE in JBuilder:
jdatastore.license
files. To do this,
Repeat this process, saving the license file to a different directory each time, for each client.
jbuilder/lib
directory. No license should be found. (A note on the Swing directory browser: The Ok button is only enabled when the desired directory is shown in the "File name" field.)Information on deploying the JDataStore JDBC server for remote access is described in "Deploying the JDataStore JDBC server" in the JDataStore Developer's Guide. Tips for reducing the deployed size of JDataStore client applications can be found in "Pruning deployed resources" in the JDataStore Developer's Guide.
In order to run an applet on Solaris or Linux from within JBuilder, you must add the Open Tools SDK library to your project. Failing to add this library can lead to an exception about a "NoClassDefFoundError:AppletTestbed." This problem currently affects some of the applet samples, including the Primes Swing sample.
jbuilder.config
file:
vmparam -Dhttp.proxyHost=xx.xx.xx.xx vmparam -Dhttp.proxyPort=xx
replacing xx.xx.xx.xx with ID of your proxy host, and xx with your proxy port number.
jbuilder.config
file:
vmparam -Dcom.borland.jbuilder.help.vm=true
A workaround for users on Unix platforms who do not need to use AWT components in the designer and want to be able to select a printer that is different than lpr
is to comment out the line in the jbuilder.config
file that adds the LightWeight Toolkit to the boot path as shown:
# Put the Lightweight Toolkit on the boot path #addbootpath ../lib/lawt.jar
The samples.html
file should be viewed in the JBuilder AppBrowser or from the link in the Welcome Project.
An easy way to copy the entire samples tree is to use the cp -R
command. For example, to copy the tree to a samples
subdirectory of your home directory, do the following:
% cd % cp -R /usr/local/jbuilder/samples
Filename property set to null
or URL cannot be null
, open the file in the editor, modify the source (such as a adding and removing a space), then rebuild the project. You should now be able to open the project in the Designer without errors./usr/local/jbuilder
by default.
Could not listen on port: 100, java.net.BindException: Permission denied.
If running as a user (not root), the basePort
var in ChessServer.java has to be 1027. Line 29 in ChessServer.java
is currently:
To run the client, you have to change the value in this line from 101 to 1027.final static in basePort = 101;
dx.jar
, jds.jar,
and jdsremote.jar
need to be added to the batch or shell file, if they are not already listed.CreditCardApproval
application says you need an InterClient libary. It should say that you must define an InterClient library, then define it as a database driver through the Database Drivers page of Tools|Enterprise Setup. Otherwise, the InterClient driver will not be found.The OnlineStore sample requires the use of platform-specific InterBase database (.gdb) files in the OnlineStore/database
subdirectory. Database files are provided for the Windows, Solaris, and Linux platforms. Before running the OnlineStore sample, you will need to copy both of the platform-specific acmecb and cliffhanger databases to filenames with the normal .gdb
file extension. For example, to run the sample on Windows, copy acmecb.gdb.windows
to acmecb.gdb
and cliffhanger.gdb.windows
to cliffhanger.gdb
.
These are some suggestions for improving local performance of JBuilder 6.
You will need to experiment and fine tune these heap settings to your usage pattern.-ms48m -mx128m
It is worth noting that the incremental garbage collector, while smoothing GC hiccups, also slows the VM down noticeably. We suggest using this only if you experience long GC induced pauses while using JBuilder 6.-Xincgc
[75607] If you are installing JBuilder to a Japanese NEC computer and the install program causes an operating system error message saying that "Drive C: is not ready... the drive door may be open...", press the <Ignore> button in this dialog. Install will then complete normally. (The <Abort> button should also work.)
[75704][75705] If you experience problems displaying Japanese fonts on Linux, you may need to update the file, <jdk1.3.1>/jre/lib/font.properties.ja
. JavaSoft's web site has instructions on how to do this in Japanese: Directions to modify the font.properties file (in Japanese).
<path_to_JBuilder>/lib/jbuilder.jar
must be on your classpath):
The first encoding option above is passed to the Virtual Machine and the second encoding option is passed to the compiler. Please note that this example assumes Code Page 850 is used in the console window (as shown by thejava -Dfile.encoding=Cp850 com.borland.compiler.frontend.Main -encoding Cp1252 myFile.java
chcp
command), and that your java files are encoded in Code Page 1252 (which is the case when a Windows based editor was used, rather than an "old style" DOS-based editor).
If your program sends accented characters to the console window, they will be displayed correctly if you use the following (assuming your console window uses Code Page 850, as shown by the DOS chcp
command):
java -Dfile.encoding=Cp850 myClassFile
IntlSwingSupport
is dropped on a Frame in the designer, it may be instantiated after other class members such as a JFileChooser
, JOptionPane
, or JColorChooser
, which means the translated resources are loaded too late for initial display purposes. Instantiating IntlSwingSupport
as early as possible during your application startup will fix this problem.jbuilder6/bin/jbuilder.config:
vmparam -Dprimetime.editor.useVariableWidthFont= true
~/.jbuilder6/user.properties
before launching JBuilder.font.properties.zh.NT5.0
in the <jdk1.3.1>/jre/lib
directory. Please check the JavaSoft web site to fix this file (in English.) See "Adding Fonts to the Java Runtime".jdk.config
files should include the following line:
#vmparam -Dfile.encoding=ISO8859_1
Check the JBuilder Technical Publication web site, http://www.borland.com/techpubs/jbuilder, for updates to the documentation.
For the latest JBuilder FAQ's and TI's, please visit:
All of the printed documentation is also available in PDF format in the pdf
directory on your JBuilder 6 product CD. See "The JBuilder documentation set" in Introducing JBuilder for a complete list of books and PDF files.
If you downloaded your version of JBuilder 6, the PDF files are also available for download from the JBuilder Technical Publication web site, http://www.borland.com/techpubs/jbuilder.
.jbuilder
or .jbuilder5
directory should refer to the .jbuilder6
directory.jbuilder6/samples/Ejb/Ejb11/EjbDx.jpx
.Copyright © 1997, 2001 Borland Software Corporation. All rights reserved. All Borland brand and product names are trademarks or registered trademarks of Borland Software Corporation in the United States and other countries. Other product names are trademarks or registered trademarks of their respective holders.
No part of this publication may be reproduced, transmitted, stored in a retrieval system, or translated into any human or computer language, in any form, or by any means, electronic, mechanical, magnetic, optical, chemical, manual, or otherwise, without the prior written permission of the copyright owner, Borland Software Corporation.
The copyrighted software that accompanies this manual is licensed to the End User for use only in strict accordance with the End User License Agreement which Licensee should read carefully before using the software.
U.S. GOVERNMENT RESTRICTED RIGHTS
THIS SOFTWARE AND DOCUMENTATION ARE PROVIDED WITH RESTRICTED RIGHTS. USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO RESTRICTIONS AS SET FORTH IN SUBPARAGRAPH (c)(1)(ii) OF THE RIGHTS IN TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013 OR SUBPARAGRAPHS (a)-(d) OF THE COMMERCIAL COMPUTER LICENSED TECHNOLOGY-RESTRICTED RIGHTS AT 48 CFR 52.227-19, AS APPLICABLE. THIS SOFTWARE IS UNPUBLISHED UNDER THE COPYRIGHT LAWS OF THE UNITED STATES. ALL RIGHTS RESERVED.
CONTRACTOR/MANUFACTURER IS BORLAND SOFTWARE CORPORATION.
Borland® and the Borland logo are trademarks of Borland Software Corporation.
Refer to the file DEPLOY.TXT located in the redist directory of your JBuilder product for a complete list of files that you can distribute in accordance with the JBuilder License Statement and Limited Warranty.
Borland may have patents and/or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents.
This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
The Apache Software License, Version 1.1 Copyright (c) 2000 The Apache Software Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)." Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The names "Apache" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org. 5. Products derived from this software may not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ==================================================================== This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation. For more information on the Apache Software Foundation, please see http://www.apache.org/. Portions of this software are based upon public domain software originally written at the National Center for Supercomputing Applications, University of Illinois, Urbana-Champaign.
This product includes software developed by the ExoLab Group (http://www.exolab.org/).
Copyright 1999 (C) ExoLab Group. All Rights Reserved. Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name "ExoLab" must not be used to endorse or promote products derived from this Software without prior written permission of ExoLab Group. For written permission, please contact info@exolab.org. 4. Products derived from this Software may not be called "ExoLab" nor may "ExoLab" appear in their names without prior written permission of ExoLab Group. Exolab is a registered trademark of ExoLab Group. 5. Due credit should be given to the ExoLab Project (http://www.exolab.org/). THIS SOFTWARE IS PROVIDED BY EXOFFICE TECHNOLOGIES AND CONTRIBUTORS "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL EXOFFICE TECHNOLOGIES OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
XML-DBMS, along with its source code, is freely available for use in both commercial and non-commercial settings. It is not copyrighted and has absolutely no warranty. Use it as you will.
For additional information on XML-DBMS, please see http://www.rpbourret.com/xmldbms.
Copyright (C) 2000 Brett McLaughlin & Jason Hunter. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the disclaimer that follows these conditions in the documentation and/or other materials provided with the distribution. 3. The name "JDOM" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact license@jdom.org. 4. Products derived from this software may not be called "JDOM", nor may "JDOM" appear in their name, without prior written permission from the JDOM Project Management (pm@jdom.org). In addition, we request (but do not require) that you include in the end-user documentation provided with the redistribution and/or in the software itself an acknowledgement equivalent to the following: "This product includes software developed by the JDOM Project (http://www.jdom.org/)." Alternatively, the acknowledgment may be graphical using the logos available at http://www.jdom.org/images/logos. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This software consists of voluntary contributions made by many individuals on behalf of the JDOM Project and was originally created by Brett McLaughlin <brett@jdom.org> and Jason Hunter <jhunter@jdom.org>. For more information on the JDOM Project, please see <http://www.jdom.org/>.
IBM Public License Version 1.0
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS IBM PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 1. DEFINITIONS "Contribution" means: a) in the case of International Business Machines Corporation ("IBM"), the Original Program, and
b) in the case of each Contributor,
i) changes to the Program, and
ii) additions to the Program;
where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
"Contributor" means IBM and any other entity that distributes the Program.
"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. "Original Program" means the original version of the software accompanying this Agreement as released by IBM, including source code, object code and documentation, if any. "Program" means the Original Program and Contributions. "Recipient" means anyone who receives the Program under this Agreement, including all Contributors. 2. GRANT OF RIGHTS a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
3. REQUIREMENTS
A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: a) it complies with the terms and conditions of this Agreement; and
b) its license agreement:
i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
When the Program is made available in source code form:
a) it must be made available under this Agreement; and
b) a copy of this Agreement must be included with each copy of the Program.
Each Contributor must include the following in a conspicuous location in the Program:
Copyright ©2001, International Business Machines Corporation and others. All Rights Reserved.
In addition, each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
4. COMMERCIAL DISTRIBUTION Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. 5. NO WARRANTY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. 6. DISCLAIMER OF LIABILITY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 7. GENERAL If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. IBM may publish new versions (including revisions) of this Agreement from time to time. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. No one other than IBM has the right to modify this Agreement. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. |