You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mk...@apache.org on 2006/08/16 03:28:24 UTC

svn commit: r431761 - in /myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu: ./ htmlnavmenu/ jscookmenu/

Author: mkienenb
Date: Tue Aug 15 18:28:23 2006
New Revision: 431761

URL: http://svn.apache.org/viewvc?rev=431761&view=rev
Log:
TOMAHAWK-589 - Remove JSP dependency from navmenu renderers.
Thanks to Ryan Lubke for the patch.

Modified:
    myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/NavigationMenuUtils.java
    myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/htmlnavmenu/HtmlNavigationMenuRenderer.java
    myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/htmlnavmenu/HtmlNavigationMenuRendererUtils.java
    myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/jscookmenu/HtmlJSCookMenuRenderer.java

Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/NavigationMenuUtils.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/NavigationMenuUtils.java?rev=431761&r1=431760&r2=431761&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/NavigationMenuUtils.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/NavigationMenuUtils.java Tue Aug 15 18:28:23 2006
@@ -153,5 +153,23 @@
             throw new IllegalArgumentException("Value binding of UINavigationMenuItems with id " + child.getClientId(facesContext) + " does not reference an Object of type NavigationMenuItem, NavigationMenuItem[], Collection or Map");
         }
     }
+    
+    
+    /**
+     * Return true if the specified string contains an EL expression.
+     * <p>
+     * This is taken almost verbatim from {@link javax.faces.webapp.UIComponentTag}
+     * in order to remove JSP dependencies from the renderers.
+     */
+    public static boolean isValueReference(String value)
+    {
+        if (value == null) return false;
+
+        int start = value.indexOf("#{");
+        if (start < 0) return false;
+
+        int end = value.lastIndexOf('}');
+        return (end >=0 && start < end);
+    }
 
 }

Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/htmlnavmenu/HtmlNavigationMenuRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/htmlnavmenu/HtmlNavigationMenuRenderer.java?rev=431761&r1=431760&r2=431761&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/htmlnavmenu/HtmlNavigationMenuRenderer.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/htmlnavmenu/HtmlNavigationMenuRenderer.java Tue Aug 15 18:28:23 2006
@@ -415,7 +415,7 @@
             uiGraphic.getClientId(facesContext);
             newItem.getChildren().add(uiGraphic);
             uiGraphic.setParent(newItem);
-            if (HtmlNavigationMenuRendererUtils.isValueReference(uiNavMenuItem.getIcon())) {
+            if (NavigationMenuUtils.isValueReference(uiNavMenuItem.getIcon())) {
                 uiGraphic.setValueBinding("value",
                                           facesContext.getApplication().createValueBinding(uiNavMenuItem.getIcon()));
             }
@@ -432,7 +432,7 @@
             newItem.getChildren().add(uiOutput);
             uiOutput.setParent(newItem);
             if (uiNavMenuItem.getItemLabel() != null) {
-                if (HtmlNavigationMenuRendererUtils.isValueReference(uiNavMenuItem.getItemLabel())) {
+                if (NavigationMenuUtils.isValueReference(uiNavMenuItem.getItemLabel())) {
                     uiOutput.setValueBinding("value",
                                              facesContext.getApplication().createValueBinding(uiNavMenuItem.getItemLabel()));
                 }
@@ -443,7 +443,7 @@
             else {
                 Object value = uiNavMenuItem.getValue();
                 if (value != null &&
-                    HtmlNavigationMenuRendererUtils.isValueReference(value.toString())) {
+                    NavigationMenuUtils.isValueReference(value.toString())) {
                     uiOutput.setValueBinding("value",
                                              facesContext.getApplication().createValueBinding(value.toString()));
                 }

Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/htmlnavmenu/HtmlNavigationMenuRendererUtils.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/htmlnavmenu/HtmlNavigationMenuRendererUtils.java?rev=431761&r1=431760&r2=431761&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/htmlnavmenu/HtmlNavigationMenuRendererUtils.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/htmlnavmenu/HtmlNavigationMenuRendererUtils.java Tue Aug 15 18:28:23 2006
@@ -19,6 +19,7 @@
 import org.apache.myfaces.shared_tomahawk.renderkit.html.HTML;
 import org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils;
 import org.apache.myfaces.custom.navmenu.UINavigationMenuItem;
+import org.apache.myfaces.custom.navmenu.NavigationMenuUtils;
 import org.apache.myfaces.shared_tomahawk.el.SimpleActionMethodBinding;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -320,7 +321,7 @@
 
     public static MethodBinding getMethodBinding(FacesContext facesContext, String value, boolean actionListener) {
         MethodBinding mb;
-        if (HtmlNavigationMenuRendererUtils.isValueReference(value)) {
+        if (NavigationMenuUtils.isValueReference(value)) {
             mb = facesContext.getApplication().createMethodBinding(value, actionListener ? ACTION_LISTENER_ARGS : null);
         }
         else {
@@ -338,7 +339,7 @@
     public static void setAttributeValue(FacesContext facesContext, UIComponent comp, String attribute, String value) {
         if (value == null)
             return;
-        if (HtmlNavigationMenuRendererUtils.isValueReference(value)) {
+        if (NavigationMenuUtils.isValueReference(value)) {
             ValueBinding vb = facesContext.getApplication().createValueBinding(value);
             comp.setValueBinding(attribute, vb);
         }
@@ -346,10 +347,5 @@
             comp.getAttributes().put(attribute, value);
         }
     }
-
-    public static boolean isValueReference(String value) {
-        if (value == null)
-            return false;
-        return UIComponentTag.isValueReference(value);
-    }
+   
 }

Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/jscookmenu/HtmlJSCookMenuRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/jscookmenu/HtmlJSCookMenuRenderer.java?rev=431761&r1=431760&r2=431761&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/jscookmenu/HtmlJSCookMenuRenderer.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/navmenu/jscookmenu/HtmlJSCookMenuRenderer.java Tue Aug 15 18:28:23 2006
@@ -93,7 +93,7 @@
                         action  = action.substring(2, action.length());
                         action = decodeValueBinding(action, context);
                         MethodBinding mb;
-                        if (UIComponentTag.isValueReference(action)) {
+                        if (NavigationMenuUtils.isValueReference(action)) {
                             mb = context.getApplication().createMethodBinding(action, null);
                         }
                         else {
@@ -111,7 +111,7 @@
                             ((HtmlCommandJSCookMenu)component).setValue(value);
                         }
                         MethodBinding mb;
-                        if (UIComponentTag.isValueReference(action)) {
+                        if (NavigationMenuUtils.isValueReference(action)) {
                             mb = context.getApplication().createMethodBinding(action, ACTION_LISTENER_ARGS);
                             ((HtmlCommandJSCookMenu)component).setActionListener(mb);
                             if (value != null)
@@ -322,7 +322,7 @@
             str = value.toString();
         }
 
-        if(UIComponentTag.isValueReference(str))
+        if(NavigationMenuUtils.isValueReference(str))
         {
             value = facesContext.getApplication().createValueBinding(str).getValue(facesContext);