myfaces-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sless...@apache.org
Subject svn commit: r761981 [1/7] - in /myfaces/core/branches/2_0_0/api/src/main/java/javax/faces: ./ application/ component/ component/behavior/ component/visit/ context/ convert/ event/ model/ render/ validator/ view/ view/facelets/ webapp/ webapp/pdl/
Date Sat, 04 Apr 2009 18:44:19 GMT
Author: slessard
Date: Sat Apr  4 18:44:14 2009
New Revision: 761981

URL: http://svn.apache.org/viewvc?rev=761981&view=rev
Log:
Synchronized the code with final draft (2009-03-27).

Added:
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ConfigurableNavigationHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/DiscoveryHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/DiscoveryHandlerFactory.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/DiscoveryHandlerWrapper.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/NavigationCase.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/PartialStateHolder.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/StateHelper.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/UIViewParameter.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/UniqueIdVendor.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/UpdateModelException.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/behavior/
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/behavior/AjaxBehavior.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/behavior/Behavior.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/behavior/BehaviorBase.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/behavior/ClientBehavior.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/behavior/ClientBehaviorBase.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/behavior/ClientBehaviorContext.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/behavior/ClientBehaviorHint.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/behavior/ClientBehaviorHolder.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/behavior/FacesBehavior.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/visit/
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/visit/VisitCallback.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/visit/VisitContext.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/visit/VisitContextFactory.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/visit/VisitContextWrapper.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/visit/VisitHint.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/visit/VisitResult.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/context/ExternalContextFactory.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/context/ExternalContextWrapper.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/context/FacesContextWrapper.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/context/Flash.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/context/PartialResponseWriter.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/context/PartialViewContextFactory.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/context/PartialViewContextWrapper.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/AjaxBehaviorEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/AjaxBehaviorListener.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/BehaviorEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/BehaviorListener.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/ExceptionQueuedEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/ExceptionQueuedEventContext.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/NamedEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/PostAddToViewEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/PostConstructApplicationEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/PostConstructViewMapEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/PostRestoreStateEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/PostValidateEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/PreDestroyApplicationEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/PreDestroyViewMapEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/PreRenderComponentEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/PreRenderViewEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/PreValidateEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/model/CustomScoped.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/render/ClientBehaviorRenderer.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/render/FacesBehaviorRenderer.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/ActionSource2AttachedObjectHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/ActionSource2AttachedObjectTarget.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/AttachedObjectHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/AttachedObjectTarget.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/BehaviorHolderAttachedObjectHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/BehaviorHolderAttachedObjectTarget.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/EditableValueHolderAttachedObjectHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/EditableValueHolderAttachedObjectTarget.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/StateManagementStrategy.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/ValueHolderAttachedObjectHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/ValueHolderAttachedObjectTarget.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/ViewDeclarationLanguage.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/ViewDeclarationLanguageFactory.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/ViewMetadata.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/AttributeHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/BehaviorConfig.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/BehaviorHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/ComponentConfig.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/ComponentHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/CompositeFaceletHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/ConverterConfig.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/ConverterHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/DelegatingMetaTagHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/FaceletContext.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/FaceletException.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/FaceletHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/FaceletsAttachedObjectHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/FacetHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/Location.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/MetaRule.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/MetaRuleset.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/MetaTagHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/Metadata.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/MetadataTarget.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/Tag.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/TagAttribute.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/TagAttributeException.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/TagAttributes.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/TagConfig.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/TagException.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/TagHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/TagHandlerDelegate.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/TagHandlerDelegateFactory.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/TextHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/ValidatorConfig.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/view/facelets/ValidatorHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/webapp/PreJsf2ExceptionHandlerFactory.java
Removed:
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/AfterAddToParentEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/AfterRestoreStateEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/ApplicationPostConstructEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/ApplicationPreDestroyEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/BeforeRenderEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/ExceptionEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/ViewMapCreatedEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/event/ViewMapDestroyedEvent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/model/ManagedBeans.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/webapp/pdl/
Modified:
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/FactoryFinder.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/Application.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ApplicationWrapper.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ResourceDependencies.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ResourceDependency.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/StateManagerWrapper.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ViewHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/FacesComponent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/NamingContainer.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/UIComponent.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/UIComponentBase.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/UIData.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/UIForm.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/UINamingContainer.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/UIViewRoot.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/_ComponentChildrenList.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/context/ExceptionHandler.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/context/ExceptionHandlerFactory.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/context/ExceptionHandlerWrapper.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/context/ExternalContext.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/context/FacesContext.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/context/FacesContextFactory.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/context/PartialViewContext.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/context/ResponseStream.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/convert/FacesConverter.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/model/ArrayDataModel.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/model/DataModel.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/model/ListDataModel.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/model/ManagedBean.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/model/ResultDataModel.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/model/ScalarDataModel.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/model/SelectItem.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/render/FacesRenderer.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/render/RenderKit.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/validator/FacesValidator.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/webapp/UIComponentClassicTagBase.java

Modified: myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/FactoryFinder.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/FactoryFinder.java?rev=761981&r1=761980&r2=761981&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/FactoryFinder.java (original)
+++ myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/FactoryFinder.java Sat Apr  4 18:44:14 2009
@@ -18,7 +18,6 @@
  */
 package javax.faces;
 
-
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
@@ -30,131 +29,149 @@
 import java.util.Set;
 
 import javax.faces.application.ApplicationFactory;
+import javax.faces.component.visit.VisitContextFactory;
 import javax.faces.context.ExceptionHandlerFactory;
+import javax.faces.context.ExternalContextFactory;
 import javax.faces.context.FacesContextFactory;
+import javax.faces.context.PartialViewContextFactory;
 import javax.faces.lifecycle.LifecycleFactory;
 import javax.faces.render.RenderKitFactory;
+import javax.faces.view.ViewDeclarationLanguageFactory;
+import javax.faces.view.facelets.TagHandlerDelegateFactory;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
- *
+ * 
  * @author Manfred Geiler (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
 public final class FactoryFinder
 {
     public static final String APPLICATION_FACTORY = "javax.faces.application.ApplicationFactory";
+    public static final String EXCEPTION_HANDLER_FACTORY = "javax.faces.context.ExceptionHandlerFactory";
+    public static final String EXTERNAL_CONTEXT_FACTORY = "javax.faces.context.ExternalContextFactory";
     public static final String FACES_CONTEXT_FACTORY = "javax.faces.context.FacesContextFactory";
     public static final String LIFECYCLE_FACTORY = "javax.faces.lifecycle.LifecycleFactory";
+    public static final String PARTIAL_VIEW_CONTEXT_FACTORY = "javax.faces.context.PartialViewContextFactory";
     public static final String RENDER_KIT_FACTORY = "javax.faces.render.RenderKitFactory";
-    
-    /**
-     * @since 2.0
-     */
-    public static final String EXCEPTION_HANDLER_FACTORY = "javax.faces.context.ExceptionHandlerFactory";
+    public static final String TAG_HANDLER_DELEGATE_FACTORY = "javax.faces.view.facelets.tag.TagHandlerDelegateFactory";
+    public static final String VIEW_DECLARATION_LANGUAGE_FACTORY = "javax.faces.view.ViewDeclarationLanguageFactory";
+    public static final String VISIT_CONTEXT_FACTORY = "javax.faces.component.visit.VisitContextFactory";
 
     /**
-     * used as a monitor for itself and _factories.
-     * Maps in this map are used as monitors for themselves and the corresponding maps in _factories.
+     * used as a monitor for itself and _factories. Maps in this map are used as monitors for themselves and the
+     * corresponding maps in _factories.
      */
-    private static Map<ClassLoader, Map<String, List<String>>> _registeredFactoryNames = 
-        new HashMap<ClassLoader, Map<String, List<String>>>();
-    
+    private static Map<ClassLoader, Map<String, List<String>>> _registeredFactoryNames = new HashMap<ClassLoader, Map<String, List<String>>>();
+
     /**
-     * Maps from classLoader to another map, the container (i.e. Tomcat) will create a class loader for
-     * each web app that it controls (typically anyway) and that class loader is used as the key.
-     *
-     * The secondary map maps the factory name (i.e. FactoryFinder.APPLICATION_FACTORY) to actual instances
-     * that are created via getFactory. The instances will be of the class specified in the setFactory method
-     * for the factory name, i.e. FactoryFinder.setFactory(FactoryFinder.APPLICATION_FACTORY, MyFactory.class).
+     * Maps from classLoader to another map, the container (i.e. Tomcat) will create a class loader for each web app
+     * that it controls (typically anyway) and that class loader is used as the key.
+     * 
+     * The secondary map maps the factory name (i.e. FactoryFinder.APPLICATION_FACTORY) to actual instances that are
+     * created via getFactory. The instances will be of the class specified in the setFactory method for the factory
+     * name, i.e. FactoryFinder.setFactory(FactoryFinder.APPLICATION_FACTORY, MyFactory.class).
      */
-    private static Map<ClassLoader, Map<String, Object>> _factories = 
-        new HashMap<ClassLoader, Map<String, Object>>();
+    private static Map<ClassLoader, Map<String, Object>> _factories = new HashMap<ClassLoader, Map<String, Object>>();
 
     private static final Set<String> VALID_FACTORY_NAMES = new HashSet<String>();
     private static final Map<String, Class<?>> ABSTRACT_FACTORY_CLASSES = new HashMap<String, Class<?>>();
-    
+
     static
     {
         VALID_FACTORY_NAMES.add(APPLICATION_FACTORY);
+        VALID_FACTORY_NAMES.add(EXCEPTION_HANDLER_FACTORY);
+        VALID_FACTORY_NAMES.add(EXTERNAL_CONTEXT_FACTORY);
         VALID_FACTORY_NAMES.add(FACES_CONTEXT_FACTORY);
         VALID_FACTORY_NAMES.add(LIFECYCLE_FACTORY);
+        VALID_FACTORY_NAMES.add(PARTIAL_VIEW_CONTEXT_FACTORY);
         VALID_FACTORY_NAMES.add(RENDER_KIT_FACTORY);
-        VALID_FACTORY_NAMES.add(EXCEPTION_HANDLER_FACTORY);
-
+        VALID_FACTORY_NAMES.add(TAG_HANDLER_DELEGATE_FACTORY);
+        VALID_FACTORY_NAMES.add(VIEW_DECLARATION_LANGUAGE_FACTORY);
+        VALID_FACTORY_NAMES.add(VISIT_CONTEXT_FACTORY);
+        
         ABSTRACT_FACTORY_CLASSES.put(APPLICATION_FACTORY, ApplicationFactory.class);
+        ABSTRACT_FACTORY_CLASSES.put(EXCEPTION_HANDLER_FACTORY, ExceptionHandlerFactory.class);
+        ABSTRACT_FACTORY_CLASSES.put(EXTERNAL_CONTEXT_FACTORY, ExternalContextFactory.class);
         ABSTRACT_FACTORY_CLASSES.put(FACES_CONTEXT_FACTORY, FacesContextFactory.class);
         ABSTRACT_FACTORY_CLASSES.put(LIFECYCLE_FACTORY, LifecycleFactory.class);
+        ABSTRACT_FACTORY_CLASSES.put(PARTIAL_VIEW_CONTEXT_FACTORY, PartialViewContextFactory.class);
         ABSTRACT_FACTORY_CLASSES.put(RENDER_KIT_FACTORY, RenderKitFactory.class);
-        ABSTRACT_FACTORY_CLASSES.put(EXCEPTION_HANDLER_FACTORY, ExceptionHandlerFactory.class);
+        ABSTRACT_FACTORY_CLASSES.put(TAG_HANDLER_DELEGATE_FACTORY, TagHandlerDelegateFactory.class);
+        ABSTRACT_FACTORY_CLASSES.put(VIEW_DECLARATION_LANGUAGE_FACTORY, ViewDeclarationLanguageFactory.class);
+        ABSTRACT_FACTORY_CLASSES.put(VISIT_CONTEXT_FACTORY, VisitContextFactory.class);
     }
 
+    // avoid instantiation
+    FactoryFinder()
+    {
+    }
 
-  // avoid instantiation
-  FactoryFinder() {
-  }
-
-  /**
-   * <p>Create (if necessary) and return a per-web-application instance of the appropriate 
-   * implementation class for the specified JavaServer Faces factory class, based on the 
-   * discovery algorithm described in the class description.</p>
-   * 
-   * <p>The standard factories and wrappers in JSF all implement the interface {@link FacesWrapper}. 
-   * If the returned <code>Object</code> is an implementation of one of the standard factories, 
-   * it must be legal to cast it to an instance of <code>FacesWrapper</code> and call 
-   * {@link FacesWrapper#getWrapped()} on the instance.</p>
-   * 
-   * @param factoryName Fully qualified name of the JavaServer Faces factory for which an 
-   *                    implementation instance is requested
-   *                    
-   * @return A per-web-application instance of the appropriate implementation class for the 
-   *         specified JavaServer Faces factory class
-   *         
-   * @throws FacesException if the web application class loader cannot be identified 
-   * @throws FacesException if an instance of the configured factory implementation class 
-   *         cannot be loaded 
-   * @throws FacesException if an instance of the configured factory implementation class 
-   *         cannot be instantiated 
-   * @throws IllegalArgumentException if <code>factoryname</code> does not identify a standard 
-   *         JavaServer Faces factory name 
-   * @throws IllegalStateException if there is no configured factory implementation class 
-   *         for the specified factory name 
-   * @throws NullPointerException if <code>factoryname</code> is null
-   */
-  public static Object getFactory(String factoryName) throws FacesException
-  {
-        if(factoryName == null)
+    /**
+     * <p>
+     * Create (if necessary) and return a per-web-application instance of the appropriate implementation class for the
+     * specified JavaServer Faces factory class, based on the discovery algorithm described in the class description.
+     * </p>
+     * 
+     * <p>
+     * The standard factories and wrappers in JSF all implement the interface {@link FacesWrapper}. If the returned
+     * <code>Object</code> is an implementation of one of the standard factories, it must be legal to cast it to an
+     * instance of <code>FacesWrapper</code> and call {@link FacesWrapper#getWrapped()} on the instance.
+     * </p>
+     * 
+     * @param factoryName
+     *            Fully qualified name of the JavaServer Faces factory for which an implementation instance is requested
+     * 
+     * @return A per-web-application instance of the appropriate implementation class for the specified JavaServer Faces
+     *         factory class
+     * 
+     * @throws FacesException
+     *             if the web application class loader cannot be identified
+     * @throws FacesException
+     *             if an instance of the configured factory implementation class cannot be loaded
+     * @throws FacesException
+     *             if an instance of the configured factory implementation class cannot be instantiated
+     * @throws IllegalArgumentException
+     *             if <code>factoryname</code> does not identify a standard JavaServer Faces factory name
+     * @throws IllegalStateException
+     *             if there is no configured factory implementation class for the specified factory name
+     * @throws NullPointerException
+     *             if <code>factoryname</code> is null
+     */
+    public static Object getFactory(String factoryName) throws FacesException
+    {
+        if (factoryName == null)
         {
             throw new NullPointerException("factoryName may not be null");
         }
 
         ClassLoader classLoader = getClassLoader();
 
-        //This code must be synchronized because this could cause a problem when
-        //using update feature each time of myfaces (org.apache.myfaces.CONFIG_REFRESH_PERIOD)
-        //In this moment, a concurrency problem could happen
+        // This code must be synchronized because this could cause a problem when
+        // using update feature each time of myfaces (org.apache.myfaces.CONFIG_REFRESH_PERIOD)
+        // In this moment, a concurrency problem could happen
         Map<String, List<String>> factoryClassNames = null;
         Map<String, Object> factoryMap = null;
-        
-        synchronized(_registeredFactoryNames)
+
+        synchronized (_registeredFactoryNames)
         {
             factoryClassNames = _registeredFactoryNames.get(classLoader);
 
             if (factoryClassNames == null)
             {
-                String message = "No Factories configured for this Application. This happens if the faces-initialization "+
-                    "does not work at all - make sure that you properly include all configuration settings necessary for a basic faces application " +
-                    "and that all the necessary libs are included. Also check the logging output of your web application and your container for any exceptions!" +
-                    "\nIf you did that and find nothing, the mistake might be due to the fact that you use some special web-containers which "+
-                    "do not support registering context-listeners via TLD files and " +
-                    "a context listener is not setup in your web.xml.\n" +
-                    "A typical config looks like this;\n<listener>\n" +
-                    "  <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>\n" +
-                    "</listener>\n";
+                String message = "No Factories configured for this Application. This happens if the faces-initialization "
+                        + "does not work at all - make sure that you properly include all configuration settings necessary for a basic faces application "
+                        + "and that all the necessary libs are included. Also check the logging output of your web application and your container for any exceptions!"
+                        + "\nIf you did that and find nothing, the mistake might be due to the fact that you use some special web-containers which "
+                        + "do not support registering context-listeners via TLD files and "
+                        + "a context listener is not setup in your web.xml.\n"
+                        + "A typical config looks like this;\n<listener>\n"
+                        + "  <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>\n"
+                        + "</listener>\n";
                 throw new IllegalStateException(message);
             }
 
-            if (! factoryClassNames.containsKey(factoryName))
+            if (!factoryClassNames.containsKey(factoryName))
             {
                 throw new IllegalArgumentException("no factory " + factoryName + " configured for this application.");
             }
@@ -167,7 +184,7 @@
                 _factories.put(classLoader, factoryMap);
             }
         }
-        
+
         List<String> classNames = null;
         Object factory = null;
         synchronized (factoryClassNames)
@@ -177,26 +194,27 @@
             {
                 return factory;
             }
-            
+
             classNames = factoryClassNames.get(factoryName);
         }
-        
-        //release lock while calling out
+
+        // release lock while calling out
         factory = newFactoryInstance(ABSTRACT_FACTORY_CLASSES.get(factoryName), classNames.iterator(), classLoader);
-        
+
         synchronized (factoryClassNames)
         {
-            //check if someone else already installed the factory
+            // check if someone else already installed the factory
             if (factoryMap.get(factoryName) == null)
             {
                 factoryMap.put(factoryName, factory);
-            }            
+            }
         }
-        
+
         return factory;
     }
 
