Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » BIRT » Create a report thanks to a JSON file
Create a report thanks to a JSON file [message #1729213] Tue, 12 April 2016 08:43
Florent Lesage is currently offline Florent LesageFriend
Messages: 2
Registered: April 2016
Junior Member
Hello,

My name is Florent, I'm a French Business Intelligence student, actually trainee in a computing firm.
I must to pick up a 4.4.2 birt report and to integrate data contained in a JSON file.

The report includes a scripted data source with the following script (open) :

// This will track your current row later 
count = 0;

// Create instance of the Controller class
controller = new Packages.com.actuate.json.JSONParser()

// Load the JSON Source
controller.loadData("C:\Users\julie\Desktop\eventdata.json");

// Calculate the total rows we will haves
totalCount = controller.getChildCount("eventHistoryReportEntry");


... and a data set with the following script (fetch) :

// Loop through the JSON object adding it to the scripted data source

// Calculate the total rows we will haves
totalCount = controller.getChildCount("eventHistoryReportEntry");

if(count < totalCount) {
  var vehicle = controller.getValue("eventHistoryReportEntry", "vehicle", count);
  var reference = controller.getValue("eventHistoryReportEntry", "reference", count);
  var plateNumber = controller.getValue("eventHistoryReportEntry", "plateNumber", count);
  var satId = controller.getValue("eventHistoryReportEntry", "satId", count);
  var driver = controller.getValue("eventHistoryReportEntry", "driver", count);
  var eventtime = controller.getValue("eventHistoryReportEntry", "eventTime", count);
  
  var country = controller.getValue("eventHistoryReportEntry", "address/country", count);
  var locality = controller.getValue("eventHistoryReportEntry", "address/locality", count);
  var city = controller.getValue("eventHistoryReportEntry", "address/city", count);
  var street = controller.getValue("eventHistoryReportEntry", "address/street", count);
  var streetNumber = controller.getValue("eventHistoryReportEntry", "address/streetNumber", count);
  var zipCode = controller.getValue("eventHistoryReportEntry", "address/zipCode", count);

  var POIname = controller.getValue("eventHistoryReportEntry", "poiName", count);
  var isPOI = controller.getValue("eventHistoryReportEntry", "isPOI", count);
  var eventname = controller.getValue("eventHistoryReportEntry", "eventName", count);
  var event = controller.getValue("eventHistoryReportEntry", "event", count);
 
  row["vehicle"] = vehicle;
  row["reference"] = reference;
  row["plateNumber"] = plateNumber;
  row["satId"] = satId;
  row["driver"] = driver;
  row["eventtime"] = eventtime;
  row["country"] = country;
  row["locality"] = locality;
  row["city"] = city;
  row["street"] = street;
  row["streetNumber"] = streetNumber;
  row["zipCode"] = zipCode;
  row["POIname"] = POIname;
  row["isPOI"] = isPOI;
  row["eventname"] = eventname;
  row["event"] = event;
  
  count++;
  return true;
}

return false; 


It's not working.
There are a lot of errors in the debug report, I don't know where to start.
No matter how hard I look for, I'm not able to debug that, I'm starting to despair.
This is why I look for support in French-speaker communities and English-speaker communities.
If you manage to debug just a few errors, I will be very grateful.
For clarity, I have an entry level in BIRT/Java/Javascript... I discovered that 2 weeks ago in the firm, without prior training.
I'm trying to do the job, to pick up the job of an other person (who left the firm), understand his logic, it's very hard.
Thanks in advance and I'm sorry for my bad English.


12-avr.-2016 9:34:52 org.eclipse.birt.report.debug.internal.core.vm.ReportVMServer start
INFO: [Server] client accepted
12-avr.-2016 9:34:52 org.eclipse.birt.report.debug.internal.core.vm.ReportVMServer$1 run
INFO: [Server] enter request dispatching
12-avr.-2016 9:34:52 org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher configEngine
INFO: User class path received: 
12-avr.-2016 9:34:53 org.eclipse.birt.report.model.metadata.ExtensionLoader handleError
GRAVE: Message:The class [org.eclipse.birt.chart.reportitem.ChartReportItemFactoryImpl] can not be instantiated. Error code:FAILED_TO_CREATE_INSTANCE 
12-avr.-2016 9:34:53 org.eclipse.birt.report.model.metadata.ExtensionLoader handleError
GRAVE: Message:The class [org.eclipse.birt.chart.reportitem.ChartScriptableClassInfo] can not be instantiated. Error code:FAILED_TO_CREATE_INSTANCE 
>>>> Compiled Source: /report/page-setup/simple-master-page[@id="2"]/page-header/grid[@id="4642"]/row[@id="4644"]/cell[@id="4645"]/image[@id="4649"]/method[@name="onPrepare"]
// Approx. how many pixels in one inch
var oneInch = 96; 

// Get the height in inches, returns as a string
var width  = this.width;
var height = this.height;

// Remove "in" from the string
var xwidth  = width.replace("in","");
var xheight = height.replace("in", "");

// Covert the string to int using parseInt()
var yheight = parseInt(xheight);
var ywidth  = parseInt(xwidth);

// Convert inches to pixels.  1 inch ~= 96 pixels   
yheight = yheight * oneInch;   
ywidth  = ywidth  * oneInch;

// If the image height > 250 pixels we can change our max height here
if(ywidth > 180) {
  yheight = (yheight / ywidth) * 180;
  ywidth=180;
  
  this.setHeight(yheight +"px"); 
  this.setWidth(ywidth +"px"); 
} else {
  // Do nothing
}

// If the image width > 250 pixels we can change our max width here
if(yheight > 48) {
  ywidth = (ywidth / yheight) * 48;
  yheight=48;
  
  this.setHeight(yheight +"px"); 
  this.setWidth(ywidth +"px"); 
} else {
  // Do nothing
}
>>>> end compilation.
>>>> Frame Source Name: /report/page-setup/simple-master-page[@id="2"]/page-header/grid[@id="4642"]/row[@id="4644"]/cell[@id="4645"]/image[@id="4649"]/method[@name="onPrepare"]
>>>> Frame Function Name: 
>>>> Enter script. 2
>>>> Line changed to: 2
>>>> Line changed to: 5
>>>> Line changed to: 6
>>>> Line changed to: 9
>>>> Debugger exception occured:
>>>> Exit script.
org.mozilla.javascript.EcmaError: TypeError: Cannot call method "replace" of null (/report/page-setup/simple-master-page[@id="2"]/page-header/grid[@id="4642"]/row[@id="4644"]/cell[@id="4645"]/image[@id="4649"]/method[@name="onPrepare"]#9)
	at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3654)
	at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3632)
	at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3660)
	at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3679)
	at org.mozilla.javascript.ScriptRuntime.undefCallError(ScriptRuntime.java:3698)
	at org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThisHelper(ScriptRuntime.java:2221)
	at org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThis(ScriptRuntime.java:2214)
	at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3143)
	at script(/report/page-setup/simple-master-page[@id="2"]/page-header/grid[@id="4642"]/row[@id="4644"]/cell[@id="4645"]/image[@id="4649"]/method[@name="onPrepare"]:9)
	at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2487)
	at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
	at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398)
	at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065)
	at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:175)
	at org.eclipse.birt.report.engine.javascript.JavascriptEngine.evaluate(JavascriptEngine.java:290)
	at org.eclipse.birt.core.script.ScriptContext.evaluate(ScriptContext.java:159)
	at org.eclipse.birt.report.engine.executor.ExecutionContext.evaluate(ExecutionContext.java:789)
	at org.eclipse.birt.report.engine.executor.ExecutionContext.evaluate(ExecutionContext.java:769)
	at org.eclipse.birt.report.engine.executor.ExecutionContext.evaluate(ExecutionContext.java:751)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignHandler.processOnPrepareScript(ScriptedDesignHandler.java:259)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignHandler.handleOnPrepare(ScriptedDesignHandler.java:136)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignVisitor.visitImage(ScriptedDesignVisitor.java:301)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignHandler.visitImage(ScriptedDesignHandler.java:1)
	at org.eclipse.birt.report.model.api.DesignVisitorImpl$Forwarder.visitImage(DesignVisitorImpl.java:1064)
	at org.eclipse.birt.report.model.elements.ImageItem.apply(ImageItem.java:86)
	at org.eclipse.birt.report.model.api.DesignVisitorImpl.apply(DesignVisitorImpl.java:127)
	at org.eclipse.birt.report.model.api.DesignVisitor.apply(DesignVisitor.java:1)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignHandler.apply(ScriptedDesignHandler.java:1)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignVisitor.visitCell(ScriptedDesignVisitor.java:369)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignHandler.visitCell(ScriptedDesignHandler.java:1)
	at org.eclipse.birt.report.model.api.DesignVisitorImpl$Forwarder.visitCell(DesignVisitorImpl.java:1124)
	at org.eclipse.birt.report.model.elements.Cell.apply(Cell.java:83)
	at org.eclipse.birt.report.model.api.DesignVisitorImpl.apply(DesignVisitorImpl.java:127)
	at org.eclipse.birt.report.model.api.DesignVisitor.apply(DesignVisitor.java:1)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignHandler.apply(ScriptedDesignHandler.java:1)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignVisitor.visitRow(ScriptedDesignVisitor.java:357)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignHandler.visitRow(ScriptedDesignHandler.java:1)
	at org.eclipse.birt.report.model.api.DesignVisitorImpl$Forwarder.visitRow(DesignVisitorImpl.java:1148)
	at org.eclipse.birt.report.model.elements.TableRow.apply(TableRow.java:84)
	at org.eclipse.birt.report.model.api.DesignVisitorImpl.apply(DesignVisitorImpl.java:127)
	at org.eclipse.birt.report.model.api.DesignVisitor.apply(DesignVisitor.java:1)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignHandler.apply(ScriptedDesignHandler.java:1)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignVisitor.visitGrid(ScriptedDesignVisitor.java:295)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignHandler.visitGrid(ScriptedDesignHandler.java:1)
	at org.eclipse.birt.report.model.api.DesignVisitorImpl$Forwarder.visitGrid(DesignVisitorImpl.java:1160)
	at org.eclipse.birt.report.model.elements.GridItem.apply(GridItem.java:138)
	at org.eclipse.birt.report.model.api.DesignVisitorImpl.apply(DesignVisitorImpl.java:127)
	at org.eclipse.birt.report.model.api.DesignVisitor.apply(DesignVisitor.java:1)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignHandler.apply(ScriptedDesignHandler.java:1)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignVisitor.visitSimpleMasterPage(ScriptedDesignVisitor.java:175)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignHandler.visitSimpleMasterPage(ScriptedDesignHandler.java:1)
	at org.eclipse.birt.report.model.api.DesignVisitorImpl$Forwarder.visitSimpleMasterPage(DesignVisitorImpl.java:1331)
	at org.eclipse.birt.report.model.elements.SimpleMasterPage.apply(SimpleMasterPage.java:96)
	at org.eclipse.birt.report.model.api.DesignVisitorImpl.apply(DesignVisitorImpl.java:127)
	at org.eclipse.birt.report.model.api.DesignVisitor.apply(DesignVisitor.java:1)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignHandler.apply(ScriptedDesignHandler.java:1)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignVisitor.visitReportDesign(ScriptedDesignVisitor.java:88)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignHandler.visitReportDesign(ScriptedDesignHandler.java:1)
	at org.eclipse.birt.report.model.api.DesignVisitorImpl$Forwarder.visitReportDesign(DesignVisitorImpl.java:1222)
	at org.eclipse.birt.report.model.elements.ReportDesign.apply(ReportDesign.java:65)
	at org.eclipse.birt.report.model.api.DesignVisitorImpl.apply(DesignVisitorImpl.java:127)
	at org.eclipse.birt.report.model.api.DesignVisitor.apply(DesignVisitor.java:1)
	at org.eclipse.birt.report.engine.api.impl.ScriptedDesignHandler.apply(ScriptedDesignHandler.java:1)
	at org.eclipse.birt.report.engine.api.impl.EngineTask.prepareDesign(EngineTask.java:1991)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:100)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.createReport(ReportLauncher.java:620)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.renderReport(ReportLauncher.java:566)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.run(ReportLauncher.java:480)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.main(ReportLauncher.java:124)
	at org.eclipse.birt.report.debug.internal.core.ReportDebugger.start(ReportDebugger.java:39)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
>>>> Compiled Source: /report/data-sources/script-data-source[@id="7"]/method[@name="open"]
function __bm_OPEN() {
// This will track your current row later 
count = 0;

// Create instance of the Controller class
controller = new Packages.com.actuate.json.JSONParser()

// Load the JSON Source
controller.loadData("C:\Users\julie\Desktop\eventdata.json");

// Calculate the total rows we will haves
totalCount = controller.getChildCount("eventHistoryReportEntry");
} 
>>>> end compilation.
>>>> Compiled Source: /report/data-sources/script-data-source[@id="7"]/method[@name="open"]
__bm_OPEN()
>>>> end compilation.
>>>> Frame Source Name: /report/data-sources/script-data-source[@id="7"]/method[@name="open"]
>>>> Frame Function Name: __bm_OPEN
>>>> Enter script. 2
>>>> Line changed to: 2
>>>> Line changed to: 5
>>>> Debugger exception occured:
>>>> Exit script.
org.mozilla.javascript.EcmaError: TypeError: [JavaPackage com.actuate.json.JSONParser] n'est pas une fonction, est un object (/report/data-sources/script-data-source[@id="7"]/method[@name="open"]#5)
	at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3654)
	at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3632)
	at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3660)
	at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3679)
	at org.mozilla.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3734)
	at org.mozilla.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3722)
	at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3363)
	at script.__bm_OPEN(/report/data-sources/script-data-source[@id="7"]/method[@name="open"]:5)
	at script(/report/data-sources/script-data-source[@id="7"]/method[@name="open"])
	at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2487)
	at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
	at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398)
	at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065)
	at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:175)
	at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawScript(JavascriptEvalUtil.java:99)
	at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateScript(JavascriptEvalUtil.java:138)
	at org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJSAsExpr(ScriptEvalUtil.java:993)
	at org.eclipse.birt.data.engine.script.JSMethodRunner.runScript(JSMethodRunner.java:138)
	at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:90)
	at org.eclipse.birt.report.engine.script.internal.DataSourceScriptExecutor.handleJS(DataSourceScriptExecutor.java:187)
	at org.eclipse.birt.report.engine.script.internal.ScriptDataSourceScriptExecutor.handleOpen(ScriptDataSourceScriptExecutor.java:65)
	at org.eclipse.birt.data.engine.impl.ScriptDataSourceRuntime.open(ScriptDataSourceRuntime.java:87)
	at org.eclipse.birt.data.engine.impl.ScriptDataSourceRuntime.openOdiDataSource(ScriptDataSourceRuntime.java:65)
	at org.eclipse.birt.data.engine.impl.QueryExecutor.openDataSource(QueryExecutor.java:434)
	at org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecution(QueryExecutor.java:322)
	at org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(PreparedQuery.java:463)
	at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.produceQueryResults(PreparedDataSourceQuery.java:190)
	at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.execute(PreparedDataSourceQuery.java:178)
	at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.execute(DataRequestSessionImpl.java:637)
	at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:152)
	at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:275)
	at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1947)
	at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
	at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)
	at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
	at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
	at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
	at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
	at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:181)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.createReport(ReportLauncher.java:620)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.renderReport(ReportLauncher.java:566)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.run(ReportLauncher.java:480)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.main(ReportLauncher.java:124)
	at org.eclipse.birt.report.debug.internal.core.ReportDebugger.start(ReportDebugger.java:39)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
