FreeMarker template error (DEBUG mode; use RETHROW in production!):
The following has evaluated to null or missing:
==> JSONHelper.fetchHashMapFromFile(templateData.serviceData[productSeoName]) [in template "html_template.txt" at line 3, column 24]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign serviceData = JSONHelper.fetc... [in template "html_template.txt" at line 3, column 1]
----
Java stack trace (for programmers):
----
freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
at freemarker.core.Assignment.accept(Assignment.java:139)
at freemarker.core.Environment.visit(Environment.java:334)
at freemarker.core.Environment.visit(Environment.java:340)
at freemarker.core.Environment.process(Environment.java:313)
at freemarker.template.Template.process(Template.java:383)
at com.tcs.ion.seo.service.SEOService.saveHtmlFile(SEOService.java:997)
at com.tcs.ion.seo.service.SEOService.generateHtmlForUrl(SEOService.java:242)
at com.tcs.ion.seo.service.SEOService$$EnhancerByCGLIB$$b10bd6fe.CGLIB$generateHtmlForUrl$5()
at com.tcs.ion.seo.service.SEOService$$EnhancerByCGLIB$$b10bd6fe$$FastClassByCGLIB$$e6dd5439.invoke()
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at com.tcs.ion.ngb.service.ServiceMethodInterceptor.intercept(ServiceMethodInterceptor.java:82)
at com.tcs.ion.seo.service.SEOService$$EnhancerByCGLIB$$b10bd6fe.generateHtmlForUrl()
at com.tcs.ion.seo.batchjob.SEOServiceBatchJob.generateHtmlForUrl(SEOServiceBatchJob.java:138)
at sun.reflect.GeneratedMethodAccessor342.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.tcs.ion.ngb.scheduler.BaseIONBatchJob.executeScheduler(BaseIONBatchJob.java:103)
at com.tcs.ion.bizSchedular.Services.SubmitJob.run(SubmitJob.java:90)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)