<%-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --%> <%@page language="java" pageEncoding="UTF-8"%> <%@page import="org.apache.commons.logging.Log"%> <%@page import="org.apache.commons.logging.LogFactory"%> <%@page import="org.apache.jetspeed.PortalReservedParameters"%> <%@page import="org.apache.jetspeed.decoration.Theme"%> <%@page import="org.apache.jetspeed.layout.JetspeedPowerTool"%> <%@page import="org.apache.jetspeed.om.page.Page"%> <%@page import="org.apache.jetspeed.om.page.ContentFragment"%> <%@page import="org.apache.jetspeed.decoration.LayoutDecoration"%> <%@page import="org.apache.jetspeed.portlets.layout.ColumnLayout"%> <%@page import="org.apache.jetspeed.portalsite.PortalSiteRequestContext"%> <%@page import="org.apache.jetspeed.headerresource.HeaderResourceFactory"%> <%@page import="org.apache.jetspeed.headerresource.HeaderResource"%> <%@page import="org.apache.jetspeed.request.RequestContext"%> <%@page import="org.apache.jetspeed.portlets.layout.LayoutCoordinate"%> <%@page import="org.apache.jetspeed.decoration.LayoutDecoration"%> <%@page import="org.apache.jetspeed.decoration.DecorationFactory"%> <%@page import="org.apache.jetspeed.om.page.ContentFragment"%> <%@page import="org.apache.jetspeed.util.Path"%> <%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %> <%@taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %> <%@taglib uri="http://java.sun.com/portlet" prefix="portlet" %> <% /** * @author Mohan Kannapareddy */ %> <%! private static final Log log = LogFactory.getLog("org.apache.jetspeed.portlets.layout.jsp_templates"); private static final int REQ_SCOPE = PageContext.REQUEST_SCOPE; private static final int PAGE_SCOPE = PageContext.PAGE_SCOPE; private String getLayoutResource(LayoutDecoration _layoutDecoration,String _path) { String _resourcePath = _layoutDecoration.getResource(_path); return ((null == _resourcePath) ? _path : _resourcePath); } private Boolean getBoolProperty(LayoutDecoration _decorator, String propKey, boolean _default) { Boolean value = new Boolean(_default); String _value = _decorator.getProperty(propKey); if ( (_value != null) && !(_value.equalsIgnoreCase("")) ) { value = new Boolean(_value); } return value; } private Integer getIntProperty(LayoutDecoration _decorator, String propKey, int _default) { Integer value = new Integer(_default); String _value = _decorator.getProperty(propKey); if ( (_value != null) && !(_value.equalsIgnoreCase("")) ) { try { value = new Integer(_value); } catch (NumberFormatException e) { log.warn("wrong format for property:<" + propKey + "> " + "value given:<" + _value + ">"); } } return value; } %> <% // Since we will try to *avoid* using the rt, let's stuff everything in the pageContext //contextPath String _cPath = (String) request.getContextPath(); if (_cPath.equalsIgnoreCase("")) { _cPath = "/"; } else if (_cPath.endsWith("/")) { _cPath = _cPath.substring(0,_cPath.length()-1); } pageContext.setAttribute("cPath",_cPath,REQ_SCOPE); //baseHRef String _baseHRef = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ _cPath + "/"; pageContext.setAttribute("baseHRef", _baseHRef, REQ_SCOPE); //Jetspeed Power Tool JetspeedPowerTool _jpt = (JetspeedPowerTool) renderRequest.getAttribute(PortalReservedParameters.JETSPEED_POWER_TOOL_REQ_ATTRIBUTE); pageContext.setAttribute("jpt", _jpt, REQ_SCOPE); //Jetspeed Request Context RequestContext _rc = (RequestContext) renderRequest.getAttribute(PortalReservedParameters.REQUEST_CONTEXT_ATTRIBUTE); //PortalSiteRequestContext PortalSiteRequestContext _psrc = (PortalSiteRequestContext) renderRequest.getAttribute("org.apache.jetspeed.portalsite.PortalSiteRequestContext"); pageContext.setAttribute("psrc", _psrc, REQ_SCOPE); //Get the resourceHeaderFactory HeaderResourceFactory headerResourceFactory = (HeaderResourceFactory) _jpt.getComponent("org.apache.jetspeed.headerresource.HeaderResourceFactory"); HeaderResource headerResource = null; if (null != headerResourceFactory) { headerResource = headerResourceFactory.getHeaderResouce(_rc); } else { log.warn("JSPTemplate: Could not acquire HeaderResourceFactory during template initialization"); } pageContext.setAttribute("headerResource", headerResource, REQ_SCOPE); %> <% //Theme Theme _theme = (Theme) renderRequest.getAttribute(PortalReservedParameters.PAGE_THEME_ATTRIBUTE); pageContext.setAttribute("theme",_theme,REQ_SCOPE); //myPage Page _myPage = _jpt.getPage(); pageContext.setAttribute("myPage", _myPage, REQ_SCOPE); //numberOfColumns Integer _numberOfColumns = (Integer)renderRequest.getAttribute("numberOfColumns"); pageContext.setAttribute("numberOfColumns", _numberOfColumns, REQ_SCOPE); //editing mode? Boolean _editing = (Boolean) renderRequest.getAttribute("editing"); pageContext.setAttribute("editing", _editing, REQ_SCOPE); pageContext.setAttribute("layoutType", portletConfig.getInitParameter("layoutType"), REQ_SCOPE); //columnLayout, no type info here because layout jars not available // TODO got to move ColumnLayout from layout-portlets out! Jetspeed webapp cannot see it! ColumnLayout _columnLayout = (ColumnLayout) renderRequest.getAttribute("columnLayout"); pageContext.setAttribute("columnLayout", _columnLayout, REQ_SCOPE); //myFragment ContentFragment _myFragment = _jpt.getCurrentFragment(); pageContext.setAttribute("myFragment", _myFragment, PAGE_SCOPE); //defaultDecorator String _defaultDecorator = _myPage.getDefaultDecorator(_myFragment.getType()); pageContext.setAttribute("defaultDecorator", _defaultDecorator, PAGE_SCOPE); //decorationFactory DecorationFactory _decorationFactory = (DecorationFactory) renderRequest.getAttribute("decorationFactory"); pageContext.setAttribute("decorationFactory", _decorationFactory, PAGE_SCOPE); if ((_editing != null) && (_editing.booleanValue())) { //LayoutDecorations list pageContext.setAttribute("layoutDecorationsList", _decorationFactory.getLayouts(_rc),REQ_SCOPE); //LayoutDecorations list pageContext.setAttribute("portletDecorationsSet", _decorationFactory.getPortletDecorations(_rc),REQ_SCOPE); } //rootDecorator LayoutDecoration _rootDecorator = (LayoutDecoration)((ContentFragment)_myPage.getRootFragment()).getDecoration(); pageContext.setAttribute("rootDecorator",_rootDecorator, PAGE_SCOPE); %> <%-- BEGIN Page and Request Scoped Variables --%> <%-- decorator --%> <%-- root --%> <%-- ContentType --%> <%-- SiteVersionTag --%> <%-- includeJavaScriptforHead --%> <%-- END Request and Scoped Variables --%>