You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2011/05/19 02:51:57 UTC

svn commit: r1124482 - in /myfaces/core/trunk: ./ api/src/main/java/javax/faces/component/ impl/src/main/java/org/apache/myfaces/application/ impl/src/main/java/org/apache/myfaces/config/ impl/src/main/java/org/apache/myfaces/view/facelets/ impl/src/ma...

Author: lu4242
Date: Thu May 19 00:51:56 2011
New Revision: 1124482

URL: http://svn.apache.org/viewvc?rev=1124482&view=rev
Log:
merge revisions from 2.0.x branch

Added:
    myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/application/ResourceHandlerImplTest.java
      - copied unchanged from r1098581, myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/application/ResourceHandlerImplTest.java
    myfaces/core/trunk/impl/src/test/resources/META-INF/resources/
      - copied from r1098581, myfaces/core/trunk/impl/src/test/resources/META-INF/resources/
    myfaces/core/trunk/impl/src/test/resources/META-INF/resources/en/
      - copied from r1098581, myfaces/core/trunk/impl/src/test/resources/META-INF/resources/en/
    myfaces/core/trunk/impl/src/test/resources/META-INF/resources/en/testResource.xhtml
      - copied unchanged from r1098581, myfaces/core/trunk/impl/src/test/resources/META-INF/resources/en/testResource.xhtml
    myfaces/core/trunk/impl/src/test/resources/META-INF/resources/testResource.xhtml
      - copied unchanged from r1098581, myfaces/core/trunk/impl/src/test/resources/META-INF/resources/testResource.xhtml
    myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/application/resourcehandler/
      - copied from r1098581, myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/application/resourcehandler/
    myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/application/resourcehandler/messages_de.properties
      - copied unchanged from r1098581, myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/application/resourcehandler/messages_de.properties
    myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/application/resourcehandler/messages_en.properties
      - copied unchanged from r1098581, myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/application/resourcehandler/messages_en.properties
Modified:
    myfaces/core/trunk/   (props changed)
    myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java
    myfaces/core/trunk/api/src/main/java/javax/faces/component/UIData.java
    myfaces/core/trunk/api/src/main/java/javax/faces/component/UIForm.java
    myfaces/core/trunk/api/src/main/java/javax/faces/component/UIInput.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/ResourceHandlerImpl.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/DefaultFacesConfigurationMerger.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
    myfaces/core/trunk/impl/src/main/resources/META-INF/faces-config20.vm   (props changed)

Propchange: myfaces/core/trunk/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Thu May 19 00:51:56 2011
@@ -9,4 +9,6 @@
 derby.log
 maven-eclipse.xml
 myfacesOrchestraDB
+.project
+.settings
 target

Propchange: myfaces/core/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May 19 00:51:56 2011
@@ -1,2 +1,4 @@
 /myfaces/core/branches/1.2.x:792657-823343,825575-833926,881094-925224,938283-940134
+/myfaces/core/branches/2.0.x:1098582-1124475
+/myfaces/core/trunk:1085607-1098581
 /myfaces/core/trunk_1.2.x:691297-695050,698037-743106,752296-779418,779422-792656

