Getting started with IFC import
Failed to execute the [velocity] macro. Cause: [null]. Click on this message for details.
org.xwiki.rendering.macro.MacroExecutionException: Failed to evaluate Velocity Macro for content [#set ($urlParams = $request.getParameterMap())
#set ($thisDocRef = $doc.documentReference)
#set ($pathprefix = "IDA_ICE.ICE_Gettingstarted.IFC_GS.")
#set ($pathsuffix = ".WebHome")
#set ($IsDeveloper = $xwiki.getUser($xcontext.user).isUserInGroup('XWiki.Developer'))
## Fetch sorted pagelist from ICE_GettingStarted object
#set ($targetDoc = $xwiki.getDocument("IDA_ICE.ICE_Gettingstarted.IFC_GS.WebHome"))
#set ($obj = $targetDoc.getObject("AppWithinMinutes.TextArea"))
#set ($textValue = $obj.getProperty("longText").value)
#set ($pagelist = $textValue.split(","))
#foreach ($key in $urlParams.keySet())
#if ($key == "run")
#if ($urlParams.get($key)[0] == "yes")
#set ($doRun = true)
#end
#end
#if ($key == "number")
#set ($pageIndex = $numbertool.toNumber($urlParams.get($key)[0]).intValue())
#set ($pagename = $pagelist[$pageIndex])
#end
#end
#if (!$doRun)
#if ($IsDeveloper)
{{showhide showmessage="Show guide content" hidemessage="Hide guide content" effect="slide" effectduration="0.5"}}
#foreach ($page in $pagelist)
#set ($index = $foreach.index)
#set ($isChild = $page.contains("."))
#set ($pagepath = $pathprefix + $page + $pathsuffix)
#set ($doc = $xwiki.getDocument($pagepath))
#set ($pagetitle = $doc.getTitle())
#if (!$isChild)
* [[${pagetitle}>>${pagepath}]]
#else
** [[${pagetitle}>>${pagepath}]]
#end
#end
{{/showhide}}
#end
= About this Getting started guide =
This guide explains how IFC models are brought into IDA ICE, how the imported content is interpreted within the IFC environment, and how that content is later used when preparing the building model for simulation. The intention is not only to describe the import process itself, but also to clarify how information flows from the BIM model into a simulation-ready structure, and what decisions influence that transformation.
Before starting, it is recommended to ensure that the IFC file meets the basic requirements for a successful import. This includes aspects such as building structure, element relationships, geometry definition, and acceptable levels of complexity. These aspects are summarized in the [[IFC Import Checklist for IDA ICE>>doc:IDA_ICE.ICE_Gettingstarted.IFC_GS.WebHome||queryString="run=yes&number=7"]], which can be used as a reference to verify whether a model is suitable for simulation purposes.
Although there are many ways to import BIM data into IDA ICE depending on the project context, the role of the user, and the available information, a structured workflow helps maintain consistency and avoid common issues. The [[recommended workflow>>doc:IDA_ICE.ICE_Gettingstarted.IFC_GS.WebHome||queryString="run=yes&number=8"]] follows these steps:
1. Determine what information that is available in the BIM model and what information that is relevant and can be used by IDA ICE.
1. If needed, add or edit missing or faulty defined information in the BIM-model.
1. Export required information from the BIM model to IFC with correct properties.
1. Validate the exported IFC-file.
1. If needed, edit and fix errors in the IFC-file using separate tools.
1. Import relevant parts of the IFC-file into IDA ICE using relevant settings depending on the content if the IFC file.
1. Map IFC-objects to corresponding IDA ICE objects.
1. If needed, shift the IFC model to the right position.
1. Convert imported IFC objects into IDA ICE objects. This can be done automatically, manually or in a combination.
In practice, IDA ICE users often have limited influence over the first part of this workflow, particularly when IFC files are produced for purposes such as coordination or clash detection. Steps 1 to 5 typically require external software and a responsible person with the appropriate expertise to prepare, validate, and correct the BIM and IFC data. For this reason, this guide focuses primarily on steps 6 to 9, which take place within IDA ICE, while still providing the necessary background to clearly communicate requirements and expectations for the earlier steps.
= Contents =
#foreach ($page in $pagelist)
#set ($index = $foreach.index)
#set ($isChild = $page.contains("."))
#set ($pagepath = $pathprefix + $page + $pathsuffix)
#set ($doc = $xwiki.getDocument($pagepath))
#set ($pagetitle = $doc.getTitle())
#if (!$isChild)
* [[${pagetitle}>>${thisDocRef}||queryString="run=yes&number=${index}"]]
#else
** [[${pagetitle}>>${thisDocRef}||queryString="run=yes&number=${index}"]]
#end
#end
=== Supported BIM Formats in IDA ICE ===
IDA ICE primarily supports BIM-based geometry exchange through the **Industry Foundation Classes (IFC)** format, which is the standard and recommended method for importing architectural building models.
Most CAD and BIM authoring tools can export IFC files, making IFC the most reliable option for transferring building geometry and spatial structure into the simulation environment.
IDA ICE supports the following IFC versions:
* **IFC 2x**
* **IFC 2x3**
* **IFC 4.001**
Earlier IFC versions such as **IFC 1.51** and **IFC 2.0** are not supported in recent IDA ICE releases.
(% class="box infomessage" %)
(((
Other BIM formats, such as **gbXML, dotbim, Speckle, and HBJson**, may also be used in a workflow, but typically require conversion into IFC or simplified 3D geometry using external tools before they can be imported into IDA ICE.
)))
=== Scope and Limitations ===
The IFC import workflow in IDA ICE is primarily designed to support:
* Transfer of building geometry (walls, windows, doors)
* Import of spaces and zone definitions
* Establishment of the initial building structure for simulation modeling
However, it is important to note that IFC import does not automatically provide a complete simulation-ready model. Additional steps are typically required after import, including:
* Assigning construction assemblies and material properties
* Defining HVAC systems and ventilation strategies
* Specifying internal loads, schedules, and operational assumptions
* Reviewing and correcting imported geometry where necessary
----
=== Useful links ===
[[building smart documentation>>https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/FINAL/HTML/]]
=== Resources ===
In the IDA ICE distribution folder, four IFC sample files are included.
* FamilyHouse_AC13
* Office building
* Single family house
* SmallOffice_d_IFC2x3
(% class="box infomessage" %)
(((
These can be found in the following path: //Program Files (x86) / YOUR_IDA_ICE / Samples / ICE / ifc//.
)))
#else
#set ($pagepath = $pathprefix + $pagename + $pathsuffix)
#set ($pageNext = $pageIndex + 1)
#if ($pageNext == $pagelist.size())
#set ($pageNext = 0)
#end
#set ($pagePrev = $pageIndex - 1)
#set ($prevpath = $pathprefix + $pagelist[$pagePrev] + $pathsuffix)
#set ($nextpath = $pathprefix + $pagelist[$pageNext] + $pathsuffix)
#set ($prevdoc = $xwiki.getDocument($prevpath))
#set ($prevtitle = $prevdoc.getTitle())
#set ($nextdoc = $xwiki.getDocument($nextpath))
#set ($nexttitle = $nextdoc.getTitle())
#set ($currentPage = $pagename)
#set ($children = [])
#foreach ($page in $pagelist)
#if ($page.startsWith("${currentPage}."))
#set ($discard = $children.add($page))
#end
#end
## Display a Jump to source link for developers
#if ($IsDeveloper)
(% style="text-align:right;color:maroon" %)
[[Jump to source>>$pagepath]]
#end
===== [[Previous ($prevtitle)>>${thisDocRef}||queryString="run=yes&number=${pagePrev}"]] | [[Start>>${thisDocRef}]] | [[Next ($nexttitle)>>${thisDocRef}||queryString="run=yes&number=${pageNext}"]] =====
{{display reference="$pagepath" /}}
## check if the current page has children, if so, create table of contents
#if ($children.size() > 0)
== Contents ==
#foreach ($child in $children)
#set ($childIndex = $pagelist.indexOf($child))
#set ($childPath = $pathprefix + $child + $pathsuffix)
#set ($childDoc = $xwiki.getDocument($childPath))
#set ($childTitle = $childDoc.getTitle())
* [[${childTitle}>>${thisDocRef}||queryString="run=yes&number=${childIndex}"]]
#end
\\
#end
===== [[Previous ($prevtitle)>>${thisDocRef}||queryString="run=yes&number=${pagePrev}"]] | [[Start>>${thisDocRef}]] | [[Next ($nexttitle)>>${thisDocRef}||queryString="run=yes&number=${pageNext}"]] =====
#end]
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:186)
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:60)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.evaluateBlock(AbstractScriptMacro.java:279)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:182)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:58)
at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:441)
at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183)
at org.xwiki.rendering.internal.transformation.DefaultTransformationManager.performTransformations(DefaultTransformationManager.java:88)
at org.xwiki.display.internal.DocumentContentAsyncExecutor.executeInCurrentExecutionContext(DocumentContentAsyncExecutor.java:397)
at org.xwiki.display.internal.DocumentContentAsyncExecutor.execute(DocumentContentAsyncExecutor.java:269)
at org.xwiki.display.internal.DocumentContentAsyncRenderer.execute(DocumentContentAsyncRenderer.java:112)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:157)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:295)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:272)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.execute(DefaultBlockAsyncRendererExecutor.java:125)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:93)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:46)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:96)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:39)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:123)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:52)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:68)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:42)
at com.xpn.xwiki.doc.XWikiDocument.display(XWikiDocument.java:1437)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1573)
at com.xpn.xwiki.doc.XWikiDocument.displayDocument(XWikiDocument.java:1523)
at com.xpn.xwiki.doc.XWikiDocument.displayDocument(XWikiDocument.java:1492)
at com.xpn.xwiki.api.Document.displayDocument(Document.java:822)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:221)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:704)
at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:75)
at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:242)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:190)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.xwiki.velocity.internal.directive.TryCatchDirective.render(TryCatchDirective.java:86)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:304)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.InternalVelocityEngine.evaluate(InternalVelocityEngine.java:233)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:107)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:219)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:174)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:135)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:289)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:289)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:272)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:869)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:831)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:818)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:773)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:765)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.renderNoException(DefaultTemplateManager.java:79)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.renderNoException(DefaultTemplateManager.java:73)
at org.xwiki.template.script.TemplateScriptService.render(TemplateScriptService.java:54)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:221)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:492)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:217)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:331)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:261)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:304)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.InternalVelocityEngine.evaluate(InternalVelocityEngine.java:233)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:107)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:219)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:174)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:135)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:289)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:289)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:272)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:869)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:831)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:818)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:773)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:765)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.renderNoException(DefaultTemplateManager.java:79)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.renderNoException(DefaultTemplateManager.java:73)
at org.xwiki.template.script.TemplateScriptService.render(TemplateScriptService.java:54)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:221)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:492)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:217)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:331)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:261)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:304)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:171)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:190)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.InternalVelocityEngine.evaluate(InternalVelocityEngine.java:233)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:107)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:219)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:174)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:135)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:289)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:289)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:272)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:869)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:831)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:811)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:797)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:91)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:85)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2579)
at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:180)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:651)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:339)
at com.xpn.xwiki.web.LegacyActionServlet.service(LegacyActionServlet.java:111)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:66)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:135)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:240)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.container.servlet.filters.internal.SafeRedirectFilter.doFilter(SafeRedirectFilter.java:106)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.container.servlet.filters.internal.ResolveRelativeRedirectFilter.doFilter(ResolveRelativeRedirectFilter.java:129)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.container.servlet.filters.internal.SourceURLResolverFilter.doFilter(SourceURLResolverFilter.java:177)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:120)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:782)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:733)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:1272)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1797)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with namespace [xwiki:IDA_ICE.ICE_Gettingstarted.IFC_GS.WebHome]
at org.xwiki.velocity.internal.InternalVelocityEngine.evaluate(InternalVelocityEngine.java:235)
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:168)
... 192 more
Caused by: org.apache.velocity.exception.VelocityException: Error invoking method 'get(java.lang.Integer)' in [Ljava.lang.String; at xwiki:IDA_ICE.ICE_Gettingstarted.IFC_GS.WebHome[line 139, column 42]
at org.apache.velocity.runtime.parser.node.ASTIndex.execute(ASTIndex.java:221)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:704)
at org.apache.velocity.runtime.parser.node.ASTMathNode.value(ASTMathNode.java:89)
at org.apache.velocity.runtime.parser.node.ASTMathNode.value(ASTMathNode.java:88)
at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:75)
at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:242)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:190)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.InternalVelocityEngine.evaluate(InternalVelocityEngine.java:233)
... 193 more
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTIndex.execute(ASTIndex.java:195)
... 206 more
Caused by: java.lang.ArrayIndexOutOfBoundsException
at java.base/java.lang.reflect.Array.get(Native Method)
at org.apache.velocity.util.ArrayListWrapper.get(ArrayListWrapper.java:44)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
... 210 more