Example usage for org.aspectj.lang ProceedingJoinPoint toShortString

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

Introduction

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

Prototype

String toShortString();

Source Link

Usage

From source file:au.org.utsoac.util.CallMonitoringAspect.java

License:Apache License

@Around("within(@org.springframework.stereotype.Repository *)")
public Object invoke(ProceedingJoinPoint joinPoint) throws Throwable {
    if (this.enabled) {
        StopWatch sw = new StopWatch(joinPoint.toShortString());

        sw.start("invoke");
        try {/*from w w w  . j  a va  2  s.  co  m*/
            return joinPoint.proceed();
        } finally {
            sw.stop();
            synchronized (this) {
                this.callCount++;
                this.accumulatedCallTime += sw.getTotalTimeMillis();
            }
        }
    } else {
        return joinPoint.proceed();
    }
}

From source file:ch.ledcom.tomcat.valves.allocation.AllocationAdvice.java

License:Apache License

public Object traceAllocation(ProceedingJoinPoint pjp) throws Throwable {
    ThreadAllocationTracer tracer = tracerFactory.create();
    tracer.mark();/* ww w  .  j  av  a 2 s .  com*/
    Object retVal = pjp.proceed();
    long allocatedMemory = tracer.allocatedSinceMark();
    for (AllocationReporter reporter : reporters) {
        reporter.report(pjp.toShortString(), allocatedMemory);
    }
    return retVal;
}

From source file:com.google.code.ssm.aop.counter.ReadCounterFromCacheAdvice.java

License:Open Source License

@Around("readSingleCounter()")
public Object readCounter(final ProceedingJoinPoint pjp) throws Throwable {
    if (isDisabled()) {
        getLogger().info("Cache disabled");
        return pjp.proceed();
    }/*from   w  w  w .j  a  va  2  s .  c  om*/

    // This is injected caching. If anything goes wrong in the caching, LOG
    // the crap outta it, but do not let it surface up past the AOP injection itself.
    // It will be invoked only if underlying method completes successfully.
    String cacheKey = null;
    ReadCounterFromCache annotation;
    AnnotationData data;
    try {
        Method methodToCache = getCacheBase().getMethodToCache(pjp);
        verifyMethodSignature(methodToCache);
        annotation = methodToCache.getAnnotation(ReadCounterFromCache.class);
        data = AnnotationDataBuilder.buildAnnotationData(annotation, ReadCounterFromCache.class, methodToCache);
        cacheKey = getCacheBase().getCacheKeyBuilder().getCacheKey(data, pjp.getArgs(),
                methodToCache.toString());
        Long result = getCacheBase().getCache(data).getCounter(cacheKey);

        if (result != null) {
            getLogger().debug("Cache hit.");
            return convertResult(methodToCache, result);
        }
    } catch (Exception ex) {
        warn(ex, "Caching on method %s and key [%s] aborted due to an error.", pjp.toShortString(), cacheKey);
        return pjp.proceed();
    }

    final Object result = pjp.proceed();

    // This is injected caching. If anything goes wrong in the caching, LOG
    // the crap outta it, but do not let it surface up past the AOP injection itself.
    try {
        if (checkData(result, pjp)) {
            long value = ((Number) result).longValue();
            // tricky way to update counter
            getCacheBase().getCache(data).incr(cacheKey, 0, value, annotation.expiration());
        }
    } catch (Exception ex) {
        warn(ex, "Caching on method %s and key [%s] aborted due to an error.", pjp.toShortString(), cacheKey);
    }
    return result;
}

From source file:com.google.code.ssm.aop.InvalidateAssignCacheAdvice.java

License:Open Source License

@Around("invalidateAssign()")
public Object cacheInvalidateAssign(final ProceedingJoinPoint pjp) throws Throwable {
    if (isDisabled()) {
        getLogger().info("Cache disabled");
        return pjp.proceed();
    }//  w  w w. j a va2 s . co m

    final Object result = pjp.proceed();

    // This is injected caching. If anything goes wrong in the caching, LOG
    // the crap outta it, but do not let it surface up past the AOP injection itself.
    String cacheKey = null;
    try {
        final Method methodToCache = getCacheBase().getMethodToCache(pjp);
        final InvalidateAssignCache annotation = methodToCache.getAnnotation(InvalidateAssignCache.class);
        final AnnotationData data = AnnotationDataBuilder.buildAnnotationData(annotation,
                InvalidateAssignCache.class, methodToCache);

        cacheKey = getCacheBase().getCacheKeyBuilder().getAssignCacheKey(data);

        getCacheBase().getCache(data).delete(cacheKey);
    } catch (Exception ex) {
        warn(ex, "Caching on method %s and key [%s] aborted due to an error.", pjp.toShortString(), cacheKey);
    }
    return result;
}

