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

svn commit: r791932 - in /myfaces/core/branches/2_0_0/impl/src/main: java/org/apache/myfaces/config/ java/org/apache/myfaces/config/element/ java/org/apache/myfaces/config/impl/digester/ java/org/apache/myfaces/config/impl/digester/elements/ resources/...

Author: mconcini
Date: Tue Jul  7 18:30:11 2009
New Revision: 791932

URL: http://svn.apache.org/viewvc?rev=791932&view=rev
Log:
MYFACES-2226

Added:
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/element/ClientBehaviorRenderer.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/ClientBehaviorRenderer.java
Modified:
    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/Application.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Behavior.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/RenderKit.java
    myfaces/core/branches/2_0_0/impl/src/main/resources/org/apache/myfaces/resource/web-facesconfig_2_0.xsd

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=791932&r1=791931&r2=791932&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 Tue Jul  7 18:30:11 2009
@@ -23,6 +23,7 @@
 import javax.el.ELResolver;
 
 import org.apache.myfaces.config.element.Behavior;
+import org.apache.myfaces.config.element.ClientBehaviorRenderer;
 import org.apache.myfaces.config.element.ManagedBean;
 import org.apache.myfaces.config.element.NavigationRule;
 import org.apache.myfaces.config.element.Renderer;
@@ -224,6 +225,11 @@
     public String getRenderKitClass(String renderKitId);
 
     /**
+     * @return Iterator over {@link org.apache.myfaces.config.element.ClientBehaviorRenderer ClientBehaviorRenderer}s for the given renderKitId
+     */
+    public Collection<ClientBehaviorRenderer> getClientBehaviorRenderers (String renderKitId);
+    
+    /**
      * @return Iterator over {@link org.apache.myfaces.config.element.Renderer Renderer}s for the given renderKitId
      */
     public Collection<Renderer> getRenderers(String renderKitId);
@@ -250,8 +256,17 @@
     public Collection<SystemEventListener> getSystemEventListeners();
     
     /**
-     * @return collection of behaviors
+     * @return Collection over behaviors
      */
-    
     public Collection<Behavior> getBehaviors ();
+    
+    /**
+     * @return Collection over all defined default validator ids
+     */
+    public Collection<String> getDefaultValidatorIds ();
+    
+    /**
+     * @return the partial traversal class name
+     */
+    public String getPartialTraversal ();
 }

Added: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/element/ClientBehaviorRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/element/ClientBehaviorRenderer.java?rev=791932&view=auto
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/element/ClientBehaviorRenderer.java (added)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/element/ClientBehaviorRenderer.java Tue Jul  7 18:30:11 2009
@@ -0,0 +1,31 @@
+/*
+ * 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 org.apache.myfaces.config.element;
+
+/**
+ * Config holder for <client-behavior-renderer> element.
+ */
+
+public interface ClientBehaviorRenderer
+{
+    public String getRendererClass();
+
+    public String getRendererType();
+
+}
\ No newline at end of file

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=791932&r1=791931&r2=791932&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 Tue Jul  7 18:30:11 2009
@@ -30,6 +30,7 @@
 
 import org.apache.myfaces.config.FacesConfigDispenser;
 import org.apache.myfaces.config.element.Behavior;
+import org.apache.myfaces.config.element.ClientBehaviorRenderer;
 import org.apache.myfaces.config.element.ManagedBean;
 import org.apache.myfaces.config.element.NavigationRule;
 import org.apache.myfaces.config.element.Renderer;
@@ -61,7 +62,8 @@
     
     private String defaultRenderKitId;
     private String messageBundle;
-
+    private String partialTraversal;
+    
     private LocaleConfig localeConfig;
 
     private Map<String, String> components = new HashMap<String, String>();
@@ -83,6 +85,7 @@
     private List<String> stateManagers = new ArrayList<String>();
     private List<String> variableResolver = new ArrayList<String>();
     private List<String> viewHandlers = new ArrayList<String>();