Modified: myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java?rev=1124482&r1=1124481&r2=1124482&view=diff
==============================================================================
--- myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java (original)
+++ myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java Thu May 19 00:51:56 2011
@@ -198,7 +198,7 @@ public abstract class UIComponentBase ex
     private static void _publishPostAddToViewEvent(FacesContext context, UIComponent component)
     {
         component.setInView(true);
-        context.getApplication().publishEvent(context, PostAddToViewEvent.class, UIComponent.class, component);
+        context.getApplication().publishEvent(context, PostAddToViewEvent.class, component.getClass(), component);
         
         if (component.getChildCount() > 0)
         {
@@ -244,7 +244,7 @@ public abstract class UIComponentBase ex
     private static void _publishPreRemoveFromViewEvent(FacesContext context, UIComponent component)
     {
         component.setInView(false);
-        context.getApplication().publishEvent(context, PreRemoveFromViewEvent.class, UIComponent.class, component);
+        context.getApplication().publishEvent(context, PreRemoveFromViewEvent.class, component.getClass(), component);
         
         if (component.getChildCount() > 0)
         {

Modified: myfaces/core/trunk/api/src/main/java/javax/faces/component/UIData.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/UIData.java?rev=1124482&r1=1124481&r2=1124482&view=diff
==============================================================================
--- myfaces/core/trunk/api/src/main/java/javax/faces/component/UIData.java (original)
+++ myfaces/core/trunk/api/src/main/java/javax/faces/component/UIData.java Thu May 19 00:51:56 2011
@@ -338,9 +338,12 @@ public class UIData extends UIComponentB
             }
     
             // Now Look throught facets on this UIComponent
-            for (Iterator<UIComponent> it = this.getFacets().values().iterator(); !returnValue && it.hasNext();)
+            if (this.getFacetCount() > 0)
             {
-                returnValue = it.next().invokeOnComponent(context, clientId, callback);
+                for (Iterator<UIComponent> it = this.getFacets().values().iterator(); !returnValue && it.hasNext();)
+                {
+                    returnValue = it.next().invokeOnComponent(context, clientId, callback);
+                }
             }
     
             if (returnValue)
@@ -1521,9 +1524,12 @@ public class UIData extends UIComponentB
 
     private void processFacets(FacesContext context, int processAction)
     {
-        for (UIComponent facet : getFacets().values())
+        if (this.getFacetCount() > 0)
         {
-            process(context, facet, processAction);
+            for (UIComponent facet : getFacets().values())
+            {
+                process(context, facet, processAction);
+            }
         }
     }
 
@@ -1548,9 +1554,12 @@ public class UIData extends UIComponentB
                     continue;
                 }
                 
-                for (UIComponent facet : child.getFacets().values())
+                if (child.getFacetCount() > 0)
                 {
-                    process(context, facet, processAction);
+                    for (UIComponent facet : child.getFacets().values())
+                    {
+                        process(context, facet, processAction);
+                    }
                 }
             }
         }

Modified: myfaces/core/trunk/api/src/main/java/javax/faces/component/UIForm.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/UIForm.java?rev=1124482&r1=1124481&r2=1124482&view=diff
==============================================================================
--- myfaces/core/trunk/api/src/main/java/javax/faces/component/UIForm.java (original)
+++ myfaces/core/trunk/api/src/main/java/javax/faces/component/UIForm.java Thu May 19 00:51:56 2011
@@ -18,19 +18,17 @@
  */
 package javax.faces.component;
 
-import java.util.Collection;
-import java.util.Iterator;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
 
 import javax.faces.component.visit.VisitCallback;
 import javax.faces.component.visit.VisitContext;
 import javax.faces.component.visit.VisitResult;
-import javax.faces.context.ExternalContext;
 import javax.faces.context.FacesContext;
 import javax.faces.event.PostValidateEvent;
 import javax.faces.event.PreValidateEvent;
-
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+import java.util.Collection;
+import java.util.Iterator;
 
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
@@ -141,7 +139,7 @@ public class UIForm extends UIComponentB
                     return;
 
                 //Pre validation event dispatch for component
-                context.getApplication().publishEvent(context,  PreValidateEvent.class, UIComponent.class, this);
+                context.getApplication().publishEvent(context,  PreValidateEvent.class, getClass(), this);
                 
                 for (Iterator<UIComponent> it = getFacetsAndChildren(); it.hasNext();)
                 {
@@ -150,7 +148,7 @@ public class UIForm extends UIComponentB
             }
             finally
             {
-                context.getApplication().publishEvent(context,  PostValidateEvent.class, UIComponent.class, this);
+                context.getApplication().publishEvent(context,  PostValidateEvent.class, getClass(), this);
                 popComponentFromEL(context);
             }
         }

