InvalidReferenceException with big data

Erwin Mueller <[email protected]>
Newsgroups gmane.comp.web.freemarker.user
Message-ID <[email protected]>
Hi,
I have a small project of my own where I use the freemarker template library 
to generate Latex code which I use to generate Pdf files. I use this small 
template for a table (attachment I)

All works good, if I have a small amount of data, but with some big data I get 
the exception (attachment II)

I tested it with ca. 3000 entries, then I get the exception. Is there a way in 
freenode to have streams or other mechanism to use the templates with big 
amount of data?

Right now I'm using a HashMap for the root node that contains a ArrayList that 
is used for the rows and columns.
-- 
Erwin Mueller, [email protected]
http://www.global-scaling-institute.de/

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo

_______________________________________________
FreeMarker-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freemarker-user
atachmentI.template.txt (text/plain, 359 B)
\begin{longtable}
<#compress>
{lllllll}
<#list columns as c>
    ${c}
    <#if c_has_next>&</#if><#if ! c_has_next>\\</#if>
</#list>
</#compress>
<#compress>
\toprule
\endhead
<#list rows as row>
    <#list row as column>
        ${column}
        <#if column_has_next>&</#if><#if ! column_has_next>\\</#if>
    </#list>
</#list>
\end{longtable}
</#compress>
atachmentII.trace.txt (text/plain, 3.5 KB)
13/06/2010 10:13:59 PM freemarker.log.JDK14LoggerFactory$JDK14Logger error
SEVERE: Expression column is undefined on line 14, column 11 in longtable1.template.

Expression column is undefined on line 14, column 11 in longtable1.template.
The problematic instruction:
----------
==> ${column} [on line 14, column 9 in longtable1.template]
----------

Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: Expression column is undefined on line 14, column 11 in longtable1.template.
    at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
    at freemarker.core.Expression.getStringValue(Expression.java:118)
    at freemarker.core.Expression.getStringValue(Expression.java:93)
    at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
    at freemarker.core.Environment.visit(Environment.java:210)
    at freemarker.core.MixedContent.accept(MixedContent.java:92)
    at freemarker.core.Environment.visit(Environment.java:210)
    at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)
    at freemarker.core.Environment.visit(Environment.java:417)
    at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
    at freemarker.core.Environment.visit(Environment.java:210)
    at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)
    at freemarker.core.Environment.visit(Environment.java:417)
    at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
    at freemarker.core.Environment.visit(Environment.java:210)
    at freemarker.core.MixedContent.accept(MixedContent.java:92)
    at freemarker.core.Environment.visit(Environment.java:210)
    at freemarker.core.Environment.visit(Environment.java:299)
    at freemarker.core.CompressedBlock.accept(CompressedBlock.java:73)
    at freemarker.core.Environment.visit(Environment.java:210)
    at freemarker.core.MixedContent.accept(MixedContent.java:92)
    at freemarker.core.Environment.visit(Environment.java:210)
    at freemarker.core.Environment.process(Environment.java:190)
    at freemarker.template.Template.process(Template.java:237)
    at com.globalscalingsoftware.latexreport.latexcode.freemarker.internal.FreeMarkerTemplate.processTemplateWithException(FreeMarkerTemplate.java:29)
    at com.globalscalingsoftware.latexreport.latexcode.freemarker.internal.FreeMarkerTemplate.processTemplate(FreeMarkerTemplate.java:15)
    at com.globalscalingsoftware.latexreport.latexcode.freemarker.internal.FreeMarkerSnippetGenerator.generateSnippersCode(FreeMarkerSnippetGenerator.java:43)
    at com.globalscalingsoftware.latexreport.latexcode.freemarker.internal.FreeMarkerSnippetGenerator.generateCode(FreeMarkerSnippetGenerator.java:31)
    at com.globalscalingsoftware.latexreport.latexcode.freemarker.internal.FreeMarkerLayoutGenerator$1.append(FreeMarkerLayoutGenerator.java:46)
    at com.globalscalingsoftware.latexreport.latexcode.freemarker.internal.DocumentAppender$Environment.appendEnvironment(DocumentAppender.java:31)
    at com.globalscalingsoftware.latexreport.latexcode.freemarker.internal.DocumentAppender$Environment.append(DocumentAppender.java:22)
    at com.globalscalingsoftware.latexreport.latexcode.freemarker.internal.FreeMarkerLayoutGenerator.generateCode(FreeMarkerLayoutGenerator.java:52)
    at com.globalscalingsoftware.latexreport.latexcode.freemarker.internal.FreeMarkerReportGenerator.generateCode(FreeMarkerReportGenerator.java:24)
    at com.globalscalingsoftware.latexreport.clitool.ReportsManagerHandler$1.run(ReportsManagerHandler.java:60)
    at java.lang.Thread.run(Thread.java:636)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.