81657321-1-oracle-jdeveloper-10g-–-notas-de-distribucion.pdf

28
Oracle JDeveloper 10g – Notas de Distribución Introducción Oracle JDeveloper 10g es un entorno de desarrollo integrado (IDE) para construir aplicaciones y servicios Web usando los últimos estándares de la industria para Java, XML y SQL. Oracle JDeveloper soporta el ciclo de vida completo del desarrollo con características integradas para modelar, codificar, depurar, probar, evaluar, ajustar e implementar aplicaciones. Un enfoque de desarrollo visual y declarativo, y el innovador Marco de Trabajo de Desarrollo de Aplicaciones Oracle (Oracle ADF) trabajan juntos para simplificar el desarrollo de aplicaciones y reducir las tareas rutinarias de codificación, ofreciendo una productividad sin paralelo y una selección de pilas de tecnologías. Oracle JDeveloper ofrece un SDK de Extensión que permite a los desarrolladores agregar capacidades y personalizar el entorno de desarrollo. Para aprender más acerca del Oracle JDeveloper, y para obtener las últimas novedades, visite la página principal de JDeveloper en la Red de Tecnología Oracle (OTN) en http://otn.oracle.com/products/jdev . Además, está disponible en este sitio el Apéndice de las Notas de Distribución de Oracle JDeveloper 10 g, que contiene información adicional no disponible en el momento de la publicación de este documento. Qué hay de nuevo en el JDeveloper 10.1.2 Aunque principalmente es una distribución de mantenimiento, el JDeveloper 10.1.2 agrega una pequeña cantidad de nuevas características: Objetos de base de datos fuera de línea En el Asistente de Objetos de base de datos fuera de línea, la selección por esquema ahora es el último paso. Esto se hizo para permitir que el esquema sea ofrecido como lo predeterminado para el nombre de esquema en línea en los proyectos TopLink. Diagrama de flujo de página Struts Se ha mejorado la presentación y la respuesta general de diagramas grandes para los proyectos dinámicos. Se mejoró aun más el rendimiento de la edición de Struts validando sólo el xml contra el DTD cuando el proyecto está compilado o cuando el desarrollador elije validarlo explícitamente desde el menó contextual, en lugar de hacerlo cada vez que el editor de Struts tenga foco. Ahora es posible crear acciones que no estén prefijadas con un “/”. Esto significa que usted puede crear acciones privadas que no sean accesibles directamente desde un navegador especificando un nombre de página sin un carácter “/” inicial. A la inversa, si usted necesita que su acción sea accesible en forma directa desde un navegador, incluya el “/” al inicio del nombre. Mejoras en los Asistentes de Business Component El Asistente de Business Component y el Asistente de View Object han sido actualizados para facilitarle la implementación del patrón de diseño de Fast Lane Reader [Lector Rápido de Pista]. Cuando usted crea un nuevo objeto vista, ahora tiene la opción de crear un objeto vista con datos que es poblado mediante una consulta SQL de sólo lectura. En este modelo, todos los datos son almacenados en el caché de vista, lo que permite resultados con un rendimiento muy rápido en consultas repetidas. 1

Upload: luiscalvar

Post on 10-Aug-2015

109 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle JDeveloper 10g – Notas de Distribución

Introducción Oracle JDeveloper 10g es un entorno de desarrollo integrado (IDE) para construir aplicaciones y servicios Web usando los últimos estándares de la industria para Java, XML y SQL. Oracle JDeveloper soporta el ciclo de vida completo del desarrollo con características integradas para modelar, codificar, depurar, probar, evaluar, ajustar e implementar aplicaciones. Un enfoque de desarrollo visual y declarativo, y el innovador Marco de Trabajo de Desarrollo de Aplicaciones Oracle (Oracle ADF) trabajan juntos para simplificar el desarrollo de aplicaciones y reducir las tareas rutinarias de codificación, ofreciendo una productividad sin paralelo y una selección de pilas de tecnologías. Oracle JDeveloper ofrece un SDK de Extensión que permite a los desarrolladores agregar capacidades y personalizar el entorno de desarrollo. Para aprender más acerca del Oracle JDeveloper, y para obtener las últimas novedades, visite la página principal de JDeveloper en la Red de Tecnología Oracle (OTN) en http://otn.oracle.com/products/jdev. Además, está disponible en este sitio el Apéndice de las Notas de Distribución de Oracle JDeveloper 10g, que contiene información adicional no disponible en el momento de la publicación de este documento.

Qué hay de nuevo en el JDeveloper 10.1.2 Aunque principalmente es una distribución de mantenimiento, el JDeveloper 10.1.2 agrega una pequeña cantidad de nuevas características: Objetos de base de datos fuera de línea En el Asistente de Objetos de base de datos fuera de línea, la selección por esquema ahora es el último paso. Esto se hizo para permitir que el esquema sea ofrecido como lo predeterminado para el nombre de esquema en línea en los proyectos TopLink. Diagrama de flujo de página Struts

• Se ha mejorado la presentación y la respuesta general de diagramas grandes para los proyectos dinámicos.

• Se mejoró aun más el rendimiento de la edición de Struts validando sólo el xml contra el DTD cuando el proyecto está compilado o cuando el desarrollador elije validarlo explícitamente desde el menó contextual, en lugar de hacerlo cada vez que el editor de Struts tenga foco.

• Ahora es posible crear acciones que no estén prefijadas con un “/”. Esto significa que usted puede crear acciones privadas que no sean accesibles directamente desde un navegador especificando un nombre de página sin un carácter “/” inicial. A la inversa, si usted necesita que su acción sea accesible en forma directa desde un navegador, incluya el “/” al inicio del nombre.

Mejoras en los Asistentes de Business Component El Asistente de Business Component y el Asistente de View Object han sido actualizados para facilitarle la implementación del patrón de diseño de Fast Lane Reader [Lector Rápido de Pista]. Cuando usted crea un nuevo objeto vista, ahora tiene la opción de crear un objeto vista con datos que es poblado mediante una consulta SQL de sólo lectura. En este modelo, todos los datos son almacenados en el caché de vista, lo que permite resultados con un rendimiento muy rápido en consultas repetidas.

1

Page 2: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

2

Mejoras de rendimiento en ADF Business Components El rendimiento de los ADF Business Components ha aumentado sustancialmente en esta distribución. Usted no tiene que hacer ninguna modificación a su código o arquitectura. Sólo recompile su aplicación en esta distribución, implemente y ejecute. Dependiendo del tipo de aplicación que esté usando, podría ver hasta un 30% de mejora en el rendimiento. Vinculación de datos La solución al error 3077519 BLANK NEW ROW PROBLEM IS BACK FOR WEB APPS ha dado por resultado un pequeño cambio en el tiempo de diseño de la vinculación de datos. Este error en el JDeveloper 9.0.5 causa que se inserte una línea en blanco en un formulario de navegación cuando el usuario hace clic sobre un botón para agregar una nueva fila en un formulario en blanco, y luego hace clic sobre el botón de retroceso del navegador para regresar al formulario de navegación. Para las páginas web vinculadas a ADF Business Components, este comportamiento ahora ha cambiado: por defecto, cuando el usuario presiona el botón de retroceso, ya no ve una línea en blanco. Si desea que sus páginas utilicen el viejo comportamiento, los pasos son los siguientes:

• Con su página web o diagrama de flujo de página struts abierto en el editor, vaya a la solapa de modelo UBI en el panel de estructura.

• Edite la vinculación de acción para la operación Create [Crear]. • En la lista desplegable, seleccione la acción CreateInsert, reemplazando la acción

Create que ahora es mostrada por defecto.

OC4J incorporado JDeveloper 10.1.2 incluye el OC4J versión 10.1.2 incorporado. Para conocer las mejoras y los problemas corregidos en el OC4J 10.1.2, por favor vea las notas de distribución de OC4J. Controladores JDBC JDeveloper 10.1.2 es distribuido con los controladores Oracle JDBC del Oracle Application Server 10.1.2 ADF Runtime en el Oracle Application Server 10.1.2 Las librerías runtime de Oracle ADF están incluidas en el Oracle Application Server 10.1.2. Esto significa que si usted está implementando aplicaciones ADF para el Oracle Application Server 10.1.2, no necesita ejecutar el Instalador ADF Runtime para instalar las librerías ADF en el servidor de aplicaciones.

Problemas de migración El servicio web PL/SQLde JDeveloper 9.0.3 tiene errores de compilación cuando es regenerado (3023311) Si usted abre un proyecto de JDeveloper 9.0.3 e intenta regenerar un servicio web PL/SQL en ese proyecto, será dejado en un estado incompatible. Solución alternativa:

• Antes de regenerar el servicio, borre del proyecto todos los archivos de Java relacionados directamente con el paquete del servicio y todos los tipos de objeto usados por ese servicio.

La regeneración del servicio web migrado puede resultar en un perfil de implementación incompleto (3506154) Cuando usted regenera un servicio web que ha sido migrado desde una versión previa de JDeveloper, puede encontrar que se ha perdido la interfaz regenerada del perfil de implementación lo que causará que el servicio implementado sea inaccesible.

Page 3: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

3

Solución alternativa: • Utilice el diálogo del perfil de implementación para incluir manualmente el archivo

perdido, luego reimplemente el servicio.

La ubicación de las herramientas de prueba WS-I debe ser ingresada nuevamente (3535897) Si usted migra configuraciones de usuario desde el JDeveloper 10g Preview, la ubicación de las herramientas de prueba WS-I parecerá ser correcta, sin embargo tiene que ingresar la ubicación nuevamente para llenar un campo oculto que es necesario para que el código del analizador funcione correctamente. Vaya a Tools | Preferences y elija WS-I Testing Tools. Vuelva a ingresar la ubicación principal de las herramientas de prueba navegando hasta la carpeta o escribiendo la ubicación.

Migración de aplicaciones Struts a Oracle JDeveloper 10g Las aplicaciones Struts creadas en Oracle9i JDeveloper o en otras herramientas pueden no compilarse correctamente después de ser migradas a la distribución de producción Oracle JDeveloper 10g. Esto puede suceder incluso si las aplicaciones fueron anteriormente migradas con éxito a la distribución Oracle JDeveloper 10g preview. Si tiene una aplicación Struts que ya no se compila correctamente después de la migración a JDeveloper 10g, el proceso de migración puede haber quitado en forma incorrecta el archivo struts.jar de su directorio WEB-INF/lib. Para corregir los errores de compilación de Struts después de la migración:

• Copie el archivo struts.jar correcto desde el directorio directorio_instalación_JDeveloper/jakarta-struts/lib directory en el directorio WEB-INF/lib de su proyecto.

