Web tools - release notes


1.0 Limitations
   1.1 Problem with Drag-N-Drop from Page Data view onto Free Layout Table
   1.2 *Problem with deploying a Web app with SDO accessing a database using a driver manager connection to a Websphere V6 server
   1.3 *Update method for SDO Relational Record List
2.0 Known problems
   2.1 *SDO assumes default port numbers for JDBC connection
   2.2 *wdo_web.jar not deleted when re-targeting a Web project from WAS V5 to WAS V6
   2.3 *Invalid error message on autokey gen
   2.4 *WAS run as service must run under ID that has access to DB2
   2.5 *Save of JSP page may not save SDO/WDO XML files.
   2.6 *Relational record/lists with multiple filters may not work on WAS 6 server
   2.7 *SDO Datasources may not be created if a default server is selected for your project
   2.8 *Rename schema action for a relational record/list does not update unique key table schema name

1.0 Limitations

1.1 Problem with Drag-N-Drop from Page Data view onto Free Layout Table

When attempting to drag and drop from the Page Data view onto a page that contains a free layout table, the NOT cursor is shown, making it impossible to perform a drag and drop.

To perform a drag and drop from Page Data View, first select 'Text Cell' from the palette, and add a Text Cell in the Free Layout Table. Then, perform a drag and drop from the Page Data view onto the text cell.

1.2 *Problem with deploying a Web app with SDO accessing a database using a driver manager connection to a Websphere V6 server

When attempting to deploy a Web application (with the SDO feature) that accesses a relational database using a driver manager connection, the driver jars are not automatically added to the classpath of the server. This causes ClassNotFound errors.

Currently, a datasource connection is created by default whenever the application accesses the following relational databases: Cloudscape, DB2, SQL Server & Oracle. But for any other database, notably Informix® & Sybase, a driver manager connection is created and the problem described above occurs.

To get the driver manager connection to work, you must manually add the driver jar paths to the classpath of the server. To do this, run the Admin Console of the server and add the classpath entries under Servers->Application Servers-><serverName>->Java and Process Management->Process Definition->Java Virtual Machine->Classpath

Note: This has been fixed in V6.0.0.1.

1.3 *Update method for SDO Relational Record List

The product does not currently generate an update method with each Relational Data List. The following is the code you can place in your action to update the contents of a Data List named myList

try { getMyListMediator().applyChanges((DataObject)((ECoreEList)getMyList()).getEObject()); } catch (Throwable e) { logException(e); }

Note: This has been fixed in V6.0.0.1.

2.0 Known problems

2.1 *SDO assumes default port numbers for JDBC connection

If your JDBC server is running on anything beside the vendor default, you will need to modify the SDO runtime connection when it is first created.

Note: This has been fixed in V6.0.0.1.

2.2 *wdo_web.jar not deleted when re-targeting a Web project from WAS V5 to WAS V6

When a Web project is re-targeted from a WAS V5 server to a WAS V6 server, the WEB-INF/lib/wdo_web.jar is sometimes not deleted. It is not valid on a WAS V6 server and may cause problems in regenerating client-side objects in your Web project (if you followed the steps in the "Migrating JavaServer Faces resources with Faces Client Components" section of the migration guide).

To avoid these problems, delete this JAR file from the lib folder. After you delete it, open the web.xml file for your Web project and remove the taglib tag that references that JAR file. You can remove it from either the Variables or Source page of the Web Deployment Descriptor editor. The URI for this taglib is http://www.ibm.com/websphere/wdo/core. Then select the Web project in the Project Explorer view and select Properties from its pop-up menu. Then select Java Build Path and from the Libraries page, remove all WDO_EMF_JARS_PATH/* class path entries.

Note: This has been fixed in V6.0.0.1.

2.3 *Invalid error message on autokey gen

If you create a JSP page with a relational record that uses Auto Key Generataion targeted at a V5.1 server, you may get the following error:

2 cvc-complex-type.2.4.d: Invalid content was found starting with element 'tables'. No child element is expected at this point.

This error message is invalid and can be ignored.

