You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by sl...@apache.org on 2009/04/04 20:45:04 UTC

svn commit: r761982 [1/10] - in /myfaces/core/branches/2_0_0/impl/src: main/java/com/ main/java/org/apache/myfaces/application/ main/java/org/apache/myfaces/config/ main/java/org/apache/myfaces/config/impl/digester/ main/java/org/apache/myfaces/config/...

Author: slessard
Date: Sat Apr  4 18:44:59 2009
New Revision: 761982

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

Added:
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/ViewDeclarationLanguageBase.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/ViewDeclarationLanguageFactoryImpl.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/ViewDeclarationLanguageStrategy.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/Facelet.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletFactory.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguageStrategy.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/StateWriter.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/TemplateClient.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/AbstractUIHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/AttributeInstruction.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/CommentInstruction.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/CompilationManager.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/CompilationUnit.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/Compiler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/EncodingHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/EndElementInstruction.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/Instruction.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/LiteralAttributeInstruction.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/LiteralCommentInstruction.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/LiteralTextInstruction.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/LiteralXMLInstruction.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/NamespaceHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/NamespaceManager.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/NamespaceUnit.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/RemoveUnit.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/SAXCompiler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/StartElementInstruction.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/TagLibraryConfig.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/TagUnit.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/TextInstruction.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/TextUnit.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/TrimmedTagUnit.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/UIInstructionHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/UIInstructions.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/UILeaf.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/UILiteralText.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/UILiteralTextHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/UIText.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/UITextHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/XMLInstruction.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/package.html
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/component/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/component/RepeatRenderer.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/component/UIRepeat.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/el/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/el/CompositeFunctionMapper.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/el/CompositeVariableMapper.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/el/DefaultFunctionMapper.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/el/DefaultVariableMapper.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/el/ELText.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/el/TagMethodExpression.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/el/TagValueExpression.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/el/VariableMapperWrapper.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/el/package.html
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/impl/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFacelet.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFaceletContext.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFaceletFactory.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultResourceResolver.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/impl/ResourceResolver.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/impl/package.html
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/package.html
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/AbstractTagLibrary.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/BeanPropertyTagRule.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeFaceletHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeTagDecorator.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeTagLibrary.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/MetaRule.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/MetaRulesetImpl.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/MetaTagHandlerImpl.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/MetadataImpl.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/MetadataTargetImpl.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/MethodRule.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/TagAttributeImpl.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/TagAttributesImpl.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/TagDecorator.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/TagHandlerFactory.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/TagHandlerUtils.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/TagLibrary.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/UserTagHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/ActionSourceRule.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/ComponentHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/ComponentRule.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/ComponentSupport.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/ConvertHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/EditableValueHolderRule.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/ValidateHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/ValueHolderRule.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/ActionListenerHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/AttributeHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/ConvertDateTimeHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/ConvertDelegateHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/ConvertNumberHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/CoreLibrary.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/FacetHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/LoadBundleHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/PhaseListenerHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/SetPropertyActionListenerHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/ValidateDelegateHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/ValueChangeListenerHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/VerbatimHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/ViewHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/package.html
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/html/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/html/AbstractHtmlLibrary.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/html/HtmlComponentHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/html/HtmlDecorator.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/html/HtmlLibrary.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/html/package.html
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/CatchHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ChooseHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ChooseOtherwiseHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ChooseWhenHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ForEachHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/IfHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/IndexedValueExpression.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/IteratedValueExpression.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/IterationStatus.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/IterationStatusExpression.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/JstlCoreLibrary.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/MappedValueExpression.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/SetHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/package.html
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/fn/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/fn/JstlFnLibrary.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/fn/JstlFunction.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/fn/package.html
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/package.html
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/ComponentRef.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/ComponentRefHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/CompositionHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/DecorateHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/DefineHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/IncludeHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/InsertHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/ParamHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/RepeatHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/UIDebug.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/UILibrary.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/package.html
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/util/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/util/Classpath.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/util/DevTools.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/util/FastWriter.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/util/ParameterCheck.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/util/Path.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/util/ReflectionUtil.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/util/Resource.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/util/package.html
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/jsp/
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/jsp/JspViewDeclarationLanguage.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/jsp/JspViewDeclarationLanguageStrategy.java
Removed:
    myfaces/core/branches/2_0_0/impl/src/main/java/com/
Modified:
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/application/ViewHandlerSupport.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/FacesConfigDispenser.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Factory.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/ExceptionHandlerImpl.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/lifecycle/RestoreViewExecutor.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/taglib/core/ValidateRegexTag.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/util/DebugUtils.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/webapp/Jsp20FacesInitializer.java
    myfaces/core/branches/2_0_0/impl/src/test/java/org/apache/myfaces/context/ExecutePhaseClientIdsTest.java
    myfaces/core/branches/2_0_0/impl/src/test/java/org/apache/myfaces/context/IsRenderedTest.java
    myfaces/core/branches/2_0_0/impl/src/test/java/org/apache/myfaces/context/RenderPhaseClientIdsTest.java
    myfaces/core/branches/2_0_0/impl/src/test/java/org/apache/myfaces/context/ResponseWrapperSwitchTest.java
    myfaces/core/branches/2_0_0/impl/src/test/java/org/apache/myfaces/lifecycle/RestoreViewExecutorTest.java

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java?rev=761982&r1=761981&r2=761982&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java Sat Apr  4 18:44:59 2009
@@ -50,6 +50,7 @@
 import javax.faces.component.UIComponent;
 import javax.faces.component.UIOutput;
 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;
@@ -67,7 +68,7 @@
 import javax.faces.event.SystemEventListenerHolder;
 import javax.faces.render.Renderer;
 import javax.faces.validator.Validator;
-import javax.faces.webapp.pdl.PageDeclarationLanguage;
+import javax.faces.view.ViewDeclarationLanguage;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
@@ -151,8 +152,6 @@
 
     private ProjectStage _projectStage;
 
-    private PageDeclarationLanguage _pageDeclarationLanguage;
-
     // ~ Constructors
     // --------------------------------------------------------------------------
     // -----
@@ -494,6 +493,13 @@
     }
 
     @Override
+    public Iterator<String> getBehaviorIds()
+    {
+        // TODO: IMPLEMENT HERE
+        return null;
+    }
+
+    @Override
     public final Iterator<String> getComponentTypes()
     {
         return _componentClassMap.keySet().iterator();
@@ -559,19 +565,6 @@
         return _navigationHandler;
     }
 
-    @Override
-    public PageDeclarationLanguage getPageDeclarationLanguage()
-    {
-        return _pageDeclarationLanguage;
-    }
-
-    @Override
-    public void setPageDeclarationLanguage(PageDeclarationLanguage pdl)
-    {
-        checkNull(pdl, "PageDeclarationLanguage");
-        _pageDeclarationLanguage = pdl;
-    }
-
     /**
      * @deprecated
      */
@@ -799,6 +792,12 @@
         return _viewHandler;
     }
 
+    @Override
+    public void addBehavior(String behaviorId, String behaviorClass)
+    {
+        // TODO: IMPLEMENT HERE
+    }
+
     @SuppressWarnings("unchecked")
     @Override
     public final void addComponent(final String componentType, final String componentClassName)
@@ -893,6 +892,13 @@
     }
 
     @Override