Los iteradores predeterminados para los conjuntos de filas [Rowsets] de los objetos vista avanzan a la primera fila cuando están vinculados a un iterador ADF Los nuevos vínculos iteradores ADF en JDeveloper 10g causan que el iterador al que están vinculados avance hasta la primera fila en el conjunto de filas. Este es el comportamiento óptimo para la presentación UI de esas filas, y el comportamiento es necesario para que los vínculos del iterador ADF funcionen correctamente con las librerías de etiquetas JSP estándares como JSTL. Sin embargo, este comportamiento puede causar problemas en la lógica de las aplicaciones existentes cuando usted migra una aplicación BC4J a JDeveloper 10g y comienza a agregar nuevos vínculos iteradores ADF a su aplicación. Considere el siguiente método hipotético de módulo de aplicación que representa la lógica empresarial escrita por algún usuario.

public boolean employeeExists(Number empno) { EmpViewImpl eview = getEmpView(); eview.setWhereClause("empno = :1"); eview.setWhereClauseParam(0,empno); eview.executeQuery(); /* * ADVERTENCIA DE MIGRACIÓN * ~~~~~~~~~~~~~~~~~~~~~~~~ * Cuando no hay vinculaciones de iterador ADF hacia la instancia * de objeto vista “EmpView” – más precisamente, hacia el iterador * predeterminado de su conjunto de filas predeterminado – entonces * inmediatamente después de executeQuery() el iterador estará en la

Page 4: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

4

* ubicación anterior a la primera fila. Suponiendo que esta consulta * devuelve una única fila, entonces eview.hasNext() será cierto, ya * que aun no hemos avanzado a la primera fila. * * Cuando un vínculo de iterador ADF está vinculado a “EmpView” * entonces después de executeQuery() el iterador avanzará para * situarse sobre la primera fila del resultado – en este caso, la * única fila en el resultado – y eview.hasNext() devolverá falso. */ if (eview.hasNext()) { return true; } else { return false; } }

El problema también puede ser solucionado en la lógica empresarial de nivel medio que es escrita para iterar sobre los resultados del conjunto de filas y realizar alguna operación en cada fila. Los ejemplos incluyen el cálculo de sumas de atributos numéricos en cada fila, pero se limitan a esto. Por ejemplo, usted puede tener un código así:

public Number shoppingCartTotal() { ShoppingCartImpl cart = getShoppingCart(); cart.reset(); double total = 0; /* * ADVERTENCIA DE MIGRACIÓN * ~~~~~~~~~~~~~~~~~~~~~~~~ * Cuando no hay ningún vínculo de iterador ADF vinculado con la * instancia del objeto vista “ShoppingCart”, entonces inmediatamente * después de la llamada a reset() de arriba el iterador estará en la * ranura antes de la primera fila. El bucle de abajo funcionará sobre * todas las filas N en el conjunto de filas codificado como éste. * * Cuando un vínculo de iterador ADF está vinculado a “ShoppingCart” * entonces después de la llamada a reset(), el iterador avanzará para * situarse sobre la primera fila del resultado. So el código del * bucle no es cambiado, entonces funcionará desde la 2da hasta la * Nma fila, perdiéndose la primera fila. */ while (cart.hasNext()) { ShoppingCartRowImpl curCartItem = (ShoppingCartRowImpl)cart.next(); total += curCartItem.getExtendedTotal().doubleValue(); } return total; }

Hay dos soluciones básicas para el problema:

1. Donde acaba de probar si existe la primera fila, utilice el API first() y pruebe si es nula o no.

Page 5: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

5

2. Donde realice iteraciones sobre el conjunto de filas, utilice el API createRowSetIterator() para crear un iterador secundario para usarlo en lugar de la lógica empresarial programática de nivel medio. Recuerde llamar a closeRowSetIterator() en el iterador cuando haya terminado con el bucle si no desea que el iterador permanezca allí y activo.

Utilice las mejores prácticas para el nuevo código que escriba. Luego de los consejos de arriba, los dos ejemplos ilustrados arriba se deberían reescribir así:

public boolean employeeExists(Number empno) { EmpViewImpl eview = getEmpView(); eview.setWhereClause("empno = :1"); eview.setWhereClauseParam(0,empno); eview.executeQuery(); /* * Se utiliza first() en lugar de hasNext() para probar la existencia * de al menos una fila en el resultado ya que el iterador * predeterminado podría estar vinculado a una vinculación de iterador * ADF que está siendo usado en la capa vista */ if (eview.first() != null) { /* Using first() instead of hasNext() */ return true; } else { return false; } }

y public double shoppingCartTotal() { ShoppingCartImpl cart = getShoppingCart(); /* * Se utiliza el iterador secundario ya que el iterador predeterminado * podría estar vinculado a una vinculación de iteración ADF que está * siendo usado en la capa vista */ RowSetIterator cartIter = cart.createRowSetIterator(null); double total = 0; while (cartIter.hasNext()) { ShoppingCartRowImpl curCartItem = (ShoppingCartRowImpl)cartIter.next(); total += curCartItem.getExtendedTotal().doubleValue(); } cartIter.closeRowSetIterator(); return total; }

Migración de proyectos que utilizan bc4jhtml.jar El archivo bc4jhtml.jar runtime de ADF BC se ha dividido en esta distribución de JDeveloper. Si usted ha migrado un proyecto que utiliza bc4jhtml.jar, debería actualizar la ruta de clase para que contenga <INICIO_JDEV>/BC4J/jlib/bc4jhtml.jar y <INICIO_JDEV>/BC4J/lib/adfmweb.jar

Migración de proyectos JClient con Java Web Start y JNLP

Page 6: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

6

Si su aplicación JClient dependía de Java Web Start, el archivo bc4jlibs.ear en JDeveloper 9.0.5.2 y anteriores contenía el jndi.jar. Al comenzar en JDeveloper 10.1.2, este archivo JAR ya no es necesario (porque ahora está disponible como una extensión estándar JDK 1.4). Es necesario quitar el archivo jndi.jar de su archivo bc4jlibs.ear cuando desee migrar una aplicación JClient 9.0.5.x a 10.1.2.

Migración del diálogo manipulador de errores personalizado de JClient Cuando actualiza una aplicación basada en JClient desde 9.0.3/9.0.4 a JDeveloper 10g (9.0.5 o 10.1.2), si la aplicación tiene un diálogo de error personalizado que no extiende a oracle.jbo.uicli.controls.JUErrorHandlerDlg, entonces su diálogo manipulador de errores personalizado necesitará implementar la nueva interfaz oracle.adf.model.binding.DCErrorHandler. Esto puede realizarse delegando a su implementación existente del método reportException() en su implementación de la interfaz oracle.jbo.uicli.binding.JUErrorHandler.

EJB: Migración de mapeos CMP nativos de OC4J 9.0.x Cuando migra una aplicación EJB que contiene CMP Entity beans que utilizan los mapeos CMP nativos de OC4j (p.ej. no TopLink), los usuarios deben realizar una operación sencilla antes de que la aplicación pueda ser reimplementada para un servidor OC4J 10.1.x.

1. Elija un CMP Entity bean, haga clic derecho sobre su nodo EJB en el navegador JDev y seleccione “Edit CMP Mappings…” [“Editar Mapeos CMP…”] (Nota: este item de menú no aparecerá si el CMP Entity bean está mapeado usando mapeos CMP nativos de OC4J. Si el item del menú contextual no aparece, el Entity bean no está mapeado usando mapeos nativos de OC4J, por lo que el paso de la migración no es necesario.)

2. Una vez que el CMP Mapping Editor [Editor de Mapeo CMP] se abre y es seleccionado el nodo de árbol “CMP Field Mappings” [“Mapeos de Campo CMP”], haga clic sobre la solapa “Relationship Mappings” [“Mapeos de relación”] y visite cada relación en la que participa el CMP Entity bean. Simplemente la visita al panel causará que los nuevos datos sean guardados cuando se salga del panel.

3. Mientras aun está en el editor de Mapeos CMP, repita este proceso para cada CMP Entity bean en el módulo EJB. Cuando haya terminado, salga del editor de mapeos seleccionando “OK” para aplicar los cambios.

Una vez que esto pasos han sido realizados, el módulo EJB está listo para ser implementado para un servidor OC4J 10.x.

Problema al migrar aplicaciones web desde Oracle9i JDeveloper 9.0.4 (3672145) Cuando usted intenta compilar una aplicación web desde JDeveloper versión 9.0.4, puede recibir el siguiente error: /WEB-INF/ojsp-global-include.xml:oracle.xml.parser.v2.XMLParseException: Unexpected text in content of Element 'ojsp-global-include'