12-avr.-2016 9:34:53 org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor handleJS
ATTENTION: Fail to execute script in function __bm_OPEN(). Source:
------
" + // This will track your current row later 
count = 0;

// Create instance of the Controller class
controller = new Packages.com.actuate.json.JSONParser()

// Load the JSON Source
controller.loadData("C:\Users\julie\Desktop\eventdata.json");

// Calculate the total rows we will haves
totalCount = controller.getChildCount("eventHistoryReportEntry"); + "
-----
A BIRT exception occurred. See next exception for more information.
TypeError: [JavaPackage com.actuate.json.JSONParser] n'est pas une fonction, est un object (/report/data-sources/script-data-source[@id="7"]/method[@name="open"]#5)
org.eclipse.birt.data.engine.core.DataException: Fail to execute script in function __bm_OPEN(). Source:
------
" + // This will track your current row later 
count = 0;

// Create instance of the Controller class
controller = new Packages.com.actuate.json.JSONParser()

// Load the JSON Source
controller.loadData("C:\Users\julie\Desktop\eventdata.json");

// Calculate the total rows we will haves
totalCount = controller.getChildCount("eventHistoryReportEntry"); + "
-----
A BIRT exception occurred. See next exception for more information.
TypeError: [JavaPackage com.actuate.json.JSONParser] n'est pas une fonction, est un object (/report/data-sources/script-data-source[@id="7"]/method[@name="open"]#5)
	at org.eclipse.birt.data.engine.script.JSMethodRunner.runScript(JSMethodRunner.java:147)
	at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:90)
	at org.eclipse.birt.report.engine.script.internal.DataSourceScriptExecutor.handleJS(DataSourceScriptExecutor.java:187)
	at org.eclipse.birt.report.engine.script.internal.ScriptDataSourceScriptExecutor.handleOpen(ScriptDataSourceScriptExecutor.java:65)
	at org.eclipse.birt.data.engine.impl.ScriptDataSourceRuntime.open(ScriptDataSourceRuntime.java:87)
	at org.eclipse.birt.data.engine.impl.ScriptDataSourceRuntime.openOdiDataSource(ScriptDataSourceRuntime.java:65)
	at org.eclipse.birt.data.engine.impl.QueryExecutor.openDataSource(QueryExecutor.java:434)
	at org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecution(QueryExecutor.java:322)
	at org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(PreparedQuery.java:463)
	at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.produceQueryResults(PreparedDataSourceQuery.java:190)
	at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.execute(PreparedDataSourceQuery.java:178)
	at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.execute(DataRequestSessionImpl.java:637)
	at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:152)
	at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:275)
	at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1947)
	at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
	at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)
	at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
	at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
	at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
	at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
	at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:181)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.createReport(ReportLauncher.java:620)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.renderReport(ReportLauncher.java:566)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.run(ReportLauncher.java:480)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.main(ReportLauncher.java:124)
	at org.eclipse.birt.report.debug.internal.core.ReportDebugger.start(ReportDebugger.java:39)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
