Created
August 23, 2013 16:09
-
-
Save AgtLucas/6321065 to your computer and use it in GitHub Desktop.
Seam Framework presentation - 2
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
@Stateless | |
@Name("register") | |
public class RegisterAction implements Register { | |
// Annotation que indica que o atributo foi injetado pelo Seam, neste caso, injetado de contexto user | |
@In | |
private User user; | |
// EJB3 entity manager | |
@PersistenceContext | |
private EntityManager em; | |
// Usado para injetar a instância do componente Log | |
@Logger | |
private Log log; | |
// Listener de ação que usa a API padrão EJB3 EntityManager para interagir com o banco de dados, retorna JSF | |
public String register() { | |
List existing = em.createQuery("select username " + | |
"from User " + | |
"where username = #{user.username}") | |
.getResultList(); | |
if (existing.size()==0) { | |
em.persist(user); | |
log.info("Registered new user #{user.username}"); | |
return "/registered.xhtml"; | |
} else { | |
// Componente do Seam, que permite mostrar mensagens de erro ou sucesso | |
FacesMessages.instance().add("User #{user.username} already exists"); | |
return null; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment