PDA

View Full Version : Añadir variable de sesión a FilterPanel



mariomg
01-08-2008, 07:57 AM
Hola a todos.

Estoy desarrollando una aplicación utilizando Pentaho y necesito añadir una cierta variable para que sea accesible desde el fichero .xaction donde se define el filtro.

Mi idea es acceder a ella a través de un "input" con origen "session" para poder utilizarla como parámetro en la consulta SQL de generación del filtro.

Mi duda es cómo puedo hacerla accesible, puesto que no sé con seguridad que clases modificar y cómo hacerlo.

Por ahora estoy probando con la clase FilterPanelPortlet del paquete org.pentaho.ui.portlet, aunque las modificaciones no parecen funcionar demasiado bien. Estoy haciendo lo siguiente:


PortletSession portletSession= request.getPortletSession();
long groupid = ((Long)portletSession.getAttribute("LIFERAY_SHARED_VISITED_GROUP_ID_RECENT", PortletSession.APPLICATION_SCOPE)).longValue();
userSession.setAttribute("groupid", groupid, PortletSession.APPLICATION_SCOPE);

Todo esto está dentro del método proccessAction.

¿Alguien tiene alguna sugerencia?

Gracias.

mariomg
01-09-2008, 08:56 AM
Me autorrespondo, por si a alguien le sirve. Finalmente he conseguido hacerlo funcionar. He modificado el método doPortletView de org.pentaho.ui.portlet.FilterPanelPortlet, as�*que no iba muy desencaminado :p.

Para que el atributo que queremos añadir sea visible como variable de sesión desde el archivo .xaction de definición del filtro, basta con añadir la l�*nea:


userSession.setAttribute("nombre_del_atributo", valor_del_atributo, PortletSession.PORTLET_SCOPE);

Esto lo he hecho justo antes de la l�*nea:


filterPanel.validate(userSession, null);

Una vez hecho esto, compilado e importada la librer�*a correspondiente al servidor, desde el archivo .xaction donde se define el filtro, se añade un nuevo input, con source session y el nombre con que la hayamos añadido.

Hecho esto, podemos utilizar la variable sin problema para, por ejemplo, hacer una consulta SQL con {PREPARE:nombre_de_la_variable}.

Espero que os sirva.

Saludos!

Miguel1601
01-23-2008, 05:57 PM
Hola a todos los que lean este post,

Tengo una inquietud acerca de los reportes, es q nose si con pentaho se pueda cambiar la informacion que extraigo de mi base de Datos. Por Ejemplo:

Un campo de mi tabla "Problemas" es "urgencia", y puede tener solo 3 tipos de valores, que se almacenan como numeros enteros:

1 = Alto
2 = Medio
3 = Bajo

quiero generar un reporte que cuando sea 1 me muestre Alto, 2 me muestre Medio y si es 3 sea Bajo

Alguien me puede ayudar
Se los agradeceria mucho