<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Vincent.<div><br></div><div>we had a similar requirement. We need to render group containers that are not placed in the container page (to implement sidebar inheritance).</div><div><br><div>We ended up adding a new tag that extends the existing CmsJspTagContainer.</div><div><br></div><div>Since the render method of the CmsJspTagContainer is private we had to copy some code in our new tag.</div><div>It's an ugly solution and OpenCms-Updates become more difficult. But it works for us.</div><div><br></div><div><br></div><div>Regards </div><div>c</div><div><br></div><div><br></div><div>---------------------------------------------------------------------------------------------------------------------------</div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">package</span> f3.tags;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> java.io.IOException;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> java.util.Locale;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> javax.servlet.ServletRequest;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> javax.servlet.http.HttpServletRequest;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> javax.servlet.http.HttpServletResponse;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> javax.servlet.jsp.JspException;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.ade.configuration.CmsADEConfigData;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.file.CmsObject;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.file.CmsResource;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.flex.CmsFlexController;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.jsp.CmsJspTagContainer;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.jsp.CmsJspTagInclude;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.jsp.Messages;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.jsp.util.CmsJspStandardContextBean;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.loader.CmsLoaderException;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.main.CmsException;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.main.CmsIllegalStateException;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.main.OpenCms;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.util.CmsRequestUtil;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.util.CmsUUID;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.xml.CmsXmlException;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.xml.containerpage.CmsContainerElementBean;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.xml.containerpage.CmsFormatterBean;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.xml.containerpage.CmsFormatterConfiguration;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.xml.containerpage.CmsGroupContainerBean;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.xml.containerpage.CmsXmlGroupContainer;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">import</span> org.opencms.xml.containerpage.CmsXmlGroupContainerFactory;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); ">/**</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(144, 176, 201); "><span style="color: #5177c6"> * </span>@author<span style="color: #5177c6"> </span><span style="text-decoration: underline ; color: #5177c6">jd</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); "> * </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); "> * Overwriting doStartTag(). Our version reads the group container given and calls render().</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); "> * </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); "> * The render<span style="color: #9293ad">-</span>method is a copy of CmsJspTagContainer#renderContainerElement().</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); "> * </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); "> * We just copied the stuff that we need to render group containers. </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); "> * </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); "> *</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); "> */</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span style="color: #951565">public</span> <span style="color: #951565">class</span> <span style="text-decoration: underline">F3GroupContainerTag</span> <span style="color: #951565">extends</span> CmsJspTagContainer {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(22, 43, 196); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color: #951565">private</span><span style="color: #000000"> String </span>groupContainerPath<span style="color: #000000">;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(119, 119, 119); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span></span>@Override</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span><span style="color: #951565">public</span> <span style="color: #951565">int</span> doStartTag() <span style="color: #951565">throws</span> JspException {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> ServletRequest req = <span style="color: #162bc4">pageContext</span>.getRequest();</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> CmsFlexController controller = CmsFlexController.getController(req);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> CmsObject cms = controller.getCmsObject();</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"> <br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> CmsJspStandardContextBean context = CmsJspStandardContextBean.getInstance(req);</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"> <br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span style="color: #951565">try</span> {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>CmsResource groupContainerResource = cms.readResource(<span style="color: #162bc4">groupContainerPath</span>);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> Locale locale = cms.getRequestContext().getLocale();</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"> <br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>render(cms, context, groupContainerResource, locale);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>} <span style="color: #951565">catch</span> (Exception e) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>e.printStackTrace();</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>}</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"> <br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(149, 21, 101); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span></span>return<span style="color: #000000"> 0;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>}</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre"> </span><br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span><span style="color: #951565">public</span> <span style="color: #951565">void</span> render(CmsObject cms, CmsJspStandardContextBean standardContext,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span> <span style="color: #4a9075">/*CmsContainerElementBean element,*/</span> CmsResource groupContainerResource,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span> Locale locale) <span style="color: #951565">throws</span> CmsXmlException, CmsLoaderException, CmsException, IOException{</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre"> </span><br class="webkit-block-placeholder"></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre"> </span> <br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>String containerType = <span style="color: #4239f6">"right"</span>;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span><span style="color: #951565">int</span> containerWidth = 230;</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre"> </span> <br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>HttpServletRequest req = (HttpServletRequest) <span style="color: #162bc4">pageContext</span>.getRequest();</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>HttpServletResponse res = (HttpServletResponse) <span style="color: #162bc4">pageContext</span>.getResponse();</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre"> </span><br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span></span>// <span style="color: #90b0c9">TODO</span> determine if online</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span><span style="color: #951565">boolean</span> isOnline = <span style="color: #951565">false</span>; </div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre"> </span><br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>CmsUUID elementId = groupContainerResource.getStructureId();</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre"> </span><br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(66, 57, 246); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span>CmsResource formatter = cms.readResource(</span>"/system/modules/org.opencms.ade.containerpage/formatters/group-container.jsp"<span style="color: #000000">);</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>CmsUUID formatterId = formatter.getStructureId();</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre"> </span><br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>CmsContainerElementBean element = <span style="color: #951565">new</span> CmsContainerElementBean(elementId, formatterId, <span style="color: #951565">null</span>, <span style="color: #951565">false</span>);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>element.initResource(cms);</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre"> </span> <br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>CmsADEConfigData adeConfig = OpenCms.getADEManager().lookupConfiguration(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> cms,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> cms.getRequestContext().getRootUri());</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"> <br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> CmsXmlGroupContainer xmlGroupContainer = CmsXmlGroupContainerFactory.unmarshal(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> cms,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> element.getResource(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> req);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> CmsGroupContainerBean groupContainer = xmlGroupContainer.getGroupContainer(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> cms,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> cms.getRequestContext().getLocale());</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span style="color: #951565">if</span> (!groupContainer.getTypes().contains(containerType)) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); "><span style="color: #000000"> </span>//<span style="color: #90b0c9">TODO</span>: change message</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span style="color: #951565">throw</span> <span style="color: #951565">new</span> CmsIllegalStateException(Messages.get().container(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(22, 43, 196); "><span style="color: #000000"> Messages.</span>ERR_XSD_NO_TEMPLATE_FORMATTER_3<span style="color: #000000">,</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> element.getResource().getRootPath(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> OpenCms.getResourceManager().getResourceType(element.getResource()).getTypeName(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> containerType));</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); "><span style="color: #000000"> </span>// wrapping the elements with DIV containing initial element data. To be removed by the container-page editor</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"> <br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> printElementWrapperTagStart(isOnline, cms, element, <span style="color: #951565">true</span>);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span style="color: #951565">for</span> (CmsContainerElementBean subelement : groupContainer.getElements()) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span style="color: #951565">try</span> {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> subelement.initResource(cms);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); "><span style="color: #000000"> </span>// writing elements to the session cache to improve performance of the container-page editor</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// getSessionCache(<span style="text-decoration: underline">cms</span>).setCacheContainerElement(subelement.editorHash(), <span style="text-decoration: underline">subelement</span>);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> CmsFormatterConfiguration subelementFormatters = adeConfig.getFormatters(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> cms,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> subelement.getResource());</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> CmsFormatterBean subelementFormatter = subelementFormatters.getFormatter(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> containerType,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> containerWidth);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span style="color: #951565">if</span> (subelementFormatter == <span style="color: #951565">null</span>) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span class="Apple-tab-span" style="white-space:pre"> </span><span style="color: #4a9075">// </span><span style="color: #90b0c9">TODO</span><span style="color: #4a9075"> Log correctly</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span class="Apple-tab-span" style="white-space:pre"> </span>System.<span style="color: #162bc4">out</span>.println(<span style="color: #4239f6">"TODO Log correctly: No formatter for "</span>+subelement.getSitePath());</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// if (LOG.isErrorEnabled()) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// LOG.error(new CmsIllegalStateException(Messages.get().container(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// Messages.ERR_XSD_NO_TEMPLATE_FORMATTER_3,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// subelement.getSitePath(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// OpenCms.getResourceManager().getResourceType(subelement.getResource()).getTypeName(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// containerType)));</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); "><span style="color: #000000"> </span>// skip this element, it has no formatter for this container type defined</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span style="color: #951565">continue</span>;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); "><span style="color: #000000"> </span>// execute the formatter JSP for the given element URI</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); "><span style="color: #000000"> </span>// wrapping the elements with DIV containing initial element data. To be removed by the container-page editor</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> printElementWrapperTagStart(isOnline, cms, subelement, <span style="color: #951565">false</span>);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> standardContext.setElement(subelement);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span style="color: #951565">try</span> {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>CmsJspTagInclude.includeTagAction(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span style="color: #162bc4">pageContext</span>,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> subelementFormatter.getJspRootPath(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span style="color: #951565">null</span>,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> locale,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span style="color: #951565">false</span>,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> isOnline,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span style="color: #951565">null</span>,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> CmsRequestUtil.getAtrributeMap(req),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> req,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> res);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> } <span style="color: #951565">catch</span> (Exception e) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span class="Apple-tab-span" style="white-space:pre"> </span><span style="color: #4a9075">// </span><span style="color: #90b0c9">TODO</span><span style="color: #4a9075"> Log error</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span class="Apple-tab-span" style="white-space:pre"> </span>e.printStackTrace();</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// if (LOG.isErrorEnabled()) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// LOG.error(Messages.get().getBundle().key(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// Messages.ERR_CONTAINER_PAGE_ELEMENT_RENDER_ERROR_2,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// subelement.getSitePath(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// subelementFormatter), e);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// printElementErrorTag(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// isOnline,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// subelement.getSitePath(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// subelementFormatter.getJspRootPath(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// e);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> printElementWrapperTagEnd(isOnline, <span style="color: #951565">false</span>);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> } <span style="color: #951565">catch</span> (Exception e) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span class="Apple-tab-span" style="white-space:pre"> </span><span style="color: #4a9075">// </span><span style="color: #90b0c9">TODO</span><span style="color: #4a9075"> Log error</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> <span class="Apple-tab-span" style="white-space:pre"> </span>e.printStackTrace();</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// if (LOG.isErrorEnabled()) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// LOG.error(e);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">// }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> printElementWrapperTagEnd(isOnline, <span style="color: #951565">true</span>);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>}</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span><span style="color: #951565">public</span> String getGroupContainerPath() {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(22, 43, 196); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color: #951565">return</span><span style="color: #000000"> </span>groupContainerPath<span style="color: #000000">;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>}</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span><span style="color: #951565">public</span> <span style="color: #951565">void</span> setGroupContainerPath(String groupContainerPath) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span><span style="color: #951565">this</span>.<span style="color: #162bc4">groupContainerPath</span> = groupContainerPath;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre"> </span>}</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre"> </span><br class="webkit-block-placeholder"></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre"> </span><br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span></span>/**</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); "><span class="Apple-tab-span" style="white-space:pre"> </span> * original render method from OpenCms ContainerTag</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); "><span class="Apple-tab-span" style="white-space:pre"> </span> * When updating OpenCMS we can <span style="text-decoration: underline">diff</span> this method with </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); "><span class="Apple-tab-span" style="white-space:pre"> </span> * the one provided by the update, in order to see if we have to</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); "><span class="Apple-tab-span" style="white-space:pre"> </span> * adopt something new.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(81, 119, 198); "><span class="Apple-tab-span" style="white-space:pre"> </span> */</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> private void renderContainerElement(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> CmsObject <span style="text-decoration: underline">cms</span>,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> CmsJspStandardContextBean standardContext,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> CmsContainerElementBean element,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> <span style="text-decoration: underline">Locale</span> <span style="text-decoration: underline">locale</span>) throws CmsException, CmsXmlException, CmsLoaderException, IOException {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> ServletRequest <span style="text-decoration: underline">req</span> = pageContext.getRequest();</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> ServletResponse res = pageContext.getResponse();</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> String containerType = getType();</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> <span style="text-decoration: underline">int</span> containerWidth = getContainerWidth();</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> boolean isOnline = cms.getRequestContext().getCurrentProject().isOnlineProject();</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> element.initResource(<span style="text-decoration: underline">cms</span>);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> // writing elements to the session cache to improve performance of the container-page editor</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> getSessionCache(<span style="text-decoration: underline">cms</span>).setCacheContainerElement(element.editorHash(), element);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> CmsADEConfigData adeConfig = OpenCms.getADEManager().lookupConfiguration(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> <span style="text-decoration: underline">cms</span>,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> cms.getRequestContext().getRootUri());</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> if (element.isGroupContainer(<span style="text-decoration: underline">cms</span>)) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> CmsXmlGroupContainer xmlGroupContainer = CmsXmlGroupContainerFactory.unmarshal(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> <span style="text-decoration: underline">cms</span>,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> element.getResource(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> <span style="text-decoration: underline">req</span>);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> CmsGroupContainerBean groupContainer = xmlGroupContainer.getGroupContainer(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> <span style="text-decoration: underline">cms</span>,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> cms.getRequestContext().getLocale());</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> if (!groupContainer.getTypes().contains(containerType)) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> //<span style="color: #90b0c9">TODO</span>: change message</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> throw new CmsIllegalStateException(Messages.get().container(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> Messages.ERR_XSD_NO_TEMPLATE_FORMATTER_3,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> element.getResource().getRootPath(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> OpenCms.getResourceManager().getResourceType(element.getResource()).getTypeName(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> containerType));</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> // wrapping the elements with DIV containing initial element data. To be removed by the container-page editor</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> printElementWrapperTagStart(isOnline, <span style="text-decoration: underline">cms</span>, element, true);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> for (CmsContainerElementBean <span style="text-decoration: underline">subelement</span> : groupContainer.getElements()) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> try {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> subelement.initResource(<span style="text-decoration: underline">cms</span>);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> // writing elements to the session cache to improve performance of the container-page editor</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> getSessionCache(<span style="text-decoration: underline">cms</span>).setCacheContainerElement(subelement.editorHash(), <span style="text-decoration: underline">subelement</span>);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> CmsFormatterConfiguration subelementFormatters = adeConfig.getFormatters(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> <span style="text-decoration: underline">cms</span>,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> subelement.getResource());</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> CmsFormatterBean subelementFormatter = subelementFormatters.getFormatter(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> containerType,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> containerWidth);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> if (subelementFormatter == null) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> if (LOG.isErrorEnabled()) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> LOG.error(new CmsIllegalStateException(Messages.get().container(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> Messages.ERR_XSD_NO_TEMPLATE_FORMATTER_3,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> subelement.getSitePath(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> OpenCms.getResourceManager().getResourceType(subelement.getResource()).getTypeName(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> containerType)));</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> // skip this element, it has no formatter for this container type defined</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> continue;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> // execute the formatter JSP for the given element URI</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> // wrapping the elements with DIV containing initial element data. To be removed by the container-page editor</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> printElementWrapperTagStart(isOnline, <span style="text-decoration: underline">cms</span>, <span style="text-decoration: underline">subelement</span>, false);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> standardContext.setElement(<span style="text-decoration: underline">subelement</span>);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> try {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> CmsJspTagInclude.includeTagAction(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> pageContext,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> subelementFormatter.getJspRootPath(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> null,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> <span style="text-decoration: underline">locale</span>,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> false,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> isOnline,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> null,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> CmsRequestUtil.getAtrributeMap(<span style="text-decoration: underline">req</span>),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> <span style="text-decoration: underline">req</span>,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> res);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> } catch (Exception e) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> if (LOG.isErrorEnabled()) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> LOG.error(Messages.get().getBundle().key(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> Messages.ERR_CONTAINER_PAGE_ELEMENT_RENDER_ERROR_2,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> subelement.getSitePath(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> subelementFormatter), e);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> printElementErrorTag(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> isOnline,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> subelement.getSitePath(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> subelementFormatter.getJspRootPath(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> e);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> printElementWrapperTagEnd(isOnline, false);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> } catch (Exception e) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> if (LOG.isErrorEnabled()) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> LOG.error(e);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> printElementWrapperTagEnd(isOnline, true);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> } else {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> String formatter = null;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> try {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> formatter = cms.getSitePath(cms.readResource(element.getFormatterId()));</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> } catch (CmsException e) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> // the formatter resource can not be found, try reading it form the configuration</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> CmsFormatterConfiguration elementFormatters = adeConfig.getFormatters(<span style="text-decoration: underline">cms</span>, element.getResource());</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> CmsFormatterBean elementFormatterBean = elementFormatters.getFormatter(containerType, containerWidth);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> if (elementFormatterBean == null) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> if (LOG.isErrorEnabled()) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> LOG.error(new CmsIllegalStateException(Messages.get().container(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> Messages.ERR_XSD_NO_TEMPLATE_FORMATTER_3,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> element.getSitePath(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> OpenCms.getResourceManager().getResourceType(element.getResource()).getTypeName(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> containerType)));</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> // skip this element, it has no formatter for this container type defined</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> return;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> formatter = elementFormatterBean.getJspRootPath();</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> printElementWrapperTagStart(isOnline, <span style="text-decoration: underline">cms</span>, element, false);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> standardContext.setElement(element);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> try {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> // execute the formatter <span style="text-decoration: underline">jsp</span> for the given element <span style="text-decoration: underline">uri</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> CmsJspTagInclude.includeTagAction(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> pageContext,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> formatter,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> null,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> <span style="text-decoration: underline">locale</span>,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> false,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> isOnline,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> null,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> CmsRequestUtil.getAtrributeMap(<span style="text-decoration: underline">req</span>),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> <span style="text-decoration: underline">req</span>,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> res);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> } catch (Exception e) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> if (LOG.isErrorEnabled()) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> LOG.error(Messages.get().getBundle().key(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> Messages.ERR_CONTAINER_PAGE_ELEMENT_RENDER_ERROR_2,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> element.getSitePath(),</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> formatter), e);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> printElementErrorTag(isOnline, element.getSitePath(), formatter, e);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> printElementWrapperTagEnd(isOnline, false);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(74, 144, 117); ">//<span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "> }</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre"> </span><br class="webkit-block-placeholder"></p></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br><div><div>Am 15.12.2011 um 03:14 schrieb Daniel:</div><br class="Apple-interchange-newline"><blockquote type="cite">How about sending a request to OC from that jsp ?<div><br><div class="gmail_quote">2011/11/22 Vincent Lambert <span dir="ltr"><<a href="mailto:v.lambert@eurelis.com">v.lambert@eurelis.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<font face="Trebuchet MS"><span style="font-size:10pt">Hi all,<br>
<br>
We need to transform programmatically container page (OpenCms 8) into HTML (to include then into other JSP).<br>
Does anyone know how to do that ?<br>
<br>
Thanks in advance.<br>
<br>
Regards,<br><font color="#888888">
Vincent</font></span></font>
</div>
<br>_______________________________________________<br>
This mail is sent to you from the opencms-dev mailing list<br>
To change your list options, or to unsubscribe from the list, please visit<br>
<a href="http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev" target="_blank">http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev</a><br>
<br>
<br>
<br>
<br></blockquote></div><br></div>
_______________________________________________<br>This mail is sent to you from the opencms-dev mailing list<br>To change your list options, or to unsubscribe from the list, please visit<br><a href="http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev">http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev</a><br><br><br><br></blockquote></div><br></div></div></body></html>