Caused by: org.eclipse.birt.data.engine.core.DataException: A BIRT exception occurred. See next exception for more information.
TypeError: [JavaPackage com.actuate.json.JSONParser] n'est pas une fonction, est un object (/report/data-sources/script-data-source[@id="7"]/method[@name="open"]#5)
	at org.eclipse.birt.data.engine.core.DataException.wrap(DataException.java:123)
	at org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJSAsExpr(ScriptEvalUtil.java:997)
	at org.eclipse.birt.data.engine.script.JSMethodRunner.runScript(JSMethodRunner.java:138)
	... 42 more
Caused by: org.eclipse.birt.core.exception.CoreException: TypeError: [JavaPackage com.actuate.json.JSONParser] n'est pas une fonction, est un object (/report/data-sources/script-data-source[@id="7"]/method[@name="open"]#5)
	at org.eclipse.birt.core.script.JavascriptEvalUtil.wrapRhinoException(JavascriptEvalUtil.java:307)
	at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawScript(JavascriptEvalUtil.java:106)
	at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateScript(JavascriptEvalUtil.java:138)
	at org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJSAsExpr(ScriptEvalUtil.java:993)
	... 43 more
Caused by: org.mozilla.javascript.EcmaError: TypeError: [JavaPackage com.actuate.json.JSONParser] n'est pas une fonction, est un object (/report/data-sources/script-data-source[@id="7"]/method[@name="open"]#5)
	at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3654)
	at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3632)
	at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3660)
	at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3679)
	at org.mozilla.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3734)
	at org.mozilla.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3722)
	at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3363)
	at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2487)
	at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
	at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398)
	at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065)
	at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:175)
	at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawScript(JavascriptEvalUtil.java:99)
	... 45 more
