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

kcd

Members
  • Posts

    54
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Downloads

Everything posted by kcd

  1. This issue is still present on the issues page, perhaps vote for it and try to get the priority increased. This bug is still a deal breaker for us because we don't allow/maintain queries in reports only stored procedures. Anyone looked at the source?
  2. Instead of sifting through the source code I have opted to run with the previous version. It is a shame because we really want to deploy jasperreport server on MySQL 5.5 which is what we use for our production databases. I opened a bug ticket. See http://jasperforge.org/projects/jasperreports/tracker/view.php?id=5616
  3. I haven't looked very closely at your problem but I found the number datatypes can change almost randomly with SQL queries unless you pay particular attention to the formats returned. When you use BigDecimals you will find java doesn't automatically cast them as it frequently does other types so try explicitly calling toString() if you want a String
  4. Hey I think I can interpret the problem but not sure where to start for a solution. The problem is for all reports having upgrade from 4.2.1 to 4.5.0. The UI says "An error has occurred. Please contact your system administrator. (6632)" and the stack trace is below. Key cause appears to be: Caused by: org.owasp.esapi.errors.ValidationException: SQL_Query_Executor_context: Invalid input. Please conform to regex ^\s*((?i)select)\s+[^;]+$ with a maximum length of 50000 Because all my queries are in the form CALL Up_Reporting_GetSomethingUseful($P{StartDate}, $P{EndDate}); So I think I need to disable org.owasp.esapi query validation but I cannot find any documentation about this sort of configuration. Where do I start? Code:2012-01-18 15:50:03,354 ERROR ManagementServiceImpl,http-9123-3:1259 - caught Throwable exception: An error has occurred. Please contact your system administrator. (6632)com.jaspersoft.jasperserver.api.JSSecurityException: An error has occurred. Please contact your system administrator. (6632) at com.jaspersoft.jasperserver.api.security.validators.ValidatorImpl.validateSQL(ValidatorImpl.java:394) at com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuter.createDatasource(JRTimezoneJdbcQueryExecuter.java:166) at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:731) at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:629) at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1159) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:802) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:118) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:435) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:773) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:731) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:389) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.executeReport(EngineServiceImpl.java:890) at com.jaspersoft.jasperserver.api.engine.jasperreports.domain.impl.ReportUnitRequest.execute(ReportUnitRequest.java:57) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.execute(EngineServiceImpl.java:320) at com.jaspersoft.jasperserver.ws.axis2.ManagementServiceImpl.runReport(ManagementServiceImpl.java:1167) at com.jaspersoft.jasperserver.ws.axis2.ManagementService.runReport(ManagementService.java:240) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) 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.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:399) at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter.doFilter(MetadataAuthenticationProcessingFilter.java:139) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at com.jaspersoft.jasperserver.api.metadata.user.service.impl.PasswordExpirationProcessingFilter.doFilter(PasswordExpirationProcessingFilter.java:85) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at com.jaspersoft.jasperserver.api.metadata.user.service.impl.JIPortletAuthenticationProcessingFilter.doFilter(JIPortletAuthenticationProcessingFilter.java:81) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at com.jaspersoft.jasperserver.api.logging.filter.BasicLoggingFilter.doFilter(BasicLoggingFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:188) at org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:67) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) 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.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525) 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:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) at java.lang.Thread.run(Thread.java:636)Caused by: org.owasp.esapi.errors.ValidationException: SQL_Query_Executor_context: Invalid input. Please conform to regex ^\s*((?i)select)\s+[^;]+$ with a maximum length of 50000 at org.owasp.esapi.reference.validation.StringValidationRule.checkWhitelist(StringValidationRule.java:144) at org.owasp.esapi.reference.validation.StringValidationRule.checkWhitelist(StringValidationRule.java:160) at org.owasp.esapi.reference.validation.StringValidationRule.getValid(StringValidationRule.java:284) at org.owasp.esapi.reference.DefaultValidator.getValidInput(DefaultValidator.java:213) at org.owasp.esapi.reference.DefaultValidator.getValidInput(DefaultValidator.java:185) at com.jaspersoft.jasperserver.api.security.validators.ValidatorImpl.validateSQL(ValidatorImpl.java:388) ... 77 morecom.jaspersoft.jasperserver.api.JSSecurityException: An error has occurred. Please contact your system administrator. (6632)
  5. Whoops didn't see the second and third page of this topic :) It is already answered -- In iReport Options > JasperReport Properties edit net.sf.jasperreports.image.dpi 300 http://jasperforge.org/projects/jasperreports/tracker/view.php?id=3411 Post Edited by kcd at 12/07/2011 20:34
  6. iReport-0.4.1 does, definitely not newer than 3.1
  7. Order is removed from sortField when it compiles. Anyone seen this or know why? Product Version: Jaspersoft iReport Designer 4.0.2
  8. Are you running ETL jobs from command line and asking if you can pass in passwords as parameters for any database you connect to etc??
  9. Found it! The connection of concern was a query for a parameter (a list of countries to select from). Had selected the wrong data source.
  10. I have a report that executes fine in iReport and but throws the following error in jasperserver. I've re-uploaded it to double check. - First main report has subreport (a table) which uses $P{REPORT_CONNECTION} (dataset with the same query) - If I set the table to use an empty dataset it successfully returns nothing in iReport but the same error in jasperserver - Quick search for "REPORT_CONNECTION" in my jrxml and it is not present - No reason it should be a problem with the datasource because i use the same connection for other reports. What is wrong here? Code:The server has encountered an error. Please excuse the inconvenience.Error Messagenet.sf.jasperreports.engine.JRRuntimeException: Parameter "REPORT_CONNECTION" does not exist.Error Tracenet.sf.jasperreports.engine.JRRuntimeException: Parameter "REPORT_CONNECTION" does not exist. at net.sf.jasperreports.engine.query.JRAbstractQueryExecuter.getValueParameter(JRAbstractQueryExecuter.java:606) at net.sf.jasperreports.engine.query.JRAbstractQueryExecuter.getParameterValue(JRAbstractQueryExecuter.java:470) at net.sf.jasperreports.engine.query.JRAbstractQueryExecuter.getParameterValue(JRAbstractQueryExecuter.java:482) at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.<init>(JRJdbcQueryExecuter.java:103) at com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuter.<init>(JRTimezoneJdbcQueryExecuter.java:125) at com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuterFactory.createQueryExecuter(JRTimezoneJdbcQueryExecuterFactory.java:50) at com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRQueryExecuterAdapter.executeQuery(JRQueryExecuterAdapter.java:111) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.executeQuery(EngineServiceImpl.java:1054) at com.jaspersoft.jasperserver.war.action.ReportParametersAction.executeQuery(ReportParametersAction.java:801)
  11. Are the elements' subreport returning white space? If the elements' subreport only contains a detail band and that detail band is empty will it return with a 0 height (and therefore not print a blank page)? I've never tried it.
  12. Everyone knows Java has an ugly date api and doing it all in one expression in jasper reports makes simple calculations seem impossible. What is the best approach (or at least your favourite) for dates? For example my latest problem is making a report start date parameter default to a month ago, at the beginning of the day, in the current timezone. In case you weren't aware I've included the workarounds I've found and am open to new suggestions. http://download.oracle.com/javase/6/docs/api/java/util/Calendar.html http://type-exit.org/adventures-with-open-source-bi/2010/06/date-calculation-in-ireport/ http://joda-time.sourceforge.net/ http://commons.apache.org/lang/ http://mdahlman.wordpress.com/2009/09/09/jasperreports-first-dates/ http://www.mysqlformatdate.com/ I'm not sure what standard I should use yet, namely what is the easiest to maintain... Code:-- Date --long DAY_IN_MS = 1000 * 60 * 60 * 24;new Date(date.getTime() - (7 * DAY_IN_MS))-- Calendar with a cal parameter --$P{cal} = Calendar.getInstance()new java.text.SimpleDateFormat("MMMMM").format( ( $P{cal}.add(Calendar.MONTH, -1) ? null : $P{cal}.getTime() ))-- Apache Commons Lang --import org.apache.commons.lang.time.*DateUtils.addDays($P{MyDate},1)-- Jodatime --DateTime now = new DateTime(); DateTime dt = now.dayOfMonth().withMaximumValue().withDayOfWeek(DateTimeConstants.FRIDAY);if (dt.getMonthOfYear() != now.getMonthOfYear()) { dt = dt.minusDays(7);}-- MySQL SQL --SELECT DATE_ADD('2009-01-30', INTERVAL -1 MONTH);
  13. There is the dummy group header with the chart set to evaluate Report instead of Now. I use that and but it seems to flag the rows as used so they no longer display in the table.
  14. Unless I am misunderstanding something (very possible!) the scenario isn't so unlikely if you use tables, which seem to act just like a subreport, and want a chart too (but not at the bottom)... But yes my problem is quite different to just A and B subreports. I'm sure there is another method but anyway that is all covered in my post here. http://jasperforge.org/plugins/espforum/view.php?group_id=102&forumid=103&topicid=92333 Thanks for replying, don't mean to hijack your post.
  15. Not sure about your problem but perhaps you can work around it using something like Code:new SimpleDateFormat("EEEEE dd MMMMM yyyy").format($F{CDate})
  16. Perhaps set a boolean variable for your footers print when expression in a 0 height Group Footer?
  17. Nice thanks. Any chance you managed to get A and B to use the same datasource AND only query the database once? That is a problem I am facing.
  18. Try a newer version, perhaps Talend Open Studio 4.2.3 which IS JasperETL (wish I understood the commercial relationship there...)
  19. Hmm also see tLoadContext, very handy to have it in an XML configuration file
  20. I'm no expert but in iReport you can untick "print repeated values" which in the code reportElement sets isPrintRepeatedValues="false". If you are querying a database you can use select distinct or a group by clause.
  21. I'm trying to work out how best to do reports with a chart then a table representing the same dataset. I need to overcome the positioning of the summary is at the bottom, so intend to use subreports and table-subreports. I am experimenting with two tables and a chart in one detail band. If I set the datasourceexpression for to $P{REPORT_DATA_SOURCE} only the chart displays data (presumably the first subreport type item) and the tables are empty. Seems the data can be consumed only once? Can I reset the increment? If I use a Dataset to query the database it works however it executes the Query three times, once for each table/chart. That will be a massive overhead. Obviously I am not doing this right but I cannot find any examples of using the same dataset more than once. XML code snippets from iReport below. I tried to trim out the irrelevant parts. Code: Post Edited by kcd at 09/29/2011 02:48
  22. Ah, right, contexts... http://www.talendforge.org/tutorials/tutorial.php?language=english&idTuto=34
  23. Hi, I've been doing this for two days so excuse me if this is a stupid question. What is a good way to to have a global variable or property for simple things like a directory? I'm trying to start work on an existing project which has parameters for a temporary directory that doesn't match my file system. Obviously I can change it but I would a portable solution like a xml file or using system environment variables Thanks Kevin
×
×
  • Create New...