+    public ClientBehavior createBehavior(String behaviorId) throws FacesException
+    {
+        // TODO: IMPLEMENT HERE
+        return null;
+    }
+
+    @Override
     public UIComponent createComponent(FacesContext context, String componentType, String rendererType)
     {
         checkNull(context, "context");

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/application/ViewHandlerSupport.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/application/ViewHandlerSupport.java?rev=761982&r1=761981&r2=761982&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/application/ViewHandlerSupport.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/application/ViewHandlerSupport.java Sat Apr  4 18:44:59 2009
@@ -21,6 +21,8 @@
 import javax.faces.context.FacesContext;
 
 /**
+ * TODO: RENAME - This class is now used by ViewDeclarationLanguageBase
+ * 
  * A utility class to isolate a ViewHandler implementation from the underlying 
  * request/response framework.
  * <p>

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/FacesConfigDispenser.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/FacesConfigDispenser.java?rev=761982&r1=761981&r2=761982&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/FacesConfigDispenser.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/FacesConfigDispenser.java Sat Apr  4 18:44:59 2009
@@ -50,6 +50,18 @@
     public void feedApplicationFactory(String factoryClassName);
 
     /**
+     * Add another ExceptionHandlerFactory class name
+     * @param factoryClassName a class name
+     */
+    public void feedExceptionHandlerFactory(String factoryClassName);
+
+    /**
+     * Add another ExternalContextFactory class name
+     * @param factoryClassName a class name
+     */
+    public void feedExternalContextFactory(String factoryClassName);
+
+    /**
      * Add another FacesContextFactory class name
      * @param factoryClassName a class name
      */
@@ -60,17 +72,47 @@
      * @param factoryClassName a class name
      */
     public void feedLifecycleFactory(String factoryClassName);
+    
+    /**
+     * Add another ViewDeclarationLanguageFactory class name
+     * @param factoryClassName a class name
+     */
+    public void feedViewDeclarationLanguageFactory(String factoryClassName);
+
+    /**
+     * Add another PartialViewContextFactory class name
+     * @param factoryClassName a class name
+     */
+    public void feedPartialViewContextFactory(String factoryClassName);
 
     /**
      * Add another RenderKitFactory class name
      * @param factoryClassName a class name
      */
     public void feedRenderKitFactory(String factoryClassName);
+    
+    /**
+     * Add another TagHandlerDelegateFactory class name
+     * @param factoryClassName a class name
+     */
+    public void feedTagHandlerDelegateFactory(String factoryClassName);
+
+    /**
+     * Add another VisitContextFactory class name
+     * @param factoryClassName a class name
+     */
+    public void feedVisitContextFactory(String factoryClassName);
 
 
 
     /** @return Iterator over ApplicationFactory class names */
     public Collection<String> getApplicationFactoryIterator();
+    
+    /** @return Iterator over ExceptionHandlerFactory class names */
+    public Collection<String> getExceptionHandlerFactoryIterator();
+
+    /** @return Iterator over ExternalContextFactory class names */
+    public Collection<String> getExternalContextFactoryIterator();
 
     /** @return Iterator over FacesContextFactory class names */
     public Collection<String> getFacesContextFactoryIterator();
@@ -78,8 +120,20 @@
     /** @return Iterator over LifecycleFactory class names */
     public Collection<String> getLifecycleFactoryIterator();
 
+    /** @return Iterator over ViewDeclarationLanguageFactory class names */
+    public Collection<String> getViewDeclarationLanguageFactoryIterator();
+
+    /** @return Iterator over PartialViewContextFactory class names */
+    public Collection<String> getPartialViewContextFactoryIterator();
+
     /** @return Iterator over RenderKit factory class names */
     public Collection<String> getRenderKitFactoryIterator();
+    
+    /** @return Iterator over TagHandlerDelegateFactory factory class names */
+    public Collection<String> getTagHandlerDelegateFactoryIterator();
+
+    /** @return Iterator over VisitContextFactory factory class names */
+    public Collection<String> getVisitContextFactoryIterator();
 
 
     /** @return Iterator over ActionListener class names (in reverse order!) */

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java?rev=761982&r1=761981&r2=761982&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java Sat Apr  4 18:44:59 2009
@@ -45,32 +45,46 @@
  */
 public class DigesterFacesConfigDispenserImpl implements FacesConfigDispenser<FacesConfig>
 {
-
+    // Factories
     private List<String> applicationFactories = new ArrayList<String>();
+    private List<String> exceptionHandlerFactories = new ArrayList<String>();
+    private List<String> externalContextFactories = new ArrayList<String>();
     private List<String> facesContextFactories = new ArrayList<String>();
     private List<String> lifecycleFactories = new ArrayList<String>();
+    private List<String> ViewDeclarationLanguageFactories = new ArrayList<String>();
+    private List<String> partialViewContextFactories = new ArrayList<String>();
     private List<String> renderKitFactories = new ArrayList<String>();
-    private Map<String, String> components = new HashMap<String, String>();
-    private Map<String, String> validators = new HashMap<String, String>();
+    private List<String> tagHandlerDelegateFactories = new ArrayList<String>();
+    private List<String> visitContextFactories = new ArrayList<String>();
+    
     private String defaultRenderKitId;
+    private String messageBundle;
+
     private LocaleConfig localeConfig;
+
+    private Map<String, String> components = new HashMap<String, String>();
+    private Map<String, String> converterByClass = new HashMap<String, String>();
+    private Map<String, String> converterById = new HashMap<String, String>();
+    private Map<String, String> validators = new HashMap<String, String>();
+    
+    private Map<String, Converter> converterConfigurationByClassName = new HashMap<String, Converter>();
+    
+    private Map<String, RenderKit> renderKits = new LinkedHashMap<String, RenderKit>();
+    
     private List<String> actionListeners = new ArrayList<String>();
+    private List<String> elResolvers = new ArrayList<String>();
     private List<String> lifecyclePhaseListeners = new ArrayList<String>();
-    private String messageBundle;
     private List<String> navigationHandlers = new ArrayList<String>();
-    private List<String> viewHandlers = new ArrayList<String>();
+    private List<String> propertyResolver = new ArrayList<String>();
     private List<String> resourceHandlers = new ArrayList<String>();
     private List<String> stateManagers = new ArrayList<String>();
-    private List<String> propertyResolver = new ArrayList<String>();
     private List<String> variableResolver = new ArrayList<String>();
-    private Map<String, String> converterById = new HashMap<String, String>();
-    private Map<String, String> converterByClass = new HashMap<String, String>();
-    private Map<String, Converter> converterConfigurationByClassName = new HashMap<String, Converter>();
-    private Map<String, RenderKit> renderKits = new LinkedHashMap<String, RenderKit>();
+    private List<String> viewHandlers = new ArrayList<String>();
+    
     private List<ManagedBean> managedBeans = new ArrayList<ManagedBean>();
+    
     private List<NavigationRule> navigationRules = new ArrayList<NavigationRule>();
     private List<ResourceBundle> resourceBundles = new ArrayList<ResourceBundle>();
-    private List<String> elResolvers = new ArrayList<String>();
 
     /**
      * Add another unmarshalled faces config object.
@@ -83,9 +97,15 @@
         for (Factory factory : config.getFactories())
         {
             applicationFactories.addAll(factory.getApplicationFactory());
+            exceptionHandlerFactories.addAll(factory.getExceptionHandlerFactory());
+            externalContextFactories.addAll(factory.getExternalContextFactory());
             facesContextFactories.addAll(factory.getFacesContextFactory());
             lifecycleFactories.addAll(factory.getLifecycleFactory());
+            ViewDeclarationLanguageFactories.addAll(factory.getViewDeclarationLanguageFactory());
+            partialViewContextFactories.addAll(factory.getPartialViewContextFactory());
             renderKitFactories.addAll(factory.getRenderkitFactory());
+            tagHandlerDelegateFactories.addAll(factory.getTagHandlerDelegateFactory());
+            visitContextFactories.addAll(factory.getVisitContextFactory());
         }
 
         components.putAll(config.getComponents());
@@ -173,6 +193,16 @@
         applicationFactories.add(factoryClassName);
     }
 
+    public void feedExceptionHandlerFactory(String factoryClassName)
+    {
+        exceptionHandlerFactories.add(factoryClassName);
+    }
+
+    public void feedExternalContextFactory(String factoryClassName)
+    {
+        externalContextFactories.add(factoryClassName);
+    }
+
     /**
      * Add another FacesContextFactory class name
      * 
@@ -195,6 +225,16 @@
         lifecycleFactories.add(factoryClassName);
     }
 
+    public void feedViewDeclarationLanguageFactory(String factoryClassName)
+    {
+        ViewDeclarationLanguageFactories.add(factoryClassName);
+    }
+
+    public void feedPartialViewContextFactory(String factoryClassName)
+    {
+        partialViewContextFactories.add(factoryClassName);
+    }
+
     /**
      * Add another RenderKitFactory class name
      * 
@@ -206,6 +246,16 @@
         renderKitFactories.add(factoryClassName);
     }
 
+    public void feedTagHandlerDelegateFactory(String factoryClassName)
+    {
+        tagHandlerDelegateFactories.add(factoryClassName);
+    }
+
+    public void feedVisitContextFactory(String factoryClassName)
+    {
+        visitContextFactories.add(factoryClassName);
+    }
+
     /**
      * @return Collection over ApplicationFactory class names
      */
@@ -214,6 +264,16 @@
         return applicationFactories;
     }
 
+    public Collection<String> getExceptionHandlerFactoryIterator()
+    {
+        return exceptionHandlerFactories;
+    }
+
+    public Collection<String> getExternalContextFactoryIterator()
+    {
+        return externalContextFactories;
+    }
+
     /**
      * @return Collection over FacesContextFactory class names
      */
@@ -230,6 +290,16 @@
         return lifecycleFactories;
     }
 
