Example usage for org.aspectj.lang ProceedingJoinPoint getTarget

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

Introduction

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

Prototype

Object getTarget();

Source Link

Document

Returns the target object.

Usage

From source file:org.springframework.data.gemfire.serialization.json.JSONRegionAdvice.java

License:Apache License

@Around("execution(* org.apache.geode.cache.Region.create(..))"
        + " || execution(* org.apache.geode.cache.Region.put(..))"
        + " || execution(* org.apache.geode.cache.Region.putIfAbsent(..))"
        + " || execution(* org.apache.geode.cache.Region.replace(..))")
public Object put(ProceedingJoinPoint pjp) {

    Object returnValue = null;/*from   www .  j av a 2 s  .com*/

    try {
        if (isIncludedJsonRegion(pjp.getTarget())) {

            Object[] newArgs = Arrays.copyOf(pjp.getArgs(), pjp.getArgs().length);
            Object val = newArgs[1];

            newArgs[1] = convertToPdx(val);
            returnValue = pjp.proceed(newArgs);
            logger.debug("Converting [{}] to JSON", returnValue);
            returnValue = convertToJson(returnValue);
        } else {
            returnValue = pjp.proceed();
        }
    } catch (Throwable cause) {
        handleThrowable(cause);
    }

    return returnValue;
}

From source file:org.springframework.data.gemfire.serialization.json.JSONRegionAdvice.java

License:Apache License

@Around("execution(* org.apache.geode.cache.Region.putAll(..))")
public Object putAll(ProceedingJoinPoint pjp) {

    Object returnValue = null;/* w ww. ja  v a  2 s.  c  om*/

    try {
        if (isIncludedJsonRegion(pjp.getTarget())) {

            Object[] newArgs = Arrays.copyOf(pjp.getArgs(), pjp.getArgs().length);

            Map<?, ?> map = (Map<?, ?>) newArgs[0];
            Map<Object, Object> newArg = new HashMap<>();

            for (Entry<?, ?> entry : map.entrySet()) {
                newArg.put(entry.getKey(), convertToPdx(entry.getValue()));
            }

            newArgs[0] = newArg;
            returnValue = pjp.proceed(newArgs);
        } else {
            returnValue = pjp.proceed();
        }
    } catch (Throwable cause) {
        handleThrowable(cause);
    }

    return returnValue;
}

From source file:org.springframework.data.gemfire.serialization.json.JSONRegionAdvice.java

License:Apache License

@SuppressWarnings("unchecked")
@Around("execution(* org.apache.geode.cache.Region.values(..))")
public Collection<Object> values(ProceedingJoinPoint pjp) {

    Collection<Object> result = null;

    try {/*from  w  ww  .ja  va2s. co m*/

        Collection<Object> returnValue = (Collection<Object>) pjp.proceed();

        if (!this.convertReturnedCollections || CollectionUtils.isEmpty(returnValue)
                || !isIncludedJsonRegion(pjp.getTarget())) {

            result = returnValue;
        } else {
            result = returnValue.stream().map(this::convertToPdx).collect(Collectors.toList());
        }
    } catch (Throwable cause) {
        handleThrowable(cause);
    }

    return result;
}

From source file:org.springframework.data.gemfire.serialization.json.JSONRegionAdvice.java

License:Apache License

@Around("execution(* org.springframework.data.gemfire.GemfireOperations.find(..)) "
        + "|| execution(* org.springframework.data.gemfire.GemfireOperations.findUnique(..)) "
        + "|| execution(* org.springframework.data.gemfire.GemfireOperations.query(..))")
public Object templateQuery(ProceedingJoinPoint pjp) {

    GemfireTemplate template = (GemfireTemplate) pjp.getTarget();

    boolean jsonRegion = isIncludedJsonRegion(template.getRegion());

    Object returnValue = null;/* w  ww.j  a  v a 2  s  .c  o  m*/

    try {
        if (jsonRegion) {

            returnValue = pjp.proceed();

            if (returnValue instanceof SelectResults && this.convertReturnedCollections) {

                ResultsBag resultsBag = new ResultsBag();

                for (Object obj : (SelectResults<?>) returnValue) {
                    resultsBag.add(convertToJson(obj));
                }

                returnValue = resultsBag;
            } else {
                returnValue = convertToJson(returnValue);
            }
        } else {
            returnValue = pjp.proceed();
        }
    } catch (Throwable cause) {
        handleThrowable(cause);
    }
    return returnValue;
}

From source file:org.springframework.data.gemfire.support.JSONRegionAdvice.java

License:Apache License

@Around("execution(* com.gemstone.gemfire.cache.Region.put(..)) || "
        + "execution(* com.gemstone.gemfire.cache.Region.create(..)) ||"
        + "execution(* com.gemstone.gemfire.cache.Region.putIfAbsent(..)) ||"
        + "execution(* com.gemstone.gemfire.cache.Region.replace(..))")
public Object put(ProceedingJoinPoint pjp) {
    boolean JSONRegion = isIncludedSONRegion(pjp.getTarget());
    Object returnValue = null;//from  w  ww  . j  ava  2 s  . c om

    try {
        if (JSONRegion) {
            Object[] newArgs = Arrays.copyOf(pjp.getArgs(), pjp.getArgs().length);
            Object val = newArgs[1];
            newArgs[1] = convertArgumentToPdxInstance(val);
            returnValue = pjp.proceed(newArgs);
            log.debug("converting " + returnValue + " to JSON string");
            returnValue = convertPdxInstanceToJSONString(returnValue);
        } else {
            returnValue = pjp.proceed();
        }
    } catch (Throwable t) {
        handleThrowable(t);
    }

    return returnValue;
}

