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 2008/06/14 01:10:22 UTC

svn commit: r667692 - in /myfaces/tomahawk/trunk/sandbox: core/src/main/java/org/apache/myfaces/custom/comparetovalidator/CompareToValidator.java core12/src/main/java/org/apache/myfaces/custom/comparetovalidator/CompareToValidator.java

Author: lu4242
Date: Fri Jun 13 16:10:22 2008
New Revision: 667692

URL: http://svn.apache.org/viewvc?rev=667692&view=rev
Log:
TOMAHAWK-1048 CompareToValidator ValidatorException should display submitted values

Modified:
    myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/comparetovalidator/CompareToValidator.java
    myfaces/tomahawk/trunk/sandbox/core12/src/main/java/org/apache/myfaces/custom/comparetovalidator/CompareToValidator.java

Modified: myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/comparetovalidator/CompareToValidator.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/comparetovalidator/CompareToValidator.java?rev=667692&r1=667691&r2=667692&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/comparetovalidator/CompareToValidator.java (original)
+++ myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/comparetovalidator/CompareToValidator.java Fri Jun 13 16:10:22 2008
@@ -25,6 +25,8 @@
 import javax.faces.application.FacesMessage;
 import javax.faces.component.EditableValueHolder;
 import javax.faces.component.UIComponent;
+import javax.faces.component.UIInput;
+import javax.faces.component.UIOutput;
 import javax.faces.context.FacesContext;
 import javax.faces.convert.Converter;
 import javax.faces.convert.ConverterException;
@@ -286,13 +288,36 @@
         String operator = getOperatorForString(getOperator());
 
         String alternateOperatorName = getAlternateOperatorName();
-        Object[] args = {
-                uiComponent.getId(),
-                value.toString(),
-                (alternateOperatorName == null) ? nameForOperator(operator) : alternateOperatorName,
-                foreignComponent.getId(),
-                (foreignValue == null) ? foreignComponent.getId() : foreignValue.toString()
-        };
+        Object[] args = new Object[5];
+        args[0] = uiComponent.getId();
+        if (uiComponent instanceof UIInput)
+        {
+          UIInput uiInput = (UIInput) uiComponent;
+          args[1] = uiInput.getSubmittedValue();
+        }
+        else
+        {   
+          args[1] = value.toString();
+        }
+        args[2] = (alternateOperatorName == null) ? nameForOperator(operator) : alternateOperatorName;
+        args[3] = foreignComponent.getId();
+        if (foreignComponent instanceof UIOutput)
+        {
+          UIOutput foreignUIOutpout = (UIOutput) foreignComponent;
+          Converter converter = foreignUIOutpout.getConverter();
+          if (converter!=null)
+          {
+            args[4] = converter.getAsString(facesContext, foreignComponent, foreignUIOutpout.getValue());
+          }
+          else
+          {
+            args[4] = (foreignValue == null) ? foreignComponent.getId() : foreignValue.toString();
+          }
+        }
+        else
+        {
+          args[4] = (foreignValue == null) ? foreignComponent.getId() : foreignValue.toString();
+        }
 
         String message = getMessage();
         if (null == message)  message = COMPARE_TO_MESSAGE_ID;

Modified: myfaces/tomahawk/trunk/sandbox/core12/src/main/java/org/apache/myfaces/custom/comparetovalidator/CompareToValidator.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/core12/src/main/java/org/apache/myfaces/custom/comparetovalidator/CompareToValidator.java?rev=667692&r1=667691&r2=667692&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/core12/src/main/java/org/apache/myfaces/custom/comparetovalidator/CompareToValidator.java (original)
+++ myfaces/tomahawk/trunk/sandbox/core12/src/main/java/org/apache/myfaces/custom/comparetovalidator/CompareToValidator.java Fri Jun 13 16:10:22 2008
@@ -26,6 +26,8 @@
 import javax.faces.application.FacesMessage;
 import javax.faces.component.EditableValueHolder;
 import javax.faces.component.UIComponent;
+import javax.faces.component.UIInput;
+import javax.faces.component.UIOutput;
 import javax.faces.context.FacesContext;
 import javax.faces.convert.Converter;
 import javax.faces.convert.ConverterException;
@@ -288,13 +290,36 @@
         String operator = getOperatorForString(getOperator());
 
         String alternateOperatorName = getAlternateOperatorName();
-        Object[] args = {
-                uiComponent.getId(),
-                value.toString(),
-                (alternateOperatorName == null) ? nameForOperator(operator) : alternateOperatorName,
-                foreignComponent.getId(),
-                (foreignValue == null) ? foreignComponent.getId() : foreignValue.toString()
-        };
+        Object[] args = new Object[5];
+        args[0] = uiComponent.getId();
+        if (uiComponent instanceof UIInput)
+        {
+          UIInput uiInput = (UIInput) uiComponent;
+          args[1] = uiInput.getSubmittedValue();
+        }
+        else
+        {   
+          args[1] = value.toString();
+        }
+        args[2] = (alternateOperatorName == null) ? nameForOperator(operator) : alternateOperatorName;
+        args[3] = foreignComponent.getId();
+        if (foreignComponent instanceof UIOutput)
+        {
+          UIOutput foreignUIOutpout = (UIOutput) foreignComponent;
+          Converter converter = foreignUIOutpout.getConverter();
+          if (converter!=null)
+          {
+            args[4] = converter.getAsString(facesContext, foreignComponent, foreignUIOutpout.getValue());
+          }
+          else
+          {
+            args[4] = (foreignValue == null) ? foreignComponent.getId() : foreignValue.toString();
+          }
+        }
+        else
+        {
+          args[4] = (foreignValue == null) ? foreignComponent.getId() : foreignValue.toString();
+        }
 
         String message = getMessage();
         if (null == message)  message = COMPARE_TO_MESSAGE_ID;