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

StevenCrawford

Members
  • Posts

    40
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Security Advisories

Downloads

Posts posted by StevenCrawford

  1. When my dataset returns no data, I'm getting a null pointer exception:

    2017-09-07 08:09:13,807 ERROR AsyncJasperPrintAccessor,pool-6-thread-67:321 - Error during report executionjava.lang.NullPointerException        at com.jaspersoft.jasperreports.customvisualization.fill.CVFillComponent.evaluateComponent(CVFillComponent.java:171)        at com.jaspersoft.jasperreports.customvisualization.fill.CVFillComponent.evaluate(CVFillComponent.java:144)        at net.sf.jasperreports.engine.fill.JRFillComponentElement.evaluate(JRFillComponentElement.java:110)        at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:381)        at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:500)        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2022)        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:748)        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:255)        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:115)        at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:580)        at net.sf.jasperreports.parts.subreport.SubreportFillPart.fill(SubreportFillPart.java:177)        at net.sf.jasperreports.engine.part.FillPart.fill(FillPart.java:77)        at net.sf.jasperreports.engine.fill.PartReportFiller.fillPart(PartReportFiller.java:400)        at net.sf.jasperreports.engine.fill.PartReportFiller.fillParts(PartReportFiller.java:385)        at net.sf.jasperreports.engine.fill.PartReportFiller.fillDetail(PartReportFiller.java:337)        at net.sf.jasperreports.engine.fill.PartReportFiller.fillReport(PartReportFiller.java:280)        at net.sf.jasperreports.engine.fill.PartReportFiller.fill(PartReportFiller.java:214)        at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:123)        at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$SynchronousExecutor.execute(EngineServiceImpl.java:924)        at net.sf.jasperreports.engine.fill.BaseFillHandle.startFill(BaseFillHandle.java:169)        at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$AsynchronousReportFiller.fillReport(EngineServiceImpl.java:880)        at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:1829)        at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runWithDataSource(EngineServiceImpl.java:1169)        at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runReport(EngineServiceImpl.java:1051)        at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportRunnable.run(EngineServiceImpl.java:946)        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)        at java.lang.Thread.run(Thread.java:745)

    Side note: Can anyone point me to the source code for the CVC Components?

  2. Another way of getting this to work (at least in version 6.3.0) is to use a ternary expression which returns Boolean.TRUE or Boolean.FALSE.

    For example if your existing expression was:

    $F{SHOULD_SHOW_HYPERLINK}[/code]

    You could replace it with this.

    $F{SHOULD_SHOW_HYPERLINK} ? Boolean.TRUE : Boolean.FALSE[/code]

     

     

     

     

  3. This is how I'm using multi-select input controls.

    Create a Parameter, giving it a name  and assigning the class java.Util.Collection.  You can assign default values by using an expression like java.util.Arrays.asList(new String[]{"value1","value2"})

    In your query, in the where statement place 'WHERE $X{IN, DB_FIELD, PARAM_NAME}'  You could also use this syntax elsewhere in the report.

    So my query may end up looking like:

    SELECT id, metric

    FROM ex_table

    WHERE $X{IN, id, id_list}

     

  4. Is it possible to detect the export format that is currently being used?   I'm wanting to dynamically detect what export format is being used and show or hide report elements based on this.

    For example, if the user exports to PDF I wish to show a particular data table but if the instead export to CSV I do not.

     

  5. Make sure all of your fields are lined up correctly.  If a field is out of line, many times items will disappear. 

    I've found using Tables takes out a lot of the issues we were having with excel exports.  Ever since we switched from just using fields in the detail band to tabels we have had much fewer problems!

  6. *EDIT 2*

    As of Jasper 5.1, I believe Jaspersoft fixed this issue by adding a 'none' sort type.  I have not tried this due to time constraints but it's worth a shot if you're on 5.1 or later.

     

    *EDIT 1*

    My orginal solution worked fine for data sets that only had one measure per category.  Basically any data set that didn't have the category repeated more than once.  However when the category value was repeated it viewed everything as larger than the value before it.  The solution wasn't as obvious as it should have been but I simply added a check in the Comparator to detect if the two objects were equal.  If they were then I return 0, otherwise return 1 as usual.

     

    The Soltuion:

    Create a  comparator which always returns a value of 1 (greater than).  iReport sees that the data is already in order and doesn't change anything.  This allows you to define ordering at the query level!  See the attached java file for more info. I've also attached a jar if you just want the fix.

     

    To use:

    Add jar to classpath.

    Instantiate the custom comparator in the Comparator Expr box for the desired series or category.  Enjoy query level sorting!

     

     

  7. So right after I posted this I found the correct documentation. 

    Section 10.4.3 states: http://://flow.html?_flowId=searchFlow&folderUri=/reports/test

    Change /reports/test with the id of the path you want to go to. In my case /public/WWW.

     

    Hope this helps!

  8. I know you said you double checked the same values on the input controls.  But also ensure that the input control name matches the parameter name in your report.  Secondly check the data connection.  Does the server have the proper connection.  Can you test this DB connection with a simple report to ensure its working.  If that works, check the table with a simple report.

  9.  

    I was frustrated by the default sorting order on the HTML5 charts.  To customize the sort order you must create a comparator. And even then you can only sort by a category or series, not by a measure!   I wanted to be able to sort my data in the query to solve these problems.  The GUI provided no solutions besides the limited ascending or descending selections.  
     
    The Soltuion:
    Create a  comparator which always returns a value of 1 (greater than).  iReport sees that the data is already in order and doesn't change anything.  This allows you to define ordering at the query level!  See the attached java file for more info. I've also attached a jar if you just want the fix.
     
    To use:
    Add jar to classpath.
    Instantiate the custom comparator in the Comparator Expr box for the desired series or category.  Enjoy query level sorting!
  10. Hi,

    I recently created a report and uploaded it to my jaspersoft server.  Initially it worked fine.  My input control appeared, I could select a date and my data appeared as expected.  However when I updated to a new version of the report the input control no longer appears where I can enter data.  There is just no input box!  I've ensured that the parameter still exists on my report and the names match each other.  Any ideas/suggestions?  

    I should add that other reports can use and display the input control without trouble and that creating a new input control has no effect.

     

    The pic shows that the options tab appears but no entry is avaliable!

  11. Is there a list on which options from the highcharts api have been implemented and which haven't?  Some options just don't seem to apply.

    For example, I'm trying to create a line chart without any markers.  I've added the chart property :

    plotOptions.line.marker.enabled = Boolean.FALSE

    This is consistent with what can be found here: http://api.highcharts.com/highcharts#plotOptions.line.marker; yet my chart still shows with markers.  


    Additionally certain options work when deployed on the server but do not work in local XHTML view.

     

×
×
  • Create New...