List of usage examples for org.aspectj.lang ProceedingJoinPoint getArgs
Object[] getArgs();
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()); } } }