+    public Collection<String> getViewDeclarationLanguageFactoryIterator()
+    {
+        return ViewDeclarationLanguageFactories;
+    }
+
+    public Collection<String> getPartialViewContextFactoryIterator()
+    {
+        return partialViewContextFactories;
+    }
+
     /**
      * @return Collection over RenderKit factory class names
      */
@@ -238,6 +308,16 @@
         return renderKitFactories;
     }
 
+    public Collection<String> getTagHandlerDelegateFactoryIterator()
+    {
+        return tagHandlerDelegateFactories;
+    }
+
+    public Collection<String> getVisitContextFactoryIterator()
+    {
+        return visitContextFactories;
+    }
+
     /**
      * @return Collection over ActionListener class names
      */

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java?rev=761982&r1=761981&r2=761982&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java Sat Apr  4 18:44:59 2009
@@ -29,16 +29,13 @@
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 
-
 /**
  * @author <a href="mailto:oliver@rossmueller.com">Oliver Rossmueller</a>
  */
 public class DigesterFacesConfigUnmarshallerImpl implements FacesConfigUnmarshaller<FacesConfig>
 {
-
     private Digester digester;
 
-
     public DigesterFacesConfigUnmarshallerImpl(ExternalContext externalContext)
     {
         digester = new Digester();
@@ -64,7 +61,7 @@
         digester.addSetNext("faces-config/application/locale-config", "addLocaleConfig");
         digester.addCallMethod("faces-config/application/locale-config/default-locale", "setDefaultLocale", 0);
         digester.addCallMethod("faces-config/application/locale-config/supported-locale", "addSupportedLocale", 0);
-        
+
         // 1.2 specific start
         digester.addCallMethod("faces-config/application/el-resolver", "addElResolver", 0);
         digester.addObjectCreate("faces-config/application/resource-bundle", ResourceBundle.class);
@@ -73,11 +70,18 @@
         digester.addCallMethod("faces-config/application/resource-bundle/var", "setVar", 0);
         digester.addCallMethod("faces-config/application/resource-bundle/display-name", "setDisplayName", 0);
         // 1.2 specific end
-        
+
         // 2.0 specific start
         digester.addCallMethod("faces-config/application/resource-handler", "addResourceHandler", 0);
+        digester.addCallMethod("faces-config/factory/exception-handler-factory", "addExceptionHandlerFactory", 0);
+        digester.addCallMethod("faces-config/factory/external-context-factory", "addExternalContextFactory", 0);
+        digester.addCallMethod("faces-config/factory/page-declaration-language-factory",
+                               "addViewDeclarationLanguageFactory", 0);
+        digester.addCallMethod("faces-config/factory/partial-view-context-factory", "addPartialViewContextFactory", 0);
+        digester.addCallMethod("faces-config/factory/tag-handler-delegate-factory", "addTagHandlerDelegateFactory", 0);
+        digester.addCallMethod("faces-config/factory/visit-context-factory", "addVisitContextFactory", 0);
         // 2.0 specific end
-        
+
         digester.addObjectCreate("faces-config/factory", Factory.class);
         digester.addSetNext("faces-config/factory", "addFactory");
         digester.addCallMethod("faces-config/factory/application-factory", "addApplicationFactory", 0);
@@ -94,8 +98,8 @@
         digester.addCallMethod("faces-config/converter/converter-id", "setConverterId", 0);
         digester.addCallMethod("faces-config/converter/converter-for-class", "setForClass", 0);
         digester.addCallMethod("faces-config/converter/converter-class", "setConverterClass", 0);
-        digester.addObjectCreate("faces-config/converter/attribute",Attribute.class);
-        digester.addSetNext("faces-config/converter/attribute","addAttribute");
+        digester.addObjectCreate("faces-config/converter/attribute", Attribute.class);
+        digester.addSetNext("faces-config/converter/attribute", "addAttribute");
         digester.addCallMethod("faces-config/converter/attribute/description", "addDescription", 0);
         digester.addCallMethod("faces-config/converter/attribute/display-name", "addDisplayName", 0);
         digester.addCallMethod("faces-config/converter/attribute/icon", "addIcon", 0);
@@ -104,8 +108,8 @@
         digester.addCallMethod("faces-config/converter/attribute/default-value", "setDefaultValue", 0);
         digester.addCallMethod("faces-config/converter/attribute/suggested-value", "setSuggestedValue", 0);
         digester.addCallMethod("faces-config/converter/attribute/attribute-extension", "addAttributeExtension", 0);
-        digester.addObjectCreate("faces-config/converter/property",Property.class);
-        digester.addSetNext("faces-config/converter/property","addProperty");
+        digester.addObjectCreate("faces-config/converter/property", Property.class);
+        digester.addSetNext("faces-config/converter/property", "addProperty");
         digester.addCallMethod("faces-config/converter/property/description", "addDescription", 0);
         digester.addCallMethod("faces-config/converter/property/display-name", "addDisplayName", 0);
         digester.addCallMethod("faces-config/converter/property/icon", "addIcon", 0);
@@ -130,19 +134,25 @@
         digester.addObjectCreate("faces-config/managed-bean/managed-property/map-entries", MapEntries.class);
         digester.addSetNext("faces-config/managed-bean/managed-property/map-entries", "setMapEntries");
         digester.addCallMethod("faces-config/managed-bean/managed-property/map-entries/key-class", "setKeyClass", 0);
-        digester.addCallMethod("faces-config/managed-bean/managed-property/map-entries/value-class", "setValueClass", 0);
-        digester.addObjectCreate("faces-config/managed-bean/managed-property/map-entries/map-entry", MapEntries.Entry.class);
+        digester
+                .addCallMethod("faces-config/managed-bean/managed-property/map-entries/value-class", "setValueClass", 0);
+        digester.addObjectCreate("faces-config/managed-bean/managed-property/map-entries/map-entry",
+                                 MapEntries.Entry.class);
         digester.addSetNext("faces-config/managed-bean/managed-property/map-entries/map-entry", "addEntry");
         digester.addCallMethod("faces-config/managed-bean/managed-property/map-entries/map-entry/key", "setKey", 0);
-        digester.addCallMethod("faces-config/managed-bean/managed-property/map-entries/map-entry/null-value", "setNullValue");
+        digester.addCallMethod("faces-config/managed-bean/managed-property/map-entries/map-entry/null-value",
+                               "setNullValue");
         digester.addCallMethod("faces-config/managed-bean/managed-property/map-entries/map-entry/value", "setValue", 0);
         digester.addObjectCreate("faces-config/managed-bean/managed-property/list-entries", ListEntries.class);
         digester.addSetNext("faces-config/managed-bean/managed-property/list-entries", "setListEntries");
-        digester.addCallMethod("faces-config/managed-bean/managed-property/list-entries/value-class", "setValueClass", 0);
-        digester.addObjectCreate("faces-config/managed-bean/managed-property/list-entries/null-value", ListEntries.Entry.class);
+        digester.addCallMethod("faces-config/managed-bean/managed-property/list-entries/value-class", "setValueClass",
+                               0);
+        digester.addObjectCreate("faces-config/managed-bean/managed-property/list-entries/null-value",
+                                 ListEntries.Entry.class);
         digester.addSetNext("faces-config/managed-bean/managed-property/list-entries/null-value", "addEntry");
         digester.addCallMethod("faces-config/managed-bean/managed-property/list-entries/null-value", "setNullValue");
-        digester.addObjectCreate("faces-config/managed-bean/managed-property/list-entries/value", ListEntries.Entry.class);
+        digester.addObjectCreate("faces-config/managed-bean/managed-property/list-entries/value",
+                                 ListEntries.Entry.class);
         digester.addSetNext("faces-config/managed-bean/managed-property/list-entries/value", "addEntry");
         digester.addCallMethod("faces-config/managed-bean/managed-property/list-entries/value", "setValue", 0);
         digester.addObjectCreate("faces-config/managed-bean/map-entries", MapEntries.class);
@@ -191,20 +201,19 @@
         digester.addCallParam("faces-config/validator/validator-class", 1);
     }
 
-
     public FacesConfig getFacesConfig(InputStream in, String systemId) throws IOException, SAXException
     {
         InputSource is = new InputSource(in);
         is.setSystemId(systemId);
 
-        //Fix for http://issues.apache.org/jira/browse/MYFACES-236
+        // Fix for http://issues.apache.org/jira/browse/MYFACES-236
         FacesConfig config = (FacesConfig) digester.parse(is);
 
         for (Application application : config.getApplications())
         {
             for (LocaleConfig localeConfig : application.getLocaleConfig())
             {
-                if(!localeConfig.getSupportedLocales().contains(localeConfig.getDefaultLocale()))
+                if (!localeConfig.getSupportedLocales().contains(localeConfig.getDefaultLocale()))
                 {
                     localeConfig.getSupportedLocales().add(localeConfig.getDefaultLocale());
                 }

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Factory.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Factory.java?rev=761982&r1=761981&r2=761982&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Factory.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Factory.java Sat Apr  4 18:44:59 2009
@@ -26,49 +26,114 @@
  */
 public class Factory
 {
-
-    private List<String> applicationFactory = new ArrayList<String>();
-    private List<String> facesContextFactory = new ArrayList<String>();
-    private List<String> lifecycleFactory = new ArrayList<String>();
-    private List<String> renderkitFactory = new ArrayList<String>();
+    private List<String> applicationFactories = new ArrayList<String>();
+    private List<String> exceptionHandlerFactories = new ArrayList<String>();
+    private List<String> externalContextFactories = new ArrayList<String>();
+    private List<String> facesContextFactories = new ArrayList<String>();
+    private List<String> lifecycleFactories = new ArrayList<String>();
+    private List<String> ViewDeclarationLanguageFactories = new ArrayList<String>();
+    private List<String> partialViewContextFactories = new ArrayList<String>();
+    private List<String> renderKitFactories = new ArrayList<String>();
+    private List<String> tagHandlerDelegateFactories = new ArrayList<String>();
+    private List<String> visitContextFactories = new ArrayList<String>();
 
     public void addApplicationFactory(String factory)
     {
-        applicationFactory.add(factory);
+        applicationFactories.add(factory);
+    }
+
+    public void addExceptionHandlerFactory(String factory)
+    {
+        exceptionHandlerFactories.add(factory);
+    }
+
+    public void addExternalContextFactory(String factory)
+    {
+        externalContextFactories.add(factory);
     }
 
     public void addFacesContextFactory(String factory)
     {
-        facesContextFactory.add(factory);
+        facesContextFactories.add(factory);
     }
 
     public void addLifecycleFactory(String factory)
     {
-        lifecycleFactory.add(factory);
+        lifecycleFactories.add(factory);
+    }
+
+    public void addViewDeclarationLanguageFactory(String factory)
+    {
+        ViewDeclarationLanguageFactories.add(factory);
+    }
+
+    public void addPartialViewContextFactory(String factory)
+    {
+        partialViewContextFactories.add(factory);
     }
 
     public void addRenderkitFactory(String factory)
     {
-        renderkitFactory.add(factory);
+        renderKitFactories.add(factory);
+    }
+
+    public void addTagHandlerDelegateFactory(String factory)
+    {
+        tagHandlerDelegateFactories.add(factory);
+    }
+
+    public void addVisitContextFactory(String factory)
+    {
+        visitContextFactories.add(factory);
     }
 
     public List<String> getApplicationFactory()
     {
-        return applicationFactory;
+        return applicationFactories;
+    }
+
+    public List<String> getExceptionHandlerFactory()
+    {
+        return exceptionHandlerFactories;
+    }
+
+    public List<String> getExternalContextFactory()
+    {
+        return externalContextFactories;
     }
 
     public List<String> getFacesContextFactory()
     {
-        return facesContextFactory;
+        return facesContextFactories;
     }
 
     public List<String> getLifecycleFactory()
     {
-        return lifecycleFactory;
+        return lifecycleFactories;
+    }
+
+    public List<String> getViewDeclarationLanguageFactory()
+    {
+        return ViewDeclarationLanguageFactories;
+    }
+
+    public List<String> getPartialViewContextFactory()
+    {
+        return partialViewContextFactories;
     }
 
     public List<String> getRenderkitFactory()
     {
-        return renderkitFactory;
+        return renderKitFactories;
+    }
+
+    public List<String> getTagHandlerDelegateFactory()
+    {
+        return tagHandlerDelegateFactories;
+    }
+
+    public List<String> getVisitContextFactory()
+    {
+        return visitContextFactories;
     }
 }

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/ExceptionHandlerImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/ExceptionHandlerImpl.java?rev=761982&r1=761981&r2=761982&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/ExceptionHandlerImpl.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/ExceptionHandlerImpl.java Sat Apr  4 18:44:59 2009
@@ -19,17 +19,17 @@
 package org.apache.myfaces.context;
 
 import java.util.ArrayDeque;
-import java.util.Map;
+import java.util.Collections;
 import java.util.Queue;
 
 import javax.el.ELException;
 import javax.faces.FacesException;
 import javax.faces.context.ExceptionHandler;
-import javax.faces.context.FacesContext;
-import javax.faces.event.ExceptionEvent;
+import javax.faces.event.AbortProcessingException;
 import javax.faces.event.ExceptionEventContext;
+import javax.faces.event.ExceptionQueuedEvent;
+import javax.faces.event.ExceptionQueuedEventContext;
 import javax.faces.event.SystemEvent;
-import javax.servlet.ServletException;
 
 /**
  * DOCUMENT ME!
@@ -41,119 +41,154 @@
  */
 public class ExceptionHandlerImpl extends ExceptionHandler
 {
-    private static final String UNHANDLED_QUEUE = "unhandled" + ExceptionHandlerImpl.class.getName();
-    private static final String HANDLED_QUEUE = "handled" + ExceptionHandlerImpl.class.getName();
-
-    private static final Queue<ExceptionEvent> EMPTY_QUEUE = new ArrayDeque<ExceptionEvent>(0);
+    private Queue<ExceptionQueuedEvent> handled;
+    private Queue<ExceptionQueuedEvent> unhandled;
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
-    public ExceptionEvent getHandledExceptionEvent()
+    public ExceptionQueuedEvent getHandledExceptionQueuedEvent()
     {
-        return getUnhandledQueue(false).poll();
+        return handled == null ? null : handled.poll();
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
-    public Iterable<ExceptionEvent> getHandledExceptionEvents()
+    public Iterable<ExceptionQueuedEvent> getHandledExceptionQueuedEvents()
     {
-        return getHandledQueue(false);
+        return handled == null ? Collections.<ExceptionQueuedEvent>emptyList() : handled;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public Throwable getRootCause(Throwable t)
     {
-        if ((t instanceof FacesException) || (t instanceof ELException))
+        if (t == null)
+        {
+            throw new NullPointerException("t");
+        }
+        
+        while (t != null)
         {
-            Throwable cause = t.getCause();
-            if (cause != null)
+            Class<?> clazz = t.getClass();
+            if (!clazz.equals(FacesException.class) && !clazz.equals(ELException.class))
             {
-                return getRootCause(cause);
+                return t;
             }
+            
+            t = t.getCause();
         }
-
-        return t;
+        
+        return null;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
-    public Iterable<ExceptionEvent> getUnhandledExceptionEvents()
+    public Iterable<ExceptionQueuedEvent> getUnhandledExceptionQueuedEvents()
     {
-        return getUnhandledQueue(false);
+        return unhandled == null ? Collections.<ExceptionQueuedEvent>emptyList() : unhandled;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public void handle() throws FacesException
     {
-        /*
-         * The default implementation must take the first ExceptionEvent queued from a call to
-         * processEvent(javax.faces.event.SystemEvent), unwrap it with a call to getRootCause(java.lang.Throwable),
-         * re-wrap it in a ServletException and re-throw it. The default implementation must take special action in the
-         * following cases.
-         * 
-         * If an unchecked Exception occurs as a result of calling a method annotated with PreDestroy on a managed bean,
-         * the Exception must be logged and swallowed.
-         * 
-         * If the Exception originates inside the ELContextListener.removeElContextListener, the Exception must be
-         * logged and swallowed.
-         */
-        ExceptionEvent event = getHandledExceptionEvent();
-        if (event != null)
+        if (unhandled != null && !unhandled.isEmpty())
         {
-            getHandledQueue(true).add(event);
-
-            ExceptionEventContext exceptionContext = (ExceptionEventContext) event.getSource();
-
-            // FIXME This method must throw ServletException
-            throw new FacesException(new ServletException(getRootCause(exceptionContext.getException())));
+            if (handled == null)
+            {
+                handled = new ArrayDeque<ExceptionQueuedEvent>(1);
+            }
+            
+            do
+            {
+                // For each ExceptionEvent in the list
+                
+                // The implementation must also ensure that subsequent calls to getUnhandledExceptionEvents() 
+                // do not include that ExceptionEvent instance
+                ExceptionQueuedEvent event = unhandled.remove();
+                
+                // call its getContext() method
+                ExceptionQueuedEventContext context = event.getContext();
+                
+                // and call getException() on the returned result
+                Throwable exception = context.getException();
+                
+                // Upon encountering the first such Exception that is not an instance of
+                // javax.faces.event.AbortProcessingException
+                if (!shouldSkip(exception))
+                {
+                    // the corresponding ExceptionEvent must be set so that a subsequent call to 
+                    // getHandledExceptionEvent() or getHandledExceptionEvents() returns that 
+                    // ExceptionEvent instance. 
+                    // Should be ok to clear since this if never executed more than once per handle() calls
+                    handled.clear();
+                    handled.add(event);
+                    
+                    // Re-wrap toThrow in a ServletException or (PortletException, if in a portlet environment) 
+                    // and throw it
+                    // FIXME: The spec says to NOT use a FacesException to propagate the exception, but I see
+                    //        no other way as ServletException is not a RuntimeException
+                    throw new FacesException(wrap(getRethrownException(exception)));
+                }
+            } while (!unhandled.isEmpty());
         }
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public boolean isListenerForSource(Object source)
     {
-        return source instanceof ExceptionEvent;
+        return source instanceof ExceptionEventContext;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
-    public void processEvent(SystemEvent exceptionEvent)
+    public void processEvent(SystemEvent exceptionQueuedEvent) throws AbortProcessingException
     {
-        getUnhandledQueue(true).add((ExceptionEvent) exceptionEvent);
+        if (unhandled == null)
+        {
+            unhandled = new ArrayDeque<ExceptionQueuedEvent>(1);
+        }
+        
+        unhandled.add((ExceptionQueuedEvent)exceptionQueuedEvent);
     }
-
-    private Queue<ExceptionEvent> getHandledQueue(boolean create)
+    
+    protected Throwable getRethrownException(Throwable exception)
     {
-        return getQueue(HANDLED_QUEUE, create);
+        // Let toRethrow be either the result of calling getRootCause() on the Exception, 
+        // or the Exception itself, whichever is non-null
+        Throwable toRethrow = getRootCause(exception);
+        if (toRethrow == null)
+        {
+            toRethrow = exception;
+        }
+        
+        return toRethrow;
     }
-
-    private Queue<ExceptionEvent> getUnhandledQueue(boolean create)
+    
+    protected Throwable wrap(Throwable exception)
     {
-        return getQueue(UNHANDLED_QUEUE, create);
+        // TODO: This method should be abstract and implemented by a Portlet or Servlet version instance
+        //       wrapping to either ServletException or PortletException
+        return exception;
     }
-
-    @SuppressWarnings("unchecked")
-    private Queue<ExceptionEvent> getQueue(String queueName, boolean create)
+    
+    protected boolean shouldSkip(Throwable exception)
     {
-        assert queueName != null;
-
-        FacesContext context = FacesContext.getCurrentInstance();
-
-        Map<Object, Object> attributes = context.getAttributes();
-
-        Queue<ExceptionEvent> queue = (Queue<ExceptionEvent>) attributes.get(queueName);
-
-        if (queue == null)
-        {
-            if (create)
-            {
-                queue = new ArrayDeque<ExceptionEvent>(1);
-
-                attributes.put(queueName, queue);
-            }
-            else
-            {
-                queue = EMPTY_QUEUE;
-            }
-        }
-
-        return queue;
+        return exception instanceof AbortProcessingException;
     }
-
 }

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java?rev=761982&r1=761981&r2=761982&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java Sat Apr  4 18:44:59 2009
@@ -67,36 +67,28 @@
 
     public static final String METHOD_ISAJAXREQUEST = "isAjaxRequest";
     private static final String METHOD_ADDMESSAGE = "addMessage";
-    private static final String METHOD_ENABLERESPONSEWRITING = "enableResponseWriting";
     private static final String METHOD_GETAPPLICATION = "getApplication";
     private static final String METHOD_GETATTRIBUTES = "getAttributes";
     private static final String METHOD_GETCLIENTIDSWITHMESSAGES = "getClientIdsWithMessages";
     private static final String METHOD_GETCURRENTPHASEID = "getCurrentPhaseId";
     private static final String METHOD_GETELCONTEXT = "getELContext";
-    private static final String METHOD_GETEXECUTEPHASECLIENTIDS = "getExecutePhaseClientIds";
     private static final String METHOD_GETEXTERNALCONTEXT = "getExternalContext";
     private static final String METHOD_GETMAXIMUMSEVERITY = "getMaximumSeverity";
     private static final String METHOD_GETMESSAGES = "getMessages";
     private static final String METHOD_GETRENDERKIT = "getRenderKit";
-    private static final String METHOD_GETRENDERPHASECLIENTIDS = "getRenderPhaseClientIds";
     private static final String METHOD_GETRESPONSECOMPLETE = "getResponseComplete";
     private static final String METHOD_GETRESPONSESTREAM = "getResponseStream";
     private static final String METHOD_GETRESPONSEWRITER = "getResponseWriter";
-    private static final String METHOD_ISEXECUTENONE = "isExecuteNone";
-    private static final String METHOD_ISRENDERNONE = "isRenderNone";
     private static final String METHOD_RELEASE = "release";
     private static final String METHOD_RENDERRESPONSE = "renderResponse";
     private static final String METHOD_RESPONSECOMPLETE = "responseComplete";
     private static final String METHOD_RESPONSEWRITER = "responseWriter";
     private static final String METHOD_SETCURRENTPHASEID = "setCurrentPhaseId";
-    private static final String METHOD_SETEXECUTEPHASECLIENTIDS = "setExecutePhaseClientIds";
     private static final String METHOD_SETEXTERNALCONTEXT = "setExternalContext";
     private static final String METHOD_SETRESPONSESTREAM = "setResponseStream";
     private static final String METHOD_SETRESPONSEWRITER = "setResponseWriter";
     private static final String METHOD_SETVIEWROOT = "setViewRoot";
     private static final String METHOD_GETVIEWROOT = "getViewRoot";
-    private static final String METHOD_ISRENDERALL = "isRenderAll";
-    private static final String METHOD_SETRENDERALL = "setRenderAll";
     static final String RE_SPLITTER = "[\\s\\t\\r\\n]*\\,[\\s\\t\\r\\n]*";
     public static final String AJAX_REQ_KEY = "javax.faces.partial.ajax";
     // ~ Instance fields ----------------------------------------------------------------------------
@@ -118,12 +110,6 @@
     private ELContext _elContext;
     private Map<Object, Object> _attributes = null;
     private ResponseSwitch _responseWrapper = null;
-    private List<String> _renderPhaseClientIds = null;
-    private List<String> _executePhaseClientIds = null;
-    private Boolean _renderAll = null;
-
-    /* helper to speed things up on the isAjaxRequest method */
-    private Boolean _ajaxRequest = null;
 
     // ~ Constructors -------------------------------------------------------------------------------
     public FacesContextImpl(final ServletContext servletContext, final ServletRequest servletRequest,
@@ -547,32 +533,38 @@
      */
     private final List<String> getRequestParameterList(String key, String emptyValue)
     {
-
+        // FIXME: This method assume that getParameterMap returns a Map<String, String>, but the spec
+        //        says it's supposed to be Map<String, String[]>. -= Simon Lessard =-
         Map paramMap = ((ServletRequest) getExternalContext().getRequest()).getParameterMap();
+        
         String clientIds = (String) paramMap.get(key);
         if (clientIds == null)
         {// no value given
-            return Collections.EMPTY_LIST;
+            return Collections.<String>emptyList();
         }
+        
         clientIds = clientIds.trim();
         if (clientIds.equals("") || (emptyValue != null && clientIds.equals(emptyValue)))
         {// empty String!
-            return Collections.EMPTY_LIST;
+            return Collections.<String>emptyList();
         }
 
         /**
          * we have to process the params list we now split the params as fast as possible
          */
         String[] splitted = clientIds.split(RE_SPLITTER);
+        
         /*
          * we have to retrim the first and last entry we could have pending blanks!
          */
         splitted[0] = splitted[0].trim();
+        
         int trimLast = splitted.length - 1;
         if (trimLast > 0)
         {// all others trimmed by the re
             splitted[trimLast] = splitted[trimLast].trim();
         }
+        
         return Arrays.asList(splitted);
     }
 
@@ -591,235 +583,237 @@
         }
     }
 
-    private class PartialViewContextImpl extends PartialViewContext
-    {
-
-        /**
-         * if set to false the response writing is suppressed this construct has been added to deal with subview lifecycles
-         * in the ajax cycle
-         * 
-         * @param enable
-         *            if set to true the response is routed through if set to false the response is suppressed!
-         * 
-         * @throws IllegalStateException
-         *             if the current context already is released!
-         */
-        @Override
-        public void enableResponseWriting(boolean enable)
-        {
-            assertNotReleased(METHOD_ENABLERESPONSEWRITING);
-
-            _responseWrapper.setEnabled(enable);
-        }
-
-        @Override
-        public Map<Object, Object> getAttributes()
-        {
-            return FacesContextImpl.this.getAttributes();
-        }
-
-        /**
-         * @return the list of client ids to be processed in the execute phase null if all have to be processed The client
-         *         ids either must be set via the setter or being present by having a PARTIAL_EXECUTE_PARAM_NAME with a
-         *         value set non existent or NO_PARTIAL_PHASE_CLIENT_IDS values in the request map and a non set local list
-         *         result in an empty list as return value!
-         * 
-         * @since 2.0
-         * @throws IllegalStateException
-         *             if the current context already is released!
-         */
-        @Override
-        public List<String> getExecutePhaseClientIds()
-        {
-            assertNotReleased(METHOD_GETEXECUTEPHASECLIENTIDS);
-
-            if (_executePhaseClientIds != null)
-            {
-                return _executePhaseClientIds;
-            }
-
-            _executePhaseClientIds = getRequestParameterList(PARTIAL_EXECUTE_PARAM_NAME, NO_PARTIAL_PHASE_CLIENT_IDS);
-
-            return _executePhaseClientIds;
-        }
-
-        @Override
-        public ResponseWriter getPartialResponseWriter()
-        {
-            // TODO: JSF 2.0, missing impl
-            return null;
-        }
-
-        /**
-         * 
-         * @return a list of client ids which are fetched from the request <b>parameter</b> map. The key for the map entries
-         *         is {@link javax.faces.context.FacesContext.PARTIAL_RENDER_PARAM_NAME}. The list is a comma separated list
-         *         of client ids in the request map! if the value
-         *         {@link javax.faces.context.FacesContext.NO_PARTIAL_PHASE_CLIENT_IDS} is set or null or empty then an
-         *         empty list is returned!
-         * 
-         *         The client ids are the ones which have to be processed during the render phase
-         * 
-         * @since 2.0
-         * @throws IllegalStateException
-         *             if the current context already is released!
-         */
-        @Override
-        public List<String> getRenderPhaseClientIds()
-        {
-            assertNotReleased(METHOD_GETRENDERPHASECLIENTIDS);
-
-            /* already processed or set from the outside */
-            if (null != _renderPhaseClientIds)
-            {
-                return _renderPhaseClientIds;
-            }
-
-            _renderPhaseClientIds = getRequestParameterList(PARTIAL_RENDER_PARAM_NAME, NO_PARTIAL_PHASE_CLIENT_IDS);
-
-            return _renderPhaseClientIds;
-        }
-
-        /**
-         * TODO #51 in progress is ajax request implementation according to the spec, javax.faces.partial must be present
-         * and then it will return true if none is present it will return false since we only have to check it once a lazy
-         * init cannot be done because theoretically someone can push in a request wrapper!
-         * 
-         */
-        @Override
-        public boolean isAjaxRequest()
-        {
-
-            assertNotReleased(METHOD_ISAJAXREQUEST);
-
-            /*
-             * A speed shortcut here is feasable but it has to be discussed we have those in several parts of the
-             * facesContext and even most of them implicetly enforced by the spec itself. Hence i set it here.
-             * 
-             * 
-             * The problem is that request parameter maps can be delivered by RequestWrappers hence, you cannot rely on the
-             * map being entirely immutable. But leaving it out probably is also a no option since this method probably will
-             * be called by every component renderer and a O(log(n)) lookup is not a serious performance impact but serious
-             * enough!
-             * 
-             * This has to be cleared up with the spec people! This should not cause a problem under normal circumstances
-             * however!
-             */
-            if (_ajaxRequest == null)
-            {
-                Map<String, String> requestParamMap = getExternalContext().getRequestParameterMap();
-                _ajaxRequest = requestParamMap.containsKey(AJAX_REQ_KEY);
-            }
-            
-            return _ajaxRequest;
-        }
-
-        /**
-         * @return is render none return true if {@link #PARTIAL_EXECUTE_PARAM_NAME} is set in the current request map! and
-         *         the value is set to {@link #NO_PARTIAL_PHASE_CLIENT_IDS}. Otherwise return false!
-         */
-        @Override
-        public boolean isExecuteNone()
-        {
-            assertNotReleased(METHOD_ISEXECUTENONE);
-
-            Map<String, String> requestMap = getExternalContext().getRequestParameterMap();
-            
-            String param = (String) requestMap.get(PARTIAL_EXECUTE_PARAM_NAME);
-            
-            return NO_PARTIAL_PHASE_CLIENT_IDS.equals(param);
-        }
-
-        /**
-         * @return true in case of PARTIAL_RENDER_PARAM_NAME being set and its value is NO_PARTIAL_PHASE_CLIENT_IDS.
-         *         Otherwise return false
-         */
-        @Override
-        public boolean isRenderNone()
-        {
-            assertNotReleased(METHOD_ISRENDERNONE);
-
-            Map<String, String> requestMap = getExternalContext().getRequestParameterMap();
-            
-            String param = (String) requestMap.get(PARTIAL_RENDER_PARAM_NAME);
-            
-            return NO_PARTIAL_PHASE_CLIENT_IDS.equals(param);
-        }
-
-        /**
-         * @return true in case of {@link javax.faces.context.FacesContext.isAjaxRequest()} returns true, {@link
-         *         javax.faces.context.FacesContext.isRenderNone()} returns false and {@link
-         *         javax.faces.context.FacesContext.getRenderPhaseClientIds()} returns also an empty list
-         */
-        @Override
-        public boolean isRenderAll()
-        {
-            assertNotReleased(METHOD_ISRENDERALL);
-
-            if (_renderAll != null)
-            {
-                return _renderAll;
-            }
-            // I assume doing the check once per request is correct
-            // there is no way to determine if there was an override
-            // of the renderAll according to the spec!
-            List<String> renderClientIds = getRenderPhaseClientIds();
-            
-            _renderAll = renderClientIds.isEmpty() && isAjaxRequest() && !isRenderNone();
-            
-            return _renderAll;
-        }
-
-        @Override
-        public void release()
-        {
-            FacesContextImpl.this.release();
-        }
-
-        /**
-         * @param executePhaseClientIds
-         *            the list of client ids to be processed by the execute phase
-         * 
-         * @since 2.0
-         * @throws IllegalStateException
-         *             if the current context already is released!
-         */
-        @Override
-        public void setExecutePhaseClientIds(List<String> executePhaseClientIds)
-        {
-            assertNotReleased(METHOD_SETEXECUTEPHASECLIENTIDS);
-
-            _executePhaseClientIds = executePhaseClientIds;
-        }
-
-        /**
-         * override for the isRenderall determination mechanism if set to true the isRenderAll() must! return true! If
-         * nothing is set the isRenderall() does a fallback into its renderall determination algorithm!
-         * 
-         * @param renderAll
-         *            if set to true isRenderAll() will return true on the subsequent calls in the request!
-         */
-        @Override
-        public void setRenderAll(boolean renderAll)
-        {
-            assertNotReleased(METHOD_SETRENDERALL);
-
-            _renderAll = renderAll;// autoboxing does the conversation here, no need to do casting
-        }
-
-        /**
-         * @param the
-         *            list of client ids to be processed by the render phase!
-         * @since 2.0
-         * @throws IllegalStateException
-         *             if the current context already is released!
-         */
-        @Override
-        public void setRenderPhaseClientIds(List<String> renderPhaseClientIds)
-        {
-            assertNotReleased(METHOD_SETEXECUTEPHASECLIENTIDS);
-
-            _renderPhaseClientIds = renderPhaseClientIds;
-        }
-    }
+// TODO: MOVE - PartialViewContext is no longer created by FacesContext in the latest spec, see 
+//              PartialViewContextFactory
+//    private class PartialViewContextImpl extends PartialViewContext
+//    {
+//
+//        /**
+//         * if set to false the response writing is suppressed this construct has been added to deal with subview lifecycles
+//         * in the ajax cycle
+//         * 
+//         * @param enable
+//         *            if set to true the response is routed through if set to false the response is suppressed!
+//         * 
+//         * @throws IllegalStateException
+//         *             if the current context already is released!
+//         */
+//        @Override
+//        public void enableResponseWriting(boolean enable)
+//        {
+//            assertNotReleased(METHOD_ENABLERESPONSEWRITING);
+//
+//            _responseWrapper.setEnabled(enable);
+//        }
+//
+//        @Override
+//        public Map<Object, Object> getAttributes()
+//        {
+//            return FacesContextImpl.this.getAttributes();
+//        }
+//
+//        /**
+//         * @return the list of client ids to be processed in the execute phase null if all have to be processed The client
+//         *         ids either must be set via the setter or being present by having a PARTIAL_EXECUTE_PARAM_NAME with a
+//         *         value set non existent or NO_PARTIAL_PHASE_CLIENT_IDS values in the request map and a non set local list
+//         *         result in an empty list as return value!
+//         * 
+//         * @since 2.0
+//         * @throws IllegalStateException
+//         *             if the current context already is released!
+//         */
+//        @Override
+//        public List<String> getExecutePhaseClientIds()
+//        {
+//            assertNotReleased(METHOD_GETEXECUTEPHASECLIENTIDS);
+//
+//            if (_executePhaseClientIds != null)
+//            {
+//                return _executePhaseClientIds;
+//            }
+//
+//            _executePhaseClientIds = getRequestParameterList(PARTIAL_EXECUTE_PARAM_NAME, NO_PARTIAL_PHASE_CLIENT_IDS);
+//
+//            return _executePhaseClientIds;
+//        }
+//
+//        @Override
+//        public ResponseWriter getPartialResponseWriter()
+//        {
+//            // TODO: JSF 2.0, missing impl
+//            return null;
+//        }
+//
+//        /**
+//         * 
+//         * @return a list of client ids which are fetched from the request <b>parameter</b> map. The key for the map entries
+//         *         is {@link javax.faces.context.FacesContext.PARTIAL_RENDER_PARAM_NAME}. The list is a comma separated list
+//         *         of client ids in the request map! if the value
+//         *         {@link javax.faces.context.FacesContext.NO_PARTIAL_PHASE_CLIENT_IDS} is set or null or empty then an
+//         *         empty list is returned!
+//         * 
+//         *         The client ids are the ones which have to be processed during the render phase
+//         * 
+//         * @since 2.0
+//         * @throws IllegalStateException
+//         *             if the current context already is released!
+//         */
+//        @Override
+//        public List<String> getRenderPhaseClientIds()
+//        {
+//            assertNotReleased(METHOD_GETRENDERPHASECLIENTIDS);
+//
+//            /* already processed or set from the outside */
+//            if (null != _renderPhaseClientIds)
+//            {
+//                return _renderPhaseClientIds;
+//            }
+//
+//            _renderPhaseClientIds = getRequestParameterList(PARTIAL_RENDER_PARAM_NAME, NO_PARTIAL_PHASE_CLIENT_IDS);
+//
+//            return _renderPhaseClientIds;
+//        }
+//
+//        /**
+//         * TODO #51 in progress is ajax request implementation according to the spec, javax.faces.partial must be present
+//         * and then it will return true if none is present it will return false since we only have to check it once a lazy
+//         * init cannot be done because theoretically someone can push in a request wrapper!
+//         * 
+//         */
+//        @Override
+//        public boolean isAjaxRequest()
+//        {
+//
+//            assertNotReleased(METHOD_ISAJAXREQUEST);
+//
+//            /*
+//             * A speed shortcut here is feasable but it has to be discussed we have those in several parts of the
+//             * facesContext and even most of them implicetly enforced by the spec itself. Hence i set it here.
+//             * 
+//             * 
+//             * The problem is that request parameter maps can be delivered by RequestWrappers hence, you cannot rely on the
+//             * map being entirely immutable. But leaving it out probably is also a no option since this method probably will
+//             * be called by every component renderer and a O(log(n)) lookup is not a serious performance impact but serious
+//             * enough!
+//             * 
+//             * This has to be cleared up with the spec people! This should not cause a problem under normal circumstances
+//             * however!
+//             */
+//            if (_ajaxRequest == null)
+//            {
+//                Map<String, String> requestParamMap = getExternalContext().getRequestParameterMap();
+//                _ajaxRequest = requestParamMap.containsKey(AJAX_REQ_KEY);
+//            }
+//            
+//            return _ajaxRequest;
+//        }
+//
+//        /**
+//         * @return is render none return true if {@link #PARTIAL_EXECUTE_PARAM_NAME} is set in the current request map! and
+//         *         the value is set to {@link #NO_PARTIAL_PHASE_CLIENT_IDS}. Otherwise return false!
+//         */
+//        @Override
+//        public boolean isExecuteNone()
+//        {
+//            assertNotReleased(METHOD_ISEXECUTENONE);
+//
+//            Map<String, String> requestMap = getExternalContext().getRequestParameterMap();
+//            
+//            String param = (String) requestMap.get(PARTIAL_EXECUTE_PARAM_NAME);
+//            
+//            return NO_PARTIAL_PHASE_CLIENT_IDS.equals(param);
+//        }
+//
+//        /**
+//         * @return true in case of PARTIAL_RENDER_PARAM_NAME being set and its value is NO_PARTIAL_PHASE_CLIENT_IDS.
+//         *         Otherwise return false
+//         */
+//        @Override
+//        public boolean isRenderNone()
+//        {
+//            assertNotReleased(METHOD_ISRENDERNONE);
+//
+//            Map<String, String> requestMap = getExternalContext().getRequestParameterMap();
+//            
+//            String param = (String) requestMap.get(PARTIAL_RENDER_PARAM_NAME);
+//            
+//            return NO_PARTIAL_PHASE_CLIENT_IDS.equals(param);
+//        }
+//
+//        /**
+//         * @return true in case of {@link javax.faces.context.FacesContext.isAjaxRequest()} returns true, {@link
+//         *         javax.faces.context.FacesContext.isRenderNone()} returns false and {@link
+//         *         javax.faces.context.FacesContext.getRenderPhaseClientIds()} returns also an empty list
+//         */
+//        @Override
+//        public boolean isRenderAll()
+//        {
+//            assertNotReleased(METHOD_ISRENDERALL);
+//
+//            if (_renderAll != null)
+//            {
+//                return _renderAll;
+//            }
+//            // I assume doing the check once per request is correct
+//            // there is no way to determine if there was an override
+//            // of the renderAll according to the spec!
+//            List<String> renderClientIds = getRenderPhaseClientIds();
+//            
+//            _renderAll = renderClientIds.isEmpty() && isAjaxRequest() && !isRenderNone();
+//            
+//            return _renderAll;
+//        }
+//
+//        @Override
+//        public void release()
+//        {
+//            FacesContextImpl.this.release();
+//        }
+//
+//        /**
+//         * @param executePhaseClientIds
+//         *            the list of client ids to be processed by the execute phase
+//         * 
+//         * @since 2.0
+//         * @throws IllegalStateException
+//         *             if the current context already is released!
+//         */
+//        @Override
+//        public void setExecutePhaseClientIds(List<String> executePhaseClientIds)
+//        {
+//            assertNotReleased(METHOD_SETEXECUTEPHASECLIENTIDS);
+//
+//            _executePhaseClientIds = executePhaseClientIds;
+//        }
+//
+//        /**
+//         * override for the isRenderall determination mechanism if set to true the isRenderAll() must! return true! If
+//         * nothing is set the isRenderall() does a fallback into its renderall determination algorithm!
+//         * 
+//         * @param renderAll
+//         *            if set to true isRenderAll() will return true on the subsequent calls in the request!
+//         */
+//        @Override
+//        public void setRenderAll(boolean renderAll)
+//        {
+//            assertNotReleased(METHOD_SETRENDERALL);
+//
+//            _renderAll = renderAll;// autoboxing does the conversation here, no need to do casting
+//        }
+//
+//        /**
+//         * @param the
+//         *            list of client ids to be processed by the render phase!
+//         * @since 2.0
+//         * @throws IllegalStateException
+//         *             if the current context already is released!
+//         */
+//        @Override
+//        public void setRenderPhaseClientIds(List<String> renderPhaseClientIds)
+//        {
+//            assertNotReleased(METHOD_SETEXECUTEPHASECLIENTIDS);
+//
+//            _renderPhaseClientIds = renderPhaseClientIds;
+//        }
+//    }
 }

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java?rev=761982&r1=761981&r2=761982&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java Sat Apr  4 18:44:59 2009
@@ -645,11 +645,6 @@
     }
 
     @Override
-    public int getContentLength() {
-        return _servletRequest.getContentLength();
-    }
-
-    @Override
     public String getContextName() {
         return _servletContext.getServletContextName();
     }

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/lifecycle/RestoreViewExecutor.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/lifecycle/RestoreViewExecutor.java?rev=761982&r1=761981&r2=761982&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/lifecycle/RestoreViewExecutor.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/lifecycle/RestoreViewExecutor.java Sat Apr  4 18:44:59 2009
@@ -24,8 +24,8 @@
 import javax.faces.application.ViewHandler;
 import javax.faces.component.UIViewRoot;
 import javax.faces.context.FacesContext;
-import javax.faces.event.AfterAddToParentEvent;
 import javax.faces.event.PhaseId;
+import javax.faces.event.PostAddToViewEvent;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -54,17 +54,22 @@
         // init the View
         Application application = facesContext.getApplication();
         ViewHandler viewHandler = application.getViewHandler();
+        
+        // Call initView() on the ViewHandler. This will set the character encoding properly for this request.
         viewHandler.initView(facesContext);
 
         UIViewRoot viewRoot = facesContext.getViewRoot();
 
         RestoreViewSupport restoreViewSupport = getRestoreViewSupport();
 
+        // Examine the FacesContext instance for the current request. If it already contains a UIViewRoot
         if (viewRoot != null)
         {
             if (log.isTraceEnabled())
                 log.trace("View already exists in the FacesContext");
-
+            
+            // Set the locale on this UIViewRoot to the value returned by the getRequestLocale() method on the
+            // ExternalContext for this request
             viewRoot.setLocale(facesContext.getExternalContext().getRequestLocale());
             restoreViewSupport.processComponentBinding(facesContext, viewRoot);
             return false;
@@ -106,7 +111,7 @@
             
             // Subscribe the newly created UIViewRoot instance to the AfterAddToParent event, passing the 
             // UIViewRoot instance itself as the listener.
-            viewRoot.subscribeToEvent(AfterAddToParentEvent.class, viewRoot);
+            viewRoot.subscribeToEvent(PostAddToViewEvent.class, viewRoot);
             
             // Store the new UIViewRoot instance in the FacesContext.
             facesContext.setViewRoot(viewRoot);
@@ -115,7 +120,7 @@
             facesContext.renderResponse();
             
             // Publish an AfterAddToParent event with the created UIViewRoot as the event source.
-            application.publishEvent(AfterAddToParentEvent.class, viewRoot);
+            application.publishEvent(PostAddToViewEvent.class, viewRoot);
         }
 
         return false;

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/taglib/core/ValidateRegexTag.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/taglib/core/ValidateRegexTag.java?rev=761982&r1=761981&r2=761982&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/taglib/core/ValidateRegexTag.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/taglib/core/ValidateRegexTag.java Sat Apr  4 18:44:59 2009
@@ -18,14 +18,13 @@
  */
 package org.apache.myfaces.taglib.core;
 
-import javax.faces.validator.Validator;
-import javax.faces.validator.RegexValidator;
+import javax.el.ELContext;
+import javax.el.ValueExpression;
 import javax.faces.context.FacesContext;
+import javax.faces.validator.RegexValidator;
+import javax.faces.validator.Validator;
 import javax.faces.webapp.ValidatorELTag;
 import javax.servlet.jsp.JspException;
-import javax.el.ValueExpression;
-import javax.el.ExpressionFactory;
-import javax.el.ELContext;
 
 /**
  * JSP Tag class for {@link javax.faces.validator.RegexValidator}.