You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi!
While generating a report, we load data through groovy script. And sometimes our template contains script with too big string length for Groovy (65535+ units).
We handled it with splitting string in several parts in com.haulmont.yarg.loaders.impl.GroovyDataLoader and then joining them in runtime, but is there a more beautiful way to solve this problem?
2022-08-01 05:35:29.761 INFO [main] com.haulmont.yarg.reporting.Reporting - Trace:
com.haulmont.yarg.exception.DataLoadingException: An error occurred while loading data for band [Main] and query [Main].
at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.getQueryData(DefaultExtractionController.java:214)
at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.getQueriesResult(DefaultExtractionController.java:151)
at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.getQueriesResult(DefaultExtractionController.java:144)
at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.extractData(DefaultExtractionController.java:76)
at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.extract(DefaultExtractionController.java:62)
at com.haulmont.yarg.reporting.DataExtractorImpl.createBands(DataExtractorImpl.java:99)
at com.haulmont.yarg.reporting.DataExtractorImpl.extractData(DataExtractorImpl.java:71)
at com.haulmont.yarg.reporting.Reporting.loadBandData(Reporting.java:144)
at com.haulmont.yarg.reporting.Reporting.runReport(Reporting.java:92)
at com.haulmont.yarg.console.ConsoleRunner.main(ConsoleRunner.java:74)
Caused by: com.haulmont.yarg.exception.DataLoadingException: An error occurred while loading data for data set [Main]
at com.haulmont.yarg.loaders.impl.GroovyDataLoader.loadData(GroovyDataLoader.java:52)
at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.lambda$getQueryData$1(DefaultExtractionController.java:206)
at com.haulmont.yarg.reporting.extraction.DefaultPreprocessorFactory.lambda$new$0(DefaultPreprocessorFactory.java:35)
at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.getQueryData(DefaultExtractionController.java:204)
... 9 common frames omitted
Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script1.groovy: 17: String too long. The given string is 66178 Unicode code units long, but only a maximum of 65535 is allowed.
@ line 17, column 16.
'allVariables':'{/* 65535+ long string here */}',
^
1 error
at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:584)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:623)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:594)
at com.haulmont.yarg.util.groovy.DefaultScriptingImpl.evaluateGroovy(DefaultScriptingImpl.java:29)
at com.haulmont.yarg.loaders.impl.GroovyDataLoader.loadData(GroovyDataLoader.java:50)
... 12 common frames omitted
com.haulmont.yarg.exception.DataLoadingException: An error occurred while loading data for band [Main] and query [Main]. Report name [report]
at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.getQueryData(DefaultExtractionController.java:214)
at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.getQueriesResult(DefaultExtractionController.java:151)
at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.getQueriesResult(DefaultExtractionController.java:144)
at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.extractData(DefaultExtractionController.java:76)
at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.extract(DefaultExtractionController.java:62)
at com.haulmont.yarg.reporting.DataExtractorImpl.createBands(DataExtractorImpl.java:99)
at com.haulmont.yarg.reporting.DataExtractorImpl.extractData(DataExtractorImpl.java:71)
at com.haulmont.yarg.reporting.Reporting.loadBandData(Reporting.java:144)
at com.haulmont.yarg.reporting.Reporting.runReport(Reporting.java:92)
at com.haulmont.yarg.console.ConsoleRunner.main(ConsoleRunner.java:74)
Caused by: com.haulmont.yarg.exception.DataLoadingException: An error occurred while loading data for data set [Main]
at com.haulmont.yarg.loaders.impl.GroovyDataLoader.loadData(GroovyDataLoader.java:52)
at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.lambda$getQueryData$1(DefaultExtractionController.java:206)
at com.haulmont.yarg.reporting.extraction.DefaultPreprocessorFactory.lambda$new$0(DefaultPreprocessorFactory.java:35)
at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.getQueryData(DefaultExtractionController.java:204)
... 9 more
Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
The text was updated successfully, but these errors were encountered:
Hi!
While generating a report, we load data through groovy script. And sometimes our template contains script with too big string length for Groovy (65535+ units).
We handled it with splitting string in several parts in com.haulmont.yarg.loaders.impl.GroovyDataLoader and then joining them in runtime, but is there a more beautiful way to solve this problem?
The text was updated successfully, but these errors were encountered: