Created
October 19, 2011 08:02
-
-
Save lukaspili/1297718 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static void save(User user, @Required String afterSubmit) throws Exception { | |
EnhancedValidator validator = validator(); | |
// ici je valide une entité au niveau des infos requises, et automatiquement tout est géré dans le validator | |
// les erreurs sont ajoutées les scopes nécessaires (request, flash) suivant la requete pour ensuite faire une | |
// simple redirection et quand même avoir les erreurs qui sont gérées avec les helpers de play (helper field, etc). | |
// le seul problème c'est qu'il faut spécifier l'attribut de l'objet en dur (String). | |
// je me suis amusé avec les classes du core qui permettent de récupérer le nom des variables locales | |
// car play compile avec les bonnes options mais j'ai l'impression que c'est très limité sur attribus de classe | |
// bref en tout cas les règles de format des données sont définies dans le modele (un champs doit etre de type | |
// email, ne doit pas dépasser une taille, etc) | |
// mais les attributs requis peuvent varier suivant les actions et le process, donc je trouve ca bcp | |
// plus propre que les champs requis ne soient pas liés au modèle mais dépendent du contexte. | |
if (validator.validate(user).require("idBooster", "profile").hasErrors()) { | |
create(); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class UserService { | |
public User save(User user) throws CoreException { | |
// la validation doit être faite pour moi dans le controller et doit gérer des entités partielles | |
// cf fichier suivant | |
//.... | |
user.save(); | |
User.em().detach(user); | |
return user; | |
} | |
public User getById(long id) { | |
User user = User.findById(id); | |
User.em().detach(user); | |
return user; | |
} | |
public List<User> getUsers() { | |
List<User> users = new ArrayList<User>(); | |
for (User user : User.<User>findAll()) { | |
User.em().detach(user); | |
users.add(user); | |
} | |
return users; | |
} | |
public User getFromLogin(String idBooster, String password) { | |
User user = User.find(...).first(); | |
//.... | |
User.em().detach(user); | |
return user; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment