boolean requiresPermissions = false;
List<String> requiredPermissions = null;
try
{
RequiresPermissions annotation = runtimeClass.getAnnotation(RequiresPermissions.class);
requiresPermissions = (annotation != null);
requiredPermissions = Arrays.asList(annotation.value());
}
catch (NullPointerException e)
{
requiresPermissions = false;
}
if (requiresPermissions && requiredPermissions != null
&& !ApplicationSecurity.hasAllPermissions(requiredPermissions))
{
final String message = String.format("Insufficient permission for %s on %s", userName, viewName);
logger.warn(message);
throw new AuthorizationException(message);
}
try
{
RequiresPermissions annotation = method.getAnnotation(RequiresPermissions.class);
requiresPermissions = (annotation != null);
requiredPermissions = Arrays.asList(annotation.value());
}
catch (NullPointerException e)
{
requiresPermissions = false;
}