Menu

#609 Openxava 5.3 a 5.4.1 Liferay 6.1.2 Tomcat - java.lang.NullPointerException at org.openxava.actions.JasperReportBaseAction x

v5.4.1
wont-fix
5
2016-02-02
2016-02-02
No

Error al desplegar reportes personalizados lanzados desde una acción en Liferay 6.1.2.
Este error se da a partir de las versiones openxava 5.3 a 5.4.1.
Al compilar sobre la versión 5.2.1 la aplicación anda correctamente en ambos entornos. /eclipse y Liferay)

Al ejecutarlo desde el servidor Tomcat configurado con Eclipse el reporte se ejecuta sin problemas.
Pero al hacerlo desde Liferay genere una exception. Se puede ver que la variable "con" de JasperReportBaseAction cuando se ejecuta desde el servidor de eclipse queda instanciada correctamente pero desde Liferay su valor es null.

clase ShowReportOrdenDeAserrado.java

package actions;

import java.util.*;
import org.openxava.actions.*;
import net.sf.jasperreports.engine.*;

public class ShowReportOrdenDeAserrado extends JasperReportBaseAction {

    protected JRDataSource getDataSource() throws Exception {
        return null;
    }

    protected String getJRXML() throws Exception {
        return "rptOrdenDeAserrado.jrxml";
    }

    protected Map getParameters() throws Exception {
        int numerodeOrden = this.getView().getValueInt("numeroDocumento");
        HashMap<String, Integer> parametros = new HashMap<String, Integer>();
        parametros.put("numeroDocumento", numerodeOrden);
            return parametros;
    }
}

Archivo hibernate.cfg.xml

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
        <!-- Tomcat + Postgres -->
        <property name="hibernate.connection.datasource">java://comp/env/jdbc/NambiDS</property>
        <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
        <property name="hibernate.jdbc.use_get_generated_keys">false</property>     
        <property name="hibernate.show_sql">false</property>
        <!-- GalleryImage is needed only if you uses IMAGES_GALLERY/GALERIA_IMAGENES stereotype -->
        <mapping resource="GalleryImage.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

Archivo Persistence.xml

<?xml version="1.0" encoding="UTF-8"?>

<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">             
    <!-- Tomcat + Hypersonic -->
    <persistence-unit name="default">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <non-jta-data-source>java://comp/env/jdbc/NambiDS</non-jta-data-source>
        <class>org.openxava.session.GalleryImage</class>
        <class>org.openxava.web.editors.AttachedFile</class>
        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
        </properties>
    </persistence-unit>    

    <!-- JUnit PostgreSQL -->
    <persistence-unit name="junit">
        <properties><!-- Clase del controlador de PostgreSQL -->
            <property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
            <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
            <property name="hibernate.connection.url" value="jdbc:postgresql://localhost:4532/FabricaDeMuebles"/>
            <property name="hibernate.connection.username" value="postgres"/>
            <property name="hibernate.connection.password" value="sinPass"/>
        </properties>
    </persistence-unit>
</persistence>

context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/NambiDS" auth="Container" type="javax.sql.DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="postgres" password="sinPass" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/FabricaDeMuebles"/>    

</Context>

Traza de error de log sobre servidor tomcat liferay

ene 30, 2016 5:37:53 PM org.openxava.controller.ModuleManager manageRegularException
SEVERE: null
java.lang.NullPointerException
    at org.openxava.actions.JasperReportBaseAction.execute(JasperReportBaseAction.java:114)
    at org.openxava.controller.ModuleManager.executeAction(ModuleManager.java:494)
    at org.openxava.controller.ModuleManager.executeAction(ModuleManager.java:402)
    at org.openxava.controller.ModuleManager.execute(ModuleManager.java:359)
    at org.apache.jsp.WEB_002dINF.jsp.xava.execute_jsp._jspService(execute_jsp.java:196)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:73)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:79)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:605)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:544)
    at org.openxava.web.servlets.Servlets.getURIAsStream(Servlets.java:66)
    at org.openxava.web.dwr.Module.getURIAsStream(Module.java:202)
    at org.openxava.web.dwr.Module.request(Module.java:61)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)
    at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
    at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)
    at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)
    at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)
    at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
    at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:73)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:117)
    at sun.reflect.GeneratedMethodAccessor356.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:67)
    at com.sun.proxy.$Proxy764.doFilter(Unknown Source)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:73)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:168)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
    at com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:72)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:79)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

ene 30, 2016 5:37:53 PM org.openxava.controller.ModuleManager execute
FINE: Execute ControladorAccionesOrdenDeFabricacion.imprimirFormularioOrdenDeAserrado
1 Attachments

Discussion

  • Javier Paniza

    Javier Paniza - 2016-02-02
    • status: open --> wont-fix
     
  • Javier Paniza

    Javier Paniza - 2016-02-02
     

Log in to post a comment.