Skip to content

Commit

Permalink
Apply formatter to minimize review comments
Browse files Browse the repository at this point in the history
  • Loading branch information
timtebeek committed Nov 28, 2024
1 parent 5a6f308 commit ba91ab2
Show file tree
Hide file tree
Showing 2 changed files with 131 additions and 129 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,11 @@ public TreeVisitor<?, ExecutionContext> getVisitor() {
private static class MigrateRequestConfigPrecondition extends JavaIsoVisitor<ExecutionContext> {

@Override
public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, ExecutionContext executionContext) {
public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx) {
if (MATCHER_STALE_CHECK_ENABLED.matches(method) && !Boolean.parseBoolean(method.getArguments().get(0).print())) {
return SearchResult.found(method);
}
return super.visitMethodInvocation(method, executionContext);
return super.visitMethodInvocation(method, ctx);
}
}

Expand All @@ -84,27 +84,27 @@ public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, Execu
doAfterVisit(new RemoveMethodInvocationsVisitor(Collections.singletonList(PATTERN_STALE_CHECK_ENABLED)));
} else if (MATCHER_REQUEST_CONFIG.matches(method)) {
Set<Tree> connManagers = new HashSet<>(TreeVisitor.collect(
new JavaIsoVisitor<ExecutionContext>() {
@Override
public J.VariableDeclarations visitVariableDeclarations(J.VariableDeclarations multiVariable, ExecutionContext ctx) {
if (TypeUtils.isOfClassType(multiVariable.getTypeAsFullyQualified(), FQN_POOL_CONN_MANAGER)) {
return SearchResult.found(multiVariable);
}
return super.visitVariableDeclarations(multiVariable, ctx);
}
},
getCursor().firstEnclosing(J.MethodDeclaration.class),
new HashSet<>()
new JavaIsoVisitor<ExecutionContext>() {
@Override
public J.VariableDeclarations visitVariableDeclarations(J.VariableDeclarations multiVariable, ExecutionContext ctx) {
if (TypeUtils.isOfClassType(multiVariable.getTypeAsFullyQualified(), FQN_POOL_CONN_MANAGER)) {
return SearchResult.found(multiVariable);
}
return super.visitVariableDeclarations(multiVariable, ctx);
}
},
getCursor().firstEnclosing(J.MethodDeclaration.class),
new HashSet<>()
));

// Call `setConnectionManager()` if there's no PoolingHttpClientConnectionManager
// The `poolingHttpClientConnectionManager` will be created later in `visitMethodDeclaration()`
if (connManagers.isEmpty()) {
method = JavaTemplate.builder(method.print() + "\n.setConnectionManager(poolingHttpClientConnectionManager);").
javaParser(JavaParser.fromJavaVersion().classpath(JavaParser.runtimeClasspath()))
.imports("org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager")
.build()
.apply(updateCursor(method), method.getCoordinates().replace());
javaParser(JavaParser.fromJavaVersion().classpath(JavaParser.runtimeClasspath()))
.imports("org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager")
.build()
.apply(updateCursor(method), method.getCoordinates().replace());
}

getCursor().putMessageOnFirstEnclosing(J.MethodDeclaration.class, KEY_HTTP_CLIENT_BUILDER, method);
Expand Down Expand Up @@ -133,21 +133,21 @@ public J.MethodDeclaration visitMethodDeclaration(J.MethodDeclaration method, Ex
if (varsConnManager != null) {
J.VariableDeclarations.NamedVariable connManager = varsConnManager.getVariables().get(0);
method = JavaTemplate.builder("#{any(org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager)}.setValidateAfterInactivity(TimeValue.NEG_ONE_MILLISECOND);")
.javaParser(JavaParser.fromJavaVersion().classpath("httpclient5", "httpcore5"))
.imports("org.apache.hc.core5.util.TimeValue")
.build()
.apply(getCursor(), varsConnManager.getCoordinates().after(), connManager.getName());
.javaParser(JavaParser.fromJavaVersion().classpath("httpclient5", "httpcore5"))
.imports("org.apache.hc.core5.util.TimeValue")
.build()
.apply(getCursor(), varsConnManager.getCoordinates().after(), connManager.getName());
} else {
Statement httpClientBuilder = getCursor().getMessage(KEY_HTTP_CLIENT_BUILDER);
// Consider it's an useless RequestConfig if there's no httpClientBuilder
if (httpClientBuilder != null) {
String tpl = "PoolingHttpClientConnectionManager poolingHttpClientConnectionManager = new PoolingHttpClientConnectionManager();" +
"poolingHttpClientConnectionManager.setValidateAfterInactivity(TimeValue.NEG_ONE_MILLISECOND);";
"poolingHttpClientConnectionManager.setValidateAfterInactivity(TimeValue.NEG_ONE_MILLISECOND);";
method = JavaTemplate.builder(tpl)
.javaParser(JavaParser.fromJavaVersion().classpath(JavaParser.runtimeClasspath()))
.imports(FQN_POOL_CONN_MANAGER)
.build()
.apply(updateCursor(method), method.getBody().getCoordinates().firstStatement());
.javaParser(JavaParser.fromJavaVersion().classpath(JavaParser.runtimeClasspath()))
.imports(FQN_POOL_CONN_MANAGER)
.build()
.apply(updateCursor(method), method.getBody().getCoordinates().firstStatement());
maybeAddImport(FQN_POOL_CONN_MANAGER);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@
import org.openrewrite.java.JavaParser;
import org.openrewrite.test.RecipeSpec;
import org.openrewrite.test.RewriteTest;
import org.openrewrite.test.TypeValidation;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import static org.assertj.core.api.Assertions.assertThat;
import static org.openrewrite.java.Assertions.java;
import static org.openrewrite.maven.Assertions.pomXml;
import org.openrewrite.test.TypeValidation;

class UpgradeApacheHttpClient5Test implements RewriteTest {

Expand Down Expand Up @@ -303,37 +303,37 @@ void method() {
@Test
void setStaleConnectionCheckEnabledTrue() {
rewriteRun(
//language=java
java(
"""
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
public class Example {
private CloseableHttpClient client() {
RequestConfig requestConfig = RequestConfig.custom().setStaleConnectionCheckEnabled(true).build();
return HttpClientBuilder.create()
.setDefaultRequestConfig(requestConfig)
.build();
}
}
""", """
import org.apache.hc.client5.http.config.RequestConfig;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
public class Example {
private CloseableHttpClient client() {
RequestConfig requestConfig = RequestConfig.custom().setStaleConnectionCheckEnabled(true).build();
return HttpClientBuilder.create()
.setDefaultRequestConfig(requestConfig)
.build();
}
}
""")
//language=java
java(
"""
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
public class Example {
private CloseableHttpClient client() {
RequestConfig requestConfig = RequestConfig.custom().setStaleConnectionCheckEnabled(true).build();
return HttpClientBuilder.create()
.setDefaultRequestConfig(requestConfig)
.build();
}
}
""", """
import org.apache.hc.client5.http.config.RequestConfig;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
public class Example {
private CloseableHttpClient client() {
RequestConfig requestConfig = RequestConfig.custom().setStaleConnectionCheckEnabled(true).build();
return HttpClientBuilder.create()
.setDefaultRequestConfig(requestConfig)
.build();
}
}
""")
);
}

Expand All @@ -344,45 +344,45 @@ void setStaleConnectionCheckEnabledFalseWithConnManager() {
//language=java
java(
"""
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
public class Example {
private CloseableHttpClient client() {
RequestConfig requestConfig = RequestConfig.custom().setStaleConnectionCheckEnabled(false).build();
PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager();
return HttpClientBuilder.create()
.setConnectionManager(connManager)
.setDefaultRequestConfig(requestConfig)
.build();
}
}
""", """
import org.apache.hc.core5.util.TimeValue;
import org.apache.hc.client5.http.config.RequestConfig;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager;
public class Example {
private CloseableHttpClient client() {
RequestConfig requestConfig = RequestConfig.custom().build();
PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager();
connManager.setValidateAfterInactivity(TimeValue.NEG_ONE_MILLISECOND);
return HttpClientBuilder.create()
.setConnectionManager(connManager)
.setDefaultRequestConfig(requestConfig)
.build();
}
}
""")
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
public class Example {
private CloseableHttpClient client() {
RequestConfig requestConfig = RequestConfig.custom().setStaleConnectionCheckEnabled(false).build();
PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager();
return HttpClientBuilder.create()
.setConnectionManager(connManager)
.setDefaultRequestConfig(requestConfig)
.build();
}
}
""", """
import org.apache.hc.core5.util.TimeValue;
import org.apache.hc.client5.http.config.RequestConfig;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager;
public class Example {
private CloseableHttpClient client() {
RequestConfig requestConfig = RequestConfig.custom().build();
PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager();
connManager.setValidateAfterInactivity(TimeValue.NEG_ONE_MILLISECOND);
return HttpClientBuilder.create()
.setConnectionManager(connManager)
.setDefaultRequestConfig(requestConfig)
.build();
}
}
""")
);
}

Expand All @@ -394,38 +394,40 @@ void setStaleConnectionCheckEnabledFalseWithoutConnManager() {
//language=java
java(
"""
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
public class Example {
private CloseableHttpClient client() {
RequestConfig requestConfig = RequestConfig.custom().setStaleConnectionCheckEnabled(false).build();
return HttpClientBuilder.create()
.setDefaultRequestConfig(requestConfig)
.build();
}
}
""", """
import org.apache.hc.client5.http.config.RequestConfig;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager;
public class Example {
private CloseableHttpClient client() {
PoolingHttpClientConnectionManager poolingHttpClientConnectionManager = new PoolingHttpClientConnectionManager();
poolingHttpClientConnectionManager.setValidateAfterInactivity(TimeValue.NEG_ONE_MILLISECOND);
RequestConfig requestConfig = RequestConfig.custom().build();
return HttpClientBuilder.create()
.setDefaultRequestConfig(requestConfig)
.setConnectionManager(poolingHttpClientConnectionManager)
.build();
}
}
""")
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
public class Example {
private CloseableHttpClient client() {
RequestConfig requestConfig = RequestConfig.custom().setStaleConnectionCheckEnabled(false).build();
return HttpClientBuilder.create()
.setDefaultRequestConfig(requestConfig)
.build();
}
}
""",
"""
import org.apache.hc.client5.http.config.RequestConfig;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager;
public class Example {
private CloseableHttpClient client() {
PoolingHttpClientConnectionManager poolingHttpClientConnectionManager = new PoolingHttpClientConnectionManager();
poolingHttpClientConnectionManager.setValidateAfterInactivity(TimeValue.NEG_ONE_MILLISECOND);
RequestConfig requestConfig = RequestConfig.custom().build();
return HttpClientBuilder.create()
.setDefaultRequestConfig(requestConfig)
.setConnectionManager(poolingHttpClientConnectionManager)
.build();
}
}
"""
)
);
}
}

0 comments on commit ba91ab2

Please sign in to comment.