tel./fax: +34 91 675 33 06 [email protected] - www ... · Catálogo de servicios Autentia (PDF...

8
Avenida de Castilla,1 - Edificio Best Point - Oficina 21B 28830 San Fernando de Henares (Madrid) tel./fax: +34 91 675 33 06 [email protected] - www.autentia.com Somos su empresa de Soporte a Desarrollo Informático. Ese apoyo que siempre quiso tener... 1. Desarrollo de componentes y proyectos a medida Tecnología Desarrollo Sistemas Gran Empresa Producción autentia Certificación o Pruebas Verificación previa RFP Concurso Consultora 1 Consultora 2 Consultora 3 Equipo propio desarrollo Piloto 3a 3b 1. Definición de frameworks corporativos. 2. Transferencia de conocimiento de nuevas arquitecturas. 3. Soporte al arranque de proyectos. 4. Auditoría preventiva periódica de calidad. 5. Revisión previa a la certificación de proyectos. 6. Extensión de capacidad de equipos de calidad. 7. Identificación de problemas en producción. 3. Arranque de proyectos basados en nuevas tecnologías ¿Qué ofrece Autentia Real Business Solutions S.L? Para más información visítenos en: www.autentia.com Compartimos nuestro conociemiento en: www.adictosaltrabajo.com Gestor portales (Liferay) Gestor de contenidos (Alfresco) Aplicaciones híbridas Tareas programadas (Quartz) Gestor documental (Alfresco) Inversión de control (Spring) BPM (jBPM o Bonita) Generación de informes (JasperReport) ESB (Open ESB) Control de autenticación y acceso (Spring Security) UDDI Web Services Rest Services Social SSO SSO (Cas) Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery JPA-Hibernate, MyBatis Motor de búsqueda empresarial (Solr) ETL (Talend) Dirección de Proyectos Informáticos. Metodologías ágiles Patrones de diseño TDD 2. Auditoría de código y recomendaciones de mejora 4. Cursos de formación (impartidos por desarrolladores en activo)

Transcript of tel./fax: +34 91 675 33 06 [email protected] - www ... · Catálogo de servicios Autentia (PDF...

Avenida de Castilla,1 - Edificio Best Point - Oficina 21B28830 San Fernando de Henares (Madrid)

tel./fax: +34 91 675 33 [email protected] - www.autentia.com

Somos su empresa de Soporte a Desarrollo Informático.Ese apoyo que siempre quiso tener...

1. Desarrollo de componentes y proyectos a medida

TecnologíaDesarrolloSistemas

Gran Empresa

Producción

autentia

Certificacióno Pruebas

Verificación previa

RFP Concurso

Consultora 1

Consultora 2

Consultora 3

Equipo propio desarrolloPiloto

3a

3b

1. Definición de frameworks corporativos.2. Transferencia de conocimiento de nuevas arquitecturas.3. Soporte al arranque de proyectos.4. Auditoría preventiva periódica de calidad.5. Revisión previa a la certificación de proyectos.6. Extensión de capacidad de equipos de calidad.7. Identificación de problemas en producción.

3. Arranque de proyectos basados en nuevas tecnologías

¿Qué ofrece Autentia Real Business Solutions S.L?

Para más información visítenos en: www.autentia.com

Compartimos nuestro conociemiento en: www.adictosaltrabajo.com

Gestor portales (Liferay)Gestor de contenidos (Alfresco)Aplicaciones híbridas

Tareas programadas (Quartz)Gestor documental (Alfresco)Inversión de control (Spring)

BPM (jBPM o Bonita)Generación de informes (JasperReport)ESB (Open ESB)

Control de autenticación y acceso (Spring Security)UDDIWeb ServicesRest ServicesSocial SSOSSO (Cas)

Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery

JPA-Hibernate, MyBatisMotor de búsqueda empresarial (Solr)ETL (Talend)

Dirección de Proyectos Informáticos.Metodologías ágilesPatrones de diseñoTDD

2. Auditoría de código y recomendaciones de mejora

4. Cursos de formación (impartidos por desarrolladores en activo)

Inicio Quienes somos Tutoriales Formación Empleo Colabora Comunidad Libro de Visitas

Comic

Hosting patrocinado por

Catálogo deservicios

Autentia (PDF6,2MB)

En formato comic...

Web

www.adictosaltrabajo.com

Últimos tutoriales

2008-11-08

JPivot, como crear otro UIpara especificar lasdimensiones del cuboOLAP

2008-11-05

Cómo crear ventanasmodales con modalbox

2008-11-03

Primeros pasos por elmundo Java/Eclipse (enVista)

2008-10-31

Planificación de tareas enJava mediante Quartz

2008-10-31

GrassGames eBookReader: leer PDF enpantalla cómodamente

2008-10-30

Autentificación yAutorización medianteJAAS

2008-10-27

Web Services con Estado

2008-10-24

Web Services con Axis2.Configuración y ejemplo

2008-10-22

Migración de JSP aFacelets

2008-10-22

Rock Band Wii en tu PC

Últimas ofertas deempleo

Tutorial desarrollado por

Carlos García Pérez

Creador de MobileTest, uncomplemento educativopara los profesores y susalumnos.

Consultor tecnológico en eldesarrollo de proyectosinformáticos.

Ingeniero Técnico enInformática *

Puedes encontrarme enAutentia

Somos expertos en Java/J2EE

Catálogo de servicios de Autentia

Descargar (6,2 MB)

Descargar en versión comic (17 MB)

AdictosAlTrabajo.com es el Web de difusión deconocimiento de Autentia.

Catálogo de cursos

NUEVO ¿Quieres saber cuánto ganas en relación almercado? pincha aquí...

Ver cursos que ofrece Autentia Descargar comics en PDF y alta resolución

[¡NUEVO!] 2008-09-012008-07-31

2008-07-08 2008-06-22

Estamos escribiendo un libro sobre la profesión informática y estas viñetas formarán parte de él. Puedes opinar enla seccion comic.

Descargar este documento en formato PDF: jpivot_other_ui.pdf

Fecha de creación del tutorial: 2008-11-08

JPivot, como crear otro UI para especificar lasdimensiones del cubo OLAPEl interface gráfico que proporciona JPivot para configurar los cubos OLAP, en algunos casos puede dejar muchode desear ya que desde mi punto de vista, no es muy usable de cara al usuario y se puede llegar a perder en elintento.

Por este motivo, investigé en Internet sobre otras alternativas, pero no, todo el mundo se quejaba en los foros,pero nadie daba soluciones o pistas de como obtenerlo.

Como no descubrí nada decente, me bajé el código fuente de JPivot y sus librerías asociadas e investigé el modoen como interactua el UI con el modelo, dando como resultado lo que expongo en este tutorial.

Tras largas horas de investigación, vi que lo que deseaba modificar era pintado mediante transformaciones XSLT adatos XML... asi que sólo tenía que obtener el XML y crear la plantilla que lo pintase de acuerdo a misnecesidades.

Interface gráfico original y el alternativo (más usable) que sepretende conseguir:

UI original (inicial): UI deseado (final):

2008-10-30

Comercial - Ventas -BARCELONA.

2008-10-30

T. Información - Analista/ Programador -BARCELONA.

2008-10-27

T. Información - Analista/ Programador - CIUDADREAL.

2008-10-03

Marketing - Experto enMarketing - MADRID.

2008-10-01

Atención a cliente - CallCenter - MADRID.

Anuncios Google

Empleo Programador

Tutoriales

Manual PHP

JDBC Driver

Plantilla XSLT para obtener el XML que representa el modelo deJPivot en cada instante:

Mirando las JSP, Java, etc.. me di cuenta de que el cuadro que deseo modificar se pinta en la plantillahierarchy-navigator.xsl, por lo que cambié su contenido por la plantilla XSLT identidad, que simplemente

muestra el XML tal cual le viene sin modificarlo.La plantilla XSLT es la siguiente:

view plain print ?

<?xml version="1.0" encoding="UTF‐8"?> 01.<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 02. <xsl:output method="xml"/> 03. <xsl:template match="/"> 04. <xsl:apply‐templates/> 05. </xsl:template> 06. <xsl:template match="*|@*|node()"> 07. <xsl:value‐of select="."/> 08. </xsl:template> 09.</xsl:stylesheet> 10. 11.

Datos XML obtenidos al aplicar la plantilla XSLT anterior presentandoel modelo de JPivot en un instante:

view plain print ?

<?xml version="1.0" encoding="UTF‐8"?> 01.<cat‐edit accept‐id="navi01.hiernav.accept" accept‐title="Aceptar" 02. cancel‐id="navi01.hiernav.cancel" cancel‐title="Cancelar" ok‐id="navi01.hiernav.ok" 03. ok‐title="Aplicar" revert‐id="navi01.hiernav.revert" revert‐title="Deshacer"> 04. <cat‐category icon="column.png" name="Columnas"> 05. <cat‐item id="wcf246d3cf1" name="Measures"> 06. <cat‐button icon="row.png" id="wcff81970b0"></cat‐button> 07. <cat‐button icon="filter.png" id="wcf42592523"></cat‐button> 08. <move‐button></move‐button> 09. <move‐button id="wcf37e33072" style="fwd" title="Mover"></move‐button> 10. </cat‐item> 11. <cat‐item id="wcf6bb8545" name="Material"> 12. <cat‐button icon="row.png" id="wcf2781bcd8"></cat‐button> 13. <cat‐button icon="filter.png" id="wcfec0b7b75"></cat‐button> 14. <move‐button id="wcf88376955" style="bwd" title="Mover"></move‐button> 15. <move‐button id="wcf6229a1f0" style="fwd" title="Mover"></move‐button> 16. </cat‐item> 17. <cat‐item id="wcfdcfd87d9" name="Products"> 18. <cat‐button icon="row.png" id="wcfae4ed348"></cat‐button> 19. <cat‐button icon="filter.png" id="wcfda24e363"></cat‐button> 20. <move‐button id="wcf4ddd5a47" style="bwd" title="Mover"></move‐button> 21. <move‐button></move‐button> 22. </cat‐item> 23. </cat‐category> 24. <cat‐category icon="row.png" name="Filas"> 25. <cat‐item id="wcff88fe80a" name="Region"> 26. <cat‐button icon="column.png" id="wcfab820d63"></cat‐button> 27. <cat‐button icon="filter.png" id="wcfd13e1660"></cat‐button> 28. <move‐button id="wcf27996280" style="fwd" title="Mover"></move‐button> 29. </cat‐item> 30. <cat‐item id="wcf1c69bcd6" name="Time"> 31. <cat‐button icon="column.png" id="wcf5ceacf5d"></cat‐button> 32. <cat‐button icon="filter.png" id="wcf1bc38a62"></cat‐button> 33. <move‐button id="wcf5d3e4a37" style="bwd" title="Mover"></move‐button> 34. </cat‐item> 35. </cat‐category> 36. <cat‐category icon="filter.png" name="Filtro"> 37. <cat‐item id="wcfce7ae485" name="Advertising"> 38. <slicer‐value label="Media[3]" level="Media"></slicer‐value> 39. <cat‐button icon="column.png" id="wcfab150756"></cat‐button> 40. <cat‐button icon="row.png" id="wcfe5a8875d"></cat‐button> 41. </cat‐item> 42. </cat‐category> 43.</cat‐edit> 44.

Plantilla XSLT que genere el interface gráfico deseado (hierarchy-navigator.xsl):

view plain print ?

<?xml version="1.0" encoding="UTF‐8"?> 01.<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 02. 03.<xsl:template match="cat‐edit"> 04. 05. <script type="text/javascript"> 06. <xsl:comment> 07. /** 08. * Dada una cadena de tokens separados por "_" y una posición (comenzando por 0), devuelve el token que ocupa esa posición. 09. * Por ejemplo, para cadena: aaaaaaa_bbbbb y pos: 0 10. * La función devolvería: aaaaaaa 11. */ 12. function extrae(cadena, pos){ 13. lista = cadena.split("_"); 14. return lista[pos]; 15. } 16. 17. /** 18. * Envia el formulario con un determinado código de acción 19. * @param listId: Identificador de la lista. 20. */ 21. function sendToAux(listId, indice){ 22. var lista = document.getElementById(listId); 23. var index = lista.selectedIndex; 24. 25. if (index == ‐1){ 26. alert("Debe seleccionar el elemento sobre el cuál desea realizar la operación"); 27. } else { 28. var value = lista.options[index].value; 29. var name = extrae(value, indice); 30. var operationField = document.getElementById('operation'); 31. 32. // Introducimos el name en un input hidden y enviamos el formulario 33. operationField.name = name; 34. operationField.value = name; 35. document.forms[0].submit(); 36. } 37. } 38. </xsl:comment> 39. </script> 40. 41. <div id="{$renderId}" style="display:block;"> 42. <!‐‐ Este control ser&aacute; el que contenta el c&oacute;digo de la operaci&oacute;n. 43. Lo importante es el name y no el value 44. ‐‐> 45. <input type="hidden" id="operation" name="" value=""/> 46. 47. <table style="border‐style:solid;border‐width:1px;border‐color:#dadada"> 48. <colgroup> 49. <col width="300px"/> 50. <col width="350px"/> 51. <col width="350px"/> 52. </colgroup> 53. <thead> 54. <tr style="background‐color:#eeeeff;"> 55. <th>FILTROS</th> 56. <th>FILAS</th> 57. <th>COLUMNAS</th> 58. </tr> 59. </thead> 60. <tfoot> 61. <tr> 62. <td colspan="3"> 63. <hr/> 64. <div id="navigatorButtons"> 65. <input type="submit" value="{@ok‐title}" name="{@ok‐id}"/> 66. <xsl:text> </xsl:text> 67. <input type="submit" value="{@cancel‐title}" name="{@cancel‐id}"/>

68.

</div> 69. </td> 70. </tr> 71. </tfoot> 72. <tbody> 73. <tr style="vertical‐align:top"> 74. <td><xsl:apply‐templates select="cat‐category[@name='Filtro']"/></td> 75. <td><xsl:apply‐templates select="cat‐category[@name='Filas']"/></td> 76. <td><xsl:apply‐templates select="cat‐category[@name='Columnas']"/></td> 77. </tr> 78. </tbody> 79. </table> 80. </div> 81. 82.

Pasos a realizar en tu proyecto para obtener ese nuevo interfacegráfico:

Los pasos a realizar son muy sencillos, simplemente deberás cambiar la plantilla hierarchy-navigator.xsl

inicial por la se muestra en el tutorial.

Si al hacerlo no te funciona, es muy probable que sea porque tu página JSP tenga varios formularios... tendrásque hacer algún retoque para que tenga en cuenta esto.

Conclusiones

Aunque ahora parezca sencillo, llegar a esa conclusión me ha llevado un tiempo considerable de estudiar elmodelo y las librerías de las que depende JPivot.. mirando el código fuente, pegándome con ello y barajando otrasalternativas.Pero bueno, espero que os sea de utilidad.

Un saludo.Carlos García. Creador de MobileTest, un complemento educativo para los profesores y sus alumnos.

Puedes opinar sobre este tutorial haciendo clic aquí.Puedes firmar en nuestro libro de visitas haciendo clic aquí.Puedes asociarte al grupo AdictosAlTrabajo en XING haciendo clic aquí.

Añadir a favoritos Technorati.

Esta obra está licenciada bajo licencia Creative Commons de Reconocimiento-Nocomercial-Sin obras derivadas 2.5

Recuerda

Autentia te regala la mayoría del conocimiento aquí compartido (Ver todoslos tutoriales). Somos expertos en: J2EE, Struts, JSF, C++, OOP, UML,UP, Patrones de diseño ... y muchas otras cosas.

¿Nos vas a tener en cuenta cuando necesitesconsultoría o formación en tu empresa?, ¿Vas a ser tangeneroso con nosotros como lo tratamos de ser convosotros?

Somos pocos, somos buenos, estamos motivados y nos gusta loque hacemos ...

Autentia = Soporte a Desarrollo & Formación.

[email protected]

Servicio de notificaciones:

Si deseas que te enviemos un correo electrónico cuando introduzcamos nuevos tutoriales.

Formulario de subcripción a novedades:

E-mail

Tutoriales recomendados

Nombre Resumen Fecha Visitas pdf

Evolución Adictos Evolución de visitas en Adictos 2004-12-15 429 pdf

Inicio automático de servicios,start, stop, restart, status.

Como monitorizar un servicio para que se inicieen caso de caida asi como responda a start,stop, restart, status

2007-12-14 1856 pdf

El API Java PrintingEn este tutorial aprenderemos muchas de lascaracterísticas del API de impresión en Java.

2007-12-10 3466 pdf

Tratamiento de líneas decomando mediante "CommonsCLI"

Una tarea que inicialmente suelen realizar lagran mayoría de las aplicaciones es el análisis delos parámetros con los que el usuario hainvocado la aplicación. Es este tutorial CarlosGarcia va a realizar una presentación de unalibrería que nos facilit

2007-11-30 1634 pdf

Toda la potencia de unbuscador como Google en tubase de datos, gracias aHibernate Search

En este tutorial vamos a ver una introducción decomo montar un sistema para poder hacerbúsquedas textuales tipo Google sobre lainformación que tenemos almacenada ennuestra base de datos

2008-06-13 1743 pdf

Comparador de sueldos ytablas dinámicas/pivotables

En este documento mostramos los primerosresultados del comparador de sueldos de la weby su representación en hojas de cálculodinámicas

2008-02-05 2661 pdf

Introducción a JPivotNuestro compañero Juan nos enseña la libreríaJPivot que se utiliza para mostrar tablasdinámicas en Java

2008-03-04 4087 pdf

Manual básico de SpringWebFlow

En este tutorial Javier Antoniucci nos enseñacómo empezar a trabajar cpn el framework dedesarrollo web Spring webflow.

2007-11-26 4092 pdf

Todo lo que querias sabersobre DatawareHouse (I)

En este documento Christian nos enseñaexhaustivamente qué es y como funciona undatawarehouse.

2007-10-30 3585 pdf

Todo lo que querias sabersobre DatawareHouse (II)

En este documento Christian nos enseñaexhaustivamente qué es y como funciona undatawarehouse.

2007-10-30 2628 pdf

Nota:

Los tutoriales mostrados en este Web tienen como objetivo la difusión del conocimiento. Los contenidos ycomentarios de los tutoriales son responsabilidad de sus respectivos autores. En algún caso se puede hacerreferencia a marcas o nombres cuya propiedad y derechos es de sus respectivos dueños. Si algún afectado deseaque incorporemos alguna reseña específica, no tiene más que solicitarlo. Si alguien encuentra algún problema conla información publicada en este Web, rogamos que informe al [email protected] para su resolución.

Anuncios Google JDBC SQL JDBC Example JDBC DB2 Access JDBC JDBC ODBC Bridge

Copyright 2003-2008 © All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia