Skip to content

Commit d49e38e

Browse files
committed
Correct swapped class names and implementation
For #546
1 parent 7fb21ed commit d49e38e

File tree

2 files changed

+117
-117
lines changed

2 files changed

+117
-117
lines changed

src/main/java/org/openrewrite/java/spring/http/ReplaceStringLiteralsWithHttpHeadersConstants.java

Lines changed: 76 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -20,55 +20,85 @@
2020
import org.openrewrite.java.JavaIsoVisitor;
2121
import org.openrewrite.java.ReplaceStringLiteralWithConstant;
2222
import org.openrewrite.java.tree.J;
23+
import org.openrewrite.maven.search.DependencyInsight;
2324

2425
import java.util.Arrays;
2526
import java.util.List;
2627
import java.util.concurrent.atomic.AtomicBoolean;
2728

28-
import static org.openrewrite.java.spring.http.ReplaceStringLiteralsWithMediaTypeConstants.declaresSpringWebDependency;
29-
3029
public class ReplaceStringLiteralsWithHttpHeadersConstants extends ScanningRecipe<AtomicBoolean> {
3130

32-
private static final List<String> MEDIA_TYPES = Arrays.asList(
33-
"ALL_VALUE",
34-
"APPLICATION_ATOM_XML_VALUE",
35-
"APPLICATION_CBOR_VALUE",
36-
"APPLICATION_FORM_URLENCODED_VALUE",
37-
"APPLICATION_GRAPHQL_VALUE",
38-
"APPLICATION_GRAPHQL_RESPONSE_VALUE",
39-
"APPLICATION_JSON_VALUE",
40-
"APPLICATION_JSON_UTF8_VALUE",
41-
"APPLICATION_OCTET_STREAM_VALUE",
42-
"APPLICATION_PDF_VALUE",
43-
"APPLICATION_PROBLEM_JSON_VALUE",
44-
"APPLICATION_PROBLEM_JSON_UTF8_VALUE",
45-
"APPLICATION_PROBLEM_XML_VALUE",
46-
"APPLICATION_PROTOBUF_VALUE",
47-
"APPLICATION_RSS_XML_VALUE",
48-
"APPLICATION_NDJSON_VALUE",
49-
"APPLICATION_STREAM_JSON_VALUE",
50-
"APPLICATION_XHTML_XML_VALUE",
51-
"APPLICATION_XML_VALUE",
52-
"IMAGE_GIF_VALUE",
53-
"IMAGE_JPEG_VALUE",
54-
"IMAGE_PNG_VALUE",
55-
"MULTIPART_FORM_DATA_VALUE",
56-
"MULTIPART_MIXED_VALUE",
57-
"MULTIPART_RELATED_VALUE",
58-
"TEXT_EVENT_STREAM_VALUE",
59-
"TEXT_HTML_VALUE",
60-
"TEXT_MARKDOWN_VALUE",
61-
"TEXT_PLAIN_VALUE",
62-
"TEXT_XML_VALUE");
31+
private static final List<String> HEADERS = Arrays.asList(
32+
"ACCEPT",
33+
"ACCEPT_CHARSET",
34+
"ACCEPT_ENCODING",
35+
"ACCEPT_LANGUAGE",
36+
"ACCEPT_PATCH",
37+
"ACCEPT_RANGES",
38+
"ACCESS_CONTROL_ALLOW_CREDENTIALS",
39+
"ACCESS_CONTROL_ALLOW_HEADERS",
40+
"ACCESS_CONTROL_ALLOW_METHODS",
41+
"ACCESS_CONTROL_ALLOW_ORIGIN",
42+
"ACCESS_CONTROL_EXPOSE_HEADERS",
43+
"ACCESS_CONTROL_MAX_AGE",
44+
"ACCESS_CONTROL_REQUEST_HEADERS",
45+
"ACCESS_CONTROL_REQUEST_METHOD",
46+
"AGE",
47+
"ALLOW",
48+
"AUTHORIZATION",
49+
"CACHE_CONTROL",
50+
"CONNECTION",
51+
"CONTENT_ENCODING",
52+
"CONTENT_DISPOSITION",
53+
"CONTENT_LANGUAGE",
54+
"CONTENT_LENGTH",
55+
"CONTENT_LOCATION",
56+
"CONTENT_RANGE",
57+
"CONTENT_TYPE",
58+
"COOKIE",
59+
"DATE",
60+
"ETAG",
61+
"EXPECT",
62+
"EXPIRES",
63+
"FROM",
64+
"HOST",
65+
"IF_MATCH",
66+
"IF_MODIFIED_SINCE",
67+
"IF_NONE_MATCH",
68+
"IF_RANGE",
69+
"IF_UNMODIFIED_SINCE",
70+
"LAST_MODIFIED",
71+
"LINK",
72+
"LOCATION",
73+
"MAX_FORWARDS",
74+
"ORIGIN",
75+
"PRAGMA",
76+
"PROXY_AUTHENTICATE",
77+
"PROXY_AUTHORIZATION",
78+
"RANGE",
79+
"REFERER",
80+
"RETRY_AFTER",
81+
"SERVER",
82+
"SET_COOKIE",
83+
"SET_COOKIE2",
84+
"TE",
85+
"TRAILER",
86+
"TRANSFER_ENCODING",
87+
"UPGRADE",
88+
"USER_AGENT",
89+
"VARY",
90+
"VIA",
91+
"WARNING",
92+
"WWW_AUTHENTICATE");
6393

6494
@Override
6595
public String getDisplayName() {
66-
return "Replace String literals with `MediaType` constants";
96+
return "Replace String literals with `HttpHeaders` constants";
6797
}
6898

6999
@Override
70100
public String getDescription() {
71-
return "Replace String literals with `org.springframework.http.MediaType` constants.";
101+
return "Replace String literals with `org.springframework.http.HttpHeaders` constants.";
72102
}
73103

74104
@Override
@@ -95,15 +125,20 @@ public TreeVisitor<?, ExecutionContext> getVisitor(AtomicBoolean acc) {
95125
@Override
96126
public J preVisit(J tree, ExecutionContext ctx) {
97127
stopAfterPreVisit();
98-
for (String mediaType : MEDIA_TYPES) {
99-
try {
100-
doAfterVisit(new ReplaceStringLiteralWithConstant("org.springframework.http.MediaType." + mediaType).getVisitor());
101-
} catch (IllegalArgumentException ignore) {
102-
// this is typically a NoSuchFieldException when an older version of Spring is used
103-
}
128+
for (String header : HEADERS) {
129+
doAfterVisit(new ReplaceStringLiteralWithConstant("org.springframework.http.HttpHeaders." + header).getVisitor());
104130
}
105131
return tree;
106132
}
107133
});
108134
}
135+
136+
static boolean declaresSpringWebDependency(SourceFile sourceFile, ExecutionContext ctx) {
137+
TreeVisitor<?, ExecutionContext> visitor = new DependencyInsight("org.springframework", "spring-web", "compile", null, null).getVisitor();
138+
if (visitor.isAcceptable(sourceFile, ctx) && visitor.visit(sourceFile, ctx) != sourceFile) {
139+
return true;
140+
}
141+
visitor = new org.openrewrite.gradle.search.DependencyInsight("org.springframework", "spring-web", "compileClasspath", null).getVisitor();
142+
return visitor.isAcceptable(sourceFile, ctx) && visitor.visit(sourceFile, ctx) != sourceFile;
143+
}
109144
}

