Hi;
Just for comment maybe not clear solution for you:)
In RI, The maximumSet and minumumSet is setted when any call to the setMaximum() and setMinimum() method respectively.
In your validator class, you could add two key property;
public void setMaximum(){
super.setMaximum();
_facesBean.setProperty(_MAXIMUM_KEY, Double.valueOf(maximum));
_facesBean.setProperty(_MAXIMUM_SET_KEY, true);
}
public void setMinimum(){
super.setMaximum();
_facesBean.setProperty(_MINUMUM_KEY, Double.valueOf(minumum));
_facesBean.setProperty(_MINIMUM_SET_KEY, true);
}
and then when restore your state if you got _MAXIMUM_SET_KEY or _MINUMUM_KEY_SET true, then you call the set methods again the same values with maximum and minumum restore values, if not keys set then no call to the respective methods after restore;
//Restore Step
boolean maximumSet = restore _MAXIMUM_SET_KEY in _FacesBean
boolean minumuSet = restore _MAXIMUM_SET_KEY in _FacesBean
DoubleRangeValidator validator = new DoubleRangeValidator();
if(maximumSet ){
//call this
validator.setMaximum(restore maximum value)
}
if(minumumSet ){
//call this
validator.setMinimum(restore maximum value)
}
So any maximumSet and minumumSet properties will be saved/restored I think;
Gurkan Erdogdu
----- Original Message ----
From: Matthias Wessendorf <matzew@apache.org>
To: dev@javaserverfaces.dev.java.net
Sent: Wednesday, September 26, 2007 10:41:13 AM
Subject: (DoubleRange)Validator issue
Hi guys,
this mail on the Trinidad list ([1]) lead me to the following issue.
In Trinidad, we extend the standard validators, like the
doubleRangeValidator, but the "logic" of the validate is inherited.
Inside of save/restore State methods, we delegate to the FacesBean
instance, which takes care of saving / restoring all properties, like
maximum or some Trinidad extra properties like "messageDetailMaximum".
See [2] for the full source code.
When using Trinidad on top of the RI (and client side validation is
DISABLED), there are some issues (see [1]). It looks like there is a
private property used the the RI (DoubleRange)Validator to indicate if
maximum or minimum has been set (and these properties are also saved /
restored). Since this is private, it's "odd" to add this property to
Trinidad's (DoubleRange)Validator as well, to get it working with the
RI, isnt' it ?
I checked the MyFaces IMPL code of (DoubleRange)Validator (see [3])
and it doesn't use such a property. So here, this combination (MyFaces
+ Trinidad (client validation DISABLED)) works.
What do you think about this ?
Do you want me to file an issue ?
Thx,
Matthias
[1]
http://www.mail-archive.com/users@myfaces.apache.org/msg42199.html
[2]
http://tinyurl.com/22ojtz
[3]
http://tinyurl.com/3bvsdb
--
Matthias Wessendorf
further stuff:
blog:
http://matthiaswessendorf.wordpress.com/
mail: matzew-at-apache-dot-org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@javaserverfaces.dev.java.net
For additional commands, e-mail: dev-help@javaserverfaces.dev.java.net
____________________________________________________________________________________
Yahoo! oneSearch: Finally, mobile search
that gives answers, not web links.
http://mobile.yahoo.com/mobileweb/onesearch?refer=1ONXIC