Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

iReport_jasper_chart color problem_i need to get explicit color

843841Oct 5 2005 — edited Oct 12 2005
hai
i m using iReport as for Designing and jasper reports for chart .after generating.jrxml i m going to input for servlet which generate jasper and i m going to get html report and bar,pie chart.....my problem is i m getting only three colors which also ireport generate ramdomly but i need to set a bar chart,pie colr explictly in (green,orange,red)iReport........is there any option to set a color in iReport...pls tell me....or any need to change coding i here by attached my code also

--------------------------------------------------------------------------
public class ReportGenerator extends HttpServlet
{
HttpSession session;
JasperPrint jasperPrint;
JasperReport jasperReport;
Map parameters;
HttpServletRequest request;
JRHtmlExporter exporter = new JRHtmlExporter();
ServletContext application;
HttpServletResponse response;
PrintWriter out;
final String szhtmlreport="htmlreport";
final String szhtmlreportname="Metricreport";
final String szbarchart="barchart";
final String szbarchartreportname="Metricreport_bar";
final String szpiechart="piechart";
final String szpiechartreportname="Metricreport_piechart";
final String szjrxml=".jrxml";
final String szjasper=".jasper";

public static Logger logger = Logger.getInstance(ReportGenerator.class);
/**
* service method retrieves request and response
*
* @param request - contains the application name value
* @param response - contains the parent id value
*/
public void service(HttpServletRequest request,HttpServletResponse response)
{
try
{
session=request.getSession();
/*To get realpath*/
application= this.getServletConfig().getServletContext();
response.setContentType("text/html");
out = response.getWriter();
String strPrjId=(String)session.getAttribute("ProjectID");
int iProjectId=Integer.parseInt(strPrjId);
/*Report Name*/
String szgraphType=(String)request.getAttribute("graphtype");
String szreportName="";
//if(szgraphType==null || szgraphType.equals("htmlreport") )
if(szgraphType==null || szgraphType.equals(szhtmlreport))
{
szreportName=szhtmlreportname;
}
else if(szgraphType.equals(szbarchart))
{
szreportName=szbarchartreportname;
}
else
{
szreportName=szpiechartreportname;
}
// String szreportjrxml=szreportName+".jrxml";
// String szreportjasper=szreportName+".jasper";
String szreportjrxml=szreportName+szjrxml;
String szreportjasper=szreportName+szjasper;
/* File name jrxml*/
// File reportFilejrxml=new File(application.getRealPath("/xml/"+szreportjrxml));
/* File name jasper*/
// File reportFilejasper = new File(application.getRealPath("/xml/"+szreportjasper));


InputStream reportStreamJrxml = getClass().getResourceAsStream("/xml/"+szreportjrxml);
InputStream reportStreamjasper = getClass().getResourceAsStream("/xml/"+szreportjasper);

//if(reportFilejrxml.exists() || reportFilejasper.exists())
if(reportStreamJrxml!=null || reportStreamjasper!=null)
{
/* ensure that jasper file exists or not */
// if(reportFilejasper.exists())
if(reportStreamjasper!=null)
{
/*load jasper file using loadObject method */
// jasperReport = (JasperReport)JRLoader.loadObject(reportFilejasper.getPath());
jasperReport = (JasperReport)JRLoader.loadObject(reportStreamjasper);
/* ProjectId as a parameter */
parameters=new HashMap();
parameters.put("ProjectId",new Integer(iProjectId));
/*try
{*/
Map imagesMap = new HashMap();
request.getSession().setAttribute("IMAGES_MAP", imagesMap);
/* image as a parameter */
exporter.setParameter(JRHtmlExporterParameter.IMAGES_MAP,imagesMap);
setparameter();
/* }
catch(ServletException e)
{
logger.error(""+e);
}*/
}
else
{

/*To set classpath */
/*
System.setProperty("jasper.reports.compile.class.path", application.getRealPath("/WEB-INF/lib/jasperreports-0.6.8.jar") +
System.getProperty("path.separator") + application.getRealPath("/WEB-INF/classes/") );
System.setProperty("jasper.reports.compile.temp", application.getRealPath("/xml/"));
System.out.println(System.getProperty("java.class.path"));
String str=application.getRealPath("/xml/"+szreportjrxml);
try
{
JasperCompileManager.compileReportToFile(str);
}
catch(Exception e)
{
logger.error(e);
}

if(reportFilejasper.exists())
{

jasperReport = (JasperReport)JRLoader.loadObject(reportFilejasper.getPath());

parameters = new HashMap();

parameters.put("ProjectId",new Integer(iProjectId));
try
{
Map imagesMap = new HashMap();
request.getSession().setAttribute("IMAGES_MAP", imagesMap);

exporter.setParameter(JRHtmlExporterParameter.IMAGES_MAP,imagesMap);
getparameter();
}
catch(Exception e)
{
logger.error(e);
}
}
*/
}
}
response.flushBuffer();
out.close();
}
catch (JRException e)
{
logger.error(e);
}
catch(Exception e)
{
logger.error(e);
}
}
/*To avoid the getting image from cache set a count and append to parameter*/
// static int count;
void setparameter() throws SQLException
{
CalendarUtil cu = new CalendarUtil();
long currenmillis=System.currentTimeMillis();
/*To pass dynamic parameter */
String setparamvalue = ""+cu.getYear()+cu.getMonthInt()+cu.getDayOfMonth()+cu.getHour()+cu.getMinute()+cu.getSecond()+currenmillis;
session.setAttribute("paramval",setparamvalue);
MetricReportDataSource objConn=new MetricReportDataSource();

/*To get Connection Object*/
Connection connection=objConn.getconn();
try
{
/*to fillreport using fillreportmethod parameters as jasperreport,paramters and connection object*/
jasperPrint = JasperFillManager.fillReport(jasperReport,parameters,connection);
/* set parameter jasperprint ,Printwriter */
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML,"<hr noshade color=\"#3674AF\" width='100%' height=\"1\">");
exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI,"CenturyImage?image"+setparamvalue+"=");
exporter.exportReport();
}
catch(JRException e)
{
logger.error(e);
}
finally
{
connection.close();
}
}

}


--------------------------------------------------------------------------
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 9 2005
Added on Oct 5 2005
1 comment
259 views