package org.apereo.cas.audit.spi;
import org.apereo.cas.authentication.principal.Service;
import org.aspectj.lang.JoinPoint;
import org.apereo.inspektr.audit.spi.AuditResourceResolver;
import org.apereo.cas.util.AopUtils;
/**
* Extracts the resource as a CAS service for the audit.
* @author Scott Battaglia
* @since 3.1.2
*
*/
public class ServiceResourceResolver implements AuditResourceResolver {
@Override
public String[] resolveFrom(final JoinPoint joinPoint, final Object retval) {
final Service service = (Service) AopUtils.unWrapJoinPoint(joinPoint).getArgs()[1];
final StringBuilder builder = new StringBuilder(retval.toString())
.append(" for ")
.append(service.getId());
return new String[] {builder.toString()};
}
@Override
public String[] resolveFrom(final JoinPoint joinPoint, final Exception ex) {
final Service service = (Service) AopUtils.unWrapJoinPoint(joinPoint).getArgs()[1];
return new String[] {service.getId()};
}
}