Sun ONE Studio 4 update 1 Release Notes
(formerly Forte for Java)
(Community and Enterprise Editions)
Introduction
These release notes represent the combined release notes for both the Community
and Enterprise Editions of the Sun Open Net Environment Studio 4 product.
The Sun ONE Studio 4 update 1 Release Notes contain information from
the Sun ONE Studio 4 (formerly Forte for Java) Release Notes, with the
addition of significant features or the addition or deletion of bugs specific
to this update release.
NOTE: Sun ONE Studio 4 requires the Java 2 Software Development Kit,
Standard Edition (J2SE SDK) v. 1.4.0_02 (for use with the Sun ONE Application
Server) or no earlier than 1.3.1 (for use with other servers).
What's New: Enhancements and New Features
Ant Support
- The bundled version of Ant has changed from 1.3 to 1.4.1.
- You can create a shortcut to any target in an existing Ant script. You can
save the shortcut as a menu item, toolbar button, keyboard shortcut, or project
link.
- The Create Properties File wizard and Add Property command enable you to
easily store and manage an Ant script's properties in an ant.properties file.
- You can run any target in an existing Ant script from the contextual menu
of the Ant script's Explorer node.
- The module provides better annotation and highlighting of build errors in
an Ant script's output.
Debugger (Java)
- You can now filter the variables that are displayed in the Debugger Window.
- The Debugger window has been redesigned to enable viewing of different
views simultaneously. You can define which views are displayed with toggle
buttons in the window's toolbar.
- Breakpoints are now organized into groups, which allows you to enable,
disable, or remove multiple breakpoints as a single unit.
Form Editor
- The Component Palette has moved off the main window, and now appears in
the Form Editor window, along with the Form Designer and the Component Inspector.
- There is now a Bean Form template which you can use to design a new form
using any class (visual or nonvisual) that is based on the JavaBeansTM
Component Architecture.
J2EE Application Development
Sun ONE Studio 4's J2EE modules provide support for Enterprise JavaBeans
providers and for assemblers and deployers of J2EE applications.
Wizards and other GUI-based features support the following tasks:
- Creating and developing message-driven enterprise JavaBeans (MDBs). These
message-driven beans support asynchronous communication between J2EE components.
The IDE enables you to edit the MDB's properties in modal property sheets
and automatically generates the MDB's deployment descriptor from these properties.
- Creating and developing related CMP entity beans. Related entity
beans are sets of EJB components that represent complex data from multiple
database tables that have primary/foreign key relationships. There is a new
wizard that enables you to select a database connection or schema and generate
related CMP entity beans that model the relationships among the tables of
the database. The Related CMP Entity Bean wizard generates all the beans and
relationships and groups them in an EJB module. The IDE provides editors that
enable you to edit and add relationships. The IDE also displays custom, modal
property sheets on which you can edit the properties of the beans and the
EJB module, and it generates a deployment descriptor from your property settings.
- New J2EE CMP Entity EJB Wizard Options. The J2EE CMP Entity EJB wizard
has been updated to include two new options. On the first wizard panel, the
section
Source for Entities
and Fields
now contains
the choices: CMP 2.x Bean Class
and CMP 1.x Bean Class
.
This option allows a user to select the bean class for an existing EJB and
the wizard will obtain the CMP field information from the class. Using these
new options requires that the user understands several potential issues: 1.)
This feature was not created as a robust feature with error checks for incorrect
class files, 2) when generating a 2.x CMP EJB with additional finder
and ejbSelect
methods, the EJBQL will not be generated: you must
manually add back all EJBQL statements since these statements are stored with
the bean's deployment descriptor rather than in the class files, and 3) Although
the Finish
button is enabled, the user must continue through
all the wizard screens and add the class files for all of the bean's classes
(home
, remote
, localHome
, local
).
If Finish
is pressed before this last step is taken, the results
will be inconsistent. An exception may appear or the EJB's finder and ejbSelect
(for a 2.x bean) may not be generated as expected.
- Creating and developing application clients. A J2EE application
client is a stand-alone Java program (started with its own
main()
method) that runs in a J2EE client container and interacts with other J2EE
modules, including EJB modules. Although an application client programs is
started separately, it can interact with J2EE applications and participate
in container-managed transactions and security. The IDE provides property-sheet
editing of application client properties and generates a deployment descriptor
from the properties of the application client.
- J2EE connector support. A J2EE Connector enables a J2EE
application server to connect to an enterprise information system external
to the server, such as an enterprise resource planning (ERP) system, a mainframe
transaction processing system, a mainframe database system, or another legacy
information system.
The IDE provides no support for creating connectors, but if you mount a
filesystem containing a connector .rar file, the IDE recognizes
it as a connector. The IDE displays a single node to represent the connector
module. The connector node has a contextual menu with the following commands:
View Deployment Descriptor
Deploy
(always to default server)
Delete
After mounting a filesystem containing a connector, you can add it to a J2EE
Application. After you add a connector, the IDE includes its .rar
file in the application .ear file when the application is deployed.
Note: If you plan to test your connector on the J2EE RI server,
do not include the connector in a J2EE application. Instead, deploy the
connector directly to J2EE RI.
Because connector modules are supposed to be portable, there is no application
server specific customization available. There is no support for creation
or management of connection factories.
- Importing externally-developed applications. J2EE Applications
that were developed outside of Sun ONE Studio 4 can now be imported into the
IDE. To use this feature, mount the directory containing the Ear
file you want to import, and then use the Extract command with the mounted
node. IDE nodes are created for the enterprise beans, EJB modules, web modules,
and J2EE applications in the EAR file.
JAR Packager
- JAR contents files are now called JAR recipe files.
- Each entry in a JAR recipe file is now represented by a subnode of the
JAR recipe's node in the Explorer. This makes it easier to make property changes
to each entry.
Miscellaneous IDE Changes
- When creating a new text file, you can specify the extension to use via
a panel in the New Wizard.
- Some keyboard shortcuts have been changed.
Refer to the online help page called "Keyboards Shortcuts" for a summary.
- The ability to append to or replace environment variables from within the
IDE has been modified, such as for services for compiling and running programs.
See the online help topic "Managing Environment Variables".
- The IDE does not automatically restart every time you complete an update
through the Update Center. In the Update Center wizard, you can choose to
wait to have the new modules installed the next time you launch the IDE.
- In MDI mode, frames have a contextual menu that has commands for minimizing,
maximizing, closing, and attaching/detaching from MDI. See the online help
topic, "Using a Multiple Document Interface".
Native Connector Tool
Available with the Solaris 8 operating environment, SPARC platform
edition only; Sun ONE Studio 7, Compiler Collection (formerly Forte Developer
7) required.
The Native Connector Tool enables you to wrap C and C++ functions and data
objects and expose them as Java classes. This tool can help ease the transition
to new Java projects. In addition, you can use the tool to enable the deployment
of legacy code as services.
To learn the basic steps for using the Native Connector Tool, print the 2-page
quick start guide at /opt/s14studio/docs/nct_quickstart.pdf
(if
your Sun ONE Studio 4 software is not installed in /opt
, ask your
system administrator for the equivalent path on your system).
To run through a demonstration of the tool, choose Help > Helpsets
> Native Connector Tool
Help
from the main window and
select the Using NCT by Example
topic from the table of contents.
Output Window
The Sun ONE Studio 4 Output window has been re-implemented to behave more like
a console; it has the following new features:
- You can now enter information directly into the Output Window when running
Commands that require user input.
- Custom text selection is provided.
- Coloring/tagging of defined lines.
- Error messages in the Output Window, such as those produced when compiling,
running build scripts, or validating XML documents, are linked to the line
where the error occurred in the Source Editor.
- You can now set a limit on window history.
- Command in the window's context menu to initiate or stop redirection of
output.
Program Performance Analysis Tools
Available with the Solaris 8 operating environment,
SPARC platform edition only; Forte Developer 7 required.
The performance analysis tools help you assess the performance of your program,
identify potential performance problems, and locate the part of the code where
the problems occur. The tools collect timing data and hardware event data and
trace calls to library routines, and display metrics of performance for functions,
source lines and instructions. You can also see a timeline of the performance
data.
For Java programs, you can collect and analyze timing and hardware counter
data. The performance metrics are displayed on a per-method basis for methods
that are compiled with the Java HotSpot virtual machine. Compiled methods
often use the majority of the time, so these tools are a complement to other
tools that display data for interpreted methods.
Limitations: You must use a version of the Java 2 SDK no earlier than 1.4 to
collect data, and you must use the collect command to collect data.
You cannot see metrics for interpreted methods, or for source lines.
For C, C++ and Fortran programs, or for functions in these languages that are
called from Java programs, you can collect all types of data and use the full
capabilities of the performance analyzer.
You can collect data and start the Performance Analyzer from the Debug menu
if you have the Solaris Native Languages Support module. The same module provides
support in the Explorer for performance data sets, which are called experiments.
Double-click on an experiment to start the Performance Analyzer.
To use the performance analysis tools, you must have access to the Sun ONE
Studio 7, Compiler Collection software release.
Projects
- There is no longer a Project Settings window. All IDE settings are now
handled in the Options window. You can configure settings by project or globally
for all projects.
RMI (in EE, can be added to CE via Autoupdate)
The RMI Module has the following enhancements for this release:
- Creating RMI objects is now performed through the New wizard in the
File menu.
- The RMI Stub Compiler now makes it possible to specify a target folder
for generated stubs.
- IIOP has a preconfigured compiler.
- All RMI-IIOP templates are assigned the predefined RMI-IIOP compiler.
Solaris Native Languages Support
Available with the Solaris 8 operating environment,
SPARC platform edition only; Forte Developer 7 required.
The Solaris Native Languages Support module provides support for editing
and compiling code written in the following programming languages:
In addition, the module enables you to debug and analyze the performance
of code written in:
To learn about the basic steps, print the two-page Solaris Native Languages
Support Quick Start Guide at /opt/s1studio/docs/solaris_nat_lang_quickstart.pdf.
If your Sun ONE Studio 4 software is not installed in the /opt directory,
ask your system administrator for the equivalent path on your system.
Source Editor
- Annotations, in the form of special background color and icons, are now
used to indicate special information about given lines in the Source Editor.
- Editor settings are now stored in XML files in your IDE user directory,
so you can easily move your settings from one system to another or share them
with another user.
Version Control System Support
- The VCS Groups feature enables you to create and group links to related
version-controlled files. You can organize these links into groups in the
VCS Groups window. You can then run VCS commands on an entire group or on
an individual link.
- The Revision Explorer has been replaced by the Versioning Explorer. The
Versioning Explorer displays a tree view of all mounted VCS filesystems and
their contents. Each file's Versioning Explorer node contains a full history
of its revisions, branches, and commit logs.
- The IDE saves the advanced command options you use to run VCS commands.
You can easily reload previous configurations of command options and set the
default configuration for each command.
- CVS support now includes the Annotate and History commands. The built-in
CVS client also added the Import and Export commands.
WebLogic
WebLogic Plug-in does not support CMP Version 1.x EJBs
The EJB 2.0 specification describes two versions of CMP entity beans: CMP version
1.x and CMP version 2.x. CMP version 1.x
entity beans follow the EJB 1.1 CMP specification. CMP version 2.x entity beans
follow the EJB 2.0 CMP specification.
Sun ONE Studio supports the development of both CMP version 1.x and 2.x entity
beans. However, the WebLogic Plug-in does
not support the deployment of any EJB module or J2EE application that contains
a CMP version 1.x entity bean. Therefore, if you
want to use Sun ONE Studio to deploy a CMP Version 1.x entity bean to the WebLogic
server, you must upgrade the bean to CMP
version 2.x. Refer to the Programming Series documentation, Building Enterprise
JavaBeans Components, Appendix A for upgrade
instructions.
Web Services
Passwords in UDDI Registries System Option
Note that this Option is located under category "Distributed Application
Support".
Passwords entered in the "Registries" custom property editor of this option
are not stored as encrypted. They are stored as text in a java serialization
file under your Netbeans user data directory. If you do not want a password
to be stored in this manner, then do not enter passwords into this screen.
If no password is entered, then you will have to enter the UDDI login password
when you run the wizard which publishes a Web Service to UDDI.
Early Access Customers Must use New UDDI Registries
This release supports only UDDI Version 2 registries. Thus the list of built-in
registries that you used for the early access release is no longer correct,
because it references only UDDI Version 1 registries. To get the new
list of built-in registries, edit the "Registries" property for the "UDDI
Registries" global option and delete every row in the JTable at the top of
the window. Then press OK. Now edit the Registries property again, and
you will see that the list has been reset to contain only UDDI Version 2 registries.
Support for Direct Business Method Calls
Web Services do not support Java classes that are not Java Bean-compliant.
For example, all beans must have getters, setters, and a constructor.
Using KSOAP with Web Services
- Use the Autoupdate Center to get the
kjava-emulator_linux.nbm
(_sol.nbm
or _win.nbm
) and the kjava.nbm
- Create and deploy your service.
- Set your generated clients Soap Runtime property to kSoap.
- Generate the client proxy.
- Set the client proxy's property sheet, in the execution tab, to the following:
- Compiler: Preverify Compiler
- Debugger: Emulator Debugger
- Executor: Emulator Executor
- Create a MIDlet class to call the client proxy.
- Execute the MIDlet class.
The MIDlet class calls the client proxy which, in turn, calls the web service
and sends back the response.
For further information about MIDlets, review the Sun ONE Studio 4 ME documentation.
Using an External J2SDKEE with Web Services
Complete the following steps to update the Reference Implementation security
settings:
For J2SDKEE 1.3
- Open the server policy file located in the
your_drive:\j2sdkee1.3\lib\security
directory of your J2EE installation.
- Update the following line:
from
permission java.io.FilePermission "<<ALL FILES>>","read";
to
permission java.io.FilePermission "<<ALL FILES>>",
"read,
write, delete";
- Restart the RI
For J2SDKEE 1.4
- Open the server policy file located in the
your_drive:\j2sdkee1.4\lib\security
directory of your J2EE installation.
- Update the following line:
from
permission java.io.FilePermission "<<ALL FILES>>","read,
write ";
to
permission java.io.FilePermission "<<ALL FILES>>",
"read,
write, delete";
- Restart the RI
Limitations
BEA WebLogic
The BEA WebLogic 6.1, SP2 and 7.0 Application Servers have been certified by
Sun ONE Studio 4 with the J2SE
SDK or JRE 1.3.1 only. If you use a BEA WebLogic server, ensure that you are
using the J2SE SDK or JRE 1.3.1; do
not run the IDE with the J2SE SDK 1.4 or JRE 1.4.
Currently the Weblogic Plugin supports both 6.1 SP2 and 7.0 servers. Latest
Weblogic Platform support is
available at the following URL.
http://e-docs.bea.com/wls/certifications/certifications/overview.html#1038205.
There is a limitation on using Sun ONE AS plugin and Weblogic plugin. Sun ONE
AS plugin requires JDK 1.4.0_02 or above. (It uses latest JDK 1.4 APIs) where
as Weblogic Plugin requires the same JDK supported by the weblogic server.
With the WebLogic plugin you cannot create a CMP bean from multiple tables,
although WebLogic 7.0 has this new feature in the server.
When using WebLogic 7, the Weblogic plugin will by default use the JDK 1.3.1_03
installed with Weblogic 7. Using Jdk1.3.1_04 or higher will cause a server error
while reading deployed archives.
If you wish, you can specify the JDK to be used by the WebLogic servers through
the property "JDK Home" on the Weblogic server registry nodes in Runtime
Tab.
Forte X-Designer
When you set your help browser to XD/Help and request help you obtain a second
X-Designer main window and do not obtain XDHelp.
If you still need to use XDhelp browser, in addition to the Netscape browser,
your system administrator can address this by replacing the xdhelp symlink with
a real link at <INSTALL-DIR>/platform/sparc-SunOS/prod/bin
.
To do so, your administrator can enter the following commands at that location:
$ rm xdhelp
$ ln xdesigner xdhelp
I18N Limitation
Because Sun Linux 5.0 does not have locale-specific or localized components
for viewing fonts and performing input of locale specific characters in a GUI
for locales that use multibyte and some other locales, Sun Linux 5.0 is not
supported for use in other locales.
Installation
You can only use spaces in installer path names on the Windows platform.
J2EE Web Tier Development
System Requirements
The following table lists the system requirements needed to install a minimum
configuration on any of the supported platforms. The first column lists the
type of requirement: hardware system, memory, and necessary disk space. The
right columns lists the requirements by platform: Solaris 8 operating environment,
various Microsoft Windows platforms, and Linux.
Community
Edition |
Solaris 8 operating environment, SPARC platform,
Solaris 9 operating environment, SPARC platform
|
Windows 2000, Windows NT |
Linux |
Hardware
System |
Minimum |
Ultra 10, 333MHz |
Pentium III, 500MHz |
Pentium III, 500MHz |
Memory
(RAM) |
Minimum |
256 Mbytes |
256 Mbytes |
256 Mbytes |
Free
disk space for installation |
|
125 Mbytes |
125 Mbytes |
125 Mbytes |
|
Enterprise
Edition |
Solaris 8 operating environment, SPARC platform,
Solaris 9 operating environment, SPARC platform
|
Windows 2000, Windows NT |
Linux |
Hardware
System |
Minimum |
Ultra 60, 450MHz |
Pentium III, 500MHz |
Pentium III, 500MHz |
Memory
(RAM) |
Minimum |
512 Mbytes |
512 Mbytes |
512 Mbytes |
Free
disk space for installation |
|
350 Mbytes |
180 Mbytes |
180 Mbytes |
|
Operating Systems, Orbs, Databases, and Version
Control Systems
Note that on all platforms the recommended Netscape version is 6.2.
The following table describes Operating Systems, ORBs, databases, and
version control systems supported by this release.
Operating Environment |
ORBs |
Database Servers and JDBC Drivers |
Version Control Systems |
WinNT4 SP6
(CE and EE)* |
VisiBroker 3.4, 4.0,
Orbix 2000 for Java,
OrbixWeb 3.2,
ORBacus 4.0.4,
J2SE v 1.3 and 1.4 ORB,
J2EE v1.2 ORB |
Oracle 8.1.7/JDBC Thin Driver 8.1.7, Oracle
9i/JDBC 9,
MS SQLServer 2000/BEA WebLogic JDBC driver 5.1.0,
MS SQLServer 2000, JDBC-ODBC bridge/SQL Server 2000 ODBC driver,
Pointbase Server 4.2 Restricted Edition/PointBase JDBC Driver,
IBM DB2 7.1/JDBC Thin Driver for DB2 7.1 |
PVCS 6.610,
VSS 6.0,
CVS 1.11 |
Win2000 SP2
(CE, EE) |
VisiBroker 3.4, 4.0,
Orbix 2000 for Java,
OrbixWeb 3.2,
ORBacus 4.0.4,
J2SE v 1.3 and 1.4 ORB,
J2EE v1.2 ORB |
Oracle 8.1.7/JDBC Thin Driver 8.1.7, Oracle 9i/JDBC
9.
MS SQLServer 2000 (BEA WebLogic JDBC driver 5.1.0),
MS SQLServer 2000, JDBC-ODBC bridge/SQL Server 2000 ODBC driver,
Pointbase Server 4.2 Restricted Edition/PointBase JDBC Driver,
IBM DB2 7.1/JDBC Thin Driver for DB2 7.1 |
PVCS 6.6.00,
VSS 6.0,
CVS 1.11 |
Windows XP
(CE, EE) |
VisiBroker 3.4, 4.0,
Orbix 2000 for Java,
OrbixWeb 3.2,
ORBacus 4.0.4,
J2SE v 1.3 and 1.4 ORB,
J2EE v1.2 ORB |
Oracle 8.1.7/JDBC Thin Driver 8.1.7, Oracle 9i/JDBC 9
MS SQLServer 2000 (BEA WebLogic JDBC driver 5.1.0),
MS SQLServer 2000, JDBC-ODBC bridge/SQL Server 2000 ODBC driver,
Pointbase Server 4.2 Restricted Edition/PointBase JDBC Driver,
IBM DB2 7.1/JDBC Thin Driver for DB2 7.1 |
PVCS 6.6.00,
VSS 6.0,
CVS 1.11 |
Solaris 8 Operating Environment (SPARC platform, 32/64
bit)
(CE, EE) |
VisiBroker 3.4, 4.0,
Orbix 2000 for Java,
OrbixWeb 3.2,
ORBacus 4.0.4,
J2SE v 1.3 and 1.4 ORB,
J2EE v1.2 ORB |
Oracle 8.1.7/JDBC Thin Driver 8.1.7, Oracle 9i/JDBC
9
Pointbase Server 4.2 Restricted Edition/PointBase JDBC Driver,
IBM DB2 7.1/JDBC Thin Driver for DB2 7.1 |
PVCS 6.6.10,
CVS 1.11 |
Solaris 9 Operating Environment (SPARC platform, 32/64
bit)
(CE, EE) |
VisiBroker 3.4, 4.0,
Orbix 2000 for Java,
OrbixWeb 3.2,
ORBacus 4.0.4,
J2SE v 1.3 and 1.4 ORB,
J2EE v1.2 ORB |
Oracle 8.1.7/JDBC Thin Driver 8.1.7, Oracle 9i/JDBC
9
Pointbase Server 4.2 Restricted Edition/PointBase JDBC Driver,
IBM DB2 7.1/JDBC Thin Driver for DB2 7.1 |
PVCS 6.6.10,
CVS 1.11 |
RedHat Linux 7.2 (CE, EE) |
VisiBroker 3.4, 4.0,
Orbix 2000 for Java,
OrbixWeb 3.2,
ORBacus 4.0.4,
J2SE v 1.3 and 1.4 ORB,
J2EE v1.2 ORB |
Oracle 8.1.7/JDBC Thin Driver 8.1.7
Pointbase Server 4.2 Restricted Edition/PointBase JDBC Driver,
IBM DB2 7.1/JDBC Thin Driver for DB2 7.1 |
CVS 1.11 |
Platforms
The Sun ONE Studio 4 edition has been tested on the following platforms for
CE and EE and we recommend you use these platforms.
- Solaris 8 operating environment, SPARC platform edition (64-bit
kernel mode)
- Solaris 9 operating environment, SPARC platform edition (64-bit
kernel mode)
- Windows 2000 Professional
- Windows XP Professional (Client platform only; does not support server
applications)
- Linux Redhat 7.2
- Sun Linux 5.0
- *Sun ONE Studio 4, FCS edition has received limited testing for the following
platforms::
- Windows NT4, SP6 for both CE and EE editions
- Windows 98 2nd Edition (CE only)
- Solaris 8 SPARC (32-bit kernel mode)
- Solaris 9 SPARC (32-bit kernel mode)
The J2EE Reference Implementation 1.3 Server is bundled with the Sun
ONE Studio 4 installer.
-
BEA WebLogic 6.1 SP2 and 7.0 Application -- J2EE 1.3 Plus J2EE 1.3 Features
has been tested with Solaris 8 operating environment,
SPARC platform edition and the Windows 2000 platform.
-
The Sun ONE Studio 4 update 1, WebLogic Server Deployment Module is
available as an NBM from the Sun ONE Studio Update Center.
-
NOTE:Sun ONE Studio 4 requires J2SE SDK v. 1.4.0_02 or a version no
earlier than 1.3.1_01. See the information at the top of this Note.
Module Notes
General Considerations
On some Sun ONE Studio 4 configurations on the Solaris operating environment,
Netscape will not be automatically started by the IDE. In this situation,
you should start Netscape manually, after which you will be able to use Netscape
with the IDE correctly.
Due to a bug in JDK releases 1.4.0_02 and 1.4.1rc, an unusual number of error
messages sometimes appear in the IDE console. To avoid the
problem, consider using JDK version 1.4.0.
Debugger
JPDA Debugger on Windows uses sockets for a connection between two Java virtual
machines by default. It might create an attempt to contact a firewall or an
Internet provider. If this problem occurs, start the Sun ONE Studio 4 IDE
with a shared memory connection by using the following command:
-J-Dnetbeans.debugger.jpda.transport=dt_shmem
J2EE RI Web Server and HTTP Monitor
How to enable the HTTP Monitor for the J2EE RI web server:
- Uncomment the filter setting for
HTTPMonitorFilter
in conf/web.xml
.
- Restart the RI Server.
J2EE Web Tier Development
JSTL Standard taglib Replacements for FFJ tags
Sun ONE Studio 4.0 has replaced the proprietary set of custom tags
with the JSP Standard Tag Library (JSTL).
This note describes the correspondences between the previous set of tags
and the standard tag library. The JSTL is contained in the following .jar
files. available from the Tag Library Repository: standard.jar, containing
the JSTL itself, js.jar, containing the expression language interpreter, jstl.jar,
containing the auxiliary interfaces required for you to integrate your custom
tags, and jaxen-full.jar and saxpath.jar, containing the APIs needed for the
XML tags, especially the XPath capability.
1. Jar files
The proprietary FFJ tags came in 3 jar files: ietags.jar, dbtags.jar, and
tptags.jar; containing, respectively, the presentation tags, the database
access tags, and the transparent persistence tags.
JSTL uses the JSP1.2 feature of allowing multiple tld files in a single
jar. It provides several sets of tlds: core, which contains iteration, and
conditional tags; sql, which contains the database access tags; fmt, which
contains formatting tags, and xml, which contains xslt tags. There is no equivalent
for transparent persistence.
2. Expression language vs runtime expression values
With the proprietary FFJ tags, the only way to get dynamic data into attribute
values was to use runtime expression values (rtexpr values), also called scriptlet
expressions.
With JSTL, rt expr values are available, but also there is the addition
of expression language support, such as javascript or spel. Expression languages
greatly simplify access to java data structures, method calls and such, without
the need for scriptlet expressions. For example, you can access fields of
a query row like this:
<c:forEach var="row" items="${query.rows}">
<c:expr value="${row.NAME}">
</c:forEach>
3. taglib declarations
To use tlds from JSTL, you need a taglib declaration for each tld that you
are going to use. Each one has two versions, one for rt expression attribute
values and one for expression language attribute values. Each one also has
a recommended prefix. Here are the taglib declarations you will need for each:
Core, with expression language attribute values:
<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
Core, with rt expression (scriplet expression) attribute values:
<%@taglib uri="http://java.sun.com/jstl/core-rt" prefix="c" %>
Sql, expression language:
<%@taglib uri="http://java.sun.com/jstl/sql" prefix="sql" %>
sql, rt expression values:
<%@taglib uri="http://java.sun.com/jstl/sql-rt" prefix="sql" %>
Formatting, expression language:
<%@taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
Formatting, rt expression values:
<%@taglib uri="http://java.sun.com/jstl/fmt-rt" prefix="fmt" %>
XML, expression language:
<%@taglib uri="http://java.sun.com/jstl/xml" prefix="x" %>
XML, rt expression values:
<%@taglib uri="http://java.sun.com/jstl/xml-rt" prefix="x" %>
Sun ONE Studio 4- Standard Tag Library correspondences
Tag(s) |
Replacement |
ietags.jar
presentation tags
(iteration and conditional) |
Use the core tld, which contains iteration (forEach and forEachToken),
and conditionals. |
iterator over collections,
field,
fieldIterator
|
use <forEach var="varname" items="(expression that
evaluates to a collection)"> for the iterator tag.
Use the expression language to access fields of varname instead of the
field tag. <expr value="${varname.myField}"/>
There isn't a good equivalent for fieldIterator for accessing
bean properties.
|
iterator over JDBC ResultSets
(or RowSets),
field,
fieldIterator
|
use the sql query to generate results, and then use the expression language
to access the "Rows" of the results. Then forEach will iterate over the
rows. Elements of the row can be accessed individually by name. For example:
<sql:query var="myQuery" datasource="${myDataSource}" />
<c:forEach var="row" items="${myQuery.rows}">
<c:expr value="${row.NAME}"/>
</c:forEach>
The fieldIterator tag corresponds to the columns of the results, and can
be used as follows:
Getting column names:
<c:forEach var="columnName" items="${myQuery.columnNames}">
metaData: <c:expr value="${columnName}"/>
</c:forEach>
Iterating over column values:
<sql:query var="myQuery" datasource="${myDataSource}" />
<c:forEach var="row" items="${myQuery.rowsByIndex}">
<c:forEach var="column" items="${row}">
<c:out value="${column}"/>
</c:forEach>
</c:forEach>
|
if
choose
when
otherwise
switch
case
default
|
The JSTL library has equivalent conditional tags.
Use if for if
use choose / when / otherwise for either choose
/ when / otherwise or switch / case/ default .
|
database tags
dbtags.jar
|
use the sql tags. |
connection
|
The setDataSource tag maintains connections, and provides a jdbc data
source in its variable. For example:
<sql:setDataSource
var="example"
driver="${myDbDriver}"
url="${myDbUrl}"
user="${u}"
password="${pw}"
/>
|
query
|
use <sql:query> for SELECT queries. |
updates and
transaction
|
use <sql:transaction ...> .. <sql:update ... > .. </sql:transaction>
for inserts, updates, or deletes. For example:
<sql:transaction dataSource="${example}">
<sql:update var="newTable" dataSource="${example}">
create table mytable (
nameid int primary key,
name varchar(80)
)
</sql:update>
<sql:update var="updateCount" dataSource="${example}">
INSERT INTO mytable VALUES (1,'Paul Oakenfold')
</sql:update>
<sql:update var="updateCount" dataSource="${example}">
INSERT INTO mytable VALUES (2,'Timo Maas')
</sql:update>
<sql:update var="updateCount" dataSource="${example}">
INSERT INTO mytable VALUES (3,'Paul van Dyk')
</sql:update>
<sql:query var="deejays" dataSource="${example}">
SELECT * FROM mytable
</sql:query>
</sql:transaction>
|
cleanup
|
Not needed. |
Bugs and Issues
Note :Linked Bugs other than those available through SunSolve require
a Java Developer Connection login to view.
Correction to GSG
EE GSG Appendix B, Table B-1 Port Usage, under Java Web Services Developer
Pack UDDI Server, ports 8095 and 8089 should say $FORTE4J_HOME/jwsdp/uddi_base/conf
as the directory containing the server.xml
file.
General IDE Issues
- 12496
Description: When right-clicking a node, the contextual menu appears in the
upper-left corner of the screen. This bug only occurs with some Linux window
managers.
Workaround: In the IDE's installation directory, open the bin directory. Open
the ide.cfg file and add the following option:
-J-Dnetbeans.popup.linuxhack=true
11149
Description: When working in MDI mode, the Explorer incorrectly gets focus
when you click on the property sheet. If you open a file in the Source Editor,
the Properties window displays the properties for node selected in the Explorer
instead of the file selected in the Source Editor.
11020
Description: There are startup errors if you have an incompatible XML parser
in the classpath.
Workaround: Remove all JAR files from {jdk_home}/jre/lib/ext.
Filesystems or items within filesystems must be mounted and selected for
you to display the template list for creating new obects when using File >
New, the "New Wizard".
19700
Description: When using the Sawfish window manager and J2SE SDK v. 1.4, clicking
on one of the main menu items causes the menu to drop down in the wrong location.
Workaround: Upgrade the Sawfish window manager to version 1.0.1.
12557 Description:
If you try to modify source while it is still being loaded, there is a deadlock
in the IDE.
19217 Description:
Sizes of split maximized windows not remembered after restart.
19077
Description: Deleting a workspace that has the editor open on it causes the
editor to close on all workspaces.
12451
Description: Commands from popup menu not fully visible. The bottom part of
the CVS filesystem menu (not the individually checked out files) displays
behind the Windows quick launch bar.
Workaround: In the ide.cfg file, set the netbeans.screen.rect property.
It describes the rectangle on the screen where the menus will be described.
It was intended for the case where Windows user has a task bar that is not at
the bottom or is more then one row tall. For example, if your screen is 1024x768
and you have a two row task bar at 20 pixels per row, then try
runide.exe -J-Dnetbeans.screen.rect=0,0,1024,728
17771
Description: When the persistent Properties window is open as its own frame,
selecting any node under IDE Configuration | Look and Feel | Workspaces in
the Tools window causes the node to be renamed "Properties of Properties of
Properties...". This change reverts once you close and reopen the Tools window.
Workaround: Dock the Properties window into the Explorer or close the Properties
window while working in the Tools window.
14522
Description: Position of minimized frames in MDI mode changes after restart
of the IDE.
19521
Description: SDK memory leak on clipboard operations can lead to OutOfMemory
error on Solaris and Linux. This might be related to an SDK memory leak (see
http://developer.java.sun.com/developer/bugParade/bugs/4531274)
19133
Description: AccessControlException when using the IDE's scripting module
to run a DynamicJava script.
19506
Description: On Windows, if you set up the IDE to use Netscape 6 as the web
browser and attempt to start the browser from the IDE, an error dialog is
thrown which says "Could not access the URL through the external browser."
However, the browser is eventually opened with the correct URL.
Also, three Netscape windows end up being opened - a blank one, one with
the user's home page, and one with the URL from the IDE.
19589
Description: When exporting to a WAR-file manually or automatically (by starting
the built-in Tomcat server), all linked directories and files are included
in the file, but they are not placed in the directory where the link originally
was. They are instead placed in the root directory, and the web app can not
find them.
11338
Description: On some configurations, the IDE freezes on exit when the HTTP
server is running.
4623152
Description: When running on the J2SE SDK, v. 1.4, the IDE occasionally crashes
when you uninstall modules.
For J2EE development, it may be necessary to allocate more memory for the
IDE.
For example to allocate 150 MB for use with the IDE, use the following
command line option:
runide -J-Xmx150m
Also, to view memory usage and free memory, there is a feature that can
be enabled in the main IDE toolbar.
To enable, right-click on the Toolbar and click on the checkbox for the
Memory menuitem. To free up memory,
click on the Garbage Collect toolbar button. To view memory usage, mouse
over the memory usage graph.
For more information, see
http://performance.netbeans.org/articles/hat-howto/index.html#mtoolbar
23136
Description: On Solaris(TM) operating environment, New from Template Wizard.
To reproduce, select a node on the Filesystems Tab of the Explorer.
Shift-F10 to bring up context menu Click rright arrow on "new";
use the up and down arrows to select different components: The IDE locks
up and you can no longer navigate via keyboard, using the mouse unlocks
the IDE. This is reproducible in the Solaris 9 operating environment with
the Java 2 SDK v. 1.4 but it is not reproducible with the Java 2 SDK v.
1.4.1.
19491
Description: Some objects in the IDE appear as XML nodes instead of their
original node type. For example, in the Options window, VCS Generic filesystem
nodes under IDE Configuration appear as XML nodes. Workaround: Start the IDE
with the netbeans.xml.uselooks=true switch,
then right-click the node and choose Set Look > Basic.
4738042
Description: BasicMenuUI$MenuKeyHandler.menuKeyPressed() incorrect for dynamic
menus.
Because the position of mnemonic keys are captured after first use, repeated
use of mnemonic keys in dynamic menus where the available items change
in context, such as the Tools menu, might result in the wrong item being selected
or the ArrayIndexOutOfBounds
exception being thrown.
Workaround: Use the mouse or arrow keys for dynamic menu item selections.
Ant Support
- 16102
Description: If you include international characters in your Ant script, editing
the script in the Explorer rewrites the ISO-8859-1 encoding to UTF-8. This
problem does not occur if you use the UTF-8 character encoding for the script
and UTF-8 is your platform's default encoding.
Workaround: Edit Ant scripts with international characters only in the Source
Editor.
- 21180
Description: Ant scripts that use Internal Compilation print compilation errors
to the wrong Output window tab. When using the Java 2 SDK v.1.4.0 and running Ant scripts
that use Internal Compilation, the IDE sends error output from all Internal
Compilation tasks to the same Output window tab. All other output is displayed
on a new Output window tab for each Ant script. Workaround: Do not use Internal
Compilation with Ant scripts with the Java 2 SDK v.1.4.0. Use a different compiler
type such as Jikes or External Compilation or use a different version of the
the Java 2 SDK.
Debugger (Java)
The following are bugs in specific versions of the SDK or Java virtual machine
that cause problems when debugging in the IDE.
- 4420211
Description: When running the IDE on Microsoft Windows systems with SDK 1.3
and SDK 1.3.1, JPDA shared memory transport is not available unless you have
{JDKHOME}/bin in the PATH variable when running the IDE.
Workaround: Include {JDKHOME}/bin in the PATH variable when running
the IDE.
- 4362206
Description: The debugged process can sometimes crash with FATAL ERROR in
native method: JDWP "util.c".
- 4409562
Description: When using shared memory transport with the JPDA debugger, the
IDE can sometimes crash with an EXCEPTION_ACCESS_VIOLATION error.
This error occurs for all SDK 1.3 releases on the Microsoft Windows system
when using the Java Classic VM.
Beans
- 20441
Description: Automatic BeanInfo generation now uses lazy initialization for
each bean property rather than static initialization for all fields at once.
When using the BeanInfo Editor to edit bean info files that were created using
previous versions of FFJ, the lazy initialization code is layered over the
static initialization code, resulting in cluttered code.
Examples
- 4745736
Description: Samples contain obsolete files for the Sun ONE Application Server
such as
*.*ias* and *.TpCmp
Workaround: If you are deploying the StockApp sample application that comes
with the IDE to the Sun ONE Application Server, the following files are obsolete
and you can remove
them: EJBModule_Stock.ejbmiascmp
, EJBModule_Stock.ejbmoduleias
.
Also, if you do not have Web Logic you can remove EJBModule_Stock.ejbmodweblogic
.
Form Editor
- 19030
Description: The Project tab is selected after opening a Java form object
when using J2SE SDK v. 1.4.0.
Forte X-Designer
When you access the Online Documentation Access for Forte X-Designer through
the Help menu, the following broken links are present:
- The Users' Guide link under Online Documentation is not correct. The Users'
Guide can be found at:
file:<install path>/docs/xdesignhtm/index.html
a PDF version of the User's Guide is also available at:
file:<install path>/docs/xdesignug.pdf
- The README link under Online Documentation is not relevant to this release.
- The WorkShop Documentation Index link under Online Documentation is not
relevant to this release.
- The Help concerning the tutorial scripts available link under General READMEs
is not relevant to this release.
When you use Help >Viewer >Use XD/Help
, Forte X-Designer
gives the following message when you try to access the Help... command of
the Help menu:
Failed to read file: No such file or directory
The workaround is to use Help >Viewer >Use Netscape
.
Internationalization (I18N)
For Internationalization bugs, please refer to the Knowledge Base.
Installation
4739175
Description: Can't install EE in silent mode
The installer always takes soldevInstall
as yes
,
installs Solaris Platform developer modules, and expects fccpath
while installing ide; finally creates an install.log with the following error:
Setup.product.install, com.sun.installer.PostInstallSolDevAction, err,
FCC Path not specified
Workaround: Uninstall the Solaris Platform developer modules, if necessary,
by using the uninstaller.
JAR Packager
- 14130
Description: Sometimes unable to successfully add files to the already created
JAR recap file.
Workaround: Use Java 2 SDK, SE v1.4.0.
J2EE EJB Builder Issues
- Error and warning badges do not go away. Sometimes when working with
an enterprise bean, you might make a change that causes the bean to become
invalid. For example, you remove an ejbCreate method from a bean
class, but leave the create method declaration in the home or local
home interface. In this instance, the enterprise bean becomes invalid because
the bean class method is missing, so the create method node shows
an error badge to indicate an error exists. Additionally, the enterprise bean's
node displays a warning badge to indicate that the bean is no longer valid.
If you fix the problem, the error and warning badges should automatically
be removed from the icons. However, in some cases, fixing the problem will
not change the icon, and the error badge or warning badge will still be displayed.
Workaround: There are two ways to force the IDE to updated the node icons:
- Right-click the bean's node in the Explorer and choose Validate EJB.
- Right-click any node that has an error or warning badge displayed and
choose Error Information. If the error has been corrected, the node icon
is updated (its error or warning badge is removed).
- 4672514 Description:
As described in the previous release note, when you rename the ejbSelect
method of a CMP bean, the error badge will appear and remain until the you
choose the Error Information menu item. The enterprise bean node also shows
a yellow error badge at this point. Choosing Error Information or Validate
EJB from the bean node's contextual menu will clear that icon. Although the
bean is valid and there are no error or warning icons, there is still one
more problem to clear up. The bean will not compile if there are any return
statements that use the new name of the ejbSelect method as a return
type. The IDE does not update return statements automatically, and you will
need to edit these return statements to get the bean to compile successfully.
- 4681252 Description:
When you edit a finder or select method's EJB QL WHERE clause, the
IDE might add an extra space at the beginning of the clause. This extra space
is not a problem unless the WHERE clause turns out to be invalid
and you fix it by deleting the entire clause. If you leave in the leading
space, odd behavior can result.
For example, you have the following invalid WHERE clause:
WHERE [<space>yyyyy]
This clause causes an error because the EJB QL is incorrect. Using the
property editor to correct the mistake, you remove the yyyyy
text but miss the leading space character. When you click the editor's
OK button, you see an error indicating an incorrect EJBQL statement, and
the WHERE clause reappears in the displayed SQL. To correct the invalid
WHERE clause, use the property editor to remove the space.
- 4687235
Description: Renaming a CMP bean using the rename option on the logical EJB
node can throw an exception when the bean's code contains array return types
that must also be renamed. The array return types are generated by certain
Pointbase datatypes. The problem does
not seem to occur consistently, but when it does occur, exceptions begin to
be thrown for renaming any bean and
filesystem must be unmounted. The IDE should be shutdown and restarted. Once
the filesystem is again mounted, the exceptions
should not occur. Changes in the rename of the array return statements should
be made manually.
- 4682746
Description: Clicking ESC key in Customizer for BMP EJB causes IDE to hang.
When opening the Customizer dialog for BMP EJB, selecting Run as Specific
Security Role, and entering the wrong name into the now-disabled Security
Role text field, and clicking the ESC button, the IDE hangs. See also the
Java 2 SDK bug 4678319.If the user uses the ESC key to try and cancel out
of a dialog.
- 4721745
Description: If an EJB is created using the CMP Wizard's new from 'EJB 2.x
Class' option, and the class files contain ejbSelect methods, then after the
bean is created, the return type for the
ejbSelect
will be set
to the wrong datatype. The EJBQL is also lost because it is stored in the
deployment descriptor and not in the class files.
The fact that the EJBQL statements must be entered again on the ejbSelect
method's property sheet is expected product behavior. Both issues may be easily
corrected by opening the property sheet for the ejbSelect
method,
adding the proper EJBQL statement (using customize) and then setting the return
type for the ejbSelect
method. If the return type is set before
the EJBQL is entered, then an exception may occur.
- 4751369
Description: If you create an EJB in a package and then rename the package,
attempting to add EJB related methods (create, finder, business, etc)
will only add the method to the interface class(es). The corresponding bean
class method will not be added and must be typed in by the user by editing
the
bean class in the source editor.
J2EE Application Assembly Issues
- 4670361 Description:
If you rename a module that has been added to a J2EE application, but you
have never selected the application node, the application is not notified
that the included module has been renamed. Clicking the application node initializes
it. The next time you click the application's node, it will initialize, recognize
that there is no link to the module, and display an error badge indicating
a broken link.
Workaround: The user can fix the link by right-clicking the node of the included
module and choosing Repair Broken Link.
- 4664633 Description:
An application that contains a connector module cannot be deployed to J2EE
RI 1.3.1. This behavior is a server regression in J2EE RI 1.3.1. Some connector
modules, in particular the sample connectors included with J2EE RI, cannot
be deployed as part of an application EAR file.
Workaround: Remove the connector from the J2EE application and deploy the
connector standalone.
- 4457884
Description: When you are assembling large applications containing hundreds
of components, the IDE can run short of memory.
The application assembler's memory footprint depends on the size of the
deployment descriptors of the assembled J2EE components and not on the number
of components themselves. For example, adding one EJB module with a 1000-line
deployment descriptor to an application takes as much space as adding two
EJB modules, each with 500-line deployment descriptors.
When assembling a large application, if you notice a significant slowdown
in processing time, it could mean that you are running low in memory.
Another way of tracking how much memory you are using is to use the MemoryMeter.
To enable the MemoryMeter:
- Right-click the toolbar and enable the Memory toolbar checkbox in the
contextual menu.
On the left side of the main toolbar, a new toolbar section appears
that contains two controls. The progress bar on the left shows the amount
of memory being used on the NetBeans heap. The button on the right enables
you to invoke garbage collection.
- If you click the progress bar, a marker is set on the current used
memory size. The tooltip of the button shows the allocated-heap-memory/heap-size
in kilobytes. If you press the Shift key before moving the mouse over
the progress bar, the sizes in the tooltip are shown in bytes.
If you are running low on memory, exit the IDE and increase the memory
available to the IDE. In order to increase the amount of memory, you
can use the JVM flag -Xmxsizem.
For example, -Xmx150m specifies 150 megabytes of memory for
the IDE. To use this parameter as a parameter of the runide program,
you must use the -J flag first, as follows:
runide.exe -J-Xmx150m
Even though memory consumption depends more on the size of the deployment
descriptors than on the number of components, the following example
might help you estimate how much memory you need:
- 1 application - 4 modules - 10 EJBs (5 methods each, 10 EJB Refs,
20 Env Entries) : 18M
- 1 application - 12 modules - 35 EJBs (half with 5 methods, 22 EJB
Refs, 44 Env Entries) : 40M
In the these examples, you do not need extra memory. But if you estimate
that you will need more than 100M, consider starting the Sun ONE Studio
environment with the -Xmxsizem flag.
In Sun ONE Studio 4, an application does not load all its deployment
descriptors until the application is selected. You can avoid using memory
by not selecting (not clicking) nodes of applications that are not currently
in use.
- 4684236 Description:
With some EJB modules, exporting an EJB JAR file to an existing EJB JAR file,
thereby overwriting the existing file, can take a long time. Deleting the
existing JAR file is the part of the operation that is slow.
Workaround: Choose a new file name for the exported JAR file that does
not cause an existing file to be overwritten.
- 4684226 Description:
When you right-click an EJB module node in the Explorer, the contextual menu
should display immediately. For some EJB modules that contain entity beans,
when you click the node for the first time, there might be a long delay before
the menu pops up. This delay is more likely to occur when you have multiple
enterprise beans that share the same classes for the remote and home interfaces
or for other interfaces.
-
Basically the problem occurs if the user has entered some invalid data
on the dialog and then tries to use the ESC key to dismiss the dialog. Here
is an example.
- Invoke "Add Business Method dialog"
- Click "Add" button to add a method parameter.
- Enter "123" as the parameter name.
- Press ESC key to dismiss dialog.
- At this point, FFJ is deadlocked. Its a the Java 2 SDK bug (4678319).
This problem only occurs if there is invalid data on a modal dialog that
is invoked from another modal dialog and the user uses the ESC key to dismiss
that second modal dialog.
-
4692461
Description: RI pathname on Windows: If the installation directory's pathname
is too long, the J2EE RI server may fail to start with a message saying
"input line too long". The workaround is to install the IDE/server
into a directory with a shorter path name.
J2EE Reference Implementation and Web Server
- 4689252,
4691591
Description Deleting a Web-module resource reference can possibly lose the
RI information for references other than the ones deleted. If this happens,
you need to re-enter the RI information for the lost RI references. Also,
deleting and renaming several Web-module resource references at the same time
can cause exceptions in the RI plug-in, and possibly lose RI information that
web module. A workaround may be to only delete or rename one reference before
hitting OK to save the change. If the
eb.webj2eeri
file has become
a zero-length file, you will need to delete that file and restart the IDE
in order to enter RI-specific information on the RI tabs for the Web property
sheets. (If the web.webj2eeri
file is zero-length, you might
the following types of errors:
org.xml.sax.SAXParserException
J2EE Web Tier
- 4645926
Description: Image names containing dashes (-) cause incomplete path storage.
In the Icon property editors, attempting to use an image name containing
a dash (-) causes incorrect information to be stored in the deployment descriptor
(web.xml). If you enter a pathname or URL containing a dash, only the information
up to the dash is stored in the deployment descriptor.
Workaround: Rename image files so the filenames do not contain dashes (-)
- 4645922
Description: Cancel Button in the Icon property editors malfunctions.
Making changes in one of the Icon property editors, then clicking cancel or
using the Esc key causes the changes to be made, overriding your previous
settings. This behavior occurs only intermittently.
- 4491489
Description: Mounted JAR file is extracted when added to a WAR
file
When a JAR file that is mounted on the Filesystems tab is added to a WAR file
using the Extra Files property on the Web Module, the extra JAR file is extracted
into all its content files, and these files are added to the WAR file.
Workaround: Mount the directory containing the JAR file, then select the
JAR file from the mounted directory.
- 22712
Description :JSTL Bata examples do not work with Tomcat 4.0.1
JSTL Bata examples do not work with Tomcat 4.0.1 on the Java 2 SDK v. 1.4.0.
The examples do work with Tomcat 4.0.3.
Workaround: Download and install Tomcat 4.0.3, register it in the IDE (see
"Adding a Tomcat 4.0 Installation" in the Tomcat 4.0 Plugin online help),
and set it as the default server.
-
22952
Description: Line numbers of JSP breakpoints are displayed incorrectly in
the debugger.
If you create a JSP, then go to any line of the JSP page and choose Debug
> Toggle Breakpoint, the breakpoint is displayed in the debugger window
with an incorrect line number.
- 21963
Description: New Wizard does not check for duplicate servlet names
When you use the New wizard to create a servlet, note that reusing an existing
servlet name will result in the deployment descriptor (web.xml) pointing to
the newly created servlet class rather than to the existing servlet class
of the same name.
- 20877,
20384 Tag
library jars cannot be replaced in the WEB-INF/lib directory after parsing
and executing JSPs in the relevant web module. The JSP parser, compiler, and/or
executor sometimes hold on to pointers to tag library jars in the WEB-INF/lib
directory. On Windows, the result is that jars intermittently cannot be deleted,
resulting in a "Cannot delete file..." exception. On Solaris, the jars can
be deleted, but when they are replaced with new jars, the compiler "sees"
the old versions of the jars. To get the correct jar replacement behavior,
you must restart the IDE.
To work around this problem, develop tag libraries by referencing the TLDs
and tag handler classes directly, without packaging the tag library into a
jar file until the end of the development cycle.
1. Create the tag library in the WEB-INF/lib directory and do all development
there.
2. Set the tag handler generation root to the web module's WEB-INF/classes
directory.
3. To use the tag libraries from a JSP page, either directly refer to the
taglib URI as "/WEB-INF/lib/mytaglib.tld" or set an alias in the deployment
descriptor with a tag library entry.
- 25907,
23135 If
a web module contains JSP pages that have the same name but are stored in
different directories, then compilation errors result when the "Build All"
command is used. This problem occurs because the Tomcat JSP compiler creates
two servlets that have the same pathname.
To work around this problem, you can either compile the JSP pages one by one,
or set the IDE integration mode to minimal. See the Tomcat Plugin help page
entitled Adding a Tomcat 4.0 Installation for more information about
setting IDE integration mode.
- 26420.
When testing or debugging web applications, an exception (
org.apache.jasper.JasperException
or j
avax.servlet.ServletException:
duplicate class definition
) may be thrown. It will appear in the server
log file and/or in the web browser window. This bug is a consequence of
Tomcat bug 6907, for details see
http://issues.apache.org/bugzilla/show_bug.cgi?id=6907 . The workaround
is to restart the Tomcat web server.
Native Connector Tool
Available with the Solaris 8 operating environment, SPARC platform
edition only; Sun ONE Studio 7, Compiler Collection (formerly Forte Developer
7) required.
- Forte Compiler Collection 7 Patch 111706 Required for Native Connector
Tool.
If you have problems using the -xnativeconnect compiler option
to create an enhanced shared library, install patch 111706. This patch resolves
the following problems:
- 4658928 Dwarf2 template inline member function getting extra template
type parameters
- 4660288 Missed method's attributes in merged BIDS
- 4662845 Fatal error in ld: Abort (core dumped)
To download this patch, go to http://sunsolve.Sun.COM.
- 4684830, 4644451: Native Library Must be Linked With All Libraries on Which
It Depends
When you build the native library, you must use the -l option
to link each library upon which the native library depends. For example,
you must include -lCstd if you reference symbols from this library.
If you do not link in the referenced libraries, you will get a symbol not
found error when you generate the native connector components
Do the following to verify that you have linked in all necessary libraries:
ldd -r -e LD_LIBRARY_PATH= your-library.so
If you have not linked in all necessary libraries, the ldd command emits
a symbol not found message.
- 4684573, 4653049: Java Threads With NCT Not Supported in This Release
The explicit use of Java threads with Native Connector generated classes
is not supported in this release of the Native Connector tool.
- Some C++ Methods Are Not Accessible From the Java API
Under certain circumstances, a method belonging to one of the following
types might not be accessible from the generated Java API. For details,
search for the specified bug ID at
http://sunsolve.sun.com
- Inline methods: 4641470, 4649118, 4661839
- Virtual methods: 4641484
- Inherited methods: 4642929
- Polymorphic methods: 4644434
- Template methods: 4649189, 4661861, 4670371
- Constructors with name conflicts: 4652011
- Operator methods: 4656749
- Some C++ Classes and Types Are Not Accessible From the Java API
Under certain circumstances, an object of the following classes and types
might not accessible from the generated Java API. For details, search for
the specified bug ID at http://sunsolve.sun.com
- Array types: 4649701
- Const qualified types: 4661328
- Volatile qualified types: 4661328
- Unnamed enum, struct, or union types: 4666412
- Classes with static const fields: 4672901
- 4658042, 4668581: Some Types in the C++ Standard Library are Not Accessible
Some C++ Standard Library types, such as the string class and the Standard
Template Library collection classes are not accessible from the generated
Java API.
- 4668150: Problem Using NcRuntime.dispose() to Delete Unallocated Object
When you use NcRuntime.dispose() to delete an unallocated object, the program
fails with an unexpected exception.
- 4529283 Invalid Processing Of Multi-Byte Character Sequences
C++ byte arrays (such as char *, unsigned char*.) that contain bytes with
values greater than 127 will not be processed properly, and Java Strings
that contain non ISO-Latin characters will not be processed correctly by
the native connector runtime.
- 4632362, 4632384, 4632392, 4645299: Text Entered In Native Connector Tool
Input Fields Cannot Contain Non-ASCII Characters
Any text that is typed into Native Connector tool input fields, such as
input for the package name, the connector name, class names, or method names,
cannot contain non-ascii characters
Output Window
- 17337:
Description: Using CTRL-C to copy in the Output Window causes the window to
scroll to the bottom. This is caused by the fact that the Output Window accepts
CTRL-C as input.
Program Performance Analysis Tools
Available with the Solaris 8 operating environment,
SPARC platform edition only; Forte Developer 7 required.
The following bugs can be fixed by installing the Performance Analyzer patch,
number 111705-01.
The following bugs can be fixed by installing the appropriate patches
to the Solaris 8 operating environment, SPARC
platform edition.
- 4248299: Description: Under some circumstances profiling interrupts (SIGPROF)
for one or more LWPs
may be lost. When this happens, data displayed does not include thread profile
metrics for threads run
on those LWPs. This happens most often with unbound threads in the Solaris
7 operating environment.
- 4352643: Description: When a program is running with unbound threads, the
interrupt from a hardware counter overflow (SIGEMT) is occasionally lost and
cannot be recovered.
Workaround: Use bound threads, or if you are running under the Solaris
8 operating environment, SPARC platform, use the alternate threads
library in /usr/lib/lwp.
- 4509116: Description: Profiling an application when there is a load on
the system can result in significant undercount of User CPU time, up to 20%.
The missing User CPU time shows up as either System CPU time or as Wait-CPU
time.
- 4273174, 4304367: Description: An application that uses more than 32 CPUs
or threads can run much slower when performance data is being collected.
See the Sun ONE Studio 7, Compiler Collection Program Performance Analysis Tools
readme (analyzer.html) for more information. You can find this readme
from the documentation index at the following URL: /opt/SUNWspro/docs/index.html.
Projects
- 18530:
Description: The IDE permits you to select project's root node as a main class,
although this option should be disabled. When the IDE is set in this way and
the project is executed, a StackOverFlow exception occurs.
- 21326:
Description: When a JAR recipe file is mounted in the Explorer, changing projects
sometimes throws an error. No data loss occurs.
Solaris Native Languages Support Problems and Incompatibilities
Available with the Solaris 8 operating environment,
SPARC platform edition only; Forte Developer 7 required.
Sun ONE Studio 7, Compiler Collection Integration Set-Up
The Solaris Native Languages Support module provides support for mixed language
development with the Java programming language, C programming language,
C++ programming language, and Fortran programming language for the Solaris
operating environment. To use the Solaris Native Languages Support module
you must:
- Install the Sun ONE Studio 7, Compiler Collection
- Configure the IDE so that it can locate the compilers, debugger, and other
native language support features
For more information about configuring the IDE to enable the IDE to locate
the Sun ONE Studio 7, Compiler Collection, choose Help > Helpsets >
Solaris Native Languages Support Help from the IDE's main window. Then expand
Setting Up Your Solaris Native Languages Support Environment and click How
the IDE Finds the Compilers and Tools to Use. Also see the forte_fcc
man page in the install-path/man/man1
directory.
Solaris Native Languages Support Environment
- Sun WorkShop software projects are not supported in this release.
- 21874: The installer program installs the Solaris Developer Support modules
by default, but you can choose to not install them. If the person who did
the initial installation opted to not install any of these modules, you can
add them later by installing the modules as NBM files. When you update the
IDE in this way, you must install the following NBM files into the IDE installation
directory and not into the user directory:
- solaris_support
- gvim-sparc-SunOS
- xemacs-sparc-SunOS
- cpp
- xdesigner
- xdsparc
Before you install these NBM files with the Update Center wizard, first
make sure you have write access to the IDE directory. Without write access
to the IDE directory, the NBM files will be installed in the user directory
which may cause the editors to malfunction when accessed through the IDE.
To force these NBM files to be installed in the IDE directory, be sure
the "Global" checkbox is checked when the NBM files are displayed in the
last panel of the Update Center wizard.
External Editors
- You need at least version 21.1.9 of the XEmacs editor. Version 21.1.14 is
shipped with this release. You need the version of the VIM editor that is
shipped with this release. No other version will interoperate properly with
this version of the IDE.
- A file might open in the NetBeans editor rather than an external editor.
There are two reasons why this might happen:
- The file type is unrecognized by the external editor.
Workaround: Choose Tools > Options
. Expand Editing
and select External Editor. Click the Expert tab. In MIME Types text
box, add the MIME type of the file you want to open.
- While you were waiting for an external editor to open a file or buffer,
you got the following message:
Waiting for connection from external editor.
Click Cancel to cancel the operation and disable external editor support.
If you clicked Cancel in order to close the dialog box, you asked the
IDE to use the NetBeans editor instead of one of the external editors.
To change your editor, choose Tools > Setup Wizard
and
go to the Text Editor Preference pane
- If you have opened multiple files in an external editor and you try to
open a previously opened file through the Explorer, the editor might open
the file in the background.
Workaround: To bring file or buffer to the front, choose the file
name from the Buffers menu in the VIM editor or the Buffer menu in the XEmacs
editor.
- If the IDE does not recognize a file type, the IDE does not open the file
in the editor. Instead, the IDE prompts you to convert the file to text so
that the file has a .txt extension. Examples of file extensions that the IDE
does not recognize are .el, .gif, and .properties.
- If you launch the IDE from XEmacs, you should not change the Password property
in the Options > Editing > External Editor settings. If you change the
password from its default value, XEmacs will be unable to establish a connection
to the IDE.
- 4683491: If you install the external editor NBM file (externaleditor.nbm)
in your Sun ONE Studio 4 user directory instead of the Sun ONE Studio 4 installation
directory, the XEmacs and GVIM paths and the XEmacs Library directory might
not be set correctly.
Workaround: Choose Tools > Options. Expand Editing and select External
Editor. Click the Expert Tab.
- Enter the full path for XEmacs and VIM as follows:
installation_path/platform/bin/gvim
installation_path/platform/bin/xemacs
- Enter the XEmacs Library directory as follows:
s1studio-user-directory/emac
- 4690689: Whenever you change the external editor to a different editor
(such as change from using XEmacs to using VIM as the external editor), you
must first close any open editor windows.
- If you are accessing the Solaris Native Languages Debugger the Toggle Breakpoint
feature is off by one line.
Workaround: Use the Add Breakpoint window instead or put the cursor one
line above where you want the breakpoint to be.
Solaris Native Languages Debugger (Solaris 8 operating environment, SPARC platform edition
only)
- If you see a large object in a value display (for example, Local Variables,
Watches, or Expressions), the type and value columns will be empty. If you
want to see the value of that object, you can create an array-slice expression
in the expressions viewer. For example, foo[0..49].
- Sometimes when you load a program for debugging, a Debugger window in the
Editing workspace opens in addition to a Debugger window in the Debugging
workspace.
Workaround: Use the Debugger window in the Debugging workspace and close
the extra Debugger window.
- You might see many messages written to the console. The output is benign
and can be ignored. If you find an obvious problem, use
Help > Send
Comments
to send your comments and the console output to the software
development team.
- If you assign a new value to a variable, you might not see a change in
the Local Variables view, Watches view, or Expressions view.
Workaround: Hide and then show the view that is showing the variable.
This causes the Debugger to resend the updated value.
- You can use multisession debugging, but the Watch window might not follow
multiple sessions correctly and might not show data for the correct session.
- If you are debugging a 64-bit Java application and have set the jvm_invocation
environment variable to indicate that 64-bit JVM software is to be used, you
might receive the following message when you run your application:
dbx: Value of `$jvm_invocation' must include
the -Xdebug option to invoke the Java VM in debug
mode(ignoring it)
-Xdebug: not identifier
Workaround: Set the jvm_invocation
environment variable again.
Source Editor
- 5697 Description:
Sometimes an unselected Source Editor window receives key strokes. This is
an old and difficult-to-reproduce issue. Several attempts have been made to
fix it, but the problem still recurs for some users. The problem seems to
have diminished in FFJ 4.0.
- 17061
Description: When using an external editor (such as vi or xemacs), code generated
from templates with the New wizard may be corrupted due to a lost character.
Workaround: Use the IDE's built-in Source Editor when you create objects from
template.
Version Control System Support
- 19697
Description: Calling CVS commands on deleted files causes a java.lang.ClassCastException.
This sometimes happens when you use the Delete command in the IDE on a file
and then try to call a CVS command on the node of the deleted file.
- 19691
Description: When your userdir name contains a space, the CVS commit command
does not automatically load additional commit information in the commit log.
The commit command still executes correctly.
Workaround: Use a userdir that does not include spaces.
- 22851
Description: Get All and Add All commands sometimes do not execute completely.
If this happens, some files might not be retreived or added successfully.
Workaround: Expand all of the folders and subfolders in your source tree before
running the command to reduce the probability that the commands will fail.
If a command fails, kill the command, invoke Refresh recursively on appropriate
node, and run command again.
- 22436
Description: When generic VCS filesystems are mounted, switching projects
can sometimes cause the IDE to hang.
- 23470
Description: Keyboard substitution options for the CVS Import command do not
work. If you import a directory that contains binary files with the
"Binary (-kb)" option, the binary files are treated as text files
and data loss occurs.
Workaround: Import binary files outside of the IDE.
Web Services
Accessing Web Services through a HTTP proxy
In order for a web service client to talk to a web service thru a HTTP proxy
(for instance, thru a firewall), add the following lines in the generated
client proxy class to the getNewCall
method before the "return
call;" line:
org.apache.soap.transport.http.SOAPHTTPConnection connection
= new org.apache.soap.transport.http.SOAPHTTPConnection();
connection.setProxyHost(System.getProperty("http.proxyHost"));
connection.setProxyPort(Integer.parseInt(System.getProperty("http.proxyPort")));
call.setSOAPTransport(connection);
Now you can use the normal java HTTP proxy system properties:
-Dhttp.proxyHost & -Dhttp.proxyPort
RMI Module Configuration
The Java Web Service module creates all the necessary files for implementing
and consuming web services in Java using the open standards compliant JAX-RPC
technology. In accordance with these standards, some of the files generated
on behalf of the user implement the interface "java.rmi.Remote".
By default, the RMI module provided in the Enterprise Edition automatically
detects when new files are created in the IDE that implement the "java.rmi.Remote"
interface, and asks the user whether they wish to track additional properties
on the file relevent to deploying the objects to an RMI server. Generally,
users implementing web services will be deploying these objects only to an
HTTP server or J2EE-compliant application server, so RMI service is not necessary.
You should respond "No" if the RMI Module prompts them to track
these properties. If you want to deactivate this detection process, they can
do so by selecting
Tools-Options-Distributed Application Support-RMI Settings
and setting the Detect
Remote
option to false
.
Errors with Existing XML Operations using Static Methods
If you have an XML operation that was created in a previous version of Sun
ONE Studio, and that uses a static method, you will get a compile error because
of changes made in the metadata of the XML operation and the way its code
is generated.
Use the following steps to remove the method from the XML operation and then
re-add it:
- Expand the XML operation node to display the Methods node.
- Expand the Methods node to display the methods for this XML operation.
- Right click on the static method and select Delete to remove the reference
to this method.
- Add the method by right clicking the XML operation node and selecting
Add Method. Then, select the static method and click OK.
Enabling a Sun ONE Studio 3-based Apache Soap Service with XML Operations
with Complex to work in Sun ONE Studio 4
A Sun ONE Studio 3-based Apache SOAP service with XML Operations with complex
types will work in Sun ONE Studio 4 only with an Apache SOAP based client.
To enable it to work with a JAX-RPC based client, the user must regenerate
the service in Sun ONE Studio 4 (so that the service will then be using JAX-RPC
instead of Apache SOAP).
If you have built web services on Sun ONE Studio 4, there are a few manual
steps required to make the application work in Sun ONE Studio 4, update 1:
- Refetch WSDL on the existing client. This triggers the regeneration of
all required files for the Apache SOAP client.
- Create a new J2EE application. Add the existing service and any EJB modules
that were included in the original J2EE application.
- Change
DefaultContext
to the appropriate context.
- Deploy and run the application or client.
4682823
Description: EJB's without a remote interface not supported.
When the method that is exposed as a web service comes from an EJB, that EJB
should have a remote interface. By default only local interfaces are created
when you create a new BMP or CMP EJB. When you create these EJBs using the
first page of the EJB creation wizard, make sure that you create remote interfaces
by selecting "Remote Interface only" or "Both Remote and Local Interfaces"
in the Component Interfaces pane.
4686715,
4686818
Description: Cannot publish to external UDDI registries from the Solaris and
Linux platforms.
This problem will occur after pressing the Finish button in the "Publish to
UDDI" wizard (this menuitem is associated with a Web Service). After pressing
Finish, you will get one of two exceptions, either SSLException:
Unrecognized SSL handshake
or ClassNotFoundException:
com/sun/xml/registry/uddi/bindingsv2/#text
.
Therefore, on the Linux platform, the IDE can only publish to the Internal
UDDI Registry. However, public registries generally provide browser-based
tools from which you can publish your service outside the IDE.
4686758
Description: Publishing to internal UDDI registry causes exception.
There is a known issue that intermittent exceptions occur when publishing
to internal UDDI registry servers. This bug is most likely to appear when
running in the Solaris operating environment using the Java 2 SDK v. 1.4.
Often when user authentication is requested and the following exception is
thrown from internal UDDI registry:
com.sun.registry_server.UnknownUserException:
XMLDBUserAuth.getAccountInfo(...):
Exception: org.apache.xnode.XNodeException: XNodeStoreImpl.writeXNode(...):
Exception: org.xmldb.api.base.XMLDBException: Java Runtime Error, while
writing node 'testuser' to collection 'authinfo'
There is currently no known work around. If the error occurs, re-try the activity.
4711368
Description: I18N - UDDI: Can not get the Name and Description from external
UDDI registry
Workaround:To create Web Service client for external UDDI registry, download
or prepare WSDL file which describes that published service, and create the
Web Service client from that WSDL file.
You can also use "Search for Service using a web browser and paste the
Server Key below" option instead of searching by wizard.
4715612
Description: Internal UDDI registry cannot start in a multi-user installation
on Solaris.
If the IDE is installed by root
, but used by a non-root user
on Solaris, starting the internal UDDI registry from IDE will throw an exception
unless the superuser manually grants permissions. This can be done in a variety
of ways, depending on how your security is configured. For example:
(1) login as root
(2) cd s1s4-install-directory/jwsdp
(3) chmod ug+w conf
(4) cd s1s4-install-directory/jwsdp/conf
(5) chmod ug+w server.xml
4727773
Description: Deletion of gen and binding directory corrupts web service.
4727814
Description: JAX-RPC RI can't handle 2 Address classes with the same method
name in xml operations even though they exist in different packages.
Workaround: Rename the Address tag in the XML Operation.
4727168
Description: Serialization classes property doesn't allow you to Add rt.jar
classes.
Workaround: mount rt.jar
from the jdk
4733551
Description: Web service application built in Sun ONE Studio 4.0 cannot be
deployed in Sun ONE Studio 4.1.
Workaround: Recreate the J2EE application in Sun ONE Studio 4.1.
4736401
Description: Error running web service application deployed to WebLogic Server.
User sees exception message: "[ERROR] http - -no endpoint specified".
Work Around: If you are starting the WebLogic Server (6.1 and 7.0) from the
IDE, you need to add the following value to the "Startup Java Options"
property for the server instance:
-Djavaplugin.enabled=true
If you are starting the server using the WebLogic startup script, you need
to add the same value to the JAVA_OPTIONS
variable.
4736947
Description: Runtime error with JAX-RPC web service in Sun ONE Application
Server 7: (deserialization error: unexpected XML mreader state. expected:
END but found: START: String_2). The problem occurs when a client tries to
invoke an overloaded method and the web service was regenerated after the
client was generated. The client might invoke the wrong version of the method.
Workaround: Regenerate the client after every generation of the web service.
To do this, right-click the client node in the Explorer, and choose Refetch
WSDL.
4739216
Description: Compatibilty: New JAX Client running old soap service get deserialization
error.
When a web service client created using Sun ONE Studio 4 is re-built using Sun ONE Studio 4, update 1, if
the service uses overloaded methods, this error may appear:
Modeler error: Ambiguous Operation name for overloaded method direct
invocation
Workaround Refetch the WSDL.
4735451
Description: Sun ONE Application Sever: Welcome page (intermittently) fails to come up.
Workaround: Reload the browser page.
4737524
Description: No serializer is registered for (class java.lang.String,{..XMLSchema}
string
4737462
Description: RuntimeException: Unable to find node named 'definitions'.
Workaround: In the WSDL, replace '.' with '_' in the binding names.
4739438
Description: Web Service Wizard is remembering last architecture entered
4733752
Description: Create Web Service from WSDL caches ejb folder intead of using
current directory.
Subsequent web service EJBs are created in the original directory.
4732997
Description: Web service does not compile if package name and name of web
service are the same.
Workaround: Follow standard naming conventions for packages (lowercase) and
classes (mixed case).
4739216
Description: Compatibilty: New JAX Client running old soap service get deserialization
error.
When a web service client created using Sun ONE Studio 4 is re-built using Sun ONE Studio 4, update 1, if
the service uses overloaded methods, this error may appear:
Modeler error: Ambiguous Operation name for overloaded method direct
invocation
Workaround: Refetch the WSDL.
4740290
Description: KomodoException_SOAPSerializer
class generated in
userspace for Webcentric apps.
This occurs with webcentric applications only.
4740030
Description: "Existing" test client not updated if change runtime
property.
Workaround: Delete the client and create a new test client
4740213
Description: incorrect code is generated for complex array fields in the input
elements.
XML operations do not support array inputs.
4740292
Description: Renaming web serivce does not rename SOAP URL.
Workaround: Manually update the soap rpc url after doing a rename. When you
change the soap rpc url you must do a generate on the service and a refetch
of the client WSDL.
4741049
Description: WS builds long SoapBuildeClass names for W2000 and hence deploy
fails on Sun ONE Studio Application Server 7.
Try the following scenarios: shorten web service name and shorten the absolute
path.
Accessibility
Documentation
Sun ONE Studio 4 product documentation is provided in accessible formats that
are readable by assistive technologies. This includes the Sun ONE Studio 4,
Forte X-Designer User's Guide within the product distribution, and programming
guides, Getting Started Guides, and tutorials on the docs.sun.com
site.
Online Help Documentation
The IDE provides many accessibility features that enable you to read about
and use the product in the manner that is most comfortable and convenient to
you. These features include:
- Mnemonics and keyboard shortcuts
- Customizable fonts
- Customizable colors
- Customizable toolbars
- Customizable stylesheets
For information on the accessibility features of the IDE, open the the online
help and click the Accessibility topic in the table of contents.
Modifying Cascading Style Sheets for Accessibility
The instructions in the online help for modifying the cascading style sheet
require additional information.
Most help sets use the style sheet that is stored in modules/docs/usersguide.jar
.
If you change this style sheet, the display of most other help sets is also
affected. The exceptions are as follows:
- The Database Schema help set uses the style sheet stored in
dbschema.jar
.
- The Web Services help set uses the style sheet stored in
xmlservices.jar
.
To change the cascading style sheet for the online help:
1. In your IDE installation directory, navigate to modules/docs
.
2. Use the jar command-line utility to unpack the JAR file.
On Microsoft Windows and UNIX systems, the command is:
jar xf jar-file
For jar-file, use one of the following:
-
usersguide.jar
- Style sheet for most help sets
-
dbschema.jar -
Database Schema online help
xmlservices.jar
- Web Services online help
The Jar tool makes copies of the files and writes them to the current directory.
The directory structure is reproduced according to the package structure in the
archive.
3. In the extracted hierarchy, navigate to the directory that contains the
style sheet you want to edit:
- General online help -
org/netbeans/modules/usersguide
- Database Schema
- com/sun/forte4j/modules/dbmodel/docs
- Web Services -
com/sun/forte4j/webdesigner/docs
4. Open the file ide.css
in a text editor. Edit the file to your
preferences and save the file.
6. Return to modules/doc
in your installation directory and update
the JAR file. On Microsoft Windows and UNIX systems, the command is:
jar ufv jar-file input-file
For jar-file use the name of the original JAR file, for example,
usersguide.jar. For input-file use, one of the following:
-
org
for the Users Guide help set
-
com
for the Database Schema and Web Services help sets
Solaris Operating Environment
The Solaris operating environment allows you to set window behavior using the Window
Style Manager.When using mnemonics with the IDE, the window behavior should
be set to "Click In Window To Make Active."
If this option is not set, in some cases, a mnemonic can appear to fail.
Removal of Features
With the Sun ONE Studio 4 release, three features that were previously
available in prior versions of Sun ONE Studio 4 (formerly Forte for Java) have
been removed. Those features are Forte Code Management Software, Transparent
Persistence, and Forte ESP.
These features will continue to be available as part of Forte for Java,
release 3.0 until December 31, 2002. Sun will not EOL (End of Life)
Forte for Java, release 3.0 before the end of 2002.
Many Sun ONE Studio Framework Extension Partner offerings as well as
new technologies developed in Sun ONE Studio 4 are available as migrations paths
for users of these features. For your reference, the Sun Microsystems General
EOL Support Statement follows.
Sun General EOL Support Statement
Support is available for EOL versions of the Sun ONE software products for
five years from the last ship date, as follows:
- For the first two years after the last ship date, Sun will provide full
remedial support for contract customers, excepting requests for enhancements
and cosmetic bugs. Patches will be created as needed and distributed via the SunSolve
Online support center. This approach ensures no material reduction in the
level of support.
- For the third through fifth year after the last ship date, contract customers
will continue to receive telephone support and access to existing patches
in the SunSolve Online center. Contract customers who wish to continue receiving
new patches can purchase this option.
Forte TeamWare Options
TeamWare is based on the SCCS (Source Code Control System) model. Most code
management tools are either based on SCCS or have migration tools to import
SCCS data; the generic VCS module in Sun ONE Studio 4 can import SCCS data.
Additionally, Sun has contacted Merant and Rational and these companies can
work with TeamWare users to transition their code to their solutions.
Transparent Persistence Options
The JDBC tools in Sun ONE Studio 4 will provide the technology for database
connections.
Thought, Inc. will also work with Sun ONE Studio 4 users on their O/R Mapping
needs if JDBC is not sufficient.
Forte ESP Options
Forte ESP users should migrate to a standards based solution for Web Services.
Sun's release of Sun ONE Studio 4 offers these standards
based solutions. Additionally there are many partners doing work in
the Web Services arena that could provide assistance.
For a full listing of Sun ONE Studio Partner offerings, see:
http://forte.sun.com/ffj/partnerprograms/partnerlist.html
Other Documentation
Books
The following books can be downloaded in PDF format at http://forte.sun.com//ffj/documentation/index.html.
Community Edition
Enterprise Edition
Sun ONE Studio 4, Enterprise Edition for Java Getting Started Guide
Sun ONE Studio 4, Community Edition Getting Started Guide
Sun ONE Studio 4, Enterprise Edition Tutorial
Sun ONE Studio 4 Community Edition Tutorial
Building Web Services
Building Web Components
Building Enterprise JavaBeans Components
Building J2EE Applications
The following books are also available within the Sun ONE Studio product distribution:
Online Help
You can access online help for the IDE by choosing Help > Help Sets
menu item from the main window. The Help menu also includes links to the Sun
ONE Studio Developer's Resources homepage and other useful URLs.
Examples
You can find tutorials and examples together under Sun ONE Studio Developer's
Resources: at http://forte.sun.com/ffj/documentation/tutorialsandexamples.html
Knowledge Base
You can find answers to many of your questions by accessing a large, searchable
FAQ database. This database is a dynamic, growing knowledge base that offers
customized searches based on your needs.
http://forte.sun.com/cgi-bin/WebX
Access to Bugs
You can access most Sun ONE Studio bugs through Java Developer Connection's
Bug Parade. SunSolve account holders can access Native Connector Tool, Forte
X-Designer, Performance Analyzer, and Solaris Native Languages Support bug information
through SunSolve.
Choosing a Browser with the Setup Wizard
In the Setup wizard you will be able to choose the type of HTML browser you
can use to both browse the documentation in addition to external websites such
as the Sun ONE Studio Developer Web Resources site. If you have a browser such
as Netscape or Internet Explorer installed, be sure to choose "External
Browser" rather than "Swing HTML Browser". The Swing HTML Browser
is intended only for browsing the documentation and does not work with with
most web sites.
You can dynamically update the IDE using the Update Center feature. When you
connect to the Update Center, the IDE checks to see if there are new modules
or new versions of already installed modules available. If new or updated modules
are available, you can select which ones you would like. Then those modules
are downloaded and installed in your IDE.
Note: Sun ONE Studio modules are available through the Sun ONE Studio Update
Center folders.
The AutoUpdate Wizard enables you to install modules from the Update Center
or to install modules (in the form of .nbm files) that have been previously
downloaded to your system. For both methods, the modules are .nbm
format.
If you choose to use the Sun ONE Studio Update Center, you will need to enter
your Update Center login and password. If you do not have an Update Center login
and password, you need to obtain one by clicking on the Account Maintenance
button on the wizard and by following the instructions provided.
If you do not register, you can leave the Login and Password fields blank and
you can still connect to the Update Center and see generally available free
modules. However, to obtain access to upgraded third party or Enterprise Editions,
you must register.
The Update Center uses this login and password to track user entitlements to
various products and modules. The IDE sends the login and password over HTTP
when you connect to the Update Center. When you register with the Developer
Resources web site to get the login and password, we do ask for some personal
information, however you can choose to not be contacted by Sun. For more information
on Sun's privacy policy, see the Developer Resources Site FAQs at http://forte.sun.com/ffj/feedback/sitefaq.html
If you need to set a proxy to get through a firewall, you can click Proxy
Configuration on the first page of the wizard.
You also can update modules in the IDE without having to connect to an Update
Center server.
To update the IDE offline:
- Manually download the NBM file of the module you want to update.
- Choose Tools > Update Center from the main window.
- In the first page of the wizard, select the Install Manually Downloaded
Modules button.
- Proceed according to the instructions in the rest of the wizard.
By default, the IDE periodically asks you whether you want to connect to the
Update Center to check for new updates. You can set the interval for this prompt
or turn it off completely.
To set the frequency that you are prompted to check for updates:
- Choose Tools > Options from the main window.
-
Select the Update Center node and set the Check Period property.
NetBeans Open Source Project
The Sun ONE Studio IDE is based upon the NetBeans Open Source Project, located
at http://www.netbeans.org. NetBeans is
a community-based project that fosters the use of the NetBeans IDE framework
in new, creative ways. All developers are invited to join the effort to extend
the NetBeans IDE and improve the framework upon which it is based in order to
create an extremely powerful set of tools by and for the development community.
Third-Party Licenses and Attributions
A) The following software may be included in this product: JSP/Servlet; ANT,
1.4.1; Crimson v1.1; RegExp; SOAP RPC Runtime, v2.2; Xerces 1.4.3; JAXPv1.2
RE; Tomcat v4.0.1; Xalan v2.3.1; Xalan v2.2; Xerces2 Java Parser 2.0.0; Servlet
API v2.2; Use of any of this software is governed by the terms of the license
below:
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met: Redistribution
of source code must retain the above copyright notice, this list of conditions
and the following disclaimer. Redistribution 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.
All advertising materials mentioning features or use of this software must display
the following acknowledgment: This product includes software developed by the
Java Apache Project for use in the Apache JServ servlet engine project (http://java.apache.org/).
The names "Apache JServ", "Apache JServ Servlet Engine"
and "Java Apache Project" must not be used to endorse or promote products
derived from this software without prior written permission. Products derived
from this software may not be called "Apache JServ" nor may "Apache"
nor "Apache JServ" appear in their names without prior written permission
of the Java Apache Project. Redistribution of any form whatsoever must retain
the following acknowledgment: This product includes software developed by the
Java Apache Project for use in the Apache JServ servlet engine project (http://java.apache.org/).
THIS SOFTWARE IS PROVIDED BY THE JAVA APACHE PROJECT "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 JAVA APACHE PROJECT 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.
B) The following software may be included in this product: Vim 6.1.007. Use
of any of this software is governed by the terms of the license below:
VIM REFERENCE MANUAL, by Bram Moolenaar
SUMMARY. Vim is Charityware. You can use and copy it as much as you like, but
you are encouraged to make a donation to orphans in Uganda. See |iccf| below.
DETAILS. There are no restrictions on distributing an unmodified copy of Vim.
Parts of Vim may also be distributed, but this text must always be included.
You are allowed to include executables that you made from the unmodified Vim
sources, your own usage examples and Vim scripts.
If you distribute a modified version of Vim, you are encouraged to send the
maintainer a copy, including the source code. Or make it available to the maintainer
through ftp; let him know where it can be found. If the number of changes is
small (e.g., a modified Makefile) e-mailing the diffs will do. When the maintainer
asks for it (in any way) you must make your changes, including source code,
available to him. The e-mail address to be used is <maintainer@vim.org>
The maintainer reserves the right to include any changes in the official version
of Vim. This is negotiable. You are not allowed to distribute a modified version
of Vim when you are not willing to make the source code available to the maintainer.
The current maintainer is Bram Moolenaar <Bram@vim.org>. If this changes,
it will be announced in appropriate places (most likely www.vim.org and comp.editors).
When it is completely impossible to contact the maintainer, the obligation to
send him modified source code ceases. It is not allowed to remove these restrictions
from the distribution of the Vim sources or parts of it. These restrictions
may also be used for previous Vim releases instead of the text that was included
with it. The Open Publication License applies to the Vim documentation, see
|manual-copyright|.
*iccf* *ICCF*
If you are happy with Vim, please express that by
reading the rest of this file. You can also have a look here (these are mirrors):
http://www.vim.org/iccf/
http://iccf-holland.org/
*kcc*
Kibaale Children's Centre (KCC) is located in Kibaale, a small town in the
south of Uganda, near Tanzania, in East Africa. The area is known as Rakai District.
The population is mostly farmers. Although people are poor, there is enough
food. But this district is suffering from AIDS more than any other part of the
world. Some say that it started there. Estimations are that 10 to 30% of the
Ugandans are infected with HIV. Because parents die, there are many orphans.
In this district about 60.000 children have lost one or both parents, out of
a population of 350.000. And this is still continuing.
The children need a lot of help. The KCC is working hard to provide the needy
with food, medical care and education. Food and medical care to keep them healthy
now, and education so that they can take care of themselves in the future. KCC
works on a Christian base, but help is given to children of any religion.
The key to solving the problems in this area is education. This has been neglected
in the past years with president Idi Amin and the following civil wars. Now
that the government is stable again, the children and parents have to learn
how to take care of themselves and how to avoid infections. There is also help
for people who are ill and hungry, but the primary goal is to prevent people
from getting ill and to teach them how to grow healthy food. Most of the orphans
are living in an extended family. An uncle or older sister is taking care of
them. Because these families are big and the income (if any) is low, a child
is lucky if it gets healthy food. Clothes, medical care and schooling is beyond
its reach. To help these needy children, a sponsorship program was put into
place. A child can be financially adopted. For a few dollars a month KCC sees
to it that the child gets indispensable items, is healthy, goes to school and
KCC takes care of anything else that needs to be done for the child and the
family that supports it. Besides helping the child directly, the environment
where the child grows up needs to be improved. KCC helps schools to improve
their teaching methods. There is a demonstration school at the centre and teacher
trainings are given. Health workers are being trained, hygiene education is
carried out and households are stimulated to build a proper latrine. I helped
setting up a production site for cement slabs. These are used to build a good
latrine. They are sold below cost price.
There is a small clinic at the project, which provides
children and their family with medical help. When needed, transport to a hospital
is offered. Immunization programs are carried out and help is provided when
an epidemic is breaking out (measles and cholera have been a problem). Summer
1994 to summer 1995 I spent a whole year at the centre, working as a volunteer.
I have helped to expand the centre and worked in the area of water ,and sanitation.
I learned that the help that the KCC provides really helps. Now that I'm back
in Holland, I would like to continue supporting KCC. To do this I'm raising
funds and organizing the sponsorship program. Please consider one of these possibilities:
1. Sponsor a child: $15 a month. (Holland: fl 27,50)
2. Sponsor a child and the improvement of its environment:
$25 a month (Holland: fl 45)
3. Sponsor the health team: Any amount a month or
quarter
4. A one-time donation
Compared with other organizations that do child sponsorship the amounts are
very low. This is because the money goes directly to the centre. Less than 5%
is used for administration. This is possible because this is a small organization
that works with volunteers. If you would like to sponsor a child, you should
have the intention to do this for at least one year.
How do you know that the money will be spent right? First of all you have my
personal guarantee as the author of Vim. I trust the people that are working
at the centre, I know them personally. Further more, the centre is co-sponsored
and inspected by World Vision, Save the Children Fund and International Child
Care Fund. The centre is visited at least once a year to check the progress
(at our own cost). I have visited the centre myself in 1996, 1998 and 2000.
If you have any further questions, send me e-mail: <Bram@vim.org>.
The address of the centre is: Kibaale Childrens Centre, p.o. Box 1658, Masaka,
Uganda, East Africa
Sending money:
USA and Canada: Contact Kibaale Children's Fund (KCF) in Surrey, Canada. They
take care of the Canadian sponsors for the children in Kibaale. You can send
them a one time donation directly. Please send me a note so that know what has
been donated because of Vim. Ask KCF for information about sponsorship. Kibaale
Children's Fund c/o Pacific Academy, 10238-168 Street, Surrey, B.C. V4N 1Z4
Canada Phone: 604-581-5353
If you make a donation to Kibaale Children's Fund (KCF) you will receive a
tax receipt which can be submitted with your tax return (under the Free Trade
Agreement tax receipts issued by an organization registered in Canada are fully
accepted by the IRS in the USA). Holland: Transfer to the account of "Stichting
ICCF Holland" in Venlo. This will allow for tax deduction (if you live
in Holland)! Postbank, nr. 4548774
Germany: We are currently working on a way to make donations that allow for
a tax return. Check the ICCF web site for the latest information: http://iccf-holland.org/donate.html
World: Use a postal money order. That should be possible from any country,
mostly from the post office. Use this name (which is in my passport): "Abraham
Moolenaar". Use Euro for the currency if possible.
Europe: Use a bank transfer if possible. Your bank should have a form that
you can use for this. See "Others" below for the swift code and IBAN
number. Until December 2001 a eurocheque can still be used, which is preferred,
because it has no costs for us. You must write the amount in Dutch Guilders
(DFL). Send it to the address below. Any other method should work. Ask for information
about sponsorship.
Credit Card: You can use PayPal to send money with a Credit card. This is the
most widely used Internet based payment system. It's really simple to use. Use
this link to find more info: https://www.paypal.com/affil/pal=Bram%40moolenaar.net.
The e-mail address for sending the money to is: Bram@iccf-holland.org.
Unfortunately, the extra cost is a bit high. The other methods are preferred.
Others: Transfer to one of these accounts if possible: Postbank, account 4548774,Swift
code: INGB NL 2A, IBAN: NL47 PSTB 0004 5487 74, under the name "stichting
ICCF Holland", Venlo
If that doesn't work: Rabobank Venlo, account 3765.05.117, Swift code: RABO
NL 2U under the name "Bram Moolenaar", Venlo. Otherwise, send a cheque
in US dollars to the above address. Minimal amount: $70 (my bank does not accept
smaller amounts for foreign cheques, sorry)
Address to send cheques to: stichting ICCF Holland,Bram Moolenaar,Clematisstraat
30,5925 BE Venlo, The Netherlands
C) The following software may be included in this product: KSOAP. Use of any
of this software is governed by the terms of the license below:
Enhydra PUBLIC LICENSE Version 1.1 below:
1. Definitions. This license is a union of the following two parts that should
be found as text files in the same place (directory), in the order of preeminence:
[1] This file itself, named EPL.html, [2] The contents of the file opl.html,
stating the general licensing policy of the software.
2. Precedence of the license parts. In case of conflicting dispositions in
the parts of this license, the terms of the lower-numbered part will always
be superseded by the terms of the higher numbered part.
3. Lutris Technologies, Inc. is License Author. For the purposes of this License
the "License Author" defined in section 1.13 of OPL.html shall be
Lutris Technologies, Inc., 1200 Pacific Ave., Santa Cruz, CA. 95060. (http://www.lutris.com)
4. Section 11 of the OPL.html:
11. MISCELLANEOUS. This License represents the complete agreement concerning
subject matter hereof. If any provision of this License is held to be unenforceable,
such provision shall be reformed only to the extent necessary to make it enforceable.
This License shall be governed by California, excluding its conflict-of-law
provisions. With respect to disputes in which at least one party is a citizen
of, or an entity chartered or registered to do business in, the United States
of America: (a) unless otherwise agreed in writing, all disputes relating to
this License (excepting any dispute relating to intellectual property rights)
shall be subject to final and binding arbitration, with the losing party paying
all costs of arbitration; (b) any arbitration relating to this Agreement shall
be held in San Francisco County, California, under the auspices of JAMS/EndDispute;
and (c) any litigation relating to this Agreement shall be subject to the jurisdiction
of the Federal Courts of the Northern District of California, with venue lying
in San Francisco County, California, with the losing party responsible for costs,
including without limitation, court costs and reasonable attorneys fees and
expenses. The application of the United Nations Convention on Contracts for
the International Sale of Goods is expressly excluded. Any law or regulation
which provides that the language of a contract shall be construed against the
drafter shall not apply to this License.
5. Exhibit A. "The contents of this file are subject to the Enhydra Public
License Version 1.1 (the "License"); you may not use this file except
in compliance with the License. You may obtain a copy of the License on the
Enhydra web site (http://www.enhydra.org).
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific terms governing rights and limitations under the License. The
Initial Developer of the Enhydra Application Server is Lutris Technologies,
Inc. The Enhydra Application Server and portions created by Lutris Technologies,
Inc. are Copyright Lutris Technologies, Inc. All Rights Reserved. Contributor(s):
______________________________________. "
6. Exhibit B. Part of the software embedded in this product is Enhydra (Java[TM]/XML
Application Server), a trademark of Lutris Technologies Inc. Portions created
by Lutris are Copyright 1997-2000 Lutris Technologies (http://www.lutris.com).
All Rights Reserved.
THE SOFTWARE IN THIS PRODUCT WAS IN PART PROVIDED BY LUTRIS AND ANY EXPRESS
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 AUTHOR 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.
7. Trademarks. You shall not remove or alter any Lutris or Enhydra trademark
or trade name placed in the Original Code by Lutris. All copies of the Covered
Code distributed by You shall include any such Lutris and Enhydra trademarks
and trade names, as well as all required notices provided for in Sections 3.5
and 3.6. Except for the foregoing obligation, You are granted no rights to reproduce
or display any Lutris or Enhydra trademarks or trade names.
8. Section 1.10 of OPL The following shall be added to section 1.10: "Original
Code" shall include, but is not limited to, all the files in the Java packages
in coveredCode.html.
Section 3.2 of OPL 1.0 As used in section 3.2 of the OPL "Contact Means"
shall mean the email address info@lutris.com
D) The following software may be included in this
product: Xemacs and libdwarf . Use of any of this software is governed by the
terms of the license below:
GNU GENERAL PUBLIC LICENSE Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim
copies of this license document, but changing it is not allowed.
Preamble. The licenses for most software are designed to take away your freedom
to share and change it. By contrast, the GNU General Public License is intended
to guarantee your freedom to share and change free software--to make sure the
software is free for all its users. This General Public License applies to most
of the Free Software Foundation's software and to any other program whose authors
commit to using it. (Some other Free Software Foundation software is covered
by the GNU Library General Public License instead.) You can apply it to your
programs, too.
When we speak of free software, we are referring to freedom, not price. Our
General Public Licenses are designed to make sure that you have the freedom
to distribute copies of free software (and charge for this service if you wish),
that you receive source code or can get it if you want it, that you can change
the software or use pieces of it in new free programs; and that you know you
can do these things.
To protect your rights, we need to make restrictions that forbid anyone to
deny you these rights or to ask you to surrender the rights. These restrictions
translate to certain responsibilities for you if you distribute copies of the
software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or
for a fee, you must give the recipients all the rights that you have. You must
make sure that they, too, receive or can get the source code. And you must show
them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2)
offer you this license which gives you legal permission to copy, distribute
and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone
understands that there is no warranty for this free software. If the software
is modified by someone else and passed on, we want its recipients to know that
what they have is not the original, so that any problems introduced by others
will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We
wish to avoid the danger that redistributors of a free program will individually
obtain patent licenses, in effect making the program proprietary. To prevent
this, we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification
follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice
placed by the copyright holder saying it may be distributed under the terms
of this General Public License. The "Program", below, refers to any
such program or work, and a "work based on the Program" means either
the Program or any derivative work under copyright law: that is to say, a work
containing the Program or a portion of it, either verbatim or with modifications
and/or translated into another language. (Hereinafter, translation is included
without limitation in the term "modification".) Each licensee is addressed
as "you".
Activities other than copying, distribution and modification are not covered
by this License; they are outside its scope. The act of running the Program
is not restricted, and the output from the Program is covered only if its contents
constitute a work based on the Program (independent of having been made by running
the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code
as you receive it, in any medium, provided that you conspicuously and appropriately
publish on each copy an appropriate copyright notice and disclaimer of warranty;
keep intact all the notices that refer to this License and to the absence of
any warranty; and give any other recipients of the Program a copy of this License
along with the Program. You may charge a fee for the physical act of transferring
a copy, and you may at your option offer warranty protection in exchange for
a fee.
2. You may modify your copy or copies of the Program or any portion of it,
thus forming a work based on the Program, and copy and distribute such modifications
or work under the terms of Section 1 above, provided that you also meet all
of these conditions: a) You must cause the modified files to carry prominent
notices stating that you changed the files and the date of any change. b) You
must cause any work that you distribute or publish, that in whole or in part
contains or is derived from the Programor any part thereof, to be licensed as
a whole at no charge to all third parties under the terms of this License. c)
If the modified program normally reads commands interactively when run, you
must cause it, when started running for such interactive use in the most ordinary
way, to print or display an announcement including an appropriate copyright
notice and a notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under these conditions,
and telling the user how to view a copy of this License. (Exception: if the
Program itself is interactive but does not normally print such an announcement,
your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections
of that work are not derived from the Program, and can be reasonably considered
independent and separate works in themselves, then this License, and its terms,
do not apply to those sections when you distribute them as separate works. But
when you distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of this License,
whose permissions for other licensees extend to the entire whole, and thus to
each and every part regardless of who wrote it. Thus, it is not the intent of
this section to claim rights or contest your rights to work written entirely
by you; rather, the intent is to exercise the right to control the distribution
of derivative or collective works based on the Program. In addition, mere aggregation
of another work not based on the Program with the Program (or with a work based
on the Program) on a volume of a storage or distribution medium does not bring
the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section
2) in object code or executable form under the terms of Sections 1 and 2 above
provided that you also do one of the following: a) Accompany it with the complete
corresponding machine-readable source code, which must be distributed under
the terms of Sections 1 and 2 above on a medium customarily used for software
interchange; or, b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your cost of physically
performing source distribution, a complete machine-readable copy of the corresponding
source code, to be distributed under the terms of Sections 1 and 2 above on
a medium customarily used for software interchange; or, c) Accompany it with
the information you received as to the offer to distribute corresponding source
code. (This alternative is allowed only for noncommercial distribution and only
if you received the program in object code or executable form with such an offer,
in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making
modifications to it. For an executable work, complete source code means all
the source code for all modules it contains, plus any associated interface definition
files, plus the scripts used to control compilation and installation of the
executable. However, as a special exception, the source code distributed need
not include anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the operating
system on which the executable runs, unless that component itself accompanies
the executable.
If distribution of executable or object code is made by offering access to
copy from a designated place, then offering equivalent access to copy the source
code from the same place counts as distribution of the source code, even though
third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as
expressly provided under this License. Any attempt otherwise to copy, modify,
sublicense or distribute the Program is void, and will automatically terminate
your rights under this License. However, parties who have received copies, or
rights, from you under this License will not have their licenses terminated
so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it.
However, nothing else grants you permission to modify or distribute the Program
or its derivative works. These actions are prohibited by law if you do not accept
this License. Therefore, by modifying or distributing the Program (or any work
based on the Program), you indicate your acceptance of this License to do so,
and all its terms and conditions for copying, distributing or modifying the
Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program),
the recipient automatically receives a license from the original licensor to
copy, distribute or modify the Program subject to these terms and conditions.
You may not impose any further restrictions on the recipients' exercise of the
rights granted herein. You are not responsible for enforcing compliance by third
parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement
or for any other reason (not limited to patent issues), conditions are imposed
on you (whether by court order, agreement or otherwise) that contradict the
conditions of this License, they do not excuse you from the conditions of this
License. If you cannot distribute so as to satisfy simultaneously your obligations
under this License and any other pertinent obligations, then as a consequence
you may not distribute the Program at all. For example, if a patent license
would not permit royalty-free redistribution of the Program by all those who
receive copies directly or indirectly through you, then the only way you could
satisfy both it and this License would be to refrain entirely from distribution
of the Program. If any portion of this section is held invalid or unenforceable
under any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents
or other property right claims or to contest validity of any such claims; this
section has the sole purpose of protecting the integrity of the free software
distribution system, which is implemented by public license practices. Many
people have made generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that system; it
is up to the author/donor to decide if he or she is willing to distribute software
through any other system and a licensee cannot impose that choice. This section
is intended to make thoroughly clear what is believed to be a consequence of
the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries
either by patents or by copyrighted interfaces, the original copyright holder
who places the Program under this License may add an explicit geographical distribution
limitation excluding those countries, so that distribution is permitted only
in or among countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of
the General Public License from time to time. Such new versions will be similar
in spirit to the present version, but may differ in detail to address new problems
or concerns. Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of this License,
you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs
whose distribution conditions are different, write to the author to ask for
permission. For software which is copyrighted by the Free Software Foundation,
write to the Free Software Foundation; we sometimes make exceptions for this.
Our decision will be guided by the two goals of preserving the free status of
all derivatives of our free software and of promoting the sharing and reuse
of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM
"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE
COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR
A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
E) The following software may be included in this product: SAC v1.0, 1.1; Flute
v1.1; DOM (Document Object Model); SAC v1.1. Use of any of this software is
governed by the terms of the license below:
W3C® SOFTWARE NOTICE AND LICENSE
Copyright © 1994-2002 World Wide Web Consortium, (Massachusetts Institute
of Technology, Institut National de Recherche en Informatique et en Automatique,
Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
This W3C work (including software, documents, or other related items) is being
provided by the copyright holders under the following license. By obtaining,
using and/or copying this work, you (the licensee) agree that you have read,
understood, and will comply with the following terms and conditions:
Permission to use, copy, modify, and distribute this software and its documentation,
with or without modification, for any purpose and without fee or royalty is
hereby granted, provided that you include the following on ALL copies of the
software and documentation or portions thereof, including modifications, that
you make:
1.The full text of this NOTICE in a location viewable to users of the redistributed
or derivative work.
2.Any pre-existing intellectual property disclaimers, notices, or terms and
conditions. If none exist, a short notice of the following form (hypertext is
preferred, text is permitted) should be used within the body of any redistributed
or derivative code: "Copyright © [$date-of-software] World Wide Web
Consortium, (Massachusetts Institute of Technology, Institut National de Recherche
en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/"
3.Notice of any changes or modifications to the W3C files, including the date
changes were made. (We recommend you provide URIs to the location from which
the code is derived.)
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY
THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS
WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES
ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in advertising
or publicity pertaining to the software without specific, written prior permission.
Title to copyright in this software and any associated documentation will at
all times remain with copyright holders.
F) The following software may be included in this product: OpenORB. Use of
any of this software is governed by the terms of the license below:
The OpenORB Enterprise Suite is available as an Open Source project in harmony
with the BSD-like license [license.txt]:
Copyright (C) 1999-2001 Intalio, Inc. 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 Group (http://www.exolab.org).
THIS SOFTWARE IS PROVIDED BY INTALIO, INC. 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 INTALIO, INC. 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