Example usage for org.aspectj.lang ProceedingJoinPoint getArgs

List of usage examples for org.aspectj.lang ProceedingJoinPoint getArgs

Introduction

In this page you can find the example usage for org.aspectj.lang ProceedingJoinPoint getArgs.

Prototype

Object[] getArgs();

Source Link

Usage

From source file:org.escidoc.core.aspects.PatternPerformanceAspect.java

License:Open Source License

@Around("call(public java.lang.String java.lang.String.replaceAll(java.lang.String, java.lang.String))"
        + " && !within(org.escidoc.core.aspects.PatternPerformanceAspect)"
        + " && !within(org.escidoc.core.util.regex..*)")
public Object optimizeReplaceAllWithStrings(final ProceedingJoinPoint joinPoint) {
    final String target = (String) joinPoint.getTarget();
    final String patternString = (String) joinPoint.getArgs()[0];
    final String replacement = (String) joinPoint.getArgs()[1];
    final Matcher matcher = matcherFactory.createMatcher(patternString);
    return matcher.reset(target).replaceAll(replacement);
}

From source file:org.escidoc.core.aspects.PatternPerformanceAspect.java

License:Open Source License

@Around("call(public java.lang.String java.lang.String.replaceAll(java.lang.CharSequence, java.lang.CharSequence))"
        + " && !within(org.escidoc.core.aspects.PatternPerformanceAspect)"
        + " && !within(org.escidoc.core.util.regex..*)")
public Object optimizeReplaceAllWithCharSequences(final ProceedingJoinPoint joinPoint) {
    final String target = (String) joinPoint.getTarget();
    final CharSequence patternCharSequence = (CharSequence) joinPoint.getArgs()[0];
    final String patternString = patternCharSequence.toString();
    final CharSequence replacement = (CharSequence) joinPoint.getArgs()[1];
    final Matcher matcher = matcherFactory.createMatcher(patternString, Pattern.LITERAL);
    return matcher.reset(target).replaceAll(replacement.toString());
}

From source file:org.escidoc.core.aspects.PatternPerformanceAspect.java

License:Open Source License

@Around("call(public java.lang.String java.lang.String.replace(java.lang.CharSequence, java.lang.CharSequence))"
        + " && !within(org.escidoc.core.aspects.PatternPerformanceAspect)"
        + " && !within(org.escidoc.core.util.regex..*)")
public Object optimizeReplace(final ProceedingJoinPoint joinPoint) {
    final String target = (String) joinPoint.getTarget();
    final CharSequence patternCharSequence = (CharSequence) joinPoint.getArgs()[0];
    final String patternString = patternCharSequence.toString();
    final CharSequence replacement = (CharSequence) joinPoint.getArgs()[1];
    final Matcher matcher = matcherFactory.createMatcher(patternString, Pattern.LITERAL);
    return matcher.reset(target).replaceAll(Matcher.quoteReplacement(replacement.toString()));
}

From source file:org.escidoc.core.aspects.PatternPerformanceAspect.java

License:Open Source License

@Around("call(public java.lang.String java.lang.String.replaceFirst(java.lang.String, java.lang.String))"
        + " && !within(org.escidoc.core.aspects.PatternPerformanceAspect)"
        + " && !within(org.escidoc.core.util.regex..*)")
public Object optimizeReplaceFirst(final ProceedingJoinPoint joinPoint) {
    final String target = (String) joinPoint.getTarget();
    final String patternString = (String) joinPoint.getArgs()[0];
    final String replacement = (String) joinPoint.getArgs()[1];
    final Matcher matcher = matcherFactory.createMatcher(patternString);
    return matcher.reset(target).replaceFirst(replacement);
}

From source file:org.escidoc.core.aspects.PatternPerformanceAspect.java

License:Open Source License

@Around("call(public java.lang.String java.lang.String.split(java.lang.String))"
        + " && !within(org.escidoc.core.aspects.PatternPerformanceAspect)"
        + " && !within(org.escidoc.core.util.regex..*)")
public Object optimizeSplit(final ProceedingJoinPoint joinPoint) {
    final String target = (String) joinPoint.getTarget();
    final String patternString = (String) joinPoint.getArgs()[0];
    final Pattern pattern = patternFactory.createPattern(patternString);
    return pattern.split(target);
}

From source file:org.escidoc.core.aspects.PatternPerformanceAspect.java

License:Open Source License

@Around("call(public java.lang.String java.lang.String.split(java.lang.String, int))"
        + " && !within(org.escidoc.core.aspects.PatternPerformanceAspect)"
        + " && !within(org.escidoc.core.util.regex..*)")
public Object optimizeSplitWithLimit(final ProceedingJoinPoint joinPoint) {
    final String target = (String) joinPoint.getTarget();
    final String patternString = (String) joinPoint.getArgs()[0];
    final Integer limit = (Integer) joinPoint.getArgs()[1];
    final Pattern pattern = patternFactory.createPattern(patternString);
    return pattern.split(target, limit);
}

From source file:org.esco.grouperui.tools.cache.MethodCacheInterceptor.java

License:Apache License

/**
 * creates cache key: targetName.methodName.argument0.argument1...
 * //  www .j  av  a2s . co  m
 * @param theMethod
 *            les informations sur la mthode dont on cre la cle du cache
 * @return la cle
 */
private ICacheKey<String> getCacheKey(final ProceedingJoinPoint theMethod) {
    ICacheKey<String> cacheKey = null;
    try {
        cacheKey = this.key.clone();

        Object[] arguments = theMethod.getArgs();
        // Extraction du package + la classes + la mthode separ par
        // des
        // points
        String signature = this.createJoinPointTraceName(theMethod);

        StringBuffer stringbuffer = new StringBuffer();
        stringbuffer.append(signature).append("(");
        if (arguments != null && arguments.length != 0) {
            for (int i = 0; i < arguments.length; i++) {
                if (arguments[i] == null) {
                    stringbuffer.append("null null");
                } else {
                    stringbuffer.append(arguments[i].getClass().getName()).append(" ").append(arguments[i]);
                }
                if (i < arguments.length - 1) {
                    stringbuffer.append(", ");
                }
            }
        }

        cacheKey.setKey(stringbuffer.append(")").toString());
    } catch (CloneNotSupportedException e) {
    }

    return cacheKey;
}

From source file:org.esupportail.commons.aop.AopUtils.java

License:Apache License

/**
 * @param joinPoint//from   w w  w .  ja  v a  2  s.co  m
 * @return The key to cache the method call
 */
public static String getCacheKey(final ProceedingJoinPoint joinPoint) {
    Object[] args = joinPoint.getArgs();
    String key = joinPoint.getSignature().toLongString() + "(";
    String separator = "";
    for (int i = 0; i < args.length; i++) {
        key += separator;
        Object o = args[i];
        if (o == null) {
            key += "null";
        } else {
            key += o.getClass().getSimpleName();
            if (o instanceof String || o instanceof Number || o instanceof Boolean) {
                key += "[" + o + "]";
            } else {
                key += "#" + o.hashCode();
            }
        }
        separator = ", ";
    }
    key += ")";
    return key;
}

From source file:org.esupportail.commons.aop.AopUtils.java

License:Apache License

/**
 * @param joinPoint/*from  w  w  w .j  a va2  s.c o m*/
 * @return The log signature
 */
public static String getLogSignature(final ProceedingJoinPoint joinPoint) {
    Object[] args = joinPoint.getArgs();
    String signature = joinPoint.getSignature().toLongString();
    String[] signatureParts = signature.split("\\(");
    String[] pathParts = signatureParts[0].split("\\.");
    String methodName = pathParts[pathParts.length - 1];
    String className = pathParts[pathParts.length - 2];
    String str = className + "." + methodName + "(";
    String separator = "";
    for (int i = 0; i < args.length; i++) {
        str += separator;
        Object o = args[i];
        if (o == null) {
            str += "null";
        } else {
            String[] nameParts = o.getClass().getSimpleName().split("\\.");
            String argClassName = nameParts[nameParts.length - 1];
            if (o instanceof String || o instanceof Number || o instanceof Boolean) {
                str += argClassName + "[" + o + "]";
            } else {
                str += argClassName + "#" + o.hashCode();
            }
        }
        separator = ", ";
    }
    str += ")";
    return str;
}

From source file:org.eurekastreams.server.aop.PerformanceTimer.java

License:Apache License

/**
 * Method for logging timing data./*from   w  w  w.  ja v a  2  s  .c o  m*/
 * 
 * @param call
 *            {@link ProceedingJoinPoint}
 * @return result of wrapped method.
 * @throws Throwable
 *             on error.
 */
public Object profile(final ProceedingJoinPoint call) throws Throwable {
    StopWatch clock = null;

    // get the perf log for target object.
    Log log = LogFactory.getLog("perf.timer." + call.getTarget().getClass().getCanonicalName());
    try {
        if (log.isInfoEnabled()) {
            clock = new StopWatch();
            clock.start(call.toShortString());
        }
        return call.proceed();
    } finally {
        if (log.isInfoEnabled() && clock != null) {
            clock.stop();

            Object[] args = call.getArgs();
            StringBuffer params = new StringBuffer();
            for (Object obj : args) {
                params.append("Param: " + ((obj == null) ? "null" : obj.toString()) + "\n\t");
            }

            log.info(clock.getTotalTimeMillis() + " (ms) - " + call.getTarget().getClass().getSimpleName() + "."
                    + call.getSignature().toShortString() + "\n\t" + params.toString());
        }

    }
}