r1097 - trunk/eugene/src/main/java/org/nuiton/eugene/models/object/validator
Author: tchemit Date: 2011-09-22 12:00:42 +0200 (Thu, 22 Sep 2011) New Revision: 1097 Url: http://nuiton.org/repositories/revision/eugene/1097 Log: validates if the model has no name Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/validator/ObjectModelValidator.java Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/validator/ObjectModelValidator.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/validator/ObjectModelValidator.java 2011-09-22 09:00:33 UTC (rev 1096) +++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/validator/ObjectModelValidator.java 2011-09-22 10:00:42 UTC (rev 1097) @@ -25,23 +25,23 @@ package org.nuiton.eugene.models.object.validator; -import java.util.ArrayList; -import java.util.List; - +import org.apache.commons.lang.StringUtils; import org.nuiton.eugene.models.object.ObjectModel; import org.nuiton.eugene.models.object.ObjectModelAttribute; import org.nuiton.eugene.models.object.ObjectModelClass; import org.nuiton.eugene.models.object.ObjectModelClassifier; -import org.nuiton.eugene.models.object.ObjectModelElement; import org.nuiton.eugene.models.object.ObjectModelInterface; import org.nuiton.eugene.models.object.ObjectModelOperation; +import java.util.ArrayList; +import java.util.List; + /** * <p> * Validateur de modèle. * Cette classe faite pour être surchargée parcours le modèle et appelle * différentes méthodes pour tester la validité de ses composants. Chacune de - * ces méthodes renvoi "true" si la partie du modèle analysée est valide et + * ces méthodes renvoi "true" si la partie du modèle analysée est valide et * "false" dans le cas contraire. Lorsqu'une erreur est trouvée, elle est * ajoutée au validateur par le biais de la méthode "addError". * Puis l'objet faisant appel au validateur peut récupérer la liste des erreurs @@ -51,9 +51,7 @@ * * @author Arnaud Thimel <thimel@codelutin.com> * @version $Revision$ - * - * Mise a jour: $Date$ - * par : */ + */ public class ObjectModelValidator { protected ObjectModel model; @@ -69,6 +67,8 @@ * Renvoie la liste des erreurs constatées pdt la validation. Si aucune * erreur n'a été constatée ou si la validation n'a pas été effectuée, la * liste renvoyeé sera vide. + * + * @return list of errors found while validation. */ public List<String> getErrors() { return errors; @@ -76,6 +76,8 @@ /** * Valide le modèle et renvoie faux si il n'est pas valide + * + * @return {@code true} if model is valid, {@code false} otherwise. */ public boolean validate() { if (errors.size() > 0) { @@ -103,6 +105,13 @@ } protected boolean validateModel(ObjectModel model) { + + // check model has a name + String modelName = model.getName(); + if (StringUtils.isBlank(modelName)) { + + addError(model, "model has no name"); + } return true; } @@ -126,12 +135,13 @@ return true; } - protected void addError(ObjectModelElement onElement, String reason) { + protected void addError(Object onElement, String reason) { String elementString = onElement.toString(); if (onElement instanceof ObjectModelAttribute) { - elementString = ((ObjectModelClassifier) onElement + ObjectModelAttribute attribute = (ObjectModelAttribute) onElement; + elementString = ((ObjectModelClassifier) attribute .getDeclaringElement()).getQualifiedName() - + "#" + onElement.getName(); + + "#" + attribute.getName(); } else if (onElement instanceof ObjectModelClassifier) { ObjectModelClassifier classifier = (ObjectModelClassifier) onElement; elementString = classifier.getQualifiedName();
participants (1)
-
tchemit@users.nuiton.org