pentaho reporting - deal with dates, hardcode server location :)

This commit is contained in:
John Woodlock
2012-08-10 10:58:02 +10:00
parent b18d3881b7
commit e79df797a3
@@ -6,6 +6,7 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.sql.Connection; import java.sql.Connection;
import java.sql.Date;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.ResultSetMetaData; import java.sql.ResultSetMetaData;
import java.sql.SQLException; import java.sql.SQLException;
@@ -76,8 +77,8 @@ public class ReadExtraDataAndReportingServiceImpl implements
public void write(OutputStream out) { public void write(OutputStream out) {
try { try {
GenericResultsetData result = retrieveGenericResultset(name, GenericResultsetData result = retrieveGenericResultset(
type, queryParams); name, type, queryParams);
StringBuffer sb = generateCsvFileBuffer(result); StringBuffer sb = generateCsvFileBuffer(result);
InputStream in = new ByteArrayInputStream(sb.toString() InputStream in = new ByteArrayInputStream(sb.toString()
@@ -102,7 +103,8 @@ public class ReadExtraDataAndReportingServiceImpl implements
} }
private static StringBuffer generateCsvFileBuffer(GenericResultsetData result) { private static StringBuffer generateCsvFileBuffer(
GenericResultsetData result) {
StringBuffer writer = new StringBuffer(); StringBuffer writer = new StringBuffer();
List<ResultsetColumnHeader> columnHeaders = result.getColumnHeaders(); List<ResultsetColumnHeader> columnHeaders = result.getColumnHeaders();
@@ -366,10 +368,12 @@ public class ReadExtraDataAndReportingServiceImpl implements
} }
@Override @Override
public GenericResultsetData retrieveExtraData(String type, String set, Long id) { public GenericResultsetData retrieveExtraData(String type, String set,
Long id) {
long startTime = System.currentTimeMillis(); long startTime = System.currentTimeMillis();
GenericResultsetData result = fillExtraDataGenericResultSet(type, set, id); GenericResultsetData result = fillExtraDataGenericResultSet(type, set,
id);
long elapsed = System.currentTimeMillis() - startTime; long elapsed = System.currentTimeMillis() - startTime;
logger.info("FINISHING SET: " + set + " Elapsed Time: " + elapsed); logger.info("FINISHING SET: " + set + " Elapsed Time: " + elapsed);
return result; return result;
@@ -722,11 +726,11 @@ public class ReadExtraDataAndReportingServiceImpl implements
"Pentaho is not enabled", "Pentaho is not enabled"); "Pentaho is not enabled", "Pentaho is not enabled");
// TODO - use pentaho location finder like Pawel does in Mifos // TODO - use pentaho location finder like Pawel does in Mifos
String reportPath = "C:\\dev\\apache-tomcat-7.0.25\\webapps\\ROOT\\PentahoReports\\"
+ reportName + ".prpt";
// String reportPath = // String reportPath =
// "/var/lib/tomcat7/webapps/ROOT/PentahoReports/" // "C:\\dev\\apache-tomcat-7.0.25\\webapps\\ROOT\\PentahoReports\\"
// + reportName + ".prpt"; // + reportName + ".prpt";
String reportPath = "/var/lib/tomcat7/webapps/ROOT/PentahoReports/"
+ reportName + ".prpt";
logger.info("Report path: " + reportPath); logger.info("Report path: " + reportPath);
// load report definition // load report definition
@@ -825,6 +829,9 @@ public class ReadExtraDataAndReportingServiceImpl implements
if (clazz.getCanonicalName().equalsIgnoreCase( if (clazz.getCanonicalName().equalsIgnoreCase(
"java.lang.Integer")) "java.lang.Integer"))
rptParamValues.put(paramName, Integer.parseInt(pValue)); rptParamValues.put(paramName, Integer.parseInt(pValue));
else if (clazz.getCanonicalName().equalsIgnoreCase(
"java.sql.Date"))
rptParamValues.put(paramName, Date.valueOf(pValue));
else else
rptParamValues.put(paramName, pValue); rptParamValues.put(paramName, pValue);
} }