You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by cd...@apache.org on 2007/09/20 13:01:52 UTC

svn commit: r577681 - in /portals/pluto/branches/1.1-286-trunk-merge: pluto-container/src/main/java/org/apache/pluto/internal/impl/ pluto-descriptor-api/src/main/java/org/apache/pluto/descriptors/portlet/

Author: cdoremus
Date: Thu Sep 20 04:01:52 2007
New Revision: 577681

URL: http://svn.apache.org/viewvc?rev=577681&view=rev
Log:
Applied ResourceURL_getLocalPort_Session_090507.patch in PLUTO-263. Thanks Torsten!

Modified:
    portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletRequestDispatcherImpl.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletRequestImpl.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletSessionImpl.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/RenderRequestImpl.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/ResourceURLImpl.java
    portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-api/src/main/java/org/apache/pluto/descriptors/portlet/EventDefinitionDD.java

Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletRequestDispatcherImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletRequestDispatcherImpl.java?rev=577681&r1=577680&r2=577681&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletRequestDispatcherImpl.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletRequestDispatcherImpl.java Thu Sep 20 04:01:52 2007
@@ -135,8 +135,7 @@
 		}
 		InternalPortletRequest internalRequest = InternalImplConverter.getInternalRequest(request);
 		InternalPortletResponse internalResponse = InternalImplConverter.getInternalResponse(response);
-		boolean isForwarded = (internalRequest.isForwarded()
-        		|| internalResponse.isForwarded());
+		boolean isForwarded = (internalRequest.isForwarded()||internalResponse.isForwarded());
         try {
         	internalRequest.setForwarded(true);
         	internalRequest.setForwardedQueryString(queryString);

Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletRequestImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletRequestImpl.java?rev=577681&r1=577680&r2=577681&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletRequestImpl.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletRequestImpl.java Thu Sep 20 04:01:52 2007
@@ -269,6 +269,12 @@
                     internalPortletWindow,
                     httpSession);
         }
+        //for RequestDispatcher
+        if (isForwarded() || isIncluded())
+        	((PortletSessionImpl)portletSession).setIncludeOrForward(true);
+        else
+        	((PortletSessionImpl)portletSession).setIncludeOrForward(false);
+        
         return portletSession;
     }
     
@@ -783,7 +789,7 @@
 
 	@Override
 	public int getLocalPort() {
-		return (isIncluded() || isForwarded()) ? null : super.getLocalPort();
+		return (isIncluded() || isForwarded()) ? 0 : super.getLocalPort();
 	}
 	
 	public String getProtocol() {
@@ -919,7 +925,23 @@
         return (isIncluded() || isForwarded()) ? null : super.getRequestURL();
     }
     
+    @Override
+	public HttpSession getSession() {
+		if (isIncluded() || isForwarded()){
+			PortletSession session = getPortletSession();
+			return (HttpSession)session;
+		}
+		return super.getSession();
+	}
     
+    @Override
+	public HttpSession getSession(boolean arg0) {
+		if (isIncluded() || isForwarded()){
+			PortletSession session = getPortletSession(arg0); 
+			return (HttpSession)session;
+		}
+		return super.getSession();
+	}
 	
 	// ============= private methods ==================
 

Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletSessionImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletSessionImpl.java?rev=577681&r1=577680&r2=577681&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletSessionImpl.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/PortletSessionImpl.java Thu Sep 20 04:01:52 2007
@@ -67,6 +67,8 @@
     /** The internal portlet window. */
     private InternalPortletWindow internalPortletWindow = null;
     
+    //
+    private boolean isIncludeOrForward = false;
     
     // Constructor -------------------------------------------------------------
     
@@ -85,6 +87,8 @@
     // PortletSession Impl: Attributes -----------------------------------------
     
     public Object getAttribute(String name) {
+    	if (isIncludeOrForward)
+    		return getAttribute(name, APPLICATION_SCOPE);
         return getAttribute(name, DEFAULT_SCOPE);
     }
     
@@ -103,6 +107,8 @@
     }
     
     public Enumeration getAttributeNames() {
+    	if (isIncludeOrForward)
+    		return getAttributeNames(APPLICATION_SCOPE);
         return getAttributeNames(DEFAULT_SCOPE);
     }
     
