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 <[email protected]>
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 <[email protected]>
    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()
        {

Reply via email to