blob: b1b8e7d8238dbd0b19b2f0d461c3875dba0378d3 [file] [log] [blame]
package org.apache.wicket.metrics.aspects;
import jakarta.servlet.FilterConfig;
import org.apache.wicket.metrics.WicketMetrics;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
/**
* This aspect applies the application to wicket metrics
*
* @author Tobias Soloschenko
*
*/
@Aspect
public class WicketFilterInitAspect
{
/**
* Gets the filter name during the initialization
*
* @param joinPoint
* the join point to be proceed
* @return the proceeded outcome of the join point
* @throws Throwable
* if something went wrong
*/
@Around("execution(* org.apache.wicket.protocol.http.WicketFilter.init(..))")
public Object aroundInit(ProceedingJoinPoint joinPoint) throws Throwable
{
Object[] args = joinPoint.getArgs();
String filterName = null;
if (args.length == 2)
{
FilterConfig filterConfig = (FilterConfig)args[1];
filterName = filterConfig.getFilterName();
}
else
{
FilterConfig filterConfig = (FilterConfig)args[0];
filterName = filterConfig.getFilterName();
}
WicketMetrics.setFilterName(filterName);
return joinPoint.proceed();
}
}