Link to home
Start Free TrialLog in
Avatar of Adwait Chitaley
Adwait ChitaleyFlag for India

asked on

problem in JRLoader

hi experts

this line is not executed in my program please help me

JasperDesign jasperDesign =JRXmlLoader.load("C:/Documents and Settings/ashish/My Documents/NetBeansProjects/StrutsJasperXml/reports/userxml.xml");
package net.ensode.jasperbook.struts;
 
 
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.HashMap;
import javax.servlet.ServletContext;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.data.JRXmlDataSource;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.util.JRXmlUtils;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.w3c.dom.Document;
 
public class GenerateReportAction extends Action
{
 
 
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
 
     ServletContext application=servlet.getServletContext();
     ServletOutputStream servletOutputStream =response.getOutputStream();
     try{
 
         InputStream reportStream = new FileInputStream("C:/Documents and Settings/ashish/My Documents/NetBeansProjects/StrutsJasperXml/reports/userxml.xml");
         Document document = JRXmlUtils.parse(new File("C:/Documents and Settings/ashish/My Documents/NetBeansProjects/StrutsJasperXml/reports/userxml.xml"));
         JasperDesign jasperDesign =JRXmlLoader.load("C:/Documents and Settings/ashish/My Documents/NetBeansProjects/StrutsJasperXml/reports/userxml.xml");
         System.out.println("ASHISH1111111111111111111111+++++++++++++++++");
         JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
         System.out.println("ASHISH2222222222222222222222+++++++++++++++++");
         JRXmlDataSource xmlDataSource = new JRXmlDataSource(document, "/airsanchay/M55_USERS_NEW");
         JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,new HashMap(),xmlDataSource);
         
 
     }catch(Exception e){
            e.printStackTrace();
        }
     finally{
 
        servletOutputStream.flush();
        servletOutputStream.close();
     }
     return mapping.getInputForward();
    }
}

Open in new window

Avatar of CEHJ
CEHJ
Flag of United Kingdom of Great Britain and Northern Ireland image

This is a duplicate. Please delete
Avatar of Adwait Chitaley

ASKER

means i dont understand
>          Document document = JRXmlUtils.parse(new File("C:/Documents and Settings/ashish/My Documents/NetBeansProjects/StrutsJasperXml/reports/userxml.xml"));

get rid of that line

how do you know it is not being called, pretty sure it would be by the look.

Suggest you step through it with a debugger

Again it not working and gives the following error.

java.lang.NullPointerException
        at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:264)
        at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:225)
        at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:213)
        at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:167)
        at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:151)
        at net.ensode.jasperbook.struts.GenerateReportAction.execute(GenerateReportAction.java:43)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:595)
JasperDesign jasperDesign =JRXmlLoader.load("C:/Documents and Settings/ashish/My Documents/NetBeansProjects/StrutsJasperXml/reports/userxml.xml");
         System.out.println("ASHISH1111111111111111111111+++++++++++++++++");


System.out.println("ASHISH1111111111111111111111+++++++++++++++++");
This line is not printing on console
it is getting called but an exception is getting thrown, check the path is correct

try first getting it working in a standlone app first


I suspect your xml is invalid, make sure it contains the definition of a valid jasper report

ASKER CERTIFIED SOLUTION
Avatar of CEHJ
CEHJ
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
:-)