>>>> Compiled Source: /report/data-sets/script-data-set[@id="8"]/method[@name="fetch"]
function __bm_FETCH() {
// Loop through the JSON object adding it to the scripted data source

// Calculate the total rows we will haves
totalCount = controller.getChildCount("eventHistoryReportEntry");

if(count < totalCount) {
  var vehicle = controller.getValue("eventHistoryReportEntry", "vehicle", count);
  var reference = controller.getValue("eventHistoryReportEntry", "reference", count);
  var plateNumber = controller.getValue("eventHistoryReportEntry", "plateNumber", count);
  var satId = controller.getValue("eventHistoryReportEntry", "satId", count);
  var driver = controller.getValue("eventHistoryReportEntry", "driver", count);
  var eventtime = controller.getValue("eventHistoryReportEntry", "eventTime", count);
  
  var country = controller.getValue("eventHistoryReportEntry", "address/country", count);
  var locality = controller.getValue("eventHistoryReportEntry", "address/locality", count);
  var city = controller.getValue("eventHistoryReportEntry", "address/city", count);
  var street = controller.getValue("eventHistoryReportEntry", "address/street", count);
  var streetNumber = controller.getValue("eventHistoryReportEntry", "address/streetNumber", count);
  var zipCode = controller.getValue("eventHistoryReportEntry", "address/zipCode", count);

  var POIname = controller.getValue("eventHistoryReportEntry", "poiName", count);
  var isPOI = controller.getValue("eventHistoryReportEntry", "isPOI", count);
  var eventname = controller.getValue("eventHistoryReportEntry", "eventName", count);
  var event = controller.getValue("eventHistoryReportEntry", "event", count);
 
  row["vehicle"] = vehicle;
  row["reference"] = reference;
  row["plateNumber"] = plateNumber;
  row["satId"] = satId;
  row["driver"] = driver;
  row["eventtime"] = eventtime;
  row["country"] = country;
  row["locality"] = locality;
  row["city"] = city;
  row["street"] = street;
  row["streetNumber"] = streetNumber;
  row["zipCode"] = zipCode;
  row["POIname"] = POIname;
  row["isPOI"] = isPOI;
  row["eventname"] = eventname;
  row["event"] = event;
  
  count++;
  return true;
}

return false; 
} 
>>>> end compilation.
>>>> Compiled Source: /report/data-sets/script-data-set[@id="8"]/method[@name="fetch"]
__bm_FETCH()
>>>> end compilation.
>>>> Frame Source Name: /report/data-sets/script-data-set[@id="8"]/method[@name="fetch"]
>>>> Frame Function Name: __bm_FETCH
>>>> Enter script. 4
>>>> Line changed to: 4
>>>> Debugger exception occured:
>>>> Exit script.
org.mozilla.javascript.EcmaError: ReferenceError: "controller" n'est pas défini (/report/data-sets/script-data-set[@id="8"]/method[@name="fetch"]#4)
	at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3654)
	at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3632)
	at org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3717)
	at org.mozilla.javascript.ScriptRuntime.nameOrFunction(ScriptRuntime.java:1758)
	at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1697)
	at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3410)
	at script.__bm_FETCH(/report/data-sets/script-data-set[@id="8"]/method[@name="fetch"]:4)
	at script(/report/data-sets/script-data-set[@id="8"]/method[@name="fetch"])
	at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2487)
	at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
	at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398)
	at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065)
	at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:175)
	at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawScript(JavascriptEvalUtil.java:99)
	at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateScript(JavascriptEvalUtil.java:138)
	at org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJSAsExpr(ScriptEvalUtil.java:993)
	at org.eclipse.birt.data.engine.script.JSMethodRunner.runScript(JSMethodRunner.java:138)
	at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:90)
	at org.eclipse.birt.report.engine.script.internal.DataSetScriptExecutor.handleJS(DataSetScriptExecutor.java:256)
	at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleFetch(ScriptDataSetScriptExecutor.java:143)
	at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.fetch(ScriptDataSetRuntime.java:103)
	at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.fetch(PreparedScriptDSQuery.java:260)
	at org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch(OdiAdapter.java:226)
	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.fetch(RowResultSet.java:145)
	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.doNext(RowResultSet.java:118)
	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:96)
	at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:63)
	at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:318)
	at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.initInstance(SmartCacheHelper.java:285)
	at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:246)
	at org.eclipse.birt.data.engine.executor.cache.SmartCache.<init>(SmartCache.java:74)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassUtil.populateOdiResultSet(PassUtil.java:110)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassUtil.pass(PassUtil.java:62)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.populateResultSetCacheInResultSetPopulator(PassManager.java:276)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.populateDataSet(PassManager.java:238)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.prepareDataSetResultSet(PassManager.java:98)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.pass(PassManager.java:134)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.populateResultSet(PassManager.java:74)
	at org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator.populateResultSet(ResultSetPopulator.java:218)
	at org.eclipse.birt.data.engine.executor.transform.CachedResultSet.<init>(CachedResultSet.java:199)
	at org.eclipse.birt.data.engine.executor.CandidateQuery.execute(CandidateQuery.java:142)
	at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java:226)
	at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1222)
	at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:233)
	at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:178)
	at org.eclipse.birt.report.engine.data.dte.QueryResultSet.<init>(QueryResultSet.java:98)
	at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:168)
	at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:275)
	at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1947)
	at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
	at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)
	at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
	at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
	at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
	at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
	at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:181)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.createReport(ReportLauncher.java:620)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.renderReport(ReportLauncher.java:566)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.run(ReportLauncher.java:480)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.main(ReportLauncher.java:124)
	at org.eclipse.birt.report.debug.internal.core.ReportDebugger.start(ReportDebugger.java:39)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
