r136 - trunk/coser-business/src/main/java/fr/ifremer/coser/validators
Author: chatellier Date: 2010-10-29 16:26:32 +0000 (Fri, 29 Oct 2010) New Revision: 136 Log: Ajout d'une classe abstraite pour pouvoir avoir les exceptions de validation Added: trunk/coser-business/src/main/java/fr/ifremer/coser/validators/AbstractFieldValidator.java Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/validators/CoserCheckDoubleValidator.java trunk/coser-business/src/main/java/fr/ifremer/coser/validators/CoserDoubleValidator.java Added: trunk/coser-business/src/main/java/fr/ifremer/coser/validators/AbstractFieldValidator.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/validators/AbstractFieldValidator.java (rev 0) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/validators/AbstractFieldValidator.java 2010-10-29 16:26:32 UTC (rev 136) @@ -0,0 +1,76 @@ +/* + * #%L + * + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2010 Codelutin, Chatellier Eric + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * #L% + */ + +package fr.ifremer.coser.validators; + +import com.opensymphony.xwork2.util.ValueStack; +import com.opensymphony.xwork2.validator.ValidationException; +import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; + +/** + * Abstract validator. + * + * @author chatellier + * @version $Revision$ + * + * Last update : $Date$ + * By : $Author$ + */ +public abstract class AbstractFieldValidator extends FieldValidatorSupport { + + private ValueStack localStack; + + public void setValueStack(ValueStack localStack) { + super.setValueStack(localStack); + this.localStack = localStack; + } + + /** + * Return the field value named <code>name</code> from <code>object</code>, + * <code>object</code> should have the appropriate getter/setter. + * + * @param name + * @param object + * @return Object as field value + * @throws ValidationException + */ + protected Object getFieldValue(String name, Object object, boolean throwExceptionOnFailure) throws ValidationException { + + boolean pop = false; + + if (!localStack.getRoot().contains(object)) { + localStack.push(object); + pop = true; + } + + Object retVal = localStack.findValue(name, throwExceptionOnFailure); + + if (pop) { + localStack.pop(); + } + + return retVal; + } +} Property changes on: trunk/coser-business/src/main/java/fr/ifremer/coser/validators/AbstractFieldValidator.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/validators/CoserCheckDoubleValidator.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/validators/CoserCheckDoubleValidator.java 2010-10-29 15:43:38 UTC (rev 135) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/validators/CoserCheckDoubleValidator.java 2010-10-29 16:26:32 UTC (rev 136) @@ -26,7 +26,6 @@ package fr.ifremer.coser.validators; import com.opensymphony.xwork2.validator.ValidationException; -import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; /** * Validateur de double de coser. @@ -37,7 +36,7 @@ * Last update : $Date$ * By : $Author$ */ -public class CoserCheckDoubleValidator extends FieldValidatorSupport { +public class CoserCheckDoubleValidator extends AbstractFieldValidator { protected String notAvailable; Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/validators/CoserDoubleValidator.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/validators/CoserDoubleValidator.java 2010-10-29 15:43:38 UTC (rev 135) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/validators/CoserDoubleValidator.java 2010-10-29 16:26:32 UTC (rev 136) @@ -26,7 +26,6 @@ package fr.ifremer.coser.validators; import com.opensymphony.xwork2.validator.ValidationException; -import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; /** * TODO add comment here. @@ -37,7 +36,7 @@ * Last update : $Date$ * By : $Author$ */ -public class CoserDoubleValidator extends FieldValidatorSupport { +public class CoserDoubleValidator extends AbstractFieldValidator { protected Double max = null; protected Double min = null;
participants (1)
-
chatellierï¼ users.labs.libre-entreprise.org