GUJ
Notícias, artigos e o maior fórum brasileiro sobre Java
home
fórum
notícias
tópicos recentes
empregos
artigos
Bem-vindo ao GUJ.
Crie seu login
, ou digite-o para logar no site.
Usuário:
Senha:
Anotação / intercept com vraptor
Índice dos Fóruns
»
Desenvolvimento Web
Autor
Mensagem
04/10/2011 20:23:43
Assunto:
Anotação / intercept com vraptor
Mauricio de Mello
Java Ninja
Membro desde: 30/01/2007 14:49:22
Mensagens: 296
Localização: Florianópolis
Offline
Pessoal seguinte criei uma anotação com objetivo de anotar somente classes de controller, mas a anotação @Authentication não esta entrando no método
public void intercept(InterceptorStack stack, ResourceMethod method, Object resourceInstance) throws InterceptionException {
Declaração da anotação
package teste.intercepts; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ ElementType.TYPE }) @Retention(RetentionPolicy.RUNTIME) public @interface Authentication { }
abs
04/10/2011 22:23:47
Assunto:
Anotação / intercept com vraptor
Lucas Cavalcanti
GUJ Hacker
Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline
se vc quer anotar método precisa colocar também no @Target o valor ElementType.METHOD
--
Caelum
www.caelum.com.br
05/10/2011 08:11:52
Assunto:
Re:Anotação / intercept com vraptor
Mauricio de Mello
Java Ninja
Membro desde: 30/01/2007 14:49:22
Mensagens: 296
Localização: Florianópolis
Offline
Bom dia Lucas o objetivo é anotar somente a Classe do controlador, mas não esta entrando no método intercept.
valeu
This message was edited 1 time. Last update was at 05/10/2011 08:47:17
05/10/2011 09:41:47
Assunto:
Anotação / intercept com vraptor
Lucas Cavalcanti
GUJ Hacker
Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline
como está o método accept?
--
Caelum
www.caelum.com.br
05/10/2011 09:59:30
Assunto:
Re:Anotação / intercept com vraptor
Mauricio de Mello
Java Ninja
Membro desde: 30/01/2007 14:49:22
Mensagens: 296
Localização: Florianópolis
Offline
ele não entra no método intercept, teria outra forma de debugar isto?
abs
package teste.intercepts; import teste.controllers.LoginController; import br.com.caelum.vraptor.InterceptionException; import br.com.caelum.vraptor.Intercepts; import br.com.caelum.vraptor.Result; import br.com.caelum.vraptor.core.InterceptorStack; import br.com.caelum.vraptor.interceptor.Interceptor; import br.com.caelum.vraptor.resource.ResourceMethod; @Intercepts public class AuthorizationInterceptor implements Interceptor { private final UserInfo userInfo; private final Result result; public AuthorizationInterceptor(UserInfo userInfo, Result result) { this.userInfo = userInfo; this.result = result; } @Override public boolean accepts(ResourceMethod method) { return method.containsAnnotation(Authentication.class); } @Override public void intercept(InterceptorStack stack, ResourceMethod method, Object resourceInstance) throws InterceptionException { System.out.println(userInfo.getUser() + " << entrou"); if (userInfo.getUser() == null) { result.include("error", "Acesso negado."); result.redirectTo(LoginController.class).index(); } else { stack.next(method, resourceInstance); } } }
05/10/2011 10:50:43
Assunto:
Anotação / intercept com vraptor
Lucas Cavalcanti
GUJ Hacker
Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline
method.containsAnnotation não verifica se tem a anotação na classe (bizarro, eu sei)
faça:
method.getResource().getType().isAnnotationPresent(Authentication.class);
--
Caelum
www.caelum.com.br
05/10/2011 11:31:57
Assunto:
Re:Anotação / intercept com vraptor
Mauricio de Mello
Java Ninja
Membro desde: 30/01/2007 14:49:22
Mensagens: 296
Localização: Florianópolis
Offline
Vivendo e aprendendo
obrigado.
Índice dos Fóruns
»
Desenvolvimento Web
Ir para:
Selecione um Fórum
Notícias
Assuntos gerais (Off-topic)
MundoJ - Artigos, Notícias e Debates
Artigos e Tutoriais
Java Básico
Java Avançado
Ferramentas, Frameworks e Utilitários
Desenvolvimento Web
Interface Gráfica
Google Android e Java Micro Edition (ME)
Certificação Java
Persistência: Hibernate, JPA, JDBC e outros
Java Enterprise Edition (Java EE)
Frameworks e Bibliotecas brasileiros
RIA - Flex, JavaFX e outros
Arquitetura de Sistemas
Metodologias de Desenvolvimento e Testes de Software
JavaScript
Ruby & Ruby on Rails
Outras Linguagens
Powered by
JForum 2.1.8
©
JForum Team