Jump to content
We've recently updated our Privacy Statement, available here ×

can't open file jasper from ireport 5.6.0


agi_i5

Recommended Posts

Dear my Friend in Community Jasper,

i just use for ireport 0.1.0, and now i want to upgraded into ireport 5.6.0

when i build report from 5.6.0 and place it in my tomcat versi 4, it have error.

 
C:TransformTransform TIE(24 Feb 2015)Transform 2015JMTRANSFORMJobManagerb
in>call "shutdown.bat"
Job Manager Startup...
System Time: Mon Jun 06 10:26:51 ICT 2016
Loading schedule.properties...   [DONE]
Grace Period for scheduled jobs: 60 minutes
 
Processing Job JTIE001003 ...
sql select *     from VHRTRX_AppraisalInquiry3 where (ErCode = CONVERT(VARCHAR(2
56),?)) and (ParentLevel = CONVERT(VARCHAR(256),?))      and (ApprStartDate >= C
ONVERT(VARCHAR(256),?)) and (ApprStartDate <= CONVERT(VARCHAR(256),?)) and (user
id = CONVERT(VARCHAR(256),?))
cond TIE,1000000,01-01-2016,01-03-2016,AGUS
result SQLServerResultSet:17
startDateNew Fri Jan 01 00:00:00 ICT 2016
endDateNew Sun Jan 03 00:00:00 ICT 2016
cond1 TIE,1000000,01-01-2016,01-03-2016,AGUS
jasperPrintFile : C:TransformTransform TIE(24 Feb 2015)Transform 2015JMTRAN
SFORMJobManagerbinreportsAppComp.jasper
java.lang.ClassNotFoundException: net.sf.jasperreports.engine.JasperReport
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:603)
        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:157
4)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
731)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
        at dori.jasper.engine.util.JRLoader.loadObject(JRLoader.java:126)
        at dori.jasper.engine.JasperFillManager.fillReport(JasperFillManager.jav
a:288)
        at com.ardigraha.transform.AppReportComp.PrintReport(AppReportComp.java:
539)
        at com.ardigraha.transform.AppReportComp.doAll(AppReportComp.java:227)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.ardigraha.transform.JobManager.doAll(JobManager.java:401)
        at com.ardigraha.transform.JobManager.access$0(JobManager.java:181)
        at com.ardigraha.transform.JobManager$1.onTime(JobManager.java:122)
        at org.netbeans.examples.lib.timerbean.Timer.fireTimerEvent(Timer.java:1
28)
        at org.netbeans.examples.lib.timerbean.Timer.access$100(Timer.java:29)
        at org.netbeans.examples.lib.timerbean.Timer$TimerThread.run(Timer.java:
139)
 
NESTED BY :
java.lang.ClassNotFoundException: net.sf.jasperreports.engine.JasperReport
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:603)
        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:157
4)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
731)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
        at dori.jasper.engine.util.JRLoader.loadObject(JRLoader.java:126)
        at dori.jasper.engine.JasperFillManager.fillReport(JasperFillManager.jav
a:288)
        at com.ardigraha.transform.AppReportComp.PrintReport(AppReportComp.java:
539)
        at com.ardigraha.transform.AppReportComp.doAll(AppReportComp.java:227)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.ardigraha.transform.JobManager.doAll(JobManager.java:401)
        at com.ardigraha.transform.JobManager.access$0(JobManager.java:181)
        at com.ardigraha.transform.JobManager$1.onTime(JobManager.java:122)
        at org.netbeans.examples.lib.timerbean.Timer.fireTimerEvent(Timer.java:1
28)
        at org.netbeans.examples.lib.timerbean.Timer.access$100(Timer.java:29)
        at org.netbeans.examples.lib.timerbean.Timer$TimerThread.run(Timer.java:
139)
 
NESTED BY :
dori.jasper.engine.JRException: Class not found when loading object from file :
C:TransformTransform TIE(24 Feb 2015)Transform 2015JMTRANSFORMJobManagerb
inreportsAppComp.jasper
        at dori.jasper.engine.util.JRLoader.loadObject(JRLoader.java:136)
        at dori.jasper.engine.JasperFillManager.fillReport(JasperFillManager.jav
a:288)
        at com.ardigraha.transform.AppReportComp.PrintReport(AppReportComp.java:
539)
        at com.ardigraha.transform.AppReportComp.doAll(AppReportComp.java:227)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.ardigraha.transform.JobManager.doAll(JobManager.java:401)
        at com.ardigraha.transform.JobManager.access$0(JobManager.java:181)
        at com.ardigraha.transform.JobManager$1.onTime(JobManager.java:122)
        at org.netbeans.examples.lib.timerbean.Timer.fireTimerEvent(Timer.java:1
28)
        at org.netbeans.examples.lib.timerbean.Timer.access$100(Timer.java:29)
        at org.netbeans.examples.lib.timerbean.Timer$TimerThread.run(Timer.java:
139)
Caused by: java.lang.ClassNotFoundException: net.sf.jasperreports.engine.JasperR
eport
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:603)
        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:157
4)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
731)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
        at dori.jasper.engine.util.JRLoader.loadObject(JRLoader.java:126)
        ... 13 more
Job JTIE001003 Finish.
 
I was confuse, can you give me a hint or clue ?
i was looking classpath in my tomcat, and actually i already put 
jasperreports-5.6.0.jar into my job manager.
 
anyone have any idea ?
please help me
Link to comment
Share on other sites

  • Replies 10
  • Created
  • Last Reply

Top Posters In This Topic

Hi,


Thank you for your help.

the old classpath was this

@echo off
java -Xms450m -Xmx600m -classpath xdoclet-xjavadoc.jar;xdoclet-hibernate-module.jar;xdoclet.jar;xdoclet-xdoclet-module.jar;ehcache-1.1.jar;pdfbox-1.8.10.jar;jgroups-2.2.7.jar;jta.jar;xml-apis.jar;commons-logging-1.0.4.jar;asm-attrs.jar;dom4j-1.5.2.jar;cglib-2.1.jar;asm.jar;jaas.jar;jdbc2_0-stdext.jar;concurrent-1.3.2.jar;commons-collections-2.1.1.jar;jaxen-1.1-beta-4.jar;hibernate3.jar;transform.jar;transformreports.jar;jaxp.jar;crimson.jar;sqljdbc4.jar;TimerBean.jar;jasperreports-0.4.6.jar;servlet.jar;commons-digester.jar;commons-logging.jar;commons-logging-api.jar;commons-collections.jar;commons-beanutils.jar;xerces-2.6.2.jar;jasperreports.jar;itext-0.96.jar;xmlParserAPIs.jar;jakarta-poi-1.5.1-final-20020615.jar;activation.jar;mail.jar;CalcHour.jar;DecsCurr.jar;commons-math3-3.2.jar;jxl.jar;. com.ardigraha.transform.JobManager %1
 
and i follow you to erase jaspereport old and put a new jasperreport 5.6.0
 
@echo off
java -Xms450m -Xmx600m -classpath xdoclet-xjavadoc.jar;xdoclet-hibernate-module.jar;xdoclet.jar;xdoclet-xdoclet-module.jar;ehcache-1.1.jar;pdfbox-1.8.10.jar;jgroups-2.2.7.jar;jta.jar;xml-apis.jar;commons-logging-1.0.4.jar;asm-attrs.jar;dom4j-1.5.2.jar;cglib-2.1.jar;asm.jar;jaas.jar;jdbc2_0-stdext.jar;concurrent-1.3.2.jar;commons-collections-2.1.1.jar;jaxen-1.1-beta-4.jar;hibernate3.jar;transform.jar;transformreports.jar;jaxp.jar;crimson.jar;sqljdbc4.jar;TimerBean.jar;servlet.jar;commons-digester.jar;commons-logging.jar;commons-logging-api.jar;commons-collections.jar;commons-beanutils.jar;xerces-2.6.2.jar;jasperreports-5.6.0.jar;jasperreports.jar;itext-0.96.jar;xmlParserAPIs.jar;jakarta-poi-1.5.1-final-20020615.jar;activation.jar;mail.jar;CalcHour.jar;DecsCurr.jar;commons-math3-3.2.jar;jxl.jar;. com.ardigraha.transform.JobManager %1

