dev@javaserverfaces.java.net

Re: (DoubleRange)Validator issue

From: Gurkan Erdogdu <gurkanerdogdu_at_yahoo.com>
Date: Wed, 26 Sep 2007 02:36:06 -0700 (PDT)

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