Skip to content

Commit 44ef3da

Browse files
authored
Migrate from EE 8 to EE 9 (#2625)
1 parent 4f0c1ad commit 44ef3da

File tree

11 files changed

+49
-49
lines changed

11 files changed

+49
-49
lines changed

docs/PLUGINS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public static final class DescriptorImpl extends Descriptor<Foo> {
4545
/** optional password */
4646
private Secret password;
4747

48-
public boolean configure(StaplerRequest req, JSONObject json) throws FormException {
48+
public boolean configure(StaplerRequest2 req, JSONObject json) throws FormException {
4949
charset = json.getString("charset");
5050
if (json.has("usePassword")) {
5151
password = Secret.fromString(nullify(auth.getString("password")));
@@ -170,7 +170,7 @@ Rewrite `Descriptor#configure()` implementation to rely on `request.bindJson(thi
170170
default values as a `Descriptor` is a mutable object, i.e. data-binding won't reset values if they are not present in the JSON payload.
171171
172172
```java
173-
public boolean configure(StaplerRequest req, JSONObject json) throws FormException {
173+
public boolean configure(StaplerRequest2 req, JSONObject json) throws FormException {
174174
// reset optional authentication to default before data-binding
175175
this.authentication = null;
176176
req.bindJSON(this, json);

docs/REQUIREMENTS.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ is attached to a Descriptors.
2424

2525
### Rule 1: don't write code for data-binding
2626

27-
Check implementation of `Descriptor#configure(StaplerRequest,JSONObject)` in your descriptors.
27+
Check implementation of `Descriptor#configure(StaplerRequest2,JSONObject)` in your descriptors.
2828
This one should **not** use any of the `JSONObject.get*()` methods to set value for an internal
2929
field. Prefer exposing JavaBean setter methods, and use `req.bindJSON(this,JSONObject)` to rely
3030
on introspection-friendly data-binding.
@@ -35,7 +35,7 @@ to do anyway, as it makes their intent more clear.
3535
sample:
3636

3737
```java
38-
public boolean configure(StaplerRequest req, JSONObject json) throws FormException {
38+
public boolean configure(StaplerRequest2 req, JSONObject json) throws FormException {
3939
smtpHost = nullify(json.getString("smtpHost"));
4040
replyToAddress = json.getString("replyToAddress");
4141
...
@@ -47,7 +47,7 @@ public boolean configure(StaplerRequest req, JSONObject json) throws FormExcepti
4747
to be replaced by:
4848

4949
```java
50-
public boolean configure(StaplerRequest req, JSONObject json) throws FormException {
50+
public boolean configure(StaplerRequest2 req, JSONObject json) throws FormException {
5151
try (BulkChange bc = new BulkChange(this)) {
5252
req.bindJSON(this, json);
5353
bc.commit();
@@ -102,7 +102,7 @@ sample:
102102
private String username;
103103
private Secret password;
104104

105-
public boolean configure(StaplerRequest req, JSONObject json) throws FormException {
105+
public boolean configure(StaplerRequest2 req, JSONObject json) throws FormException {
106106
if(json.has("useAuth")) {
107107
JSONObject auth = json.getJSONObject("useAuth");
108108
username = nullify(auth.getString("username"));

plugin/src/main/java/io/jenkins/plugins/casc/CasCGlobalConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import net.sf.json.JSONObject;
77
import org.kohsuke.stapler.DataBoundConstructor;
88
import org.kohsuke.stapler.DataBoundSetter;
9-
import org.kohsuke.stapler.StaplerRequest;
9+
import org.kohsuke.stapler.StaplerRequest2;
1010

1111
/**
1212
*
@@ -41,7 +41,7 @@ public void setConfigurationPath(String configurationPath) {
4141
}
4242

4343
@Override
44-
public boolean configure(StaplerRequest req, JSONObject json) throws FormException {
44+
public boolean configure(StaplerRequest2 req, JSONObject json) throws FormException {
4545
req.bindJSON(this, json);
4646
save();
4747
return super.configure(req, json);

plugin/src/main/java/io/jenkins/plugins/casc/ConfigurationAsCode.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@
3333
import io.jenkins.plugins.casc.yaml.YamlUtils;
3434
import io.jenkins.plugins.prism.PrismConfiguration;
3535
import jakarta.inject.Inject;
36+
import jakarta.servlet.RequestDispatcher;
37+
import jakarta.servlet.ServletContext;
38+
import jakarta.servlet.ServletException;
39+
import jakarta.servlet.http.HttpServletResponse;
3640
import java.io.ByteArrayOutputStream;
3741
import java.io.File;
3842
import java.io.IOException;
@@ -68,10 +72,6 @@
6872
import java.util.logging.Logger;
6973
import java.util.stream.IntStream;
7074
import java.util.stream.Stream;
71-
import javax.servlet.RequestDispatcher;
72-
import javax.servlet.ServletContext;
73-
import javax.servlet.ServletException;
74-
import javax.servlet.http.HttpServletResponse;
7575
import jenkins.model.GlobalConfiguration;
7676
import jenkins.model.Jenkins;
7777
import net.sf.json.JSONArray;
@@ -81,8 +81,8 @@
8181
import org.kohsuke.accmod.Restricted;
8282
import org.kohsuke.accmod.restrictions.NoExternalUse;
8383
import org.kohsuke.stapler.QueryParameter;
84-
import org.kohsuke.stapler.StaplerRequest;
85-
import org.kohsuke.stapler.StaplerResponse;
84+
import org.kohsuke.stapler.StaplerRequest2;
85+
import org.kohsuke.stapler.StaplerResponse2;
8686
import org.kohsuke.stapler.interceptor.RequirePOST;
8787
import org.kohsuke.stapler.lang.Klass;
8888
import org.kohsuke.stapler.verb.POST;
@@ -167,7 +167,7 @@ public List<String> getSources() {
167167

168168
@RequirePOST
169169
@Restricted(NoExternalUse.class)
170-
public void doReload(StaplerRequest request, StaplerResponse response) throws Exception {
170+
public void doReload(StaplerRequest2 request, StaplerResponse2 response) throws Exception {
171171
if (!Jenkins.get().hasPermission(Jenkins.MANAGE)) {
172172
response.sendError(HttpServletResponse.SC_FORBIDDEN);
173173
return;
@@ -193,7 +193,7 @@ public void doReload(StaplerRequest request, StaplerResponse response) throws Ex
193193

194194
@Restricted(NoExternalUse.class)
195195
public static void handleExceptionOnReloading(
196-
StaplerRequest request, StaplerResponse response, ConfiguratorException cause)
196+
StaplerRequest2 request, StaplerResponse2 response, ConfiguratorException cause)
197197
throws ServletException, IOException {
198198
Configurator<?> configurator = cause.getConfigurator();
199199
request.setAttribute("errorMessage", cause.getErrorMessage());
@@ -213,7 +213,7 @@ public static void handleExceptionOnReloading(
213213

214214
@RequirePOST
215215
@Restricted(NoExternalUse.class)
216-
public void doReplace(StaplerRequest request, StaplerResponse response) throws Exception {
216+
public void doReplace(StaplerRequest2 request, StaplerResponse2 response) throws Exception {
217217
if (!Jenkins.get().hasPermission(Jenkins.ADMINISTER)) {
218218
response.sendError(HttpServletResponse.SC_FORBIDDEN);
219219
return;
@@ -421,7 +421,7 @@ public List<String> getBundledCasCURIs() {
421421
final String cascDirectory = "/WEB-INF/" + DEFAULT_JENKINS_YAML_PATH + ".d/";
422422
List<String> res = new ArrayList<>();
423423

424-
final ServletContext servletContext = Jenkins.get().servletContext;
424+
final ServletContext servletContext = Jenkins.get().getServletContext();
425425
try {
426426
URL bundled = servletContext.getResource(cascFile);
427427
if (bundled != null) {
@@ -452,7 +452,7 @@ public List<String> getBundledCasCURIs() {
452452

453453
@RequirePOST
454454
@Restricted(NoExternalUse.class)
455-
public void doCheck(StaplerRequest req, StaplerResponse res) throws Exception {
455+
public void doCheck(StaplerRequest2 req, StaplerResponse2 res) throws Exception {
456456

457457
if (!Jenkins.get().hasPermission(Jenkins.ADMINISTER)) {
458458
res.sendError(HttpServletResponse.SC_FORBIDDEN);
@@ -470,7 +470,7 @@ public void doCheck(StaplerRequest req, StaplerResponse res) throws Exception {
470470

471471
@RequirePOST
472472
@Restricted(NoExternalUse.class)
473-
public void doApply(StaplerRequest req, StaplerResponse res) throws Exception {
473+
public void doApply(StaplerRequest2 req, StaplerResponse2 res) throws Exception {
474474

475475
if (!Jenkins.get().hasPermission(Jenkins.ADMINISTER)) {
476476
res.sendError(HttpServletResponse.SC_FORBIDDEN);
@@ -485,7 +485,7 @@ public void doApply(StaplerRequest req, StaplerResponse res) throws Exception {
485485
*/
486486
@RequirePOST
487487
@Restricted(NoExternalUse.class)
488-
public void doExport(StaplerRequest req, StaplerResponse res) throws Exception {
488+
public void doExport(StaplerRequest2 req, StaplerResponse2 res) throws Exception {
489489
if (!Jenkins.get().hasPermission(Jenkins.SYSTEM_READ)) {
490490
res.sendError(HttpServletResponse.SC_FORBIDDEN);
491491
return;
@@ -501,7 +501,7 @@ public void doExport(StaplerRequest req, StaplerResponse res) throws Exception {
501501
* @throws Exception
502502
*/
503503
@Restricted(NoExternalUse.class)
504-
public void doSchema(StaplerRequest req, StaplerResponse res) throws Exception {
504+
public void doSchema(StaplerRequest2 req, StaplerResponse2 res) throws Exception {
505505
if (!Jenkins.get().hasPermission(Jenkins.SYSTEM_READ)) {
506506
res.sendError(HttpServletResponse.SC_FORBIDDEN);
507507
return;
@@ -513,7 +513,7 @@ public void doSchema(StaplerRequest req, StaplerResponse res) throws Exception {
513513

514514
@RequirePOST
515515
@Restricted(NoExternalUse.class)
516-
public void doViewExport(StaplerRequest req, StaplerResponse res) throws Exception {
516+
public void doViewExport(StaplerRequest2 req, StaplerResponse2 res) throws Exception {
517517
if (!Jenkins.get().hasPermission(Jenkins.SYSTEM_READ)) {
518518
res.sendError(HttpServletResponse.SC_FORBIDDEN);
519519
return;
@@ -532,7 +532,7 @@ public PrismConfiguration getPrismConfiguration() {
532532
}
533533

534534
@Restricted(NoExternalUse.class)
535-
public void doReference(StaplerRequest req, StaplerResponse res) throws Exception {
535+
public void doReference(StaplerRequest2 req, StaplerResponse2 res) throws Exception {
536536
if (!Jenkins.get().hasPermission(Jenkins.SYSTEM_READ)) {
537537
res.sendError(HttpServletResponse.SC_FORBIDDEN);
538538
return;

plugin/src/main/java/io/jenkins/plugins/casc/ConfigurationAsCodeBootFailure.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
package io.jenkins.plugins.casc;
22

33
import hudson.util.BootFailure;
4+
import jakarta.servlet.ServletException;
45
import java.io.IOException;
5-
import javax.servlet.ServletException;
6-
import org.kohsuke.stapler.StaplerRequest;
7-
import org.kohsuke.stapler.StaplerResponse;
6+
import org.kohsuke.stapler.StaplerRequest2;
7+
import org.kohsuke.stapler.StaplerResponse2;
88

99
public class ConfigurationAsCodeBootFailure extends BootFailure {
1010

1111
public ConfigurationAsCodeBootFailure(ConfiguratorException cause) {
1212
super(cause);
1313
}
1414

15-
public void doDynamic(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException {
15+
public void doDynamic(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException {
1616
rsp.setStatus(503);
1717
ConfigurationAsCode.handleExceptionOnReloading(req, rsp, (ConfiguratorException) getCause());
1818
}

plugin/src/main/java/io/jenkins/plugins/casc/TokenReloadCrumbExclusion.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
import hudson.Extension;
44
import hudson.security.csrf.CrumbExclusion;
5+
import jakarta.servlet.FilterChain;
6+
import jakarta.servlet.ServletException;
7+
import jakarta.servlet.http.HttpServletRequest;
8+
import jakarta.servlet.http.HttpServletResponse;
59
import java.io.IOException;
6-
import javax.servlet.FilterChain;
7-
import javax.servlet.ServletException;
8-
import javax.servlet.http.HttpServletRequest;
9-
import javax.servlet.http.HttpServletResponse;
1010

1111
@Extension
1212
public class TokenReloadCrumbExclusion extends CrumbExclusion {

plugin/src/main/java/io/jenkins/plugins/casc/yaml/YamlSource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package io.jenkins.plugins.casc.yaml;
22

3+
import jakarta.servlet.http.HttpServletRequest;
34
import java.io.InputStream;
45
import java.nio.file.Path;
5-
import javax.servlet.http.HttpServletRequest;
66

77
/**
88
* @author <a href="mailto:nicolas.deloof@gmail.com">Nicolas De Loof</a>

plugin/src/main/java/io/jenkins/plugins/casc/yaml/YamlUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import io.jenkins.plugins.casc.ConfigurationContext;
77
import io.jenkins.plugins.casc.ConfiguratorException;
88
import io.jenkins.plugins.casc.model.Mapping;
9+
import jakarta.servlet.http.HttpServletRequest;
910
import java.io.IOException;
1011
import java.io.InputStream;
1112
import java.io.InputStreamReader;
@@ -16,7 +17,6 @@
1617
import java.nio.file.Path;
1718
import java.util.List;
1819
import java.util.logging.Logger;
19-
import javax.servlet.http.HttpServletRequest;
2020
import org.yaml.snakeyaml.LoaderOptions;
2121
import org.yaml.snakeyaml.composer.Composer;
2222
import org.yaml.snakeyaml.error.YAMLException;

plugin/src/test/java/io/jenkins/plugins/casc/MockHttpServletRequest.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
package io.jenkins.plugins.casc;
22

3+
import jakarta.servlet.AsyncContext;
4+
import jakarta.servlet.DispatcherType;
5+
import jakarta.servlet.RequestDispatcher;
6+
import jakarta.servlet.ServletContext;
7+
import jakarta.servlet.ServletInputStream;
8+
import jakarta.servlet.ServletRequest;
9+
import jakarta.servlet.ServletResponse;
10+
import jakarta.servlet.http.Cookie;
11+
import jakarta.servlet.http.HttpServletRequest;
12+
import jakarta.servlet.http.HttpServletResponse;
13+
import jakarta.servlet.http.HttpSession;
14+
import jakarta.servlet.http.HttpUpgradeHandler;
15+
import jakarta.servlet.http.Part;
316
import java.io.BufferedReader;
417
import java.security.Principal;
518
import java.util.Collection;
619
import java.util.Enumeration;
720
import java.util.Locale;
821
import java.util.Map;
922
import java.util.Objects;
10-
import javax.servlet.AsyncContext;
11-
import javax.servlet.DispatcherType;
12-
import javax.servlet.RequestDispatcher;
13-
import javax.servlet.ServletContext;
14-
import javax.servlet.ServletInputStream;
15-
import javax.servlet.ServletRequest;
16-
import javax.servlet.ServletResponse;
17-
import javax.servlet.http.Cookie;
18-
import javax.servlet.http.HttpServletRequest;
19-
import javax.servlet.http.HttpServletResponse;
20-
import javax.servlet.http.HttpSession;
21-
import javax.servlet.http.HttpUpgradeHandler;
22-
import javax.servlet.http.Part;
2323

2424
public class MockHttpServletRequest implements HttpServletRequest {
2525

plugin/src/test/java/io/jenkins/plugins/casc/yaml/YamlSourceTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
import static org.junit.Assert.assertEquals;
44

55
import io.jenkins.plugins.casc.MockHttpServletRequest;
6+
import jakarta.servlet.http.HttpServletRequest;
67
import java.io.ByteArrayInputStream;
78
import java.io.File;
89
import java.io.InputStream;
910
import java.nio.charset.StandardCharsets;
1011
import java.nio.file.Path;
11-
import javax.servlet.http.HttpServletRequest;
1212
import org.junit.Test;
1313

1414
public class YamlSourceTest {

0 commit comments

Comments
 (0)