portals-pluto-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dettb...@apache.org
Subject svn commit: r603014 [1/2] - in /portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main: java/org/apache/pluto/tags/ java/org/apache/pluto/tags/el/ resources/META-INF/
Date Mon, 10 Dec 2007 19:45:24 GMT
Author: dettborn
Date: Mon Dec 10 11:45:21 2007
New Revision: 603014

URL: http://svn.apache.org/viewvc?rev=603014&view=rev
Log:
change taglib implementation, taglib supports taglib for jsr168 and jsr286

Added:
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ActionURLTag168.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ActionURLTag286.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/DefineObjectsTag168.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/DefineObjectsTag286.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/PortletURLTag168.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/PortletURLTag286.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/RenderURLTag168.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/RenderURLTag286.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ResourceURLTag286.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/PropertyTag.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/resources/META-INF/portlet-el_2_0.tld
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/resources/META-INF/portlet_2_0.tld
Removed:
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ActionURLTag.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/DefineObjectsTag.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/RenderURLTag.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ResourceURLTag.java
Modified:
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/BaseURLTag.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/Constants.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ParamTag.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/PropertyTag.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/ApacheTaglibStandardExpressionEvaluatorProxy.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/ExpressionEvaluatorProxy.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/JSP21ExpressionEvaluatorProxy.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/ParamTag.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/resources/META-INF/portlet-el.tld
    portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/resources/META-INF/portlet.tld

Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ActionURLTag168.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ActionURLTag168.java?rev=603014&view=auto
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ActionURLTag168.java (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ActionURLTag168.java Mon Dec 10 11:45:21 2007
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+/* 
+
+ */
+
+/*
+ * Created on Feb 21, 2003
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code Template
+ */
+package org.apache.pluto.tags;
+
+import javax.portlet.PortletResponse;
+import javax.portlet.PortletURL;
+import javax.portlet.RenderResponse;
+
+/**
+ * 
+ * A tag handler for the <CODE>actionURL</CODE> tag,which creates a url that
+ * points to the current Portlet and triggers an action request with the
+ * supplied parameters.
+ * 
+ * @version 2.0
+ */
+public class ActionURLTag168 extends PortletURLTag286 {
+	
+	private static final long serialVersionUID = 286L;
+
+	/**
+     * Creates an action PortletURL 
+     * @param portletResponse PortletResponse
+     * @return PortletURL
+     */
+	@Override
+	protected PortletURL createPortletUrl(PortletResponse portletResponse){
+		return ((RenderResponse)portletResponse).createActionURL();
+	}
+    
+    
+}
+

Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ActionURLTag286.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ActionURLTag286.java?rev=603014&view=auto
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ActionURLTag286.java (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ActionURLTag286.java Mon Dec 10 11:45:21 2007
@@ -0,0 +1,96 @@
+/*
+ * 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.
+ */
+/* 
+
+ */
+
+/*
+ * Created on Feb 21, 2003
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code Template
+ */
+package org.apache.pluto.tags;
+
+import javax.portlet.PortletResponse;
+import javax.portlet.PortletURL;
+import javax.portlet.RenderResponse;
+import javax.servlet.jsp.JspException;
+
+/**
+ * 
+ * A tag handler for the <CODE>actionURL</CODE> tag,which creates a url that
+ * points to the current Portlet and triggers an action request with the
+ * supplied parameters.
+ * 
+ * @version 2.0
+ */
+public class ActionURLTag286 extends PortletURLTag286 {
+	
+	private static final long serialVersionUID = 286L;
+
+	private String 	name = null;
+	
+	
+	
+    /**
+	 * @return the name
+	 */
+	public String getName() {
+		return name;
+	}
+
+
+
+	/**
+	 * @param name the name to set
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+
+
+	
+
+	/* (non-Javadoc)
+	 * @see org.apache.pluto.tags.PortletURLTag#doEndTag()
+	 */
+	@Override
+	public int doEndTag() throws JspException {
+		
+		if(name != null){
+			addParameter("javax.portlet.action", name);
+		}
+		
+		return super.doEndTag();
+	}
+
+
+
+	/**
+     * Creates an action PortletURL 
+     * @param portletResponse PortletResponse
+     * @return PortletURL
+     */
+	@Override
+	protected PortletURL createPortletUrl(PortletResponse portletResponse){
+		return ((RenderResponse)portletResponse).createActionURL();
+	}
+    
+    
+}
+

Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/BaseURLTag.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/BaseURLTag.java?rev=603014&r1=603013&r2=603014&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/BaseURLTag.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/BaseURLTag.java Mon Dec 10 11:45:21 2007
@@ -40,35 +40,20 @@
 
 public abstract class BaseURLTag extends TagSupport {
 	
-	/**
-	 * TagExtraInfo class for BaseUrlTag.
-	 */
-	public static class TEI extends TagExtraInfo {
-		
-        public VariableInfo[] getVariableInfo(TagData tagData) {
-            VariableInfo vi[] = null;
-            String var = tagData.getAttributeString("var");
-            if (var != null) {
-                vi = new VariableInfo[1];
-                vi[0] =
-                	new VariableInfo(var, "java.lang.String", true,
-                                 VariableInfo.AT_BEGIN);
-            }
-            return vi;
-        }
-
-    }
+	protected String secure = null;
 	
-	//--------------------------------------------------------------------------
+	protected Boolean secureBoolean = null;
 	
-	protected String secure = null;
-	protected Boolean secureBoolean;
 	protected String var = null;
-	//TODO: not the default value (should be true)
+	
+	//Attention: for JSR 286 Tags the default value is true
 	protected Boolean escapeXml = false;
 		
-	protected Map<String,List<String>> parametersMap = new HashMap<String,List<String>> ();
-	protected Map<String, List<String>> propertiesMap = new HashMap<String,List<String>> ();
+	protected Map<String, List<String>> parametersMap = 
+		new HashMap<String, List<String>>();
+	
+	protected Map<String, List<String>> propertiesMap = 
+		new HashMap<String, List<String>>();
 	
 	
 
@@ -90,11 +75,9 @@
 	/* (non-Javadoc)
 	 * @see javax.servlet.jsp.tagext.TagSupport#release()
 	 */
-	//Called at the end of the lifecycle.
 	@Override
 	public void release(){
 		super.release();
-		parametersMap = null;
 		secureBoolean = null;
 	}
 	
@@ -113,7 +96,12 @@
      * @return boolean
      */
     public boolean getSecureBoolean() {
-        return this.secureBoolean.booleanValue();
+    	if(this.secureBoolean != null){
+    		return this.secureBoolean.booleanValue();
+    	}
+    	else{
+    		return false;
+    	}
     }  
     
     
@@ -231,13 +219,13 @@
      * @return void
      */
     protected void setUrlParameters(BaseURL url) {
-    	Set<String> keySet = parametersMap.keySet();
     	
-		
+    	Set<String> keySet = parametersMap.keySet();
+    			
 		for(String key : keySet){
 			
 			List<String> valueList = parametersMap.get(key);
-			
+		
 			String[] valueArray = valueList.toArray(new String[0]);
 			
 			url.setParameter(key, valueArray);
@@ -270,11 +258,13 @@
      * @return String 
      */
     protected String doEscapeXml(String str) {
-        str = replace(str,"&","&amp;");
-        str = replace(str,"<","&lt;");
-        str = replace(str,">","&gt;");
-        str = replace(str,"\"","&#034;");
-        str = replace(str,"'","&#039;");
+    	if(!isEmpty(str)){
+    		str = str.replaceAll("&", "&amp;");
+    		str = str.replaceAll("<", "&lt;");
+    		str = str.replaceAll(">", "&gt;");
+    		str = str.replaceAll("\"", "&#034;");
+    		str = str.replaceAll("'", "&#039;");
+    	}
         return str;
     }
        
@@ -286,43 +276,26 @@
      * @return boolean
      */
     private boolean isEmpty(String str) {
-        return str == null || str.length() == 0;
+        return ((str == null) || (str.length() == 0));
     }
     
-    
-    /**
-     * Replaces String repl with String with in String text.
-     * This method is a copy from <code>org.apache.commons.lang.StringUtils</code> class.
-     * @param text - the String where to replace 
-     * @param repl - the sub-String what to replace
-     * @param with - the sub-String what to replace repl with
-     * @return String 
-     */
-    private String replace(String text, String repl, String with) {
-    	int max=-1;
-        if (isEmpty(text) || isEmpty(repl) || with == null || max == 0) {
-            return text;
-        }
-        int start = 0;
-        int end = text.indexOf(repl, start);
-        if (end == -1) {
-            return text;
-        }
-        int replLength = repl.length();
-        int increase = with.length() - replLength;
-        increase = (increase < 0 ? 0 : increase);
-        increase *= (max < 0 ? 16 : (max > 64 ? 64 : max));
-        StringBuffer buf = new StringBuffer(text.length() + increase);
-        while (end != -1) {
-            buf.append(text.substring(start, end)).append(with);
-            start = end + replLength;
-            if (--max == 0) {
-                break;
+        
+	/**
+	 * TagExtraInfo class for BaseUrlTag.
+	 */
+	public static class TEI extends TagExtraInfo {
+		
+        public VariableInfo[] getVariableInfo(TagData tagData) {
+            VariableInfo vi[] = null;
+            String var = tagData.getAttributeString("var");
+            if (var != null) {
+                vi = new VariableInfo[1];
+                vi[0] =
+                	new VariableInfo(var, "java.lang.String", true,
+                                 VariableInfo.AT_BEGIN);
             }
-            end = text.indexOf(repl, start);
+            return vi;
         }
-        buf.append(text.substring(start));
-        return buf.toString();
-    }
 
+    }
 }

Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/Constants.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/Constants.java?rev=603014&r1=603013&r2=603014&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/Constants.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/Constants.java Mon Dec 10 11:45:21 2007
@@ -1,10 +1,9 @@
 /*
- * 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
+ * Copyright 2003,2004 The Apache Software Foundation.
+ * 
+ * Licensed 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
  * 
@@ -40,5 +39,7 @@
      * PortletConfig.
      */
     public final static String PORTLET_CONFIG = "javax.portlet.config";
+    
+	public final static String ESCAPE_XML_RUNTIME_OPTION = "javax.portlet.escapeXml";
 
 }

Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/DefineObjectsTag168.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/DefineObjectsTag168.java?rev=603014&view=auto
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/DefineObjectsTag168.java (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/DefineObjectsTag168.java Mon Dec 10 11:45:21 2007
@@ -0,0 +1,123 @@
+/*
+ * 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.
+ */
+package org.apache.pluto.tags;
+
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.servlet.ServletRequest;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.tagext.TagData;
+import javax.servlet.jsp.tagext.TagExtraInfo;
+import javax.servlet.jsp.tagext.TagSupport;
+import javax.servlet.jsp.tagext.VariableInfo;
+
+/**
+ * A tag handler for the <CODE>defineObjects</CODE> tag. Creates the
+ * following variables to be used in the JSP: 
+ * <UL> 
+ * <LI><CODE>{@link RenderRequest} renderRequest</CODE>
+ * <LI><CODE>{@link RenderResponse} renderResponse</CODE> 
+ * <LI><CODE>{@link PortletConfig} portletConfig</CODE>
+ * </UL>
+ * 
+ * @version 2.0
+ */
+public class DefineObjectsTag168 extends TagSupport {
+	
+	private static final long serialVersionUID = 286L;
+
+	/**
+	 * Helper method.
+	 * <p>
+     * Sets an pageContext attribute with <CODE>PAGE_SCOPE</CODE>.
+     * 
+     * @param attribute - the attribute object to set
+     * @param attributeName - the name of the attribute object
+     * 
+     * @return void
+     */
+	private void setAttribute(Object attribute, String attributeName){
+		if (pageContext.getAttribute(attributeName) == null){   //Set attributes only once
+ 
+            pageContext.setAttribute(attributeName,
+            						 attribute,
+                                     PageContext.PAGE_SCOPE);
+        }
+	}
+	  
+     
+	/**
+     * Processes the <CODE>defineObjects</CODE> tag.
+     * @return <CODE>SKIP_BODY</CODE>
+     */
+    public int doStartTag() throws JspException {
+    	
+    	ServletRequest servletRequest = pageContext.getRequest();
+    	
+    	PortletRequest portletRequest = 
+    		(PortletRequest) servletRequest.getAttribute(Constants.PORTLET_REQUEST);
+    	
+    	PortletResponse portletResponse = 
+    		(PortletResponse) servletRequest.getAttribute(Constants.PORTLET_RESPONSE);
+    	
+    	PortletConfig portletConfig = 
+    		(PortletConfig) servletRequest.getAttribute(Constants.PORTLET_CONFIG);
+    	
+    	// set attribute renderRequest
+    	setAttribute(portletRequest, "renderRequest");
+    	
+    	// set attribute renderResponse
+    	setAttribute(portletResponse, "renderResponse");
+    	
+    	// set attribute portletConfig
+    	setAttribute(portletConfig, "portletConfig");   	
+    	
+        return SKIP_BODY;
+    }
+
+    
+    
+    /**
+     * TagExtraInfo class for DefineObjectsTag.
+     *
+     */
+    public static class TEI extends TagExtraInfo {
+
+        public VariableInfo[] getVariableInfo(TagData tagData) {
+            VariableInfo[] info = new VariableInfo[]{
+            	new VariableInfo("renderRequest",
+            					 "javax.portlet.RenderRequest",
+            					 true,
+            					 VariableInfo.AT_BEGIN),
+                new VariableInfo("renderResponse",
+                   				 "javax.portlet.RenderResponse",
+                   				 true,
+                  				 VariableInfo.AT_BEGIN),                            
+                new VariableInfo("portletConfig",
+                                 "javax.portlet.PortletConfig",
+                                 true,
+                                 VariableInfo.AT_BEGIN)                                              
+            };
+            return info;
+        }
+    }
+}
+

Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/DefineObjectsTag286.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/DefineObjectsTag286.java?rev=603014&view=auto
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/DefineObjectsTag286.java (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/DefineObjectsTag286.java Mon Dec 10 11:45:21 2007
@@ -0,0 +1,248 @@
+/*
+ * 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.
+ */
+package org.apache.pluto.tags;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.portlet.*;
+import javax.servlet.ServletRequest;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.tagext.TagData;
+import javax.servlet.jsp.tagext.TagExtraInfo;
+import javax.servlet.jsp.tagext.TagSupport;
+import javax.servlet.jsp.tagext.VariableInfo;
+
+/**
+ * A tag handler for the <CODE>defineObjects</CODE> tag. Creates the
+ * following variables to be used in the JSP: 
+ * <UL> 
+ * <LI><CODE>{@link RenderRequest} renderRequest</CODE>, 
+ * 	when included from within the <CODE>render</CODE> method, <code>null</code> otherwise
+ * <LI><CODE>{@link ResourceRequest} resourceRequest</CODE>, 
+ *  when included from within the <CODE>serveResource</CODE> method, <code>null</code> otherwise
+ * <LI><CODE>{@link ActionRequest} actionRequest</CODE>, 
+ *  when included from within the <CODE>processAction</CODE> method, <code>null</code> otherwise
+ * <LI><CODE>{@link EventRequest} eventRequest</CODE>, 
+ *  when included from within the <CODE>processEvent</CODE> method, <code>null</code> otherwise
+ * <LI><CODE>{@link RenderResponse} renderResponse</CODE>, 
+ *  when included from within the <CODE>render</CODE> method, <code>null</code> otherwise
+ * <LI><CODE>{@link ResourceResponse} resourceResponse</CODE>, 
+ *  when included from within the <CODE>serveResource</CODE> method, <code>null</code> otherwise 
+ * <LI><CODE>{@link ActionResponse} actionResponse</CODE>, 
+ *  when included from within the <CODE>processAction</CODE> method, <code>null</code> otherwise
+ * <LI><CODE>{@link EventResponse} eventResponse</CODE>, 
+ *  when included from within the <CODE>processEvent</CODE> method, <code>null</code> otherwise
+ * <LI><CODE>{@link PortletConfig} portletConfig</CODE>
+ * <LI><CODE>{@link PortletSession} portletSession</CODE>, providing access to the portletSession,
+ *  does not create a new session, only returns an existing session
+ * <LI><CODE>{@link Map<String, Object>} portletSessionScope</CODE>, providing access to the 
+ *  portletSession attributes as a Map.
+ * <LI><CODE>{@link PortletPreferences} portletPreferences</CODE>, providing access to 
+ *  the portlet preferences
+ * <LI> <CODE>{@link Map<String, String[]>} portletPreferencesValues</CODE>, providing access to the
+ *  portlet preferences as a Map
+ * </UL>
+ * 
+ * @version 2.0
+ */
+public class DefineObjectsTag286 extends TagSupport {
+	
+	private static final long serialVersionUID = 286L;
+
+	/**
+	 * Helper method.
+	 * <p>
+     * Sets an pageContext attribute with <CODE>PAGE_SCOPE</CODE>.
+     * 
+     * @param attribute - the attribute object to set
+     * @param attributeName - the name of the attribute object
+     * 
+     * @return void
+     */
+	private void setAttribute(Object attribute, String attributeName){
+		if (pageContext.getAttribute(attributeName) == null){   //Set attributes only once
+ 
+            pageContext.setAttribute(attributeName,
+            						 attribute,
+                                     PageContext.PAGE_SCOPE);
+        }
+	}
+	
+	/**
+     * Helper method.
+     * <p>
+     * Sets the portlet render and request attribute with 
+     * the names described in the JSR 286 - PLT 26.1 (defineObjects Tag).
+     * 
+     * @param request PortletRequest
+     * @param response PortletResponse
+     */
+    private void setPortletRequestResponseAttribute(PortletRequest request, 
+    		PortletResponse response ){
+    	
+    	String phase = (
+    			String)request.getAttribute(PortletRequest.LIFECYCLE_PHASE);
+    	
+    	//check where request and response where included from
+    	if(PortletRequest.ACTION_PHASE.equals(phase)){
+    		setAttribute(request, "actionRequest");
+    		setAttribute(response, "actionResponse");
+    	}    	
+    	else if(PortletRequest.EVENT_PHASE.equals(phase)){
+    		setAttribute(request, "eventRequest");
+    		setAttribute(response, "eventResponse");
+    	}
+    	else if(PortletRequest.RENDER_PHASE.equals(phase)){
+    		setAttribute(request, "renderRequest");
+    		setAttribute(response, "renderResponse");
+    	}    	
+    	else if(PortletRequest.RESOURCE_PHASE.equals(phase)){
+    		setAttribute(request, "resourceRequest");
+    		setAttribute(response, "resourceResponse");
+    	}
+    }
+    
+     
+	/**
+     * Processes the <CODE>defineObjects</CODE> tag.
+     * @return <CODE>SKIP_BODY</CODE>
+     */
+    public int doStartTag() throws JspException {
+    	
+    	ServletRequest servletRequest = pageContext.getRequest();
+    	
+    	PortletRequest portletRequest = 
+    		(PortletRequest) servletRequest.getAttribute(Constants.PORTLET_REQUEST);
+    	
+    	PortletResponse portletResponse = 
+    		(PortletResponse) servletRequest.getAttribute(Constants.PORTLET_RESPONSE);
+    	
+    	PortletConfig portletConfig = 
+    		(PortletConfig) servletRequest.getAttribute(Constants.PORTLET_CONFIG);
+    	
+    	PortletSession portletSession = portletRequest.getPortletSession(false);
+    	
+    	Map<String, Object> portletSessionScope = null;
+    	if(portletSession != null){
+    		portletSessionScope = (Map<String, Object>)portletSession.getAttributeMap();// getMap();
+    	}
+    	else{
+    		portletSessionScope = new HashMap<String, Object>();
+    	}
+    	
+    	PortletPreferences portletPreferences = portletRequest.getPreferences();
+    	
+    	Map<String, String[]> portletPreferencesValues = null;
+    	if(portletPreferences != null){
+    		portletPreferencesValues = portletPreferences.getMap();
+    	}
+    	else{
+    		portletPreferencesValues = new HashMap<String, String[]>();
+    	}
+    	
+    	// set attributes render and request
+    	setPortletRequestResponseAttribute(portletRequest, portletResponse);
+    	
+    	// set attribute portletConfig
+    	setAttribute(portletConfig, "portletConfig");
+    	
+    	// set attribute portletSession
+    	setAttribute(portletSession, "portletSession");
+    	
+    	//set attribute portletSession
+    	setAttribute(portletSessionScope, "portletSessionScope");
+    	
+    	// set attribute portletPreferences
+    	setAttribute(portletPreferences, "portletPreferences");
+    	
+    	// set attribute portletPreferences
+    	setAttribute(portletPreferencesValues, "portletPreferencesValues");    	
+    	
+        return SKIP_BODY;
+    }
+
+    
+    
+    /**
+     * TagExtraInfo class for DefineObjectsTag.
+     *
+     */
+    public static class TEI extends TagExtraInfo {
+
+        public VariableInfo[] getVariableInfo(TagData tagData) {
+            VariableInfo[] info = new VariableInfo[]{
+                new VariableInfo("actionRequest",
+                                 "javax.portlet.ActionRequest",
+                                 true,
+                                 VariableInfo.AT_BEGIN),            		
+                new VariableInfo("actionResponse",
+            	                 "javax.portlet.ActionResponse",
+                                 true,
+                                 VariableInfo.AT_BEGIN),
+                new VariableInfo("eventRequest",
+                                 "javax.portlet.EventRequest",
+                                 true,
+                                 VariableInfo.AT_BEGIN),
+                new VariableInfo("eventResponse",
+                                 "javax.portlet.EventResponse",
+                                 true,
+                                 VariableInfo.AT_BEGIN),              		
+            	new VariableInfo("renderRequest",
+            					 "javax.portlet.RenderRequest",
+            					 true,
+            					 VariableInfo.AT_BEGIN),
+                new VariableInfo("renderResponse",
+                   				 "javax.portlet.RenderResponse",
+                   				 true,
+                  				 VariableInfo.AT_BEGIN),
+                new VariableInfo("resourceRequest",
+                                 "javax.portlet.ResourceRequest",
+                                 true,
+                                 VariableInfo.AT_BEGIN),
+                new VariableInfo("resourceResponse",
+                                 "javax.portlet.ResourceResponse",
+                                 true,
+                                 VariableInfo.AT_BEGIN),                            
+                new VariableInfo("portletConfig",
+                                 "javax.portlet.PortletConfig",
+                                 true,
+                                 VariableInfo.AT_BEGIN),
+                new VariableInfo("portletSession",
+                                 "javax.portlet.PortletSession",
+                                 true,
+                                 VariableInfo.AT_BEGIN),
+                new VariableInfo("portletSessionScope",
+                          		 "java.util.Map",
+                          		 true,
+                           		 VariableInfo.AT_BEGIN),                                		 
+                new VariableInfo("portletPreferences",
+                                "javax.portlet.PortletPreferences",
+                                true,
+                                VariableInfo.AT_BEGIN),   
+                new VariableInfo("portletPreferencesValues",
+                                 "java.util.Map",
+                                 true,
+                                 VariableInfo.AT_BEGIN),                                
+                
+            };
+            return info;
+        }
+    }
+}
+

Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ParamTag.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ParamTag.java?rev=603014&r1=603013&r2=603014&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ParamTag.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ParamTag.java Mon Dec 10 11:45:21 2007
@@ -5,9 +5,9 @@
  * 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.
@@ -35,8 +35,8 @@
 	
 	private static final long serialVersionUID = 286L;
 
-    private String name;
-    private String value;
+    private String name = null;
+    private String value = null;
 
     /* (non-Javadoc)
      * @see javax.servlet.jsp.tagext.TagSupport#doStartTag()
@@ -48,7 +48,8 @@
 
         if (urlTag == null) {
             throw new JspException(
-                "the 'param' Tag must have actionURL, renderURL or resourceURL as a parent");
+                "the 'param' Tag must have a actionURL, renderURL " +
+                "or resourceURL tag as a parent");
         }
 
         urlTag.addParameter(getName(), getValue());
@@ -60,7 +61,7 @@
      * Returns the name.
      * @return String
      */
-    public String getName() throws JspException {
+    public String getName() {
         return name;
     }
 

Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/PortletURLTag168.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/PortletURLTag168.java?rev=603014&view=auto
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/PortletURLTag168.java (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/PortletURLTag168.java Mon Dec 10 11:45:21 2007
@@ -0,0 +1,271 @@
+/*
+ * 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.
+ */
+package org.apache.pluto.tags;
+
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.util.Hashtable;
+
+import javax.portlet.PortletMode;
+import javax.portlet.PortletModeException;
+import javax.portlet.PortletResponse;
+import javax.portlet.PortletSecurityException;
+import javax.portlet.PortletURL;
+import javax.portlet.WindowState;
+import javax.portlet.WindowStateException;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+
+/**
+ * Abstract supporting class for the JSR168 actionURL 
+ * and renderURL tag.
+ * 
+ * @version 2.0
+ */
+
+public abstract class PortletURLTag168 extends BaseURLTag {
+	
+
+	protected String portletMode = null;
+	
+	protected String windowState = null;
+	
+	protected PortletURL url = null;
+	
+	
+	/* (non-Javadoc)
+	 * @see org.apache.pluto.tags.BaseURLTag#doStartTag()
+	 */
+	@Override
+    public int doStartTag() throws JspException {
+    	    	    	
+        if (var != null) {
+            pageContext.removeAttribute(var, PageContext.PAGE_SCOPE);
+        }
+        
+        PortletResponse portletResponse = 
+        	(PortletResponse) pageContext.getRequest().getAttribute(Constants.PORTLET_RESPONSE);
+
+        if (portletResponse != null) {
+        	
+        	
+            setUrl(createPortletUrl(portletResponse));
+            
+            if (portletMode != null) {//set portlet mode
+                try {
+                    PortletMode mode = (PortletMode)
+                        TEI.portletModes.get(portletMode.toUpperCase());
+                    
+                    if (mode == null) {
+                        mode = new PortletMode(portletMode);// support for custom portlet modes PLUTO-258
+                    }
+                    
+                    url.setPortletMode(mode);
+                    
+                } catch (PortletModeException e) {                	
+                    throw new JspException(e);                    
+                }
+            }
+            
+            if (windowState != null) {//set window state
+                try {                	
+                    WindowState state = (WindowState)
+                        TEI.definedWindowStates.get(windowState.toUpperCase());                  
+                    
+                    if (state == null) {
+                        state = new WindowState(windowState);//support for custom window states PLUTO-258
+                    }
+                    
+                    url.setWindowState(state);
+                    
+                } catch (WindowStateException e) {                	
+                    throw new JspException(e);
+                }
+            }
+            
+            if (secure != null) {//set secure boolean
+                try {                	
+                    url.setSecure(getSecureBoolean());
+                } catch (PortletSecurityException e) {                	
+                    throw new JspException(e);
+                }
+            }         
+        }
+        return EVAL_BODY_INCLUDE;
+    }
+	
+    
+	/* (non-Javadoc)
+	 * @see org.apache.pluto.tags.BaseURLTag#doEndTag()
+	 */
+	@Override
+	public int doEndTag() throws JspException{
+		
+		setUrlParameters(url);		
+		
+		HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();
+		//	properly encoding urls to allow non-cookie enabled sessions - PLUTO-252 
+		String urlString = response.encodeURL(url.toString());
+		
+	    if (var == null) {
+            try {            	
+                JspWriter writer = pageContext.getOut();
+                writer.print(urlString);
+            } catch (IOException ioe) {
+                throw new JspException(
+                    "actionURL/renderURL Tag Exception: cannot write to the output writer.");
+            }
+        } 
+	    else {
+            pageContext.setAttribute(var, urlString,
+                                     PageContext.PAGE_SCOPE);
+        }
+	    
+	    /*cleanup*/
+	    parametersMap.clear();
+	    
+        return EVAL_PAGE;
+	}
+	
+	
+	/**
+	 * Returns the url property.
+     * @return PortletURL
+     */
+    public PortletURL getUrl() {
+        return url;
+    }
+	
+    
+	/**
+     * Returns the portletMode property.
+     * @return String
+     */
+    public String getPortletMode() {
+        return portletMode;
+    }
+    
+    
+    /**
+     * Returns the windowState property.
+     * @return String
+     */
+    public String getWindowState() {
+        return windowState;
+    }
+    
+    
+    
+    /**
+     * Sets the url property.
+     * @param url The url to set
+     * @return void
+     */
+    public void setUrl(PortletURL url) {
+        this.url = url;
+    }
+    
+    
+    /**
+     * Sets the portletMode property.
+     * @param portletMode - the portlet mode to set
+     * @return void
+     */
+    public void setPortletMode(String portletMode) {
+        this.portletMode = portletMode;
+    }
+    
+    
+    /**
+     * Sets the windowState property.
+     * @param windowState - the portlet window state to set
+     * @return void
+     */
+    public void setWindowState(String windowState) {
+        this.windowState = windowState;
+    }
+    
+  
+    
+    /**
+     * Creates an actionURL or a renderURL
+     * @param portletResponse PortletResponse
+     * @return PortletURL
+     */
+    protected abstract PortletURL createPortletUrl(PortletResponse portletResponse);   
+    
+    
+  
+	/**
+	 * TagExtraInfo class for PortletURLTag.
+	 */
+	public static class TEI extends BaseURLTag.TEI {
+        public final static Hashtable<String,Object> definedWindowStates = getDefinedWindowStates();
+        public final static Hashtable<String,Object> portletModes = getDefinedPortletModes();
+
+        /**
+         * Provides a list of all static PortletMode available in the
+         * specifications by using introspection
+         * @return Hashtable
+         */
+        private static Hashtable<String,Object> getDefinedPortletModes() {
+            Hashtable<String,Object> portletModes = new Hashtable<String,Object>();
+            Field[] f = PortletMode.class.getDeclaredFields();
+
+            for (int i = 0; i < f.length; i++) {
+                if (f[i].getType().isAssignableFrom(
+                    javax.portlet.PortletMode.class)) {
+                    try {
+                        portletModes.put(
+                            f[i].get(f[i]).toString().toUpperCase(),
+                            f[i].get(f[i]));
+                    } catch (IllegalAccessException e) {
+                    }
+                }
+            }
+
+            return portletModes;
+        }
+
+        /**
+         * Provides a list of all static WindowsStates available in the
+         * specifications by using introspection
+         * @return Hashtable
+         */
+        private static Hashtable<String,Object> getDefinedWindowStates() {
+            Hashtable<String,Object> definedWindowStates = new Hashtable<String,Object>();
+            Field[] f = WindowState.class.getDeclaredFields();
+
+            for (int i = 0; i < f.length; i++) {
+                if (f[i].getType().isAssignableFrom(
+                    javax.portlet.WindowState.class)) {
+                    try {
+                        definedWindowStates.put(
+                            f[i].get(f[i]).toString().toUpperCase(),
+                            f[i].get(f[i]));
+                    } catch (IllegalAccessException e) {
+
+                    }
+                }
+            }
+            return definedWindowStates;
+        }
+    }
+	
+}

Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/PortletURLTag286.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/PortletURLTag286.java?rev=603014&view=auto
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/PortletURLTag286.java (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/PortletURLTag286.java Mon Dec 10 11:45:21 2007
@@ -0,0 +1,354 @@
+/*
+ * 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.
+ */
+package org.apache.pluto.tags;
+
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Set;
+
+import javax.portlet.PortletMode;
+import javax.portlet.PortletModeException;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+import javax.portlet.PortletSecurityException;
+import javax.portlet.PortletURL;
+import javax.portlet.WindowState;
+import javax.portlet.WindowStateException;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+
+/**
+ * Abstract supporting class for the JSR 286 actionURL 
+ * and renderURL tag.
+ * 
+ * @version 2.0
+ */
+
+public abstract class PortletURLTag286 extends BaseURLTag {
+	
+
+	protected String portletMode = null;
+	
+	protected String windowState = null;
+	
+	protected Boolean copyCurrentRenderParameters = false;
+	
+	protected PortletURL url = null;
+	
+	
+	public PortletURLTag286() {
+		super();
+		this.escapeXml = true;
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.apache.pluto.tags.BaseURLTag#doStartTag()
+	 */
+	@Override
+    public int doStartTag() throws JspException {
+    	    	    	
+        if (var != null) {
+            pageContext.removeAttribute(var, PageContext.PAGE_SCOPE);
+        }
+        
+       /* //FIXME:
+        PortletConfig portletConfig = 
+        	(PortletConfig) pageContext.getRequest().getAttribute(Constants.PORTLET_CONFIG);
+        
+        if(portletConfig != null){
+        	PortletContext portletContext = portletConfig.getPortletContext();
+        	if(portletContext != null){
+        		Map<String, String[]> containerOptions = portletContext.getContainerRuntimeOptions(); 
+        		if(containerOptions != null){
+        			String[] escapeXmlOption = 
+        				containerOptions.get(Constants.ESCAPE_XML_RUNTIME_OPTION);
+        			if(escapeXmlOption != null){
+        				System.out.println(escapeXmlOption);
+        			}
+        		}
+        	}
+        }*/
+        
+        PortletResponse portletResponse = 
+        	(PortletResponse) pageContext.getRequest().getAttribute(Constants.PORTLET_RESPONSE);
+
+        if (portletResponse != null) {
+        	
+        	
+            setUrl(createPortletUrl(portletResponse));
+            
+            if (portletMode != null) {//set portlet mode
+                try {
+                    PortletMode mode = (PortletMode)
+                        TEI.portletModes.get(portletMode.toUpperCase());
+                    
+                    if (mode == null) {
+                        mode = new PortletMode(portletMode);// support for custom portlet modes PLUTO-258
+                    }
+                    
+                    url.setPortletMode(mode);
+                    
+                } catch (PortletModeException e) {                	
+                    throw new JspException(e);                    
+                }
+            }
+            
+            if (windowState != null) {//set window state
+                try {                	
+                    WindowState state = (WindowState)
+                        TEI.definedWindowStates.get(windowState.toUpperCase());                  
+                    
+                    if (state == null) {
+                        state = new WindowState(windowState);//support for custom window states PLUTO-258
+                    }
+                    
+                    url.setWindowState(state);
+                    
+                } catch (WindowStateException e) {                	
+                    throw new JspException(e);
+                }
+            }
+            
+            if (secure != null) {//set secure boolean
+                try {                	
+                    url.setSecure(getSecureBoolean());
+                } catch (PortletSecurityException e) {                	
+                    throw new JspException(e);
+                }
+            }         
+        }
+        return EVAL_BODY_INCLUDE;
+    }
+	
+    
+	/* (non-Javadoc)
+	 * @see org.apache.pluto.tags.BaseURLTag#doEndTag()
+	 */
+	@Override
+	public int doEndTag() throws JspException{
+				
+		if(copyCurrentRenderParameters){
+			/*prepend current render parameters*/
+			doCopyCurrentRenderParameters();
+		}
+		
+		setUrlParameters(url);		
+		setUrlProperties(url);
+		
+		HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();
+		//	properly encoding urls to allow non-cookie enabled sessions - PLUTO-252 
+		String urlString = response.encodeURL(url.toString());
+		
+		if(escapeXml){
+			urlString = doEscapeXml(urlString);
+		}
+		
+	    if (var == null) {
+            try {            	
+                JspWriter writer = pageContext.getOut();
+                writer.print(urlString);
+            } catch (IOException ioe) {
+                throw new JspException(
+                    "actionURL/renderURL Tag Exception: cannot write to the output writer.");
+            }
+        } 
+	    else {
+            pageContext.setAttribute(var, urlString,
+                                     PageContext.PAGE_SCOPE);
+        }
+	    
+	    /*cleanup*/
+	    propertiesMap.clear();
+	    parametersMap.clear();
+	    
+        return EVAL_PAGE;
+	}
+	
+	
+	/**
+	 * Returns the url property.
+     * @return PortletURL
+     */
+    public PortletURL getUrl() {
+        return url;
+    }
+	
+    
+	/**
+     * Returns the portletMode property.
+     * @return String
+     */
+    public String getPortletMode() {
+        return portletMode;
+    }
+    
+    
+    /**
+     * Returns the windowState property.
+     * @return String
+     */
+    public String getWindowState() {
+        return windowState;
+    }
+    
+    
+    /**
+     * Returns the copyCurrentRenderParameters property.
+     * @return Boolean
+     */
+    public Boolean getCopyCurrentRenderParameters() {
+        return copyCurrentRenderParameters;
+    }
+    
+    
+    /**
+     * Sets the url property.
+     * @param url The url to set
+     * @return void
+     */
+    public void setUrl(PortletURL url) {
+        this.url = url;
+    }
+    
+    
+    /**
+     * Sets the portletMode property.
+     * @param portletMode - the portlet mode to set
+     * @return void
+     */
+    public void setPortletMode(String portletMode) {
+        this.portletMode = portletMode;
+    }
+    
+    
+    /**
+     * Sets the windowState property.
+     * @param windowState - the portlet window state to set
+     * @return void
+     */
+    public void setWindowState(String windowState) {
+        this.windowState = windowState;
+    }
+    
+    
+    /**
+     * Sets copyCurrentRenderParameters property.
+     * @param copyCurrentRenderParameters
+     * @return void
+     */
+    public void setCopyCurrentRenderParameters(Boolean copyCurrentRenderParameters) {
+        this.copyCurrentRenderParameters = copyCurrentRenderParameters;
+    }
+    
+    
+    /**
+     * Copies the current render parameters to the parameter map.
+     * @return void
+     */
+    protected void doCopyCurrentRenderParameters(){
+    	PortletRequest request = 
+    		(PortletRequest) pageContext.getRequest().
+    		getAttribute(Constants.PORTLET_REQUEST);
+		
+    	if(request != null){    		
+			Map<String,String[]> renderParamsMap =
+				request.getPrivateParameterMap();
+			
+			Set<String> keySet = renderParamsMap.keySet();
+			
+			for(String key : keySet){
+												
+				String[] values = renderParamsMap.get(key);
+				
+				for(int index = 0; index < values.length; ++index){
+					addParameter(key, values[index]);				
+				}
+			}
+		}
+    }
+    
+    
+    /**
+     * Creates an actionURL or a renderURL
+     * @param portletResponse PortletResponse
+     * @return PortletURL
+     */
+    protected abstract PortletURL createPortletUrl(PortletResponse portletResponse);   
+    
+    
+  
+	/**
+	 * TagExtraInfo class for PortletURLTag.
+	 */
+	public static class TEI extends BaseURLTag.TEI {
+        public final static Hashtable<String,Object> definedWindowStates = getDefinedWindowStates();
+        public final static Hashtable<String,Object> portletModes = getDefinedPortletModes();
+
+        /**
+         * Provides a list of all static PortletMode available in the
+         * specifications by using introspection
+         * @return Hashtable
+         */
+        private static Hashtable<String,Object> getDefinedPortletModes() {
+            Hashtable<String,Object> portletModes = new Hashtable<String,Object>();
+            Field[] f = PortletMode.class.getDeclaredFields();
+
+            for (int i = 0; i < f.length; i++) {
+                if (f[i].getType().isAssignableFrom(
+                    javax.portlet.PortletMode.class)) {
+                    try {
+                        portletModes.put(
+                            f[i].get(f[i]).toString().toUpperCase(),
+                            f[i].get(f[i]));
+                    } catch (IllegalAccessException e) {
+                    }
+                }
+            }
+
+            return portletModes;
+        }
+
+        /**
+         * Provides a list of all static WindowsStates available in the
+         * specifications by using introspection
+         * @return Hashtable
+         */
+        private static Hashtable<String,Object> getDefinedWindowStates() {
+            Hashtable<String,Object> definedWindowStates = new Hashtable<String,Object>();
+            Field[] f = WindowState.class.getDeclaredFields();
+
+            for (int i = 0; i < f.length; i++) {
+                if (f[i].getType().isAssignableFrom(
+                    javax.portlet.WindowState.class)) {
+                    try {
+                        definedWindowStates.put(
+                            f[i].get(f[i]).toString().toUpperCase(),
+                            f[i].get(f[i]));
+                    } catch (IllegalAccessException e) {
+
+                    }
+                }
+            }
+            return definedWindowStates;
+        }
+    }
+	
+}

Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/PropertyTag.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/PropertyTag.java?rev=603014&r1=603013&r2=603014&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/PropertyTag.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/PropertyTag.java Mon Dec 10 11:45:21 2007
@@ -21,7 +21,7 @@
 
 
 /**
- * A tag handler for the <CODE>property</CODE> tag. Defines a propery that
+ * A tag handler for the <CODE>property</CODE> tag. Defines a property that
  * can be added to a <CODE>actionURL</CODE>, a <CODE>resourceURL</CODE> or a <CODE>renderURL</CODE>
  * <BR>The following attributes are mandatory:
  *   <UL>
@@ -35,8 +35,8 @@
 	
 	private static final long serialVersionUID = 286L;
 
-    private String name;
-    private String value;
+    private String name = null;
+    private String value = null;
 
     /**
      * Processes the <CODE>param</CODE> tag.
@@ -48,9 +48,10 @@
 
         if (urlTag == null) {
             throw new JspException(
-                "the 'param' Tag must have actionURL, renderURL or resourceURL as a parent");
+                "the 'property' Tag must have a actionURL, renderURL " +
+                "or resourceURL tag as a parent");
         }
-
+        
         urlTag.addProperty(getName(), getValue());
 
         return SKIP_BODY;

Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/RenderURLTag168.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/RenderURLTag168.java?rev=603014&view=auto
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/RenderURLTag168.java (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/RenderURLTag168.java Mon Dec 10 11:45:21 2007
@@ -0,0 +1,47 @@
+/*
+ * 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.
+ */
+package org.apache.pluto.tags;
+
+
+import javax.portlet.PortletResponse;
+import javax.portlet.PortletURL;
+import javax.portlet.RenderResponse;
+
+
+/**
+ * A tag handler for the <CODE>renderURL</CODE> tag,which creates a url that
+ * points to the current Portlet and triggers a render request with the
+ * supplied parameters.
+ * 
+ * @version 2.0
+ */
+public class RenderURLTag168 extends PortletURLTag286 {
+	
+	private static final long serialVersionUID = 286L;
+
+    /**
+     * Creates a render PortletURL
+     * @param portletResponse PortletResponse
+     * @return PortletURL
+     */
+	@Override
+	protected PortletURL createPortletUrl(PortletResponse portletResponse){
+		return ((RenderResponse)portletResponse).createRenderURL();
+	}
+    
+}
+

Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/RenderURLTag286.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/RenderURLTag286.java?rev=603014&view=auto
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/RenderURLTag286.java (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/RenderURLTag286.java Mon Dec 10 11:45:21 2007
@@ -0,0 +1,47 @@
+/*
+ * 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.
+ */
+package org.apache.pluto.tags;
+
+
+import javax.portlet.PortletResponse;
+import javax.portlet.PortletURL;
+import javax.portlet.RenderResponse;
+
+
+/**
+ * A tag handler for the <CODE>renderURL</CODE> tag,which creates a url that
+ * points to the current Portlet and triggers a render request with the
+ * supplied parameters.
+ * 
+ * @version 2.0
+ */
+public class RenderURLTag286 extends PortletURLTag286 {
+	
+	private static final long serialVersionUID = 286L;
+
+    /**
+     * Creates a render PortletURL
+     * @param portletResponse PortletResponse
+     * @return PortletURL
+     */
+	@Override
+	protected PortletURL createPortletUrl(PortletResponse portletResponse){
+		return ((RenderResponse)portletResponse).createRenderURL();
+	}
+    
+}
+

Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ResourceURLTag286.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ResourceURLTag286.java?rev=603014&view=auto
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ResourceURLTag286.java (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/ResourceURLTag286.java Mon Dec 10 11:45:21 2007
@@ -0,0 +1,189 @@
+/*
+ * 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.
+ */
+package org.apache.pluto.tags;
+
+
+import java.io.IOException;
+
+import javax.portlet.PortletResponse;
+import javax.portlet.PortletSecurityException;
+import javax.portlet.RenderResponse;
+import javax.portlet.ResourceURL;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+
+
+/**
+ * A tag handler for the <CODE>resourceURL</CODE> tag,which creates a url that
+ * points to the current Portlet and triggers a resource request with the
+ * supplied parameters.
+ * 
+ * @version 2.0
+ */
+
+public class ResourceURLTag286 extends BaseURLTag {
+	
+	private static final long serialVersionUID = 286L;
+
+	private ResourceURL url = null;
+	
+	private String id = null;
+	private String cachability = null;
+	
+
+	public ResourceURLTag286() {
+		super();
+		this.escapeXml = true;
+	}
+	
+
+	/* (non-Javadoc)
+	 * @see org.apache.pluto.tags.BaseURLTag#doStartTag()
+	 */
+	@Override
+	public int doStartTag() throws JspException {
+		
+        if (var != null) {
+            pageContext.removeAttribute(var, PageContext.PAGE_SCOPE);
+        }
+        
+        PortletResponse portletResponse = (PortletResponse) pageContext.getRequest()
+            .getAttribute(Constants.PORTLET_RESPONSE);
+
+        if (portletResponse != null) {
+        	
+            url = ((RenderResponse)portletResponse).createResourceURL();
+            
+            if (secure != null) {
+                try {                	
+                    url.setSecure(getSecureBoolean());                    
+                } catch (PortletSecurityException e) {                	
+                    throw new JspException(e);                    
+                }
+            }
+        }
+        
+    	if(id != null){
+			url.setResourceID(id);
+		}
+		
+		if(cachability != null){
+			try{
+				url.setCacheability(cachability);
+			}
+			catch(IllegalArgumentException e){
+				throw new JspException(e);
+			}
+			catch(IllegalStateException e){
+				throw new JspException(e);
+			}
+		}
+        
+        return EVAL_BODY_INCLUDE;
+    }
+	
+
+	/* (non-Javadoc)
+	 * @see org.apache.pluto.tags.BaseURLTag#doEndTag()
+	 */
+	@Override
+	public int doEndTag() throws JspException{
+		
+		setUrlParameters(url);
+		setUrlProperties(url);
+		
+		HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();
+		
+		String urlString = response.encodeURL(url.toString());
+        //properly encoding urls to allow non-cookie enabled sessions - PLUTO-252 
+		
+		if(escapeXml){			
+			urlString = doEscapeXml(urlString);
+		}
+		
+	    if (var == null) {
+            try {
+                JspWriter writer = pageContext.getOut();
+                writer.print(urlString);                
+            } catch (IOException ioe) {            	
+                throw new JspException(
+                   "resourceURL Tag Exception: cannot write to the output writer.");
+            }
+            
+        } 
+	    else {        	
+            pageContext.setAttribute(var, urlString,
+                                     PageContext.PAGE_SCOPE);
+        }
+	    
+	    /*cleanup*/
+	    propertiesMap.clear();
+	    parametersMap.clear();
+	    
+        return EVAL_PAGE;
+	}
+	
+    /**
+     * Gets the url property.
+     * @return BaseURL
+     */
+    public ResourceURL getUrl() {
+        return url;
+    }
+	
+    /**
+     * Sets the url porperty.
+     * @param url BaseUrl - The url to set.
+     * @return void
+     */
+    public void setUrl(ResourceURL url) {
+        this.url = url;
+    }
+    
+	/**
+	 * @return the id
+	 */
+	public String getId() {
+		return id;
+	}
+
+
+	/**
+	 * @param id the id to set
+	 */
+	public void setId(String id) {
+		this.id = id;
+	}
+
+
+	/**
+	 * @return the cachability
+	 */
+	public String getCachability() {
+		return cachability;
+	}
+
+
+	/**
+	 * @param cachability the cachability to set
+	 */
+	public void setCachability(String cachability) {
+		this.cachability = cachability;
+	}
+}

Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/ApacheTaglibStandardExpressionEvaluatorProxy.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/ApacheTaglibStandardExpressionEvaluatorProxy.java?rev=603014&r1=603013&r2=603014&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/ApacheTaglibStandardExpressionEvaluatorProxy.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/ApacheTaglibStandardExpressionEvaluatorProxy.java Mon Dec 10 11:45:21 2007
@@ -28,7 +28,7 @@
 
     static {
         try {
-            Class expressionEvaluatorManagerClass = Class.forName("org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager");
+            Class<?> expressionEvaluatorManagerClass = Class.forName("org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager");
             evaluateMethod = expressionEvaluatorManagerClass.getMethod("evaluate", new Class[] { String.class, String.class,  Class.class, PageContext.class});
         } catch (ClassNotFoundException e) {
             throw new RuntimeException("Unable to find ExpressionEvaluatorManager.  Make sure standard.jar is in your classpath");

Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/ExpressionEvaluatorProxy.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/ExpressionEvaluatorProxy.java?rev=603014&r1=603013&r2=603014&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/ExpressionEvaluatorProxy.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/ExpressionEvaluatorProxy.java Mon Dec 10 11:45:21 2007
@@ -32,7 +32,7 @@
 
     private static final Log LOG = LogFactory.getLog(ExpressionEvaluatorProxy.class);
 
-    private static final Map FACTORIES = new TreeMap();
+    private static final Map<String, String> FACTORIES = new TreeMap<String, String>();
 
     private static ExpressionEvaluatorProxy proxy;
 
@@ -42,9 +42,9 @@
         // And finally, a default that should always be provided, but for which an additional jar is needed.
         FACTORIES.put("getRequest", "ApacheTaglibStandardExpressionEvaluatorProxy");
 
-        Iterator entrySetIterator = FACTORIES.entrySet().iterator();
+        Iterator<Map.Entry<String, String>> entrySetIterator = FACTORIES.entrySet().iterator();
         while(entrySetIterator.hasNext()) {
-            Map.Entry entry = (Map.Entry)entrySetIterator.next();
+            Map.Entry<String, String> entry = entrySetIterator.next();
             if(isPageContextMethodAvailable(entry.getKey().toString())) {
                 try {
                     String className =
@@ -54,7 +54,7 @@
                         LOG.info("Attempting to utilize expression evaluator proxy '"+className+"'");
                     }
 
-                    Class proxyClass = Class.forName(className);
+                    Class<?> proxyClass = Class.forName(className);
                     proxy = (ExpressionEvaluatorProxy)proxyClass.newInstance();
 
                     if(proxy != null) {
@@ -84,7 +84,7 @@
 
     private static boolean isPageContextMethodAvailable(String signature) {
          try {
-            Method method = PageContext.class.getMethod(signature, null);
+            Method method = PageContext.class.getMethod(signature);
             return method != null;
         } catch (NoSuchMethodException e) {
              return false;

Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/JSP21ExpressionEvaluatorProxy.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/JSP21ExpressionEvaluatorProxy.java?rev=603014&r1=603013&r2=603014&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/JSP21ExpressionEvaluatorProxy.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/JSP21ExpressionEvaluatorProxy.java Mon Dec 10 11:45:21 2007
@@ -34,14 +34,12 @@
 
     public static Method evalMethod;
 
-    private static boolean initialized;
-
     private static Object jspFactory;
 
     static {
         try {
             jspFactory = Class.forName("javax.servlet.jsp.JspFactory")
-                .getMethod("getDefaultFactory", new Class[0]).invoke(null, null);
+                .getMethod("getDefaultFactory", new Class[0]).invoke(null);
             jspApplicationContextGetter = 
                 jspFactory.getClass().getMethod("getJspApplicationContext",
                     new Class[] { ServletContext.class });
@@ -69,9 +67,9 @@
                     new Object[] { pageContext.getServletContext() });
 
             Object expressionFactory = expressionFactoryGetter.invoke(
-                    jspApplicationContext, null);
+                    jspApplicationContext, (Object)null);
 
-            Object elContext = elContextGetter.invoke(pageContext, null);
+            Object elContext = elContextGetter.invoke(pageContext);
 
             Object valueExpression = valueExpressionGetter.invoke(
                     expressionFactory, new Object[] { elContext, value,

Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/ParamTag.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/ParamTag.java?rev=603014&r1=603013&r2=603014&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/ParamTag.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/ParamTag.java Mon Dec 10 11:45:21 2007
@@ -20,15 +20,11 @@
 
 
 public class ParamTag extends org.apache.pluto.tags.ParamTag {
-	
-	private static final long serialVersionUID=286L;
 
-    public String getValue() throws JspException {
+	private static final long serialVersionUID = 286L;
+
+	public String getValue() throws JspException {
         return ExpressionEvaluatorProxy.getProxy().evaluate(super.getValue(), pageContext);
     }
-    public String getName() throws JspException {
-        return ExpressionEvaluatorProxy.getProxy().evaluate(super.getName(), pageContext);
-    }
-
 
 }

Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/PropertyTag.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/PropertyTag.java?rev=603014&view=auto
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/PropertyTag.java (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/java/org/apache/pluto/tags/el/PropertyTag.java Mon Dec 10 11:45:21 2007
@@ -0,0 +1,30 @@
+/*
+ * 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.
+ */
+package org.apache.pluto.tags.el;
+
+import javax.servlet.jsp.JspException;
+
+
+public class PropertyTag extends org.apache.pluto.tags.PropertyTag {
+
+	private static final long serialVersionUID = 286L;
+
+	public String getValue() throws JspException {
+        return ExpressionEvaluatorProxy.getProxy().evaluate(super.getValue(), pageContext);
+    }
+
+}

Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/resources/META-INF/portlet-el.tld
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/resources/META-INF/portlet-el.tld?rev=603014&r1=603013&r2=603014&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/resources/META-INF/portlet-el.tld (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-taglib/src/main/resources/META-INF/portlet-el.tld Mon Dec 10 11:45:21 2007
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <!DOCTYPE taglib PUBLIC
-  "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
-  "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
+  "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+  "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_2.dtd">
 <!-- 
-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
+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
@@ -21,20 +21,20 @@
 limitations under the License.
 -->
 <taglib>
-    <tlibversion>1.0</tlibversion>
-    <jspversion>1.2</jspversion>
-    <shortname>portlet</shortname>
+    <tlib-version>1.0</tlib-version>
+    <jsp-version>1.2</jsp-version>
+    <short-name>portlet-el</short-name>
     <uri>http://portals.apache.org/pluto/portlet-el</uri>
     <tag>
         <name>defineObjects</name>
-        <tagclass>org.apache.pluto.tags.DefineObjectsTag</tagclass>
-        <teiclass>org.apache.pluto.tags.DefineObjectsTag$TEI</teiclass>
-        <bodycontent>empty</bodycontent>
+        <tag-class>org.apache.pluto.tags.DefineObjectsTag168</tag-class>
+        <tei-class>org.apache.pluto.tags.DefineObjectsTag168$TEI</tei-class>
+        <body-content>empty</body-content>
     </tag>
     <tag>
         <name>param</name>
-        <tagclass>org.apache.pluto.tags.el.ParamTag</tagclass>
-        <bodycontent>empty</bodycontent>
+        <tag-class>org.apache.pluto.tags.el.ParamTag</tag-class>
+        <body-content>empty</body-content>
         <attribute>
             <name>name</name>
             <required>true</required>
@@ -47,25 +47,10 @@
         </attribute>
     </tag>
     <tag>
-        <name>property</name>
-        <tagclass>org.apache.pluto.tags.PropertyTag</tagclass>
-        <bodycontent>empty</bodycontent>
-        <attribute>
-            <name>name</name>
-            <required>true</required>
-            <rtexprvalue>true</rtexprvalue>
-        </attribute>
-        <attribute>
-            <name>value</name>
-            <required>true</required>
-            <rtexprvalue>true</rtexprvalue>
-        </attribute>
-    </tag>     
-   <tag>
         <name>actionURL</name>
-        <tagclass>org.apache.pluto.tags.ActionURLTag</tagclass>
-        <teiclass>org.apache.pluto.tags.PortletURLTag$TEI</teiclass>
-        <bodycontent>JSP</bodycontent>
+        <tag-class>org.apache.pluto.tags.ActionURLTag168</tag-class>
+        <tei-class>org.apache.pluto.tags.PortletURLTag168$TEI</tei-class>
+        <body-content>JSP</body-content>
         <attribute>
             <name>windowState</name>
             <required>false</required>
@@ -76,32 +61,22 @@
             <required>false</required>
             <rtexprvalue>true</rtexprvalue>
         </attribute>
-	   <attribute>
-            <name>var</name>
-            <required>false</required>
-            <rtexprvalue>true</rtexprvalue>
-        </attribute>        
         <attribute>
             <name>secure</name>
             <required>false</required>
             <rtexprvalue>true</rtexprvalue>
         </attribute>
         <attribute>
-            <name>copyCurrentRenderParameters</name>
-            <required>false</required>
-            <rtexprvalue>true</rtexprvalue>
-        </attribute>        
-        <attribute>
-            <name>escapeXml</name>
+            <name>var</name>
             <required>false</required>
             <rtexprvalue>true</rtexprvalue>
         </attribute>
     </tag>
     <tag>
         <name>renderURL</name>
-        <tagclass>org.apache.pluto.tags.RenderURLTag</tagclass>
-        <teiclass>org.apache.pluto.tags.PortletURLTag$TEI</teiclass>
-        <bodycontent>JSP</bodycontent>
+        <tag-class>org.apache.pluto.tags.RenderURLTag168</tag-class>
+        <tei-class>org.apache.pluto.tags.PortletURLTag168$TEI</tei-class>
+        <body-content>JSP</body-content>
         <attribute>
             <name>windowState</name>
             <required>false</required>
@@ -122,51 +97,10 @@
             <required>false</required>
             <rtexprvalue>true</rtexprvalue>
         </attribute>
-        <attribute>
-            <name>copyCurrentRenderParameters</name>
-            <required>false</required>
-            <rtexprvalue>true</rtexprvalue>
-        </attribute>        
-        <attribute>
-            <name>escapeXml</name>
-            <required>false</required>
-            <rtexprvalue>true</rtexprvalue>
-        </attribute>        
     </tag>
     <tag>
-        <name>resourceURL</name>
-        <tagclass>org.apache.pluto.tags.ResourceURLTag</tagclass>
-        <teiclass>org.apache.pluto.tags.BaseURLTag$TEI</teiclass>
-        <bodycontent>JSP</bodycontent>
-        <attribute>
-            <name>var</name>
-            <required>false</required>
-            <rtexprvalue>true</rtexprvalue>
-        </attribute>        
-        <attribute>
-            <name>secure</name>
-            <required>false</required>
-            <rtexprvalue>true</rtexprvalue>
-        </attribute>
-        <attribute>
-            <name>escapeXml</name>
-            <required>false</required>
-            <rtexprvalue>true</rtexprvalue>
-        </attribute>      
-		<attribute>
-            <name>id</name>
-            <required>false</required>
-            <rtexprvalue>true</rtexprvalue>
-        </attribute>
-		<attribute>
-            <name>cacheability</name>
-            <required>false</required>
-            <rtexprvalue>true</rtexprvalue>
-        </attribute>            
-    </tag>    
-    <tag>
         <name>namespace</name>
-        <tagclass>org.apache.pluto.tags.NamespaceTag</tagclass>
-        <bodycontent>empty</bodycontent>
+        <tag-class>org.apache.pluto.tags.NamespaceTag</tag-class>
+        <body-content>empty</body-content>
     </tag>
-</taglib>
+</taglib>
\ No newline at end of file



Mime
View raw message