// Path: wingtips-core/src/main/java/com/nike/wingtips/util/AsyncWingtipsHelperJava7.java
// @Deprecated
// public static Runnable runnableWithTracing(Runnable runnable) {
//     return new RunnableWithTracing(runnable);
// }


import com.nike.wingtips.servlet.RequestTracingFilter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.container.AsyncResponse;
import javax.ws.rs.container.Suspended;
import static com.nike.wingtips.util.AsyncWingtipsHelperJava7.runnableWithTracing;
    public String getBlocking() {
        logger.info("Blocking endpoint hit");
        sleepThread(SLEEP_TIME_MILLIS);

        return BLOCKING_RESULT;
    }

    @GET
    @Path(PATH_PARAM_ENDPOINT_PATH_PREFIX + "/{somePathParam}")
    public String getPathParam(@PathParam("somePathParam") String somePathParam) {
        logger.info("Path param endpoint hit - somePathParam: {}", somePathParam);
        sleepThread(SLEEP_TIME_MILLIS);

        return PATH_PARAM_ENDPOINT_RESULT;
    }

    @GET
    @Path(WILDCARD_PATH_PREFIX + "/{restOfPath:.+}")
    public String getWildcard() {
        logger.info("Wildcard endpoint hit");
        sleepThread(SLEEP_TIME_MILLIS);

        return WILDCARD_RESULT;
    }

    @GET
    @Path(ASYNC_PATH)
    public void getAsync(@Suspended AsyncResponse asyncResponse) {
        logger.info("Async endpoint hit");

// Path: wingtips-core/src/main/java/com/nike/wingtips/util/AsyncWingtipsHelperJava7.java
// @Deprecated
// public static Runnable runnableWithTracing(Runnable runnable) {
//     return new RunnableWithTracing(runnable);
// }


// Path: samples/sample-jersey2/src/main/java/com/nike/wingtips/jersey2sample/resource/SampleResource.java
import com.nike.wingtips.servlet.RequestTracingFilter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.container.AsyncResponse;
import javax.ws.rs.container.Suspended;
import static com.nike.wingtips.util.AsyncWingtipsHelperJava7.runnableWithTracing;

    public String getBlocking() {
        logger.info("Blocking endpoint hit");
        sleepThread(SLEEP_TIME_MILLIS);

        return BLOCKING_RESULT;
    }

    @GET
    @Path(PATH_PARAM_ENDPOINT_PATH_PREFIX + "/{somePathParam}")
    public String getPathParam(@PathParam("somePathParam") String somePathParam) {
        logger.info("Path param endpoint hit - somePathParam: {}", somePathParam);
        sleepThread(SLEEP_TIME_MILLIS);

        return PATH_PARAM_ENDPOINT_RESULT;
    }

    @GET
    @Path(WILDCARD_PATH_PREFIX + "/{restOfPath:.+}")
    public String getWildcard() {
        logger.info("Wildcard endpoint hit");
        sleepThread(SLEEP_TIME_MILLIS);

        return WILDCARD_RESULT;
    }

    @GET
    @Path(ASYNC_PATH)
    public void getAsync(@Suspended AsyncResponse asyncResponse) {
        logger.info("Async endpoint hit");

        executor.execute(runnableWithTracing(() -> {