and find different error

 

 
C:TransformTransform TIE(24 Feb 2015)Transform 2015JMTRANSFORMJobManagerb
in>call "shutdown.bat"
Job Manager Startup...
System Time: Mon Jun 06 16:31:13 ICT 2016
Loading schedule.properties...   [DONE]
Grace Period for scheduled jobs: 60 minutes
 
Processing Job JTIE001007 ...
sql select *     from VHRTRX_AppraisalInquiry3 where (ErCode = CONVERT(VARCHAR(2
56),?)) and (ParentLevel = CONVERT(VARCHAR(256),?))      and (ApprStartDate >= C
ONVERT(VARCHAR(256),?)) and (ApprStartDate <= CONVERT(VARCHAR(256),?)) and (user
id = CONVERT(VARCHAR(256),?))
cond TIE,1000000,01-01-2016,01-03-2016,AGUS
result SQLServerResultSet:35
startDateNew Fri Jan 01 00:00:00 ICT 2016
endDateNew Sun Jan 03 00:00:00 ICT 2016
cond1 TIE,1000000,01-01-2016,01-03-2016,AGUS
jasperPrintFile : C:TransformTransform TIE(24 Feb 2015)Transform 2015JMTRAN
SFORMJobManagerbinreportsAppComp.jasper
java.lang.ClassCastException: net.sf.jasperreports.engine.JasperReport cannot be
 cast to dori.jasper.engine.JasperReport
        at dori.jasper.engine.JasperFillManager.fillReport(JasperFillManager.jav
a:288)
        at com.ardigraha.transform.AppReportComp.PrintReport(AppReportComp.java:
539)
        at com.ardigraha.transform.AppReportComp.doAll(AppReportComp.java:227)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.ardigraha.transform.JobManager.doAll(JobManager.java:401)
        at com.ardigraha.transform.JobManager.access$0(JobManager.java:181)
        at com.ardigraha.transform.JobManager$1.onTime(JobManager.java:122)
        at org.netbeans.examples.lib.timerbean.Timer.fireTimerEvent(Timer.java:1
28)
        at org.netbeans.examples.lib.timerbean.Timer.access$100(Timer.java:29)
        at org.netbeans.examples.lib.timerbean.Timer$TimerThread.run(Timer.java:
139)
Job JTIE001007 Finish.
 
I hope you have clue for me....
Link to comment
Share on other sites

Why do you still have "jasperreports-5.6.0.jar;jasperreports.jar;"? Remove "jasperreports.jar"

Also, JasperReports 5.6.0 uses itext 2.1.7.jar and not itext-0.96.jar

Check version of other libraries also to make sure they are the ones used by JasperReports 5.6.0.

Link to comment
Share on other sites

Hi,

@echo off
java -Xms450m -Xmx600m -classpath xdoclet-xjavadoc.jar;xdoclet-hibernate-module.jar;xdoclet.jar;xdoclet-xdoclet-module.jar;ehcache-1.1.jar;pdfbox-1.8.10.jar;jgroups-
 
2.2.7.jar;jta.jar;xml-apis.jar;commons-logging-1.0.4.jar;asm-attrs.jar;dom4j-1.5.2.jar;cglib-2.1.jar;asm.jar;jaas.jar;jdbc2_0-stdext.jar;concurrent-1.3.2.jar;commons-
 
collections-2.1.1.jar;jaxen-1.1-beta-4.jar;hibernate3.jar;transform.jar;transformreports.jar;jaxp.jar;crimson.jar;sqljdbc4.jar;TimerBean.jar;jasperreports-
 
5.6.0.jar;iText-2.1.7.js2.jar;servlet.jar;commons-digester.jar;commons-logging.jar;commons-logging-api.jar;commons-collections.jar;commons-beanutils.jar;xerces-
 
2.6.2.jar;xmlParserAPIs.jar;jakarta-poi-1.5.1-final-20020615.jar;activation.jar;mail.jar;CalcHour.jar;DecsCurr.jar;commons-math3-3.2.jar;jxl.jar;. 
 
com.ardigraha.transform.JobManager %1

