dev@javaserverfaces.java.net

[REVIEW] Generification of jsf-ri

From: Ryan Lubke <Ryan.Lubke_at_Sun.COM>
Date: Thu, 25 Aug 2005 15:39:04 -0700

SECTION: Modified Files
----------------------------
M src/com/sun/faces/RIConstants.java
  - added public constants for an empty Class and Object arrays
    to be passed to reflection methods to avoid vararg warnings

M src/com/sun/faces/application/ActionListenerImpl.java
M src/com/sun/faces/application/ApplicationAssociate.java
M src/com/sun/faces/application/ApplicationImpl.java
M src/com/sun/faces/application/NavigationHandlerImpl.java
M src/com/sun/faces/application/StateManagerImpl.java
M src/com/sun/faces/application/ViewHandlerImpl.java
M src/com/sun/faces/config/ConfigureListener.java
M src/com/sun/faces/config/FacesInjectionManager.java
M src/com/sun/faces/config/ManagedBeanFactoryImpl.java
M src/com/sun/faces/context/ExternalContextImpl.java
M src/com/sun/faces/el/FacesResourceBundleELResolver.java
M src/com/sun/faces/el/ImplicitObjectELResolver.java
M src/com/sun/faces/el/ImplicitObjectELResolverForJsp.java
M src/com/sun/faces/el/ManagedBeanELResolver.java
M src/com/sun/faces/el/PropertyResolverImpl.java
M src/com/sun/faces/el/ScopedAttributeELResolver.java
M src/com/sun/faces/lifecycle/LifecycleFactoryImpl.java
M src/com/sun/faces/lifecycle/LifecycleImpl.java
M src/com/sun/faces/lifecycle/RestoreViewPhase.java
M src/com/sun/faces/renderkit/ByteArrayGuard.java
M src/com/sun/faces/renderkit/RenderKitFactoryImpl.java
M src/com/sun/faces/renderkit/RenderKitImpl.java
M src/com/sun/faces/renderkit/ResponseStateManagerImpl.java
M src/com/sun/faces/renderkit/html_basic/ButtonRenderer.java
M src/com/sun/faces/renderkit/html_basic/CheckboxRenderer.java
M src/com/sun/faces/renderkit/html_basic/CommandLinkRenderer.java
M src/com/sun/faces/renderkit/html_basic/FormRenderer.java
M src/com/sun/faces/renderkit/html_basic/GridRenderer.java
M src/com/sun/faces/renderkit/html_basic/GroupRenderer.java
M src/com/sun/faces/renderkit/html_basic/HtmlBasicRenderer.java
M src/com/sun/faces/renderkit/html_basic/MenuRenderer.java
M src/com/sun/faces/renderkit/html_basic/OutputLinkRenderer.java
M src/com/sun/faces/renderkit/html_basic/OutputMessageRenderer.java
M src/com/sun/faces/renderkit/html_basic/TableRenderer.java
M src/com/sun/faces/taglib/jsf_core/LoadBundleTag.java
M src/com/sun/faces/util/DebugUtil.java
M src/com/sun/faces/util/TreeStructure.java
M src/com/sun/faces/util/Util.java
  - Update code to leverage generics
  - in cases where source files were updated using generics:
       * autoboxing used
       * removed dead variables and methods
       * updated imports
      
   


SECTION: Diffs
----------------------------
Index: src/com/sun/faces/RIConstants.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/RIConstants.java,v
retrieving revision 1.76
diff -u -r1.76 RIConstants.java
--- src/com/sun/faces/RIConstants.java 22 Aug 2005 22:10:06 -0000 1.76
+++ src/com/sun/faces/RIConstants.java 25 Aug 2005 22:40:17 -0000
@@ -143,6 +143,9 @@
         "http://java.sun.com/jsf/html";
     public static final String JSTL_NAMESPACE =
         "http://java.sun.com/jsp/jstl/core";
+
+ public static final Class[] EMPTY_CLASS_ARGS = new Class[0];
+ public static final Object[] EMPTY_METH_ARGS = new Object[0];
 
     //
     // Constructors and Initializers
Index: src/com/sun/faces/application/ActionListenerImpl.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/application/ActionListenerImpl.java,v
retrieving revision 1.13
diff -u -r1.13 ActionListenerImpl.java
--- src/com/sun/faces/application/ActionListenerImpl.java 22 Aug 2005
22:10:07 -0000 1.13
+++ src/com/sun/faces/application/ActionListenerImpl.java 25 Aug 2005
22:40:17 -0000
@@ -44,7 +44,6 @@
 import java.util.logging.Logger;
 import java.util.logging.Level;
 
-import com.sun.faces.RIConstants;
 import com.sun.faces.util.Util;
 
 /**
Index: src/com/sun/faces/application/ApplicationAssociate.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/application/ApplicationAssociate.java,v
retrieving revision 1.20
diff -u -r1.20 ApplicationAssociate.java
--- src/com/sun/faces/application/ApplicationAssociate.java 24 Aug
2005 16:13:32 -0000 1.20
+++ src/com/sun/faces/application/ApplicationAssociate.java 25 Aug
2005 22:40:17 -0000
@@ -49,7 +49,6 @@
 
 import com.sun.faces.RIConstants;
 import com.sun.faces.config.ConfigureListener;
-import com.sun.faces.config.ManagedBeanFactoryImpl;
 import com.sun.faces.spi.ManagedBeanFactory;
 import com.sun.faces.spi.ManagedBeanFactory.Scope;
 import com.sun.faces.config.beans.ResourceBundleBean;
@@ -69,7 +68,7 @@
  * handle the rest.</p>
  */
 