Modified: myfaces/core/trunk/api/src/main/java/javax/faces/component/UIInput.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/UIInput.java?rev=1124482&r1=1124481&r2=1124482&view=diff
==============================================================================
--- myfaces/core/trunk/api/src/main/java/javax/faces/component/UIInput.java (original)
+++ myfaces/core/trunk/api/src/main/java/javax/faces/component/UIInput.java Thu May 19 00:51:56 2011
@@ -18,13 +18,10 @@
  */
 package javax.faces.component;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFListener;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFWebConfigParam;
 
 import javax.el.ValueExpression;
 import javax.faces.FacesException;
@@ -48,11 +45,13 @@ import javax.faces.event.ValueChangeList
 import javax.faces.render.Renderer;
 import javax.faces.validator.Validator;
 import javax.faces.webapp.FacesServlet;
-
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFListener;
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFWebConfigParam;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
 
 /**
  * UICommand is a base abstraction for components that implement ActionSource.
@@ -185,7 +184,7 @@ public class UIInput extends UIOutput im
                 {
                     pushComponentToEL(context, this);
                     //Pre validation event dispatch for component
-                    context.getApplication().publishEvent(context,  PreValidateEvent.class, UIComponent.class, this);
+                    context.getApplication().publishEvent(context,  PreValidateEvent.class, getClass(), this);
     
                     validate(context);
                 }
@@ -196,7 +195,7 @@ public class UIInput extends UIOutput im
                 }
                 finally
                 {
-                    context.getApplication().publishEvent(context,  PostValidateEvent.class, UIComponent.class, this);
+                    context.getApplication().publishEvent(context,  PostValidateEvent.class, getClass(), this);
                     popComponentFromEL(context);
                 }
                 if (!isValid())
@@ -242,7 +241,7 @@ public class UIInput extends UIOutput im
                 {
                     pushComponentToEL(context, this);
                     //Pre validation event dispatch for component
-                    context.getApplication().publishEvent(context,  PreValidateEvent.class, UIComponent.class, this);
+                    context.getApplication().publishEvent(context,  PreValidateEvent.class, getClass(), this);
     
                     validate(context);
                 }
@@ -253,7 +252,7 @@ public class UIInput extends UIOutput im
                 }
                 finally
                 {
-                    context.getApplication().publishEvent(context,  PostValidateEvent.class, UIComponent.class, this);
+                    context.getApplication().publishEvent(context,  PostValidateEvent.class, getClass(), this);
                     popComponentFromEL(context);
                 }
                 if (!isValid())

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java?rev=1124482&r1=1124481&r2=1124482&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java Thu May 19 00:51:56 2011
@@ -507,6 +507,12 @@ public class ApplicationImpl extends App
         {
             return;
         }
+
+        // spec: If this argument is null the return from source.getClass() must be used as the sourceBaseType. 
+        if (sourceBaseType == null)
+        {
+            sourceBaseType = source.getClass();
+        }
         
         try
         {

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/ResourceHandlerImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/ResourceHandlerImpl.java?rev=1124482&r1=1124481&r2=1124482&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/ResourceHandlerImpl.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/ResourceHandlerImpl.java Thu May 19 00:51:56 2011
@@ -90,27 +90,31 @@ public class ResourceHandlerImpl extends
             //Resolve contentType using ExternalContext.getMimeType
             contentType = FacesContext.getCurrentInstance().getExternalContext().getMimeType(resourceName);
         }
-        
-        if(getResourceLoaderCache().containsResource(resourceName, libraryName, contentType))
+
+        final String localePrefix = getLocalePrefixForLocateResource();
+
+        // check cache
+        if(getResourceLoaderCache().containsResource(resourceName, libraryName, contentType, localePrefix))
         {
-            ResourceValue resourceValue = getResourceLoaderCache().getResource(resourceName, libraryName, contentType);
+            ResourceValue resourceValue = getResourceLoaderCache().getResource(
+                    resourceName, libraryName, contentType, localePrefix);
+            
             resource = new ResourceImpl(resourceValue.getResourceMeta(), resourceValue.getResourceLoader(),
                     getResourceHandlerSupport(), contentType);
         }
         else
         {
-            for (ResourceLoader loader : getResourceHandlerSupport()
-                    .getResourceLoaders())
+            for (ResourceLoader loader : getResourceHandlerSupport().getResourceLoaders())
             {
-                ResourceMeta resourceMeta = deriveResourceMeta(loader,
-                        resourceName, libraryName);
+                ResourceMeta resourceMeta = deriveResourceMeta(loader, resourceName, libraryName, localePrefix);
     
                 if (resourceMeta != null)
                 {
-                    resource = new ResourceImpl(resourceMeta, loader,
-                            getResourceHandlerSupport(), contentType);
-                    
-                    getResourceLoaderCache().putResource(resourceName, libraryName, contentType, resourceMeta, loader);
+                    resource = new ResourceImpl(resourceMeta, loader, getResourceHandlerSupport(), contentType);
+
+                    // cache it
+                    getResourceLoaderCache().putResource(resourceName, libraryName, contentType,
+                            localePrefix, resourceMeta, loader);
                     break;
                 }
             }
@@ -126,9 +130,8 @@ public class ResourceHandlerImpl extends
      * next registered ResourceLoader. 
      */
     protected ResourceMeta deriveResourceMeta(ResourceLoader resourceLoader,
-            String resourceName, String libraryName)
+            String resourceName, String libraryName, String localePrefix)
     {
-        String localePrefix = getLocalePrefixForLocateResource();
         String resourceVersion = null;
         String libraryVersion = null;
         ResourceMeta resourceId = null;

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/DefaultFacesConfigurationMerger.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/DefaultFacesConfigurationMerger.java?rev=1124482&r1=1124481&r2=1124482&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/DefaultFacesConfigurationMerger.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/DefaultFacesConfigurationMerger.java Thu May 19 00:51:56 2011
@@ -108,7 +108,7 @@ public class DefaultFacesConfigurationMe
         orderAndFeedArtifacts(dispenser, appConfigResources, webAppFacesConfig);
 
         LogMetaInfUtils.logMetaInf();
-      
+
         return dispenser;
     }
 

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java?rev=1124482&r1=1124481&r2=1124482&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java Thu May 19 00:51:56 2011
@@ -534,7 +534,7 @@ public class FaceletViewDeclarationLangu
 
     private static void _publishPreRemoveFromViewEvent(FacesContext context, UIComponent component)
     {
-        context.getApplication().publishEvent(context, PreRemoveFromViewEvent.class, UIComponent.class, component);
+        context.getApplication().publishEvent(context, PreRemoveFromViewEvent.class, component.getClass(), component);
         
         if (component.getChildCount() > 0)
         {
@@ -554,7 +554,7 @@ public class FaceletViewDeclarationLangu
     
     public static void _publishPostBuildComponentTreeOnRestoreViewEvent(FacesContext context, UIComponent component)
     {
-        context.getApplication().publishEvent(context, PostBuildComponentTreeOnRestoreViewEvent.class, UIComponent.class, component);
+        context.getApplication().publishEvent(context, PostBuildComponentTreeOnRestoreViewEvent.class, component.getClass(), component);
         
         if (component.getChildCount() > 0)
         {

Propchange: myfaces/core/trunk/impl/src/main/resources/META-INF/faces-config20.vm
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May 19 00:51:56 2011
@@ -1 +1,3 @@
+/myfaces/core/branches/2.0.x/impl/src/main/resources/META-INF/faces-config20.vm:1098582-1124475
+/myfaces/core/trunk/impl/src/main/resources/META-INF/faces-config20.vm:1085607-1098581
 /myfaces/core/trunk_1.2.x/impl/src/main/resources/META-INF/faces-config12.vm:691297-695050