I do like your said before and find this error

 

Microsoft Windows [Version 6.2.9200]
© 2012 Microsoft Corporation. All rights reserved.
 
C:UsersAgus>cd C:TransformTransform TIE(24 Feb 2015)Transform 2015JMTRANS
FORMJobManagerbin
 
C:TransformTransform TIE(24 Feb 2015)Transform 2015JMTRANSFORMJobManagerb
in>restart.bat
 
C:TransformTransform TIE(24 Feb 2015)Transform 2015JMTRANSFORMJobManagerb
in>call "shutdown.bat"
Job Manager Startup...
System Time: Mon Jun 06 20:20:28 ICT 2016
Loading schedule.properties...   [DONE]
Grace Period for scheduled jobs: 60 minutes
 
Processing Job JTIE001009 ...
Exception in thread "Thread-1" java.lang.NoClassDefFoundError: dori/jasper/engin
e/JRDataSource
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at com.ardigraha.transform.JobManager.doAll(JobManager.java:396)
        at com.ardigraha.transform.JobManager.access$0(JobManager.java:181)
        at com.ardigraha.transform.JobManager$1.onTime(JobManager.java:122)
        at org.netbeans.examples.lib.timerbean.Timer.fireTimerEvent(Timer.java:1
28)
        at org.netbeans.examples.lib.timerbean.Timer.access$100(Timer.java:29)
        at org.netbeans.examples.lib.timerbean.Timer$TimerThread.run(Timer.java:
139)
Caused by: java.lang.ClassNotFoundException: dori.jasper.engine.JRDataSource
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        ... 8 more
C:TransformTransform TIE(24 Feb 2015)Transform 2015JMTRANSFORMJobManagerb
in>
 
in my report 5.6.0 my classpath was be like this
hsqldb-1.8.0-10.jar
jasperreport-extension-3.5.3.jar
jasperreport-core-renderer.jar
sqldbc4.jar
 
any something wrong ?
 
Link to comment
Share on other sites

Hi,

In ireport it have automaticly bring asperreport-extension-3.5.3.jar and jasperreport-core-renderer.jar

i try to remove but it still come to ireport 

hmm, dont have it..

here is my query in java

/*
 * Copyright © 2003-2005 Ardigraha Infolestari
 * MPJournal.java
 * Created on July 12, 2004, 2:43 PM
 * Revised on April 21, 2005: Change convert class to XmlUtility for better performance 
 */
 
package com.ardigraha.transform;
 
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.Vector;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
 
import com.hrd.transform.subgeneral;
import com.service.addition.General;
import com.service.addition.QueryClass;
 
import dori.jasper.engine.JRExporterParameter;
import dori.jasper.engine.JRResultSetDataSource;
import dori.jasper.engine.JasperFillManager;
import dori.jasper.engine.JasperPrint;
import dori.jasper.engine.export.JRCsvExporter;
import dori.jasper.engine.export.JRHtmlExporter;
import dori.jasper.engine.export.JRPdfExporter;
import dori.jasper.engine.export.JRXlsExporter;
 
/**
 * 
 * @author Royeska
 */
