[Dart] Error in Dashboard.ftl tracks[trackname] is undefined
mordred at seznam.cz
mordred at seznam.cz
Thu Sep 14 09:27:31 EDT 2006
Hello
I started Dart server according to manual without any changes in files and when I try to look to dashboard I get this error
Error on line 56, column 1 in Dashboard.ftl tracks[trackname] is undefined. It cannot be assigned to track The problematic instruction: ---------- ==> assignment: track=tracks[trackname] [on line 56, column 1 in Dashboard.ftl] ---------- Java backtrace for programmers: ---------- freemarker.core.InvalidReferenceException: Error on line 56, column 1 in Dashboard.ftl tracks[trackname] is undefined. It cannot be assigned to track at freemarker.core.Assignment.accept(Assignment.java:112) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:172) at freemarker.core.Environment.visit(Environment.java:351) at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.Environment.process(Environment.java:176) at freemarker.template.Template.process(Template.java:231) at dart.server.servlet.Dashboard.doGet(Dashboard.java:312) at javax.servlet.http.HttpServlet.service(HttpServlet.java:596) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) at org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:666) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) at org.mortbay.http.HttpContext.handle(HttpContext.java:1530) at org.mortbay.http.HttpContext.handle(HttpContext.java:1482) at org.mortbay.http.HttpServer.service(HttpServer.java:909) at org.mortbay.http.HttpConnection.service(HttpConnection.java:816) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Dashboard.ftl is attached.
Can somebody give advice what to do with it?
Thanks
MZ
-------------- next part --------------
<#include "Macros.ftl"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<meta name="robots" content="noindex,nofollow">
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>Dashboard - ${date?datetime?html}</title>
<link rel="stylesheet" href="/${projectName}/Resources/Style.css" type="text/css">
<link rel="shortcut icon" href="/${projectName}/Resources/Icons/favicon.ico" type="image/x-icon" />
<link rel="alternate" type="application/rss+xml" title="Dart(${projectName?url} Submission RSS Feed" href="SubmissionRSS.xml">
<!--[if IE]>
<script language="javascript" src="/${projectName}/Resources/cssMenuHelper.js" type="text/javascript"></script>
<![endif]-->
</head>
<body>
<@displayLogin />
<table class="pagetitle">
<tr>
<td align="center" valign="middle" height="100%">
<#if parameters.trackid?exists>
<a href="/${projectName}/Dashboard/?trackid=${parameters.trackid[0]?url}">
<#else>
<a href="/${projectName}/Dashboard/">
</#if>
<img alt="Logo/Homepage link" src="/${projectName}/Resources/Icons/Logo.png"></a>
</td>
<td align="left" width="100%" class="title">
<h2>${projectName?html} Dashboard</h2>
<h3>${date?datetime?string("long")?html}</h3>
<@displayMenu />
<div align="right"><a href="SubmissionRSS.xml"><img class="icon" src="/${projectName?url}/Resources/Icons/feed-icon16x16.png"></a></div>
</td>
</tr>
</table>
<br>
<div class="content">
<#-- Determine the trackid for this dashboard -->
<#if parameters.trackid?exists>
<#assign currentTrackId = parameters.trackid[0]/>
<#else>
<#assign currentTrackId = tracks[defaulttrack].trackId/>
</#if>
<!-- For each track, display a table with the submissions in that track -->
<#list trackorder as trackname>
<#assign track=tracks[trackname]>
<!-- determine the sorting key -->
<#assign sortByKey=trackmanager.tracks[trackname].defaultSortBy/>
<#assign order=trackmanager.tracks[trackname].defaultOrder/>
<#if order == "ascending">
<#assign reverseOrder="descending"/>
<#assign orderIcon="/${projectName}/Resources/Icons/UpBlack.gif"/>
<#assign orderArrow="↑">
<#else>
<#assign reverseOrder="ascending"/>
<#assign orderIcon="/${projectName}/Resources/Icons/DownBlack.gif"/>
<#assign orderArrow="↓">
</#if>
<#if parameters.sortBy?exists && parameters.sortBy[0] == "site">
<#assign sortByKey="site"/>
<#elseif parameters.sortBy?exists && parameters.sortBy[0] == "name">
<#assign sortByKey="buildName"/>
<#elseif parameters.sortBy?exists && parameters.sortBy[0] == "update">
<#assign sortByKey="updateCount"/>
<#elseif parameters.sortBy?exists && parameters.sortBy[0] == "error">
<#assign sortByKey="errorCount"/>
<#elseif parameters.sortBy?exists && parameters.sortBy[0] == "warning">
<#assign sortByKey="warningCount"/>
<#elseif parameters.sortBy?exists && parameters.sortBy[0] == "elapsedbuildtime">
<#assign sortByKey="elapsedBuildTime"/>
<#elseif parameters.sortBy?exists && parameters.sortBy[0] == "passed">
<#assign sortByKey="passedCount"/>
<#elseif parameters.sortBy?exists && parameters.sortBy[0] == "failed">
<#assign sortByKey="failedCount"/>
<#elseif parameters.sortBy?exists && parameters.sortBy[0] == "notrun">
<#assign sortByKey="notRunCount"/>
<#elseif parameters.sortBy?exists && parameters.sortBy[0] == "elapsedtesttime">
<#assign sortByKey="elapsedTestTime"/>
<#elseif parameters.sortBy?exists && parameters.sortBy[0] == "timestamp">
<#assign sortByKey="timeStamp"/>
</#if>
<#if parameters.order?exists && parameters.order[0] == "ascending">
<#assign order="ascending"/>
<#assign reverseOrder="descending"/>
<#assign orderIcon="/${projectName}/Resources/Icons/UpBlack.gif"/>
<#assign orderArrow="↑">
<#elseif parameters.order?exists && parameters.order[0] == "descending">
<#assign order="descending"/>
<#assign reverseOrder="ascending"/>
<#assign orderIcon="/${projectName}/Resources/Icons/DownBlack.gif"/>
<#assign orderArrow="↓">
</#if>
<#if !parameters.showtrack?exists || (parameters.showtrack?exists && parameters.showtrack?seq_contains(track.name) )>
<#assign submissions = track.getSubmissionList()>
<div class="dashboardsection">
<table class="dart" id="${trackname?url}" width="100%">
<!-- Table heading for track -->
<tr class="table-heading">
<td colspan="12" valign="middle">
<@displayTrackNav/>
<h3>
<#if track.getLastTrackId()?exists>
<a href="Dashboard?trackid=${track.getLastTrackId()}" class="arrows">${leftArrow}</a>
</#if>
${track.getName()} - ${track.getStartTime()?datetime?html} to ${track.getEndTime()?datetime?html}
<#if track.nextTrackId?exists>
<a href="Dashboard?trackid=${track.nextTrackId}" class="arrows">${rightArrow}</a>
</#if>
</h3>
</td>
</tr>
<!-- Columns to display for the track -->
<tr class="table-columns">
<#if sortByKey=="site">
<th class="sort-key" align="center" rowspan="2"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=site&order=${reverseOrder}#${trackname?url}">Site</a> ${orderArrow}</th>
<#else>
<th align="center" rowspan="2"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=site&order=ascending#${trackname?url}">Site</a></th>
</#if>
<#if sortByKey=="buildName">
<th class="sort-key" align="center" rowspan="2"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=name&order=${reverseOrder}#${trackname?url}">Build Name</a> ${orderArrow}</th>
<#else>
<th align="center" rowspan="2"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=name&order=ascending#${trackname?url}">Build Name</a></th>
</#if>
<#if sortByKey=="updateCount">
<th class="sort-key" align="center" rowspan="2"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=update&order=${reverseOrder}#${trackname?url}">Update</a> ${orderArrow}</th>
<#else>
<th align="center" rowspan="2"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=update&order=ascending}#${trackname?url}">Update</a></th>
</#if>
<th align="center" colspan="3">Build</th>
<th align="center" colspan="4">Test</th>
<#if sortByKey=="timeStamp">
<th align="center" class="sort-key" rowspan="2"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=timestamp&order=${reverseOrder}#${trackname?url}">TimeStamp</a> ${orderArrow}</th>
<#else>
<th align="center" rowspan="2"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=timestamp&order=ascending#${trackname?url}">TimeStamp</a></th>
</#if>
</tr>
<tr class="table-columns">
<#if sortByKey=="errorCount">
<th class="sort-key" align="center"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=error&order=${reverseOrder}#${trackname?url}">Error</a> ${orderArrow}</th>
<#else>
<th align="center"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=error&order=descending#${trackname?url}">Error</a></th>
</#if>
<#if sortByKey=="warningCount">
<th class="sort-key" align="center"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=warning&order=${reverseOrder}#${trackname?url}">Warning</a> ${orderArrow}</th>
<#else>
<th align="center"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=warning&order=descending#${trackname?url}">Warning</a></th>
</#if>
<#if sortByKey=="elapsedBuildTime">
<th class="sort-key" align="center"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=elapsedbuildtime&order=${reverseOrder}#${trackname?url}">Time</a> ${orderArrow}</th>
<#else>
<th align="center"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=elapsedbuildtime&order=descending#${trackname?url}">Time</a></th>
</#if>
<#if sortByKey=="notRunCount">
<th class="sort-key" align="center"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=notrun&order=${reverseOrder}#${trackname?url}">NotRun</a> ${orderArrow}</th>
<#else>
<th align="center"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=notrun&order=descending#${trackname?url}">NotRun</a></th>
</#if>
<#if sortByKey=="failedCount">
<th class="sort-key" align="center"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=failed&order=${reverseOrder}#${trackname?url}">Failed</a> ${orderArrow}</th>
<#else>
<th align="center"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=failed&order=descending#${trackname?url}">Failed</a></th>
</#if>
<#if sortByKey=="passedCount">
<th class="sort-key" align="center"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=passed&order=${reverseOrder}#${trackname?url}">Passed</a> ${orderArrow}</th>
<#else>
<th align="center"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=passed&order=descending#${trackname?url}">Passed</a></th>
</#if>
<#if sortByKey=="elapsedTestTime">
<th class="sort-key" align="center"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=elapsedtesttime&order=${reverseOrder}#${trackname?url}">Time</a> ${orderArrow}</th>
<#else>
<th align="center"><a href="Dashboard?trackid=${track.trackId?url}&sortBy=elapsedtesttime&order=descending#${trackname?url}">Time</a></th>
</#if>
</tr>
<#assign row = 1/>
<#if (submissions.size() > 0)>
<#if order="ascending">
<#assign sortedSubmissions=submissions.toList()?sort_by(sortByKey)/>
<#else>
<#assign sortedSubmissions=submissions.toList()?sort_by(sortByKey)?reverse/>
</#if>
<#else>
<#assign sortedSubmissions=submissions.toList()>
</#if>
<#list sortedSubmissions as submission>
<#if row % 2 == 1>
<tr class="tr-odd">
<#else>
<tr class="tr-even">
</#if>
<#assign row = row + 1/>
<#assign submissionid = submission.submissionId/>
<td><a href="Submission?submissionid=${submissionid}">${submission.site?replace(".", ".­")}</a></td>
<td>
<#if submission.generator?has_content>
<a class="justicon" href="javascript:alert("Generator: ${submission.generator?html}");"><img src="/${projectName}/Resources/Icons/Generator.png"></a>
</#if>
<#if (submission.noteCount > 0)>
<a class="justicon" href="Note?submissionid=${submissionid}"><img src="/${projectName}/Resources/Icons/Document.gif"></a>
</#if>
<a href="Submission?submissionid=${submissionid}">${submission.buildName?replace(".", ".­")}</a>
</td>
<#assign updatecount=submission.updateCount/>
<td align="center"><#if (updatecount >= 0)><b><a href="Update?submissionid=${submissionid}">${updatecount?html}</a></b></#if></td>
<#assign errorcount=submission.errorCount/>
<#if (errorcount > 0)>
<td align="center" class="error"><b><a href="Build?submissionid=${submissionid}">${errorcount?html}</a></b></td>
<#elseif (errorcount == 0)>
<td align="center" class="normal"><b><a href="Build?submissionid=${submissionid}">${errorcount?html}</a></b></td>
<#else>
<td></td>
</#if>
<#assign warningcount=submission.warningCount/>
<#if (warningcount > 0)>
<td align="center" class="warning"><b><a href="Build?submissionid=${submissionid}">${warningcount?html}</a></b></td>
<#elseif (warningcount == 0)>
<td align="center" class="normal"><b><a href="Build?submissionid=${submissionid}">${warningcount?html}</a></b></td>
<#else>
<td></td>
</#if>
<#assign elapsedbuildtime=submission.elapsedBuildTime/>
<td align="right"><#if (elapsedbuildtime >= 0)>${elapsedbuildtime?string("#0.0")}</#if></td>
<#assign notruncount=submission.notRunCount/>
<#if (notruncount > 0)>
<td align="center" class="error"><b><a href="TestCatalog?submissionid=${submissionid}">${notruncount?html}</a></b></td>
<#elseif (notruncount == 0)>
<td align="center" class="normal"><b><a href="TestCatalog?submissionid=${submissionid}">${notruncount?html}</a></b></td>
<#else>
<td></td>
</#if>
<#assign failedcount=submission.failedCount/>
<#if (failedcount > 0)>
<td align="center" class="warning"><b><a href="TestCatalog?submissionid=${submissionid}">${failedcount?html}</a></b></td>
<#elseif (failedcount == 0)>
<td align="center" class="normal"><b><a href="TestCatalog?submissionid=${submissionid}">${failedcount?html}</a></b></td>
<#else>
<td></td>
</#if>
<#assign passedcount=submission.passedCount/>
<#if (notruncount + failedcount > 0)>
<td align="center" class="warning"><b><a href="TestCatalog?submissionid=${submissionid}">${passedcount?html}</a></b></td>
<#elseif (notruncount + failedcount == 0)>
<td align="center" class="normal"><b><a href="TestCatalog?submissionid=${submissionid}">${passedcount?html}</a></b></td>
<#else>
<td></td>
</#if>
<#assign elapsedtesttime=submission.elapsedTestTime/>
<td align="right"><#if (elapsedtesttime >= 0)>${elapsedtesttime?string("#0.0")}</#if></td>
<td>${submission.getTimeStamp()?html}</td>
</tr>
</#list>
</table>
<br>
</div>
</#if>
</#list>
<#-- check to determine if we have Coverage, Style, or DynamicAnalysis -->
<#assign hasCoverage=false>
<#assign hasStyle=false>
<#assign hasDynamicAnalysis=false>
<#list tracks?values as track>
<#assign submissions = track.getSubmissionList()>
<#list submissions.toList() as submission>
<#assign submissionid = submission.submissionId/>
<#if !hasCoverage && submission.selectTest( ".Coverage" )?exists>
<#assign hasCoverage=true>
</#if>
<#if !hasStyle && submission.selectTest( ".Style" )?exists>
<#assign hasStyle=true>
</#if>
<#if !hasDynamicAnalysis && submission.selectTest( ".DynamicAnalysis" )?exists>
<#assign hasDynamicAnalysis=true>
</#if>
</#list>
</#list>
<!-- Make a track for coverage -->
<#if !parameters.showtrack?exists || (parameters.showtrack?exists && parameters.showtrack?seq_contains("Coverage") )>
<#-- Check to see if any coverage submissions are available, if not skip this section -->
<#if hasCoverage>
<div class="dashboardsection">
<table class="dart" id="Coverage" width="100%">
<!-- Table heading for track -->
<tr class="table-heading">
<td colspan="8" valign="middle">
<@displayTrackNav/>
<h3>Coverage</h3>
</td>
</tr>
<tr class="table-columns">
<th>Site</th>
<th>Build Name</th>
<th>Percentage</th>
<th>Lines covered</th>
<th>Lines not covered</th>
<th>Files covered</th>
<th>Files not covered</th>
<th>TimeStamp</th>
</tr>
<#assign row = 1/>
<#list tracks?values as track>
<#assign submissions = track.getSubmissionList()>
<#list submissions.toList() as submission>
<#assign submissionid = submission.submissionId/>
<#if submission.selectTest( ".Coverage" )?exists>
<#assign test = submission.selectTest( ".Coverage" )/>
<#if row % 2 == 1>
<tr class="tr-odd">
<#else>
<tr class="tr-even">
</#if>
<#assign row = row + 1/>
<#assign statusStyle = "pass">
<#if test.getResultValue ( "PercentCoverage", "" ) != "" && test.PercentCoverage?string?has_content>
<#assign percent = test.PercentCoverage?number>
<#if percent < 0.70>
<#assign statusStyle = "fail">
</#if>
</#if>
<td><a href="Submission?submissionid=${submissionid}">${submission.site?replace(".", ".­")}</a></td>
<td><a href="Submission?submissionid=${submissionid}">${submission.buildName?replace(".", ".­")}</a></td>
<td align="center" class="${statusStyle}">
<#if test.getResultValue ( "PercentCoverage", "" ) != "" && test.PercentCoverage?string?has_content><b>
<a
href="CoverageCatalog?submissionid=${submissionid}">${test.PercentCoverage?string("#0.00")}</a></b>
</#if></td>
<td align="center"><#if test.getResultValue ( "LOCTested", "" ) != ""><b><a href="CoverageCatalog?submissionid=${submissionid}">${test.LOCTested}</a></b></#if></td>
<td align="center"><#if test.getResultValue ( "LOCUnTested", "" ) != ""><b><a href="CoverageCatalog?submissionid=${submissionid}">${test.LOCUnTested}</a></b></#if></td>
<td align="center"><#if test.passedSubTests?string?has_content><b><a href="CoverageCatalog?submissionid=${submissionid}">${test.passedSubTests}</a></b></#if></td>
<td align="center"><#if test.failedSubTests?string?has_content><b><a href="CoverageCatalog?submissionid=${submissionid}">${test.failedSubTests}</a></b></#if></td>
<td>${submission.getTimeStamp()?html}</td>
</tr>
</#if>
</#list>
</#list>
</table>
<br>
</div>
</#if>
</#if>
<!-- Make a track for style -->
<#if !parameters.showtrack?exists || (parameters.showtrack?exists && parameters.showtrack?seq_contains("Style") )>
<#if hasStyle>
<div class="dashboardsection">
<table class="dart" id="Style" width="100%">
<!-- Table heading for track -->
<tr class="table-heading">
<td colspan="8" valign="middle">
<@displayTrackNav/>
<h3>Style</h3>
</td>
</tr>
<tr class="table-columns">
<th>Site</th>
<th>Build Name</th>
<th>Files checked</th>
<th>Violations</th>
<th>TimeStamp</th>
</tr>
<#assign row = 1/>
<#list tracks?values as track>
<#assign submissions = track.getSubmissionList()>
<#list submissions.toList() as submission>
<#assign submissionid = submission.submissionId/>
<#if submission.selectTest( ".Style" )?exists>
<#assign test = submission.selectTest( ".Style" )/>
<#if row % 2 == 1>
<tr class="tr-odd">
<#else>
<tr class="tr-even">
</#if>
<#assign row = row + 1/>
<#assign statusStyle = "pass">
<td><a href="Submission?submissionid=${submissionid}">${submission.site?replace(".", ".­")}</a></td>
<td><a href="Submission?submissionid=${submissionid}">${submission.buildName?replace(".", ".­")}</a></td>
<td align="center" class="${statusStyle}">
<#if test.getResultValue ( "FilesChecked", "" ) != "" && test.FilesChecked?string?has_content>
<a href="/${projectName}/Zip/${test.getResultValue( "Log", "" )?replace('\\','/')}"/>${test.FilesChecked}</a></b>
</#if>
</td>
<#if test.Violations?number != 0>
<#assign statusStyle = "fail"/>
</#if>
<td align="center" class="${statusStyle}">
<#if test.getResultValue ( "Violations", "" ) != "" && test.Violations?string?has_content>
<a href="/${projectName}/Zip/${test.getResultValue( "Log", "" )?replace('\\','/')}"/>${test.Violations}</a></b>
</#if>
</td>
<td>${submission.getTimeStamp()?html}</td>
</tr>
</#if>
</#list>
</#list>
</table>
<br>
</div>
</#if>
</#if>
<!-- Make a track for dynamic analysis -->
<#if !parameters.showtrack?exists || (parameters.showtrack?exists && parameters.showtrack?seq_contains("DynamicAnalysis") )>
<#-- Check to see if any dynamic analysis submissions are available, if not skip this section -->
<#if hasDynamicAnalysis>
<div class="dashboardsection">
<table class="dart" id="DynamicAnalysis" width="100%">
<!-- Table heading for track -->
<tr class="table-heading">
<td colspan="5" valign="middle">
<@displayTrackNav/>
<h3>Dynamic Analysis</h3>
</td>
</tr>
<tr class="table-columns">
<th>Site</th>
<th>Build Name</th>
<th>Checker</th>
<th>Defects</th>
<th>TimeStamp</th>
</tr>
<#assign row = 1/>
<#list tracks?values as track>
<#assign submissions = track.getSubmissionList()>
<#list submissions.toList() as submission>
<#assign submissionid = submission.submissionId/>
<#if submission.selectTest( ".DynamicAnalysis" )?exists>
<#assign test = submission.selectTest( ".DynamicAnalysis" )/>
<#if row % 2 == 1>
<tr class="tr-odd">
<#else>
<tr class="tr-even">
</#if>
<#assign row = row + 1/>
<#assign statusStyle = "pass">
<td><a href="Submission?submissionid=${submissionid}">${submission.site?replace(".", ".­")}</a></td>
<td><a href="Submission?submissionid=${submissionid}">${submission.buildName?replace(".", ".­")}</a></td>
<!-- Checker -->
<#assign checkertest = submission.selectTestList( ".DynamicAnalysis._Properties" )/>
<#if (checkertest.size() > 0)>
<#assign checkerresult = checkertest.get(0).getResultValue("Checker", "unknown")/>
<td>${checkerresult?html}</td>
<#else>
<td></td>
</#if>
<!-- Rollup of defects -->
<#assign numberOfDefects = 0>
<#assign results = test.getResultList().toList()>
<#list results as result>
<#if result.getType()?contains("numeric/")>
<#assign numberOfDefects = numberOfDefects + result.getValue()?number>
</#if>
</#list>
<#if (numberOfDefects > 0)>
<#assign statusStyle = "fail">
</#if>
<td align="center" class=${statusStyle}><b><a href="DynamicAnalysisCatalog?submissionid=${submissionid}">${numberOfDefects}</a></b></td>
<td align="center">${submission.getTimeStamp()?html}</td>
</tr>
</#if>
</#list>
</#list>
</table>
<br>
</div>
</#if>
</#if>
</div>
</body>
</html>
More information about the Dart
mailing list