001
014
015 package com.liferay.util.aspectj;
016
017 import com.liferay.portal.kernel.util.ServerDetector;
018
019 import java.lang.reflect.Method;
020
021 import org.aspectj.lang.ProceedingJoinPoint;
022 import org.aspectj.lang.reflect.MethodSignature;
023
024
027 public class AspectJUtil {
028
029 public static Method getMethod(MethodSignature methodSignature)
030 throws NoSuchMethodException {
031
032 Method method = null;
033
034 if (ServerDetector.isWebSphere()) {
035 Class<?> declaringType = methodSignature.getDeclaringType();
036 String name = methodSignature.getName();
037 Class<?>[] parameterTypes = methodSignature.getParameterTypes();
038
039 method = declaringType.getMethod(name, parameterTypes);
040 }
041 else {
042 method = methodSignature.getMethod();
043 }
044
045 return method;
046 }
047
048 public static Method getMethod(ProceedingJoinPoint proceedingJoinPoint)
049 throws NoSuchMethodException {
050
051 MethodSignature methodSignature =
052 (MethodSignature)proceedingJoinPoint.getSignature();
053
054 return getMethod(methodSignature);
055 }
056
057 }