package org.threadly.concurrent.wrapper.traceability;
import org.threadly.concurrent.PrioritySchedulerTest.PrioritySchedulerFactory;
import org.threadly.concurrent.SubmitterExecutor;
import org.threadly.concurrent.SubmitterExecutorInterfaceTest;
@SuppressWarnings("javadoc")
public class ThreadRenamingExecutorTest extends SubmitterExecutorInterfaceTest {
@Override
protected SubmitterExecutorFactory getSubmitterExecutorFactory() {
return new ThreadRenamingPoolWrapperFactory();
}
private static class ThreadRenamingPoolWrapperFactory implements SubmitterExecutorFactory {
private final PrioritySchedulerFactory schedulerFactory = new PrioritySchedulerFactory();
@Override
public SubmitterExecutor makeSubmitterExecutor(int poolSize, boolean prestartIfAvailable) {
SubmitterExecutor executor = schedulerFactory.makeSubmitterExecutor(poolSize, prestartIfAvailable);
return new ThreadRenamingExecutor(executor, "foo", false);
}
@Override
public void shutdown() {
schedulerFactory.shutdown();
}
}
}