From source file:org.springframework.data.gemfire.support.JSONRegionAdvice.java

License:Apache License

@Around("execution(* com.gemstone.gemfire.cache.Region.putAll(..))")
public Object putAll(ProceedingJoinPoint pjp) {
    boolean JSONRegion = isIncludedSONRegion(pjp.getTarget());
    Object returnValue = null;/*from  w  ww . j ava 2s  . c  om*/

    try {
        if (JSONRegion) {
            Object[] newArgs = Arrays.copyOf(pjp.getArgs(), pjp.getArgs().length);
            Map<?, ?> val = (Map<?, ?>) newArgs[0];
            Map<Object, Object> newArg = new HashMap<Object, Object>();
            for (Entry<?, ?> entry : val.entrySet()) {
                newArg.put(entry.getKey(), convertArgumentToPdxInstance(entry.getValue()));
            }
            newArgs[0] = newArg;
            returnValue = pjp.proceed(newArgs);
        } else {
            returnValue = pjp.proceed();
        }
    } catch (Throwable t) {
        handleThrowable(t);
    }

    return returnValue;
}

From source file:org.springframework.data.gemfire.support.JSONRegionAdvice.java

License:Apache License

@Around("execution(* com.gemstone.gemfire.cache.Region.get(..)) "
        + "|| execution(* com.gemstone.gemfire.cache.Region.selectValue(..))"
        + "|| execution(* com.gemstone.gemfire.cache.Region.remove(..))")
public Object get(ProceedingJoinPoint pjp) {
    Object returnValue = null;/*from   w w w . ja  va 2s . c  o m*/

    try {
        if (isIncludedSONRegion(pjp.getTarget())) {
            returnValue = pjp.proceed();
            log.debug("converting " + returnValue + " to JSON string");
            returnValue = convertPdxInstanceToJSONString(returnValue);
        } else {
            returnValue = pjp.proceed();
        }
    } catch (Throwable t) {
        handleThrowable(t);
    }

    return returnValue;
}

From source file:org.springframework.data.gemfire.support.JSONRegionAdvice.java

License:Apache License

@SuppressWarnings("unchecked")
@Around("execution(* com.gemstone.gemfire.cache.Region.getAll(..))")
public Map<Object, Object> getAll(ProceedingJoinPoint pjp) {
    Map<Object, Object> result = null;

    try {//from   w ww .ja  va  2 s.  c o m
        Map<Object, Object> retVal = (Map<Object, Object>) pjp.proceed();
        if (!convertReturnedCollections || CollectionUtils.isEmpty(retVal)
                || !isIncludedSONRegion(pjp.getTarget())) {
            result = retVal;
        } else {
            result = new HashMap<Object, Object>();
            for (Entry<Object, Object> entry : retVal.entrySet()) {
                result.put(entry.getKey(), convertPdxInstanceToJSONString(entry.getValue()));
            }
        }
    } catch (Throwable t) {
        handleThrowable(t);
    }

    return result;
}

From source file:org.springframework.data.gemfire.support.JSONRegionAdvice.java

License:Apache License

@SuppressWarnings("unchecked")
@Around("execution(* com.gemstone.gemfire.cache.Region.values(..))")
public Collection<Object> values(ProceedingJoinPoint pjp) {
    Collection<Object> result = null;

    try {/*from   w ww .  j ava2s. c  o m*/
        Collection<Object> retVal = (Collection<Object>) pjp.proceed();
        if (!convertReturnedCollections || CollectionUtils.isEmpty(retVal)
                || !isIncludedSONRegion(pjp.getTarget())) {
            result = retVal;
        } else {
            result = new ArrayList<Object>();
            for (Object obj : retVal) {
                result.add(convertArgumentToPdxInstance(obj));
            }
        }
    } catch (Throwable t) {
        handleThrowable(t);
    }

    return result;
}

From source file:org.springframework.data.gemfire.support.JSONRegionAdvice.java

License:Apache License

@Around("execution(* org.springframework.data.gemfire.GemfireOperations.find(..)) "
        + "|| execution(* org.springframework.data.gemfire.GemfireOperations.findUnique(..)) "
        + "|| execution(* org.springframework.data.gemfire.GemfireOperations.query(..))")
public Object templateQuery(ProceedingJoinPoint pjp) {
    GemfireTemplate template = (GemfireTemplate) pjp.getTarget();
    boolean jsonRegion = isIncludedSONRegion(template.getRegion());
    Object returnValue = null;/*from  w w  w .ja  va 2s  . c  o m*/

    try {
        if (jsonRegion) {
            returnValue = pjp.proceed();
            if (returnValue instanceof SelectResults && convertReturnedCollections) {
                ResultsBag resultsBag = new ResultsBag();
                for (Object obj : (SelectResults<?>) returnValue) {
                    resultsBag.add(convertPdxInstanceToJSONString(obj));
                }
                returnValue = resultsBag;
            } else {
                returnValue = convertPdxInstanceToJSONString(returnValue);
            }
        } else {
            returnValue = pjp.proceed();
        }
    } catch (Throwable t) {
        handleThrowable(t);
    }
    return returnValue;
}