12-avr.-2016 9:34:53 org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor handleJS
ATTENTION: Fail to execute script in function __bm_FETCH(). Source:
------
" + // Loop through the JSON object adding it to the scripted data source

// Calculate the total rows we will haves
totalCount = controller.getChildCount("eventHistoryReportEntry");

if(count < totalCount) {
  var vehicle = controller.getValue("eventHistoryReportEntry", "vehicle", count);
  var reference = controller.getValue("eventHistoryReportEntry", "reference", count);
  var plateNumber = controller.getValue("eventHistoryReportEntry", "plateNumber", count);
  var satId = controller.getValue("eventHistoryReportEntry", "satId", count);
  var driver = controller.getValue("eventHistoryReportEntry", "driver", count);
  var eventtime = controller.getValue("eventHistoryReportEntry", "eventTime", count);
  
  var country = controller.getValue("eventHistoryReportEntry", "address/country", count);
  var locality = controller.getValue("eventHistoryReportEntry", "address/locality", count);
  var city = controller.getValue("eventHistoryReportEntry", "address/city", count);
  var street = controller.getValue("eventHistoryReportEntry", "address/street", count);
  var streetNumber = controller.getValue("eventHistoryReportEntry", "address/streetNumber", count);
  var zipCode = controller.getValue("eventHistoryReportEntry", "address/zipCode", count);

  var POIname = controller.getValue("eventHistoryReportEntry", "poiName", count);
  var isPOI = controller.getValue("eventHistoryReportEntry", "isPOI", count);
  var eventname = controller.getValue("eventHistoryReportEntry", "eventName", count);
  var event = controller.getValue("eventHistoryReportEntry", "event", count);
 
  row["vehicle"] = vehicle;
  row["reference"] = reference;
  row["plateNumber"] = plateNumber;
  row["satId"] = satId;
  row["driver"] = driver;
  row["eventtime"] = eventtime;
  row["country"] = country;
  row["locality"] = locality;
  row["city"] = city;
  row["street"] = street;
  row["streetNumber"] = streetNumber;
  row["zipCode"] = zipCode;
  row["POIname"] = POIname;
  row["isPOI"] = isPOI;
  row["eventname"] = eventname;
  row["event"] = event;
  
  count++;
  return true;
}