Note: This has been fixed in V6.0.0.1.

2.4 *WAS run as service must run under ID that has access to DB2

If you are running WebSphere Application Server as a service with the default authentication (run as logged in user), and you try to connect to DB2 within a Web application without providing a username and password, you may get the following error:

java.sql.SQLException: [IBM][CLI Driver] SQL0567N "SYSTEM" is not a valid authorization ID. SQLSTATE=42602 DSRA0010E: SQL State = 42602, Error Code = -567

To avoid this, either provide a userid and password to the application or set WAS to explicitly run (e.g. provide the userid and password) as a user account that has access to your DB2 install.

Note: This has been fixed in V6.0.0.1.

2.5 *Save of JSP page may not save SDO/WDO XML files.

If you close a dirty (uncommitted changes) JSP, and after being prompted, you save the JSP, your uncommitted changes to your WDO/SDO configuration files may not get saved.

To avoid this, make sure after configuring a relational record or record list, you save the JSP by pressing CRTL+S or by clicking on File-->Save.

Note: This has been fixed in V6.0.0.1.

2.6 *Relational record/lists with multiple filters may not work on WAS 6 server

This problem occurs in WDO applications that are created to run on the Websphere V51 server but that are migrated to run on the Websphere V60 server. In this scenario, when your faces page has a record or record list with more than one filter clauses in it, the page may throw the following exception when it is running on the server:

java.lang.ArrayIndexOutOfBoundsException: 1 at org.eclipse.emf.ecore.impl.DynamicEObjectImpl.dynamicGet(DynamicEObjectImpl.java:192) at org.eclipse.emf.ecore.impl.EStructuralFeatureImpl$InternalSettingDelegateSingleData.dynamicGet(EStructuralFeatureImpl.java:1758) at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eDynamicGet(BasicEObjectImpl.java:485) at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java:476)e at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java(Compiled Code)) at com.ibm.etools.webtools.sdo.runtime.internal.MapDataObjectImpl.getValue(MapDataObjectImpl.java:197) at com.ibm.etools.webtools.sdo.runtime.internal.MapDataObjectImpl.put(MapDataObjectImpl.java:162) at pagecode.PageCodeBase.resolveParams(PageCodeBase.java:189)

The problem is in the parameter object of the mediator.

To fix this problem you must correctly set the parameter object of the mediator. To do this, modify your getList or getRecord method

from:

public DataListAccessBean getList1() { if (list1 == null) { try { resolveParams(getList1Mediator().getParams(), list1ArgNames, list1ArgValues, "list1_params_cache"); DataGraphAccessBean graph = getList1Mediator().fetchGraph(); list1 = graph.getDataListAccessBean(); } catch (Throwable e) { logException(e); } } return list1; }


to:

public DataListAccessBean getList1() { if (list1 == null) { try { getList1Mediator().setParams( new MapDataObjectImpl(((EObject) new MediatorImpl( (Metadata) getList1Mediator().getMetadata(), new NullConnectionWrapper()) .getParameterDataObject()).eClass())); resolveParams(getList1Mediator().getParams(), list1ArgNames, list1ArgValues, "list1_params_cache"); DataGraphAccessBean graph = getList1Mediator().fetchGraph(); list1 = graph.getDataListAccessBean(); } catch (Throwable e) { logException(e); } } return list1; }

Note the code snippet that sets the parameter object.

Note: This has been fixed in V6.0.0.1.

2.7 *SDO Datasources may not be created if a default server is selected for your project

Datasources will not get configured on the server correctly during Run on Server if a default server has been selected. To ensure your datasource is set up properly, do not select a default server. Once your application has been published successfully, you can select a default server as long as you aren't making any changes to your datasources.

Note: This has been fixed in V6.0.0.1.

2.8 *Rename schema action for a relational record/list does not update unique key table schema name

The rename schema action for a record/list does not update unique key table schema name.

To work around this problem, find the xml file that stores the query for the record/list and update the unique key table schema name.

Note: This has been fixed in V6.0.0.1.

Return to the main readme file