You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2008/08/01 18:28:09 UTC

svn commit: r681739 - in /myfaces/extensions/validator/trunk: core/src/main/java/org/apache/myfaces/extensions/validator/core/ core/src/main/java/org/apache/myfaces/extensions/validator/util/ validation-modules/property-validation/src/main/java/org/apa...

Author: gpetracek
Date: Fri Aug  1 09:28:08 2008
New Revision: 681739

URL: http://svn.apache.org/viewvc?rev=681739&view=rev
Log:
minor fix and refactoring

Modified:
    myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValConverter.java
    myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/ELUtils.java
    myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java
    myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCrossValidationStrategy.java

Modified: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValConverter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValConverter.java?rev=681739&r1=681738&r2=681739&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValConverter.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValConverter.java Fri Aug  1 09:28:08 2008
@@ -111,7 +111,7 @@
         }
 
         entry = new ProcessedInformationEntry();
-        entry.setBean(ELUtils.getBeanObject(valueBindingExpression, uiComponent));
+        entry.setBean(ELUtils.getBaseObject(valueBindingExpression, uiComponent));
         entry.setConvertedValue(convertedObject);
         entry.setComponent(uiComponent);
 

Modified: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/ELUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/ELUtils.java?rev=681739&r1=681738&r2=681739&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/ELUtils.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/ELUtils.java Fri Aug  1 09:28:08 2008
@@ -41,36 +41,41 @@
     }
 
     //TODO refactor - problem - static values - jsf 1.2 e.g.: ${value}
-    public static Object getBeanObject(String valueBindingExpression, UIComponent uiComponent) {
+    public static Object getBaseObject(String valueBindingExpression, UIComponent uiComponent) {
         if (valueBindingExpression.lastIndexOf(".") == -1) {
             return uiComponent.getValueExpression("value").getValue(FacesContext.getCurrentInstance().getELContext());
         }
-        return getBeanObject(valueBindingExpression);
+        return getBaseObject(valueBindingExpression);
     }
 
-    public static Object getBeanObject(String valueBindingExpression) {
+    public static Object getBaseObject(String valueBindingExpression) {
         String newExpression = valueBindingExpression.substring(0, valueBindingExpression.lastIndexOf(".")) + "}";
 
         return getValueOfExpression(FacesContext.getCurrentInstance(), newExpression);
     }
 
     public static Object getValueOfExpression(FacesContext facesContext, String valueBindingExpression) {
-        return (valueBindingExpression != null) ? facesContext.getApplication().createValueBinding(valueBindingExpression).getValue(facesContext) : null;
+        return (valueBindingExpression != null) ? facesContext.getApplication().evaluateExpressionGet(facesContext, valueBindingExpression, Object.class) : null;
     }
 
     public static boolean isExpressionValid(FacesContext facesContext, String valueBindingExpression) {
-        return facesContext.getApplication().createValueBinding(valueBindingExpression) != null;
+        try {
+            facesContext.getApplication().evaluateExpressionGet(facesContext, valueBindingExpression, Object.class);
+        } catch (Throwable t) {
+            return false;
+        }
+        return true;
     }
 
     public static String getReliableValueBindingExpression(UIComponent uiComponent) {
         String valueBindingExpression = getValueBindingExpression(uiComponent);
 
         String baseExpression = valueBindingExpression;
-        if(baseExpression.contains(".")) {
+        if (baseExpression.contains(".")) {
             baseExpression = baseExpression.substring(0, valueBindingExpression.lastIndexOf(".")) + "}";
         }
 
-        if(getTypeOfValueBindingForExpression(FacesContext.getCurrentInstance(), baseExpression) == null) {
+        if (getTypeOfValueBindingForExpression(FacesContext.getCurrentInstance(), baseExpression) == null) {
             valueBindingExpression = FaceletsTaglibExpressionUtils.tryToCreateValueBindingForFaceletsBinding(uiComponent);
         }
         return valueBindingExpression;

Modified: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java?rev=681739&r1=681738&r2=681739&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java Fri Aug  1 09:28:08 2008
@@ -275,7 +275,7 @@
         FacesContext facesContext = FacesContext.getCurrentInstance();
         String clientId = component.getClientId(facesContext);
 
-        if (clientId.substring(clientId.lastIndexOf(":")).endsWith(endOfKey)) {
+        if (clientId.contains(":") && clientId.substring(clientId.lastIndexOf(":")).endsWith(endOfKey)) {
             return component;
         }
 

Modified: myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCrossValidationStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCrossValidationStrategy.java?rev=681739&r1=681738&r2=681739&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCrossValidationStrategy.java (original)
+++ myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCrossValidationStrategy.java Fri Aug  1 09:28:08 2008
@@ -44,7 +44,7 @@
         CrossValidationStorageEntry entry = new CrossValidationStorageEntry();
 
         entry.setAnnotationEntry(annotationEntry);
-        entry.setBean(ELUtils.getBeanObject(annotationEntry.getValueBindingExpression()));
+        entry.setBean(ELUtils.getBaseObject(annotationEntry.getValueBindingExpression()));
         entry.setComponent(uiComponent);
         entry.setConvertedObject(convertedObject);
         entry.setValidationStrategy(this);