You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2006/06/06 06:16:04 UTC

svn commit: r411989 - in /myfaces/core/branches/jsf12/api/src/main/java/javax/faces: application/ component/ context/

Author: matzew
Date: Mon Jun  5 21:16:03 2006
New Revision: 411989

URL: http://svn.apache.org/viewvc?rev=411989&view=rev
Log:
some more jsf 1.2 stuff

Modified:
    myfaces/core/branches/jsf12/api/src/main/java/javax/faces/application/ViewHandler.java
    myfaces/core/branches/jsf12/api/src/main/java/javax/faces/application/ViewHandlerWrapper.java
    myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIComponent.java
    myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIComponentBase.java
    myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIData.java
    myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/_FacetsAndChildrenIterator.java
    myfaces/core/branches/jsf12/api/src/main/java/javax/faces/context/ExternalContext.java

Modified: myfaces/core/branches/jsf12/api/src/main/java/javax/faces/application/ViewHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java/javax/faces/application/ViewHandler.java?rev=411989&r1=411988&r2=411989&view=diff
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java/javax/faces/application/ViewHandler.java (original)
+++ myfaces/core/branches/jsf12/api/src/main/java/javax/faces/application/ViewHandler.java Mon Jun  5 21:16:03 2006
@@ -16,6 +16,8 @@
 package javax.faces.application;
 
 import javax.faces.FacesException;
+
+import java.io.UnsupportedEncodingException;
 import java.util.Locale;
 
 /**
@@ -30,6 +32,35 @@
     public static final String DEFAULT_SUFFIX_PARAM_NAME = "javax.faces.DEFAULT_SUFFIX";
     public static final String DEFAULT_SUFFIX = ".jsp";
 
+    /**
+     * @since JSF 1.2
+     */
+    public String calculateCharacterEncoding(javax.faces.context.FacesContext context)
+    {
+    	String _encoding = null;
+    	String _contentType = (String) context.getExternalContext().getRequestHeaderMap().get("Content-Type");
+    	int _indexOf = _contentType == null ? -1 :_contentType.indexOf("charset");
+    	if(_indexOf != -1)
+    	{
+			String _tempEnc =_contentType.substring(_indexOf); //charset=UTF-8 
+    		_encoding = _tempEnc.substring(_tempEnc.indexOf("=")+1); //UTF-8
+    	}
+    	else 
+    	{
+    		boolean _sessionAvailable = context.getExternalContext().getSession(false) != null;
+    		if(_sessionAvailable)
+    		{
+    			String _sessionParam = (String) context.getExternalContext().getSessionMap().get(CHARACTER_ENCODING_KEY); 
+    			if (_sessionParam != null)
+    			{
+    				_encoding = _sessionParam;
+    			}
+    		}
+    	}
+    	
+    	return _encoding;
+    }
+    
     public abstract Locale calculateLocale(javax.faces.context.FacesContext context);
 
     public abstract String calculateRenderKitId(javax.faces.context.FacesContext context);
@@ -42,7 +73,29 @@
 
     public abstract String getResourceURL(javax.faces.context.FacesContext context,
                                           String path);
-
+    
+    /**
+     * Method must be called by the JSF impl at the beginning of Phase <i>Restore View</i> of the JSF
+     * lifecycle.
+     * 
+     * @since JSF 1.2
+     */
+    public void initView(javax.faces.context.FacesContext context) throws FacesException
+    {
+    	String _encoding = this.calculateCharacterEncoding(context);
+    	if(_encoding != null)
+    	{
+    		try
+    		{
+        		context.getExternalContext().setRequestCharacterEncoding(_encoding);
+    		}
+    		catch(UnsupportedEncodingException uee)
+    		{
+    			throw new FacesException(uee);
+    		}
+    	}
+    }
+    
     public abstract void renderView(javax.faces.context.FacesContext context,
                                     javax.faces.component.UIViewRoot viewToRender)
             throws java.io.IOException,