From source file:com.google.code.ssm.aop.InvalidateMultiCacheAdvice.java

License:Open Source License

@Around("invalidateMulti()")
public Object cacheInvalidateMulti(final ProceedingJoinPoint pjp) throws Throwable {
    if (isDisabled()) {
        getLogger().info("Cache disabled");
        return pjp.proceed();
    }// w  w  w .j a v a2 s.c  o m

    // This is injected caching. If anything goes wrong in the caching, LOG
    // the crap outta it, but do not let it surface up past the AOP injection itself.
    Collection<String> cacheKeys = null;
    final AnnotationData data;
    final Method methodToCache;
    try {
        methodToCache = getCacheBase().getMethodToCache(pjp);
        final InvalidateMultiCache annotation = methodToCache.getAnnotation(InvalidateMultiCache.class);
        data = AnnotationDataBuilder.buildAnnotationData(annotation, InvalidateMultiCache.class, methodToCache);
        if (!data.isReturnKeyIndex()) {
            cacheKeys = getCacheBase().getCacheKeyBuilder().getCacheKeys(data, pjp.getArgs(),
                    methodToCache.toString());
        }
    } catch (Exception ex) {
        warn(ex, "Caching on method %s aborted due to an error.", pjp.toShortString());
        return pjp.proceed();
    }

    final Object result = pjp.proceed();

    // This is injected caching. If anything goes wrong in the caching, LOG
    // the crap outta it, but do not let it surface up past the AOP injection itself.
    try {
        // If we have a -1 key index, then build the cacheKeys now.
        if (data.isReturnKeyIndex()) {
            if (!getCacheBase().verifyTypeIsList(result.getClass())) {
                throw new InvalidAnnotationException(String.format(
                        "The return type is not a [%s]. "
                                + "The method [%s] does not fulfill the requirements.",
                        List.class.getName(), methodToCache.toString()));
            }

            @SuppressWarnings("unchecked")
            final List<Object> keyObjects = (List<Object>) result;
            cacheKeys = getCacheBase().getCacheKeyBuilder().getCacheKeys(keyObjects, data.getNamespace());
        }
        getCacheBase().getCache(data).delete(cacheKeys);
    } catch (Exception ex) {
        warn(ex, "Caching on method %s aborted due to an error.", pjp.toShortString());
    }
    return result;

}

From source file:com.google.code.ssm.aop.InvalidateSingleCacheAdvice.java

License:Open Source License

@Around("invalidateSingle()")
public Object cacheInvalidateSingle(final ProceedingJoinPoint pjp) throws Throwable {
    if (isDisabled()) {
        getLogger().info("Cache disabled");
        return pjp.proceed();
    }//from   ww  w. j  ava  2 s .c o m

    // This is injected caching. If anything goes wrong in the caching, LOG
    // the crap outta it, but do not let it surface up past the AOP injection itself.
    String cacheKey = null;
    final AnnotationData data;
    final Method methodToCache;
    try {
        methodToCache = getCacheBase().getMethodToCache(pjp);
        final InvalidateSingleCache annotation = methodToCache.getAnnotation(InvalidateSingleCache.class);
        data = AnnotationDataBuilder.buildAnnotationData(annotation, InvalidateSingleCache.class,
                methodToCache);
        if (!data.isReturnKeyIndex()) {
            cacheKey = getCacheBase().getCacheKeyBuilder().getCacheKey(data, pjp.getArgs(),
                    methodToCache.toString());
        }
    } catch (Exception ex) {
        warn(ex, "Caching on method %s and key [%s] aborted due to an error.", pjp.toShortString(), cacheKey);
        return pjp.proceed();
    }

    final Object result = pjp.proceed();

    // This is injected caching. If anything goes wrong in the caching, LOG
    // the crap outta it, but do not let it surface up past the AOP injection itself.
    try {
        if (data.isReturnKeyIndex()) {
            getCacheBase().verifyReturnTypeIsNoVoid(methodToCache, InvalidateSingleCache.class);
            cacheKey = getCacheBase().getCacheKeyBuilder().getCacheKey(result, data.getNamespace());
        }

        getCacheBase().getCache(data).delete(cacheKey);
    } catch (Exception ex) {
        warn(ex, "Caching on method %s and key [%s] aborted due to an error.", pjp.toShortString(), cacheKey);
    }
    return result;
}

From source file:com.google.code.ssm.aop.ReadThroughMultiCacheAdvice.java

License:Open Source License

@Around("getMulti()")
@SuppressWarnings("unchecked")
public Object cacheMulti(final ProceedingJoinPoint pjp) throws Throwable {
    if (isDisabled()) {
        getLogger().info("Cache disabled");
        return pjp.proceed();
    }// ww  w.j a v  a2 s.c om

    // This is injected caching. If anything goes wrong in the caching, LOG
    // the crap outta it, but do not let it surface up past the AOP injection itself.
    final ReadThroughMultiCache annotation;
    final MultiCacheCoordinator coord;
    final AnnotationData data;
    final SerializationType serializationType;

    Object[] args = pjp.getArgs();
    try {
        // Get the target method being invoked, and make sure it returns the correct info.
        final Method methodToCache = getCacheBase().getMethodToCache(pjp);
        getCacheBase().verifyReturnTypeIsList(methodToCache, ReadThroughMultiCache.class);

        // Get the annotation associated with this method, and make sure the values are valid.
        annotation = methodToCache.getAnnotation(ReadThroughMultiCache.class);
        serializationType = getCacheBase().getSerializationType(methodToCache);

        data = AnnotationDataBuilder.buildAnnotationData(annotation, ReadThroughMultiCache.class,
                methodToCache);
        coord = new MultiCacheCoordinator(methodToCache, data);
        setMultiCacheOptions(coord, annotation.option());

        // Create key->object and object->key mappings.
        coord.setHolder(createObjectIdCacheKeyMapping(data, args, coord.getMethod()));

        List<Object> listKeyObjects = (List<Object>) Utils.getMethodArg(data.getListIndexInMethodArgs(), args,
                coord.getMethod().toString());
        coord.setListKeyObjects(listKeyObjects);

        // Get the full list of cache keys and ask the cache for the corresponding values.
        coord.setInitialKey2Result(
                getCacheBase().getCache(data).getBulk(coord.getKey2Obj().keySet(), serializationType));

        // We've gotten all positive cache results back, so build up a results list and return it.
        if (coord.getMissedObjects().isEmpty()) {
            return coord.generateResultList();
        }

        // Create the new list of arguments with a subset of the key objects that aren't in the cache. Do not modify
        // directly argument array from join point!
        args = coord.createModifiedArgumentList(args);
    } catch (Exception ex) {
        warn(ex, "Caching on %s aborted due to an error.", pjp.toShortString());
        return pjp.proceed();
    }

    /*
     * Call the target method with the new subset of arguments. We are calling this outside of the try/catch block
     * in case there are some 'not our fault' problems with the target method. (Connection issues, etc...) Though,
     * this decision could go either way, really.
     */
    final List<Object> results = (List<Object>) pjp.proceed(args);

    try {
        // there are no results
        if (results == null || results.isEmpty()) {
            if (coord.isAddNullsToCache()) {
                addNullValues(coord.getMissedObjects(), coord, serializationType);
            }
            return coord.generatePartialResultList();
        }

        if (coord.isGenerateKeysFromResult()) {
            return generateByKeysFromResult(results, coord, serializationType);
        } else {
            return generateByKeysProviders(results, coord, serializationType);
        }
    } catch (Exception ex) {
        warn(ex, "Caching on %s aborted due to an error. The underlying method will be called twice.",
                pjp.toShortString());
        // invoke underlying method again using unmodified arguments array
        return pjp.proceed(pjp.getArgs());
    }
}

From source file:com.google.code.ssm.aop.SingleReadCacheAdvice.java

License:Open Source License

