boa tarde…seguindo a apostila da caelum j-28…mais precisamente pg. 100
esta ocorrendo um erro ao remover um usuario…
** estou logado como admin, tenho o privilegio para isto, pois na anotação passei como admin --@Role(“admin”) e o add no meu metodo remove() da classe UsuarioLogic…
**outra coisa é que na classe AutorizadorInterceptor.java dentro do metodo intercept() é passada a seguinte logica:
public void intercept(LogicFlow flow) throws LogicException, ViewException {
// pega request e response
HttpServletRequest request = flow.getLogicRequest().getRequest();
HttpServletResponse response = flow.getLogicRequest().getResponse();
try {
// usuario nao esta logado
if (this.usuario == null) {
// redireciona pro login
response.sendRedirect("admin.login.logic");
} else { // usuario esta logado
// pega anotacao @Role no método da lógica
Role role = flow.getLogicRequest().getLogicMethod()
.getMetadata().getAnnotation(Role.class);
// tem role definido
if (role != null) {
// se usuario tem o role pedido, executa
if (this.usuario.hasRole(role.value())) {
flow.execute();
} else {
// sem permissao, vai pra admin.semrole.logic
request.getRequestDispatcher("semrole.jsp")
.forward(request, response);
}
} else {
// nao tem role, entao pode executar
flow.execute();
}
}
} catch (Exception e) {
throw new LogicException(e);
}
}
especificamente na logica:
// pega anotacao @Role no método da lógica
Role role = flow.getLogicRequest().getLogicMethod()
.getMetadata().getAnnotation(Role.class);
nao aceita o metodo getLogicMethod(), o eclipse gera erro…por acasiao troquei por
//pega anotacao @Role no método da lógica
Role role = flow.getLogicRequest().getLogicDefinition().getLogicMethod()
.getMetadata().getAnnotation(Role.class);
mas continua gerando erro…nao sei o q rola…
…valeu rapaziada…