-public class ApplicationAssociate extends Object {
+public class ApplicationAssociate {
 
     // Log instance for this class
     private static Logger logger = Util.getLogger(Util.FACES_LOGGER
@@ -94,20 +93,20 @@
      * some of them will have a trailing asterisk "*" signifying wild
      * card, and some may be specified as an asterisk "*".
      */
- private Map caseListMap = null;
+ private Map<String,List<ConfigNavigationCase>> caseListMap = null;
 
     /**
      * The List that contains the <code>ConfigNavigationCase</code>
      * objects for a <code>from-view-id</code>.
      */
- private List caseList = null;
+ private List<ConfigNavigationCase> caseList = null;
 
     /**
      * The List that contains all view identifier strings ending in an
      * asterisk "*". The entries are stored without the trailing
      * asterisk.
      */
- private TreeSet wildcardMatchList = null;
+ private TreeSet<String> wildcardMatchList = null;
 
     // Flag indicating that a response has been rendered.
     private boolean responseRendered = false;
@@ -142,8 +141,8 @@
         }
         externalContext.getApplicationMap().put(ASSOCIATE_KEY, this);
         managedBeanFactoriesMap = new HashMap<String,
ManagedBeanFactory>();
- caseListMap = new HashMap();
- wildcardMatchList = new TreeSet(new SortIt());
+ caseListMap = new HashMap<String,List<ConfigNavigationCase>>();
+ wildcardMatchList = new TreeSet<String>(new SortIt());
 
     }
     
@@ -260,17 +259,16 @@
 
         String fromViewId = navigationCase.getFromViewId();
         synchronized (this) {
- caseList = (List) caseListMap.get(fromViewId);
+ caseList = caseListMap.get(fromViewId);
             if (caseList == null) {
- caseList = new ArrayList();
+ caseList = new ArrayList<ConfigNavigationCase>();
                 caseList.add(navigationCase);
                 caseListMap.put(fromViewId, caseList);
             } else {
                 String key = navigationCase.getKey();
                 boolean foundIt = false;
                 for (int i = 0; i < caseList.size(); i++) {
- ConfigNavigationCase navCase =
- (ConfigNavigationCase) caseList.get(i);
+ ConfigNavigationCase navCase = caseList.get(i);
                     // if there already is a case existing for the
                     // fromviewid/fromaction.fromoutcome combination,
                     // replace it ... (last one wins).
@@ -317,7 +315,7 @@
      * @return <code>TreeSet</code> The navigation mappings sorted in
      * descending order.
      */
- public TreeSet getNavigationWildCardList() {
+ public TreeSet<String> getNavigationWildCardList() {
         return wildcardMatchList;
     }
     
@@ -336,7 +334,7 @@
             }
         }
         assert(null != locale);
- ResourceBundleBean bean = (ResourceBundleBean)
resourceBundles.get(var);
+ ResourceBundleBean bean = resourceBundles.get(var);
         String baseName = null;
         ResourceBundle result = null;
         
@@ -360,13 +358,13 @@
      * values: ResourceBundleBean instances.
      */
     
- Map resourceBundles = new HashMap();
+ Map<String,ResourceBundleBean> resourceBundles = new
HashMap<String, ResourceBundleBean>();
     
     public void addResourceBundleBean(String var, ResourceBundleBean
bean) {
         resourceBundles.put(var, bean);
     }
 
- public Map getResourceBundleBeanMap() {
+ public Map<String,ResourceBundleBean> getResourceBundleBeanMap() {
         return resourceBundles;
     }
     
@@ -388,7 +386,7 @@
         }
     }
     
- public Map getManagedBeanFactoryMap() {
+ public Map<String,ManagedBeanFactory> getManagedBeanFactoryMap() {
         return managedBeanFactoriesMap;
     }
 
@@ -427,7 +425,7 @@
         if ((scopeIsApplication = (scope == Scope.APPLICATION)) ||
             (scopeIsSession = (scope == Scope.SESSION))) {
             if (scopeIsApplication) {
- Map applicationMap = context.getExternalContext().
+ Map<String,Object> applicationMap =
context.getExternalContext().
                         getApplicationMap();
                 synchronized (applicationMap) {
                     try {
@@ -448,7 +446,7 @@
                     applicationMap.put(managedBeanName, bean);
                 }
             } else {
- Map sessionMap = Util.getSessionMap(context);
+ Map<String,Object> sessionMap =
Util.getSessionMap(context);
                 synchronized (sessionMap) {
                     try {
                         bean = managedBean.newInstance(context);
Index: src/com/sun/faces/application/ApplicationImpl.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/application/ApplicationImpl.java,v
retrieving revision 1.67
diff -u -r1.67 ApplicationImpl.java
--- src/com/sun/faces/application/ApplicationImpl.java 22 Aug 2005
22:10:08 -0000 1.67
+++ src/com/sun/faces/application/ApplicationImpl.java 25 Aug 2005
22:40:17 -0000
@@ -38,6 +38,7 @@
 import java.util.Locale;
 import java.util.Map;
 import java.util.ResourceBundle;
+import java.util.List;
 
 import javax.el.ArrayELResolver;
 import javax.el.BeanELResolver;
@@ -115,14 +116,14 @@
     // These three maps store store "identifier" | "class name"
     // mappings.
     //
- private Map componentMap = null;
- private Map converterIdMap = null;
- private Map converterTypeMap = null;
- private Map validatorMap = null;
+ private Map<String,String> componentMap = null;
+ private Map<String,String> converterIdMap = null;
+ private Map<Class,String> converterTypeMap = null;
+ private Map<String,String> validatorMap = null;
     private String messageBundle = null;
 
- private ArrayList elContextListeners = null;
- private ArrayList elResolvers = null;
+ private ArrayList<ELContextListener> elContextListeners = null;
+ private ArrayList<ELResolver> elResolvers = null;
     private CompositeELResolver compositeELResolver = null;
 
     /**
@@ -131,8 +132,8 @@
     public ApplicationImpl() {
         super();
     associate = new ApplicationAssociate(this);
- componentMap = new HashMap();
- converterIdMap = new HashMap();
+ componentMap = new HashMap<String,String>();
+ converterIdMap = new HashMap<String,String>();
         converterTypeMap = new HashMap();
         validatorMap = new HashMap();
 
@@ -144,7 +145,7 @@
     public void addELContextListener(ELContextListener listener) {
         if (listener != null) {
             if (elContextListeners == null) {
- elContextListeners = new ArrayList();
+ elContextListeners = new ArrayList<ELContextListener>();
             }
             elContextListeners.add(listener);
         }
@@ -158,9 +159,8 @@
     
     public ELContextListener [] getELContextListeners() {
         if (elContextListeners != null ) {
- return ((ELContextListener[])
- elContextListeners.toArray(
- new
ELContextListener[elContextListeners.size()]));
+ return (elContextListeners.toArray(
+ new ELContextListener[elContextListeners.size()]));
         } else {
             return (EMPTY_EL_CTX_LIST_ARRAY);
         }
@@ -276,7 +276,7 @@
                     Util.APPLICATION_INIT_COMPLETE_ERROR_ID));
         }
         if (elResolvers == null) {
- elResolvers = new ArrayList();
+ elResolvers = new ArrayList<ELResolver>();
         }
         elResolvers.add(resolver);
     }
@@ -618,8 +618,9 @@
     }
 
 
- public Iterator getComponentTypes() {
- Iterator result = Collections.EMPTY_LIST.iterator();
+ public Iterator<String> getComponentTypes() {
+ List<String> list = Collections.emptyList();
+ Iterator<String> result = list.iterator();
         synchronized (this) {
             result = componentMap.keySet().iterator();
         }
@@ -723,7 +724,7 @@
         //Search for converters registered to superclasses of targetClass
         Class superclass = targetClass.getSuperclass();
         if (superclass != null) {
- returnVal = (Converter)
createConverterBasedOnClass(superclass);
+ returnVal = createConverterBasedOnClass(superclass);
             if (returnVal != null) {
                 if (logger.isLoggable(Level.FINE)) {
                     logger.fine("Created converter of type " +
@@ -766,7 +767,7 @@
         //Search for converters registered to superclasses of targetClass
         Class superclass = targetClass.getSuperclass();
         if (superclass != null) {
- returnVal = (Converter)
createConverterBasedOnClass(superclass);
+ returnVal = createConverterBasedOnClass(superclass);
             if (returnVal != null) {
                 if (logger.isLoggable(Level.FINE)) {
                     logger.fine("Created converter of type " +
@@ -778,8 +779,9 @@
         return returnVal;
     }
 
- public Iterator getConverterIds() {
- Iterator result = Collections.EMPTY_LIST.iterator();
+ public Iterator<String> getConverterIds() {
+ List<String> list = Collections.emptyList();
+ Iterator<String> result = list.iterator();
         synchronized (this) {
             result = converterIdMap.keySet().iterator();
         }
@@ -788,8 +790,9 @@
     }
 
 
- public Iterator getConverterTypes() {
- Iterator result = Collections.EMPTY_LIST.iterator();
+ public Iterator<Class> getConverterTypes() {
+ List<Class> list = Collections.emptyList();
+ Iterator<Class> result = list.iterator();
         synchronized (this) {
             result = converterTypeMap.keySet().iterator();
         }
@@ -797,12 +800,12 @@
     }
 
 
- ArrayList supportedLocales = null;
+ ArrayList<Locale> supportedLocales = null;
 
 
- public Iterator getSupportedLocales() {
- Iterator result = Collections.EMPTY_LIST.iterator();
-
+ public Iterator<Locale> getSupportedLocales() {
+ List<Locale> list = Collections.emptyList();
+ Iterator<Locale> result = list.iterator();
         synchronized (this) {
             if (null != supportedLocales) {
                 result = supportedLocales.iterator();
@@ -812,7 +815,7 @@
     }
 
 
- public void setSupportedLocales(Collection newLocales) {
+ public void setSupportedLocales(Collection<Locale> newLocales) {
         if (null == newLocales) {
             String message = Util.getExceptionMessageString
                 (Util.NULL_PARAMETERS_ERROR_MESSAGE_ID);
@@ -820,7 +823,7 @@
             throw new NullPointerException(message);
         }
         synchronized (this) {
- supportedLocales = new ArrayList(newLocales);
+ supportedLocales = new ArrayList<Locale>(newLocales);
         }
         if (logger.isLoggable(Level.FINE)) {
             logger.log(Level.FINE, "set Supported Locales");
@@ -910,8 +913,9 @@
     }
 
 
- public Iterator getValidatorIds() {
- Iterator result = Collections.EMPTY_LIST.iterator();
+ public Iterator<String> getValidatorIds() {
+ List<String> list = Collections.emptyList();
+ Iterator<String> result = list.iterator();
         synchronized (this) {
             result = validatorMap.keySet().iterator();
         }
Index: src/com/sun/faces/application/NavigationHandlerImpl.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/application/NavigationHandlerImpl.java,v
retrieving revision 1.39
diff -u -r1.39 NavigationHandlerImpl.java
--- src/com/sun/faces/application/NavigationHandlerImpl.java 22 Aug
2005 22:10:08 -0000 1.39
+++ src/com/sun/faces/application/NavigationHandlerImpl.java 25 Aug
2005 22:40:17 -0000
@@ -29,7 +29,6 @@
 
 package com.sun.faces.application;
 
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.TreeSet;
@@ -176,8 +175,7 @@
      * @return The <code>view</code> identifier.
      */
     private CaseStruct getViewId(FacesContext context, String fromAction,
- String outcome) {
- String nextViewId = null;
+ String outcome) {
         String viewId = context.getViewRoot().getViewId();
         CaseStruct caseStruct = null;
 
@@ -210,8 +208,7 @@
 
     synchronized private CaseStruct findExactMatch(String viewId,
                                                    String fromAction,
- String outcome) {
- String returnViewId = null;
+ String outcome)
{
 
     // if the user has elected to replace the Application instance
     // entirely
@@ -265,13 +262,10 @@
 
         Map caseListMap = associate.getNavigationCaseListMappings();
         assert (null != caseListMap);
- TreeSet wildcardMatchList = associate.getNavigationWildCardList();
+ TreeSet<String> wildcardMatchList =
associate.getNavigationWildCardList();
         assert (null != wildcardMatchList);
 
- Iterator iter = wildcardMatchList.iterator();
- while (iter.hasNext()) {
- String fromViewId = (String) iter.next();
-
+ for (String fromViewId : wildcardMatchList) {
             // See if the entire wildcard string (without the trailing
"*" is
             // contained in the incoming viewId.
             // Ex: /foobar is contained with /foobarbaz
@@ -319,8 +313,7 @@
      */
 
     synchronized private CaseStruct findDefaultMatch(String fromAction,
- String outcome) {
- String returnViewId = null;
+ String outcome)
{
 
     // if the user has elected to replace the Application instance
     // entirely
Index: src/com/sun/faces/application/StateManagerImpl.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/application/StateManagerImpl.java,v
retrieving revision 1.37
diff -u -r1.37 StateManagerImpl.java
--- src/com/sun/faces/application/StateManagerImpl.java 22 Aug 2005
22:10:08 -0000 1.37
+++ src/com/sun/faces/application/StateManagerImpl.java 25 Aug 2005
22:40:17 -0000
@@ -53,7 +53,6 @@
 import java.util.Set;
 import java.util.logging.Logger;
 import java.util.logging.Level;
-import javax.faces.application.StateManager.SerializedView;
 import javax.faces.component.NamingContainer;
 
 /**
@@ -76,9 +75,7 @@
     private static final String
NUMBER_OF_VIEWS_IN_LOGICAL_VIEW_IN_SESSION =
         RIConstants.FACES_PREFIX +
"NUMBER_OF_VIEWS_IN_LOGICAL_VIEW_IN_SESSION";
     private static final int
DEFAULT_NUMBER_OF_VIEWS_IN_LOGICAL_VIEW_IN_SESSION = 15;
-
- private static final String FACES_VIEW_LIST =
- RIConstants.FACES_PREFIX + "VIEW_LIST";
+
     /**
      * Number of views in logical view to be saved in session.
      */
@@ -91,7 +88,7 @@
      * has non-deprecated methods. True indicates the presence
      * of non-deprecated methods.
      */
- private HashMap responseStateManagerInfo = null;
+ private HashMap<String,Boolean> responseStateManagerInfo = null;
     
     public Object saveView(FacesContext context) {
         return ( super.saveView(context) );
@@ -110,7 +107,7 @@
     }
     
     // honor the requirement to check for id uniqueness
- checkIdUniqueness(context, viewRoot, new HashSet());
+ checkIdUniqueness(context, viewRoot, new HashSet<String>());
 
     
      if (logger.isLoggable(Level.FINE)) {
@@ -152,7 +149,7 @@
                 actualMapSize =
getNumberOfViewsInLogicalViewParameter(context);
             
             Object stateArray[] = { treeStructure, componentState };
- Map sessionMap = Util.getSessionMap(context);
+ Map<String,Object> sessionMap = Util.getSessionMap(context);
             
          synchronized (this) {
                 if (null == (logicalMap = (LRUMap)
sessionMap.get(RIConstants.LOGICAL_VIEW_MAP))) {
@@ -194,13 +191,13 @@
 
 
     protected void checkIdUniqueness(FacesContext context,
- UIComponent component, Set componentIds) throws
IllegalStateException{
+ UIComponent component, Set<String> componentIds) throws
IllegalStateException{
         UIComponent kid;
         // deal with children that are marked transient.
- Iterator kids = component.getChildren().iterator();
+ Iterator<UIComponent> kids = component.getChildren().iterator();
         String id;
         while (kids.hasNext()) {
- kid = (UIComponent) kids.next();
+ kid = kids.next();
         // check for id uniqueness
         id = kid.getClientId(context);
         if (id != null && !componentIds.add(id)) {
@@ -217,7 +214,7 @@
         // deal with facets that are marked transient.
         kids = component.getFacets().values().iterator();
         while (kids.hasNext()) {
- kid = (UIComponent) kids.next();
+ kid = kids.next();
         // check for id uniqueness
         id = kid.getClientId(context);
         if (id != null && !componentIds.add(id)) {
@@ -431,21 +428,21 @@
     public void buildTreeStructureToSave(FacesContext context,
                                          UIComponent component,
                                          TreeStructure treeStructure,
- Set componentIds) {
+ Set<String> componentIds) {
         // traverse the component hierarchy and save the tree structure
         // information for every component.
         
         // Set for catching duplicate IDs
         if (null == componentIds) {
- componentIds = new HashSet();
+ componentIds = new HashSet<String>();
         }
         
         // save the structure info of the children of the component
         // being processed.
- Iterator kids = component.getChildren().iterator();
+ Iterator<UIComponent> kids = component.getChildren().iterator();
         String id;
         while (kids.hasNext()) {
- UIComponent kid = (UIComponent) kids.next();
+ UIComponent kid = kids.next();
 
         // check for id uniqueness
         id = kid.getClientId(context);
@@ -470,10 +467,10 @@
 
         // save structure info of the facets of the component currenly
being
         // processed.
- Iterator facets = component.getFacets().keySet().iterator();
+ Iterator<String> facets =
component.getFacets().keySet().iterator();
         while (facets.hasNext()) {
- String facetName = (String) facets.next();
- UIComponent facetComponent = (UIComponent)
component.getFacets().
+ String facetName = facets.next();
+ UIComponent facetComponent = component.getFacets().
                 get(facetName);
 
         // check for id uniqueness
@@ -623,17 +620,17 @@
      * @param instance The instance of the class that will be used as
the search domain.
      * @param methodName The name of the method we are looking for.
      */
- private boolean hasDeclaredMethod(Map resultMap, Object key, Object
instance, String methodName) {
+ private boolean hasDeclaredMethod(Map<String,Boolean> resultMap,
String key, ResponseStateManager instance, String methodName) {
         boolean result = false;
         if (resultMap == null) {
- resultMap = new HashMap();
+ resultMap = new HashMap<String, Boolean>();
         }
- Boolean value = (Boolean)resultMap.get(key);
+ Boolean value = resultMap.get(key);
         if (value != null) {
- return value.booleanValue();
+ return value;
         }
         result = Util.hasDeclaredMethod(instance, methodName);
- resultMap.put(key, new Boolean(result));
+ resultMap.put(key, result);
         return result;
     }
 }
Index: src/com/sun/faces/application/ViewHandlerImpl.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/application/ViewHandlerImpl.java,v
retrieving revision 1.58
diff -u -r1.58 ViewHandlerImpl.java
--- src/com/sun/faces/application/ViewHandlerImpl.java 22 Aug 2005
22:10:08 -0000 1.58
+++ src/com/sun/faces/application/ViewHandlerImpl.java 25 Aug 2005
22:40:17 -0000
@@ -34,20 +34,18 @@
 package com.sun.faces.application;
 
 import java.io.IOException;
-import java.util.HashSet;
+import java.io.StringWriter;
 import java.util.Iterator;
 import java.util.Locale;
 import java.util.Map;
-import java.util.Set;
-import java.util.logging.Logger;
 import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import javax.faces.FacesException;
 import javax.faces.FactoryFinder;
 import javax.faces.application.StateManager;
 import javax.faces.application.StateManager.SerializedView;
 import javax.faces.application.ViewHandler;
-import javax.faces.component.UIComponent;
 import javax.faces.component.UIViewRoot;
 import javax.faces.context.ExternalContext;
 import javax.faces.context.FacesContext;
@@ -55,7 +53,6 @@
 import javax.faces.render.RenderKit;
 import javax.faces.render.RenderKitFactory;
 import javax.faces.render.ResponseStateManager;
-
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletRequest;
@@ -65,8 +62,6 @@
 import com.sun.faces.RIConstants;
 import com.sun.faces.util.Util;
 
-import java.io.StringWriter;
-
 /**
  * <B>ViewHandlerImpl</B> is the default implementation class for
ViewHandler.
  *
@@ -252,49 +247,7 @@
         
         viewToRender.encodeAll(context);
     }
-
- private void removeTransientChildrenAndFacets(FacesContext context,
- UIComponent component, Set componentIds) throws
IllegalStateException{
- UIComponent kid;
- // deal with children that are marked transient.
- Iterator kids = component.getChildren().iterator();
- String id;
- while (kids.hasNext()) {
- kid = (UIComponent) kids.next();
- // check for id uniqueness
- id = kid.getClientId(context);
- if (id != null && !componentIds.add(id)) {
- throw new
IllegalStateException(Util.getExceptionMessageString(
- Util.DUPLICATE_COMPONENT_ID_ERROR_ID,
- new Object[]{id}));
- }
-
- if (kid.isTransient()) {
- kids.remove();
- } else {
- removeTransientChildrenAndFacets(context, kid,
componentIds);
- }
- }
- // deal with facets that are marked transient.
- kids = component.getFacets().values().iterator();
- while (kids.hasNext()) {
- kid = (UIComponent) kids.next();
- // check for id uniqueness
- id = kid.getClientId(context);
- if (id != null && !componentIds.add(id)) {
- throw new
IllegalStateException(Util.getExceptionMessageString(
- Util.DUPLICATE_COMPONENT_ID_ERROR_ID,
- new Object[]{id}));
- }
-
- if (kid.isTransient()) {
- kids.remove();
- } else {
- removeTransientChildrenAndFacets(context, kid,
componentIds);
- }
-
- }
- }
+
     
     public UIViewRoot restoreView(FacesContext context, String viewId) {
         if (context == null) {
@@ -501,9 +454,9 @@
         // determine the locales that are acceptable to the client
based on the
         // Accept-Language header and the find the best match among the
         // supported locales specified by the client.
- Iterator locales =
context.getExternalContext().getRequestLocales();
+ Iterator<Locale> locales =
context.getExternalContext().getRequestLocales();
         while (locales.hasNext()) {
- Locale perf = (Locale) locales.next();
+ Locale perf = locales.next();
             result = findMatch(context, perf);
             if (result != null) {
                 break;
@@ -531,9 +484,9 @@
         }
         String result = null;
 
- Map requestParamMap = context.getExternalContext()
+ Map<String,String> requestParamMap = context.getExternalContext()
             .getRequestParameterMap();
- result = (String) requestParamMap.get(
+ result = requestParamMap.get(
             ResponseStateManager.RENDER_KIT_ID_PARAM);
 
         if (result == null) {
@@ -553,9 +506,9 @@
      */
     protected Locale findMatch(FacesContext context, Locale perf) {
         Locale result = null;
- Iterator it = context.getApplication().getSupportedLocales();
+ Iterator<Locale> it =
context.getApplication().getSupportedLocales();
         while (it.hasNext()) {
- Locale supportedLocale = (Locale) it.next();
+ Locale supportedLocale = it.next();
 
             if (perf.equals(supportedLocale)) {
                 // exact match
@@ -783,7 +736,7 @@
         // using a prefix path mapping
         if (pathInfo != null) {
             return servletPath;
- } else if (pathInfo == null && servletPath.indexOf('.') < 0) {
+ } else if (servletPath.indexOf('.') < 0) {
             // if pathInfo is null and no '.' is present, assume the
             // FacesServlet was invoked using prefix path but without
             // any pathInfo - i.e. GET /contextroot/faces or
Index: src/com/sun/faces/config/ConfigureListener.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/config/ConfigureListener.java,v
retrieving revision 1.50
diff -u -r1.50 ConfigureListener.java
--- src/com/sun/faces/config/ConfigureListener.java 24 Aug 2005
16:13:32 -0000 1.50
+++ src/com/sun/faces/config/ConfigureListener.java 25 Aug 2005
22:40:17 -0000
@@ -47,6 +47,7 @@
 
 import javax.el.CompositeELResolver;
 import javax.el.ExpressionFactory;
+import javax.el.ELResolver;
 import javax.faces.FacesException;
 import javax.faces.FactoryFinder;
 import javax.faces.application.Application;
@@ -235,7 +236,7 @@
      * <p>The set of <code>ClassLoader</code> instances that have
      * already been configured by this <code>ConfigureListener</code>.</p>
      */
- private static Set loaders = new HashSet();
+ private static Set<ClassLoader> loaders = new HashSet<ClassLoader>();
 
 
     /**
@@ -248,7 +249,7 @@
 
     private VariableResolver legacyVRChainHead = null;
     private PropertyResolver legacyPRChainHead = null;
- private ArrayList elResolversFromFacesConfig = null;
+ private ArrayList<ELResolver> elResolversFromFacesConfig = null;
     
     // ------------------------------------------
ServletContextListener Methods
 
@@ -264,8 +265,9 @@
      *
      */
 
- private static ThreadLocal tlsExternalContext = new ThreadLocal() {
- protected Object initialValue() { return (null); }
+ private static ThreadLocal<ServletContextAdapter> tlsExternalContext =
+ new ThreadLocal<ServletContextAdapter>() {
+ protected ServletContextAdapter initialValue() { return
(null); }
         };
 
     static ThreadLocal getThreadLocalExternalContext() {
@@ -354,10 +356,10 @@
         parse(digester, url, fcb);
 
         // Step 3, parse any "/META-INF/faces-config.xml" resources
- Iterator resources;
+ Iterator<URL> resources;
         try {
- List list = new LinkedList();
- Enumeration items = Util.getCurrentLoader(this).
+ List<URL> list = new LinkedList<URL>();
+ Enumeration<URL> items = Util.getCurrentLoader(this).
                 getResources(META_INF_RESOURCES);
             while (items.hasMoreElements()) {
                 list.add(0, items.nextElement());
@@ -379,7 +381,7 @@
             throw new FacesException(message, e);
         }
         while (resources.hasNext()) {
- url = (URL) resources.next();
+ url = resources.next();
             parse(digester, url, fcb);
         }
 
@@ -479,7 +481,7 @@
     protected void configure(ServletContext context, FacesConfigBean
config)
     throws Exception {
         configure(config.getFactory());
- configure(context, config.getLifecycle());
+ configure(config.getLifecycle());
 
         configure(config.getApplication());
         configure(config.getComponents());
@@ -581,7 +583,8 @@
                     logger.finer("setPropertyResolver(" + values[i] + ')');
                 }
                 instance = Util.createInstance(values[i],
- PropertyResolver.class,
((PropertyResolver)prevInChain));
+ PropertyResolver.class,
+ prevInChain);
                 prevInChain = instance;
             }
             legacyPRChainHead = (PropertyResolver) instance;
@@ -597,9 +600,10 @@
                 }
                 instance = Util.createInstance(values[i]);
                 if (elResolversFromFacesConfig == null) {
- elResolversFromFacesConfig = new
ArrayList(values.length);
+ elResolversFromFacesConfig =
+ new ArrayList<ELResolver>(values.length);
                 }
- elResolversFromFacesConfig.add(instance);
+ elResolversFromFacesConfig.add((ELResolver) instance);
             }
             
associate.setELResolversFromFacesConfig(elResolversFromFacesConfig);
         }
@@ -619,8 +623,7 @@
                 }
             }
         }
-
- prevInChain = null;
+
         values = config.getVariableResolvers();
         if ((values != null) && (values.length > 0)) {
             // initialize the prevInChain to DummyVariableResolver
instance
@@ -747,12 +750,12 @@
         if (config == null) {
             return;
         }
- Iterator iter = null;
+ Iterator<String> iter = null;
         String value;
 
     iter = config.getApplicationFactories().iterator();
     while (iter.hasNext()) {
- value = (String) iter.next();
+ value = iter.next();
         if (value != null) {
         if (logger.isLoggable(Level.FINER)) {
                     logger.finer("setApplicationFactory(" + value + ')');
@@ -764,7 +767,7 @@
 
     iter = config.getFacesContextFactories().iterator();
     while (iter.hasNext()) {
- value = (String) iter.next();
+ value = iter.next();
         if (value != null) {
         if (logger.isLoggable(Level.FINER)) {
                     logger.finer("setFacesContextFactory(" + value + ')');
@@ -776,7 +779,7 @@
 
     iter = config.getLifecycleFactories().iterator();
     while (iter.hasNext()) {
- value = (String) iter.next();
+ value = iter.next();
         if (value != null) {
         if (logger.isLoggable(Level.FINER)) {
                     logger.finer("setLifecycleFactory(" + value + ')');
@@ -788,7 +791,7 @@
 
     iter = config.getRenderKitFactories().iterator();
     while (iter.hasNext()) {
- value = (String) iter.next();
+ value = iter.next();
         if (value != null) {
         if (logger.isLoggable(Level.FINER)) {
                     logger.finer("setRenderKitFactory(" + value + ')');
@@ -805,10 +808,8 @@
      * <p>Configure the lifecycle listeners for this application.</p>
      *
      * @param config <code>LifecycleBean</code> that contains our
- * configuration information
      */
- private void configure(ServletContext context,
- LifecycleBean config) throws Exception {
+ private void configure(LifecycleBean config) throws Exception {
 
         if (config == null) {
             return;
@@ -816,10 +817,10 @@
         String[] listeners = config.getPhaseListeners();
         LifecycleFactory factory = (LifecycleFactory)
             FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY);
- Iterator iter = factory.getLifecycleIds();
- String lifecycleId = null;
+ Iterator<String> iter = factory.getLifecycleIds();
+ String lifecycleId = null;
         while (iter.hasNext()) {
- lifecycleId = (String) iter.next();
+ lifecycleId = iter.next();
             if (lifecycleId == null) {
                 lifecycleId = LifecycleFactory.DEFAULT_LIFECYCLE;
             }
@@ -870,7 +871,7 @@
 
         values = config.getSupportedLocales();
         if ((values != null) && (values.length > 0)) {
- List locales = new ArrayList();
+ List<Locale> locales = new ArrayList<Locale>();
             for (int i = 0; i < values.length; i++) {
                 if (logger.isLoggable(Level.FINER)) {
                     logger.finer("addSupportedLocale(" + values[i] + ')');
@@ -1103,8 +1104,7 @@
         if (config == null) {
             return;
         }
-
- Application application = application();
+
         ApplicationAssociate associate =
                 
ApplicationAssociate.getInstance(getExternalContextDuringInitialize());
         String baseName, var;
@@ -1113,7 +1113,7 @@
             if ((null == (baseName = config[i].getBasename())) ||
                 (null == (var = config[i].getVar()))) {
                 String message = "Application ResourceBundle: null
base-name or var." +
- "base-name:" + config[i].getBasename() +
+ "base-name:" + baseName +
                               "var:" + config[i].getVar();
                 // PENDING(edburns): I18N all levels above info
                 if (logger.isLoggable(Level.WARNING)) {
@@ -1431,7 +1431,7 @@
             }
         }
 
- return Boolean.valueOf(paramValue).booleanValue();
+ return Boolean.valueOf(paramValue);
     }
 
 
@@ -1494,9 +1494,7 @@
                 appAssociate.setExpressionFactory(factory);
             } catch (Exception e) {
                 logger.log(Level.SEVERE, "Error Instantiating
ExpressionFactory", e);
- }
-
- return;
+ }
         
         } else {
             
@@ -1576,9 +1574,10 @@
             return null;
         }
 
- public Map getApplicationMap() {
+ public Map<String,Object> getApplicationMap() {
             if (applicationMap == null) {
- applicationMap = new ApplicationMap(servletContext);
+ applicationMap =
+ new ApplicationMap(servletContext);
             }
             return applicationMap;
         }
@@ -1615,16 +1614,16 @@
             return null;
         }
 
- public Map getRequestCookieMap() {
+ public Map<String,Object> getRequestCookieMap() {
             return null;
         }
 
- public Map getRequestHeaderMap() {
+ public Map<String,String> getRequestHeaderMap() {
             return null;
         }
 
 
- public Map getRequestHeaderValuesMap() {
+ public Map<String,String[]> getRequestHeaderValuesMap() {
             return null;
         }
 
@@ -1633,28 +1632,28 @@
             return null;
         }
 
- public Iterator getRequestLocales() {
+ public Iterator<Locale> getRequestLocales() {
             return null;
         }
 
 
 
- public Map getRequestMap() {
+ public Map<String,Object> getRequestMap() {
             return null;
         }
 
 
- public Map getRequestParameterMap() {
+ public Map<String,String> getRequestParameterMap() {
             return null;
         }
 
 
- public Iterator getRequestParameterNames() {
+ public Iterator<String> getRequestParameterNames() {
             return null;
         }
 
 
- public Map getRequestParameterValuesMap() {
+ public Map<String,String[]> getRequestParameterValuesMap() {
             return null;
         }
 
@@ -1686,7 +1685,7 @@
             return null;
         }
 
- public Set getResourcePaths(String path) {
+ public Set<String> getResourcePaths(String path) {
             return null;
         }
 
@@ -1701,7 +1700,7 @@
             return null;
         }
 
- public Map getSessionMap() {
+ public Map<String,Object> getSessionMap() {
             return null;
         }
 
Index: src/com/sun/faces/config/FacesInjectionManager.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/config/FacesInjectionManager.java,v
retrieving revision 1.2
diff -u -r1.2 FacesInjectionManager.java
--- src/com/sun/faces/config/FacesInjectionManager.java 22 Aug 2005
22:10:10 -0000 1.2
+++ src/com/sun/faces/config/FacesInjectionManager.java 25 Aug 2005
22:40:17 -0000
@@ -29,6 +29,8 @@
 
 package com.sun.faces.config;
 import com.sun.faces.util.Util;
+import static com.sun.faces.RIConstants.EMPTY_CLASS_ARGS;
+import static com.sun.faces.RIConstants.EMPTY_METH_ARGS;
 
 import java.lang.reflect.Method;
 import java.util.logging.Logger;
@@ -85,8 +87,7 @@
             if (logger.isLoggable(Level.FINE)) {
                 logger.log(Level.FINE, "Resource Injection failed, ",
                         e);
- }
- return;
+ }
         }
     }
     
@@ -100,15 +101,18 @@
             // look up Switch class.
             Class switchClass = Class.forName("com.sun.enterprise.Switch");
             // look up getSwitch method.
- Method switchMethod = switchClass.getMethod("getSwitch", null);
+ Method switchMethod = switchClass.getMethod("getSwitch",
+ EMPTY_CLASS_ARGS);
             // invoke the method and get an instance of Switch
- Object switchObj = switchMethod.invoke(null, null);
+ Object switchObj = switchMethod.invoke(null, EMPTY_METH_ARGS);
             
             // look up getInjectionManager method
             Method injectManagerMethod =
- switchClass.getMethod("getInjectionManager", null);
+ switchClass.getMethod("getInjectionManager",
+ EMPTY_CLASS_ARGS);
             // invoke the method and get an instance of InjectionManager
- injectionManager = injectManagerMethod.invoke(switchObj, null);
+ injectionManager = injectManagerMethod.invoke(switchObj,
+ EMPTY_METH_ARGS);
             // look up injectInstance method.
             injectMethod= injectionManager.getClass().
                     getMethod("injectInstance", new Class[]
{Object.class });
@@ -117,8 +121,7 @@
             if (logger.isLoggable(Level.FINE)) {
                 logger.log(Level.FINE, "Resource Injection APIs not
available ",
                         e);
- }
- return;
+ }
         }
     }
 
Index: src/com/sun/faces/config/ManagedBeanFactoryImpl.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/config/ManagedBeanFactoryImpl.java,v
retrieving revision 1.1
diff -u -r1.1 ManagedBeanFactoryImpl.java
--- src/com/sun/faces/config/ManagedBeanFactoryImpl.java 24 Aug 2005
16:13:33 -0000 1.1
+++ src/com/sun/faces/config/ManagedBeanFactoryImpl.java 25 Aug 2005
22:40:17 -0000
@@ -31,10 +31,12 @@
 
 import java.lang.reflect.Array;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.HashMap;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import javax.el.ValueExpression;
 import javax.faces.FacesException;
@@ -45,18 +47,16 @@
 import javax.faces.el.ReferenceSyntaxException;
 
 import com.sun.faces.RIConstants;
-import com.sun.faces.spi.ManagedBeanFactory;
 import com.sun.faces.config.beans.DescriptionBean;
 import com.sun.faces.config.beans.ListEntriesBean;
 import com.sun.faces.config.beans.ManagedBeanBean;
 import com.sun.faces.config.beans.ManagedPropertyBean;
 import com.sun.faces.config.beans.MapEntriesBean;
 import com.sun.faces.config.beans.MapEntryBean;
+import com.sun.faces.spi.ManagedBeanFactory;
 import com.sun.faces.util.Util;
 
 import org.apache.commons.beanutils.PropertyUtils;
-import java.util.logging.Logger;
-import java.util.logging.Level;
 
 /**
  * <p>This class creates a managed bean instance. It has a contract with
@@ -135,7 +135,7 @@
      *
      */
 
- private Map managedBeanFactoryMap = null;
+ private Map<String,ManagedBeanFactory> managedBeanFactoryMap = null;
 
     //
     // Constructors and Initializers
@@ -180,7 +180,7 @@
         return this.managedBean;
     }
 
- public Map getManagedBeanFactoryMap() {
+ public Map<String,ManagedBeanFactory> getManagedBeanFactoryMap() {
     if (null == managedBeanFactoryMap) {
             if (logger.isLoggable(Level.INFO)) {
                 logger.info("Contract violation: ManagedBeanFactory
must be initialized with managedBeanFactoryMap after instantiation.");
@@ -190,7 +190,7 @@
     return managedBeanFactoryMap;
     }
 
- public void setManagedBeanFactoryMap(Map newManagedBeanFactoryMap) {
+ public void setManagedBeanFactoryMap(Map<String,ManagedBeanFactory>
newManagedBeanFactoryMap) {
     managedBeanFactoryMap = newManagedBeanFactoryMap;
     }
     
@@ -225,10 +225,12 @@
 
         // before instantiating the bean, make sure there is no cyclic
         // references.
- Map requestMap = context.getExternalContext().getRequestMap();
- List beanList = (List)requestMap.get(MANAGED_BEAN_CREATED_STACK);
+ Map<String,Object> requestMap =
+ context.getExternalContext().getRequestMap();
+ List<String> beanList =
+ (List<String>)requestMap.get(MANAGED_BEAN_CREATED_STACK);
         if (beanList == null) {
- beanList = new ArrayList();
+ beanList = new ArrayList<String>();
             requestMap.put(MANAGED_BEAN_CREATED_STACK, beanList);
         }
         
@@ -279,11 +281,11 @@
                 case TYPE_IS_LIST:
                     copyListEntriesFromConfigToList(
                         managedBean.getListEntries(),
- (List) bean);
+ (List<Object>) bean);
                     break;
                 case TYPE_IS_MAP:
                     
copyMapEntriesFromConfigToMap(managedBean.getMapEntries(),
- (Map) bean);
+ (Map<Object,Object>)
bean);
                     break;
                 case TYPE_IS_UICOMPONENT:
                     // intentional fall-through
@@ -439,7 +441,7 @@
 
 
     protected Class copyListEntriesFromConfigToList(ListEntriesBean
listEntries,
- List valuesForBean)
+ List<Object>
valuesForBean)
         throws ClassNotFoundException {
         String[] valuesFromConfig = listEntries.getValues();
         Class valueClass = java.lang.String.class;
@@ -482,7 +484,7 @@
 
 
     void copyMapEntriesFromConfigToMap(MapEntriesBean mapEntries,
- Map result)
+ Map<Object,Object> result)
         throws ClassNotFoundException {
         Object
             key = null,
@@ -546,8 +548,7 @@
             propertyClass = null,
             propertyName = null,
             strValue = null;
- int
- propertyType = -1;
+
         Class valueClass = null;
         ManagedPropertyBean[] properties =
managedBean.getManagedProperties();
 
@@ -567,7 +568,7 @@
             try {
                 // this switch statement sets the "value" local variable
                 // and tries to set it into the bean.
- switch (propertyType = getPropertyType(properties[i])) {
+ switch (getPropertyType(properties[i])) {
                     case TYPE_IS_LIST:
                         setArrayOrListPropertiesIntoBean(bean,
properties[i]);
                         break;
@@ -678,7 +679,7 @@
         boolean
             getterIsNull = true,
             getterIsArray = false;
- List
+ List<Object>
             valuesForBean = null;
         Class
             valueType = java.lang.String.class,
@@ -689,7 +690,7 @@
         try {
             // see if there is a getter
             result = PropertyUtils.getProperty(bean, propertyName);
- getterIsNull = (null == result) ? true : false;
+ getterIsNull = (null == result);
 
             propertyType =
                 PropertyUtils.getPropertyType(bean, propertyName);
@@ -719,7 +720,7 @@
         if (!getterIsNull) {
             // if what it returned was an array
             if (getterIsArray) {
- valuesForBean = new ArrayList();
+ valuesForBean = new ArrayList<Object>();
                 for (int i = 0, len = Array.getLength(result); i < len;
i++) {
                     // add the existing values
                     valuesForBean.add(Array.get(result, i));
@@ -733,12 +734,12 @@
                     new Object[] { propertyName,
                                    managedBean.getManagedBeanName() }));
                 }
- valuesForBean = (List) result;
+ valuesForBean = (List<Object>) result;
             }
         } else {
 
             // getter returned null
- result = valuesForBean = new ArrayList();
+ result = valuesForBean = new ArrayList<Object>();
         }
 
         // at this point valuesForBean contains the existing values from
@@ -756,28 +757,28 @@
             for (int i = 0, len = valuesForBean.size(); i < len; i++) {
                 if (valueType == Boolean.TYPE) {
                     Array.setBoolean(result, i,
- ((Boolean)
valuesForBean.get(i)).booleanValue());
+ (Boolean) valuesForBean.get(i));
                 } else if (valueType == Byte.TYPE) {
                     Array.setByte(result, i,
- ((Byte)
valuesForBean.get(i)).byteValue());
+ (Byte) valuesForBean.get(i));
                 } else if (valueType == Double.TYPE) {
                     Array.setDouble(result, i,
- ((Double)
valuesForBean.get(i)).doubleValue());
+ (Double) valuesForBean.get(i));
                 } else if (valueType == Float.TYPE) {
                     Array.setFloat(result, i,
- ((Float)
valuesForBean.get(i)).floatValue());
+ (Float) valuesForBean.get(i));
                 } else if (valueType == Integer.TYPE) {
                     Array.setInt(result, i,
- ((Integer)
valuesForBean.get(i)).intValue());
+ (Integer) valuesForBean.get(i));
                 } else if (valueType == Character.TYPE) {
                     Array.setChar(result, i,
- ((Character)
valuesForBean.get(i)).charValue());
+ (Character) valuesForBean.get(i));
                 } else if (valueType == Short.TYPE) {
                     Array.setShort(result, i,
- ((Short)
valuesForBean.get(i)).shortValue());
+ (Short) valuesForBean.get(i));
                 } else if (valueType == Long.TYPE) {
                     Array.setLong(result, i,
- ((Long)
valuesForBean.get(i)).longValue());
+ (Long) valuesForBean.get(i));
                 } else {
                     Array.set(result, i, valuesForBean.get(i));
                 }
@@ -817,15 +818,16 @@
     private void setMapPropertiesIntoBean(Object bean,
                                           ManagedPropertyBean property)
         throws Exception {
- Map result = null;
+ Map<Object,Object> result = null;
         boolean getterIsNull = true;
         Class propertyType = null;
         String propertyName = property.getPropertyName();
 
         try {
             // see if there is a getter
- result = (Map) PropertyUtils.getProperty(bean, propertyName);
- getterIsNull = (null == result) ? true : false;
+ result = (Map<Object,Object>)
+ PropertyUtils.getProperty(bean, propertyName);
+ getterIsNull = (null == result);
 
             propertyType = PropertyUtils.getPropertyType(bean,
propertyName);
         } catch (NoSuchMethodException nsme) {
@@ -842,7 +844,7 @@
 
 
         if (getterIsNull) {
- result = new java.util.HashMap();
+ result = new HashMap<Object,Object>();
         }
 
         // at this point result contains the existing entries from the
@@ -908,7 +910,7 @@
                 value = new Integer(value.toString());
             } else if (valueType == Character.TYPE ||
                 valueType == java.lang.Character.class) {
- value = new Character(value.toString().charAt(0));
+ value = value.toString().charAt(0);
             } else if (valueType == Short.TYPE ||
                 valueType == java.lang.Short.class) {
                 value = new Short(value.toString());
Index: src/com/sun/faces/context/ExternalContextImpl.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/context/ExternalContextImpl.java,v
retrieving revision 1.36
diff -u -r1.36 ExternalContextImpl.java
--- src/com/sun/faces/context/ExternalContextImpl.java 22 Aug 2005
22:10:10 -0000 1.36
+++ src/com/sun/faces/context/ExternalContextImpl.java 25 Aug 2005
22:40:17 -0000
@@ -31,20 +31,21 @@
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.util.AbstractCollection;
 import java.util.AbstractMap;
+import java.util.AbstractSet;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Locale;
 import java.util.Map;
-import java.util.Set;
-import java.util.AbstractSet;
 import java.util.NoSuchElementException;
-import java.util.AbstractCollection;
-import java.util.Collection;
+import java.util.Set;
 
 import javax.faces.FacesException;
 import javax.faces.context.ExternalContext;
@@ -62,11 +63,7 @@
 import javax.servlet.http.HttpSession;
 
 import com.sun.faces.RIConstants;
-import com.sun.faces.context.BaseContextMap.EntryIterator;
-import com.sun.faces.context.BaseContextMap.KeyIterator;
-import com.sun.faces.context.BaseContextMap.ValueIterator;
 import com.sun.faces.util.Util;
-import java.io.UnsupportedEncodingException;
 
 /**
  * <p>This implementation of {_at_link ExternalContext} is specific to the
@@ -81,18 +78,18 @@
     private ServletRequest request = null;
     private ServletResponse response = null;
 
- private ApplicationMap applicationMap = null;
- private SessionMap sessionMap = null;
- private RequestMap requestMap = null;
- private Map requestParameterMap = null;
- private Map requestParameterValuesMap = null;
- private Map requestHeaderMap = null;
- private Map requestHeaderValuesMap = null;
- private Map cookieMap = null;
- private Map initParameterMap = null;
+ private Map<String,Object> applicationMap = null;
+ private Map<String,Object> sessionMap = null;
+ private Map<String,Object> requestMap = null;
+ private Map<String,String> requestParameterMap = null;
+ private Map<String,String[]> requestParameterValuesMap = null;
+ private Map<String,String> requestHeaderMap = null;
+ private Map<String,String[]> requestHeaderValuesMap = null;
+ private Map<String,Object> cookieMap = null;
+ private Map<String,String> initParameterMap = null;
 
     static final Class theUnmodifiableMapClass =
- Collections.unmodifiableMap(new HashMap()).getClass();
+ Collections.unmodifiableMap(new
HashMap<Object,Object>()).getClass();
     
     public ExternalContextImpl(ServletContext sc, ServletRequest request,
                                ServletResponse response) {
@@ -157,7 +154,7 @@
     }
     
     public void setRequestCharacterEncoding(String encoding) throws
UnsupportedEncodingException {
- ((ServletRequest)request).setCharacterEncoding(encoding);
+ request.setCharacterEncoding(encoding);
     }
 
     public Object getResponse() {
@@ -171,10 +168,10 @@
     }
     
     public void setResponseCharacterEncoding(String encoding) {
- ((ServletResponse)response).setCharacterEncoding(encoding);
+ response.setCharacterEncoding(encoding);
     }
 
- public Map getApplicationMap() {
+ public Map<String,Object> getApplicationMap() {
         if (applicationMap == null) {
             applicationMap = new ApplicationMap(servletContext);
         }
@@ -182,7 +179,7 @@
     }
 
 
- public Map getSessionMap() {
+ public Map<String,Object> getSessionMap() {
         if (sessionMap == null) {
             sessionMap = new SessionMap((HttpServletRequest) request);
         }
@@ -190,7 +187,7 @@
     }
 
 
- public Map getRequestMap() {
+ public Map<String,Object> getRequestMap() {
         if (requestMap == null) {
             requestMap = new RequestMap(this.request);
         }
@@ -198,61 +195,67 @@
     }
 
 
- public Map getRequestHeaderMap() {
+ public Map<String,String> getRequestHeaderMap() {
         if (null == requestHeaderMap) {
             requestHeaderMap =
- Collections.unmodifiableMap(new
RequestHeaderMap((HttpServletRequest) request));
+ Collections.<String, String>unmodifiableMap(
+ new RequestHeaderMap((HttpServletRequest)
request));
         }
         return requestHeaderMap;
     }
 
 
- public Map getRequestHeaderValuesMap() {
+ public Map<String,String[]> getRequestHeaderValuesMap() {
         if (null == requestHeaderValuesMap) {
             requestHeaderValuesMap =
- Collections.unmodifiableMap(new
RequestHeaderValuesMap((HttpServletRequest) request));
+ Collections.<String,String[]>unmodifiableMap(
+ new RequestHeaderValuesMap((HttpServletRequest)
request));
         }
         return requestHeaderValuesMap;
     }
 
 
- public Map getRequestCookieMap() {
+ public Map<String,Object> getRequestCookieMap() {
         if (null == cookieMap) {
             cookieMap =
- Collections.unmodifiableMap(new
RequestCookieMap((HttpServletRequest) request));
+ Collections.<String,Object>unmodifiableMap(
+ new RequestCookieMap((HttpServletRequest) request));
         }
         return cookieMap;
     }
 
 
- public Map getInitParameterMap() {
+ public Map<String,String> getInitParameterMap() {
         if (null == initParameterMap) {
             initParameterMap =
- Collections.unmodifiableMap(new
InitParameterMap(servletContext));
+ Collections.<String,String>unmodifiableMap(
+ new InitParameterMap(servletContext));
         }
         return initParameterMap;
     }
 
 
- public Map getRequestParameterMap() {
+ public Map<String,String> getRequestParameterMap() {
         if (null == requestParameterMap) {
             requestParameterMap =
- Collections.unmodifiableMap(new
RequestParameterMap(request));
+ Collections.<String,String>unmodifiableMap(
+ new RequestParameterMap(request));
         }
         return requestParameterMap;
     }
 
 
- public Map getRequestParameterValuesMap() {
+ public Map<String,String[]> getRequestParameterValuesMap() {
         if (null == requestParameterValuesMap) {
             requestParameterValuesMap =
- Collections.unmodifiableMap(new
RequestParameterValuesMap(request));
+ Collections.<String,String[]>unmodifiableMap(
+ new RequestParameterValuesMap(request));
         }
         return requestParameterValuesMap;
     }
 
 
- public Iterator getRequestParameterNames() {
+ public Iterator<String> getRequestParameterNames() {
         final Enumeration namEnum = request.getParameterNames();
 
         return new Iterator() {
@@ -278,7 +281,7 @@
     }
 
 
- public Iterator getRequestLocales() {
+ public Iterator<Locale> getRequestLocales() {
         return (new LocalesIterator(request.getLocales()));
     }
 
@@ -303,7 +306,7 @@
     }
     
     public String getRequestCharacterEncoding() {
- return (((ServletRequest) request).getCharacterEncoding());
+ return (request.getCharacterEncoding());
     }
 
      
@@ -312,7 +315,7 @@
     }
     
     public String getResponseCharacterEncoding() {
- return (((ServletResponse) response).getCharacterEncoding());
+ return (response.getCharacterEncoding());
     }
     
     public String getResponseContentType() {
@@ -328,7 +331,7 @@
     }
 
 
- public Set getResourcePaths(String path) {
+ public Set<String> getResourcePaths(String path) {
         return servletContext.getResourcePaths(path);
     }
 
@@ -381,7 +384,7 @@
 
     public String encodeURL(String url) {
         return ((HttpServletResponse) response).encodeURL(url);
- };
+ }
 
     public void dispatch(String requestURI) throws IOException,
FacesException {
         RequestDispatcher requestDispatcher = request.getRequestDispatcher(
@@ -482,7 +485,7 @@
         throw new UnsupportedOperationException();
     }
 
- public Set entrySet() {
+ public Set<?> entrySet() {
         if (entrySet == null) {
             entrySet = new EntrySet();
         }
@@ -490,7 +493,7 @@
         return entrySet;
     }
 
- public Set keySet() {
+ public Set<?> keySet() {
         if (keySet == null) {
             keySet = new KeySet();
         }
@@ -498,7 +501,7 @@
         return keySet;
     }
 
- public Collection values() {
+ public Collection<?> values() {
         if (values == null) {
             values = new ValueCollection();
         }
Index: src/com/sun/faces/el/FacesResourceBundleELResolver.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/el/FacesResourceBundleELResolver.java,v
retrieving revision 1.2
diff -u -r1.2 FacesResourceBundleELResolver.java
--- src/com/sun/faces/el/FacesResourceBundleELResolver.java 22 Aug
2005 22:10:12 -0000 1.2
+++ src/com/sun/faces/el/FacesResourceBundleELResolver.java 25 Aug
2005 22:40:17 -0000
@@ -38,6 +38,8 @@
 import java.util.Locale;
 import java.util.Map;
 import java.util.ResourceBundle;
+import java.beans.FeatureDescriptor;
+
 import javax.el.ELContext;
 import javax.el.ELException;
 import javax.el.ELResolver;
@@ -166,22 +168,21 @@
             return null;
         }
 
- ArrayList list = new ArrayList();
+ ArrayList<FeatureDescriptor> list = new
ArrayList<FeatureDescriptor>();
        
         FacesContext facesContext =
             (FacesContext) context.getContext(FacesContext.class);
         ApplicationAssociate associate =
             
ApplicationAssociate.getInstance(facesContext.getExternalContext());
- Map rbMap = associate.getResourceBundleBeanMap();
+ Map<String,ResourceBundleBean> rbMap =
associate.getResourceBundleBeanMap();
         if (rbMap == null) {
             return list.iterator();
         }
         // iterate over the list of managed beans
- for (Iterator i = rbMap.entrySet().iterator(); i.hasNext(); ) {
- Map.Entry entry = (Map.Entry) i.next();
- String var = (String) entry.getKey();
- ResourceBundleBean resourceBundleBean = (ResourceBundleBean)
- entry.getValue();
+ for (Iterator<Map.Entry<String,ResourceBundleBean>> i =
rbMap.entrySet().iterator(); i.hasNext(); ) {
+ Map.Entry<String,ResourceBundleBean> entry = i.next();
+ String var = entry.getKey();
+ ResourceBundleBean resourceBundleBean = entry.getValue();
             if ( resourceBundleBean != null) {
                 Locale curLocale =
Util.getLocaleFromContextOrSystem(facesContext);
                 String locale = curLocale.toString();
Index: src/com/sun/faces/el/ImplicitObjectELResolver.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/el/ImplicitObjectELResolver.java,v
retrieving revision 1.5
diff -u -r1.5 ImplicitObjectELResolver.java
--- src/com/sun/faces/el/ImplicitObjectELResolver.java 22 Aug 2005
22:10:12 -0000 1.5
+++ src/com/sun/faces/el/ImplicitObjectELResolver.java 25 Aug 2005
22:40:17 -0000
@@ -186,7 +186,7 @@
         if (base != null) {
             return null;
         }
- ArrayList list = new ArrayList(14);
+ ArrayList<FeatureDescriptor> list = new
ArrayList<FeatureDescriptor>(14);
         list.add(Util.getFeatureDescriptor("application", "application",
             "application",false, false, true, Object.class, Boolean.TRUE));
         list.add(Util.getFeatureDescriptor("applicationScope",
"applicationScope",
Index: src/com/sun/faces/el/ImplicitObjectELResolverForJsp.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/el/ImplicitObjectELResolverForJsp.java,v
retrieving revision 1.5
diff -u -r1.5 ImplicitObjectELResolverForJsp.java
--- src/com/sun/faces/el/ImplicitObjectELResolverForJsp.java 22 Aug
2005 22:10:12 -0000 1.5
+++ src/com/sun/faces/el/ImplicitObjectELResolverForJsp.java 25 Aug
2005 22:40:17 -0000
@@ -35,7 +35,6 @@
 
 import javax.el.ELContext;
 import javax.el.ELException;
-import javax.el.ELResolver;
 import javax.el.PropertyNotFoundException;
 import javax.el.PropertyNotWritableException;
 import javax.faces.component.UIViewRoot;
@@ -169,7 +168,7 @@
             return null;
         }
        
- ArrayList list = new ArrayList(2);
+ ArrayList<FeatureDescriptor> list = new
ArrayList<FeatureDescriptor>(2);
         list.add(Util.getFeatureDescriptor("facesContext", "facesContext",
         "facesContext",false, false, true, FacesContext.class,
Boolean.TRUE));
         list.add(Util.getFeatureDescriptor("view", "view",
Index: src/com/sun/faces/el/ManagedBeanELResolver.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/el/ManagedBeanELResolver.java,v
retrieving revision 1.9
diff -u -r1.9 ManagedBeanELResolver.java
--- src/com/sun/faces/el/ManagedBeanELResolver.java 25 Aug 2005
18:27:19 -0000 1.9
+++ src/com/sun/faces/el/ManagedBeanELResolver.java 25 Aug 2005
22:40:17 -0000
@@ -137,7 +137,7 @@
             return null;
         }
 
- ArrayList list = new ArrayList();
+ ArrayList<FeatureDescriptor> list = new
ArrayList<FeatureDescriptor>();
        
         FacesContext facesContext =
             (FacesContext) context.getContext(FacesContext.class);
Index: src/com/sun/faces/el/PropertyResolverImpl.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/el/PropertyResolverImpl.java,v
retrieving revision 1.19
diff -u -r1.19 PropertyResolverImpl.java
--- src/com/sun/faces/el/PropertyResolverImpl.java 22 Aug 2005
22:10:13 -0000 1.19
+++ src/com/sun/faces/el/PropertyResolverImpl.java 25 Aug 2005
22:40:17 -0000
@@ -62,7 +62,7 @@
         // validates base != null and index >= 0
         assertInput(base, index);
 
- Class type = base.getClass();
+ Class<? extends Object> type = base.getClass();
         try {
             if (type.isArray()) {
                 Array.get(base, index);
@@ -176,7 +176,7 @@
         // validate input
         assertInput(base, index);
         FacesContext context = FacesContext.getCurrentInstance();
- Class type = base.getClass();
+ Class<? extends Object> type = base.getClass();
         if (type.isArray()) {
             try {
                 Array.set(base, index, (context.getApplication().
Index: src/com/sun/faces/el/ScopedAttributeELResolver.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/el/ScopedAttributeELResolver.java,v
retrieving revision 1.3
diff -u -r1.3 ScopedAttributeELResolver.java
--- src/com/sun/faces/el/ScopedAttributeELResolver.java 22 Aug 2005
22:10:13 -0000 1.3
+++ src/com/sun/faces/el/ScopedAttributeELResolver.java 25 Aug 2005
22:40:17 -0000
@@ -29,7 +29,6 @@
  */
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.beans.FeatureDescriptor;
 import java.util.Map.Entry;
@@ -38,12 +37,10 @@
 import javax.faces.context.FacesContext;
 
 import javax.el.ELException;
-import javax.el.PropertyNotWritableException;
 import javax.el.PropertyNotFoundException;
 import javax.el.ELContext;
 import javax.el.ELResolver;
 
-import com.sun.faces.el.ELConstants;
 import com.sun.faces.util.Util;
 
 public class ScopedAttributeELResolver extends ELResolver {
@@ -152,18 +149,18 @@
 
        String attrName = null;
        Object attrValue = null;
- ArrayList list = new ArrayList();
+ ArrayList<FeatureDescriptor> list = new
ArrayList<FeatureDescriptor>();
         
        FacesContext facesContext = (FacesContext)
            context.getContext(FacesContext.class);
        ExternalContext ec = facesContext.getExternalContext();
        
        // add attributes in request scope.
- Set attrs = ec.getRequestMap().entrySet();
- Iterator it = attrs.iterator();
+ Set<Entry<String,Object>> attrs = ec.getRequestMap().entrySet();
+ Iterator<Entry<String,Object>> it = attrs.iterator();
        while (it.hasNext()) {
- Entry entry = (Entry) it.next();
- attrName = (String) entry.getKey();
+ Entry<String,Object> entry = it.next();
+ attrName = entry.getKey();
            attrValue = entry.getValue();
            list.add(Util.getFeatureDescriptor(attrName, attrName,
            "request scope attribute", false, false, true,
attrValue.getClass(),
@@ -174,8 +171,8 @@
        attrs = ec.getSessionMap().entrySet();
        it = attrs.iterator();
        while (it.hasNext()) {
- Entry entry = (Entry) it.next();
- attrName = (String) entry.getKey();
+ Entry<String,Object> entry = it.next();
+ attrName = entry.getKey();
            attrValue = entry.getValue();
            list.add(Util.getFeatureDescriptor(attrName, attrName,
            "session scope attribute", false, false, true,
attrValue.getClass(),
@@ -186,8 +183,8 @@
        attrs = ec.getApplicationMap().entrySet();
        it = attrs.iterator();
        while (it.hasNext()) {
- Entry entry = (Entry) it.next();
- attrName = (String) entry.getKey();
+ Entry<String,Object> entry = it.next();
+ attrName = entry.getKey();
            attrValue = entry.getValue();
            list.add(Util.getFeatureDescriptor(attrName, attrName,
            "application scope attribute", false, false, true,
attrValue.getClass(),
Index: src/com/sun/faces/lifecycle/LifecycleFactoryImpl.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/lifecycle/LifecycleFactoryImpl.java,v
retrieving revision 1.25
diff -u -r1.25 LifecycleFactoryImpl.java
--- src/com/sun/faces/lifecycle/LifecycleFactoryImpl.java 22 Aug 2005
22:10:15 -0000 1.25
+++ src/com/sun/faces/lifecycle/LifecycleFactoryImpl.java 25 Aug 2005
22:40:17 -0000
@@ -76,7 +76,7 @@
 
     // Relationship Instance Variables
 
- protected HashMap lifecycleMap = null;
+ protected HashMap<String,LifecycleWrapper> lifecycleMap = null;
     protected Object lock = null;
 
     //
@@ -85,7 +85,7 @@
 
     public LifecycleFactoryImpl() {
         super();
- lifecycleMap = new HashMap();
+ lifecycleMap = new HashMap<String, LifecycleWrapper>();
 
         // We must have an implementation under this key.
         lifecycleMap.put(LifecycleFactory.DEFAULT_LIFECYCLE,
@@ -110,7 +110,7 @@
      */
 
     boolean alreadyCreated(String lifecycleId) {
- LifecycleWrapper wrapper = (LifecycleWrapper) lifecycleMap.get(
+ LifecycleWrapper wrapper = lifecycleMap.get(
             lifecycleId);
         return (null != wrapper && wrapper.created);
     }
@@ -133,7 +133,7 @@
         }
 
         if (null ==
- (wrapper = (LifecycleWrapper) lifecycleMap.get(lifecycleId))) {
+ (wrapper = lifecycleMap.get(lifecycleId))) {
             message = Util.getExceptionMessageString(
                 Util.LIFECYCLE_ID_NOT_FOUND_ERROR_MESSAGE_ID,
                 params);
@@ -217,7 +217,7 @@
             throw new IllegalArgumentException(message);
         }
 
- wrapper = (LifecycleWrapper) lifecycleMap.get(lifecycleId);
+ wrapper = lifecycleMap.get(lifecycleId);
         result = wrapper.instance;
         wrapper.created = true;
 
@@ -228,7 +228,7 @@
     }
 
 
- public Iterator getLifecycleIds() {
+ public Iterator<String> getLifecycleIds() {
         return lifecycleMap.keySet().iterator();
     }
 
@@ -236,7 +236,7 @@
 // Helper classes
 //
 
- static class LifecycleWrapper extends Object {
+ static class LifecycleWrapper {
 
 
         Lifecycle instance = null;
Index: src/com/sun/faces/lifecycle/LifecycleImpl.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/lifecycle/LifecycleImpl.java,v
retrieving revision 1.55
diff -u -r1.55 LifecycleImpl.java
--- src/com/sun/faces/lifecycle/LifecycleImpl.java 22 Aug 2005
22:10:15 -0000 1.55
+++ src/com/sun/faces/lifecycle/LifecycleImpl.java 25 Aug 2005
22:40:17 -0000
@@ -76,7 +76,7 @@
 
 
     // The set of PhaseListeners registered with this Lifecycle instance
- private ArrayList listeners = new ArrayList();
+ private ArrayList<PhaseListener> listeners = new
ArrayList<PhaseListener>();
 
 
     // The set of Phase instances that are executed by the execute() method
@@ -224,7 +224,7 @@
     int
         i = 0,
         maxBefore = 0;
- List tempListeners = (ArrayList)listeners.clone();
+ List<PhaseListener> tempListeners =
(ArrayList<PhaseListener>)listeners.clone();
     try {
             // Notify the "beforePhase" method of interested listeners
         // (ascending)
@@ -238,7 +238,7 @@
         if (tempListeners.size() > 0) {
                 PhaseEvent event = new PhaseEvent(context, phaseId, this);
                 for (i = 0; i < tempListeners.size(); i++) {
- PhaseListener listener =
(PhaseListener)tempListeners.get(i);
+ PhaseListener listener = tempListeners.get(i);
                     if (phaseId.equals(listener.getPhaseId()) ||
                         PhaseId.ANY_PHASE.equals(listener.getPhaseId())) {
                         listener.beforePhase(event);
@@ -276,8 +276,7 @@
                 if (tempListeners.size() > 0) {
                     PhaseEvent event = new PhaseEvent(context, phaseId,
this);
                     for (i = maxBefore; i >= 0; i--) {
- PhaseListener listener = (PhaseListener)
- tempListeners.get(i);
+ PhaseListener listener = tempListeners.get(i);
                         if (phaseId.equals(listener.getPhaseId()) ||
                             
PhaseId.ANY_PHASE.equals(listener.getPhaseId())) {
                             listener.afterPhase(event);
@@ -349,7 +348,8 @@
      */
     protected void populateFacesELResolverForJsp(FacesContext context) {
         
- Map applicationMap =
context.getExternalContext().getApplicationMap();
+ Map<String,Object> applicationMap =
+ context.getExternalContext().getApplicationMap();
         String requestServiced = (String)
             applicationMap.get(this.FIRST_REQUEST_SERVICED);
         if (requestServiced != null) {
Index: src/com/sun/faces/lifecycle/RestoreViewPhase.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/lifecycle/RestoreViewPhase.java,v
retrieving revision 1.28
diff -u -r1.28 RestoreViewPhase.java
--- src/com/sun/faces/lifecycle/RestoreViewPhase.java 22 Aug 2005
22:10:16 -0000 1.28
+++ src/com/sun/faces/lifecycle/RestoreViewPhase.java 25 Aug 2005
22:40:17 -0000
@@ -222,9 +222,9 @@
             valueExpression.setValue(context.getELContext(), uic);
         }
 
- Iterator kids = uic.getFacetsAndChildren();
+ Iterator<UIComponent> kids = uic.getFacetsAndChildren();
         while (kids.hasNext()) {
- doPerComponentActions(context, (UIComponent) kids.next());
+ doPerComponentActions(context, kids.next());
         }
       
     }
Index: src/com/sun/faces/renderkit/ByteArrayGuard.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/ByteArrayGuard.java,v
retrieving revision 1.7
diff -u -r1.7 ByteArrayGuard.java
--- src/com/sun/faces/renderkit/ByteArrayGuard.java 22 Aug 2005
22:10:17 -0000 1.7
+++ src/com/sun/faces/renderkit/ByteArrayGuard.java 25 Aug 2005
22:40:17 -0000
@@ -219,7 +219,8 @@
         
         // if there is a session....
         if ( sessionObj != null ) {
- Map sessionMap = context.getExternalContext().getSessionMap();
+ Map<String,Object> sessionMap =
+ context.getExternalContext().getSessionMap();
             
             // try to get a legacy password from the session to use
             statePwd = (String) sessionMap.get(SESSION_KEY_FOR_PASSWORD);
Index: src/com/sun/faces/renderkit/RenderKitFactoryImpl.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/RenderKitFactoryImpl.java,v
retrieving revision 1.21
diff -u -r1.21 RenderKitFactoryImpl.java
--- src/com/sun/faces/renderkit/RenderKitFactoryImpl.java 22 Aug 2005
22:10:17 -0000 1.21
+++ src/com/sun/faces/renderkit/RenderKitFactoryImpl.java 25 Aug 2005
22:40:17 -0000
@@ -46,7 +46,7 @@
 //
     protected String renderKitId = null;
     protected String className = null;
- protected HashMap renderKits = null;
+ protected HashMap<String,RenderKit> renderKits = null;
 
 //
 // Class Variables
@@ -64,7 +64,7 @@
      */
     public RenderKitFactoryImpl() {
         super();
- renderKits = new HashMap();
+ renderKits = new HashMap<String, RenderKit>();
         addRenderKit(HTML_BASIC_RENDER_KIT, new RenderKitImpl());
     }
 
@@ -101,7 +101,7 @@
 
         synchronized (renderKits) {
             if (renderKits.containsKey(renderKitId)) {
- renderKit = (RenderKit) renderKits.get(renderKitId);
+ renderKit = renderKits.get(renderKitId);
             }
         }
 
@@ -109,7 +109,7 @@
     }
 
 
- public Iterator getRenderKitIds() {
+ public Iterator<String> getRenderKitIds() {
         return (renderKits.keySet().iterator());
     }
 
Index: src/com/sun/faces/renderkit/RenderKitImpl.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/RenderKitImpl.java,v
retrieving revision 1.28
diff -u -r1.28 RenderKitImpl.java
--- src/com/sun/faces/renderkit/RenderKitImpl.java 22 Aug 2005
22:10:17 -0000 1.28
+++ src/com/sun/faces/renderkit/RenderKitImpl.java 25 Aug 2005
22:40:17 -0000
@@ -87,7 +87,7 @@
      * Renderer instances themselves.
      */
 
- private HashMap rendererFamilies;
+ private HashMap<String,HashMap<Object,Renderer>> rendererFamilies;
 
     private ResponseStateManager responseStateManager = null;
 //
@@ -96,7 +96,7 @@
 
     public RenderKitImpl() {
         super();
- rendererFamilies = new HashMap();
+ rendererFamilies = new HashMap<String, HashMap<Object,Renderer>>();
     }
 
 
@@ -122,12 +122,12 @@
             throw new NullPointerException(message);
                 
         }
- HashMap renderers = null;
+ HashMap<Object,Renderer> renderers = null;
 
         synchronized (rendererFamilies) {
         // PENDING(edburns): generics would be nice here.
- if (null == (renderers = (HashMap) rendererFamilies.get(family))) {
- rendererFamilies.put(family, renderers = new HashMap());
+ if (null == (renderers = rendererFamilies.get(family))) {
+ rendererFamilies.put(family, renderers = new HashMap<Object,
Renderer>());
         }
             renderers.put(rendererType, renderer);
         }
@@ -146,11 +146,11 @@
 
         assert (rendererFamilies != null);
 
- HashMap renderers = null;
+ HashMap<Object,Renderer> renderers = null;
         Renderer renderer = null;
 
- if (null != (renderers = (HashMap) rendererFamilies.get(family))) {
- renderer = (Renderer) renderers.get(rendererType);
+ if (null != (renderers = rendererFamilies.get(family))) {
+ renderer = renderers.get(rendererType);
     }
     
         return renderer;
@@ -198,7 +198,7 @@
         }
 
     if (null != desiredContentTypeList) {
- Map requestMap = context.getExternalContext().getRequestMap();
+ Map<String,Object> requestMap =
context.getExternalContext().getRequestMap();
         
         desiredTypes = contentTypeSplit(desiredContentTypeList);
         String curContentType = null, curDesiredType =
null;
Index: src/com/sun/faces/renderkit/ResponseStateManagerImpl.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/ResponseStateManagerImpl.java,v
retrieving revision 1.26
diff -u -r1.26 ResponseStateManagerImpl.java
--- src/com/sun/faces/renderkit/ResponseStateManagerImpl.java 22 Aug
2005 22:10:17 -0000 1.26
+++ src/com/sun/faces/renderkit/ResponseStateManagerImpl.java 25 Aug
2005 22:40:17 -0000
@@ -113,7 +113,7 @@
     public Object getComponentStateToRestore(FacesContext context) {
 
         // requestMap is a local variable so we don't need to synchronize
- Map requestMap = context.getExternalContext().getRequestMap();
+ Map<String,Object> requestMap =
context.getExternalContext().getRequestMap();
         Object state = requestMap.get(FACES_VIEW_STATE);
         // null out the temporary attribute, since we don't need it
anymore.
         requestMap.remove(FACES_VIEW_STATE);
@@ -121,9 +121,8 @@
     }
 
     public boolean isPostback(FacesContext context) {
- boolean result = context.getExternalContext().getRequestParameterMap().
-
containsKey(javax.faces.render.ResponseStateManager.VIEW_STATE_PARAM);
- return result;
+ return context.getExternalContext().getRequestParameterMap().
+ containsKey(ResponseStateManager.VIEW_STATE_PARAM);
     }
 
     public Object getState(FacesContext context, String viewId) {
@@ -134,11 +133,11 @@
                                             String treeId) {
     StateManager stateManager = Util.getStateManager(context);
         
- Map requestParamMap = context.getExternalContext()
+ Map<String,String> requestParamMap = context.getExternalContext()
         .getRequestParameterMap();
     
- String viewString = (String) requestParamMap.get(
-
javax.faces.render.ResponseStateManager.VIEW_STATE_PARAM);
+ String viewString = requestParamMap.get(
+ ResponseStateManager.VIEW_STATE_PARAM);
     Object structure = null;
     if (viewString == null) {
         return null;
@@ -166,7 +165,7 @@
         }
         structure = ois.readObject();
         state = ois.readObject();
- Map requestMap = context.getExternalContext().getRequestMap();
+ Map<String,Object> requestMap =
context.getExternalContext().getRequestMap();
         // store the state object temporarily in request scope
         // until it is processed by getComponentStateToRestore
         // which resets it.
@@ -200,7 +199,7 @@
     
     public void writeState(FacesContext context, SerializedView view)
         throws IOException {
- String hiddenField = null;
+
     StateManager stateManager = Util.getStateManager(context);
         ResponseWriter writer = context.getResponseWriter();
 
@@ -259,7 +258,7 @@
     
     public boolean isCompressStateSet(FacesContext context) {
     if (null != compressStateSet) {
- return compressStateSet.booleanValue();
+ return compressStateSet;
     }
     compressStateSet = Boolean.TRUE;
 
@@ -268,7 +267,7 @@
         if (compressStateParam != null){
         compressStateSet = Boolean.valueOf(compressStateParam);
         }
- return compressStateSet.booleanValue();
+ return compressStateSet;
     }
 
 
Index: src/com/sun/faces/renderkit/html_basic/ButtonRenderer.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/html_basic/ButtonRenderer.java,v
retrieving revision 1.89
diff -u -r1.89 ButtonRenderer.java
--- src/com/sun/faces/renderkit/html_basic/ButtonRenderer.java 22 Aug
2005 22:10:18 -0000 1.89
+++ src/com/sun/faces/renderkit/html_basic/ButtonRenderer.java 25 Aug
2005 22:40:18 -0000
@@ -45,7 +45,6 @@
 
 import com.sun.faces.util.Util;
 
-import java.util.logging.Logger;
 import java.util.logging.Level;
 
 /**
@@ -119,9 +118,9 @@
         // can get the command name by calling currentValue. This way
we can
         // get around the IE bug.
         String clientId = component.getClientId(context);
- Map requestParameterMap = context.getExternalContext()
+ Map<String,String> requestParameterMap =
context.getExternalContext()
             .getRequestParameterMap();
- String value = (String) requestParameterMap.get(clientId);
+ String value = requestParameterMap.get(clientId);
         if (value == null) {
             if (requestParameterMap.get(clientId + ".x") == null &&
                 requestParameterMap.get(clientId + ".y") == null) {
@@ -143,8 +142,7 @@
          if (logger.isLoggable(Level.FINER)) {
             logger.log(Level.FINER,
                     "End decoding component " + component.getId());
- }
- return;
+ }
     }
 
 
@@ -279,7 +277,8 @@
 
     private String getClearHiddenFieldScript(FacesContext context,
                          UIComponent component) {
- Map requestMap = context.getExternalContext().getRequestMap();
+ Map<String,Object> requestMap =
+ context.getExternalContext().getRequestMap();
     UIComponent
         myForm = component,
         root = context.getViewRoot();
Index: src/com/sun/faces/renderkit/html_basic/CheckboxRenderer.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/html_basic/CheckboxRenderer.java,v
retrieving revision 1.74
diff -u -r1.74 CheckboxRenderer.java
--- src/com/sun/faces/renderkit/html_basic/CheckboxRenderer.java 22
Aug 2005 22:10:18 -0000 1.74
+++ src/com/sun/faces/renderkit/html_basic/CheckboxRenderer.java 25
Aug 2005 22:40:18 -0000
@@ -42,7 +42,6 @@
 
 import com.sun.faces.util.Util;
 
-import java.util.logging.Logger;
 import java.util.logging.Level;
 
 
@@ -91,9 +90,7 @@
     //
 
     public void decode(FacesContext context, UIComponent component) {
-
- Object convertedValue = null;
-
+
         if (context == null || component == null) {
             throw new NullPointerException(Util.getExceptionMessageString(
                 Util.NULL_PARAMETERS_ERROR_MESSAGE_ID));
@@ -119,9 +116,9 @@
         assert (clientId != null);
         // Convert the new value
 
- Map requestParameterMap = context.getExternalContext()
+ Map<String,String> requestParameterMap =
context.getExternalContext()
             .getRequestParameterMap();
- String newValue = (String) requestParameterMap.get(clientId);
+ String newValue = requestParameterMap.get(clientId);
         //if there was nothing sent in the request the checkbox wasn't
checked
         // if the checkbox is not disabled.
         if (newValue == null) {
@@ -150,8 +147,7 @@
         throws ConverterException {
 
         String newValue = (String) submittedValue;
- Object convertedValue = Boolean.valueOf(newValue);
- return convertedValue;
+ return Boolean.valueOf(newValue);
     }
 
 
Index: src/com/sun/faces/renderkit/html_basic/CommandLinkRenderer.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/html_basic/CommandLinkRenderer.java,v
retrieving revision 1.35
diff -u -r1.35 CommandLinkRenderer.java
--- src/com/sun/faces/renderkit/html_basic/CommandLinkRenderer.java
 22 Aug 2005 22:10:18 -0000 1.35
+++ src/com/sun/faces/renderkit/html_basic/CommandLinkRenderer.java
 25 Aug 2005 22:40:18 -0000
@@ -47,7 +47,6 @@
 import com.sun.faces.RIConstants;
 import com.sun.faces.util.Util;
 
-import java.util.logging.Logger;
 import java.util.logging.Level;
 
 /**
@@ -125,9 +124,9 @@
     if (null == paramName) {
         return;
     }
- Map requestParameterMap = context.getExternalContext()
+ Map<String,String> requestParameterMap =
context.getExternalContext()
             .getRequestParameterMap();
- String value = (String) requestParameterMap.get(paramName);
+ String value = requestParameterMap.get(paramName);
         if (value == null || value.equals("") || !clientId.equals(value)) {
             return;
         }
@@ -209,9 +208,9 @@
             }
             return;
         }
- Iterator kids = component.getChildren().iterator();
+ Iterator<UIComponent> kids = component.getChildren().iterator();
         while (kids.hasNext()) {
- UIComponent kid = (UIComponent) kids.next();
+ UIComponent kid = kids.next();
             kid.encodeBegin(context);
             if (kid.getRendersChildren()) {
                 kid.encodeChildren(context);
@@ -453,7 +452,7 @@
     private void writeScriptContent(FacesContext context,
                    ResponseWriter writer,
                    UIComponent component) throws IOException {
- Map requestMap = context.getExternalContext().getRequestMap();
+ Map<String,Object> requestMap =
context.getExternalContext().getRequestMap();
     UIForm myForm = getMyForm(context, component);
     boolean isXHTML =
         requestMap.containsKey(RIConstants.CONTENT_TYPE_IS_XHTML);
@@ -524,7 +523,7 @@
                            UIComponent component,
                            String fieldName) throws IOException {
         //Handle hidden fields
- Map requestMap = context.getExternalContext().getRequestMap();
+ Map<String,Object> requestMap =
context.getExternalContext().getRequestMap();
     
     if (null == fieldName) {
         return;
Index: src/com/sun/faces/renderkit/html_basic/FormRenderer.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/html_basic/FormRenderer.java,v
retrieving revision 1.90
diff -u -r1.90 FormRenderer.java
--- src/com/sun/faces/renderkit/html_basic/FormRenderer.java 22 Aug
2005 22:10:18 -0000 1.90
+++ src/com/sun/faces/renderkit/html_basic/FormRenderer.java 25 Aug
2005 22:40:18 -0000
@@ -41,7 +41,6 @@
 
 import com.sun.faces.util.Util;
 
-import java.util.logging.Logger;
 import java.util.logging.Level;
 
 /**
@@ -96,7 +95,7 @@
             logger.log(Level.FINER,
                     "Begin decoding component " + component.getId());
         }
- Map requestParameterMap = context.getExternalContext()
+ Map<String,String> requestParameterMap =
context.getExternalContext()
             .getRequestParameterMap();
         if (requestParameterMap.containsKey(clientId)) {
             ((UIForm) component).setSubmitted(true);
Index: src/com/sun/faces/renderkit/html_basic/GridRenderer.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/html_basic/GridRenderer.java,v
retrieving revision 1.37
diff -u -r1.37 GridRenderer.java
--- src/com/sun/faces/renderkit/html_basic/GridRenderer.java 22 Aug
2005 22:10:19 -0000 1.37
+++ src/com/sun/faces/renderkit/html_basic/GridRenderer.java 25 Aug
2005 22:40:18 -0000
@@ -40,7 +40,6 @@
 
 import com.sun.faces.util.Util;
 
-import java.util.logging.Logger;
 import java.util.logging.Level;
 
 /**
@@ -207,9 +206,8 @@
         String rowClasses[] = getRowClasses(component);
         int rowStyle = 0;
         int rowStyles = rowClasses.length;
- boolean open = false;
- UIComponent facet = null;
- Iterator kids = null;
+ boolean open = false;
+ Iterator<UIComponent> kids = null;
         int i = 0;
 
         // Render our children, starting a new row as needed
@@ -218,7 +216,7 @@
 
         if (null != (kids = getChildren(component))) {
             while (kids.hasNext()) {
- UIComponent child = (UIComponent) kids.next();
+ UIComponent child = kids.next();
                 if ((i % columns) == 0) {
                     if (open) {
                         writer.endElement("tr");
@@ -305,7 +303,7 @@
             return (new String[0]);
         }
         values = values.trim();
- ArrayList list = new ArrayList();
+ ArrayList<String> list = new ArrayList<String>();
         while (values.length() > 0) {
             int comma = values.indexOf(",");
             if (comma >= 0) {
@@ -317,7 +315,7 @@
             }
         }
         String results[] = new String[list.size()];
- return ((String[]) list.toArray(results));
+ return (list.toArray(results));
     }
 
 
@@ -329,7 +327,7 @@
         int count;
         Object value = component.getAttributes().get("columns");
         if ((value != null) && (value instanceof Integer)) {
- count = ((Integer) value).intValue();
+ count = ((Integer) value);
         } else {
             count = 2;
         }
@@ -351,7 +349,7 @@
             return (new String[0]);
         }
         values = values.trim();
- ArrayList list = new ArrayList();
+ ArrayList<String> list = new ArrayList<String>();
         while (values.length() > 0) {
             int comma = values.indexOf(",");
             if (comma >= 0) {
@@ -363,7 +361,7 @@
             }
         }
         String results[] = new String[list.size()];
- return ((String[]) list.toArray(results));
+ return (list.toArray(results));
     }
 
 
Index: src/com/sun/faces/renderkit/html_basic/GroupRenderer.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/html_basic/GroupRenderer.java,v
retrieving revision 1.26
diff -u -r1.26 GroupRenderer.java
--- src/com/sun/faces/renderkit/html_basic/GroupRenderer.java 22 Aug
2005 22:10:19 -0000 1.26
+++ src/com/sun/faces/renderkit/html_basic/GroupRenderer.java 25 Aug
2005 22:40:18 -0000
@@ -30,7 +30,6 @@
 package com.sun.faces.renderkit.html_basic;
 
 import com.sun.faces.util.Util;
-import java.util.logging.Logger;
 import java.util.logging.Level;
 
 import javax.faces.component.UIComponent;
@@ -148,9 +147,9 @@
         }
 
         // Render our children recursively
- Iterator kids = getChildren(component);
+ Iterator<UIComponent> kids = getChildren(component);
         while (kids.hasNext()) {
- encodeRecursive(context, (UIComponent) kids.next());
+ encodeRecursive(context, kids.next());
         }
         if (logger.isLoggable(Level.FINER)) {
             logger.log(Level.FINER,"End encoding children " +
component.getId());
Index: src/com/sun/faces/renderkit/html_basic/HtmlBasicRenderer.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/html_basic/HtmlBasicRenderer.java,v
retrieving revision 1.98
diff -u -r1.98 HtmlBasicRenderer.java
--- src/com/sun/faces/renderkit/html_basic/HtmlBasicRenderer.java 22
Aug 2005 22:10:19 -0000 1.98
+++ src/com/sun/faces/renderkit/html_basic/HtmlBasicRenderer.java 25
Aug 2005 22:40:18 -0000
@@ -37,7 +37,6 @@
 import javax.faces.component.NamingContainer;
 import javax.faces.component.UIComponent;
 import javax.faces.component.UIInput;
-import javax.faces.component.UIForm;
 import javax.faces.component.UIParameter;
 import javax.faces.component.UIViewRoot;
 import javax.faces.component.ValueHolder;
@@ -151,10 +150,10 @@
 
         String clientId = component.getClientId(context);
         assert (clientId != null);
- Map requestMap =
context.getExternalContext().getRequestParameterMap();
+ Map<String,String> requestMap =
context.getExternalContext().getRequestParameterMap();
         // Don't overwrite the value unless you have to!
         if (requestMap.containsKey(clientId)) {
- String newValue = (String) requestMap.get(clientId);
+ String newValue = requestMap.get(clientId);
             setSubmittedValue(component, newValue);
             if (logger.isLoggable(Level.FINE)) {
                  logger.fine("new value after decoding" + newValue);
@@ -174,8 +173,7 @@
         throws IOException {
 
         String currentValue = null;
- ResponseWriter writer = null;
- String styleClass = null;
+ ResponseWriter writer = null;
 
         if (context == null || component == null) {
             throw new NullPointerException(Util.getExceptionMessageString(
@@ -228,9 +226,9 @@
         if (component.getRendersChildren()) {
             component.encodeChildren(context);
         } else {
- Iterator kids = getChildren(component);
+ Iterator<UIComponent> kids = getChildren(component);
             while (kids.hasNext()) {
- UIComponent kid = (UIComponent) kids.next();
+ UIComponent kid = kids.next();
                 encodeRecursive(context, kid);
             }
         }
@@ -245,12 +243,12 @@
      *
      * @param component <code>UIComponent</code> for which to extract
children
      */
- protected Iterator getChildren(UIComponent component) {
+ protected Iterator<UIComponent> getChildren(UIComponent component) {
 
- List results = new ArrayList();
- Iterator kids = component.getChildren().iterator();
+ List<UIComponent> results = new ArrayList<UIComponent>();
+ Iterator<UIComponent> kids = component.getChildren().iterator();
         while (kids.hasNext()) {
- UIComponent kid = (UIComponent) kids.next();
+ UIComponent kid = kids.next();
             if (kid.isRendered()) {
                 results.add(kid);
             }
@@ -466,9 +464,9 @@
      */
     private UIComponent findUIComponentBelow(UIComponent startPoint,
String forComponent) {
         UIComponent retComp = null;
- List children = startPoint.getChildren();
+ List<UIComponent> children = startPoint.getChildren();
         for (int i = 0, size = children.size(); i < size; i++) {
- UIComponent comp = (UIComponent) children.get(i);
+ UIComponent comp = children.get(i);
 
             if (comp instanceof NamingContainer) {
                 retComp = comp.findComponent(forComponent);
@@ -535,11 +533,11 @@
 
 
     protected Param[] getParamList(FacesContext context, UIComponent
command) {
- ArrayList parameterList = new ArrayList();
+ ArrayList<Param> parameterList = new ArrayList<Param>();
 
- Iterator kids = command.getChildren().iterator();
+ Iterator<UIComponent> kids = command.getChildren().iterator();
         while (kids.hasNext()) {
- UIComponent kid = (UIComponent) kids.next();
+ UIComponent kid = kids.next();
 
             if (kid instanceof UIParameter) {
                 UIParameter uiParam = (UIParameter) kid;
Index: src/com/sun/faces/renderkit/html_basic/MenuRenderer.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/html_basic/MenuRenderer.java,v
retrieving revision 1.60
diff -u -r1.60 MenuRenderer.java
--- src/com/sun/faces/renderkit/html_basic/MenuRenderer.java 22 Aug
2005 22:10:20 -0000 1.60
+++ src/com/sun/faces/renderkit/html_basic/MenuRenderer.java 25 Aug
2005 22:40:18 -0000
@@ -57,7 +57,6 @@
 import com.sun.faces.RIConstants;
 import com.sun.faces.util.Util;
 
-import java.util.logging.Logger;
 import java.util.logging.Level;
 
 /**
@@ -128,10 +127,10 @@
         // currently we assume the model type to be of type string or
         // convertible to string and localised by the application.
         if (component instanceof UISelectMany) {
- Map requestParameterValuesMap = context.getExternalContext().
+ Map<String,String[]> requestParameterValuesMap =
context.getExternalContext().
                 getRequestParameterValuesMap();
             if (requestParameterValuesMap.containsKey(clientId)) {
- String newValues[] = (String[]) requestParameterValuesMap.
+ String newValues[] = requestParameterValuesMap.
                     get(clientId);
                 setSubmittedValue(component, newValues);
                 if (logger.isLoggable(Level.FINE)) {
@@ -149,10 +148,10 @@
             }
         } else {
         // this is a UISelectOne
- Map requestParameterMap = context.getExternalContext().
+ Map<String,String> requestParameterMap =
context.getExternalContext().
                 getRequestParameterMap();
             if (requestParameterMap.containsKey(clientId)) {
- String newValue = (String)
requestParameterMap.get(clientId);
+ String newValue = requestParameterMap.get(clientId);
                 setSubmittedValue(component, newValue);
                 if (logger.isLoggable(Level.FINE)) {
                     logger.fine("submitted value for UISelectOne
component " +
@@ -398,12 +397,12 @@
     }
 
 
- protected Object handleListCase(FacesContext context,
+ protected ArrayList<String> handleListCase(FacesContext context,
                                     String[] newValues) {
         int
             i = 0,
             len = newValues.length;
- ArrayList result = new ArrayList(len);
+ ArrayList<String> result = new ArrayList<String>(len);
         for (i = 0; i < len; i++) {
             result.add(newValues[i]);
         }
@@ -628,7 +627,7 @@
     }
 
 
- boolean isSelected(Object itemValue, Object[] values) {
+ boolean isSelected(String itemValue, Object[] values) {
         if (null != values) {
             int len = values.length;
             for (int i = 0; i < len; i++) {
Index: src/com/sun/faces/renderkit/html_basic/OutputLinkRenderer.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/html_basic/OutputLinkRenderer.java,v
retrieving revision 1.22
diff -u -r1.22 OutputLinkRenderer.java
--- src/com/sun/faces/renderkit/html_basic/OutputLinkRenderer.java 22
Aug 2005 22:10:21 -0000 1.22
+++ src/com/sun/faces/renderkit/html_basic/OutputLinkRenderer.java 25
Aug 2005 22:40:18 -0000
@@ -41,7 +41,6 @@
 
 import com.sun.faces.util.Util;
 
-import java.util.logging.Logger;
 import java.util.logging.Level;
 
 
@@ -101,8 +100,7 @@
              logger.fine("No decoding necessary since the component "
                       + component.getId() +
                       " is not an instance or a sub class of UIInput");
- }
- return;
+ }
     }
 
 
@@ -159,9 +157,9 @@
             }
             return;
         }
- Iterator kids = component.getChildren().iterator();
+ Iterator<UIComponent> kids = component.getChildren().iterator();
         while (kids.hasNext()) {
- UIComponent kid = (UIComponent) kids.next();
+ UIComponent kid = kids.next();
             kid.encodeBegin(context);
             if (kid.getRendersChildren()) {
                 kid.encodeChildren(context);
@@ -212,8 +210,7 @@
             //Done writing Anchor element
             writer.endElement("a");
         }
-
- return;
+
     }
 
     private void renderAsActive(FacesContext context, UIOutput component)
Index: src/com/sun/faces/renderkit/html_basic/OutputMessageRenderer.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/html_basic/OutputMessageRenderer.java,v
retrieving revision 1.21
diff -u -r1.21 OutputMessageRenderer.java
--- src/com/sun/faces/renderkit/html_basic/OutputMessageRenderer.java
 22 Aug 2005 22:10:21 -0000 1.21
+++ src/com/sun/faces/renderkit/html_basic/OutputMessageRenderer.java
 25 Aug 2005 22:40:18 -0000
@@ -32,7 +32,6 @@
 package com.sun.faces.renderkit.html_basic;
 
 import com.sun.faces.util.Util;
-import java.util.logging.Logger;
 import java.util.logging.Level;
 
 import javax.faces.component.UIComponent;
@@ -138,13 +137,13 @@
             return;
         }
 
- ArrayList parameterList = new ArrayList();
+ ArrayList<Object> parameterList = new ArrayList<Object>();
 
         // get UIParameter children...
 
- Iterator kids = component.getChildren().iterator();
+ Iterator<UIComponent> kids = component.getChildren().iterator();
         while (kids.hasNext()) {
- UIComponent kid = (UIComponent) kids.next();
+ UIComponent kid = kids.next();
 
             //PENDING(rogerk) ignore if child is not UIParameter?
 
@@ -193,7 +192,7 @@
                 }
             }
         }
- if (escape.booleanValue()) {
+ if (escape) {
             writer.writeText(message, "value");
         } else {
             writer.write(message);
Index: src/com/sun/faces/renderkit/html_basic/TableRenderer.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/html_basic/TableRenderer.java,v
retrieving revision 1.28
diff -u -r1.28 TableRenderer.java
--- src/com/sun/faces/renderkit/html_basic/TableRenderer.java 22 Aug
2005 22:10:21 -0000 1.28
+++ src/com/sun/faces/renderkit/html_basic/TableRenderer.java 25 Aug
2005 22:40:18 -0000
@@ -31,7 +31,6 @@
 
 
 import com.sun.faces.util.Util;
-import java.util.logging.Logger;
 import java.util.logging.Level;
 
 import javax.faces.component.UIColumn;
@@ -116,9 +115,9 @@
         if (headerFacets > 0) {
             writer.startElement("tr", data);
             writer.writeText("\n", null);
- Iterator columns = getColumns(data);
+ Iterator<UIColumn> columns = getColumns(data);
             while (columns.hasNext()) {
- UIColumn column = (UIColumn) columns.next();
+ UIColumn column = columns.next();
                 String columnHeaderClass =
                     (String) column.getAttributes().get("headerClass");
                 writer.startElement("th", column);
@@ -167,9 +166,9 @@
         if (footerFacets > 0) {
             writer.startElement("tr", data);
             writer.writeText("\n", null);
- Iterator columns = getColumns(data);
+ Iterator<UIColumn> columns = getColumns(data);
             while (columns.hasNext()) {
- UIColumn column = (UIColumn) columns.next();
+ UIColumn column = columns.next();
                 String columnFooterClass =
                     (String) column.getAttributes().get("footerClass");
                 writer.startElement("td", column);
@@ -225,7 +224,7 @@
         int rowStyles = rowClasses.length;
         ResponseWriter writer = context.getResponseWriter();
         Iterator kids = null;
- Iterator grandkids = null;
+ Iterator<UIComponent> grandkids = null;
 
         // Iterate over the rows of data that are provided
         int processed = 0;
@@ -280,7 +279,7 @@
                 // the kids of our kids
                 grandkids = getChildren(column);
                 while (grandkids.hasNext()) {
- encodeRecursive(context, (UIComponent)
grandkids.next());
+ encodeRecursive(context, grandkids.next());
                 }
 
                 // Render the ending of this cell
@@ -352,7 +351,7 @@
             return (new String[0]);
         }
         values = values.trim();
- ArrayList list = new ArrayList();
+ ArrayList<String> list = new ArrayList<String>();
         while (values.length() > 0) {
             int comma = values.indexOf(",");
             if (comma >= 0) {
@@ -364,7 +363,7 @@
             }
         }
         String results[] = new String[list.size()];
- return ((String[]) list.toArray(results));
+ return (list.toArray(results));
 
     }
 
@@ -380,7 +379,7 @@
         int columns = 0;
         Iterator kids = getColumns(data);
         while (kids.hasNext()) {
- UIComponent kid = (UIComponent) kids.next();
+ kids.next();
             columns++;
         }
         return (columns);
@@ -395,14 +394,14 @@
      *
      * @param data <code>UIData</code> for which to extract children
      */
- private Iterator getColumns(UIData data) {
+ private Iterator<UIColumn> getColumns(UIData data) {
 
- List results = new ArrayList();
- Iterator kids = data.getChildren().iterator();
+ List<UIColumn> results = new ArrayList<UIColumn>();
+ Iterator<UIComponent> kids = data.getChildren().iterator();
         while (kids.hasNext()) {
- UIComponent kid = (UIComponent) kids.next();
+ UIComponent kid = kids.next();
             if ((kid instanceof UIColumn) && kid.isRendered()) {
- results.add(kid);
+ results.add((UIColumn) kid);
             }
         }
         return (results.iterator());
@@ -447,7 +446,7 @@
             return (new String[0]);
         }
         values = values.trim();
- ArrayList list = new ArrayList();
+ ArrayList<String> list = new ArrayList<String>();
         while (values.length() > 0) {
             int comma = values.indexOf(",");
             if (comma >= 0) {
@@ -459,7 +458,7 @@
             }
         }
         String results[] = new String[list.size()];
- return ((String[]) list.toArray(results));
+ return (list.toArray(results));
 
     }
 
Index: src/com/sun/faces/taglib/jsf_core/LoadBundleTag.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/taglib/jsf_core/LoadBundleTag.java,v
retrieving revision 1.11
diff -u -r1.11 LoadBundleTag.java
--- src/com/sun/faces/taglib/jsf_core/LoadBundleTag.java 22 Aug 2005
22:10:25 -0000 1.11
+++ src/com/sun/faces/taglib/jsf_core/LoadBundleTag.java 25 Aug 2005
22:40:18 -0000
@@ -146,11 +146,11 @@
 
 
                 public boolean containsValue(Object value) {
- Enumeration keys = bundle.getKeys();
+ Enumeration<String> keys = bundle.getKeys();
                     Object curObj = null;
                     boolean result = false;
                     while (keys.hasMoreElements()) {
- curObj = bundle.getObject((String)
keys.nextElement());
+ curObj = bundle.getObject(keys.nextElement());
                         if ((curObj == value) ||
                             ((null != curObj) && curObj.equals(value))) {
                             result = true;
@@ -162,11 +162,11 @@
 
 
                 public Set entrySet() {
- HashMap mappings = new HashMap();
- Enumeration keys = bundle.getKeys();
+ HashMap<String,Object> mappings = new
HashMap<String, Object>();
+ Enumeration<String> keys = bundle.getKeys();
                     while (keys.hasMoreElements()) {
- Object key = keys.nextElement();
- Object value = bundle.getObject((String) key);
+ String key = keys.nextElement();
+ Object value = bundle.getObject(key);
                         mappings.put(key, value);
                     }
                     return mappings.entrySet();
@@ -178,11 +178,8 @@
                         return false;
                     }
 
- if (entrySet().equals(((Map) obj).entrySet())) {
- return true;
- }
+ return entrySet().equals(((Map) obj).entrySet());
 
- return false;
                 }
 
 
@@ -207,15 +204,15 @@
 
                 public boolean isEmpty() {
                     boolean result = true;
- Enumeration keys = bundle.getKeys();
+ Enumeration<String> keys = bundle.getKeys();
                     result = !keys.hasMoreElements();
                     return result;
                 }
 
 
                 public Set keySet() {
- Set keySet = new HashSet();
- Enumeration keys = bundle.getKeys();
+ Set<String> keySet = new HashSet<String>();
+ Enumeration<String> keys = bundle.getKeys();
                     while (keys.hasMoreElements()) {
                         keySet.add(keys.nextElement());
                     }
@@ -243,7 +240,7 @@
 
                 public int size() {
                     int result = 0;
- Enumeration keys = bundle.getKeys();
+ Enumeration<String> keys = bundle.getKeys();
                     while (keys.hasMoreElements()) {
                         keys.nextElement();
                         result++;
@@ -253,11 +250,11 @@
 
 
                 public java.util.Collection values() {
- ArrayList result = new ArrayList();
- Enumeration keys = bundle.getKeys();
+ ArrayList<Object> result = new ArrayList<Object>();
+ Enumeration<String> keys = bundle.getKeys();
                     while (keys.hasMoreElements()) {
                         result.add(
- bundle.getObject((String) keys.nextElement()));
+ bundle.getObject(keys.nextElement()));
                     }
                     return result;
                 }
Index: src/com/sun/faces/util/DebugUtil.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/util/DebugUtil.java,v
retrieving revision 1.30
diff -u -r1.30 DebugUtil.java
--- src/com/sun/faces/util/DebugUtil.java 22 Aug 2005 22:10:28
-0000 1.30
+++ src/com/sun/faces/util/DebugUtil.java 25 Aug 2005 22:40:18 -0000
@@ -185,13 +185,13 @@
             }
             indentPrintln(out, "value= " + value);
             
- Iterator it = root.getAttributes().keySet().iterator();
+ Iterator<String> it = root.getAttributes().keySet().iterator();
             if (it != null) {
                 while (it.hasNext()) {
- String attrValue = null, attrName = (String) it.next();
+ String attrValue = null, attrName = it.next();
                     Object attrObj = root.getAttributes().get(attrName);
                     
- if (!(attrValue instanceof String) && null !=
attrObj) {
+ if (null != attrObj) {
                         // chop off the address since we don't want to
print
                         // out anything that'll vary from invocation to
                         // invocation
@@ -220,15 +220,15 @@
         }
         
         curDepth++;
- Iterator it = root.getChildren().iterator();
- Iterator facets = root.getFacets().values().iterator();
+ Iterator<UIComponent> it = root.getChildren().iterator();
+ Iterator<UIComponent> facets =
root.getFacets().values().iterator();
         // print all the facets of this component
         while(facets.hasNext()) {
- printTree((UIComponent) facets.next(), out);
+ printTree(facets.next(), out);
         }
         // print all the children of this component
         while (it.hasNext()) {
- printTree((UIComponent) it.next(), out);
+ printTree(it.next(), out);
         }
         curDepth--;
     }
@@ -275,9 +275,9 @@
         
         curDepth++;
         if (null != root.children) {
- Iterator it = root.children.iterator();
+ Iterator<TreeStructure> it = root.children.iterator();
             while (it.hasNext()) {
- printTree((TreeStructure) it.next(), out);
+ printTree(it.next(), out);
             }
         }
         curDepth--;
Index: src/com/sun/faces/util/TreeStructure.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/util/TreeStructure.java,v
retrieving revision 1.10
diff -u -r1.10 TreeStructure.java
--- src/com/sun/faces/util/TreeStructure.java 22 Aug 2005 22:10:29
-0000 1.10
+++ src/com/sun/faces/util/TreeStructure.java 25 Aug 2005 22:40:18 -0000
@@ -46,8 +46,8 @@
 
     private static final long serialVersionUID = 8320767450484935667L;
 
- ArrayList children = null;
- HashMap facets = null;
+ ArrayList<TreeStructure> children = null;
+ HashMap<String,TreeStructure> facets = null;
     String className = null;
     String id = null;
 
@@ -104,7 +104,7 @@
     public void addChild(TreeStructure treeStruct) {
         Util.parameterNonNull(treeStruct);
         if (children == null) {
- children = new ArrayList();
+ children = new ArrayList<TreeStructure>();
         }
         children.add(treeStruct);
     }
@@ -117,7 +117,7 @@
         Util.parameterNonNull(facetName);
         Util.parameterNonNull(treeStruct);
         if (facets == null) {
- facets = new HashMap();
+ facets = new HashMap<String, TreeStructure>();
         }
         facets.put(facetName, treeStruct);
     }
@@ -130,7 +130,7 @@
     public TreeStructure getTreeStructureForFacet(String facetName) {
         Util.parameterNonNull(facetName);
         if (facets != null) {
- return ((TreeStructure) (facets.get(facetName)));
+ return ((facets.get(facetName)));
         } else {
             return null;
         }
Index: src/com/sun/faces/util/Util.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/util/Util.java,v
retrieving revision 1.172
diff -u -r1.172 Util.java
--- src/com/sun/faces/util/Util.java 24 Aug 2005 16:13:34 -0000 1.172
+++ src/com/sun/faces/util/Util.java 25 Aug 2005 22:40:18 -0000
@@ -64,6 +64,7 @@
 import javax.servlet.jsp.jstl.fmt.LocalizationContext;
 
 import java.io.IOException;
+import java.io.Serializable;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
 import java.lang.reflect.InvocationTargetException;
@@ -651,7 +652,7 @@
 
     public static void verifyRequiredClasses(FacesContext facesContext)
         throws FacesException {
- Map applicationMap = facesContext.getExternalContext()
+ Map<String,Object> applicationMap =
facesContext.getExternalContext()
             .getApplicationMap();
         Boolean result = null;
         String className =
"javax.servlet.jsp.jstl.fmt.LocalizationContext";
@@ -705,10 +706,10 @@
     public static Iterator getSelectItems(FacesContext context,
                                           UIComponent component) {
 
- ArrayList list = new ArrayList();
- Iterator kids = component.getChildren().iterator();
+ ArrayList<Object> list = new ArrayList<Object>();
+ Iterator<UIComponent> kids = component.getChildren().iterator();
         while (kids.hasNext()) {
- UIComponent kid = (UIComponent) kids.next();
+ UIComponent kid = kids.next();
             if (kid instanceof UISelectItem) {
                 Object value = ((UISelectItem) kid).getValue();
                 if (value == null) {
@@ -856,7 +857,7 @@
         }
 
         boolean result = false;
- Map attrs = component.getAttributes();
+ Map<String,Object> attrs = component.getAttributes();
         if (null == attrs) {
             return false;
         }
@@ -1156,7 +1157,7 @@
      * @param context the FacesContext
      * @return Map The <code>SessionMap</code>
      */
- public static Map getSessionMap(FacesContext context) {
+ public static Map<String,Object> getSessionMap(FacesContext context) {
         if (context == null) {
             context = FacesContext.getCurrentInstance();
         }
@@ -1607,7 +1608,7 @@
     if (null == expressionString) {
         return Collections.EMPTY_LIST;
     }
- List result = new ArrayList();
+ List<String> result = new ArrayList<String>();
     int i, j, len = expressionString.length(), cur = 0;
     while (cur < len &&
            -1 != (i = expressionString.indexOf("#{", cur))) {
@@ -1686,9 +1687,10 @@
         Method method = null;
 
         try {
- method = response.getClass().getMethod("getContentType", null);
+ method = response.getClass().getMethod("getContentType",
+
RIConstants.EMPTY_CLASS_ARGS);
         if (null != method) {
- Object obj = method.invoke(response, null);
+ Object obj = method.invoke(response,
RIConstants.EMPTY_METH_ARGS);
             if (null != obj) {
             result = obj.toString();
             }
@@ -1718,10 +1720,10 @@
                           TreeTraversalCallback action) throws
FacesException {
     boolean keepGoing = false;
     if (keepGoing = action.takeActionOnNode(context, root)) {
- Iterator kids = root.getFacetsAndChildren();
+ Iterator<UIComponent> kids = root.getFacetsAndChildren();
         while (kids.hasNext() && keepGoing) {
         keepGoing = prefixViewTraversal(context,
- (UIComponent) kids.next(),
+ kids.next(),
                         action);
         }
     }