+    private List<String> defaultValidatorIds = new ArrayList<String>();
     
     private List<ManagedBean> managedBeans = new ArrayList<ManagedBean>();
     
@@ -134,7 +137,12 @@
             {
                 localeConfig = application.getLocaleConfig().get(application.getLocaleConfig().size() - 1);
             }
-
+            
+            if (!application.getPartialTraversal().isEmpty())
+            {
+                partialTraversal = application.getPartialTraversal().get (application.getPartialTraversal().size() - 1);
+            }
+            
             actionListeners.addAll(application.getActionListener());
             navigationHandlers.addAll(application.getNavigationHandler());
             resourceHandlers.addAll(application.getResourceHandler());
@@ -144,7 +152,8 @@
             variableResolver.addAll(application.getVariableResolver());
             resourceBundles.addAll(application.getResourceBundle());
             elResolvers.addAll(application.getElResolver());
-            systemEventListeners.addAll(application.getSystemEventListener());
+            defaultValidatorIds.addAll (application.getDefaultValidatorIds());
+            systemEventListeners.addAll(application.getSystemEventListeners());
         }
 
         for (Converter converter : config.getConverters())
@@ -358,6 +367,14 @@
     }
 
     /**
+     * @return the partial traversal class name
+     */
+    public String getPartialTraversal ()
+    {
+        return partialTraversal;
+    }
+    
+    /**
      * @return Collection over ResourceHandler class names
      */
     public Collection<String> getResourceHandlerIterator()
@@ -487,6 +504,14 @@
     }
 
     /**
+     * @return Collection over all defined default validator ids
+     */
+    public Collection<String> getDefaultValidatorIds ()
+    {
+        return defaultValidatorIds;
+    }
+    
+    /**
      * @return Collection over all defined validator ids
      */
     public Collection<String> getValidatorIds()
@@ -535,6 +560,14 @@
     }
 
     /**
+     * @return Iterator over {@link org.apache.myfaces.config.element.ClientBehaviorRenderer ClientBehaviorRenderer}s for the given renderKitId
+     */
+    public Collection<ClientBehaviorRenderer> getClientBehaviorRenderers (String renderKitId)
+    {
+        return renderKits.get (renderKitId).getClientBehaviorRenderers();
+    }
+    
+    /**
      * @return Collection over {@link org.apache.myfaces.config.element.Renderer Renderer}s for the given renderKitId
      */
     public Collection<Renderer> getRenderers(String renderKitId)

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=791932&r1=791931&r2=791932&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 Tue Jul  7 18:30:11 2009
@@ -78,8 +78,10 @@
         digester.addSetNext("faces-config/application", "addApplication");
         digester.addCallMethod("faces-config/application/action-listener", "addActionListener", 0);
         digester.addCallMethod("faces-config/application/default-render-kit-id", "addDefaultRenderkitId", 0);
+        digester.addCallMethod("faces-config/application/default-validators/validator-id", "addDefaultValidatorId", 0);
         digester.addCallMethod("faces-config/application/message-bundle", "addMessageBundle", 0);
         digester.addCallMethod("faces-config/application/navigation-handler", "addNavigationHandler", 0);
+        digester.addCallMethod("faces-config/application/partial-traversal", "addPartialTraversal", 0);
         digester.addCallMethod("faces-config/application/resource-handler", "addResourceHandler", 0);
         digester.addCallMethod("faces-config/application/view-handler", "addViewHandler", 0);
         digester.addCallMethod("faces-config/application/state-manager", "addStateManager", 0);
@@ -108,7 +110,7 @@
         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",
