From 4049ceeace6fd616e7473c9365e4dfa4993bd082 Mon Sep 17 00:00:00 2001 From: Emerson Oliveira Date: Wed, 11 Sep 2013 17:03:13 -0300 Subject: [PATCH] O interceptor não estava considerando a anotação na classe no momento da extração da operation e do resource --- impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredPermissionInterceptor.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredPermissionInterceptor.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredPermissionInterceptor.java index 460093c..4c71f44 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredPermissionInterceptor.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredPermissionInterceptor.java @@ -124,7 +124,12 @@ public class RequiredPermissionInterceptor implements Serializable { * annotation or the class name itself */ private String getResource(InvocationContext ic) { - RequiredPermission requiredPermission = ic.getMethod().getAnnotation(RequiredPermission.class); + RequiredPermission requiredPermission; + requiredPermission = ic.getMethod().getAnnotation(RequiredPermission.class); + + if(requiredPermission == null){ + requiredPermission = ic.getTarget().getClass().getAnnotation(RequiredPermission.class); + } if (requiredPermission == null || Strings.isEmpty(requiredPermission.resource())) { if (ic.getTarget().getClass().getAnnotation(Name.class) == null) { @@ -147,8 +152,13 @@ public class RequiredPermissionInterceptor implements Serializable { * annotation or the method's name itself */ private String getOperation(InvocationContext ic) { - RequiredPermission requiredPermission = ic.getMethod().getAnnotation(RequiredPermission.class); - + RequiredPermission requiredPermission; + requiredPermission = ic.getMethod().getAnnotation(RequiredPermission.class); + + if(requiredPermission == null){ + requiredPermission = ic.getTarget().getClass().getAnnotation(RequiredPermission.class); + } + if (requiredPermission == null || Strings.isEmpty(requiredPermission.operation())) { if (ic.getMethod().getAnnotation(Name.class) == null) { return ic.getMethod().getName(); -- libgit2 0.21.2