Skip to content

Commit cab403a

Browse files
brunoborgesCopilot
andcommitted
refactor(java): make default executor provider internal
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent ed4a7b9 commit cab403a

4 files changed

Lines changed: 20 additions & 18 deletions

File tree

java/src/main/java/com/github/copilot/CopilotClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,8 @@ public CopilotClient(CopilotClientOptions options) {
157157
}
158158

159159
Executor providedExecutor = this.options.getExecutor();
160-
this.executor = providedExecutor != null ? providedExecutor : DefaultExecutorProvider.create();
161-
this.ownedExecutor = providedExecutor == null && DefaultExecutorProvider.isOwned(this.executor)
160+
this.executor = providedExecutor != null ? providedExecutor : InternalExecutorProvider.create();
161+
this.ownedExecutor = providedExecutor == null && InternalExecutorProvider.isOwned(this.executor)
162162
&& this.executor instanceof ExecutorService executorService ? executorService : null;
163163

164164
this.serverManager = new CliServerManager(this.options);

java/src/main/java/com/github/copilot/DefaultExecutorProvider.java renamed to java/src/main/java/com/github/copilot/InternalExecutorProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
import java.util.concurrent.Executor;
88
import java.util.concurrent.ForkJoinPool;
99

10-
final class DefaultExecutorProvider {
10+
final class InternalExecutorProvider {
1111

12-
private DefaultExecutorProvider() {
12+
private InternalExecutorProvider() {
1313
}
1414

1515
static Executor create() {

java/src/main/java25/com/github/copilot/DefaultExecutorProvider.java renamed to java/src/main/java25/com/github/copilot/InternalExecutorProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
import java.util.concurrent.ExecutorService;
99
import java.util.concurrent.Executors;
1010

11-
final class DefaultExecutorProvider {
11+
final class InternalExecutorProvider {
1212

13-
private DefaultExecutorProvider() {
13+
private InternalExecutorProvider() {
1414
}
1515

1616
static Executor create() {

java/src/test/java/com/github/copilot/DefaultExecutorProviderTest.java renamed to java/src/test/java/com/github/copilot/InternalExecutorProviderTest.java

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010
import static org.junit.jupiter.api.Assertions.assertTrue;
1111

1212
import java.io.IOException;
13-
import java.lang.reflect.Method;
1413
import java.lang.reflect.Field;
14+
import java.lang.reflect.Method;
15+
import java.lang.reflect.Modifier;
1516
import java.net.URL;
1617
import java.net.URLClassLoader;
1718
import java.nio.file.Files;
@@ -31,14 +32,15 @@
3132

3233
import com.github.copilot.rpc.CopilotClientOptions;
3334

34-
class DefaultExecutorProviderTest {
35+
class InternalExecutorProviderTest {
3536

3637
@Test
3738
void baseProviderUsesCommonPoolWithoutOwnership() {
38-
Executor executor = DefaultExecutorProvider.create();
39+
Executor executor = InternalExecutorProvider.create();
3940

4041
assertSame(ForkJoinPool.commonPool(), executor);
41-
assertFalse(DefaultExecutorProvider.isOwned(executor));
42+
assertFalse(InternalExecutorProvider.isOwned(executor));
43+
assertFalse(Modifier.isPublic(InternalExecutorProvider.class.getModifiers()));
4244
}
4345

4446
@Test
@@ -62,17 +64,17 @@ void multiReleaseJarUsesOwnedVirtualThreadExecutorOnJdk25() throws Exception {
6264
}
6365

6466
Path classes = Path.of("target", "classes");
65-
Path baseClass = classes.resolve("com/github/copilot/DefaultExecutorProvider.class");
66-
Path java25Class = classes.resolve("META-INF/versions/25/com/github/copilot/DefaultExecutorProvider.class");
67-
assertTrue(Files.exists(baseClass), "Base DefaultExecutorProvider class must be compiled");
67+
Path baseClass = classes.resolve("com/github/copilot/InternalExecutorProvider.class");
68+
Path java25Class = classes.resolve("META-INF/versions/25/com/github/copilot/InternalExecutorProvider.class");
69+
assertTrue(Files.exists(baseClass), "Base InternalExecutorProvider class must be compiled");
6870
assertTrue(Files.exists(java25Class), "JDK 25 build must compile the multi-release executor provider");
6971

70-
Path jar = Files.createTempFile("copilot-sdk-default-executor", ".jar");
72+
Path jar = Files.createTempFile("copilot-sdk-internal-executor", ".jar");
7173
try {
7274
createProviderJar(jar, baseClass, java25Class);
7375

7476
try (var loader = new URLClassLoader(new URL[]{jar.toUri().toURL()}, null)) {
75-
Class<?> provider = Class.forName("com.github.copilot.DefaultExecutorProvider", true, loader);
77+
Class<?> provider = Class.forName("com.github.copilot.InternalExecutorProvider", true, loader);
7678
Method create = provider.getDeclaredMethod("create");
7779
Method isOwned = provider.getDeclaredMethod("isOwned", Executor.class);
7880
create.setAccessible(true);
@@ -103,7 +105,7 @@ void clientCloseShutsDownOwnedDefaultExecutorOnJdk25() throws Exception {
103105
}
104106

105107
Path classes = Path.of("target", "classes");
106-
Path jar = Files.createTempFile("copilot-sdk-client-default-executor", ".jar");
108+
Path jar = Files.createTempFile("copilot-sdk-client-internal-executor", ".jar");
107109
try {
108110
createClassesJar(jar, classes);
109111

@@ -144,8 +146,8 @@ private static void createProviderJar(Path jar, Path baseClass, Path java25Class
144146
attributes.putValue("Multi-Release", "true");
145147

146148
try (JarOutputStream output = new JarOutputStream(Files.newOutputStream(jar), manifest)) {
147-
addClass(output, "com/github/copilot/DefaultExecutorProvider.class", baseClass);
148-
addClass(output, "META-INF/versions/25/com/github/copilot/DefaultExecutorProvider.class", java25Class);
149+
addClass(output, "com/github/copilot/InternalExecutorProvider.class", baseClass);
150+
addClass(output, "META-INF/versions/25/com/github/copilot/InternalExecutorProvider.class", java25Class);
149151
}
150152
}
151153

0 commit comments

Comments
 (0)