+        digester.addCallMethod("faces-config/factory/view-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);
@@ -226,19 +228,43 @@
         digester.addCallMethod("faces-config/render-kit/renderer/component-family", "setComponentFamily", 0);
         digester.addCallMethod("faces-config/render-kit/renderer/renderer-type", "setRendererType", 0);
         digester.addCallMethod("faces-config/render-kit/renderer/renderer-class", "setRendererClass", 0);
-
+        digester.addObjectCreate("faces-config/render-kit/client-behavior-renderer", ClientBehaviorRenderer.class);
+        digester.addSetNext("faces-config/render-kit/client-behavior-renderer", "addClientBehaviorRenderer");
+        digester.addCallMethod("faces-config/render-kit/renderer/client-behavior-renderer-type", "setRendererType", 0);
+        digester.addCallMethod("faces-config/render-kit/renderer/client-behavior-renderer-class", "setRendererClass", 0);
+        
+        // 2.0 behavior start
+        digester.addObjectCreate("faces-config/behavior", Behavior.class);
+        digester.addSetNext("faces-config/behavior", "addBehavior");
+        digester.addCallMethod("faces-config/behavior/behavior-id", "setBehaviorId", 0);
+        digester.addCallMethod("faces-config/behavior/behavior-class", "setBehaviorClass", 0);
+        digester.addObjectCreate("faces-config/behavior/attribute", Attribute.class);
+        digester.addSetNext("faces-config/behavior/attribute", "addAttribute");
+        digester.addCallMethod("faces-config/behavior/attribute/description", "addDescription", 0);
+        digester.addCallMethod("faces-config/behavior/attribute/display-name", "addDisplayName", 0);
+        digester.addCallMethod("faces-config/behavior/attribute/icon", "addIcon", 0);
+        digester.addCallMethod("faces-config/behavior/attribute/attribute-name", "setAttributeName", 0);
+        digester.addCallMethod("faces-config/behavior/attribute/attribute-class", "setAttributeClass", 0);
+        digester.addCallMethod("faces-config/behavior/attribute/default-value", "setDefaultValue", 0);
+        digester.addCallMethod("faces-config/behavior/attribute/suggested-value", "setSuggestedValue", 0);
+        digester.addCallMethod("faces-config/behavior/attribute/attribute-extension", "addAttributeExtension", 0);
+        digester.addObjectCreate("faces-config/behavior/property", Property.class);
+        digester.addSetNext("faces-config/behavior/property", "addProperty");
+        digester.addCallMethod("faces-config/behavior/property/description", "addDescription", 0);
+        digester.addCallMethod("faces-config/behavior/property/display-name", "addDisplayName", 0);
+        digester.addCallMethod("faces-config/behavior/property/icon", "addIcon", 0);
+        digester.addCallMethod("faces-config/behavior/property/property-name", "setPropertyName", 0);
+        digester.addCallMethod("faces-config/behavior/property/property-class", "setPropertyClass", 0);
+        digester.addCallMethod("faces-config/behavior/property/default-value", "setDefaultValue", 0);
+        digester.addCallMethod("faces-config/behavior/property/suggested-value", "setSuggestedValue", 0);
+        digester.addCallMethod("faces-config/behavior/property/property-extension", "addPropertyExtension", 0);
+        // 2.0 behavior end
+        
         digester.addCallMethod("faces-config/lifecycle/phase-listener", "addLifecyclePhaseListener", 0);
 
         digester.addCallMethod("faces-config/validator", "addValidator", 2);
         digester.addCallParam("faces-config/validator/validator-id", 0);
         digester.addCallParam("faces-config/validator/validator-class", 1);
-        
-        // 2.0 specific start
-        digester.addObjectCreate ("faces-config/behavior", Behavior.class);
-        digester.addSetNext ("faces-config/behavior", "addBehavior");
-        digester.addCallMethod ("faces-config/behavior/behavior-class", "setBehaviorClass", 0);
-        digester.addCallMethod ("faces-config/behavior/behavior-id", "setBehaviorId", 0);
-        // 2.0 specific end
     }
 
     public FacesConfig getFacesConfig(InputStream in, String systemId) throws IOException, SAXException

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Application.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Application.java?rev=791932&r1=791931&r2=791932&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Application.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Application.java Tue Jul  7 18:30:11 2009
@@ -29,8 +29,10 @@
 
     private final List<String> actionListener = new ArrayList<String>();
     private final List<String> defaultRenderkitId = new ArrayList<String>();