-    private static Object newFactoryInstance(Class<?> interfaceClass, Iterator<String> classNamesIterator, ClassLoader classLoader)
+    private static Object newFactoryInstance(Class<?> interfaceClass, Iterator<String> classNamesIterator,
+                                             ClassLoader classLoader)
     {
         try
         {
@@ -223,12 +241,12 @@
                     // let's check if class supports the decorator pattern
                     try
                     {
-                        Constructor<?> delegationConstructor = implClass.getConstructor(new Class[]{interfaceClass});
+                        Constructor<?> delegationConstructor = implClass.getConstructor(new Class[] { interfaceClass });
                         // impl class supports decorator pattern,
                         try
                         {
                             // create new decorator wrapping current
-                            current = delegationConstructor.newInstance(new Object[]{current});
+                            current = delegationConstructor.newInstance(new Object[] { current });
                         }
                         catch (InstantiationException e)
                         {
@@ -267,18 +285,18 @@
         }
     }
 
-
     public static void setFactory(String factoryName, String implName)
     {
         checkFactoryName(factoryName);
 
         ClassLoader classLoader = getClassLoader();
         Map<String, List<String>> factoryClassNames = null;
-        synchronized(_registeredFactoryNames)
+        synchronized (_registeredFactoryNames)
         {
             Map<String, Object> factories = _factories.get(classLoader);
 
-            if (factories != null && factories.containsKey(factoryName)) {
+            if (factories != null && factories.containsKey(factoryName))
+            {
                 // Javadoc says ... This method has no effect if getFactory() has already been
                 // called looking for a factory for this factoryName.
                 return;
@@ -292,51 +310,50 @@
                 _registeredFactoryNames.put(classLoader, factoryClassNames);
             }
         }
-        
+
         synchronized (factoryClassNames)
         {
             List<String> classNameList = factoryClassNames.get(factoryName);
 
-            if (classNameList == null) 
+            if (classNameList == null)
             {
                 classNameList = new ArrayList<String>();
                 factoryClassNames.put(factoryName, classNameList);
             }
-            
+
             classNameList.add(implName);
         }
     }
 
-
     public static void releaseFactories() throws FacesException
     {
         ClassLoader classLoader = getClassLoader();
 
-        //This code must be synchronized
-        synchronized(_registeredFactoryNames)
+        // This code must be synchronized
+        synchronized (_registeredFactoryNames)
         {
-            _factories.remove(classLoader);            
-            
+            _factories.remove(classLoader);
+
             // _registeredFactoryNames has as value type Map<String,List> and this must
-            //be cleaned before release (for gc).
+            // be cleaned before release (for gc).
             Map<String, List<String>> factoryClassNames = _registeredFactoryNames.get(classLoader);
             if (factoryClassNames != null)
             {
                 factoryClassNames.clear();
             }
-            
+
             _registeredFactoryNames.remove(classLoader);
         }
     }
 
     private static void checkFactoryName(String factoryName)
     {
-        if (! VALID_FACTORY_NAMES.contains(factoryName))
+        if (!VALID_FACTORY_NAMES.contains(factoryName))
         {
             throw new IllegalArgumentException("factoryName '" + factoryName + "'");
         }
     }
-    
+
     private static ClassLoader getClassLoader()
     {
         try

Modified: myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/Application.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/Application.java?rev=761981&r1=761980&r2=761981&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/Application.java (original)
+++ myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/Application.java Sat Apr  4 18:44:14 2009
@@ -21,6 +21,7 @@
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.Locale;
+import java.util.Map;
 import java.util.ResourceBundle;
 
 import javax.el.ELContextListener;
@@ -29,7 +30,11 @@
 import javax.el.ExpressionFactory;
 import javax.el.ValueExpression;
 import javax.faces.FacesException;
+import javax.faces.component.ActionSource;
+import javax.faces.component.ActionSource2;
 import javax.faces.component.UIComponent;
+import javax.faces.component.UIViewRoot;
+import javax.faces.component.behavior.ClientBehavior;
 import javax.faces.context.FacesContext;
 import javax.faces.convert.Converter;
 import javax.faces.el.MethodBinding;
@@ -37,11 +42,12 @@
 import javax.faces.el.ReferenceSyntaxException;
 import javax.faces.el.ValueBinding;
 import javax.faces.el.VariableResolver;
+import javax.faces.event.AbortProcessingException;
 import javax.faces.event.ActionListener;
 import javax.faces.event.SystemEvent;
 import javax.faces.event.SystemEventListener;
+import javax.faces.event.SystemEventListenerHolder;
 import javax.faces.validator.Validator;
-import javax.faces.webapp.pdl.PageDeclarationLanguage;
 
 /**
  * <p>
@@ -79,6 +85,13 @@
     // They supply default to allows old Application implementations to still work.
 
     /**
+     * @since 2.0
+     * 
+     * FIXME: Notify EG, this should not be abstract and throw UnsupportedOperationException
+     */
+    public abstract void addBehavior(String behaviorId, String behaviorClass);
+
+    /**
      * Define a new mapping from a logical "component type" to an actual java class name. This controls what type is
      * created when method createComponent of this class is called.
      * <p>
@@ -130,6 +143,18 @@
     public abstract void addConverter(String converterId, String converterClass);
 
     /**
+     * 
+     * @param validatorId
+     * 
+     * @since 2.0
+     */
+    public void addDefaultValidatorId(String validatorId)
+    {
+        // TODO: IMPLEMENT IMPL
+        throw new UnsupportedOperationException();
+    }
+
+    /**
      * <p>
      * Provide a way for Faces applications to register an <code>ELContextListener</code> that will be notified on
      * creation of <code>ELContext</code> instances.
@@ -184,21 +209,34 @@
      *@param <code>validatorId</code> - The validator id to be registered
      *@param <code>validatorClass</code> - The fully qualified class name of the corresponding Validator implementation
      * 
-     *@throws NullPointerException if <code>validatorId</code> or <code>validatorClass</code> is
-     *         <code>null</code>
+     *@throws NullPointerException
+     *             if <code>validatorId</code> or <code>validatorClass</code> is <code>null</code>
      */
     public abstract void addValidator(String validatorId, String validatorClass);
 
     /**
+     * 
+     * @param behaviorId
+     * @return
+     * @throws FacesException
+     * @since 2.0
+     * 
+     * FIXME: Notify EG, this should not be abstract and throw UnsupportedOperationException
+     */
+    public abstract ClientBehavior createBehavior(String behaviorId) throws FacesException;
+
+    /**
      * ???
      * 
      * @param context
      * @param componentResource
      * @return
+     * 
+     * @since 2.0
      */
     public UIComponent createComponent(FacesContext context, Resource componentResource)
     {
-        // TODO: JSF 2.0 #60
+        // TODO: IMPLEMENT IMPL JSF 2.0 #60
         throw new UnsupportedOperationException();
     }
 
@@ -208,9 +246,12 @@
      * @param componentType
      * @param rendererType
      * @return
+     * 
+     * @since 2.0
      */
     public UIComponent createComponent(FacesContext context, String componentType, String rendererType)
     {
+        // TODO: IMPLEMENT IMPL
         throw new UnsupportedOperationException();
     }
 
@@ -263,12 +304,14 @@
      * @param componentType
      *            - Component type to create if the ValueExpression does not return a component instance
      * 
-     * @throws FacesException if a <code>{@link UIComponent}</code> cannot be created
-     * @throws NullPointerException if any parameter is null
-     *         <p>
-     *         A default implementation is provided that throws <code>UnsupportedOperationException</code> so that users
-     *         that decorate <code>Application</code> can continue to function
-     *         </p>
+     * @throws FacesException
+     *             if a <code>{@link UIComponent}</code> cannot be created
+     * @throws NullPointerException
+     *             if any parameter is null
+     *             <p>
+     *             A default implementation is provided that throws <code>UnsupportedOperationException</code> so that
+     *             users that decorate <code>Application</code> can continue to function
+     *             </p>
      * 
      * @since 1.2
      */
@@ -285,10 +328,13 @@
      * @param componentType
      * @param rendererType
      * @return
+     * 
+     * @since 2.0
      */
     public UIComponent createComponent(ValueExpression componentExpression, FacesContext context, String componentType,
                                        String rendererType)
     {
+        // TODO: IMPLEMENT IMPL
         throw new UnsupportedOperationException();
     }
 
@@ -440,6 +486,16 @@
      * {@link ActionSource2}, and only implement {@link ActionSource}.
      */
     public abstract ActionListener getActionListener();
+    
+    /**
+     * 
+     * @return
+     * 
+     * @since 2.0
+     * 
+     * FIXME: Notify EG, this should not be abstract and throw UnsupportedOperationException
+     */
+    public abstract Iterator<String> getBehaviorIds();
 
     /**
      * Return an <code>Iterator</code> over the set of currently defined component types for this
@@ -478,6 +534,18 @@
      * @return
      */
     public abstract String getDefaultRenderKitId();
+    
+    /**
+     * 
+     * @return
+     * 
+     * @since 2.0
+     */
+    public Map<String, String> getDefaultValidatorInfo()
+    {
+        // TODO: IMPLEMENT IMPL
+        throw new UnsupportedOperationException();
+    }
 
     /**
      * <p>
@@ -567,11 +635,6 @@
      */
     public abstract NavigationHandler getNavigationHandler();
 
-    public PageDeclarationLanguage getPageDeclarationLanguage()
-    {
-        throw new UnsupportedOperationException();
-    }
-
     /**
      * <p>
      * Return the project stage for the currently running application instance. The default value is <code>
@@ -601,6 +664,7 @@
      */
     public ProjectStage getProjectStage()
     {
+        // TODO: IMPLEMENT IMPL
         throw new UnsupportedOperationException();
     }
 
@@ -628,8 +692,10 @@
      * 
      * @return <code>ResourceBundle</code> for the current UIViewRoot, otherwise null
      * 
-     * @throws FacesException if a bundle was defined, but not resolvable
-     * @throws NullPointerException if ctx == null || name == null
+     * @throws FacesException
+     *             if a bundle was defined, but not resolvable
+     * @throws NullPointerException
+     *             if ctx == null || name == null
      */
     public ResourceBundle getResourceBundle(FacesContext ctx, String name) throws FacesException, NullPointerException
     {
@@ -659,6 +725,7 @@
      */
     public ResourceHandler getResourceHandler()
     {
+        // TODO: IMPLEMENT IMPL
         throw new UnsupportedOperationException();
     }
 
@@ -702,9 +769,12 @@
      * @param systemEventClass
      * @param sourceBaseType
      * @param source
+     * 
+     * @since 2.0
      */
     public void publishEvent(Class<? extends SystemEvent> systemEventClass, Class<?> sourceBaseType, Object source)
     {
+        // TODO: IMPLEMENT IMPL
         throw new UnsupportedOperationException();
     }
 
@@ -762,13 +832,18 @@
      * <li>Call <code>{@link SystemEvent.processListener(javax.faces.event.FacesListener)}</code>, passing the listener
      * instance.</li>
      * 
-     * @param systemEventClass - The Class of event that is being published. Must be non-null.
+     * @param systemEventClass
+     *            - The Class of event that is being published. Must be non-null.
+     * 
+     * @param source
+     *            - The <code>source</code> for the event of type systemEventClass. Must be non- <code>null</code>, and
+     *            must implement <code>{@link SystemEventListenerHolder}</code>.
      * 
-     * @param source - The <code>source</code> for the event of type systemEventClass. Must be non-
-     *        <code>null</code>, and must implement <code>{@link SystemEventListenerHolder}</code>.
+     * @since 2.0
      */
     public void publishEvent(Class<? extends SystemEvent> systemEventClass, Object source)
     {
+        // TODO: IMPLEMENT IMPL
         throw new UnsupportedOperationException();
     }
 
@@ -843,14 +918,6 @@
      */
     public abstract void setNavigationHandler(NavigationHandler handler);
 
-    /*
-     * 
-     */
-    public void setPageDeclarationLanguage(PageDeclarationLanguage pdl)
-    {
-        throw new UnsupportedOperationException();
-    }
-
     /**
      * The recommended way to affect the execution of the EL is to provide an <el-resolver> element at the right place
      * in the application configuration resources which will be considered in the normal course of expression
@@ -870,6 +937,7 @@
      */
     public void setResourceHandler(ResourceHandler resourceHandler)
     {
+        // TODO: IMPLEMENT IMPL
         throw new UnsupportedOperationException();
     }
 
@@ -913,7 +981,8 @@
      * Set the {@link ViewHandler} instance that will be utilized during the <code>Restore View and Render Response
      * </code> phases of the request processing lifecycle.
      * 
-     * @param handler - The new {@link ViewHandler} instance
+     * @param handler
+     *            - The new {@link ViewHandler} instance
      * 
      * @throws IllegalStateException
      *             if this method is called after at least one request has been processed by the <code>Lifecycle</code>
@@ -934,6 +1003,7 @@
     public void subscribeToEvent(Class<? extends SystemEvent> systemEventClass, Class<?> sourceClass,
                                  SystemEventListener listener)
     {
+        // TODO: IMPLEMENT IMPL
         throw new UnsupportedOperationException();
     }
 
@@ -960,6 +1030,7 @@
     public void unsubscribeFromEvent(Class<? extends SystemEvent> systemEventClass, Class<?> sourceClass,
                                      SystemEventListener listener)
     {
+        // TODO: IMPLEMENT IMPL
         throw new UnsupportedOperationException();
     }
 

Modified: myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ApplicationWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ApplicationWrapper.java?rev=761981&r1=761980&r2=761981&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ApplicationWrapper.java (original)
+++ myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ApplicationWrapper.java Sat Apr  4 18:44:14 2009
@@ -21,6 +21,7 @@
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.Locale;
+import java.util.Map;
 import java.util.ResourceBundle;
 
 import javax.el.ELContextListener;
@@ -31,6 +32,7 @@
 import javax.faces.FacesException;
 import javax.faces.FacesWrapper;
 import javax.faces.component.UIComponent;
+import javax.faces.component.behavior.ClientBehavior;
 import javax.faces.context.FacesContext;
 import javax.faces.convert.Converter;
 import javax.faces.el.MethodBinding;
@@ -42,7 +44,6 @@
 import javax.faces.event.SystemEvent;
 import javax.faces.event.SystemEventListener;
 import javax.faces.validator.Validator;
-import javax.faces.webapp.pdl.PageDeclarationLanguage;
 
 /**
  * @author Simon Lessard (latest modification by $Author: slessard $)
@@ -53,506 +54,359 @@
 @SuppressWarnings("deprecation")
 public abstract class ApplicationWrapper extends Application implements FacesWrapper<Application>
 {
-    /**
-     * Gets the <code>Application</code> instance decorated by this wrapper.
-     * 
-     * @return the <code>Application</code> instance decorated by this wrapper
-     */
-    public abstract Application getWrapped();
+    public ApplicationWrapper()
+    {
+        
+    }
     
-    /**
-     * {@inheritDoc}
-     */
+    @Override
+    public void addBehavior(String behaviorId, String behaviorClass)
+    {
+        getWrapped().addBehavior(behaviorId, behaviorClass);
+    }
+
     @Override
     public void addComponent(String componentType, String componentClass)
     {
         getWrapped().addComponent(componentType, componentClass);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
     public void addConverter(Class<?> targetClass, String converterClass)
     {
         getWrapped().addConverter(targetClass, converterClass);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
     public void addConverter(String converterId, String converterClass)
     {
         getWrapped().addConverter(converterId, converterClass);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void addValidator(String validatorId, String validatorClass)
+    public void addDefaultValidatorId(String validatorId)
     {
-        getWrapped().addValidator(validatorId, validatorClass);
+        getWrapped().addDefaultValidatorId(validatorId);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public UIComponent createComponent(String componentType) throws FacesException
+    public void addELContextListener(ELContextListener listener)
     {
-        return getWrapped().createComponent(componentType);
+        getWrapped().addELContextListener(listener);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public UIComponent createComponent(ValueBinding componentBinding, FacesContext context, String componentType)
-            throws FacesException
+    public void addELResolver(ELResolver resolver)
     {
-        return getWrapped().createComponent(componentBinding, context, componentType);
+        getWrapped().addELResolver(resolver);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public Converter createConverter(Class<?> targetClass)
+    public void addValidator(String validatorId, String validatorClass)
     {
-        return getWrapped().createConverter(targetClass);
+        getWrapped().addValidator(validatorId, validatorClass);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public Converter createConverter(String converterId)
+    public ClientBehavior createBehavior(String behaviorId) throws FacesException
     {
-        return getWrapped().createConverter(converterId);
+        return getWrapped().createBehavior(behaviorId);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public MethodBinding createMethodBinding(String ref, Class<?>[] params) throws ReferenceSyntaxException
+    public UIComponent createComponent(FacesContext context, Resource componentResource)
     {
-        return getWrapped().createMethodBinding(ref, params);
+        return getWrapped().createComponent(context, componentResource);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public Validator createValidator(String validatorId) throws FacesException
+    public UIComponent createComponent(FacesContext context, String componentType, String rendererType)
     {
-        return getWrapped().createValidator(validatorId);
+        return getWrapped().createComponent(context, componentType, rendererType);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public ValueBinding createValueBinding(String ref) throws ReferenceSyntaxException
+    public UIComponent createComponent(String componentType) throws FacesException
     {
-        return getWrapped().createValueBinding(ref);
+        return getWrapped().createComponent(componentType);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public ActionListener getActionListener()
+    public UIComponent createComponent(ValueBinding componentBinding, FacesContext context, String componentType)
+            throws FacesException
     {
-        return getWrapped().getActionListener();
+        return getWrapped().createComponent(componentBinding, context, componentType);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public Iterator<String> getComponentTypes()
+    public UIComponent createComponent(ValueExpression componentExpression, FacesContext context, String componentType,
+                                       String rendererType)
     {
-        return getWrapped().getComponentTypes();
+        return getWrapped().createComponent(componentExpression, context, componentType, rendererType);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public Iterator<String> getConverterIds()
+    public UIComponent createComponent(ValueExpression componentExpression, FacesContext contexte, String componentType)
+            throws FacesException
     {
-        return getWrapped().getConverterIds();
+        return getWrapped().createComponent(componentExpression, contexte, componentType);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public Iterator<Class<?>> getConverterTypes()
+    public Converter createConverter(Class<?> targetClass)
     {
-        return getWrapped().getConverterTypes();
+        return getWrapped().createConverter(targetClass);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public Locale getDefaultLocale()
+    public Converter createConverter(String converterId)
     {
-        return getWrapped().getDefaultLocale();
+        return getWrapped().createConverter(converterId);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public String getDefaultRenderKitId()
+    public MethodBinding createMethodBinding(String ref, Class<?>[] params) throws ReferenceSyntaxException
     {
-        return getWrapped().getDefaultRenderKitId();
+        return getWrapped().createMethodBinding(ref, params);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public String getMessageBundle()
+    public Validator createValidator(String validatorId) throws FacesException
     {
-        return getWrapped().getMessageBundle();
+        return getWrapped().createValidator(validatorId);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public NavigationHandler getNavigationHandler()
+    public ValueBinding createValueBinding(String ref) throws ReferenceSyntaxException
     {
-        return getWrapped().getNavigationHandler();
+        return getWrapped().createValueBinding(ref);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public PropertyResolver getPropertyResolver()
+    public <T> T evaluateExpressionGet(FacesContext context, String expression, Class<? extends T> expectedType)
+            throws ELException
     {
-        return getWrapped().getPropertyResolver();
+        return getWrapped().evaluateExpressionGet(context, expression, expectedType);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public StateManager getStateManager()
+    public ActionListener getActionListener()
     {
-        return getWrapped().getStateManager();
+        return getWrapped().getActionListener();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public Iterator<Locale> getSupportedLocales()
+    public Iterator<String> getBehaviorIds()
     {
-        return getWrapped().getSupportedLocales();
+        return getWrapped().getBehaviorIds();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public Iterator<String> getValidatorIds()
+    public Iterator<String> getComponentTypes()
     {
-        return getWrapped().getValidatorIds();
+        return getWrapped().getComponentTypes();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public VariableResolver getVariableResolver()
+    public Iterator<String> getConverterIds()
     {
-        return getWrapped().getVariableResolver();
+        return getWrapped().getConverterIds();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public ViewHandler getViewHandler()
+    public Iterator<Class<?>> getConverterTypes()
     {
-        return getWrapped().getViewHandler();
+        return getWrapped().getConverterTypes();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void setActionListener(ActionListener listener)
+    public Locale getDefaultLocale()
     {
-        getWrapped().setActionListener(listener);
+        return getWrapped().getDefaultLocale();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void setDefaultLocale(Locale locale)
+    public String getDefaultRenderKitId()
     {
-        getWrapped().setDefaultLocale(locale);
+        return getWrapped().getDefaultRenderKitId();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void setDefaultRenderKitId(String renderKitId)
+    public Map<String, String> getDefaultValidatorInfo()
     {
-        getWrapped().setDefaultRenderKitId(renderKitId);
+        return getWrapped().getDefaultValidatorInfo();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void setMessageBundle(String bundle)
+    public ELContextListener[] getELContextListeners()
     {
-        getWrapped().setMessageBundle(bundle);
+        return getWrapped().getELContextListeners();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void setNavigationHandler(NavigationHandler handler)
+    public ELResolver getELResolver()
     {
-        getWrapped().setNavigationHandler(handler);
+        return getWrapped().getELResolver();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void setPropertyResolver(PropertyResolver resolver)
+    public ExpressionFactory getExpressionFactory()
     {
-        getWrapped().setPropertyResolver(resolver);
+        return getWrapped().getExpressionFactory();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void setStateManager(StateManager manager)
+    public String getMessageBundle()
     {
-        getWrapped().setStateManager(manager);
+        return getWrapped().getMessageBundle();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void setSupportedLocales(Collection<Locale> locales)
+    public NavigationHandler getNavigationHandler()
     {
-        getWrapped().setSupportedLocales(locales);
+        return getWrapped().getNavigationHandler();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void setVariableResolver(VariableResolver resolver)
+    public ProjectStage getProjectStage()
     {
-        getWrapped().setVariableResolver(resolver);
+        return getWrapped().getProjectStage();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void setViewHandler(ViewHandler handler)
+    public PropertyResolver getPropertyResolver()
     {
-        getWrapped().setViewHandler(handler);
+        return getWrapped().getPropertyResolver();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void addELContextListener(ELContextListener listener)
+    public ResourceBundle getResourceBundle(FacesContext ctx, String name) throws FacesException, NullPointerException
     {
-        getWrapped().addELContextListener(listener);
+        return getWrapped().getResourceBundle(ctx, name);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void addELResolver(ELResolver resolver)
+    public ResourceHandler getResourceHandler()
     {
-        getWrapped().addELResolver(resolver);
+        return getWrapped().getResourceHandler();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public UIComponent createComponent(FacesContext context, Resource componentResource)
+    public StateManager getStateManager()
     {
-        return getWrapped().createComponent(context, componentResource);
+        return getWrapped().getStateManager();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public UIComponent createComponent(FacesContext context, String componentType, String rendererType)
+    public Iterator<Locale> getSupportedLocales()
     {
-        return getWrapped().createComponent(context, componentType, rendererType);
+        return getWrapped().getSupportedLocales();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public UIComponent createComponent(ValueExpression componentExpression, FacesContext context, String componentType,
-                                       String rendererType)
+    public Iterator<String> getValidatorIds()
     {
-        return getWrapped().createComponent(componentExpression, context, componentType, rendererType);
+        return getWrapped().getValidatorIds();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public UIComponent createComponent(ValueExpression componentExpression, FacesContext contexte, String componentType)
-            throws FacesException, NullPointerException
+    public VariableResolver getVariableResolver()
     {
-        return getWrapped().createComponent(componentExpression, contexte, componentType);
+        return getWrapped().getVariableResolver();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public <T> T evaluateExpressionGet(FacesContext context, String expression, Class<? extends T> expectedType)
-            throws ELException
+    public ViewHandler getViewHandler()
     {
-        return getWrapped().evaluateExpressionGet(context, expression, expectedType);
+        return getWrapped().getViewHandler();
     }
 
-    /**
-     * {@inheritDoc}
-     */
+    public abstract Application getWrapped();
+
     @Override
-    public ELContextListener[] getELContextListeners()
+    public void publishEvent(Class<? extends SystemEvent> systemEventClass, Class<?> sourceBaseType, Object source)
     {
-        return getWrapped().getELContextListeners();
+        getWrapped().publishEvent(systemEventClass, sourceBaseType, source);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public ELResolver getELResolver()
+    public void publishEvent(Class<? extends SystemEvent> systemEventClass, Object source)
     {
-        return getWrapped().getELResolver();
+        getWrapped().publishEvent(systemEventClass, source);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public ExpressionFactory getExpressionFactory()
+    public void removeELContextListener(ELContextListener listener)
     {
-        return getWrapped().getExpressionFactory();
+        getWrapped().removeELContextListener(listener);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public PageDeclarationLanguage getPageDeclarationLanguage()
+    public void setActionListener(ActionListener listener)
     {
-        return getWrapped().getPageDeclarationLanguage();
+        getWrapped().setActionListener(listener);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public ProjectStage getProjectStage()
+    public void setDefaultLocale(Locale locale)
     {
-        return getWrapped().getProjectStage();
+        getWrapped().setDefaultLocale(locale);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public ResourceBundle getResourceBundle(FacesContext ctx, String name) throws FacesException, NullPointerException
+    public void setDefaultRenderKitId(String renderKitId)
     {
-        return getWrapped().getResourceBundle(ctx, name);
+        getWrapped().setDefaultRenderKitId(renderKitId);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public ResourceHandler getResourceHandler()
+    public void setMessageBundle(String bundle)
     {
-        return getWrapped().getResourceHandler();
+        getWrapped().setMessageBundle(bundle);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void publishEvent(Class<? extends SystemEvent> systemEventClass, Class<?> sourceBaseType, Object source)
+    public void setNavigationHandler(NavigationHandler handler)
     {
-        getWrapped().publishEvent(systemEventClass, sourceBaseType, source);
+        getWrapped().setNavigationHandler(handler);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void publishEvent(Class<? extends SystemEvent> systemEventClass, Object source)
+    public void setPropertyResolver(PropertyResolver resolver)
     {
-        getWrapped().publishEvent(systemEventClass, source);
+        getWrapped().setPropertyResolver(resolver);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void removeELContextListener(ELContextListener listener)
+    public void setResourceHandler(ResourceHandler resourceHandler)
     {
-        getWrapped().removeELContextListener(listener);
+        getWrapped().setResourceHandler(resourceHandler);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void setPageDeclarationLanguage(PageDeclarationLanguage pdl)
+    public void setStateManager(StateManager manager)
     {
-        getWrapped().setPageDeclarationLanguage(pdl);
+        getWrapped().setStateManager(manager);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    public void setResourceHandler(ResourceHandler resourceHandler)
+    public void setSupportedLocales(Collection<Locale> locales)
     {
-        getWrapped().setResourceHandler(resourceHandler);
+        getWrapped().setSupportedLocales(locales);
+    }
+
+    @Override
+    public void setVariableResolver(VariableResolver resolver)
+    {
+        getWrapped().setVariableResolver(resolver);
+    }
+
+    @Override
+    public void setViewHandler(ViewHandler handler)
+    {
+        getWrapped().setViewHandler(handler);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
     public void subscribeToEvent(Class<? extends SystemEvent> systemEventClass, Class<?> sourceClass,
                                  SystemEventListener listener)
@@ -560,18 +414,12 @@
         getWrapped().subscribeToEvent(systemEventClass, sourceClass, listener);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
     public void subscribeToEvent(Class<? extends SystemEvent> systemEventClass, SystemEventListener listener)
     {
         getWrapped().subscribeToEvent(systemEventClass, listener);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
     public void unsubscribeFromEvent(Class<? extends SystemEvent> systemEventClass, Class<?> sourceClass,
                                      SystemEventListener listener)
@@ -579,12 +427,10 @@
         getWrapped().unsubscribeFromEvent(systemEventClass, sourceClass, listener);
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
     public void unsubscribeFromEvent(Class<? extends SystemEvent> systemEventClass, SystemEventListener listener)
     {
         getWrapped().unsubscribeFromEvent(systemEventClass, listener);
     }
+
 }

Added: myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ConfigurableNavigationHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ConfigurableNavigationHandler.java?rev=761981&view=auto
==============================================================================
--- myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ConfigurableNavigationHandler.java (added)
+++ myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ConfigurableNavigationHandler.java Sat Apr  4 18:44:14 2009
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package javax.faces.application;
+
+import java.util.Map;
+import java.util.Set;
+
+import javax.faces.context.FacesContext;
+
+/**
+ * @author Simon Lessard (latest modification by $Author: slessard $)
+ * @version $Revision: 696523 $ $Date: 2009-03-14 13:54:45 -0400 (mer., 17 sept. 2008) $
+ * 
+ * @since 2.0
+ */
+public abstract class ConfigurableNavigationHandler extends NavigationHandler
+{
+
+    /**
+     * 
+     */
+    public ConfigurableNavigationHandler()
+    {
+    }
+
+    public abstract NavigationCase getNavigationCase(FacesContext context, String fromAction, String outcome);
+
+    public abstract Map<String,Set<NavigationCase>> getNavigationCases();
+
+    public void performNavigation(String outcome)
+    {
+        handleNavigation(FacesContext.getCurrentInstance(), null, outcome);
+    }
+}

Added: myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/DiscoveryHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/DiscoveryHandler.java?rev=761981&view=auto
==============================================================================
--- myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/DiscoveryHandler.java (added)
+++ myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/DiscoveryHandler.java Sat Apr  4 18:44:14 2009
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package javax.faces.application;
+
+import java.net.URL;
+import java.util.Set;
+
+import javax.faces.context.FacesContext;
+
+/**
+ * TODO: REMOVE - No longer existing in latst spec 2009-03-04 -= Simon =-
+ * 
+ * @since 2.0
+ * @author Leonardo Uribe (latest modification by $Author: lu4242 $)
+ * @version $Revision: 723192 $ $Date: 2008-12-03 21:31:00 -0500 (mer., 03 déc. 2008) $
+ * 
+ * @deprecated
+ */
+@Deprecated
+public abstract class DiscoveryHandler
+{
+
+    public DiscoveryHandler()
+    {
+
+    }
+
+    public abstract Set<String> getClassNamesWithFacesAnnotations(
+            FacesContext facesContext);
+
+    public abstract void processAnnotatedClasses(FacesContext facesContext,
+            Set<String> classNamesSet);
+    
+    public abstract Set<URL> getResourcePaths(String path);
+
+}

Added: myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/DiscoveryHandlerFactory.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/DiscoveryHandlerFactory.java?rev=761981&view=auto
==============================================================================
--- myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/DiscoveryHandlerFactory.java (added)
+++ myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/DiscoveryHandlerFactory.java Sat Apr  4 18:44:14 2009
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package javax.faces.application;
+
+import javax.faces.FacesWrapper;
+
+/**
+ * TODO: REMOVE - No longer existing in latst spec 2009-03-04 -= Simon =-
+ * 
+ * @since 2.0
+ * @author Leonardo Uribe (latest modification by $Author: lu4242 $)
+ * @version $Revision: 723192 $ $Date: 2008-12-03 21:31:00 -0500 (mer., 03 déc. 2008) $
+ * 
+ * @deprecated
+ */
+@Deprecated
+public abstract class DiscoveryHandlerFactory implements
+        FacesWrapper<DiscoveryHandlerFactory>
+{
+
+    public abstract DiscoveryHandler getDiscoveryHandler();
+
+    /**
+     * If this factory has been decorated, the implementation doing the decorating may override this method to 
+     * provide access to the implementation being wrapped. A default implementation is provided that returns 
+     * <code>null</code>.
+     * 
+     * @return the decorated <code>DiscoveryHandlerFactory</code> if this factory decorates another, 
+     *         or <code>null</code> otherwise
+     * 
+     * @since 2.0
+     */
+    public DiscoveryHandlerFactory getWrapped()
+    {
+        return null;
+    }
+
+}

Added: myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/DiscoveryHandlerWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/DiscoveryHandlerWrapper.java?rev=761981&view=auto
==============================================================================
--- myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/DiscoveryHandlerWrapper.java (added)
+++ myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/DiscoveryHandlerWrapper.java Sat Apr  4 18:44:14 2009
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package javax.faces.application;
+
+import java.net.URL;
+import java.util.Set;
+
+import javax.faces.FacesWrapper;
+import javax.faces.context.FacesContext;
+
+/**
+ * TODO: REMOVE - No longer existing in latst spec 2009-03-04 -= Simon =-
+ * 
+ * @since 2.0
+ * @author Leonardo Uribe (latest modification by $Author: lu4242 $)
+ * @version $Revision: 723192 $ $Date: 2008-12-03 21:31:00 -0500 (mer., 03 déc. 2008) $
+ * 
+ * @deprecated
+ */
+@Deprecated
+public abstract class DiscoveryHandlerWrapper extends DiscoveryHandler
+        implements FacesWrapper<DiscoveryHandler>
+{
+    
+    @Override
+    public Set<String> getClassNamesWithFacesAnnotations(
+            FacesContext facesContext)
+    {
+        return getWrapped().getClassNamesWithFacesAnnotations(facesContext);
+    }
+
+    @Override
+    public Set<URL> getResourcePaths(String path)
+    {
+        return getWrapped().getResourcePaths(path);
+    }
+
+    @Override
+    public void processAnnotatedClasses(FacesContext facesContext,
+            Set<String> classNamesSet)
+    {
+        getWrapped().processAnnotatedClasses(facesContext, classNamesSet);
+    }
+    
+    public abstract DiscoveryHandler getWrapped();
+}

Added: myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/NavigationCase.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/NavigationCase.java?rev=761981&view=auto
==============================================================================
--- myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/NavigationCase.java (added)
+++ myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/NavigationCase.java Sat Apr  4 18:44:14 2009
@@ -0,0 +1,240 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package javax.faces.application;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import javax.el.ExpressionFactory;
+import javax.el.ValueExpression;
+import javax.faces.context.FacesContext;
+
+/**
+ * @author Simon Lessard (latest modification by $Author: slessard $)
+ * @version $Revision: 696523 $ $Date: 2009-03-14 13:57:20 -0400 (mer., 17 sept. 2008) $
+ * 
+ * @since 2.0
+ */
+public class NavigationCase
+{
+    private String _condition;
+    private String _fromAction;
+    private String _fromOutcome;
+    private String _fromViewId;
+    private String _toViewId;
+
+    private boolean _includeViewParams;
+    private boolean _redirect;
+
+    private ValueExpression _conditionExpression;
+
+    public NavigationCase(String fromViewId, String fromAction, String fromOutcome, String condition, String toViewId,
+                          boolean redirect, boolean includeViewParams)
+    {
+        _condition = condition;
+        _fromViewId = fromViewId;
+        _fromAction = fromAction;
+        _fromOutcome = fromOutcome;
+        _toViewId = toViewId;
+        _redirect = redirect;
+        _includeViewParams = includeViewParams;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean equals(Object o)
+    {
+        if (o == this)
+        {
+            return true;
+        }
+        else if (o instanceof NavigationCase)
+        {
+            NavigationCase c = (NavigationCase) o;
+
+            return equals(_fromViewId, c._fromViewId) && equals(_fromAction, c._fromAction)
+                    && equals(_fromOutcome, c._fromOutcome) && equals(_condition, c._condition)
+                    && equals(_toViewId, c._toViewId) && _redirect == c._redirect
+                    && _includeViewParams == c._includeViewParams;
+        }
+        else
+        {
+            return false;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public int hashCode()
+    {
+        return hash(_fromViewId) << 4 ^ hash(_fromAction) << 8 ^ hash(_fromOutcome) << 12 ^ hash(_condition) << 16
+                ^ hash(_toViewId) << 20 ^ hash(Boolean.valueOf(_redirect)) << 24
+                ^ hash(Boolean.valueOf(_includeViewParams));
+    }
+
+    public URL getActionURL() throws MalformedURLException
+    {
+        return null;
+    }
+
+    public Boolean getCondition(FacesContext context)
+    {
+        if (_condition == null)
+        {
+            return null;
+        }
+
+        ValueExpression expression = _getConditionExpression(context);
+
+        return Boolean.TRUE.equals(expression.getValue(context.getELContext()));
+    }
+
+    public String getFromAction()
+    {
+        return _fromAction;
+    }
+
+    public String getFromOutcome()
+    {
+        return _fromOutcome;
+    }
+
+    public String getFromViewId()
+    {
+        return _fromViewId;
+    }
+
+    public URL getResourceURL() throws MalformedURLException
+    {
+        return null;
+    }
+
+    public String getToViewId(FacesContext context)
+    {
+        return _toViewId;
+    }
+
+    public boolean hasCondition()
+    {
+        return _condition != null && _condition.length() > 0;
+    }
+
+    public boolean isIncludeViewParams()
+    {
+        return _includeViewParams;
+    }
+
+    public boolean isRedirect()
+    {
+        return _redirect;
+    }
+    
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public String toString()
+    {
+        StringBuilder builder = new StringBuilder(128);
+        builder.append("<navigation-case>\n");
+        
+        if (_fromViewId != null)
+        {
+            builder.append("  ");
+            builder.append("<from-view-id>");
+            builder.append(_fromViewId);
+            builder.append("</from-view-id>\n");
+        }
+        
+        if (_fromAction != null)
+        {
+            builder.append("  ");
+            builder.append("<from-action>");
+            builder.append(_fromAction);
+            builder.append("</from-action>\n");
+        }
+        
+        if (_fromOutcome != null)
+        {
+            builder.append("  ");
+            builder.append("<from-outcome>");
+            builder.append(_fromOutcome);
+            builder.append("</from-outcome>\n");
+        }
+        
+        if (_condition != null)
+        {
+            builder.append("  ");
+            builder.append("<if>");
+            builder.append(_condition);
+            builder.append("</if>\n");
+        }
+        
+        builder.append("  ");
+        builder.append("<to-view-id>");
+        builder.append(_toViewId);
+        builder.append("</to-view-id>\n");
+        
+        if (_redirect)
+        {
+            builder.append("  ");
+            builder.append("<redirect include-view-params=\"");
+            builder.append(_includeViewParams);
+            builder.append("\"/>");
+        }
+        
+        builder.append("</navigation-case>");
+        
+        return builder.toString();
+    }
+
+    private ValueExpression _getConditionExpression(FacesContext context)
+    {
+        assert _condition != null;
+
+        if (_conditionExpression == null)
+        {
+            ExpressionFactory factory = context.getApplication().getExpressionFactory();
+            _conditionExpression = factory.createValueExpression(context.getELContext(), _condition, Boolean.class);
+        }
+
+        return _conditionExpression;
+    }
+
+    private boolean equals(Object o1, Object o2)
+    {
+        if (o1 == null)
+        {
+            return o2 == null;
+        }
+        else
+        {
+            return o1.equals(o2);
+        }
+    }
+
+    private int hash(Object o)
+    {
+        return o == null ? 0 : o.hashCode();
+    }
+}

Modified: myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ResourceDependencies.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ResourceDependencies.java?rev=761981&r1=761980&r2=761981&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ResourceDependencies.java (original)
+++ myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ResourceDependencies.java Sat Apr  4 18:44:14 2009
@@ -19,6 +19,7 @@
 package javax.faces.application;
 
 import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
@@ -31,6 +32,7 @@
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.TYPE)
+@Inherited
 public @interface ResourceDependencies
 {
     public ResourceDependency[] value();

Modified: myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ResourceDependency.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ResourceDependency.java?rev=761981&r1=761980&r2=761981&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ResourceDependency.java (original)
+++ myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/ResourceDependency.java Sat Apr  4 18:44:14 2009
@@ -19,6 +19,7 @@
 package javax.faces.application;
 
 import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
@@ -31,6 +32,7 @@
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.TYPE)
+@Inherited
 public @interface ResourceDependency
 {
     public String library() default "";

Modified: myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/StateManagerWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/StateManagerWrapper.java?rev=761981&r1=761980&r2=761981&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/StateManagerWrapper.java (original)
+++ myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/application/StateManagerWrapper.java Sat Apr  4 18:44:14 2009
@@ -34,6 +34,7 @@
 
     public abstract StateManager getWrapped();
 
+    @SuppressWarnings("deprecation")
     @Override
     public StateManager.SerializedView saveSerializedView(FacesContext context)
     {
@@ -52,18 +53,21 @@
         return getWrapped().isSavingStateInClient(context);
     }
 
+    @SuppressWarnings("deprecation")
     @Override
     protected Object getTreeStructureToSave(FacesContext context)
     {
         return getWrapped().getTreeStructureToSave(context);
     }
 
+    @SuppressWarnings("deprecation")
     @Override
     protected Object getComponentStateToSave(FacesContext context)
     {
         return getWrapped().getComponentStateToSave(context);
     }
 
+    @SuppressWarnings("deprecation")
     @Override
     public void writeState(FacesContext context, StateManager.SerializedView state) throws IOException
     {
@@ -82,12 +86,14 @@
         return getWrapped().restoreView(context, viewId, renderKitId);
     }
 
+    @SuppressWarnings("deprecation")
     @Override
     protected UIViewRoot restoreTreeStructure(FacesContext context, String viewId, String renderKitId)
     {
         return getWrapped().restoreTreeStructure(context, viewId, renderKitId);
     }
 
+    @SuppressWarnings("deprecation")
     @Override
     protected void restoreComponentState(FacesContext context, UIViewRoot viewRoot, String renderKitId)
     {



Mime
View raw message