src/main/java/org/openrewrite/java/spring/http/ReplaceStringLiteralsWithMediaTypeConstants.java

Lines changed: 41 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -20,85 +20,55 @@
2020
import org.openrewrite.java.JavaIsoVisitor;
2121
import org.openrewrite.java.ReplaceStringLiteralWithConstant;
2222
import org.openrewrite.java.tree.J;
23-
import org.openrewrite.maven.search.DependencyInsight;
2423

2524
import java.util.Arrays;
2625
import java.util.List;
2726
import java.util.concurrent.atomic.AtomicBoolean;
2827

28+
import static org.openrewrite.java.spring.http.ReplaceStringLiteralsWithHttpHeadersConstants.declaresSpringWebDependency;
29+
2930
public class ReplaceStringLiteralsWithMediaTypeConstants extends ScanningRecipe<AtomicBoolean> {
3031

31-
private static final List<String> HEADERS = Arrays.asList(
32-
"ACCEPT",
33-
"ACCEPT_CHARSET",
34-
"ACCEPT_ENCODING",
35-
"ACCEPT_LANGUAGE",
36-
"ACCEPT_PATCH",
37-
"ACCEPT_RANGES",
38-
"ACCESS_CONTROL_ALLOW_CREDENTIALS",
39-
"ACCESS_CONTROL_ALLOW_HEADERS",
40-
"ACCESS_CONTROL_ALLOW_METHODS",
41-
"ACCESS_CONTROL_ALLOW_ORIGIN",
42-
"ACCESS_CONTROL_EXPOSE_HEADERS",
43-
"ACCESS_CONTROL_MAX_AGE",
44-
"ACCESS_CONTROL_REQUEST_HEADERS",
45-
"ACCESS_CONTROL_REQUEST_METHOD",
46-
"AGE",
47-
"ALLOW",
48-
"AUTHORIZATION",
49-
"CACHE_CONTROL",
50-
"CONNECTION",
51-
"CONTENT_ENCODING",
52-
"CONTENT_DISPOSITION",
53-
"CONTENT_LANGUAGE",
54-
"CONTENT_LENGTH",
55-
"CONTENT_LOCATION",
56-
"CONTENT_RANGE",
57-
"CONTENT_TYPE",
58-
"COOKIE",
59-
"DATE",
60-
"ETAG",
61-
"EXPECT",
62-
"EXPIRES",
63-
"FROM",
64-
"HOST",
65-
"IF_MATCH",
66-
"IF_MODIFIED_SINCE",
67-
"IF_NONE_MATCH",
68-
"IF_RANGE",
69-
"IF_UNMODIFIED_SINCE",
70-
"LAST_MODIFIED",
71-
"LINK",
72-
"LOCATION",
73-
"MAX_FORWARDS",
74-
"ORIGIN",
75-
"PRAGMA",
76-
"PROXY_AUTHENTICATE",
77-
"PROXY_AUTHORIZATION",
78-
"RANGE",
79-
"REFERER",
80-
"RETRY_AFTER",
81-
"SERVER",
82-
"SET_COOKIE",
83-
"SET_COOKIE2",
84-
"TE",
85-
"TRAILER",
86-
"TRANSFER_ENCODING",
87-
"UPGRADE",
88-
"USER_AGENT",
89-
"VARY",
90-
"VIA",
91-
"WARNING",
92-
"WWW_AUTHENTICATE");
32+
private static final List<String> MEDIA_TYPES = Arrays.asList(
33+
"ALL_VALUE",
34+
"APPLICATION_ATOM_XML_VALUE",
35+
"APPLICATION_CBOR_VALUE",
36+
"APPLICATION_FORM_URLENCODED_VALUE",
37+
"APPLICATION_GRAPHQL_VALUE",
38+
"APPLICATION_GRAPHQL_RESPONSE_VALUE",
39+
"APPLICATION_JSON_VALUE",
40+
"APPLICATION_JSON_UTF8_VALUE",
41+
"APPLICATION_OCTET_STREAM_VALUE",
42+
"APPLICATION_PDF_VALUE",
43+
"APPLICATION_PROBLEM_JSON_VALUE",
44+
"APPLICATION_PROBLEM_JSON_UTF8_VALUE",
45+
"APPLICATION_PROBLEM_XML_VALUE",
46+
"APPLICATION_PROTOBUF_VALUE",
47+
"APPLICATION_RSS_XML_VALUE",
48+
"APPLICATION_NDJSON_VALUE",
49+
"APPLICATION_STREAM_JSON_VALUE",
50+
"APPLICATION_XHTML_XML_VALUE",
51+
"APPLICATION_XML_VALUE",
52+
"IMAGE_GIF_VALUE",
53+
"IMAGE_JPEG_VALUE",
54+
"IMAGE_PNG_VALUE",
55+
"MULTIPART_FORM_DATA_VALUE",
56+
"MULTIPART_MIXED_VALUE",
57+
"MULTIPART_RELATED_VALUE",
58+
"TEXT_EVENT_STREAM_VALUE",
59+
"TEXT_HTML_VALUE",
60+
"TEXT_MARKDOWN_VALUE",
61+
"TEXT_PLAIN_VALUE",
62+
"TEXT_XML_VALUE");
9363

9464
@Override
9565
public String getDisplayName() {
96-
return "Replace String literals with `HttpHeaders` constants";
66+
return "Replace String literals with `MediaType` constants";
9767
}
9868

9969
@Override
10070
public String getDescription() {
101-
return "Replace String literals with `org.springframework.http.HttpHeaders` constants.";
71+
return "Replace String literals with `org.springframework.http.MediaType` constants.";
10272
}
10373

10474
@Override
@@ -125,20 +95,15 @@ public TreeVisitor<?, ExecutionContext> getVisitor(AtomicBoolean acc) {
12595
@Override
12696
public J preVisit(J tree, ExecutionContext ctx) {
12797
stopAfterPreVisit();
128-
for (String header : HEADERS) {
129-
doAfterVisit(new ReplaceStringLiteralWithConstant("org.springframework.http.HttpHeaders." + header).getVisitor());
98+
for (String mediaType : MEDIA_TYPES) {
99+
try {
100+
doAfterVisit(new ReplaceStringLiteralWithConstant("org.springframework.http.MediaType." + mediaType).getVisitor());
101+
} catch (IllegalArgumentException ignore) {
102+
// this is typically a NoSuchFieldException when an older version of Spring is used
103+
}
130104
}
131105
return tree;
132106
}
133107
});
134108
}
135-
136-
static boolean declaresSpringWebDependency(SourceFile sourceFile, ExecutionContext ctx) {
137-
TreeVisitor<?, ExecutionContext> visitor = new DependencyInsight("org.springframework", "spring-web", "compile", null, null).getVisitor();
138-
if (visitor.isAcceptable(sourceFile, ctx) && visitor.visit(sourceFile, ctx) != sourceFile) {
139-
return true;
140-
}
141-
visitor = new org.openrewrite.gradle.search.DependencyInsight("org.springframework", "spring-web", "compileClasspath", null).getVisitor();
142-
return visitor.isAcceptable(sourceFile, ctx) && visitor.visit(sourceFile, ctx) != sourceFile;
143-
}
144109
}

0 commit comments

Comments
 (0)