public class AppReportComp
{
Connection conn = null;
private ResultSet rs = null;
private General gen = new General();
private subgeneral subGen = new subgeneral();
private QueryClass query = new QueryClass();
HashMap reportParameters;
private PrintWriter logJob, logConnection, logQuery, logUpdate, logWarning,
logError, printWriter, debug;
private static XmlUtility convert = new XmlUtility();
private int j = 0;
private int rec = 7;
private int idx = 6;
private Vector mapping = null;
private String[] cond = null;
private String exceptMessage = "";
int seq = 1;
private String returnMessage = "";
private String repCode = "";
private String userFileType = "pdf";
 
public AppReportComp()
{
openLogs();
loadJdbcDriver();
}
 
/**
* Open logs file
*/
private void openLogs()
{
try
{
logJob = new PrintWriter(new FileWriter(gen.getDataLogJob(), true), true);
}
catch (IOException except)
{
System.err.println("Can't open the log file: " + gen.getDataLogJob());
logJob = new PrintWriter(System.err);
}
try
{
logConnection = new PrintWriter(new FileWriter(gen.getDataLogConnection(), true), true);
}
catch (IOException except)
{
System.err.println("Can't open the log file: " + gen.getDataLogConnection());
logConnection = new PrintWriter(System.err);
}
try
{
logQuery = new PrintWriter(new FileWriter(gen.getDataLogFileQuery(), true), true);
}
catch (IOException except)
{
System.err.println("Can't open the log file: " + gen.getDataLogFileQuery());
logQuery = new PrintWriter(System.err);
}
try
{
logUpdate = new PrintWriter(new FileWriter(gen.getDataLogFileUpdate(), true), true);
}
catch (IOException except)
{
System.err.println("Can't open the log file: " + gen.getDataLogFileUpdate());
logUpdate = new PrintWriter(System.err);
}
}
 
/**
* Load Jdbc Driver
*/
private void loadJdbcDriver()
{
Driver dbDriver;
String logMessage = "Load Jdbc Driver";
try
{
dbDriver = (Driver) Class.forName(gen.getDataDriver()).newInstance();
DriverManager.registerDriver(dbDriver);
gen.log(logConnection, logMessage);
}
catch (Exception except)
{
gen.log(logConnection, except, logMessage);
}
}
 
/**
* Build Bank Interface
* @param jobNo
*            the job number
* @param jobParm
*            the job parameter
* @throws IOException
*/
public String doAll(String jobNo, String jobParm) throws IOException
{
 
debug = new PrintWriter(new FileWriter(gen.getDataOutDir() + "debugAppRep_" + jobNo.trim() + ".txt", false), true);
 
try
{
// Create a database connection
conn = DriverManager.getConnection(gen.getDataUrlDB(), gen.getDataUser(), gen.getDataPass());
 
try
{
logError = new PrintWriter(new FileWriter(gen.getDataOutDir() + "Error_" + jobNo.trim() + ".txt", true), true);
}
catch (IOException except)
{
System.err.println("Can't open the log file: " + gen.getDataOutDir() + "Error_" + jobNo.trim() + ".txt");
logError = new PrintWriter(System.err);
}
 
Vector mapping = convert.getDataMapping(logQuery, "APPREPORTCOMP");
 
Vector vParm = gen.getElement(',', jobParm);
String erCode = "";
String startDate = "";
String endDate = "";
String parentLevel = "";
 
erCode = gen.gettable(vParm.get(0)).trim();
startDate = gen.gettable(vParm.get(1)).trim();
endDate = gen.gettable(vParm.get(2)).trim();
parentLevel = gen.gettable(vParm.get(3)).trim();
 
debug.println("param "+erCode + "," + startDate + "," + endDate +"," + parentLevel);
 
 
String userId = "";
j = 0 ;
Vector checking = query.getDataQuery(logQuery, conn, gen.gettable(mapping.get(j)), gen.getInt(mapping.get(1 + j)), gen.getElement(',', gen.gettable(mapping.get(5 + j))), gen.getElement(',', gen.gettable(mapping.get(2 + j))), new String[] { jobNo.trim() }, "M");
debug.println("query " + gen.gettable(mapping.get(j)));
if (checking.size() > 0)
{
userId = eliminatedNull(gen.gettable(checking.get(0)).toString());
}
debug.println("userId " + userId);
 
j = rec ;
//checking = query.getDataQuery(logQuery, conn, gen.gettable(mapping.get(j)), gen.getInt(mapping.get(1 + j)), gen.getElement(',', gen.gettable(mapping.get(5 + j))), gen.getElement(',', gen.gettable(mapping.get(2 + j))), new String[] { erCode }, "M");
debug.println("query di xml : "+gen.gettable(mapping.get(j)));
debug.println("checking " + checking.size());
 
String sql = gen.gettable(mapping.get(j));
 
PreparedStatement preparedStatement = conn.prepareStatement(sql);
preparedStatement.setString(1, erCode);
preparedStatement.setString(2, parentLevel);
preparedStatement.setString(3, startDate);
preparedStatement.setString(4, endDate);
preparedStatement.setString(5, userId);
 
System.out.println("sql " + sql);
System.out.println("cond "+ erCode+","+parentLevel+","+startDate+","+endDate+","+userId);
ResultSet result = preparedStatement.executeQuery();
System.out.println("result "+result.toString());
 
SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy");
Date startDateNew = formatter.parse(startDate);
Date endDateNew = formatter.parse(endDate);
System.out.println("startDateNew "+startDateNew); 
System.out.println("endDateNew "+endDateNew); 
 
String reportName="APPREPC";
reportParameters = new HashMap();
//reportParameters.put("conn", conn);
reportParameters.put("erCode", erCode);
reportParameters.put("startDate", startDateNew);
reportParameters.put("endDate", endDateNew);
reportParameters.put("parentLevel", parentLevel);
reportParameters.put("userId", userId);
 
System.out.println("cond1 "+ erCode+","+parentLevel+","+startDate+","+endDate+","+userId);
 
PrintReport(jobNo, jobParm, reportName, result);
 
logError.close();
conn.close();
return returnMessage;
}
catch (Exception except)
{
except.printStackTrace(System.err);
 
gen.log(logError, except, "Batch Program Exception...");
logError.close();
return "Exception";
}
// HC update 2006-03-21
// Referensi dari findbugs 0.9.1, tutup semua koneksi PrintWritter yang
// terbuka
finally
{
logJob.close();
logConnection.close();
logQuery.close();
logUpdate.close();
logError.close();
}
}
 
 
 
 
public String ConvertDateFormat(String fromformat, String toformat, String dt)
{
java.text.SimpleDateFormat sdfscr = new java.text.SimpleDateFormat(fromformat);
java.text.SimpleDateFormat sdfsql = new java.text.SimpleDateFormat(toformat);
String parm = "";
try
{
parm = sdfsql.format(sdfscr.parse(dt));
}
catch (Exception e)
{
parm = "";
e.printStackTrace();
}
return parm;
}
 
private String eliminatedNull(String strNull)
{
if (strNull == null || strNull.equals("null") || strNull.equals("") || strNull.length() == 0)
{
strNull = "";
}
 
return strNull;
}
public String setEncryptESS(String ps)
{//versi jtrust pake policy di 2016-03-31
    int ne=20;
    String pass=ps.toUpperCase();
    if (gen.getDataConfiguration("casesensiESS").equalsIgnoreCase("true")){
    ne=3;
    pass=ps;
    }
        char[] ar=pass.toCharArray();
        char[] arr=new char[pass.length()];
        for(int i=0;i<pass.length();i++){
            arr=ar[pass.length()-i-1];
       //     System.out.print(arr);
        }
    //    System.out.print("|");
        char[] rand=new char[pass.length()];
        for(int i=0;i<pass.length();i++){
                int a=(byte)arr+ne;
                rand=(char)a;           
             //   System.out.print(rand);
        }
     //   System.out.println("|");
        return String.copyValueOf(rand)+(char)(pass.length()+(ne+40));            
    }
    public String getDecryptESS(String pass)
    {//versi jtrust pake policy di 2016-03-31
    int ne=20;
    if (gen.getDataConfiguration("casesensiESS").equalsIgnoreCase("true")){
    ne=3;
    }
        char[] ar=pass.toCharArray();
        char[] arr=new char[pass.length()-1];
        for(int i=0;i<pass.length()-1;i++){
            arr=ar[pass.length()-i-2];
        }
        char[] rand=new char[pass.length()-1];
        for(int i=0;i<pass.length()-1;i++){
                int a=(byte)arr-ne;
                rand=(char)a;                    
        }
        return String.copyValueOf(rand);
    }
 
private String PrintReport(String jobNo, String jobParm, String reportName)
{
try
{
Vector sql = convert.getDataMapping(logQuery, "REP_OUTPUT"); // Get
// report
// form
debug.println("hrmst_output "+gen.gettable(sql.get(0)));
debug.println("cond "+reportName);// (*.jasper)
Vector output = query.getDataQuery(logQuery, conn, gen.gettable(sql.get(0)), gen.getInt(sql.get(1)), gen.getElement(',', gen.gettable(sql.get(5))), gen.getElement(',', gen.gettable(sql.get(2))), new String[] { reportName }, "D");
debug.println("output "+output.size()+","+output.toString());
File jasperPrintFile;
String fileType;
 
if (output.size() > 0)
{
jasperPrintFile = new File(gen.getDataReportDir() + output.get(1).toString().trim() + ".jasper");
if (!jasperPrintFile.exists())
{
System.out.println("Can't find jasper print file (" + reportName + ")");
gen.log(logError, "Can't find jasper print file (" + reportName + ")");
logError.close();
logWarning.close();
conn.close();
return "Can't find jasper print file (" + reportName + ")";
}
 
fileType = output.get(2).toString().trim();
 
if (userFileType.length() > 0)
fileType = userFileType;
 
}
else
{
System.out.println("Can't find report output record (" + reportName + ")");
gen.log(logError, "Can't find report output record (" + reportName + ")");
logError.close();
logWarning.close();
conn.close();
return "Can't find report output record (" + reportName + ")";
}
String outputFileName = gen.getDataOutDir() + output.get(1).toString().trim() + "_" + jobNo.trim() + "." + fileType;
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperPrintFile.getAbsolutePath(), reportParameters, conn);
//JasperPrint jasperPrint = JasperFillManager.fillReport(jasperPrintFile.getAbsolutePath(), reportParameters, new JRResultSetDataSource(rs));
// JasperPrint jasperPrint =
// JasperFillManager.fillReport(jasperPrintFile.getAbsolutePath(),
// reportParameters, conn);
 
fileType = "pdf";
 
if (fileType.equalsIgnoreCase("pdf"))
{
 
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outputFileName);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.exportReport();
 
}
if (fileType.equalsIgnoreCase("html"))
{
JRHtmlExporter exporter = new JRHtmlExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outputFileName);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.exportReport();
}
if (fileType.equalsIgnoreCase("csv"))
{
JRCsvExporter exporter = new JRCsvExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outputFileName);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.exportReport();
}
if (fileType.equalsIgnoreCase("xls"))
{
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outputFileName);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.exportReport();
}
 