[/WEB-INF/ojsp-global-include.xml:oracle.xml.parser.v2.XMLParseException: Texto inesperado en el contenido del Elemento 'ojsp-global-include'

Para solucionar el problema, edite el archivo /WEB-INF/ojsp-global-include.xml y cambie el elemento <?xml version=”1.0” standalone=’yes’ ¿>

para que se lea <?xml version="1.0" standalone='no' ?>

El diálogo de migración se puede presentar cuando se migra de 9.0.5.1 a 10.1.2 (3797912)

Page 7: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

7

Cuando usted migra una aplicación desde Oracle JDeveloper 10g versión 9.0.5.1 a la versión 10.1.2, el diálogo de Migración puede abrirse, incluso aunque la pila de tecnologías no haya cambiado entre estas versiones. Puede ignorar este diálogo en forma segura.

Los parámetros de vinculación de estilo Oracle funcionan en forma diferente (3848733) Oracle JDeveloper versión 9.0.5.2 y anteriores contenían una versión de JDBC que no proporcionaba un control de errores estricto para los parámetros de vinculación de estilo Oracle. Esto permitía que las expresiones contuvieran más de un parámetros de vinculación con el mismo nombre, como ser: WHERE SALARY > :1 AND DEPARTMENT = :2 AND MANAGER_ID = :1 Tanto el primero como el tercer parámetro en la expresión de arriba son llamados “:1”, un error que no era reconocido por las versiones anteriores de JDBC. La versión más temprana de JDBC tampoco reconocía los errores que involucraban espacios entre columnas y partes numéricas de nombres de parámetros. “:1” (con espacio) no es un parámetro de vinculación de estilo Oracle legal, pero la versión más temprana de JDBC no reconocía este error. La versión de JDBC incluida con Oracle JDeveloper 10g (versión 10.1.2) proporciona un control de errores estricto, y emitirá una excepción por las expresiones como la de arriba donde la clase, o los parámetros contengan espacios. Si usted está migrando una aplicación desde una versión temprana de JDeveloper, y la aplicación contiene expresiones con parámetros de vinculación JDBC de estilo Oracle no únicos, debe cambiar los nombres de los parámetros para asegurarse de que sean únicos dentro de la expresión. Por ejemplo, la expresión anterior podría ser cambiada para que se vea así: WHERE SALARY > :1 AND DEPARTMENT = :2 AND MANAGER_ID = :3 Usted también podría asegurarse de que ninguno de los nombres de parámetros de sus vínculos contenga espacios, y debería cambiar sus llamadas a ViewObject.setWhereClauseParam() y ViewObject.setWhereClauseParams() para asegurarse de que todos los valores de los parámetros aun estén suministrados. Por ejemplo, para la definición de un objeto vista con la cláusula WHERE de arriba, la instrucción

setWhereClauseParams(new Object[] { value1, value2 }

debería ser reemplazada por setWhereClauseParams(new Object[] { value1, value2, value1 }

Migración de relaciones CMR de EJB a Oracle10g JDeveloper Versión 10.1.2 (3667211) Si usted está migrando a la versión 10.1.2 desde una versión anterior y tiene CMP EJB entity beans con relaciones CMR, necesita actualizar esas relaciones. Simplemente seleccione cada relación en el Editor de Mapeos CMR, y JDeveloper las actualizará automáticamente en forma apropiada.

Las aplicaciones UIX/BC4J/JSP de 9.0.X migradas no tienen recursos UIX ni estilos disponibles (3365125)

Page 8: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

8

Si usted migra un proyecto de aplicación completo UIX/BC4J/JSP de 9.0.X a JDeveloper 10g y luego ejecuta la aplicación, los recursos UIX y los estilos no son vistos en tiempo de ejecución. Esto es porque el proceso de migración sólo quita los objetos y archivos que están relacionados con versiones anteriores del producto; no agrega los nuevos instalables. Solución alternativa:

1. Migre sus aplicaciones. 2. Reconstruya los proyectos de modelo y vista en forma individual para sus aplicaciones

9.0.X para agregar los últimos recursos UIX y estilos.

Problemas de implementación El procesador de páginas XSQL no puede leer las páginas desde el archivo WAR Servlet 2.2 no expandido (1552039) No se pueden ejecutar páginas XSQL en WebLogic 6.1/7.0, JBoss 3.0.4 o Tomcat 4.1.12.

Incompatibilidades de tipo cuando se implementa para WevLogic Algunas aplicaciones implementadas para WebLogic pueden tener incompatibilidades de tipo si utiliza las clases Oracle suministradas por BEA. Para asegurarse de que no tenga estos problemas, reemplace los archivos suministrados classes12.zip y classes12.jar en el directorio lib de su servidor por classes12.jar en el directorio <instalación_jdev>/jdbc/lib.

WebLogic6.1 no entiende la codificación de 'Windows-1252' en los archivos XML WebLogic6.1 no entiende la codificación de Windows-1252 en los archivos xml. Este es un error en el xmlparser en WebLogic6.1. Para implementar aplicaciones en JDeveloper para WebLogic6.1 cambie la codificación a una de IANA que el WebLogic6.1 reconozca. Se recomienda usar la codificación UTF-8. Los usuarios japoneses necesitan usar Shift_JIS.

1. Abra Tools | Preferences 2. En el panel Environment [Entorno] cambie el campo Encoding [Codificación] a UTF-

8. 3. Haga clic sobre OK.

Ahora cree un nuevo proyecto y su aplicación.

La ejb-ref en web.xml no cambia si el Tipo de Bean es cambiado de Remoto a Local (2589997) La creación de una aplicación JSP para una fachada de sesión BC4J da por resultado una entrada ejb-ref en el web.xml de ese proyecto. SI usted cambia el tipo de interfaz de esa fachada, de local a remota y viceversa, entonces debe actualizar la entrada ejb-ref en web.xml. Por ejemplo, si cambia el tipo de bean de remoto a local entonces debe reemplazar la sección <ejb-ref> en web.xml con las etiquetas <ejb-local-ref> apropiadas.

No se muestran los perfiles de implementación apropiados para los proyectos con Alcance de la Tecnología UIX de ADF (3316426) Cuando trabaja con un proyecto que sólo tiene asignado el alcance de tecnología UIX de ADF, en el diálogo “New Gallery” no se muestra la lista apropiada de perfiles de implementación con el filtro fijado en “Tecnologías de Proyecto”. Si cambia el filtro a “All Technologies” se mostrará la lista completa de perfiles de implementación.

Page 9: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

9

Detalles adicionales para la implementación de aplicaciones UIX para WebLogic (3390872) Además de la documentación proporcionada para implementar aplicaciones UIX para WebLogic, los siguientes detalles adicionales pueden ser de ayuda:

1. Cuando se extraen los archivos del archivero EAR/WAR, el directorio objetivo para los contenidos del archivero deben tener el mismo nombre que el archivero. Por ejemplo, si usted está extrayendo webapp1.ear que contiene webapp1.war, debe tener la siguiente estructura en el disco: /webapp1 (contenidos de EAR) /webapp1/webapp1 (contenidos de WAR).

2. Después de extraer los archivos necesita editar el application.xml en el archivo EAR para que apunte a los directorios expandidos en lugar de apuntar a los archivos WAR.

3. Después de expandir los archivos EAR y WAR, éstos deberían ser borrados, ya que sólo los archivos extraídos son parte de la aplicación.

Configuración del administrador de persistencia en orion-ejb-jar.xml no soportado para OracleAS 10.1.2 Cuando usted implementa entity beans de persistencia administrada por contenedor (CMP) desde JDeveloper 10.1.2 para OracleAS 10.1.2 y versiones anteriores, no puede configurar el administrador de persistencia en orion-ejb-jar.xml. Estas configuraciones causarán un error de implementación.

Excepción de inicio de aplicación ADF en Websphere 5.1 (3590864) Si usted inicia una aplicación ADF BC4J JSP después de la implementación de EAR para WebSphere 5.1, la aplicación puede fallar, escribiendo excepciones similares a las siguientes en el registro del servidor de aplicaciones:

Exception: AppDeploymentException: [ADMA0092E: Unexpected exception occurred while preparing task MapRunAsRolesToUsers. Please check server machines FFDC for more information.] AppDeploymentException: [] com.ibm.etools.archive.exception.DeploymentDescriptorLoadException: WEB-INF/web.xml AppDeploymentException: [] com.ibm.etools.archive.exception.DeploymentDescriptorLoadException: WEB-INF/web.xml com.ibm.etools.archive.exception.DeploymentDescriptorLoadException: WEB-INF/web.xml

Para corregir esta excepción, quite el atributo <filter-mapping> del archivo web.xml de la aplicación.

ADF DataAction para problemas conocidos de Struts La mejor práctica para la vinculación ADF a los resultados de los métodos En una aplicación web de Struts basada en ADF, cuando trata de mostrar datos sobre una página que es el resultado de la invocación de un método declarativo sobre su control de datos, recomendamos realizar la invocación del método en un DataAction separado (con su propio contenedor de vinculación) que, a su vez, envíe los datos hacia la DataAction o DataPage que realizará la presentación de los resultados del método. Un intento por ejecutar el método en forma declarativa por medio de una vinculación de acción de método en el mismo contenedor de vinculación que el iterador vinculado a sus resultados, puede presentar problemas.

Problemas de ADF Business Components No utilice el proyecto "Scan Source Path" [“Búsqueda de la ruta origen”] con ADF Business Components (3508285)

Page 10: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

10

La opción de proyecto de JDeveloper “Scan Source Paths to Determinate Project Contents” [“Búsqueda de las rutas origen para determinar los contenidos del proyecto”] no funciona en forma confiable para los ADF Business Components. Para esta versión, recomendamos no usar esta opción de proyecto si su proyecto contiene ADF business components.

“No Such Method Error” para una aplicación ADF BC4J JSP en WebLogic 8.1.2 (3739767) Si está ejecutando una aplicación ADF BC4J JSP en WebLogic 8.1.2 puede ver el siguiente error:

java.lang.NoSuchMethodError: javax.xml.namespace.QName.(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

Para corregir este error, agregue estos items a la ruta de clase del servidor WebLogic antes de ejecutar la aplicación:

xmlparserv2.jar adfmweb.jar

Métodos personalizados de objetos vista en modo batch (3274140) Cuando ejecuta en “modo batch”, el código del lado cliente que utiliza una interfaz de Objeto Vista ADF personalizada debe hacerlo primero retornando el objeto vista (convirtiendo los tipos para esta interfaz personalizada) desde un método personalizado del módulo de la aplicación. De lo contrario, puede lanzar una excepción ClassCastException.

La autenticación usando LDAP no funciona con el OC4J independiente (3903758) Si usted está usando OC4J independiente (en lugar de una instalación completa de Oracle Application Server) para ejecutar su ADF Business Components, no podrá usar LDAP para proporcionar administración de identidades o autorización. Esto tiene dos consecuencias para las aplicaciones que utilizan LDAP para proporcionar administración de identidad: * Debe implementarlas para una instalación completa de Oracle Application Server, en

lugar de para OC4J. * No puede definir la autorización entidad por entidad en JDeveloper si utiliza LDAP para

proporcionar administración de identidades, porque el tiempo de diseño de JDeveloper depende del OC4J independiente.

Este problema será corregido en la versión siguiente de JDeveloper.

Problemas de ADF UIX Bloqueadores de popups y barras de herramientas de terceros pueden interferir con ADF UIX (2900583) Ciertos componentes ADF UIX (seleccionador de fechas, lista de valores, etc.) utilizan ventanas popup externas para permitir que el usuario seleccione valores sin moverse a otra página. Algunas barras de herramientas de terceros interfieren con estas ventanas no permitiéndoles comunicarse de nuevo con la página base, como está permitido en HTML. La única solución posible en la actualidad es desactivar el bloqueador de popups para los sitios con contenido UIX.

La compresión de Javascript puede causar errores en ADF UIX Debido a un error en el Microsoft Internet Explorer, las rutinas usadas por ADF UIX para cargar librerías de Javascript pueden no funcionar correctamente si el UIX del hospedaje de servidores tiene activada la compresión de los archivos Javascript, una optimización opcional del rendimiento. El ADF UIX no realiza esta optimización en forma predeterminada, pero puede ser configurada en algunos contenedores servlet o a través de

Page 11: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

11

la tecnología Web Cache de Oracle. Para evitar esto, no comprima las librerías Javascript para ser cargadas por aplicaciones UIX. Este problema no afecta a otros navegadores.

Las plantillas UIT no están disponibles para la inserción en el menú contextual (3038299) Bajo ciertas situaciones todas las plantillas .uit en un proyecto pueden no aparecer en el menú contextual para su inserción en una página UIX. Al ejecutar una operación Save All se forzará a que todas las plantillas en el proyecto estén disponibles.

La configuración del atributo origen para los Componentes de Imagen UIX falla si la imagen está en una unidad diferente (3458363) Cuando se configura el atributo origen [source] para un componente de imagen UIX, si elige una imagen que está fuera de su directorio html_root y ubicada en una unidad diferente que donde está instalado el JDeveloper, la copia opcional del archivo al html_root falla. La solución es mover/copiar manualmente el archivo de imagen en el sistema de archivos.

Datos en vivo en la previsualización de UIX La Previsualización de UIX no soporta la muestra de datos en vivo para páginas vinculadas usando Controles de Datos ADF en esta versión.

Restricciones sobre Struts de Apache No está soportado múltiples módulos de aplicación Struts dentro de un único proyecto Esta versión de la diagramación Struts sólo puede soportar un único Diagrama Struts por proyecto de espacio de trabajo. Múltiples archivos de configuración Struts deberían ser divididos en proyectos individuales. Puede encontrarse un documento detallado que describe cómo manejar aplicaciones Struts de configuración múltiple en la página How-To de JDeveloper OTN: (http://otn.oracle.com/products/jdev/howtos/index.html)

Sólo soporte parcial para aplicaciones basadas en Tiles Las aplicaciones basadas en Tiles pueden ser usadas con Struts en JDeveloper 10g, sin embargo, no es posible usar la vista de diagramador de flujo de página con tales aplicaciones. La edición directa del archivo Configuración de Struts, el editor de Consola Struts y el uso del panel de Estructura y del inspector de propiedades aun están disponibles para los desarrolladores de aplicaciones basadas en Tiles.

Entradas <welcome-file> en web.xml (3423938) Cuando una Acción es definida como la acción de inicio predeterminada de un flujo de Página Struts (usando el menú contextual en el diagrama de flujo de página), las propiedades del proyecto son actualizadas para hacer que la acción designada sea el objetivo de ejecución predeterminado. Además, si la acción de inicio es una Acción Forward [Envío], la colección <welcome-files> de web.xml es actualizada con una entrada <welcome-file> nueva para la página designada. En algunos casos usted puede desear corregir esta entrada en web.xml para usar una página que redireccione a una acción Struts en lugar de a la página de ActionForward subyacente. Además, si la acción de inicio predeterminada es fijada varias veces en un proyecto, puede ser que se agreguen múltiples entradas a la lista de archivos de bienvenida [welcome files].

El atributo Action debe ser editado cuando se utiliza un formulario HTML en las páginas JSP (3452660) Cuando el componente que inserta en una página web basada en Struts requiere un elemento Form [Formulario], como un campo de entrada, JDeveloper le pedirá que inserte

Page 12: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

12

el componente dentro de un Formulario que crea para usted. El elemento Formulario es usado en tiempo de ejecución para enviar los valores con el objeto Request [Pedido] y contiene texto de marcador de posición para especificar la acción Struts objetivo: <html:form action="/Maneje_este_formulario.do"> Usted debe editar el atributo de acción para especificar el nombre de la acción que su flujo de página utiliza para manipular la entrada del formulario. Por ejemplo, cambie /Maneje_este_formulario.do por /NombreMiAccion.do cuando el nombre de la acción es NombreMiAccion.

Falla el “arrastrar y soltar” del método sobre Página/Acción de Datos con la etiqueta Forward superpuesta (3443358) Cuando trabaja en el modelador de flujo de página struts, si la etiqueta de texto de un forward está ubicada de forma tal que se superpone con una página/acción, puede ser difícil arrastrar métodos desde la paleta de control de datos hasta la página/acción de datos. Si mueve la etiqueta Forward fuera de la página/acción permitirá el arrastrar y soltar exitoso de los métodos sobre la página/acción de datos.

El mensaje “Directory WEB-INF Does not Exist” [“El directorio WEB-INF no existe”] es mostrado en la consola (3976907) Cuando diseña o ejecuta una Aplicación de Struts sencilla, puede obtener un mensaje de error sobre la consola: Directory C:\WEB-INF does not exist.

Este mensaje puede ser ignorado sin problemas.

Problemas de vinculación de datos Evitar problemas de rendimiento buscando datos o haciendo modificación retroactiva del cache del lado del cliente (3278854) Para evitar problemas de rendimiento al buscar datos o al hacer modificaciones retroactivas del cache del lado del cliente con un rangeSize [tamaño del alcance] modificado, es aconsejable fijar el mismo rangeSize para todos los usos de un RowSetIterator asociado a las vinculaciones del iterador en múltiples contenedores de vinculaciones de la misma aplicación/flujo de aplicación.

Atributos escalares retornados por Accesores Bean (3389123) Los atributos escalares retornados por los accesores Bean son marcados como “readonly” [“solo lectura”] en la vinculación de datos de ADF. El soporte para actualizar estos valores no está implementado en esta versión.

NoDefExeception cuando se presenta un Bean sin atributos escalares (3475505) Al usar etiquetas <adf:render> o <adf:inputrender> aparecerá una oracle.jbo.NoDefException cuando intente presentar un bean que no contiene atributos escalares.

Tipo de dato oracle.jbo.domain.Array (3412750) El tipo de dato oracle.jbo.domain.Array puede ser presentado usando el presentador personalizado Input/Value en JSPs y JUArrayComboBox en JClient. En versiones futuras estos objetos Array pueden ser desreferenciados y tratados como un tipo colección para que su nodo pueda ser expandido y que el contenido del Array (si no es escalar [nonscalar]) esté accesible en la Paleta de Vinculación de Datos para soltarlo.

No es posible fijar el tipo de un Rowset Return Type en el método AM personalizado (3323420)

Page 13: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

13

No hay forma de que pueda fijar el tipo (o clase de bean) de un tipo de retorno de colección de un método de módulo de aplicación personalizado. En otros modelos puede editar el archivo xml y fijar la clase bean de una colección. Sin embargo, no hay forma de que haga esto para el modelo BC4J. Puede solucionar esto proporcionando un componente dinámico que no requiera los metadatos en el tiempo de diseño.

Si se utiliza un RSI secundario para el maestro, no se devuelve ninguna fila de detalle (3507403) Si un viewlinked master/detail [maestro/detalle enlazados con vista] es soltado sobre una página y luego el RSIName del Master ViewObject es modificado para que no sea nulo, entonces el detalle no está coordinado en forma activa con el maestro ya que el detalle soltado está vinculado con un RowSetIterator predeterminado en el ViewObject maestro (y no con el RSI nombrado). La solución es no editar ni modificar el RSIName para el iteratorBinding del ViewObject maestro. Déjelo como nulo.

Las identificaciones de los DataControl en el archivo .cpx deben ser únicas (3539053) Cuando usted trabaja con más de un servicio empresarial en su proyecto cliente, la ID para cada DataControl en el archivo .cpx debe ser única. Cuando usted utiliza la Paleta de Control de Datos para diseñar su documento, las referencias al control de datos son agregadas al archivo .cpx con IDs únicas para usted. Para evitar la creación de un error en tiempo de ejecución, no edite la propiedad de ID del DataControl (en el Inspector de Propiedades) en el archivo .cpx para que use el mismo nombre.

Problemas con JClient El texto de información sobre las herramientas [Tooltip] no es tomado por los Clientes JClient (3442568) Los clientes de JClient ignoran los textos de información sobre herramientas que han sido ingresados para un atributo de objeto entidad o un atributo de objeto vista subyacente. Para solucionar este problema puede fijar el texto de información sobre herramientas en su código de cliente. Este ejemplo muestra cómo fijar el texto de información sobre herramientas para el atributo Deptno: mDeptno.setToolTipText(panelBinding.findCtrlValueBinding("Deptno").getTooltip());

Los controles de JClient ignoran las sugerencias de control de los Business Components en el tiempo de diseño (3405193) El ancho y el alto de la visualización fijados para los atributos de Business Components en el Editor de Objeto Entidad o en el Editor de Objeto Vista no serán usados para presentar el control en el Editor Visual de Java.

Los controles de JClient vinculados a una colección no son visibles en el Editor Visual de Java (3379812) Después de que inserte un control desde la Paleta de Control de Datos que vincula a una colección (como una tabla, árbol, lista o gráfico) en el panel o formulario de JClient, el control tendrá un tamaño de ancho 0 y alto 0. El tamaño 0,0 inicialmente hace imposible cambiar el tamaño del control en el Editor Visual. Para mostrar el control para poder cambiarle el tamaño, selecciónelo en la ventana Estructura y edite las propiedades de tamaño en el Inspector de Propiedades.

JClient ya no crea filas listas para asignar Comenzando en JDeveloper 9.0.5.x, las filas nuevas que crea un usuario en la aplicación JClient serán inicializadas como TEMPORARY y no serán validadas ni fijadas hasta que la fila sea editada por el usuario – o el estado de la fila sea forzado a NEW a través de una

Page 14: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

14

llamada a setNewRowState() (ver nota abajo). Este cambio fue hecho para reflejar el comportamiento típico de las aplicaciones UI de Java, como planillas de cálculo, que permite al usuario crear e insertar de antemano un rango de filas mientras la aplicación sólo necesita validar, fijar y asignar las filas llenas por el usuario. Observe que este comportamiento puede causar que las aplicaciones JClient que necesiten crear filas como completas, y listas para fijar, sean ignoradas durante la transacción de asignación. Para fijar un nuevo estado de fila en NEW, y de esa forma simular el comportamiento de JClient antes de la 9.0.5, uno tiene que escribir el código para cambiar de estado de fila. Hay una cantidad de formas para hacer esto:

1. Sobreescriba e ignore la llamada setNewRowState() en la subclase VIewRowImpl.

2. Sobreescriba la acción predeterminada navbar para crear y después de super, consiga la fila actual en el iterador y fije su nuevo estado de fila otra vez en NEW usando getIteratorBinding().getCurrentRow().setNewRowState(Row.STATUS_NEW)

3. Implemente un evento personalizado realizado por una acción para el botón Create/New y llame a createRow()/ insertRow() en el RowSetIterator apropiado en el código.

Java Web Start no es iniciado en el IE 5.5 Si su navegador predeterminado es el Internet Explorer, el navegador puede pedirle que baje el JSP en lugar de ejecutarlo con Java Web Start. Este es un problema conocido con el Internet Explorer versión 6 y anteriores. Para solucionar este problema, puede crear un archivo JNLP estático o puede fijar las preferencias de herramientas del JDeveloper para iniciar otro navegador. El Asistente de Java Web Star de JClient le permite generar un archivo JNLP estático que puede modificar para incluir las definiciones JNLP. En forma alternativa, si prefiere usar JNLP dinámico, y el conjunto de caracteres que utiliza es el inglés, puede editar el archivo Local.jsp para quitar el atributo de codificación charset en la directiva de página del archivo, como se muestra aquí: <%@ page contentType="application/x-java-jnlp-file" %>

Problemas con Toplink Uso de la solapa Custom Query en el Editor de Mapeo Utilice la solapa Custom Query [Consulta personalizada] en el editor de Mapeo de TopLink para definir consultas SQL personalizadas a ser usadas con un descriptor TopLink insert, update, delete, read o read all actions. Por ejemplo, para reemplazar la función predeterminada readObject de TopLink con un procedimiento almacenado personalizado, agregue la cadena SQL personalizada para implementar el código de reemplazo en la solapa Read de la solapa Custom Query.

Importación de proyectos desde el TopLink Mapping Workbench Utilice este procedimiento para importar su proyecto de OracleAS TopLink Mapping Workbench 9.0.4.x (.mwp) al Oracle JDeveloper 10g. Antes de terminar este procedimiento, debería crear una copia de respaldo de su proyecto original de Mapping Workbench. Para importar un proyecto Mapping Workbench:

1. Cree un nuevo proyecto con TopLink activado de JDeveloper. 2. Cree un objeto de base de datos fuera de línea para el proyecto. Utilice uno de los

siguientes métodos para crear las tablas de base de datos necesarias (como está identificado en el directorio \mw\table del proyecto Mapping Workbench)

Page 15: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

15

o Si las tablas en el proyecto Mapping Workbench fueron importadas desde una base de datos viva, importe las tablas en el proyecto JDeveloper.

o Si las tablas fueron creadas en el proyecto Mapping Workbench y no residen sobre una base de datos viva, cree manualmente cada tabla de base de datos. Nota: Asegúrese de que cada nombre de tabla, nombre de columna y límite de clave exterior sea idéntico a nombre de tabla, nombre de campo, y nombre de referencia correspondiente en el Mapping Workbench. Si los nombres no son idénticos, JDeveloper puede no importar correctamente la información del mapeo.

3. Cierre el proyecto JDeveloper. 4. Copie los siguientes archivos y directorios del proyecto Mapping Workbench original:

Copie este elemento desde el Proyecto

de Mapping Workbench Project... En esta ubicación del JDeveloper...

<nombre_archivo>.mwp Renombre el archivo con toplink_mappings.mwp y colóquelo en el directorio <nombre_proyecto> del JDeveloper

Directorio descriptor <nombre_proyecto>/descriptor

Archivos origen de Java y estructura de directorio <nombre_proyecto>/src

Para proyectos EJB 2.0 CMP: • ejb-jar.xml

<nombre_proyecto>/META-INF

5. En un editor de texto, abra el archivo toplink.mappings.mwp y realice los siguientes cambios: Cambie el elemento <name> del proyecto Cambie el elemento <name> del proyecto por toplink_mappings. Convierta el elemento <name> de cada tabla de base de datos El elemento <database-table> lista cada tabla de base de datos en un elemento <name>. Este <name> puede incluir un nombre de catálogo, esquema y tabla. Usted puede cambiar cada tabla para que incluya sólo un nombre de esquema y de tabla. La siguiente tabla demuestra varias conversiones de ejemplo.

Si el elemento <name> de su base de datos contiene… Convierta el elemento <name> en…

<name>Catalog.Schema.Table </name> <name>Schema.Table</name>

<name>Schema.Table</name> No necesita conversión

<name>Table</name> <name>Schema.Table</name>

6. En un editor de texto, abra el archivo

<project?name>/descriptor/<descriptor name>.xml de cada descriptor y realice los siguientes cambios: Convierta los elementos de la tabla del descriptor Para cada <name> de la tabla de base de datos que haya cambiado en el archivo toplink_mappings.mwp, debe realizar el mismo cambio de nombre en los

Page 16: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

16

siguientes elementos de cada archivo <project?name>/descriptor/<descriptor name>.xml del descriptor: <field-table> <primary-table> <associated-table> <reference-table> <reference-name> <relation-table> <sequencing-policy-table> <source-table> <target-table>

7. Reabra el proyecto JDeveloper y utilice uno de los siguientes métodos para agregar los archivos origen a su proyecto:

o Elija la opción Scan Source Paths to Determine Project Contents [Recorra las Rutas Origen para Determinar los Contenidos del Proyecto] en el diálogo Project Settings. Esto agrega los archivos origen a su ruta origen dinámica.

o Elija Project > Add to Project para agregar los contenidos de la carpeta <project name>/src. Esto agrega los archivos origen directamente a su proyecto.

8. Para los proyectos EJB, elija File > Import > EJB Deployment Descriptor File. Utilice el asistente para importar los archivos <project?name>/META-INF/ejb-jar.xml y /src

No se puede modificar el atributo de clave primaria de un objeto en una unidad de trabajo (3376332) Usted no puede modificar el atributo de clave primaria de un objeto en una Unidad de Trabajo. Esta es una operación no soportada y al hacerlo resultará un comportamiento inesperado (como excepciones o corrupción de bases de datos). Para reemplazar una instancia de un objeto que contiene limitaciones únicas con otro objeto, utilice el método setShouldPerformDeletesFirst de Unidad de Trabajo. Vea la Guía del Desarrollador de Aplicaciones OracleAS TopLink.

Es necesario orion-ejb-jar.xml para implementar usando CMP de TopLink (3492309) Se necesita un archivo orion-ejb-jar.xml para implementar proyectos EJB 2.0 CMP con TopLink. Si su proyecto no tiene un orionejb-jar.xml, el hacer clic sobre un mapeo TopLink para cualquier CMP EJB en el proyecto creará un archivo orion-ejb-jar.xml básico, como se muestra en el siguiente ejemplo.

<persistence-manager name="toplink"/> <entity-deployment name=" [entity name] " data-source=" [datasource name] " table=" [table name] "

Los usuarios obtendrán un error oracle.toplink.workbench.external.meta.ExternalClassNotFoundException si tratan de importar clases nuevas (.java) dentro de un proyecto con la tecnología TopLink seleccionada, y luego tratan de mapear estas clases seleccionando el botón “add descriptor” [“agregar descriptor”] bajo el nodo TopLink en el panel Estructura. Para eliminar este error, los usuarios deberían compilar las clases una vez antes de que las mapeen por primera vez. Asegúrese de tener las entradas de atributo < PM-name="toplink" > fijadas para cada EJB CMP en el orion-ejb-jar.xml. También puede usar este procedimiento para crear entradas de atributo < PM-name="toplink" >.

Page 17: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

17

1. Cree un orion-ejb-jar.xml mínimo seleccionando Deployment Descriptors > orion-ejb-jar.xml desde el diálogo New Gallery.

2. Haga clic sobre el nodo TopLink Mappings en el navegador de aplicaciones. 3. Haga clic sobre cada CMP EJB en el panel de estructura de TopLink Mappings. Esto

abrirá el editor de mapeos TopLink y agrega entradas de atributo <PM-name="toplink" > para la etiqueta <entity-deployment> para cada CMP EJB.

Excepción cuando se mapean clases con Alcance de Tecnología TopLink (3530302) Obtendrá un error oracle.toplink.workbench.external.meta.ExternalClassNotFoundException si trata de importar clases nuevas (archivos .java) a un proyecto con la tecnología TopLink seleccionada, y luego intenta mapear estas clases haciendo clic sobre el botón Add Descriptor en el panel Estructura TopLink. Para eliminar este error, debería compilar las clases una vez, antes de mapearlas por primera vez.

La solapa TopLink Mappings no está disponible en el Editor de Código (2986395) Después del Editor de Código y agregando un descriptor de implementación TopLink, la solapa TopLink Mappings puede no aparecer en el Editor de Código. Debe cerrar y reabrir el Editor de Código para que muestre la solapa TopLink Mappings.

Se pueden perder los Descriptores de TopLink después de modificar los archivos JAVA (3733058) Después de crear objetos Java (y descriptores TopLink) desde tablas, si modifica los archivos .JAVA con una sintaxis incorrecta (por ejemplo: private Stri) y cierra el JDeveloper, cuando lo vuelva a abrir se habrá perdido el Descriptor de TopLink para el archivo .JAVA modificado.

Los accesores (getters y setters) pueden no aparecer como métodos en el Editor de TopLink Mappings (3633296) Para asegurarse de que los accessores aparezcan como métodos en el editor de TopLink Mappings, debe cerrar el Editor de Mapeos, grabar el proyecto de JDeveloper, luego volver a abrir el Editor de Mapeos. Los accesores ahora aparecerán como métodos.

La ventana de Estructura de TopLink Mappings puede no actualizarse correctamente (3747403 y 3773050) Cuando realiza cambios a un atributo de mapeo, la ventana Estructura de TopLink Mappings puede no actualizarse correctamente para mostrar los cambios. Debe grabar el proyecto después de hacer los cambios para actualizar la ventana de Estructura de TopLink Mappings.

Problemas de accesibilidad de Toplink (3845935, 3845909, 3845804) Cuando utiliza el lector de pantalla JAWS con el editor de TopLink Mappings, los siguientes elementos de la interfaz de usuario pueden no ser leídos correctamente:

• Campo de preasignación sobre la solapa Sequencing [Secuenciamiento] • Tipo de mapeo específico en la ventana de estructura de TopLink Mappings

Nombres de clase que contienen signos dólar (3768125) Los nombres de clase que contienen un signo dólar ($) se supone que son clases internas. No puede utilizar el editor de TopLink Mapping para crear un descriptor TopLink para estas clases.

Uso del Editor de TopLink Mapping con Oracle10g Database (3856465)

Page 18: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

18

JDeveloper no incluye un archivo de base de datos específico de 10g. Para utilizar una base de datos Oracle10g con el editor TopLink Mapping, seleccione la opción base de datos de Oracle9i.

Migración de parámetros de control de datos de TopLink (3859963) Cuando migra un proyecto JDeveloper con mapeos TopLink a 10.1.2, los parámetros TopLinkSequenceOnCreate y TopLinkShouldPerformDeleteFirst son optativos, y por lo tanto no están incluidos en el proyecto migrado. Utilice la ventana Structure [Estructura] o la ventana Property [Propiedad] para agregar estos parámetros, si fuera necesario. Refiérase a los Javadocs para más información.

Algunos atributos pueden no aparecer en la ventana Structure de TopLink (3813680) Cuando agrega atributos al archivo .java en el código, debe grabar el archivo para asegurarse de que los atributos aparezcan correctamente en la ventana Structure de TopLink.

Las consultas predeterminadas de TopLink no son configurables (3603407) En el editor de TopLink Mapping, usted no puede configurar las opciones de cacheo para las consultas TopLink predeterminadas (como readAll y readOne). Por ejemplo, no puede cambiar items tales como uso [usage], vinculación [binding], tiempo vencido [timeout] y retorno de fila [row return].

Uso de vinculaciones de datos ADF de TopLink (3736337) Para utilizar las vinculaciones de datos ADF de TopLink en JDeveloper cuando implementa para OracleAS 10g (10.1.2), seleccione la opción Tools > ADF Runtime Installer [Instalador en tiemp de ejecución de ADF] en JDeveloper. No es necesario usar el Instalador en Tiempo de Ejecucción de ADF cuando utiliza OC4J independiente.

El uso de una Sesión de Database con un Rango de Conexiones causa una excepción de SessionLoader (3887079) En el sessions.xml de TopLink, si usted está usando una sesión Database, no cree ni utilice un Rango de Conexiones. Los Rangos de Conexiones sólo deberían ser usados con sesiones Server.

La refactorización de las clases no actualiza los Descriptores TopLink (3903528 y 3926599) Si usted refactoriza (la renombra o remueve) una clase, su descriptor TopLink asociado no es renombrado ni quitado. Para renombrar un descriptor TopLink, primero debe quitar el descriptor del proyecto, y luego volver a importar la clase Java renombrada. Será creado un nuevo descriptor TopLink con el nuevo nombre de clase.

El agregado de un espacio adelante de un nombre de sesión causa una excepción en tiempo de ejecución (3900559) Aunque JDeveloper le permite colocar un espacio al principio del nombre de una sesión del sessions.xml de TopLink, el hacerlo causará una excepción en el tiempo de ejecución. Asegúrese de que sus nombres de sesión no comiencen con un espacio.

Sincronización de Datacontrols.dcx y Databindings.cpx (3917609) Cuando trabaja con controles de datos en JDeveloper, los cambios en el DCX pueden no estar reflejados en el CPX. Para evitar este problema, asegúrese de modificar el Databindings (CPX) antes de modificar el Datacontrols (DCX).

Error cuando se borra y cuando se asigna un registro (3815959,3903366)

Page 19: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

19

Si un objeto mapeado TopLink tiene una relación 1:M que emplea un mantenimiento de relación bidireccional, puede ocurrir una violación de restricción de integridad de base de datos sobre UnitOfWork.commit() si la columna origen en la restricción de clave externa para esta relación no tiene una restricción no nula. Este problema se materializa en el ADF de TopLink a través de una acción de datos “commit” [“asignar”] Soluciones al problema:

1. Fije la relación 1:M como “privately owned” [“de propiedad privada”]. Esto indicará a TopLink que cuando el objeto relacionado sea quitado de la Colección 1:M debería ser borrado de la base de datos en lugar de ser actualizado para que tenga un valor FK nulo. Esta opción debería utilizarse con cuidado ya que una disasociación de un objeto en una Colección 1:M dará por resultado que la fila de la base de datos asociada sea borrada.

2. Desactive la restricción de no nula en la columna origen en la restricción de la clave externa. Esto permitirá que ocurra la actualización a nulo sin una violación de restricción de integridad.

Mñultiples cadenas en la vista “Source” [“Origen”] para session.xml se muestran como texto incomprensible (3983407) Cuando las cadenas multibyte están en session.xml, son mostradas como texto incomprensible en la vista “Source” para session.xml. Esto es sólo un problema de visualización. La vista “Source” o session.xml es de sólo lectura y la session.xml real está codificada correctamente.

La reconfiguración de las unidades de trabajo de TopLink mejorará el rendimiento Cuando es asignada una Unidad de Trabajo de TopLink, su estado no es cambiado automáticamente. En las múltiples transacciones, esto causará que el conjunto de cambios de la Unidad de Trabajo crezca, lo que finalmente puede degradar el rendimiento. Usted puede cambiar el estado de la Unidad de Trabajo explícitamente llamando a TopLinkDataControl.resetState() desde dentro de su capa Vista o Controlador. Por ejemplo, desde dentro de un método handleLifecycle() de DataAction de Struts, usted podría usar un código como el siguiente: TopLinkDataControl dc = (TopLinkDataControl) actionContext.getBindingContext().findDataControl("DataControlName"); if (! this.hasErrors(actionContext) ) { dc.resetState(); }

Usted también puede desear llamar a resetState() después de una operación commit [asignación] para cambiar explícitamente los aspectos no mapeados del estado

Problemas con los servicios Web Comprensión no disponible para documentos WSDL (2954818) JDeveloper no puede depender de que haya una conexión de red viva disponible en el inicio, y como los esquemas relevantes están todos en el sitio W3C, que JDeveloper no puede copiar en su instalación local por razones legales, JDeveloper no pre-registra ningún esquema xml para tipo de archivo WSDL. Por lo tanto la comprensión del código no está disponible para los documentos WSDL en el Editor XML de JDeveloper.

Errores de compilación después de la regeneración del servicio Web PL/SQL (3431499) Es posible que después de que regeneró un servicio PL/SQL obtenga errores de compilación causados por algunos archivos que fueron quitados del proyecto durante la

Page 20: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

20

regeneración. Para corregir esto, necesita agregar otra vez los archivos al proyecto a mano. En el navegador, seleccione el nodo de servicio web y haga clic sobre el botón Add to Application [Agregar a la Aplicación] (con un signo +). En el diálogo, navegue hasta el directorio \src\<package>. Seleccione todos los archivos .sqlj y haga clic sobre Open. Ahora debería poder compilar el proyecto sin ningún error.

En el Asistente para Encontrar Servicios Web, JAWS sólo devolverá un valor válido una vez que la fila esté cargada (3194304) Si usted utiliza un lector de accesibilidad como JAWS, necesita tener cuidado al usar el asistente Encontrar Servicios Web. Sobre la página tModel del asistente necesita esperar a que una fila se haya cargado correctamente antes de que pueda estar seguro de que la columna “Is WSDL” está devolviendo un valor válido. Puede hacer esto moviendo primero la columna Description. Mientras la columna está siendo cargada, la columna Description devuelve “Loading”. Una vez que la fila está cargada, la columna Description devuelve una descripción del servicio web. Ahora usted puede ir a la columna “Is WSDL” y leer el valor.

El cambio de proyecto en el Asistente de Servicios Web PL/SQL puede fallar en la actualización de la raíz de contexto para el punto final (3477647) En el paso 1 del asistente Servicios Web PL/SQL, hay un recuadro que le permite elegir el proyecto dentro del cual será generado el servicio. Una vez que llegó al paso 3 del asistente verá que el punto final [endpoint] del servicio web ha sido generado automáticamente usando la raiz de contexto del proyecto elegido. Sin embargo, si decide regresar al paso 1 y elegir un proyecto diferente, y luego regresa al paso 3 otra vez, notará que la regeneración automática del punto final del servicio web ha fallado y que el punto final aun refleja el contexto del proyecto elegido originalmente. Necesitará actualizar manualmente el punto final en el asistente para que refleje la raíz de contexto actual para el proyecto antes de generar el servicio web, de lo contrario el punto final en el documento WSDL generado será incorrecta y cualquier stub generado para acceder al servicio web apuntará al punto final equivocado. En forma alternativa, puede reeditar el servicio web después de la generación para reflejar el punto final correcto en la regeneración.

Debe utilizar un nombre calificado de esquema para el servicio web PL/SQL (2966028) En un servicio web PL/SQL que utiliza XMLTYPE como un parámetro o un atributo de un tipo de objeto, debe utilizar el nombre esquema de esquema SYS.XMLTYPE.

El stub de servicio web falla si es generado desde la ruta de instalación del JDevepoler con un espacio (3068701) Si usted instala a JDeveloper en una ruta donde alguna de las carpetas tiene un espacio en el nombre y luego genera un servicio web al que ejecuta sobre el servidor OC4J incorporado o sobre una instancia externa del servidor OC4J, encontrará que un stub al servicio fallará cuando el servicio web es llamado. La solución de este problema es instalar a JDeveloper en una ruta donde ningún nombre de carpeta contenga espacios.

No puede generar stubs para servicios web que hacen referencia a Base64 (2920137) La validación WSDL en la página Select Web Service Description [Seleccione la Descripción del Servicio Web] del asistente Create Web Service Stub/Skeleton [Crear Stub/Esqueleto del Servicio Web] no reconoce el tipo de esquema XML base64 desde el

Page 21: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

21

esquema http://schema.xmlsoap.org/soap/encoding/. Como resultado, usted no podrá generar servicios desde ningún archivo WSDL que haya referencia a este tipo.

JPublisher genera código incorrecto si el nombre del paquete PL/SQL contiene guiones (3522618) Si usted está generando un servicio web PL/SQL para un paquete de base de datos que contiene guiones en su nombre, los archivos SQLJ generados por JPublisher serán incorrectos ya que el guión (-) no es un carácter válido en un identificador Java. La solución al problema es editar el archivo SQLJ generado por JDeveloper, y encerrar la aparición del nombre del paquete entre comillas (“”), luego reconstruir.

La ubicación del archivo de registro WS-I tiene que estar en la misma unidad del sistema que JDeveloper (3535903) La ubicación del archivo de registro WS-I, que usted ingresa en Tools | Preferences | WS-I Testing Tools, debe ser en la misma unidad del sistema donde está JDeveloper, de lo contrario el archivo de registro no será escrito. Por ejemplo, si JDeveloper está instalado en la unidad D:, la ubicación del archivo de registro WS-I también debe estar en la unidad D:. Por favor vea Problemas de migración para información sobre migración específica de servicios web.

No puede generar un stub o un esqueleto para un WSDL que utiliza ciertos tipos (3912349) JDeveloper 10.1.2 sólo entiende un subconjunto de todos los complexTypes que pueden estar definidos en un documento WSDL. Por ejemplo, si lo siguiente aparece en la sección “types” del WSDL, cualquier uso de esos tipos causará que el JDeveloper genere una referencia a UnknownType en un stub o esqueleto:

• Restricciones de simpleTypes • complexTypes que definen atributos

Problemas de modelado Borrado de elementos del diagrama UML del disco (3421852) Si usted tiene una clase o una interfaz que está modelada sobre un diagrama, y utiliza Erase from Disk para borrar la clase o la interfaz del navegador, puede encontrar que aun aparece en el diagrama. Esto ocurre cuando usted ha creado la clase o la interfaz y la ha grabado, y luego ha cerrado el JDeveloper. Después, al reiniciar el JDeveloper, ha borrado la clase o la interfaz del navegador. La solución es borrar manualmente la clase o interfaz modelada desde el diagrama.

Borrar EJBs modelados del disco (3100651) Cuando tiene un EJB que está modelado sobre un diagrama y selecciona Erase from Disk desde el menú contextual del EJB modelado, el EJB aun es mostrado en el navegador. Para quitarlo, seleccione el EJB y elija File | Remove desde el paquete. Cuando tenga un EJB que está modelado sobre un diagrama, y borra del disco el EJB en el navegador, el EJB modelado aun es mostrado. Para quitarlo, selecciónelo y elija Erase from Disk desde el menú contextual. La soluciones de este problema es cerrar el diagrama antes de borrar el EJB. Y borrar el EJB desde el navegador.

El borrado de elementos del diagrama sin borrar las restricciones afecta al nodo en el diálogo Add to Diagram (3431254)

Page 22: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

22

Cuando tiene un elemento con una restricción adosada modelado sobre un diagrama, y borra el elemento pero no la restricción, no podrá expandir el nodo Constraint sobre el diálogo Add to Diagram.

Renombrar una clase Java modelada con un nombre inválido causa errores (3495725) Si utiliza Tools | Refactor para renombrar una clase Java sobre un diagrama con el nombre del paquete, p. ej., cambia mypackage1.JavaClass1 por mypackage1, se verá un error cuando trata de modelar otra clase sobre el diagrama. Para evitar esto, no cambie el nombre de una clase modelada por el mismo nombre del paquete.

Problemas en el desarrollo basado en equipos Soporte CVS: Uso de la notación con barra invertida para crear una conexión NT PSERVER (3075917) Cuando hay una letra de unidad en el campo repositorio de un valor de raíz de la conexión CVS, no debe usar la letra de la unidad seguida por dos barras, p.ej., d//cvshome. En lugar de eso, el repositorio debería estar calificado por una inicial seguida de una barra, p.ej., /d//cvshome, o debería usar dos puntos después de la letra de la unidad, p.ej., d:\cvshome.

WebDAV: No pueden desbloquear los archivos sobre una conexión WebDAV para Oracle9iAS Server (2624464) Si bloquea un archivo sobre una conexión WebDAV para un servidor Oracle9iAS, ese archivo no puede ser desbloqueado usando JDeveloper.

Problemas específicos de Unix Ejecución de CodeCoach desde la línea de comando en Linux Las invocaciones de CodeCoach en el shell de Linux pueden fallar debido al análisis incorrecto de carácter punto y coma (‘;’). El shell del Linux interpreta el punto y coma como un separador de comando, pero algunas opciones de CodeCoach (como -Xcc:incl:<packagelist> y -Xcc:excl:<packagelist>) usan el punto y coma como un separador de lista. Utilice comillas dobles para encerrar tales opciones. Por ejemplo:

/java/jdk1.4.2_03/bin/Java -ojvm -Xcodecoach -Xcc:new -Xcc:level:4 -Xcc:disable:ALL -Xcc:enable:ALL "-Xcc:excl:com;Java;javax;sun;sunw;org;oracle" -classpath /home/fred/JDev9.0.5/jdev/mywork/Workspace1/Project2/classes:/ home/Fred/JDev9.0.5/jdev/lib/jdev-rt.jar mypackage2.Application1

Instalación de OJVM sobre Linux La instalación de JDeveloper en Linux incluye a OJVM, y OJVM puede ser instalado para ser usado con JDeveloper, pero esta configuración no es soportada por Oracle. OJVM es un JVM compatible con Hotspot que es requerido por el Profiler de JDeveloper y por las características de CodeCoach. También permite características de depuración avanzadas. Instale OJVM en el J2SE de su aplicación desde el shell de Linux mientras haya ingresado como raíz:

cd <instalación_jdev>/ojvm_linux_x86 sh installOJVM <j2se_location>

Page 23: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

23

donde <instalación_jdev> es el directorio de instalación del JDeveloper, y <j2se_location> es la ruta completa para la carpeta J2SE.

Para confirmar que OJVM ha sido correctamente instalado, invoque el comando: <j2se_location>/bin/Java -ojvm -version

Problemas con Macintosh OS X No se puede deslizar hacia abajo usando el botón de deslizamiento en la ayuda (3762896) Cuando esté en la ayuda, debe utilizar la barra de deslizamiento real en lugar de los botones de deslizamiento directamente. Error de Apple #3748025

Al hacer clic cerca del borde de la ventana Smart Data o Data se produce una excepción de consola (3761047) Si observa la ventana de Consola, puede ver que ocurre esta excepción. Es inofensiva y no impacta al uso del JDeveloper de ninguna forma.

Al ejecutar una aplicación JClient aparece información de diagnóstico desde la VM de Apple (3722494) Puede observar que aparece información de diagnóstico en la consola de la VM de Java distribuida con el OS X. Esta información es inofensiva.

La ventana activa no resulta resaltada (3728924) En otras plataformas la ventana incrustada que está activa es resaltada con un color más oscuro. Este no es el caso en Mac OS X

El reacomodamiento de fila/columna no funciona (3757344) En el Editor Visual JSP/HTML, usted no puede usar el arrastrar y soltar para reacomodar las filas o las columnas.

El esquema UI no muestra gráficos (3760903) Bajo OS X, el Depurador UI no muestra el esquema UI.

El menú contextual no aparece en el Editor Visual JSP (3895704) Cuando utiliza un mouse de un sólo botón con el OS X, el menú contextual no aparece. La solución es utilizar Command-Shift-Menos o un mouse de dos botones.

El foco nunca se fija en el campo de texto apropiado en los diálogos (3896729) Cuando algunos diálogos son invocados, el foco es fijado sobre el botón y no sobre el campo de texto. Deberá hacer clic sobre el campo de texto para fijar el foco o presionar el tabulador para llegar a él antes de escribir.

Los archivos dinámicos JNLP no funcionan en Safari (3907098) Cuando crea una aplicación con Web Start, elija archivos JNLP estáticos en lugar de un JSP que genere dinámicamente un archivo JNLP. Safari ignora el tipo MIME y utiliza la extensión del archivo para determinar si Web Start debería ser iniciado.

Al hacer flotar una ventana acoplable se desactivará la barra de menú (3765717) La flotación de una ventana acoplable causará que la barra de menú quede vacía. Si vuelve a acoplar la ventana en el IDE se corregirá esta situación. Este problema se ha archivado como el error de Apple #3752818.

Page 24: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

24

Son necesarias las herramientas del desarrollador de Java para que funcione el Quick Javadoc La funcionalidad del Quick Javadoc en el JDeveloper depende de tener acceso al código fuente para las clases. En MAc OS X, src.jar no es parte de la instalación de Java normal; es parte del paquete de Herramientas del Desarrollador. Por lo tanto éste es necesario para que las clases JDK estén disponibles para Quick Javadoc,

No está soportado el arrastre desde la paleta (3845763) El arrastrar y soltar desde la paleta no está permitido en Mac OS X. Usted debe seleccionar el item de la paleta y luego hacer clic sobre el diseñador visual en el lugar donde desea que aparezca el componente.

Problemas del lector de pantalla JDeveloper puede ser instalado con Java Access Bridge 1.2 Por favor siga los pasos en la Guía de Instalación para configurar el JDeveloper para que funcione con JAWS, y baje accessbridge-1_2.zip desde: http://java.sun.com/products/accessbridge. Los pasos de la configuración del lector de pantalla en la ayuda en línea recomiendan que baje accessbridge-1_1.zip, que ya no es la versión más reciente de Access Bridge; estas instrucciones fueron creadas antes de que el Access Bridge 1.2 de Java esté disponible.

Problemas con JDeveloper 10.1.2 cuando utiliza JAWS 3.70 Los siguientes problemas han sido observados cuando se utiliza JDeveloper 10.1.2 con JAWS 3.70: El diálogo extendido invocado desde el Asistente de Objeto Vista del Open EJB Finder tiene un recuadro de edición llamado Objeto que no es leído por JAWS (2565846). El diálogo de la Galería de Objetos tiene descripciones en texto para cada opción disponible que no son leídas por JAWS y que no están en la secuencia de solapas del diálogo (2498024). JAWS no lee los valores de la lista desplegable si sólo hay un valor. Con Jaws v5.0 y Access Bridge 1.1GA, el problema está solucionado aunque puede aparecer en forma intermitente. (3345137) Solución: Si el problema aparece, el usuario tiene que presionar la tecla Flecha Abajo cuando el foco está fijado sobre el recuadro de lista o de combo para abrir la lista y leer los items.

Problemas con JDeveloper 10.1.2 cuando utiliza JAWS 3.70 o JAWS 5.0 Los siguientes problemas han sido observador cuando se utiliza JDeveloper 10.1.2 con JAWS 3.70 o JAWS 5.0: No hay una solución de teclado (barra espaciadora) para arrastrar y soltar objetos complejos desde la Paleta de Componentes hasta el Editor Visual de Java en las herramientas del diagrama (3682651). No es posible navegar hasta la lista disponible en el paso 4 del Asistente Create Offline Table [Crear Tabla Fuera de Línea] usando el teclado (tecla Tab). Solución: usando el botón Move All, mueva un item de la lista hacia el recuadro de lista Select, luego regrese al recuadro de lista Available, a partir de entonces la lista Available estará incluida en el orden del tabulador del diálogo (3655901).

Problemas con JDeveloper 10.1.2 cuando utiliza JAWS 5.0 Los siguientes problemas han sido observados cuando se utiliza JDeveloper 10.1.2 con JAWS 5.0:

Page 25: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

25

No hay contexto para objetos UI duplicados en el mismo marco; múltiples recuadros de edición con etiquetas duplicadas en el panel Tools | Preferences | Business Components | Base Classes (3803044). Puede haber botones sin etiquetas en el diálogo Preferences, cuando elije el panel Tools | Preference | Environment | Dockable Windows (3557870). Para los cinco errores listados abajo, el título o el estado de la ventana el IDE no es leído cuando un usuario navega o mueve el foco hacia la ventana. Aunque el contenido, si hay alguno, de los diálogos puede ser leído, hay una carencia de contexto cuando el usuario no es informado del tipo de ventana o de que el visor está abierto y activo, por lo que es confuso para saber cómo proceder con la navegación. - El título y el estado del Visor de Imágenes no son leídos por JAWS (2217088). - El título y el estado de la Planilla de Cálculo SQL no son leídos por JAWS (2217097) - El título y el estado del Visor de Tabla no son leídos por JAWS (2217099) - El título y el estado del Visor de Secuencia no son leídos por JAWS (2217101). JAWS no lee el item seleccionado en los controles recuadro combo (o combo de edición) cuando el control está en foco por defecto en el inicio de un diálogo o asistente. (2057497) Solución: Después de que un diálogo o asistente es invocado y de que JAWS ha terminado de leer, utilice la tecla Tab para navegar por la secuencia de solapas del diálogo permitiendo que el lector de pantalla identifique a cada componente UI hasta que el foco haya regresado al recuadro combo. Entonces el lector de pantalla leerá el nombre, estado e item seleccionado del recuadro combo. El área de texto que contiene una descripción asociada con cada item en el diálogo Galería de Objetos no es leída por JAWS. (2498024).

Problemas con JAWS 3.70 Los siguientes problemas han sido observados específicamente con JAWS 3.70: El menú contextual no puede ser leído por el lector de pantalla (2718451, 2843320, 202170). Los títulos del panel de ayuda no son leídos, sólo son leídos los componentes UI incluyendo las solapas Table of Contents [Tabla de Contenuidos], Full Text Search [Búsqueda de Texto Completo] e Index Search [Búsqueda en índice] (3200557). Las ventanas IDE son leídas como recuadros de grupo, los títulos no son leídos; incluyendo Property Inspector, ventana Thumbnail, ventana Data Controls, Component Palette (falla al leer el título si no contiene listas de componentes; es un problema general entre las ventanas IDE de todo tipo). Solución: ponga la ventana en foco seleccionando las opciones de menú desde el menú Vista, el lector de pantalla entonces lee el nombre de la ventana al leer el item de menú cuando es seleccionado (3432531, 2498082, 3506930). No son leídos los contenidos del recuadro de mensaje de Business components (diversas ubicaciones por todo el IDE); los recuadros de mensajes de alerta, los recuadros de mensaje de validación, los diálogos de error (signo de alto en rojo), etc., tienen contenido que no es leído por JAWS (2465154, 2944784, 2565846, 2573384, 2505465, 2032707, 2032726, 2566192, 2566202). No puede leer el item seleccionado de algunos recuadros combo hasta que el usuario selecciona el item siguiente, en varios lugares del IDE (2936822, 2057497, 2939382, 2939245). Algunos contenidos predeterminados de recuadros combo no son leídos por JAWS, en diversas ubicaciones del IDE, hasta que el foco es fijado sobre el componente UI usando la secuencia del orden del tabulador (2565938, 2939366). En diversos asistentes del IDE, el texto descriptivo en los pasos no es leído en JAWS (2569119, 2942044, 2200314, 2944263, 2944750, 2939670)

Page 26: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

26

En diversos asistentes del IDE, el texto descriptivo en los pasos no les leído por JAWS (2565846, 29337544, 2937552, 2939670, 2944792, 2942060, 2459125, 2939186, 2939670, 2944750, 3195732) JAWS se cuelga cuando ejecuta subprocesos de java desde el JDeveloper; por ejemplo, el perfil de memoria (3078996). La comprensión de código es inaccesible; no hay un método donde fijar el foco en los diálogos popup de JoptionPane que muestran los métodos de Java para la terminación del código (2936838). El panel Query del diálogo View Object Edit [Edición de Objeto Vista] muestra los resultados de las pruebas en un recuadro de edición que JAWS no puede leer (2565599). Iniciar y detener el depurador de JDeveloper causa que JAWS se cuelgue (2936822). En varios lugares del IDE, JAWS a veces lee items que están fuera del foco en el fondo (2497997). En varios lugares del IDE, JAWS a veces repite el texto descriptivo con cada cambio de foco; habla demasiado, o repite valores múltiples veces (3659804). New/Advanced del menú contextual no son leídos por JAWS (3928664). El diálogo Session Rename no es leído por JAWS (3928653).

Problemas con JAWS 5.0 Los siguientes problemas han sido observados específicamente con JAWS 5.0: El texto estático de Jdialog es leído no sólo cuando un diálogo entra en foco por primera vez, sino también cada vez que el usuario navega con el tabulador de un control al otro, además de leerse nombre del control o de la etiqueta de la opción. Esto ocurre en varios diálogos del JDeveloper, por ejemplo, en el Asistente Find Web Services [Encontrar Servicios Web], que tiene un recuadro de grupo que contiene varios controles como recuadros de selección, botones de selección, etc. (3663546) El menú de sistema del Windows recibe el foco en momentos inapropiados, como cuando un usuario selecciona un control con una tecla de atajo o una combinación de teclas. La solución es presionar la tecla Escape dos veces y luego continuar navegando el diálogo con el teclado. (Error de JDeveloper 3686207, error de JAWS 3670196). En los menúes contextuales, los items de sub menú no son leídos por JAWS cuando utiliza JDeveloper 10.1.2 y JAWS 5.0 (Error de JDeveloper 3672967, error de JAWS 3686135). Las ayudas de herramientas EWT no son leídas incluso cuando JAWS está configurado para leer ayudas de herramientas. (Error de JAWS 3163530). Cuando se edita en una grilla EWT, a veces JAWS lee la columna previa, la fila, el valor de la columna y el valor de la celda editada. Si usted presiona Tab después de editar, JAWS lee el valor asignado. (Error de JAWS 3163516). En una grilla EWT, un usuario no puede marcar un recuadro de selección presionando la barra espaciadora. No hay forma de solucionarlo. (Error de JAWS 3163469). En el componente Java lista de selección, el recuadro de selección no es encontrado o leído por JAWS 5.0. El componente Java lista de selección en el Asistente Create Web Service es un control lista con recuadros de selección sobre cada item de la lista para que el usuario seleccione una fila. Las filas de la lista de selección son leídas sólo como items de lista, ya que el recuadro de selección no es reconocido por JAWS. Además, cuando utiliza la última versión del access bridge (AccessBridge_1.2_GA) las diversas implementaciones de la lista de selección son leídas por JAWS en forma incompleta; en algunos casos, sólo la información del recuadro de selección es leída desde el ítem de la lista de selección (p.ej., nombre del recuadro, estado del recuadro – marcado o no marcado). En otras implementaciones de listas de selección, JAWS lee sólo la información del item de la lista (nombre del recuadro de lista, item de la lista), sin leer ninguna

Page 27: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

27

información del recuadro de selección. No hay solución. (Error de JDeveloper 3663621, error de JAWS 3692427).

Problemas varios Excepción de puntero nulo en el Editor de Clase UML (3891954) Los usuarios pueden recibir una excepción de puntero nulo (javax.swing.SwingUtilities.getWindowAncestor (SwingUtilities.java:63) cuando hacen clic sobre “Alt-Tab” mientras está en el editor de Clases UML o mientras hacen clic en el panel de la estructura con el editor de mapeo abierto. Esta situación ocurre con muy poca frecuencia y es el resultado de un error de JDK que ha sido corregido en el JDK versión 1.4.2_05 y posteriores.

Ejecución de JDeveloper sobre Windows XP Service Pack 2 Cuando ejecuta JDeveloper o OC4J sobre Windows XP Service Pack 2 por primera vez aparecerá un alerta de seguridad de Windows. Una vez que haga clic sobre el botón Unblock [Desbloquear] no debería recibir esta alerta otra vez. SP2 bloquea todos los puertos. Incluso si OC4J está “desbloqueado”, el puerto predeterminado 8888 aun está bloqueado. Por lo tanto, para ejecutar una aplicación que utiliza el oc4j externo, (digamos, puerto 8888), éste necesita estar agregado físicamente a la lista de excepciones del firewall. Para hacer esto:

1. Vaya a las propiedades de red y elija la conexión ethernet. 2. Vaya a la solapa Advanced, haga clic sobre settings for firewall [configuración para el

firewall] 3. Vaya a la solapa Exceptions y haga clic sobre “Add port” y agregue el puerto como

8888 o como lo que OC4J utilice y un nombre opcional. 4. Haga clic sobre OK para cerrar la ventana de conexiones de red.

Falla al crear/ejecutar JSPs si existen tlds no usados en jars en WEB-INF/lib (3421004) Usted puede encontrar el siguiente error cuando crea/ejecuta JSPs incluso si la clase manipulador taglib reportada está en la ruta de la clase:

Error(1): java.lang.ClassNotFoundException: Error(1): Unable to load taghandler class:

Esto puede ser el efecto secundario contra algunos jars en WEB-INF/lib que contienen tlds no usados, cuyas librerías de implementación no están en la ruta de clase de este proyecto. En este caso, usted puede usar algo de lo siguiente:

1. Quite los jars que contienen tlds no usados del WEB-INF/lib. 2. Agregue todas las librerías relacionadas con jars en WEB-INF/lib en la ruta de clase

del Proyecto. 3. Desmarque “Make Project” en Project Properties, Profiles-Runner-Options

[Propiedades del Proyecto, Opciones del Ejecutor de Perfiles]

El uso del JDeveloper en un entorno multibyte oscurece algunos caracteres en el texto (2670389) Si usted utiliza el JDeveloper en un entorno multibyte, el navegador incorporado puede mostrar a todos los caracteres multibyte como cuadrados. Si esto sucede, utilice la siguiente opción para evitar el problema:

AddVMOption -Dice.pilots.html4.ignoreNonGenericFonts=true

Page 28: 81657321-1-Oracle-JDeveloper-10g-–-Notas-de-Distribucion.pdf

Oracle10g JAVA Programming

28

El editor JSP/HTML no puede decodificar la codificación del archivo correctamente si éste tiene etiquetas HEAD grandes (3313918) Actualmente, el Editor JSP/HTML detecta la codificación del archivo desde la etiqueta META en la etiqueta HEAD como <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=shift_jis"/>. El Editor JSP/HTML espera esa etiqueta META dentro de los primeros 2000 bytes de su archivo. Si su archivo JSP/HTML se ve como caracteres incomprensibles en el Editor JSP/HTML, por favor controle si existe la etiqueta META correcta dentro de los primeros 2000 bytes.

Trabajando con definiciones de base de datos fuera de línea La importación desde una base de datos y la generación de una base de datos no están certificadas contra bases de datos que sean de Oracle.