Example usage for org.aspectj.lang.reflect CodeSignature getParameterNames

List of usage examples for org.aspectj.lang.reflect CodeSignature getParameterNames

Introduction

In this page you can find the example usage for org.aspectj.lang.reflect CodeSignature getParameterNames.

Prototype

String[] getParameterNames();

Source Link

Usage

From source file:de.alexandria.cms.frontend.webapp.aop.AopMethodLogger.java

License:Apache License

String createMsgForLogMethodCall(JoinPoint joinPoint) {
    StringBuilder buffer = new StringBuilder();
    String targetMethodName = joinPoint.getSignature().getName();
    buffer.append(targetMethodName);/*from   w w w.  j a  v  a2  s  .co  m*/
    buffer.append("(");
    final Object[] args = joinPoint.getArgs();
    CodeSignature codeSignature = (CodeSignature) joinPoint.getSignature();
    String[] argNames = codeSignature.getParameterNames();
    for (int i = 0; i < args.length; i++) {
        final Object arg = args[i];
        if (arg != null) {
            String argName = null;
            if (argNames != null) {
                argName = argNames[i];
                if (argName != null) {
                    buffer.append(argNames[i]);
                    buffer.append("=");
                }
            }
            buffer.append(arg.getClass().getSimpleName());
            buffer.append((" "));

            String argValue = arg.toString();

            // mask security sensible data
            if (argName != null && (argName.contains("password") || argName.contains("pwd"))) {
                argValue = "***";
            }
            if (argValue.length() > 50) {
                argValue = argValue.substring(0, 49) + "...";
            }
            buffer.append(argValue);
            if (i < (args.length - 1)) {
                buffer.append(", ");
            }
        }
    }
    buffer.append(")");
    return buffer.toString();
}

From source file:jp.go.nict.langrid.commons.validator.annotation.aspect.AspectParameterValidationExecutor.java

License:Open Source License

/**
 * // w  ww.  j  a va  2s . c o  m
 * 
 */
public static void execute(JoinPoint joinPoint)
        throws ParameterValidationException, ValidationProcessException {
    CodeSignature sig = (CodeSignature) joinPoint.getSignature();
    Class<?>[] types = sig.getParameterTypes();
    String[] names = sig.getParameterNames();
    Object[] args = joinPoint.getArgs();
    Method method = null;
    try {
        method = joinPoint.getThis().getClass().getDeclaredMethod(sig.getName(), types);
    } catch (NoSuchMethodException e) {
        throw new ValidationProcessException(e);
    }

    AnnotationParameterValidationExecutor.execute(method, names, args);
}