// Write to Job Output
String[] jobOutputRecord = new String[6];
File reportFile = new File(outputFileName);
 
if (reportFile.exists())
{
sql = convert.getDataMappingUpdate(logUpdate, "REP_JOBOUTPUT");
jobOutputRecord[0] = jobNo.trim();
jobOutputRecord[1] = "" + seq++;
jobOutputRecord[2] = output.get(0).toString().trim();
jobOutputRecord[3] = output.get(1).toString().trim() + "_" + jobNo.trim() + "." + fileType;
jobOutputRecord[4] = fileType;
jobOutputRecord[5] = "" + Math.round(Math.ceil(reportFile.length() / 1024));
String exceptMessage = query.runQueryUpdate(logUpdate, conn, gen.gettable(sql.get(0)), gen.getElement(',', gen.gettable(sql.get(2))), gen.getElement(',', gen.gettable(sql.get(3))), gen.getElement(',', gen.gettable(sql.get(4))), jobOutputRecord, "M");
if (exceptMessage.trim().length() > 0)
{
System.out.println("Fail writing job output record (" + outputFileName + ")");
gen.log(logError, "Fail writing job output record (" + outputFileName + ")");
returnMessage = "Fail writing job output record (" + outputFileName + ")";
}
}
else
{
System.out.println("Can't generate report file (" + outputFileName + ")");
gen.log(logError, "Can't generate report file (" + outputFileName + ")");
returnMessage = "Can't generate report file (" + outputFileName + ")";
}
}
catch (Exception e)
{
e.printStackTrace();
}
return returnMessage;
}
public static String fullMonthName(int month)
{
if (month == 1)
{
return "Januari";
}
else if (month == 2)
{
return "Februari";
}
else if (month == 3)
{
return "Maret";
}
else if (month == 4)
{
return "April";
}
else if (month == 5)
{
return "Mei";
}
else if (month == 6)
{
return "Juni";
}
else if (month == 7)
{
return "Juli";
}
else if (month == 8)
{
return "Agustus";
}
else if (month == 9)
{
return "September";
}
else if (month == 10)
{
return "Oktober";
}
else if (month == 11)
{
return "November";
}
else if (month == 12)
{
return "Desember";
}
 
return "";
}
 
