morciuch 2003/05/28 13:03:31 Modified: docs/site changes.html webapp/WEB-INF/templates/jsp/portlets/html JSP1_1andJetspeedTagLib.jsp JSP1_2andJetspeedTagLib.jsp parameter-demo-portlet.jsp webapp/WEB-INF/templates/jsp/tld template.tld xdocs changes.xml Added: src/java/org/apache/jetspeed/services/jsp/tags JetspeedParameterStyleTag.java Log: Added parameter style jsp tag (see Bugzilla issue# 20313): Revision Changes Path 1.147 +3 -0 jakarta-jetspeed/docs/site/changes.html Index: changes.html =================================================================== RCS file: /home/cvs/jakarta-jetspeed/docs/site/changes.html,v retrieving revision 1.146 retrieving revision 1.147 diff -u -r1.146 -r1.147 --- changes.html 27 May 2003 23:58:41 -0000 1.146 +++ changes.html 28 May 2003 20:03:30 -0000 1.147 @@ -135,6 +135,9 @@ </li> --> <li> + Add - Bug # 20313 - 2003/05/28 - Added parameter style jsp tag (MO) +</li> +<li> Fix - Bug # 7667 - 2003/05/27 - Fixing various inconsistencies in the portlet set customizer (MO) </li> <li> 1.1 jakarta-jetspeed/src/java/org/apache/jetspeed/services/jsp/tags/JetspeedParameterStyleTag.java Index: JetspeedParameterStyleTag.java =================================================================== /* ==================================================================== * The Apache Software License, Version 1.1 * * Copyright (c) 2000-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Apache" and "Apache Software Foundation" and * "Apache Jetspeed" must not be used to endorse or promote products * derived from this software without prior written permission. For * written permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache" or * "Apache Jetspeed", nor may "Apache" appear in their name, without * prior written permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. */ package org.apache.jetspeed.services.jsp.tags; // java classes import java.util.Hashtable; import java.util.StringTokenizer; // jsp api import javax.servlet.jsp.PageContext; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.BodyTagSupport; // Turbine Classes import org.apache.turbine.util.RunData; import org.apache.turbine.util.Log; import org.apache.turbine.services.jsp.JspService; // jetspeed import org.apache.jetspeed.modules.ParameterLoader; import org.apache.jetspeed.services.security.PortalResource; import org.apache.jetspeed.om.registry.Parameter; import org.apache.jetspeed.om.registry.PortletEntry; import org.apache.jetspeed.services.JetspeedSecurity; import org.apache.jetspeed.om.security.JetspeedUser; import org.apache.jetspeed.services.Registry; /** * Supporting class for the parameter style tag. * Sends a parameter rendered using specific style to the output stream. * * The following tag attributes are supported: * * <UL> * <LI><code>name</code>: parameter name (required).</li> * <LI><code>style</code>: parameter style name (required)</LI> * <LI><code>value</code>: parameter current value</LI> * <LI><code>portlet</code>: portlet name to check security against</LI> * </UL> * <p>Note: tag body may also contain parameter style options in format: option1=value1;optionN=valueN. Check * documentation for individual parameter style to see what options are supported</p> * <p>Note: Use care when specifying style options in the tag body - the body is not cleansed to remove * embedded carriage returns and tabs.</p> * Examples: * <UL> * <LI><code><jetspeed:parameterStyle name="portlet-list" style="RegistryEntryListBox"/></CODE> * <LI><code><jetspeed:parameterStyle name="skin-list" style="RegistryEntryListBox">registry=Skin</jetspeed:parameterStyle/></CODE> * <LI><code><jetspeed:parameterStyle name="control-list" style="RegistryEntryListBox" value="TabControl">registry=PortletControl</jetspeed:parameterStyle/></CODE> * </UL> * * @author <a href="mailto:[EMAIL PROTECTED]">Mark Orciuch</a> * @version $Id: JetspeedParameterStyleTag.java,v 1.1 2003/05/28 20:03:30 morciuch Exp $ */ public class JetspeedParameterStyleTag extends BodyTagSupport { /** * name parameter defines parameter name */ private String name = null; /** * name parameter defines parameter style */ private String style = null; /** * name parameter defines current parameter style value */ private String value = null; /** * name parameter defines portlet name to check security against */ private String portlet = null; /** * The setter for name parameter * * @param value */ public void setName(String value) { this.name = value; } /** * The setter for value parameter * * @param value */ public void setValue(String value) { this.value = value; } /** * The setter for syle parameter * * @param value */ public void setStyle(String value) { this.style = value; } /** * The setter for value parameter * * @param value */ public void setPortlet(String value) { this.portlet = value; } /** * * @return code * @exception JspException */ public int doStartTag() throws JspException { return EVAL_BODY_TAG; } /** * * @return code * @exception JspException */ public int doEndTag() throws JspException { RunData data = (RunData) pageContext.getAttribute(JspService.RUNDATA, PageContext.REQUEST_SCOPE); String result = null; try { // See if body contains any parameter options String body = this.getBodyContent().getString(); Hashtable options = new Hashtable(); if (body != null && !body.trim().equalsIgnoreCase("")) { StringTokenizer st = new StringTokenizer(body, ";"); String prefix = this.name + ".style."; while (st.hasMoreTokens()) { StringTokenizer pair = new StringTokenizer(st.nextToken(), "="); if (pair.countTokens() == 2) { options.put(prefix + pair.nextToken().trim(), pair.nextToken().trim()); } } } boolean canAccess = true; // If portlet name is specified, it will be used to check security for the parameter if (this.portlet != null) { // Retrieve registry entry and its parameter PortletEntry entry = (PortletEntry) Registry.getEntry(Registry.PORTLET, this.portlet); Parameter param = entry.getParameter(this.name); // Verify security for the parameter canAccess = JetspeedSecurity.checkPermission((JetspeedUser) data.getUser(), new PortalResource(entry, param), JetspeedSecurity.PERMISSION_CUSTOMIZE); } if (canAccess) { result = ParameterLoader.getInstance().eval(data, this.style, this.name, this.value, options); } pageContext.getOut().print(result); } catch (Exception e) { result = "<input type=\"text\" name=\"" + this.name + "\" value=\"" + this.value + "\""; String message = "Error processing portlet (PortletTag): [" + name + "]"; Log.error(message, e); try { pageContext.getOut().print(result); } catch (java.io.IOException ioe) { } } return EVAL_PAGE; } } 1.6 +32 -0 jakarta-jetspeed/webapp/WEB-INF/templates/jsp/portlets/html/JSP1_1andJetspeedTagLib.jsp Index: JSP1_1andJetspeedTagLib.jsp =================================================================== RCS file: /home/cvs/jakarta-jetspeed/webapp/WEB-INF/templates/jsp/portlets/html/JSP1_1andJetspeedTagLib.jsp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- JSP1_1andJetspeedTagLib.jsp 29 Nov 2002 19:26:10 -0000 1.5 +++ JSP1_1andJetspeedTagLib.jsp 28 May 2003 20:03:30 -0000 1.6 @@ -177,6 +177,38 @@ </tr> </table> + <center><h2>jetspeed:parameterStyle</h2></center> + <table> + <tr> + <th>name</th> + <th>style</th> + <th>value</th> + <th>options</th> + <th>Returned Value</th> + </tr> + <tr> + <td>portlet-list</td> + <td>RegistryEntryListBox</td> + <td> </td> + <td> </td> + <td><jetspeed:parameterStyle name="porlet-list" style="RegistryEntryListBox"/></td> + </tr> + <tr> + <td>skin-list</td> + <td>RegistryEntryListBox</td> + <td> </td> + <td>registry=Skin;set-label=true</td> + <td><jetspeed:parameterStyle name="skin-list" style="RegistryEntryListBox">registry=Skin</jetspeed:parameterStyle></td> + </tr> + <tr> + <td>control-list</td> + <td>RegistryEntryListBox</td> + <td>TabControl</td> + <td>registry=PortletControl;set-label=true</td> + <td><jetspeed:parameterStyle name="control-list" style="RegistryEntryListBox" value="TabControl">registry=PortletControl;set-label=true</jetspeed:parameterStyle></td> + </tr> + </table> + <hr/> <center><h1>HTTP Request Header</h1></center> <table> 1.5 +32 -0 jakarta-jetspeed/webapp/WEB-INF/templates/jsp/portlets/html/JSP1_2andJetspeedTagLib.jsp Index: JSP1_2andJetspeedTagLib.jsp =================================================================== RCS file: /home/cvs/jakarta-jetspeed/webapp/WEB-INF/templates/jsp/portlets/html/JSP1_2andJetspeedTagLib.jsp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- JSP1_2andJetspeedTagLib.jsp 30 Nov 2002 19:03:24 -0000 1.4 +++ JSP1_2andJetspeedTagLib.jsp 28 May 2003 20:03:30 -0000 1.5 @@ -177,6 +177,38 @@ </tr> </table> + <center><h2>jetspeed:parameterStyle</h2></center> + <table> + <tr> + <th>name</th> + <th>style</th> + <th>value</th> + <th>options</th> + <th>Returned Value</th> + </tr> + <tr> + <td>portlet-list</td> + <td>RegistryEntryListBox</td> + <td> </td> + <td> </td> + <td><jetspeed:parameterStyle name="porlet-list" style="RegistryEntryListBox"/></td> + </tr> + <tr> + <td>skin-list</td> + <td>RegistryEntryListBox</td> + <td> </td> + <td>registry=Skin;set-label=true</td> + <td><jetspeed:parameterStyle name="skin-list" style="RegistryEntryListBox">registry=Skin</jetspeed:parameterStyle></td> + </tr> + <tr> + <td>control-list</td> + <td>RegistryEntryListBox</td> + <td>TabControl</td> + <td>registry=PortletControl;set-label=true</td> + <td><jetspeed:parameterStyle name="control-list" style="RegistryEntryListBox" value="TabControl">registry=PortletControl;set-label=true</jetspeed:parameterStyle></td> + </tr> + </table> + <hr/> <center><h1>HTTP Request Header</h1></center> <table> 1.3 +3 -7 jakarta-jetspeed/webapp/WEB-INF/templates/jsp/portlets/html/parameter-demo-portlet.jsp Index: parameter-demo-portlet.jsp =================================================================== RCS file: /home/cvs/jakarta-jetspeed/webapp/WEB-INF/templates/jsp/portlets/html/parameter-demo-portlet.jsp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- parameter-demo-portlet.jsp 25 Apr 2003 19:02:25 -0000 1.2 +++ parameter-demo-portlet.jsp 28 May 2003 20:03:30 -0000 1.3 @@ -14,7 +14,6 @@ <%@ page import = "org.apache.turbine.util.RunData" %> <%@ page import = "org.apache.jetspeed.portal.Portlet" %> -<%@ page import = "org.apache.jetspeed.modules.ParameterLoader" %> <%@ page import = "java.util.Hashtable" %> <%@ page import = "java.util.Enumeration" %> @@ -49,11 +48,8 @@ </TABLE> <P> -Here's an example of using parameter style within the body of a portlet: +Here's an example of using parameter styles within the body of a portlet: <P> -<% -Hashtable map = new Hashtable(); -map.put("skin-list.style.registry", "Skin"); -%> -Available skins: <%=ParameterLoader.getInstance().eval(data, "RegistryEntryListBox","skin-list", null, map)%> +Available skins: <jetspeed:parameterStyle name="skin-list" style="RegistryEntryListBox">registry=Skin;</jetspeed:parameterStyle> +Available controls: <jetspeed:parameterStyle name="control-list" value="TabControl" style="RegistryEntryListBox">registry=PortletControl;</jetspeed:parameterStyle> 1.15 +25 -0 jakarta-jetspeed/webapp/WEB-INF/templates/jsp/tld/template.tld Index: template.tld =================================================================== RCS file: /home/cvs/jakarta-jetspeed/webapp/WEB-INF/templates/jsp/tld/template.tld,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- template.tld 25 Apr 2003 20:43:23 -0000 1.14 +++ template.tld 28 May 2003 20:03:30 -0000 1.15 @@ -166,4 +166,29 @@ <rtexprvalue>true</rtexprvalue> </attribute> </tag> + <tag> + <name>parameterStyle</name> + <tagclass>org.apache.jetspeed.services.jsp.tags.JetspeedParameterStyleTag</tagclass> + <bodycontent>JSP</bodycontent> + <attribute> + <name>name</name> + <required>true</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + <attribute> + <name>style</name> + <required>true</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + <attribute> + <name>value</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + <attribute> + <name>portlet</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + </tag> </taglib> 1.166 +4 -1 jakarta-jetspeed/xdocs/changes.xml Index: changes.xml =================================================================== RCS file: /home/cvs/jakarta-jetspeed/xdocs/changes.xml,v retrieving revision 1.165 retrieving revision 1.166 diff -u -r1.165 -r1.166 --- changes.xml 27 May 2003 23:58:42 -0000 1.165 +++ changes.xml 28 May 2003 20:03:30 -0000 1.166 @@ -24,6 +24,9 @@ </li> --> <li> + Add - Bug # 20313 - 2003/05/28 - Added parameter style jsp tag (MO) +</li> +<li> Fix - Bug # 7667 - 2003/05/27 - Fixing various inconsistencies in the portlet set customizer (MO) </li> <li>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]