Modified: myfaces/core/branches/jsf12/api/src/main/java/javax/faces/application/ViewHandlerWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java/javax/faces/application/ViewHandlerWrapper.java?rev=411989&r1=411988&r2=411989&view=diff
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java/javax/faces/application/ViewHandlerWrapper.java (original)
+++ myfaces/core/branches/jsf12/api/src/main/java/javax/faces/application/ViewHandlerWrapper.java Mon Jun  5 21:16:03 2006
@@ -29,7 +29,17 @@
  */
 public abstract class ViewHandlerWrapper extends ViewHandler {
     
-    public abstract ViewHandler getWrapped();
+    @Override
+	public String calculateCharacterEncoding(FacesContext context) {
+		return getWrapped().calculateCharacterEncoding(context);
+	}
+
+	@Override
+	public void initView(FacesContext context) throws FacesException {
+		getWrapped().initView(context);
+	}
+
+	public abstract ViewHandler getWrapped();
     
     public void renderView(FacesContext context, UIViewRoot viewToRender) throws IOException, FacesException {
         getWrapped().renderView(context, viewToRender);

Modified: myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIComponent.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIComponent.java?rev=411989&r1=411988&r2=411989&view=diff
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIComponent.java (original)
+++ myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIComponent.java Mon Jun  5 21:16:03 2006
@@ -119,7 +119,7 @@
 
     public abstract boolean getRendersChildren();
 
-    public abstract java.util.List getChildren();
+    public abstract java.util.List<UIComponent> getChildren();
 
     public abstract int getChildCount();
 
@@ -129,7 +129,7 @@
 
     public abstract javax.faces.component.UIComponent getFacet(java.lang.String name);
 
-    public abstract java.util.Iterator getFacetsAndChildren();
+    public abstract java.util.Iterator<UIComponent> getFacetsAndChildren();
 
     public abstract void broadcast(javax.faces.event.FacesEvent event)
             throws AbortProcessingException;
@@ -164,7 +164,7 @@
     		//let children render itself
     		else
     		{
-    			List comps = this.getChildren();
+    			List<UIComponent> comps = this.getChildren();
     			for (Iterator<UIComponent> iter = comps.iterator(); iter.hasNext();)
     			{
 					iter.next().encodeAll(context);;

Modified: myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIComponentBase.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIComponentBase.java?rev=411989&r1=411988&r2=411989&view=diff
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIComponentBase.java (original)
+++ myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIComponentBase.java Mon Jun  5 21:16:03 2006
@@ -23,9 +23,9 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+
 import javax.el.ValueExpression;
 import javax.faces.FacesException;
-
 import javax.faces.FactoryFinder;
 import javax.faces.context.FacesContext;
 import javax.faces.el.ValueBinding;
@@ -61,8 +61,8 @@
 
     private _ComponentAttributesMap _attributesMap = null;
     private Map<String, ValueExpression> _valueExpressionMap = null;
-    private List _childrenList = null;
-    private Map _facetMap = null;
+    private List<UIComponent> _childrenList = null;
+    private Map<String,UIComponent> _facetMap = null;
     private List _facesListeners = null;
     private String _clientId = null;
     private String _id = null;
@@ -376,7 +376,7 @@
      * from its original parent's child list.
      * </ul>
      */
-    public List getChildren()
+    public List<UIComponent> getChildren()
     {
         if (_childrenList == null)
         {
@@ -489,9 +489,9 @@
         return _facetMap == null ? null : (UIComponent)_facetMap.get(name);
     }
 
-    public Iterator getFacetsAndChildren()
+    public Iterator<UIComponent> getFacetsAndChildren()
     {
-        return new _FacetsAndChildrenIterator(_facetMap, _childrenList);
+        return new _FacetsAndChildrenIterator<UIComponent>(_facetMap, _childrenList);
     }
 
     /**

Modified: myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIData.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIData.java?rev=411989&r1=411988&r2=411989&view=diff
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIData.java (original)
+++ myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIData.java Mon Jun  5 21:16:03 2006
@@ -25,6 +25,7 @@
 import java.util.Map;
 import javax.el.ValueExpression;
 
+import javax.faces.FacesException;
 import javax.faces.application.FacesMessage;
 import javax.faces.context.FacesContext;
 import javax.faces.el.ValueBinding;
@@ -126,7 +127,13 @@
  */
 public class UIData extends UIComponentBase implements NamingContainer
 {
-    private static final int STATE_SIZE = 5;
+    @Override
+	public boolean invokeOnComponent(FacesContext context, String clientId, ContextCallback callback) throws FacesException {
+		// not supported yet
+		return false;
+	}
+
+	private static final int STATE_SIZE = 5;
     private static final int SUPER_STATE_INDEX = 0;
     private static final int FIRST_STATE_INDEX = 1;
     private static final int ROWS_STATE_INDEX = 2;

Modified: myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/_FacetsAndChildrenIterator.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/_FacetsAndChildrenIterator.java?rev=411989&r1=411988&r2=411989&view=diff
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/_FacetsAndChildrenIterator.java (original)
+++ myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/_FacetsAndChildrenIterator.java Mon Jun  5 21:16:03 2006
@@ -24,11 +24,11 @@
  * @author Manfred Geiler (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
-class _FacetsAndChildrenIterator
+class _FacetsAndChildrenIterator<E>
         implements Iterator
 {
-    private Iterator _facetsIterator;
-    private Iterator _childrenIterator;
+    private Iterator<UIComponent> _facetsIterator;
+    private Iterator<UIComponent> _childrenIterator;
 
     _FacetsAndChildrenIterator(Map facetMap, List childrenList)
     {

Modified: myfaces/core/branches/jsf12/api/src/main/java/javax/faces/context/ExternalContext.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java/javax/faces/context/ExternalContext.java?rev=411989&r1=411988&r2=411989&view=diff
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java/javax/faces/context/ExternalContext.java (original)
+++ myfaces/core/branches/jsf12/api/src/main/java/javax/faces/context/ExternalContext.java Mon Jun  5 21:16:03 2006
@@ -99,6 +99,48 @@
 
     public abstract java.security.Principal getUserPrincipal();
 
+    /**
+     * throws <code>UnsupportedOperationException</code> by default.
+     * @since JSF 1.2
+     * @param request
+     */
+    public void setRequest(java.lang.Object request)
+    {
+    	throw new UnsupportedOperationException();
+    }
+    
+    /**
+     * throws <code>UnsupportedOperationException</code> by default.
+     * @since JSF 1.2
+     * @param encoding
+     * @throws java.io.UnsupportedEncodingException
+     */
+    public void setRequestCharacterEncoding(java.lang.String encoding)
+    		throws java.io.UnsupportedEncodingException{
+    	
+    	throw new UnsupportedOperationException();
+    }
+    
+    /**
+     * throws <code>UnsupportedOperationException</code> by default.
+     * @since JSF 1.2
+     * @param response
+     */
+    public void setResponse(java.lang.Object response)
+    {
+    	throw new UnsupportedOperationException();
+    }
+    
+    /**
+     * throws <code>UnsupportedOperationException</code> by default.
+     * @since JSF 1.2
+     * @param encoding
+     */
+    public void setResponseCharacterEncoding(java.lang.String encoding)
+    {
+    	throw new UnsupportedOperationException();
+    }
+    
     public abstract boolean isUserInRole(String role);
 
     public abstract void log(String message);