protected Object cache(final ProceedingJoinPoint pjp) throws Throwable {
    if (isDisabled()) {
        getLogger().info("Cache disabled");
        return pjp.proceed();
    }//ww w  .ja v  a2 s.co  m
    // This is injected caching. If anything goes wrong in the caching, LOG
    // the crap outta it, but do not let it surface up past the AOP injection itself.
    final T annotation;
    final AnnotationData data;
    final SerializationType serializationType;
    String cacheKey = null;
    try {
        final Method methodToCache = getCacheBase().getMethodToCache(pjp);
        getCacheBase().verifyReturnTypeIsNoVoid(methodToCache, annotationClass);
        annotation = methodToCache.getAnnotation(annotationClass);
        serializationType = getCacheBase().getSerializationType(methodToCache);
        data = AnnotationDataBuilder.buildAnnotationData(annotation, annotationClass, methodToCache);

        cacheKey = getCacheKey(data, pjp.getArgs(), methodToCache.toString());

        final Object result = getCacheBase().getCache(data).get(cacheKey, serializationType);
        if (result != null) {
            getLogger().debug("Cache hit.");
            return getCacheBase().getResult(result);
        }
    } catch (Exception ex) {
        warn(ex, "Caching on method %s and key [%s] aborted due to an error.", pjp.toShortString(), cacheKey);
        return pjp.proceed();
    }

    final Object result = pjp.proceed();

    // This is injected caching. If anything goes wrong in the caching, LOG
    // the crap outta it, but do not let it surface up past the AOP injection itself.
    try {
        final Object submission = getCacheBase().getSubmission(result);
        getCacheBase().getCache(data).set(cacheKey, data.getExpiration(), submission, serializationType);
    } catch (Exception ex) {
        warn(ex, "Caching on method %s and key [%s] aborted due to an error.", pjp.toShortString(), cacheKey);
    }
    return result;
}

From source file:com.isotrol.impe3.pms.core.impl.AuthorizationAspect.java

License:Open Source License

private void log(ProceedingJoinPoint pjp, String message) {
    if (logger.isTraceEnabled()) {
        logger.trace("Authorized method {}: {}", pjp.toShortString(), message);
    }/*from  www.ja va2 s.c o  m*/
}

From source file:com.skplanet.tcloud.common.OmcLogAdvice.java

License:Open Source License

/**
 * <pre>/* w w w . j a  v  a2s.  com*/
 *  ? ?? ?? ? .
 * </pre>
 * @param joinPoint AOP ? ?(logging,exception,etc...) ? ?     ?
 * @return {@link Object} 
 * @throws Throwable
 */