return false;  + "
-----
A BIRT exception occurred. See next exception for more information.
ReferenceError: "controller" n'est pas défini (/report/data-sets/script-data-set[@id="8"]/method[@name="fetch"]#4)
org.eclipse.birt.data.engine.core.DataException: Fail to execute script in function __bm_FETCH(). Source:
------
" + // Loop through the JSON object adding it to the scripted data source

// Calculate the total rows we will haves
totalCount = controller.getChildCount("eventHistoryReportEntry");

if(count < totalCount) {
  var vehicle = controller.getValue("eventHistoryReportEntry", "vehicle", count);
  var reference = controller.getValue("eventHistoryReportEntry", "reference", count);
  var plateNumber = controller.getValue("eventHistoryReportEntry", "plateNumber", count);
  var satId = controller.getValue("eventHistoryReportEntry", "satId", count);
  var driver = controller.getValue("eventHistoryReportEntry", "driver", count);
  var eventtime = controller.getValue("eventHistoryReportEntry", "eventTime", count);
  
  var country = controller.getValue("eventHistoryReportEntry", "address/country", count);
  var locality = controller.getValue("eventHistoryReportEntry", "address/locality", count);
  var city = controller.getValue("eventHistoryReportEntry", "address/city", count);
  var street = controller.getValue("eventHistoryReportEntry", "address/street", count);
  var streetNumber = controller.getValue("eventHistoryReportEntry", "address/streetNumber", count);
  var zipCode = controller.getValue("eventHistoryReportEntry", "address/zipCode", count);

  var POIname = controller.getValue("eventHistoryReportEntry", "poiName", count);
  var isPOI = controller.getValue("eventHistoryReportEntry", "isPOI", count);
  var eventname = controller.getValue("eventHistoryReportEntry", "eventName", count);
  var event = controller.getValue("eventHistoryReportEntry", "event", count);
 
  row["vehicle"] = vehicle;
  row["reference"] = reference;
  row["plateNumber"] = plateNumber;
  row["satId"] = satId;
  row["driver"] = driver;
  row["eventtime"] = eventtime;
  row["country"] = country;
  row["locality"] = locality;
  row["city"] = city;
  row["street"] = street;
  row["streetNumber"] = streetNumber;
  row["zipCode"] = zipCode;
  row["POIname"] = POIname;
  row["isPOI"] = isPOI;
  row["eventname"] = eventname;
  row["event"] = event;
  
  count++;
  return true;
}

return false;  + "
-----
A BIRT exception occurred. See next exception for more information.
ReferenceError: "controller" n'est pas défini (/report/data-sets/script-data-set[@id="8"]/method[@name="fetch"]#4)
	at org.eclipse.birt.data.engine.script.JSMethodRunner.runScript(JSMethodRunner.java:147)
	at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:90)
	at org.eclipse.birt.report.engine.script.internal.DataSetScriptExecutor.handleJS(DataSetScriptExecutor.java:256)
	at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleFetch(ScriptDataSetScriptExecutor.java:143)
	at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.fetch(ScriptDataSetRuntime.java:103)
	at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.fetch(PreparedScriptDSQuery.java:260)
	at org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch(OdiAdapter.java:226)
	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.fetch(RowResultSet.java:145)
	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.doNext(RowResultSet.java:118)
	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:96)
	at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:63)
	at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:318)
	at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.initInstance(SmartCacheHelper.java:285)
	at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:246)
	at org.eclipse.birt.data.engine.executor.cache.SmartCache.<init>(SmartCache.java:74)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassUtil.populateOdiResultSet(PassUtil.java:110)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassUtil.pass(PassUtil.java:62)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.populateResultSetCacheInResultSetPopulator(PassManager.java:276)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.populateDataSet(PassManager.java:238)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.prepareDataSetResultSet(PassManager.java:98)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.pass(PassManager.java:134)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.populateResultSet(PassManager.java:74)
	at org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator.populateResultSet(ResultSetPopulator.java:218)
	at org.eclipse.birt.data.engine.executor.transform.CachedResultSet.<init>(CachedResultSet.java:199)
	at org.eclipse.birt.data.engine.executor.CandidateQuery.execute(CandidateQuery.java:142)
	at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java:226)
	at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1222)
	at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:233)
	at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:178)
	at org.eclipse.birt.report.engine.data.dte.QueryResultSet.<init>(QueryResultSet.java:98)
	at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:168)
	at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:275)
	at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1947)
	at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
	at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)
	at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
	at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
	at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
	at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
	at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:181)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.createReport(ReportLauncher.java:620)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.renderReport(ReportLauncher.java:566)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.run(ReportLauncher.java:480)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.main(ReportLauncher.java:124)
	at org.eclipse.birt.report.debug.internal.core.ReportDebugger.start(ReportDebugger.java:39)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