private String PrintReport(String jobNo, String jobParm, String reportName, ResultSet reportResultSet)
{
try
{
Vector sql = convert.getDataMapping(logQuery, "REP_OUTPUT"); // Get
// report
// form
// (*.jasper)
Vector output = query.getDataQuery(logQuery, conn, gen.gettable(sql.get(0)), gen.getInt(sql.get(1)), gen.getElement(',', gen.gettable(sql.get(5))), gen.getElement(',', gen.gettable(sql.get(2))), new String[]{reportName}, "M");
File jasperPrintFile;
String fileType;
String repCode = "";
if (output.size() > 0)
{
jasperPrintFile = new File(gen.getDataReportDir() + output.get(1).toString().trim() + ".jasper");
repCode = jasperPrintFile.getName();
 
if (!jasperPrintFile.exists())
{
System.out.println("Can't find jasper print file (" + repCode + ")");
gen.log(logError, "Can't find jasper print file (" + repCode + ")");
logError.close();
logWarning.close();
conn.close();
return "Can't find jasper print file (" + repCode + ")";
}
 
fileType = output.get(2).toString().trim();
}
else
{
System.out.println("Can't find report output record (" + repCode + ")");
gen.log(logError, "Can't find report output record (" + repCode + ")");
logError.close();
logWarning.close();
conn.close();
return "Can't find report output record (" + repCode + ")";
}
System.out.println("jasperPrintFile : "+jasperPrintFile.getAbsolutePath());
String outputFileName = gen.getDataOutDir() + output.get(1).toString().trim() + "_" + jobNo.trim() + "." + fileType;
// JasperPrint jasperPrint =
// JasperFillManager.fillReport(jasperPrintFile.getAbsolutePath(),
// reportParameters, new JRResultSetDataSource(rs));
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperPrintFile.getAbsolutePath(), reportParameters, new JRResultSetDataSource(reportResultSet));
 
if (fileType.equalsIgnoreCase("pdf"))
{
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outputFileName);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.exportReport();
}
if (fileType.equalsIgnoreCase("html"))
{
JRHtmlExporter exporter = new JRHtmlExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outputFileName);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.exportReport();
}
if (fileType.equalsIgnoreCase("csv"))
{
JRCsvExporter exporter = new JRCsvExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outputFileName);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.exportReport();
}
if (fileType.equalsIgnoreCase("xls"))
{
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outputFileName);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.exportReport();
}
 
