private TaskSettings taskName()

in tcbot-common/src/main/java/org/apache/ignite/tcbot/common/interceptor/MonitoredTaskInterceptor.java [216:266]


    private TaskSettings taskName(MethodInvocation invocation) {
        final Method invocationMtd = invocation.getMethod();
        final String cls = invocationMtd.getDeclaringClass().getSimpleName();
        final String mtd = invocationMtd.getName();

        StringBuilder fullKey = new StringBuilder();

        boolean log;
        final MonitoredTask annotation = invocationMtd.getAnnotation(MonitoredTask.class);
        if (annotation != null) {
            String activityName = annotation.name();

            if (!Strings.isNullOrEmpty(activityName))
                fullKey.append(activityName);
            else
                fullKey.append(cls).append(".").append(mtd);

            final Object[] arguments = invocation.getArguments();

            final int idx = annotation.nameExtArgIndex();
            if (arguments != null && idx >= 0 && idx < arguments.length)
                fullKey.append(".").append(arguments[idx]);

            int[] ints = annotation.nameExtArgsIndexes();

            for (int i = 0; i < ints.length; i++) {
                int argIdx = ints[i];
                if (arguments != null && argIdx >= 0 && argIdx < arguments.length) {
                    if (i == 0)
                        fullKey.append(":");
                    else
                        fullKey.append(", ");

                    fullKey.append(arguments[argIdx]);
                }
            }

            if (annotation.log())
                log = true;
            else
                log = false;

        }
        else {
            fullKey.append(cls).append(".").append(mtd);

            log = false;
        }

        return new TaskSettings(fullKey.toString(), log);
    }