Archivo

Posts Tagged ‘ADF Data Visualization Components’

Gráficas DVT basadas en un View Object dinámico

En uno de nuestros últimos proyectos teníamos un requisito de crear una funcionalidad de reporting, que dependiendo de unos filtros debíamos crear una query diferente y mostrar los resultados en una gráfica. En este post podréis ver cómo lo implementamos.

El primer paso es crear un view object dummy. Vamos a utilizar ‘SELECT * FROM DUAL’ por query.

Una vez tenemos creado el VO, tenemos que añadirlo al Application Module y crear la clase de implementación del AM.

Lo que necesitamos principalmente es una lista en nuestro bean, que esté basada en un POJO, que iremos populando con los datos que obtengamos. Leer más…

Se ha hecho esperar pero ADF 12.2.1 al fin ha llegado

Casi un año y medio después de la última versión de Oracle ADF 12c (12.1.3) este pasado viernes Oracle ha liberado la versión 12.2.1. Esta no es sólo una nueva versión de ADF sino que también lo es de otros productos de Oracle Fusion Middleware (WebLogic Server, SOA y WebCenter). Hay que señalar que para poder utilizar MAF hay que seguir utilizando la versión 12.1.3.

Al haber pasado tanto tiempo desde la última versión, esta nueva release nos trae muchos cambios y el arreglo de muchos bugs, voy a resumir los más importantes:

 

  • Java SE 8

En esta versión JDeveloper correrá utilizando el JDK8 y ofrecerá soporte al desarrollo con Java 8.

 

  • Integración con JCS y DCS

También nos será posible realizar integraciones con nuestras instancias de Java Cloud Service y Developer Cloud Service.

 

  • Alta Skin

Alta no es algo nuevo, pero por defecto éste será el skin por defecto, sustituyendo a Skyros. Han creado una web nueva de Oracle Alta UI donde se puede ver, además de consejos, una demo.

 

  • Theme Editor

Con esta nueva versión se incluye un editor de skins interactivo, con el que un usuario que no tenga muchos conocimientos de CSS será capaz de modificar o crear un skin existente.

 

1

 

  • Masonry Layout

Este nuevo layout permite desarrollar interfaces responsive que se ajustan automáticamente al espacio disponible. Han incorporado una nueva plantilla reponsive de tres columnas.

 

2

Leer más…

ADF tips: Personalizar colores en DVT Componentes

En este tip explicaremos  las dos formas de personalizar los colores de las gráficas DVT Components de ADF Oracle.

  • Directamente en el componente:

BLOG1_1

  • Crear una hoja de estilo CSS :

blog1_2

La ventaja de personalizar los colores de los gráficos en la hoja de estilo es que se aplicará en todos los gráficos de nuestra aplicación, con lo que se optimiza el código.

ADF tips: Gráficos interactivos utilizando Oracle ADF DVT

ADF Faces incorpora un conjunto de componentes visuales (‘Data Visualization Tools’ o DVT) con más de 50 tipos de gráficos (barras, tarta, líneas, dispersión, ajuste lineal curvo, etc.), permitiendo un diseño sencillo y una integración rápida de los mismos en nuestras aplicaciones.

Una librería de componentes gráficos que forme parte de un ‘Framework’ de desarrollo deberá ofrecer los mecanismos necesarios para conseguir un alto grado de dinamismo e interacción. DVT brilla especialmente en estos dos aspectos. Podemos encontrar una sencilla introducción sobre DVT en el siguiente documento:

http://www.oracle.com/technetwork/developer-tools/jdev/adf-dvt-graph-howto-082848.html

Ahora vamos a ver con un sencillo ejemplo como podemos interactuar con un gráfico de tarta PIEGraph’, de tal forma que al clicar sobre una porción (‘slice’), se muestre un segundo gráfico con información más detallada para la porción seleccionada. Veámoslo paso a paso:

Los datos de partida están en una tabla donde cada línea representa un presupuesto y el gráfico de primer nivel se basa en el conteo de presupuestos agrupados por ESTADO (iniciado, aprobado, finalizado).  El de segundo nivel desglosa para cada ESTADO la cantidad de presupuestos, esta vez agrupados por  ZONA  (norte, sur, este,…) .

Creamos un ‘ViewObject resumenEstadosVO a partir de la consulta:

SELECT estado, count(*) as conteo FROM presupuestos GROUP BY estado

Creamos el ‘ViewObjectresumenEstadoZonasVO para el gráfico de segundo nivel:

SELECT zona, count(*) as conteo FROM presupuestos 
GROUP BY estado WHERE estado=:p_estado

Si hemos incluido las dos vistas anteriores en un módulo de aplicación, dispondremos de un Data Control para poder diseñar los gráficos.

Arrastramos y soltamos el Data Control resumenEstadosView1 sobre la página principal. En el diálogo que aparece a continuación, indicamos qué atributo (conteo) se corresponde con la tarta  y qué atributo (estado) contiene las porciones o ‘slices’. El primer gráfico está casi terminado. Más tarde añadiremos el ‘listener’ y el manejador del evento clic.

El segundo gráfico se mostrará en un diálogo emergente, cada vez que hagamos clic sobre un estado.

La forma correcta de diseñar esto es:

1.   Crear un task-flow que contenga una actividad y un fragmento de página con el segundo ‘PIEGraph’ dentro. También creamos un parámetro (tfp_estado). La actividad se obtiene arrastrando la operación ExecuteWithParams que cuelga del Data Control (resumenEstadoZonasView1), será la actividad por defecto y transitará incondicionalmente al fragmento de página, y como estamos trabajando con una vista parametrizada, al soltar el icono de la operación sobre el task-flow se nos pide que indiquemos como rellenar el parámetro p_estado y utilizamos para la ocasión #{pageFlowScope.tfp_estado} (el argumento que hemos definido en el task-flow).

2.   Crear una región dentro del diálogo. Arrastramos el task-flow del punto anterior y lo soltamos sobre el diálogo. Es hora de decirle a la región de dónde tiene que tomar el parámetro del task-flow. Usaremos el nombre de una variable de sesión creada en el manejador del evento del siguiente punto (#{pageFlowScope.graphEstado})

3.    Sólo queda definir el ‘listener’ en el gráfico.

Y por último codificar el método que maneja el evento en el ‘Backing Bean’ que da soporte a la página.