Caused by: org.eclipse.birt.data.engine.core.DataException: A BIRT exception occurred. See next exception for more information.
ReferenceError: "controller" n'est pas défini (/report/data-sets/script-data-set[@id="8"]/method[@name="fetch"]#4)
	at org.eclipse.birt.data.engine.core.DataException.wrap(DataException.java:123)
	at org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJSAsExpr(ScriptEvalUtil.java:997)
	at org.eclipse.birt.data.engine.script.JSMethodRunner.runScript(JSMethodRunner.java:138)
	... 60 more
Caused by: org.eclipse.birt.core.exception.CoreException: ReferenceError: "controller" n'est pas défini (/report/data-sets/script-data-set[@id="8"]/method[@name="fetch"]#4)
	at org.eclipse.birt.core.script.JavascriptEvalUtil.wrapRhinoException(JavascriptEvalUtil.java:307)
	at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawScript(JavascriptEvalUtil.java:106)
	at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateScript(JavascriptEvalUtil.java:138)
	at org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJSAsExpr(ScriptEvalUtil.java:993)
	... 61 more
Caused by: org.mozilla.javascript.EcmaError: ReferenceError: "controller" n'est pas défini (/report/data-sets/script-data-set[@id="8"]/method[@name="fetch"]#4)
	at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3654)
	at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3632)
	at org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3717)
	at org.mozilla.javascript.ScriptRuntime.nameOrFunction(ScriptRuntime.java:1758)
	at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1697)
	at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3410)
	at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2487)
	at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
	at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398)
	at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065)
	at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:175)
	at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawScript(JavascriptEvalUtil.java:99)
	... 63 more
12-avr.-2016 9:34:53 org.eclipse.birt.report.engine.script.internal.ScriptExecutor addException
ATTENTION: Data Set script method "Fetch" returned null; expected a Boolean value.
org.eclipse.birt.report.engine.api.EngineException: Data Set script method "Fetch" returned null; expected a Boolean value.
	at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.addException(ScriptExecutor.java:249)
	at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.addException(ScriptExecutor.java:238)
	at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleFetch(ScriptDataSetScriptExecutor.java:165)
	at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.fetch(ScriptDataSetRuntime.java:103)
	at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.fetch(PreparedScriptDSQuery.java:260)
	at org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch(OdiAdapter.java:226)
	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.fetch(RowResultSet.java:145)
	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.doNext(RowResultSet.java:118)
	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:96)
	at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:63)
	at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:318)
	at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.initInstance(SmartCacheHelper.java:285)
	at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:246)
	at org.eclipse.birt.data.engine.executor.cache.SmartCache.<init>(SmartCache.java:74)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassUtil.populateOdiResultSet(PassUtil.java:110)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassUtil.pass(PassUtil.java:62)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.populateResultSetCacheInResultSetPopulator(PassManager.java:276)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.populateDataSet(PassManager.java:238)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.prepareDataSetResultSet(PassManager.java:98)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.pass(PassManager.java:134)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.populateResultSet(PassManager.java:74)
	at org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator.populateResultSet(ResultSetPopulator.java:218)
	at org.eclipse.birt.data.engine.executor.transform.CachedResultSet.<init>(CachedResultSet.java:199)
	at org.eclipse.birt.data.engine.executor.CandidateQuery.execute(CandidateQuery.java:142)
	at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java:226)
	at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1222)
	at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:233)
	at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:178)
	at org.eclipse.birt.report.engine.data.dte.QueryResultSet.<init>(QueryResultSet.java:98)
	at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:168)
	at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:275)
	at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1947)
	at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
	at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)
	at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
	at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
	at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
	at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
	at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:181)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.createReport(ReportLauncher.java:620)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.renderReport(ReportLauncher.java:566)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.run(ReportLauncher.java:480)
	at org.eclipse.birt.report.debug.internal.core.launcher.ReportLauncher.main(ReportLauncher.java:124)
	at org.eclipse.birt.report.debug.internal.core.ReportDebugger.start(ReportDebugger.java:39)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
Caused by: org.eclipse.birt.data.engine.core.DataException: Data Set script method "Fetch" returned null; expected a Boolean value.
	at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleFetch(ScriptDataSetScriptExecutor.java:153)
	... 57 more
12-avr.-2016 9:34:53 org.eclipse.birt.report.debug.internal.core.vm.ReportVMServer$1 run
ATTENTION: [Server] client disconnected
Picked up _JAVA_OPTIONS: -Xmx512M

Previous Topic:I am new to BIRT report ETL Process
Next Topic:Eclipse MARS will not preview report
Goto Forum:
  


Current Time: Sat Apr 20 14:32:20 GMT 2024

Powered by FUDForum. Page generated in 0.03178 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top