// Write to Job Output
String[] jobOutputRecord = new String[6];
File reportFile = new File(outputFileName);
if (reportFile.exists())
{
sql = convert.getDataMappingUpdate(logUpdate, "REP_JOBOUTPUT");
jobOutputRecord[0] = jobNo.trim();
jobOutputRecord[1] = "" + seq++;
jobOutputRecord[2] = output.get(0).toString().trim();
jobOutputRecord[3] = output.get(1).toString().trim() + "_" + jobNo.trim() + "." + fileType;
jobOutputRecord[4] = fileType;
jobOutputRecord[5] = "" + Math.round(Math.ceil(reportFile.length() / 1024));
String exceptMessage = query.runQueryUpdate(logUpdate, conn, gen.gettable(sql.get(0)), gen.getElement(',', gen.gettable(sql.get(2))), gen.getElement(',', gen.gettable(sql.get(3))), gen.getElement(',', gen.gettable(sql.get(4))), jobOutputRecord, "M");
if (exceptMessage.trim().length() > 0)
{
System.out.println("Fail writing job output record (" + outputFileName + ")");
gen.log(logError, "Fail writing job output record (" + outputFileName + ")");
returnMessage = "Fail writing job output record (" + outputFileName + ")";
}
}
else
{
System.out.println("Can't generate report file (" + outputFileName + ")");
gen.log(logError, "Can't generate report file (" + outputFileName + ")");
returnMessage = "Can't generate report file (" + outputFileName + ")";
}
}
catch (Exception e)
{
e.printStackTrace();
}
return returnMessage;
}
}
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...