This is an automated email from the ASF dual-hosted git repository.
enorman pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-serviceuser-webconsole.git
The following commit(s) were added to refs/heads/master by this push:
new 01e5bf7 SLING-13012 migrate to o.a.felix.webconsole 5.x and jakarta
servlet (#10)
01e5bf7 is described below
commit 01e5bf70df6c3d149c9f1ccdf699fe3685a9a22a
Author: Eric Norman <[email protected]>
AuthorDate: Fri Nov 28 16:31:44 2025 -0800
SLING-13012 migrate to o.a.felix.webconsole 5.x and jakarta servlet (#10)
---
pom.xml | 19 ++++--
.../impl/ServiceUserWebConsolePlugin.java | 56 +++++++---------
src/main/resources/res/ui/serviceusermanager.js | 6 +-
.../impl/ServiceUserWebConsolePluginTest.java | 76 +++++++++-------------
4 files changed, 68 insertions(+), 89 deletions(-)
diff --git a/pom.xml b/pom.xml
index a76b62e..b7730ce 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
</parent>
<artifactId>org.apache.sling.serviceuser.webconsole</artifactId>
- <version>1.0.5-SNAPSHOT</version>
+ <version>2.0.0-SNAPSHOT</version>
<name>Apache Sling Service User Web Console</name>
<description>Provides an OSGi Web Console for creating, updating and
viewing Service Users.</description>
@@ -39,10 +39,16 @@
<oak.version>1.44.0</oak.version>
</properties>
<dependencies>
+ <dependency>
+ <groupId>org.jetbrains</groupId>
+ <artifactId>annotations</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.api</artifactId>
- <version>2.25.4</version>
+ <version>3.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -109,8 +115,9 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ <version>6.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -124,7 +131,7 @@
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.webconsole</artifactId>
- <version>4.2.0</version>
+ <version>5.0.10</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -164,7 +171,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.testing.sling-mock.junit5</artifactId>
- <version>3.5.6</version>
+ <version>4.0.2</version>
<scope>test</scope>
</dependency>
</dependencies>
diff --git
a/src/main/java/org/apache/sling/serviceuser/webconsole/impl/ServiceUserWebConsolePlugin.java
b/src/main/java/org/apache/sling/serviceuser/webconsole/impl/ServiceUserWebConsolePlugin.java
index e9fa119..dd028b6 100644
---
a/src/main/java/org/apache/sling/serviceuser/webconsole/impl/ServiceUserWebConsolePlugin.java
+++
b/src/main/java/org/apache/sling/serviceuser/webconsole/impl/ServiceUserWebConsolePlugin.java
@@ -27,10 +27,6 @@ import javax.jcr.security.AccessControlList;
import javax.jcr.security.AccessControlManager;
import javax.jcr.security.AccessControlPolicy;
import javax.jcr.security.Privilege;
-import javax.servlet.Servlet;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@@ -54,14 +50,17 @@ import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.stream.StreamSupport;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
-import org.apache.felix.webconsole.AbstractWebConsolePlugin;
-import org.apache.felix.webconsole.WebConsoleConstants;
-import org.apache.felix.webconsole.WebConsoleUtil;
+import org.apache.felix.webconsole.servlet.AbstractServlet;
+import org.apache.felix.webconsole.servlet.ServletConstants;
import org.apache.jackrabbit.JcrConstants;
import org.apache.jackrabbit.api.security.principal.PrincipalManager;
import org.apache.jackrabbit.api.security.user.Authorizable;
@@ -102,12 +101,12 @@ import org.slf4j.LoggerFactory;
service = Servlet.class,
property = {
Constants.SERVICE_DESCRIPTION + "=Apache Sling Service User
Manager Web Console Plugin",
- WebConsoleConstants.PLUGIN_LABEL + "=" +
ServiceUserWebConsolePlugin.LABEL,
- WebConsoleConstants.PLUGIN_TITLE + "=" +
ServiceUserWebConsolePlugin.TITLE,
- WebConsoleConstants.PLUGIN_CATEGORY + "=Sling"
+ ServletConstants.PLUGIN_LABEL + "=" +
ServiceUserWebConsolePlugin.LABEL,
+ ServletConstants.PLUGIN_TITLE + "=" +
ServiceUserWebConsolePlugin.TITLE,
+ ServletConstants.PLUGIN_CATEGORY + "=Sling"
})
@SuppressWarnings("serial")
-public class ServiceUserWebConsolePlugin extends AbstractWebConsolePlugin {
+public class ServiceUserWebConsolePlugin extends AbstractServlet {
private static final String PROP_USER_MAPPING = "user.mapping";
private static final String NT_SLING_OSGI_CONFIG = "sling:OsgiConfig";
@@ -133,15 +132,15 @@ public class ServiceUserWebConsolePlugin extends
AbstractWebConsolePlugin {
private static final Logger log =
LoggerFactory.getLogger(ServiceUserWebConsolePlugin.class);
- private final BundleContext bundleContext;
+ private final transient BundleContext bundleContext;
- private final XSSAPI xss;
+ private final transient XSSAPI xss;
- private final ResourceResolverFactory resolverFactory;
+ private final transient ResourceResolverFactory resolverFactory;
- private final ServiceUserMapper mapper;
+ private final transient ServiceUserMapper mapper;
- private final ConfigurationAdmin configAdmin;
+ private final transient ConfigurationAdmin configAdmin;
@Activate
public ServiceUserWebConsolePlugin(
@@ -362,8 +361,7 @@ public class ServiceUserWebConsolePlugin extends
AbstractWebConsolePlugin {
StandardCharsets.UTF_8.toString()));
params.add(PN_USER + "=" + URLEncoder.encode(name,
StandardCharsets.UTF_8.toString()));
- WebConsoleUtil.sendRedirect(
- request, response, "/system/console/" + LABEL +
"?" + StringUtils.join(params, "&"));
+ response.sendRedirect("/system/console/" + LABEL + "?" +
StringUtils.join(params, "&"));
} else {
sendErrorRedirect(request, response, "Unable to update
service user permissions!");
}
@@ -509,11 +507,6 @@ public class ServiceUserWebConsolePlugin extends
AbstractWebConsolePlugin {
return bundles;
}
- @Override
- public String getLabel() {
- return LABEL;
- }
-
private Resource getOrCreateServiceUser(HttpServletRequest request,
ResourceResolver resolver) {
final String name = getParameter(request, PN_NAME, "");
@@ -602,7 +595,7 @@ public class ServiceUserWebConsolePlugin extends
AbstractWebConsolePlugin {
}
/**
- * Called internally by {@link AbstractWebConsolePlugin} to load resources.
+ * Called internally by {@link AbstractServlet} to load resources.
*
* This particular implementation depends on the label. As example, if the
* plugin is accessed as <code>/system/console/abc</code>, and the plugin
@@ -614,6 +607,7 @@ public class ServiceUserWebConsolePlugin extends
AbstractWebConsolePlugin {
* @param path the path to read.
* @return the URL of the resource or <code>null</code> if not found.
*/
+ @Override
protected URL getResource(String path) {
String base = "/" + LABEL + "/";
return (path != null && path.startsWith(base))
@@ -644,11 +638,6 @@ public class ServiceUserWebConsolePlugin extends
AbstractWebConsolePlugin {
return names;
}
- @Override
- public String getTitle() {
- return TITLE;
- }
-
private boolean hasPrincipal(Mapping map, String name) {
Iterable<String> principals = map.mapPrincipals(map.getServiceName(),
map.getSubServiceName());
if (principals != null) {
@@ -803,7 +792,7 @@ public class ServiceUserWebConsolePlugin extends
AbstractWebConsolePlugin {
pw.print("<a href='/system/console/configMgr/");
pw.print(xss.encodeForHTMLAttr(configPid));
pw.print("'>");
-
pw.print(xss.encodeForHTML(ObjectUtils.defaultIfNull(configPid, "")));
+ pw.print(xss.encodeForHTML(ObjectUtils.getIfNull(configPid,
"")));
pw.print("</a>");
pw.println("<br>");
}
@@ -955,7 +944,7 @@ public class ServiceUserWebConsolePlugin extends
AbstractWebConsolePlugin {
}
@Override
- protected void renderContent(HttpServletRequest request,
HttpServletResponse response)
+ public void renderContent(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
final PrintWriter pw = response.getWriter();
@@ -1046,8 +1035,7 @@ public class ServiceUserWebConsolePlugin extends
AbstractWebConsolePlugin {
params.add(PN_ALERT + "=" + URLEncoder.encode(alert,
StandardCharsets.UTF_8.toString()));
- WebConsoleUtil.sendRedirect(
- request, response, "/system/console/" + LABEL + "?" +
StringUtils.join(params, "&"));
+ response.sendRedirect("/system/console/" + LABEL + "?" +
StringUtils.join(params, "&"));
}
private void tableEnd(PrintWriter pw) {
@@ -1090,7 +1078,7 @@ public class ServiceUserWebConsolePlugin extends
AbstractWebConsolePlugin {
for (int i = 0; i < Array.getLength(value); i++) {
Object itemValue = Array.get(value, i);
pw.print(xss.encodeForHTML(
- ObjectUtils.defaultIfNull(itemValue,
"").toString()));
+ ObjectUtils.getIfNull(itemValue, "").toString()));
pw.println("<br>");
}
} else {
diff --git a/src/main/resources/res/ui/serviceusermanager.js
b/src/main/resources/res/ui/serviceusermanager.js
index c830f5d..9058118 100644
--- a/src/main/resources/res/ui/serviceusermanager.js
+++ b/src/main/resources/res/ui/serviceusermanager.js
@@ -14,14 +14,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-var repeatingRemove = function(){
+const repeatingRemove = function(){
$(this).parents('.repeating-item').remove();
return false;
}
$('.repeating-remove').click(repeatingRemove);
$('.repeating-add').click(function(){
- var idx = $('.repeating-container').data('length');
- var div = $('.repeating-container').append('<tr
class="repeating-item"><td>'+'<input type="text" name="acl-path-'
+ const idx = $('.repeating-container').data('length');
+ const div = $('.repeating-container').append('<tr
class="repeating-item"><td>'+'<input type="text" name="acl-path-'
+ idx + '" style="width:100%" /></td><td>'+
'<input type="text" list="data-privileges"
name="acl-privilege-' + idx + '" style="width:100%" />'+
'</td><td><input type="button" value="-"
class="repeating-remove" /></td></tr>');
diff --git
a/src/test/java/org/apache/sling/serviceuser/webconsole/impl/ServiceUserWebConsolePluginTest.java
b/src/test/java/org/apache/sling/serviceuser/webconsole/impl/ServiceUserWebConsolePluginTest.java
index c7f5955..f3dbee8 100644
---
a/src/test/java/org/apache/sling/serviceuser/webconsole/impl/ServiceUserWebConsolePluginTest.java
+++
b/src/test/java/org/apache/sling/serviceuser/webconsole/impl/ServiceUserWebConsolePluginTest.java
@@ -28,8 +28,6 @@ import javax.jcr.security.AccessControlList;
import javax.jcr.security.AccessControlManager;
import javax.jcr.security.AccessControlPolicy;
import javax.jcr.security.Privilege;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
@@ -46,6 +44,8 @@ import java.util.Map;
import java.util.Set;
import java.util.stream.Stream;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.JcrConstants;
import org.apache.jackrabbit.api.JackrabbitSession;
@@ -67,8 +67,8 @@ import org.apache.sling.testing.mock.osgi.MockBundle;
import org.apache.sling.testing.mock.sling.ResourceResolverType;
import org.apache.sling.testing.mock.sling.junit5.SlingContext;
import org.apache.sling.testing.mock.sling.junit5.SlingContextExtension;
-import org.apache.sling.testing.mock.sling.servlet.MockSlingHttpServletRequest;
-import
org.apache.sling.testing.mock.sling.servlet.MockSlingHttpServletResponse;
+import
org.apache.sling.testing.mock.sling.servlet.MockSlingJakartaHttpServletRequest;
+import
org.apache.sling.testing.mock.sling.servlet.MockSlingJakartaHttpServletResponse;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.junit.jupiter.api.BeforeEach;
@@ -176,7 +176,7 @@ class ServiceUserWebConsolePluginTest {
@MethodSource("testDoPostArgs")
void testDoPost(Map<String, Object> requestParams, Set<TestConfigOptions>
options)
throws ServletException, IOException, RepositoryException,
LoginException {
- final @NotNull MockSlingHttpServletRequest request = context.request();
+ final @NotNull MockSlingJakartaHttpServletRequest request =
context.jakartaRequest();
request.setParameterMap(requestParams);
final ResourceResolver rr = request.getResourceResolver();
@@ -245,7 +245,7 @@ class ServiceUserWebConsolePluginTest {
.getPolicies(anyString());
}
- final @NotNull MockSlingHttpServletResponse response =
context.response();
+ final @NotNull MockSlingJakartaHttpServletResponse response =
context.jakartaResponse();
// NOTE: replace the replaceAccessControlEntry method with one that
does nothing since we are not
// testing that functionality here and it doesn't work with the
partially mocked acm.
@@ -276,7 +276,7 @@ class ServiceUserWebConsolePluginTest {
@Test
void testDoPostWithFailureInCreateOrUpdateMapping() throws
ServletException, IOException {
- final @NotNull MockSlingHttpServletRequest request = context.request();
+ final @NotNull MockSlingJakartaHttpServletRequest request =
context.jakartaRequest();
// simulate the resolver request attribute existing
final ResourceResolver rr = Mockito.spy(request.getResourceResolver());
@@ -290,7 +290,7 @@ class ServiceUserWebConsolePluginTest {
params.put(ServiceUserWebConsolePlugin.PN_APP_PATH, "/apps/myapp1");
request.setParameterMap(params);
- final @NotNull MockSlingHttpServletResponse response =
context.response();
+ final @NotNull MockSlingJakartaHttpServletResponse response =
context.jakartaResponse();
// provide a mocked AccessControlManager object
JackrabbitAccessControlManager acm =
Mockito.mock(JackrabbitAccessControlManager.class);
@@ -306,7 +306,7 @@ class ServiceUserWebConsolePluginTest {
@Test
void testDoPostWithFailureInUpdatePrivileges() throws ServletException,
IOException, RepositoryException {
- final @NotNull MockSlingHttpServletRequest request = context.request();
+ final @NotNull MockSlingJakartaHttpServletRequest request =
context.jakartaRequest();
// simulate the resolver request attribute existing
final ResourceResolver rr = Mockito.spy(request.getResourceResolver());
@@ -318,7 +318,7 @@ class ServiceUserWebConsolePluginTest {
params.put(ServiceUserWebConsolePlugin.PN_APP_PATH, "/apps/myapp1");
request.setParameterMap(params);
- final @NotNull MockSlingHttpServletResponse response =
context.response();
+ final @NotNull MockSlingJakartaHttpServletResponse response =
context.jakartaResponse();
// simulate an exception thrown during the updatePrivileges logic
Session jcrSession = Mockito.spy(rr.adaptTo(Session.class));
@@ -337,7 +337,7 @@ class ServiceUserWebConsolePluginTest {
@ValueSource(booleans = {true, false})
void testDoPostWithFailureToCreateServiceUser(boolean
throwExceptionDuringRefresh)
throws ServletException, IOException, RepositoryException {
- final @NotNull MockSlingHttpServletRequest request = context.request();
+ final @NotNull MockSlingJakartaHttpServletRequest request =
context.jakartaRequest();
// simulate a RepositoryException thrown while creating the system user
final ResourceResolver rr = Mockito.spy(request.getResourceResolver());
@@ -364,7 +364,7 @@ class ServiceUserWebConsolePluginTest {
params.put(ServiceUserWebConsolePlugin.PN_APP_PATH, "/apps/myapp1");
request.setParameterMap(params);
- final @NotNull MockSlingHttpServletResponse response =
context.response();
+ final @NotNull MockSlingJakartaHttpServletResponse response =
context.jakartaResponse();
plugin.doPost(request, response);
@@ -376,7 +376,7 @@ class ServiceUserWebConsolePluginTest {
@Test
void testDoPostWithCaughtLoginException() throws LoginException,
ServletException, IOException {
- final @NotNull MockSlingHttpServletRequest request = context.request();
+ final @NotNull MockSlingJakartaHttpServletRequest request =
context.jakartaRequest();
mockResolverFactoryThrowsLoginException();
@@ -386,7 +386,7 @@ class ServiceUserWebConsolePluginTest {
params.put(ServiceUserWebConsolePlugin.PN_APP_PATH, "/apps/myapp1");
request.setParameterMap(params);
- final @NotNull MockSlingHttpServletResponse response =
context.response();
+ final @NotNull MockSlingJakartaHttpServletResponse response =
context.jakartaResponse();
plugin.doPost(request, response);
@@ -399,7 +399,7 @@ class ServiceUserWebConsolePluginTest {
@SuppressWarnings("deprecation")
@Test
void testDoPostWithNullResourceResolver() throws LoginException,
ServletException, IOException {
- final @NotNull MockSlingHttpServletRequest request = context.request();
+ final @NotNull MockSlingJakartaHttpServletRequest request =
context.jakartaRequest();
// simulate the resolverFactory returning a null administrative
resource resolver
ResourceResolverFactory rrf =
@@ -414,7 +414,7 @@ class ServiceUserWebConsolePluginTest {
params.put(ServiceUserWebConsolePlugin.PN_APP_PATH, "/apps/myapp1");
request.setParameterMap(params);
- final @NotNull MockSlingHttpServletResponse response =
context.response();
+ final @NotNull MockSlingJakartaHttpServletResponse response =
context.jakartaResponse();
plugin.doPost(request, response);
@@ -426,7 +426,7 @@ class ServiceUserWebConsolePluginTest {
@Test
void testDoPostWithIOExceptionDuringErrorRedirect() throws LoginException {
- final @NotNull MockSlingHttpServletRequest request = context.request();
+ final @NotNull MockSlingJakartaHttpServletRequest request =
context.jakartaRequest();
mockResolverFactoryThrowsLoginException();
@@ -436,7 +436,7 @@ class ServiceUserWebConsolePluginTest {
params.put(ServiceUserWebConsolePlugin.PN_APP_PATH, "/apps/myapp1");
request.setParameterMap(params);
- final @NotNull MockSlingHttpServletResponse response =
Mockito.spy(context.response());
+ final @NotNull MockSlingJakartaHttpServletResponse response =
Mockito.spy(context.jakartaResponse());
Mockito.doThrow(IOException.class).when(response).sendRedirect(anyString());
assertDoesNotThrow(() -> plugin.doPost(request, response));
@@ -467,9 +467,9 @@ class ServiceUserWebConsolePluginTest {
@MethodSource("testDoPostWithMissingParametersArgs")
void testDoPostWithMissingParameters(Map<String, Object> params,
Map<String, Object> expectedRedirectParams)
throws ServletException, IOException {
- final @NotNull MockSlingHttpServletRequest request = context.request();
+ final @NotNull MockSlingJakartaHttpServletRequest request =
context.jakartaRequest();
request.setParameterMap(params);
- final @NotNull MockSlingHttpServletResponse response =
context.response();
+ final @NotNull MockSlingJakartaHttpServletResponse response =
context.jakartaResponse();
plugin.doPost(request, response);
@@ -488,14 +488,6 @@ class ServiceUserWebConsolePluginTest {
}
}
- /**
- * Test method for {@link
org.apache.sling.serviceuser.webconsole.impl.ServiceUserWebConsolePlugin#getLabel()}.
- */
- @Test
- void testGetLabel() {
- assertEquals("serviceusers", plugin.getLabel());
- }
-
/**
* Test method for {@link
org.apache.sling.serviceuser.webconsole.impl.ServiceUserWebConsolePlugin#getResource(java.lang.String)}.
*/
@@ -511,14 +503,6 @@ class ServiceUserWebConsolePluginTest {
assertNull(plugin.getResource(path));
}
- /**
- * Test method for {@link
org.apache.sling.serviceuser.webconsole.impl.ServiceUserWebConsolePlugin#getTitle()}.
- */
- @Test
- void testGetTitle() {
- assertEquals("Service Users", plugin.getTitle());
- }
-
/**
* Test method for {@link
org.apache.sling.serviceuser.webconsole.impl.ServiceUserWebConsolePlugin#renderContent(javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse)}.
*/
@@ -544,7 +528,7 @@ class ServiceUserWebConsolePluginTest {
Mockito.doReturn(new Bundle[] {bc.getBundle()}).when(bc).getBundles();
ReflectionTools.setFieldWithReflection(plugin, "bundleContext", bc);
- final @NotNull MockSlingHttpServletRequest request = context.request();
+ final @NotNull MockSlingJakartaHttpServletRequest request =
context.jakartaRequest();
Map<String, Object> params = new HashMap<>();
params.put(ServiceUserWebConsolePlugin.PN_ACTION, action);
params.put(ServiceUserWebConsolePlugin.PN_ALERT, "some alert here");
@@ -565,7 +549,7 @@ class ServiceUserWebConsolePluginTest {
Mockito.doReturn(supportedPrivileges).when(acm).getSupportedPrivileges("/");
MockJcr.setAccessControlManager(rr.adaptTo(Session.class), acm);
- final @NotNull MockSlingHttpServletResponse response =
context.response();
+ final @NotNull MockSlingJakartaHttpServletResponse response =
context.jakartaResponse();
plugin.renderContent(request, response);
final String outputAsString = response.getOutputAsString();
assertNotNull(outputAsString);
@@ -574,13 +558,13 @@ class ServiceUserWebConsolePluginTest {
@Test
void testRenderContentForServiceUsersWithCaughtLoginException()
throws ServletException, IOException, LoginException {
- final @NotNull MockSlingHttpServletRequest request = context.request();
+ final @NotNull MockSlingJakartaHttpServletRequest request =
context.jakartaRequest();
Map<String, Object> params = new HashMap<>();
request.setParameterMap(params);
mockResolverFactoryThrowsLoginException();
- final @NotNull MockSlingHttpServletResponse response =
context.response();
+ final @NotNull MockSlingJakartaHttpServletResponse response =
context.jakartaResponse();
plugin.renderContent(request, response);
final String outputAsString = response.getOutputAsString();
assertNotNull(outputAsString);
@@ -611,7 +595,7 @@ class ServiceUserWebConsolePluginTest {
"another.bundle1", "subservice2", null,
Arrays.asList("otheruser1", "otheruser2"), 2);
mockMappingConfigAmendment("another.bundle2", "subservice3",
"otheruser3", 5);
- final @NotNull MockSlingHttpServletRequest request = context.request();
+ final @NotNull MockSlingJakartaHttpServletRequest request =
context.jakartaRequest();
final ResourceResolver rr = request.getResourceResolver();
final @Nullable Session jcrSession = rr.adaptTo(Session.class);
@@ -682,7 +666,7 @@ class ServiceUserWebConsolePluginTest {
request.setAttribute("org.apache.sling.auth.core.ResourceResolver", rr);
}
- final @NotNull MockSlingHttpServletResponse response =
context.response();
+ final @NotNull MockSlingJakartaHttpServletResponse response =
context.jakartaResponse();
plugin.renderContent(request, response);
final String outputAsString = response.getOutputAsString();
assertNotNull(outputAsString);
@@ -691,7 +675,7 @@ class ServiceUserWebConsolePluginTest {
@Test
void testRenderContentForServiceUserDetailsWithCaughtLoginException()
throws ServletException, IOException, LoginException {
- final @NotNull MockSlingHttpServletRequest request = context.request();
+ final @NotNull MockSlingJakartaHttpServletRequest request =
context.jakartaRequest();
Map<String, Object> params = new HashMap<>();
params.put(ServiceUserWebConsolePlugin.PN_ACTION, "details");
params.put(ServiceUserWebConsolePlugin.PN_USER, "myserviceuser1");
@@ -700,7 +684,7 @@ class ServiceUserWebConsolePluginTest {
// simulate the resolverFactory throwing a LoginException
mockResolverFactoryThrowsLoginException();
- final @NotNull MockSlingHttpServletResponse response =
context.response();
+ final @NotNull MockSlingJakartaHttpServletResponse response =
context.jakartaResponse();
plugin.renderContent(request, response);
final String outputAsString = response.getOutputAsString();
assertNotNull(outputAsString);
@@ -709,13 +693,13 @@ class ServiceUserWebConsolePluginTest {
@Test
void testRenderContentForUnknownAction() throws ServletException,
IOException {
- final @NotNull MockSlingHttpServletRequest request = context.request();
+ final @NotNull MockSlingJakartaHttpServletRequest request =
context.jakartaRequest();
Map<String, Object> params = new HashMap<>();
params.put(ServiceUserWebConsolePlugin.PN_ACTION, "invalid");
request.setParameterMap(params);
- final @NotNull MockSlingHttpServletResponse response =
context.response();
+ final @NotNull MockSlingJakartaHttpServletResponse response =
context.jakartaResponse();
plugin.renderContent(request, response);
final String outputAsString = response.getOutputAsString();
assertNotNull(outputAsString);