@@ -126,7 +132,10 @@
     }
     
     public void removeAttribute(String name) {
-        removeAttribute(name, DEFAULT_SCOPE);
+    	if(isIncludeOrForward)
+    		removeAttribute(name, APPLICATION_SCOPE);
+    	else
+    		removeAttribute(name, DEFAULT_SCOPE);
     }
 
     public void removeAttribute(String name, int scope) {
@@ -139,7 +148,10 @@
     }
     
     public void setAttribute(String name, Object value) {
-        setAttribute(name, value, DEFAULT_SCOPE);
+    	if (isIncludeOrForward)
+    		setAttribute(name, value, PortletSession.APPLICATION_SCOPE);
+    	else
+    		setAttribute(name, value, DEFAULT_SCOPE);
     }
 
     public void setAttribute(String name, Object value, int scope) {
@@ -263,7 +275,10 @@
     }
 
     public Object getValue(String name) {
-        return this.getAttribute(name, DEFAULT_SCOPE);
+    	if (isIncludeOrForward)
+    		return this.getAttribute(name, APPLICATION_SCOPE);
+    	else
+    		return this.getAttribute(name, DEFAULT_SCOPE);
     }
 
     /**
@@ -275,17 +290,21 @@
     }
 
     public void putValue(String name, Object value) {
+    	if (isIncludeOrForward)
+    		this.setAttribute(name, value, APPLICATION_SCOPE);
         this.setAttribute(name, value, DEFAULT_SCOPE);
     }
 
     public void removeValue(String name) {
+    	if (isIncludeOrForward)
+    		this.removeAttribute(name, APPLICATION_SCOPE);
         this.removeAttribute(name, DEFAULT_SCOPE);
     }
 
 
 	public Map<String, Object> getMap() {
 		List<String> paramNames = getAttributeNamesAsList(DEFAULT_SCOPE);		
-		return fillMap(paramNames, DEFAULT_SCOPE);
+		return fillMap(paramNames, DEFAULT_SCOPE);	
 	}
 
 	public Map<String, Object> getMap(int scope) {
@@ -319,5 +338,10 @@
 			resultMap.put(string, getAttribute(string,scope));
 		}
 		return resultMap;
+	}
+
+
+	public void setIncludeOrForward(boolean isIncludeOrForward) {
+		this.isIncludeOrForward = isIncludeOrForward;
 	}
 }

Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/RenderRequestImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/RenderRequestImpl.java?rev=577681&r1=577680&r2=577681&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/RenderRequestImpl.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/RenderRequestImpl.java Thu Sep 20 04:01:52 2007
@@ -31,7 +31,6 @@
 import javax.servlet.ServletInputStream;
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -271,13 +270,5 @@
 	public Cookie[] getCookieProperties() {
 		// TODO Auto-generated method stub
 		throw new UnsupportedOperationException("This method needs to be implemented.");
-	}
-
-	@Override
-	public HttpSession getSession() {
-		if (isIncluded() || isForwarded()){
-			return (HttpSession) this.getPortletSession();
-		}
-		return super.getSession();
 	}
 }

Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/ResourceURLImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/ResourceURLImpl.java?rev=577681&r1=577680&r2=577681&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/ResourceURLImpl.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-container/src/main/java/org/apache/pluto/internal/impl/ResourceURLImpl.java Thu Sep 20 04:01:52 2007
@@ -60,7 +60,7 @@
 	}
 
 	public void setParameter(String name, String value) {
-	    if (name == null) {
+	    if (name == null||value == null) {
 	        throw new IllegalArgumentException(
 	            "name and value must not be null");
 	    }
@@ -78,14 +78,30 @@
 	}
 
 	public void setParameter(String name, String[] values) {
-		// TODO:
+		if (name == null || values == null) {
+	        throw new IllegalArgumentException(
+	            "name and values must not be null");
+	    }
+	    //first make a get parameter
+	    String[] tmp = this.servletRequest.getParameterValues(name);
+	    if ( tmp== null){
+	    	super.setParameter(name, values);
+	    }
+	    else{
+	    	String[] tmpValues = new String[tmp.length+values.length];
+	    	System.arraycopy(tmp, 0, tmpValues, 0, tmp.length);
+	    	System.arraycopy(values, 0, tmpValues, tmp.length, values.length);
+	    	super.setParameter(name, tmpValues);
+	    }
 	}
 
 	public void setParameters(Map<String, String[]> parameters) {
-		
-        // TODO:
-        
-        
+		if (parameters == null){
+			throw new IllegalArgumentException("parameter must not be null");
+		}
+		for (String name : parameters.keySet()) {
+			setParameter(name, parameters.get(name));
+		}
 	}
 
 	private String[] getRenderParameters(String name){

Modified: portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-api/src/main/java/org/apache/pluto/descriptors/portlet/EventDefinitionDD.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-api/src/main/java/org/apache/pluto/descriptors/portlet/EventDefinitionDD.java?rev=577681&r1=577680&r2=577681&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-api/src/main/java/org/apache/pluto/descriptors/portlet/EventDefinitionDD.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-api/src/main/java/org/apache/pluto/descriptors/portlet/EventDefinitionDD.java Thu Sep 20 04:01:52 2007
@@ -156,7 +156,7 @@
 	 * @return Returns the javaType.
 	 */
 	public String getJavaClass() {
-		return javaClass;
+		return javaClass.trim();
 	}
 
 	/**
@@ -184,7 +184,7 @@
 	 * @return Returns the xmlType.
 	 */
 	public String getXmlType() {
-		return xmlType;
+		return xmlType.trim();
 	}
 
 	/**