+    private final List<String> defaultValidatorIds = new ArrayList<String>();
     private final List<String> messageBundle = new ArrayList<String>();
     private final List<String> navigationHandler = new ArrayList<String>();
+    private final List<String> partialTraversal = new ArrayList<String>();
     private final List<String> resourceHandler = new ArrayList<String>();
     private final List<String> viewHandler = new ArrayList<String>();
     private final List<String> stateManager = new ArrayList<String>();
@@ -39,7 +41,7 @@
     private final List<LocaleConfig> localeConfig = new ArrayList<LocaleConfig>();
     private final List<String> elResolver = new ArrayList<String>();
     private final List<ResourceBundle> resourceBundle = new ArrayList<ResourceBundle>();
-    private final List<SystemEventListener> systemEventListener = new ArrayList<SystemEventListener>();
+    private final List<SystemEventListener> systemEventListeners = new ArrayList<SystemEventListener>();
     
     public void addActionListener(String listener)
     {
@@ -50,7 +52,12 @@
     {
         defaultRenderkitId.add(id);
     }
-
+    
+    public void addDefaultValidatorId (String id)
+    {
+        defaultValidatorIds.add (id);
+    }
+    
     public void addMessageBundle(String bundle)
     {
         messageBundle.add(bundle);
@@ -60,12 +67,22 @@
     {
         navigationHandler.add(handler);
     }
-
+    
+    public void addPartialTraversal (String traversal)
+    {
+        partialTraversal.add (traversal);
+    }
+    
     public void addStateManager(String manager)
     {
         stateManager.add(manager);
     }
-
+    
+    public void addSystemEventListener (SystemEventListener systemEventListener)
+    {
+        systemEventListeners.add (systemEventListener);
+    }
+    
     public void addPropertyResolver(String resolver)
     {
         propertyResolver.add(resolver);
@@ -101,11 +118,6 @@
         resourceBundle.add(bundle);
     }
 
-    public void addSystemEventListener(SystemEventListener listener)
-    {
-        systemEventListener.add(listener);
-    }
-    
     public List<String> getActionListener()
     {
         return actionListener;
@@ -115,7 +127,12 @@
     {
         return defaultRenderkitId;
     }
-
+    
+    public List<String> getDefaultValidatorIds()
+    {
+        return defaultValidatorIds;
+    }
+    
     public List<String> getMessageBundle()
     {
         return messageBundle;
@@ -125,12 +142,22 @@
     {
         return navigationHandler;
     }
-
+    
+    public List<String> getPartialTraversal ()
+    {
+        return partialTraversal;
+    }
+    
     public List<String> getResourceHandler()
     {
         return resourceHandler;
     }
-
+    
+    public List<SystemEventListener> getSystemEventListeners ()
+    {
+        return systemEventListeners;
+    }
+    
     public List<String> getViewHandler()
     {
         return viewHandler;
@@ -165,9 +192,4 @@
     {
         return resourceBundle;
     }
-
-    public List<SystemEventListener> getSystemEventListener()
-    {
-        return systemEventListener;
-    }
 }

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Behavior.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Behavior.java?rev=791932&r1=791931&r2=791932&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Behavior.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Behavior.java Tue Jul  7 18:30:11 2009
@@ -18,6 +18,9 @@
  */
 package org.apache.myfaces.config.impl.digester.elements;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
 /**
  * Implementation of model for <behavior> element.
  */
@@ -27,6 +30,11 @@
     private String behaviorClass;
     private String behaviorId;
     
+    private List<Attribute> attributes = new ArrayList<Attribute>();
+    private List<Property> properties = new ArrayList<Property>();
+    // TODO: what about extensions and descriptionGroup elems?  Not addressed in other
+    // config objects either.
+
     public String getBehaviorClass()
     {
         return this.behaviorClass;
@@ -46,4 +54,24 @@
     {
         this.behaviorId = behaviorId;
     }
+    
+    public Collection<Attribute> getAttributes ()
+    {
+        return attributes;
+    }
+
+    public void addAttribute (Attribute attribute)
+    {
+        attributes.add (attribute);
+    }
+
+    public Collection<Property> getProperties ()
+    {
+        return properties;
+    }
+    
+    public void addProperty (Property property)
+    {
+        properties.add (property);
+    }
 }

Added: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/ClientBehaviorRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/ClientBehaviorRenderer.java?rev=791932&view=auto
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/ClientBehaviorRenderer.java (added)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/ClientBehaviorRenderer.java Tue Jul  7 18:30:11 2009
@@ -0,0 +1,49 @@
+/*
+ * 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 org.apache.myfaces.config.impl.digester.elements;
+
+/**
+ * Config holder for <client-behavior-renderer> element.
+ */
+
+public class ClientBehaviorRenderer implements org.apache.myfaces.config.element.ClientBehaviorRenderer
+{
+    private String rendererType;
+    private String rendererClass;
+    
+    public String getRendererClass ()
+    {
+        return rendererClass;
+    }
+    
+    public String getRendererType ()
+    {
+        return rendererType;
+    }
+    
+    public void setRendererClass (String clazz)
+    {
+        rendererClass = clazz;
+    }
+    
+    public void setRendererType (String type)
+    {
+        rendererType = type;
+    }
+}

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/RenderKit.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/RenderKit.java?rev=791932&r1=791931&r2=791932&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/RenderKit.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/RenderKit.java Tue Jul  7 18:30:11 2009
@@ -30,7 +30,8 @@
     private String id;
     private String renderKitClass;
     private List<org.apache.myfaces.config.element.Renderer> renderer = new ArrayList<org.apache.myfaces.config.element.Renderer>();
-
+    private List<org.apache.myfaces.config.element.ClientBehaviorRenderer> clientBehaviorRenderers = new ArrayList<org.apache.myfaces.config.element.ClientBehaviorRenderer>();
+    
     public String getId()
     {
         return id;
@@ -45,17 +46,27 @@
     {
         return renderKitClass;
     }
-
+    
     public void setRenderKitClass(String renderKitClass)
     {
         this.renderKitClass = renderKitClass;
     }
-
+    
+    public List<org.apache.myfaces.config.element.ClientBehaviorRenderer> getClientBehaviorRenderers ()
+    {
+        return clientBehaviorRenderers;
+    }
+    
     public List<org.apache.myfaces.config.element.Renderer> getRenderer()
     {
         return renderer;
     }
 
+    public void addClientBehaviorRenderer (org.apache.myfaces.config.element.ClientBehaviorRenderer renderer)
+    {
+        clientBehaviorRenderers.add (renderer);   
+    }
+    
     public void addRenderer(org.apache.myfaces.config.element.Renderer value)
     {
         renderer.add(value);
@@ -63,6 +74,7 @@
 
     public void merge(RenderKit renderKit)
     {
+        clientBehaviorRenderers.addAll (renderKit.getClientBehaviorRenderers());
         renderer.addAll(renderKit.getRenderer());
     }
 

Modified: myfaces/core/branches/2_0_0/impl/src/main/resources/org/apache/myfaces/resource/web-facesconfig_2_0.xsd
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/resources/org/apache/myfaces/resource/web-facesconfig_2_0.xsd?rev=791932&r1=791931&r2=791932&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/resources/org/apache/myfaces/resource/web-facesconfig_2_0.xsd (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/resources/org/apache/myfaces/resource/web-facesconfig_2_0.xsd Tue Jul  7 18:30:11 2009
@@ -65,6 +65,7 @@
             <xsd:element name="render-kit" type="javaee:faces-config-render-kitType"/>
             <xsd:element name="lifecycle" type="javaee:faces-config-lifecycleType"/>
             <xsd:element name="validator" type="javaee:faces-config-validatorType"/>
+            <xsd:element name="behavior" type="faces-config-behaviorType"/>
             <xsd:element maxOccurs="unbounded" minOccurs="0" name="faces-config-extension"
                 type="javaee:faces-config-extensionType"/>
         </xsd:choice>
@@ -95,6 +96,9 @@
             <xsd:element name="locale-config" type="javaee:faces-config-locale-configType"/>
             <xsd:element name="resource-bundle"
                 type="javaee:faces-config-application-resource-bundleType"/>
+            <xsd:element name="default-validators" type="javaee:faces-config-default-validatorsType"/>
+            <xsd:element name="partial-traversal" type="javaee:fully-qualified-classType"/>
+            <xsd:element name="system-event-listener" type="javaee:faces-config-system-event-listenerType"/>
             <xsd:element maxOccurs="unbounded" minOccurs="0" name="application-extension"
                 type="javaee:faces-config-application-extensionType"/>
         </xsd:choice>
@@ -149,6 +153,7 @@
             <xsd:element name="partial-view-context-factory" type="javaee:fully-qualified-classType"/>
             <xsd:element name="lifecycle-factory" type="javaee:fully-qualified-classType"/>
             <xsd:element name="render-kit-factory" type="javaee:fully-qualified-classType"/>
+            <xsd:element name="view-declaration-language-factory" type="javaee:fully-qualified-classType"/>
             <xsd:element maxOccurs="unbounded" minOccurs="0" name="factory-extension"
                 type="javaee:faces-config-factory-extensionType"/>
         </xsd:choice>
@@ -470,6 +475,8 @@
                 type="javaee:fully-qualified-classType"/>
             <xsd:element maxOccurs="unbounded" minOccurs="0" name="renderer"
                 type="javaee:faces-config-rendererType"/>
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="client-behavior-renderer"
+                type="javaee:faces-config-client-behavior-rendererType"/>
             <xsd:element maxOccurs="unbounded" minOccurs="0" name="render-kit-extension"
                 type="javaee:faces-config-render-kit-extensionType"/>
         </xsd:sequence>
@@ -564,6 +571,55 @@
         <xsd:attribute name="id" type="xsd:ID"/>
     </xsd:complexType>
 
+    <xsd:complexType name="faces-config-default-validatorsType">
+        <xsd:sequence>
+            <xsd:element name="validator-id" type="javaee:string" minOccurs="0"
+                maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="faces-config-system-event-listenerType">
+        <xsd:sequence>
+            <xsd:element name="system-event-listener-class"
+                type="javaee:fully-qualified-classType"/>
+            <xsd:element name="system-event-class"
+                type="javaee:fully-qualified-classType"/>
+            <xsd:element name="source-class"
+                type="javaee:fully-qualified-classType"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="faces-config-behaviorType">
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="behavior-id" type="javaee:string"/>
+            <xsd:element name="behavior-class" type="javaee:fully-qualified-classType"/>
+            <xsd:element name="attribute" type="javaee:faces-config-attributeType" 
+                minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="property" type="javaee:faces-config-propertyType" 
+                minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="extension" type="javaee:faces-config-behavior-extensionType" 
+                minOccurs="0" maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="faces-config-behavior-extensionType">
+        <xsd:sequence>
+            <xsd:any namespace="##any" processContents="lax" minOccurs="0"
+                maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="faces-config-client-behavior-rendererType">
+        <xsd:sequence>
+            <xsd:element name="client-behavior-renderer-type" type="javaee:string"/>
+            <xsd:element name="client-behavior-renderer-class" type="javaee:fully-qualified-classType"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
     <xsd:simpleType name="faces-config-versionType">
         <xsd:restriction base="xsd:token">
             <xsd:enumeration value="1.2"/>