[richfaces-svn-commits] JBoss Rich Faces SVN: r4444 - branches/3.1.x/framework/test/src/main/java/org/ajax4jsf/tests.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Tue Dec 4 09:47:57 EST 2007


Author: sergeyhalipov
Date: 2007-12-04 09:47:57 -0500 (Tue, 04 Dec 2007)
New Revision: 4444

Modified:
   branches/3.1.x/framework/test/src/main/java/org/ajax4jsf/tests/MockExternalContext.java
Log:
Unimplemented methods in shale-tests added.

Modified: branches/3.1.x/framework/test/src/main/java/org/ajax4jsf/tests/MockExternalContext.java
===================================================================
--- branches/3.1.x/framework/test/src/main/java/org/ajax4jsf/tests/MockExternalContext.java	2007-12-04 14:17:36 UTC (rev 4443)
+++ branches/3.1.x/framework/test/src/main/java/org/ajax4jsf/tests/MockExternalContext.java	2007-12-04 14:47:57 UTC (rev 4444)
@@ -21,15 +21,23 @@
 
 package org.ajax4jsf.tests;
 
+import java.io.IOException;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.Enumeration;
 import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
 import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
 
+import javax.faces.FacesException;
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.commons.collections.EnumerationUtils;
 import org.apache.shale.test.mock.MockExternalContext12;
 
 /**
@@ -37,22 +45,95 @@
  *
  */
 public class MockExternalContext extends MockExternalContext12 {
-
+	/*
+	 * Realizes methods unimplemented by org.apache.shale.test.mock.MockExternalContext operations.
+	 *  
+	 */
+	
+	private Map requestParameterValuesMap = null;
+	private Map requestHeaderMap = null;
+	private Map requestHeaderValuesMap = null;
+	private Iterator requestParameterNamesIterator = null;
+	private Set resourcePathsSet = null;
+	
 	public MockExternalContext(org.apache.shale.test.mock.MockExternalContext baseContext) {
 		super((ServletContext)baseContext.getContext(), 
 				(HttpServletRequest)baseContext.getRequest(), (HttpServletResponse)baseContext.getResponse());
 	}
 	
 	public Map getRequestParameterValuesMap() {
-		// Method is unimplemented in org.apache.shale.test.mock.MockExternalContext and
-		// throws there UnsupportedOperationException
-		Map map = new HashMap();
-		HttpServletRequest request = (HttpServletRequest)getRequest();
-		for ( Enumeration e = request.getParameterNames(); e.hasMoreElements(); ) {
-			String name = (String) e.nextElement();
-			map.put(name, request.getParameterValues(name));
+		if (null == requestParameterValuesMap) {
+			Map map = new HashMap();
+			HttpServletRequest request = (HttpServletRequest)getRequest();
+			for ( Enumeration e = request.getParameterNames(); e.hasMoreElements(); ) {
+				String name = (String) e.nextElement();
+				map.put(name, request.getParameterValues(name));
+			}
+			requestParameterValuesMap =  Collections.unmodifiableMap(map);
 		}
-		return Collections.unmodifiableMap(map);
+		return requestParameterValuesMap;
 	}
-
+	
+	public void dispatch(String requestURI) 
+		throws IOException, FacesException {
+		
+	}
+	
+	 public Map getRequestHeaderMap() {
+		 if (null == requestHeaderMap) {
+			 Map map = new TreeMap(CASE_INSENSITIVE_COMPARATOR);
+			 
+			 HttpServletRequest request = (HttpServletRequest)getRequest();
+			 for ( Enumeration e = request.getHeaderNames(); e.hasMoreElements(); ) {
+				 String name = (String) e.nextElement();
+				 map.put(name, request.getHeader(name));
+			 }
+			 requestHeaderMap = Collections.unmodifiableMap(map);
+		 }
+		 return requestHeaderMap;
+	 }
+	 
+	 public Map getRequestHeaderValuesMap() {
+		 if (null == requestHeaderValuesMap) {
+			 Map map = new TreeMap(CASE_INSENSITIVE_COMPARATOR);
+			 
+			 HttpServletRequest request = (HttpServletRequest)getRequest();
+			 for ( Enumeration e = request.getHeaderNames(); e.hasMoreElements(); ) {
+				 String name = (String) e.nextElement();
+				 map.put(name, EnumerationUtils.toList(request.getHeaders(name)).toArray());
+			 }
+			 requestHeaderValuesMap = Collections.unmodifiableMap(map);
+		 }
+		 return requestHeaderValuesMap;
+	 }
+	 
+	 public Iterator getRequestParameterNames() {
+		 if (null == requestParameterNamesIterator) {
+			 HttpServletRequest request = (HttpServletRequest)getRequest();
+			 requestParameterNamesIterator = EnumerationUtils.toList(request.getParameterNames()).iterator();
+		 }
+		 return requestParameterNamesIterator;
+	 }
+	 
+	 public Set getResourcePaths(String path) {
+		 // TODO hans, should be implemented
+		 if (null == resourcePathsSet) {
+			 resourcePathsSet = new HashSet();			 
+		 }
+		 return resourcePathsSet;
+	 }
+	 
+	 public void redirect(String requestURI) throws IOException {
+		 // TODO hans, should be implemented
+		 super.redirect(requestURI);
+	 }
+	 
+	 protected final static Comparator CASE_INSENSITIVE_COMPARATOR = new Comparator() {
+		 public int compare(Object arg0, Object arg1) {
+			String s0 =  ( String ) arg0; 
+		    String s1 =  ( String ) arg1; 
+		    return s0.toUpperCase().compareTo(s1.toUpperCase()); 
+		}
+	 };
+	 
 }




More information about the richfaces-svn-commits mailing list