public Object invoke(ProceedingJoinPoint joinPoint) throws Throwable {

    long startTime = System.currentTimeMillis(); //  
    String startTimeStr = ""; // 
    Map<String, Object> inResutlMap = new HashMap<String, Object>(); //    
    Map<String, Object> outResutlMap = new HashMap<String, Object>(); //    
    Map<String, Object> etcResutlMap = new HashMap<String, Object>(); //    
    StopWatch stopWatch = new StopWatch(); // ?  
    Signature signature = joinPoint.getSignature(); // 
    String targetClassName = joinPoint.getTarget().getClass().getName(); // Class Name
    Object returnObj = null;
    // String hostAddress = "";
    HttpServletRequest request = null;
    String key1 = "";

    try {
        // Service ?    - ETC
        SimpleDateFormat sdfYMDHMS = new SimpleDateFormat("yyyyMMddHHmmss");
        startTimeStr = sdfYMDHMS.format(new Date(startTime));
        etcResutlMap.put("serviceName", OmcLogAdvice.JobConstants.SERVICE_NAME);
        etcResutlMap.put("startTimeStr", startTimeStr);
        //         etcResutlMap.put("hostName", hostName+" / "+hostAddress);
        etcResutlMap.put("hostName", localHostName);
        etcResutlMap.put("direction", OmcLogAdvice.JobConstants.DIRECTION_REP);

        // Service   
        inResutlMap = getMakeIn(targetClassName, signature.getName(), joinPoint.getArgs(), request);
        stopWatch.start(joinPoint.toShortString()); // ? 

        // Access ?  IP?   ? .
        //         if (isAccessIp(inResutlMap.get("sysModule"), inResutlMap.get("clientIp"))) {
        if (true) {
            returnObj = joinPoint.proceed(); // Service ? 
            if (stopWatch.isRunning()) {
                stopWatch.stop(); // ? 
            }

            // Service   
            outResutlMap = getMakeOut(returnObj, inResutlMap);
            outResutlMap.put("totalTimeSeconds", stopWatch.getTotalTimeMillis()); // 

            if (inResutlMap.get("requestUrl").toString().contains("regMemberTOI") || // sjsim@20120920
                    inResutlMap.get("requestUrl").toString().contains("regIdpMemberTOI")
                    || inResutlMap.get("requestUrl").toString().contains("modifyMemberIdTOI")
                    || inResutlMap.get("requestUrl").toString().contains("ssoLoginTOI")
                    || inResutlMap.get("signatureName").toString().contains("getSendEmail")) { // sjsim@20130207

                String keyStr = inResutlMap.get("key1").toString();

                if (JobConstants.SERVICE_RESULT_CODE_SUCC.equals(outResutlMap.get("resultCode"))) {
                    if (keyStr.length() >= 5) {
                        if (!keyStr.subSequence(0, 5).equals("memNo")) {
                            ModelAndView mav = (ModelAndView) returnObj;
                            String memNo = mav.getModel().get("memNo").toString();
                            inResutlMap.put("key1", "memNo=" + memNo);
                        }
                    }
                } else {
                    if (keyStr.length() >= 7) {
                        if (!keyStr.subSequence(0, 7).equals("loginId")) {
                            ModelAndView mav = (ModelAndView) returnObj;
                            String loginId = mav.getModel().get("loginId").toString();
                            inResutlMap.put("key1", "loginId=" + loginId);
                        }
                    }
                }

            } else if (JobConstants.SERVICE_SYS_NAME_REQUEST.equals(inResutlMap.get("signatureName"))) {
                if (JobConstants.SERVICE_RESULT_CODE_SUCC.equals(outResutlMap.get("resultCode"))) {
                    if (!inResutlMap.get("key1").toString().subSequence(0, 5).equals("memNo")) {
                        ModelAndView mav = (ModelAndView) returnObj;
                        String memNo = mav.getModel().get("memNo").toString();
                        key1 = "memNo=" + memNo;
                        inResutlMap.put("key1", key1);
                    }
                } else {
                    if (!inResutlMap.get("key1").toString().subSequence(0, 7).equals("loginId")) {
                        ModelAndView mav = (ModelAndView) returnObj;
                        String loginId = mav.getModel().get("loginId").toString();
                        key1 = "loginId=" + loginId;
                        inResutlMap.put("key1", key1);
                    }
                }

                // ? ? ?  KEY1 ? sjsim@20130104
                // ? ? , ?  Key1 ? ?   2013.01.22. jhkwon 
            } else if ("joinMdn".equals(signature.getName()) || "loginMdn".equals(signature.getName())
                    || "secedeMdn".equals(signature.getName())) {
                ModelAndView mav = (ModelAndView) returnObj;
                String memNo = mav.getModel().get("memNo").toString();
                key1 = "memNo=" + memNo;
                inResutlMap.put("key1", key1);
            } else if ("loginMdnEx".equals(signature.getName())) {
                ModelAndView mav = (ModelAndView) returnObj;
                String memNo = mav.getModel().get("memNo").toString();
                key1 = "memNo=" + memNo;
                inResutlMap.put("key1", key1);
                String userMdn = "userMdn="
                        + StringUtils.defaultString(mav.getModel().get("userMdn").toString());
                String etc = userMdn;
                inResutlMap.put("etc", etc);

            } else if ("getSmsKey".equals(signature.getName()) || "getSmsKeyTOI".equals(signature.getName())) {
                ModelAndView mav = (ModelAndView) returnObj;
                String gubun = ",";
                String mdn = key1 + gubun + "mdn="
                        + StringUtils.defaultString(mav.getModel().get("mdn").toString());
                String userMdnType = "userMdnType="
                        + StringUtils.defaultString(mav.getModel().get("userMdnType").toString());
                //String smsAuthKey = "smsAuthKey="+StringUtils.defaultString(mav.getModel().get("smsAuthKey").toString());
                //String etc=mdn+gubun+userMdnType+gubun+smsAuthKey;
                String etc = mdn + gubun + userMdnType + gubun;

                inResutlMap.put("etc", etc);

            } else if (inResutlMap.get("signatureName").toString().contains("startup")) { // dikey@20130220
                for (Object object : joinPoint.getArgs()) {
                    if (object instanceof HttpServletRequest) {
                        request = (HttpServletRequest) object;
                    }
                }

                // key1? ? ?? key2? T store? ? mdn
                if (request != null) {
                    String etc = (String) inResutlMap.get("etc");
                    String deviceId = request.getParameter("deviceId") == null ? ""
                            : request.getParameter("deviceId");
                    etc = etc + "|deviceId=" + deviceId;

                    String userAgent = null;
                    userAgent = request.getHeader("user-agent");
                    if (userAgent != null && !userAgent.trim().isEmpty()) {

                        if (userAgent.contains("T store")) {
                            etc = etc + new StringBuffer("|mdn=").append(
                                    request.getParameter("mdn") == null ? "" : request.getParameter("mdn"))
                                    .toString();
                        }
                    }
                    /*
                     * Tstore -Tcloud?  
                     * - T store? T cloud? ? ?? T cloud ? UV -
                     *    startup.do ? etc? tctd-src? ?? append
                     * 2013-11-26 jung-su.jang  
                     */
                    ModelAndView mav = (ModelAndView) returnObj;
                    if (mav != null && mav.getModel() != null && mav.getModel().get("tcdSrc") != null) {
                        String tcdSrc = mav.getModel().get("tcdSrc").toString();
                        etc += tcdSrc != null ? "|tcd-src=" + tcdSrc : "";
                    }

                    String referer = request.getParameter("referer") == null ? ""
                            : request.getParameter("referer");
                    etc = etc + "|referer=" + referer;

                    String pushId = request.getParameter("pushId");
                    if (pushId != null && !"".equals(pushId)) {
                        etc = etc + "|pushId=" + pushId;
                    }

                    inResutlMap.put("etc", etc);
                }

            } else if ("deviceToDevice".equals(signature.getName())) { // sjsim@20130402
                String etc = (String) inResutlMap.get("etc");
                ModelAndView mav = (ModelAndView) returnObj;
                String medTyCd = mav.getModel().get("medTyCd").toString();

                etc += "|medTyCd=" + medTyCd;
                inResutlMap.put("etc", etc);
            } else if ("omcLog".equals(signature.getName()) || "omcDetailLog".equals(signature.getName())) { // dikey@20130423
                ModelAndView mav = (ModelAndView) returnObj;
                inResutlMap.put("key2", mav.getModel().get("key2").toString());
            }

            String requestUrl = inResutlMap.get("requestUrl") == null ? ""
                    : inResutlMap.get("requestUrl").toString();

            if (requestUrl.contains("regMemberTOI.do") || requestUrl.contains("mdnJoin.do")
                    || requestUrl.contains("regIdpMemberTOI.do")) {
                ModelAndView mav = (ModelAndView) returnObj;

                if (mav.getModel().get("key2") != null)
                    inResutlMap.put("key2", mav.getModel().get("key2").toString());
            }

            /* Tstore-Tcloud ?   omc  ?? ??  ??  
             * ? requestHeader? ? ?   ?? ??  ?   
             *      ? ? put  2013-11-14 jung-su.Jang
             */
            if ("sync".equals(signature.getName())) {
                HttpServletRequest syncRequest = null;
                Object[] args = joinPoint.getArgs();
                for (Object object : args) {
                    if (object instanceof HttpServletRequest) {
                        syncRequest = (HttpServletRequest) object;
                    }
                }
                String tcdSrc = (String) syncRequest.getAttribute("tcdSrc");
                if (tcdSrc != null && !"".equals(tcdSrc)) {
                    String etc = (String) inResutlMap.get("etc");
                    etc += "|tcd-src=" + tcdSrc;
                    inResutlMap.put("etc", etc);
                }
            }
            if ("startupsc".equals(signature.getName())) {
                ModelAndView mav = (ModelAndView) returnObj;
                if (mav != null && mav.getModel() != null) {
                    inResutlMap.put("sessionID",
                            mav.getModel().get("sessionID") != null
                                    && mav.getModel().get("sessionID").toString() != null
                                            ? mav.getModel().get("sessionID").toString()
                                            : "");
                    inResutlMap.put("key1",
                            "memNo=" + mav.getModel().get("key1") != null
                                    && mav.getModel().get("key1").toString() != null
                                            ? mav.getModel().get("key1").toString()
                                            : "memNo=");
                    inResutlMap.put("etc",
                            mav.getModel().get("etc") != null && mav.getModel().get("etc").toString() != null
                                    ? mav.getModel().get("etc").toString()
                                    : "tcd-src=1");
                }
            }
            if ("checkJoinMdn".equals(signature.getName())) {
                ModelAndView mav = (ModelAndView) returnObj;
                if (mav != null && mav.getModel() != null) {
                    inResutlMap.put("etc",
                            "uesrMdn=" + StringUtils.defaultString(mav.getModel().get("userMdn").toString()));
                }
            }

            // ? ? ??  log .
            /* Tstore-Tcloud ? mdnJoinNew ? ? OMC  ? ?? 
             * && !"mdnJoinNew".equals(signature.getName()) 
             * 2013.11.18 jung-su.Jang 
             */
            // ? ? ??  log .
            if (!"".equals(inResutlMap.get("sysModule"))
                    && !(inResutlMap.get("sysModule").equals(JobConstants.SERVICE_SYS_NAME_SAMPLE))
                    && !"mdnJoinNew".equals(signature.getName())
                    && !"mdnJoinNewForm".equals(signature.getName())) {
                //logger.info(makeLogString(inResutlMap, outResutlMap, etcResutlMap, true));
                // artf120005 Token Expire ?  OMC Log ?   by jaeyeon.hwang 2014.03.13
                if (!CodeMessage.RESPONSE_CODE_EXPIRED_TOKEN.equals(outResutlMap.get("resultCode"))) {
                    logger.info(getFilterOmc(makeLogString(inResutlMap, outResutlMap, etcResutlMap, true)));
                }
            }
        }
        return returnObj;

    } catch (UserHandleableException ue) {
        if (!JobConstants.SERVICE_RESULT_UNAUTHORIZED_IP.equals(ue.getErrorCode())) { //   IP?   
            if (stopWatch.isRunning()) {
                stopWatch.stop(); //  ?  
            }
            outResutlMap.put("totalTimeSeconds", stopWatch.getTotalTimeMillis()); // 
            outResutlMap.put("resultCode", ue.getErrorCode());

            /* Tstore-Tcloud ?   omc  ?? ??  ??  
             * ? requestHeader? ? ?   ?? ??  ?   
             *      ? ? put  2013-11-14 jung-su.Jang
             *  */
            if ("startupsc".equals(signature.getName()) || "mdnJoinNew".equals(signature.getName())) {
                inResutlMap.put("etc", "tcd-src=1");
                if ("startupsc".equals(signature.getName())) {
                    outResutlMap.put("resultCode", CodeMessage.RESPONSE_CODE_FAIL);
                    logger.error(makeLogString(inResutlMap, outResutlMap, etcResutlMap, false));
                }
            }
            /* artf113224 mdnLogin - TOKEN Expire ?? memNo     by  
             * Token Expired  AOP ? OMC  ?
             * jaeyeon.hwang 2014.02.18 */
            if (!"startupsc".equals(signature.getName())
                    //artf120005 TokenExpire ?   OMC Log   by jaeyeon.hwang  2014.03.13
                    && !CodeMessage.RESPONSE_CODE_EXPIRED_TOKEN.equals(ue.getErrorCode())) {
                if (JobConstants.SERVICE_RESULT_CODE_FAIL.equals(ue.getErrorCode())) {
                    logger.error(makeLogString(inResutlMap, outResutlMap, etcResutlMap, false));
                } else {
                    logger.error(makeLogString(inResutlMap, outResutlMap, etcResutlMap, true));
                }
            }
        }

        throw new Exception(ue);
    } catch (Exception e) {
        if (stopWatch.isRunning()) {
            stopWatch.stop(); //  ?  
        }
        outResutlMap.put("totalTimeSeconds", stopWatch.getTotalTimeMillis()); // 
        outResutlMap.put("resultCode", JobConstants.SERVICE_RESULT_CODE_FAIL);

        /* Tstore-Tcloud ?   omc  ?? ??  ??  
         * ? requestHeader? ? ?   ?? ??  ?   
         *      ? ? put  2013-11-14 jung-su.Jang
         *  */
        if ("startupsc".equals(signature.getName()) || "mdnJoinNew".equals(signature.getName())) {
            inResutlMap.put("etc", "tcd-src=1");
            if ("startupsc".equals(signature.getName())) {
                outResutlMap.put("resultCode", CodeMessage.RESPONSE_CODE_FAIL);
            }
        } else {
            logger.error(makeLogString(inResutlMap, outResutlMap, etcResutlMap, false));
        }
        throw new Exception(e);
    }
}