You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2021/11/15 07:30:30 UTC
[wicket] branch master updated: Simplify the test for Strings#stripJSessionId()
This is an automated email from the ASF dual-hosted git repository.
mgrigorov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git
The following commit(s) were added to refs/heads/master by this push:
new 128125f Simplify the test for Strings#stripJSessionId()
128125f is described below
commit 128125f25c33a4d886386291f24ffe2d195007ac
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
AuthorDate: Mon Nov 15 09:29:28 2021 +0200
Simplify the test for Strings#stripJSessionId()
Since
commit 191de985e22b9e0801d5783fbcfa151a25d29ec8 (HEAD -> master, origin/master)
Author: Martin Grigorov <mg...@apache.org>
Date: Sun Nov 14 21:56:30 2021 +0200
Remove 'final' modifier from a static field
Because it is not possible to modify it in JDK 18 b23.
The OpenJDK team is informed.
They will probably fix the regression. Or document it that it is not possible anymore to do such hacks.
https://github.com/openjdk/jdk/pull/5027#issuecomment-968177213
org.apache.wicket.util.string.Strings#SESSION_ID_PARAM is no more 'final' so there is no need to change the modifiers
---
.../org/apache/wicket/util/string/StringsTest.java | 33 ----------------------
1 file changed, 33 deletions(-)
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/string/StringsTest.java b/wicket-util/src/test/java/org/apache/wicket/util/string/StringsTest.java
index 10bb526..0a4adc3 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/string/StringsTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/string/StringsTest.java
@@ -55,50 +55,17 @@ class StringsTest
// WICKET-6858
final Field sessionIdParamField = Strings.class.getDeclaredField("SESSION_ID_PARAM");
sessionIdParamField.setAccessible(true);
- Field modifiersField = getModifiersField();
- modifiersField.setAccessible(true);
try {
final String customSessionIdParam = ";Custom seSsion - ид=";
- modifiersField.setInt(sessionIdParamField, sessionIdParamField.getModifiers() & ~Modifier.FINAL );
sessionIdParamField.set(null, customSessionIdParam);
assertEquals(url + ";a=b;c=d?param=a;b",
Strings.stripJSessionId(url + ";a=b;c=d" + customSessionIdParam + "12345?param=a;b"));
} finally {
sessionIdParamField.set(null, "jsessionid");
- modifiersField.setInt(sessionIdParamField, sessionIdParamField.getModifiers() & Modifier.FINAL );
- modifiersField.setAccessible(false);
sessionIdParamField.setAccessible(false);
}
}
- private Field getModifiersField() throws NoSuchFieldException
- {
- try
- {
- return Field.class.getDeclaredField("modifiers");
- }
- catch (NoSuchFieldException e) {
- try
- {
- Method getDeclaredFields0 = Class.class.getDeclaredMethod("getDeclaredFields0", boolean.class);
- getDeclaredFields0.setAccessible(true);
- Field[] fields = (Field[]) getDeclaredFields0.invoke(Field.class, false);
- for (Field field : fields)
- {
- if ("modifiers".equals(field.getName()))
- {
- return field;
- }
- }
- }
- catch (ReflectiveOperationException ex)
- {
- e.addSuppressed(ex);
- }
- throw e;
- }
- }
-
@Test
void test()
{