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 2010/05/10 21:12:07 UTC
svn commit: r942853 - in
/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf:
BehaviorTagHandlerDelegate.java core/AjaxHandler.java
Author: lu4242
Date: Mon May 10 19:12:07 2010
New Revision: 942853
URL: http://svn.apache.org/viewvc?rev=942853&view=rev
Log:
MYFACES-2687 Make sure jsf.js is included if client behaviors are rendered
Modified:
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/BehaviorTagHandlerDelegate.java
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/AjaxHandler.java
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/BehaviorTagHandlerDelegate.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/BehaviorTagHandlerDelegate.java?rev=942853&r1=942852&r2=942853&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/BehaviorTagHandlerDelegate.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/BehaviorTagHandlerDelegate.java Mon May 10 19:12:07 2010
@@ -32,11 +32,13 @@ import javax.faces.view.facelets.Compone
import javax.faces.view.facelets.FaceletContext;
import javax.faces.view.facelets.MetaRuleset;
import javax.faces.view.facelets.TagAttribute;
+import javax.faces.view.facelets.TagAttributeException;
import javax.faces.view.facelets.TagException;
import javax.faces.view.facelets.TagHandlerDelegate;
import org.apache.myfaces.view.facelets.tag.MetaRulesetImpl;
import org.apache.myfaces.view.facelets.tag.composite.CompositeComponentResourceTagHandler;
+import org.apache.myfaces.view.facelets.tag.jsf.core.AjaxHandler;
/**
* @author Leonardo Uribe (latest modification by $Author$)
@@ -158,7 +160,20 @@ public class BehaviorTagHandlerDelegate
{
eventName = cvh.getDefaultEventName();
}
- cvh.addClientBehavior(eventName, (ClientBehavior) behavior);
+ if (eventName == null)
+ {
+ throw new TagAttributeException(_delegate.getEvent(), "eventName could not be defined for client behavior "+ behavior.toString());
+ }
+ else if (!cvh.getEventNames().contains(eventName))
+ {
+ throw new TagAttributeException(_delegate.getEvent(), "eventName "+eventName+" not found on component instance");
+ }
+ else
+ {
+ cvh.addClientBehavior(eventName, (ClientBehavior) behavior);
+ }
+
+ AjaxHandler.registerJsfAjaxDefaultResource(faceletContext, parent);
}
}
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/AjaxHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/AjaxHandler.java?rev=942853&r1=942852&r2=942853&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/AjaxHandler.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/AjaxHandler.java Mon May 10 19:12:07 2010
@@ -222,6 +222,11 @@ public class AjaxHandler extends TagHand
}
}
+ registerJsfAjaxDefaultResource(ctx, parent);
+ }
+
+ public static void registerJsfAjaxDefaultResource(FaceletContext ctx, UIComponent parent)
+ {
// Register the standard ajax library on the current page in this way:
//
// <h:outputScript name="jsf.js" library="javax.faces" target="head"/>