You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shale.apache.org by cr...@apache.org on 2006/10/11 23:30:03 UTC

svn commit: r462964 - in /shale/framework/trunk: shale-core/src/main/java/org/apache/shale/util/ shale-validator/src/main/java/org/apache/shale/validator/faces/

Author: craigmcc
Date: Wed Oct 11 14:30:03 2006
New Revision: 462964

URL: http://svn.apache.org/viewvc?view=rev&rev=462964
Log:
Remove dependency on a method that was removed in JSF 1.2.  Patch based on
the one supplied by Reind, but cleaned up a bit to avoid more checkstyle
warnings.

SHALE-305

Modified:
    shale/framework/trunk/shale-core/src/main/java/org/apache/shale/util/Tags.java
    shale/framework/trunk/shale-validator/src/main/java/org/apache/shale/validator/faces/ValidatorInputRenderer.java
    shale/framework/trunk/shale-validator/src/main/java/org/apache/shale/validator/faces/ValidatorScript.java

Modified: shale/framework/trunk/shale-core/src/main/java/org/apache/shale/util/Tags.java
URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-core/src/main/java/org/apache/shale/util/Tags.java?view=diff&rev=462964&r1=462963&r2=462964
==============================================================================
--- shale/framework/trunk/shale-core/src/main/java/org/apache/shale/util/Tags.java (original)
+++ shale/framework/trunk/shale-core/src/main/java/org/apache/shale/util/Tags.java Wed Oct 11 14:30:03 2006
@@ -24,7 +24,6 @@
 import javax.faces.el.ValueBinding;
 import javax.faces.event.ActionEvent;
 import javax.faces.event.ValueChangeEvent;
-import javax.faces.webapp.UIComponentTag;
 
 /**
  * <p>A utility class for JSF tags. An instance of this class is
@@ -62,7 +61,7 @@
         if (attributeValue == null) {
             return;
         }
-        if (UIComponentTag.isValueReference(attributeValue)) {
+        if (isValueReference(attributeValue)) {
             setValueBinding(component, attributeName, attributeValue);
         } else {
             component.getAttributes().put(attributeName, attributeValue);
@@ -88,7 +87,7 @@
         if (attributeValue == null) {
             return;
         }
-        if (UIComponentTag.isValueReference(attributeValue)) {
+        if (isValueReference(attributeValue)) {
             setValueBinding(component, attributeName, attributeValue);
         } else {
             component.getAttributes().put(attributeName,
@@ -115,7 +114,7 @@
         if (attributeValue == null) {
             return;
         }
-        if (UIComponentTag.isValueReference(attributeValue)) {
+        if (isValueReference(attributeValue)) {
             setValueBinding(component, attributeName, attributeValue);
         } else {
             component.getAttributes().put(attributeName,
@@ -142,7 +141,7 @@
         if (attributeValue == null) {
             return;
         }
-        if (UIComponentTag.isValueReference(attributeValue)) {
+        if (isValueReference(attributeValue)) {
             setValueBinding(component, attributeName, attributeValue);
         } else {
             component.getAttributes().put(attributeName,
@@ -229,7 +228,7 @@
         if (attributeValue == null) {
             return;
         }
-        if (UIComponentTag.isValueReference(attributeValue)) {
+        if (isValueReference(attributeValue)) {
             setMethodBinding(component, "action", attributeValue,
                     new Class[] {});
         } else {
@@ -260,7 +259,7 @@
         if (attributeValue == null) {
             return;
         }
-        if (UIComponentTag.isValueReference(attributeValue)) {
+        if (isValueReference(attributeValue)) {
             FacesContext context = FacesContext.getCurrentInstance();
             Application app = context.getApplication();
             MethodBinding mb = app.createMethodBinding(attributeValue, paramTypes);
@@ -280,7 +279,7 @@
         if (expression == null) {
             return null;
         }
-        if (UIComponentTag.isValueReference(expression)) {
+        if (isValueReference(expression)) {
             FacesContext context = FacesContext.getCurrentInstance();
             Application app = context.getApplication();
             return app.createValueBinding(expression).getValue(context);
@@ -301,7 +300,7 @@
         if (expression == null) {
             return null;
         }
-        if (UIComponentTag.isValueReference(expression)) {
+        if (isValueReference(expression)) {
             FacesContext context = FacesContext.getCurrentInstance();
             Application app = context.getApplication();
             return "" + app.createValueBinding(expression).getValue(context);
@@ -320,7 +319,7 @@
         if (expression == null) {
             return null;
         }
-        if (UIComponentTag.isValueReference(expression)) {
+        if (isValueReference(expression)) {
             FacesContext context = FacesContext.getCurrentInstance();
             Application app = context.getApplication();
             Object r = app.createValueBinding(expression).getValue(context);
@@ -346,7 +345,7 @@
         if (expression == null) {
             return null;
         }
-        if (UIComponentTag.isValueReference(expression)) {
+        if (isValueReference(expression)) {
             FacesContext context = FacesContext.getCurrentInstance();
             Application app = context.getApplication();
             Object r = app.createValueBinding(expression).getValue(context);
@@ -372,7 +371,7 @@
         if (expression == null) {
             return null;
         }
-        if (UIComponentTag.isValueReference(expression)) {
+        if (isValueReference(expression)) {
             FacesContext context = FacesContext.getCurrentInstance();
             Application app = context.getApplication();
             Object r = app.createValueBinding(expression).getValue(context);
@@ -404,5 +403,30 @@
         public String getExpressionString() { return result; }
         public Class getType(FacesContext context) { return String.class; }
     }
+
+
+    /**
+     * <p>Return true if the specified string contains an EL expression.</p>
+     * 
+     * <p>This is taken almost verbatim from {@link javax.faces.webapp.UIComponentTag}
+     * in order to remove JSP dependencies from the renderers.</p>
+     *
+     * @param value String to be checked for being an expression
+     */
+    private 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: shale/framework/trunk/shale-validator/src/main/java/org/apache/shale/validator/faces/ValidatorInputRenderer.java
URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-validator/src/main/java/org/apache/shale/validator/faces/ValidatorInputRenderer.java?view=diff&rev=462964&r1=462963&r2=462964
==============================================================================
--- shale/framework/trunk/shale-validator/src/main/java/org/apache/shale/validator/faces/ValidatorInputRenderer.java (original)
+++ shale/framework/trunk/shale-validator/src/main/java/org/apache/shale/validator/faces/ValidatorInputRenderer.java Wed Oct 11 14:30:03 2006
@@ -26,7 +26,6 @@
 import javax.faces.convert.ConverterException;
 import javax.faces.render.Renderer;
 import javax.faces.validator.Validator;
-import javax.faces.webapp.UIComponentTag;
 import org.apache.shale.util.Tags;
 import org.apache.shale.validator.CommonsValidator;
 
@@ -139,7 +138,7 @@
                           Map.Entry e = (Map.Entry) vi.next();
                           // only override if the var contains a value binding expression
                           if (e.getValue() != null && e.getValue() instanceof String
-                              && UIComponentTag.isValueReference((String) e.getValue())) {
+                              && isValueReference((String) e.getValue())) {
 
                              localVars.put(e.getKey(), tagUtils.eval((String) e.getValue()));
 
@@ -177,6 +176,30 @@
     /** {@inheritDoc} */
     public boolean getRendersChildren() {
         return defaultRenderer.getRendersChildren();
+    }
+
+
+    /**
+     * <p>Return true if the specified string contains an EL expression.</p>
+     * 
+     * <p>This is taken almost verbatim from {@link javax.faces.webapp.UIComponentTag}
+     * in order to remove JSP dependencies from the renderers.</p>
+     *
+     * @param value String to be checked for being an expression
+     */
+    private 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: shale/framework/trunk/shale-validator/src/main/java/org/apache/shale/validator/faces/ValidatorScript.java
URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-validator/src/main/java/org/apache/shale/validator/faces/ValidatorScript.java?view=diff&rev=462964&r1=462963&r2=462964
==============================================================================
--- shale/framework/trunk/shale-validator/src/main/java/org/apache/shale/validator/faces/ValidatorScript.java (original)
+++ shale/framework/trunk/shale-validator/src/main/java/org/apache/shale/validator/faces/ValidatorScript.java Wed Oct 11 14:30:03 2006
@@ -31,7 +31,6 @@
 import javax.faces.context.FacesContext;
 import javax.faces.context.ResponseWriter;
 import javax.faces.el.ValueBinding;
-import javax.faces.webapp.UIComponentTag;
 import org.apache.commons.validator.ValidatorAction;
 import org.apache.commons.validator.Var;
 import org.apache.shale.util.Tags;
@@ -570,7 +569,7 @@
              }
          } else {
             if (value != null && value instanceof String
-                && UIComponentTag.isValueReference((String) e.getValue())) {
+                && isValueReference((String) e.getValue())) {
 
                 value = tagUtils.eval((String) e.getValue());
             }
@@ -652,4 +651,30 @@
       writeValidationFunctions(writer, context);
       writeScriptEnd(writer);
    }
+
+
+    /**
+     * <p>Return true if the specified string contains an EL expression.</p>
+     * 
+     * <p>This is taken almost verbatim from {@link javax.faces.webapp.UIComponentTag}
+     * in order to remove JSP dependencies from the renderers.</p>
+     *
+     * @param value String to be checked for being an expression
+     */
+    private 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);
+    }
+
+
 }