This is an automated email from the ASF dual-hosted git repository.

cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git


The following commit(s) were added to refs/heads/master by this push:
     new 7a351beced FELIX-6714 : Special request attributes might not be set 
with multiple wrappers
7a351beced is described below

commit 7a351beced09320ab306d117e9e54878754c93bf
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Thu Jun 20 07:59:39 2024 +0200

    FELIX-6714 : Special request attributes might not be set with multiple 
wrappers
---
 .../org/apache/felix/http/jakartawrappers/ServletRequestWrapper.java  | 2 +-
 .../org/apache/felix/http/javaxwrappers/ServletRequestWrapper.java    | 2 +-
 .../org/apache/felix/http/jakartawrappers/ServletRequestTest.java     | 4 ++--
 .../java/org/apache/felix/http/javaxwrappers/ServletRequestTest.java  | 4 ++--
 .../org/apache/felix/http/jakartawrappers/ServletRequestWrapper.java  | 2 +-
 .../org/apache/felix/http/javaxwrappers/ServletRequestWrapper.java    | 2 +-
 .../org/apache/felix/http/jakartawrappers/ServletRequestTest.java     | 4 ++--
 .../java/org/apache/felix/http/javaxwrappers/ServletRequestTest.java  | 4 ++--
 8 files changed, 12 insertions(+), 12 deletions(-)

diff --git 
a/http/wrappers-1.0.x/src/main/java/org/apache/felix/http/jakartawrappers/ServletRequestWrapper.java
 
b/http/wrappers-1.0.x/src/main/java/org/apache/felix/http/jakartawrappers/ServletRequestWrapper.java
index 2d11a541a0..71ec9a0977 100644
--- 
a/http/wrappers-1.0.x/src/main/java/org/apache/felix/http/jakartawrappers/ServletRequestWrapper.java
+++ 
b/http/wrappers-1.0.x/src/main/java/org/apache/felix/http/jakartawrappers/ServletRequestWrapper.java
@@ -307,8 +307,8 @@ public class ServletRequestWrapper implements 
ServletRequest {
     public void setAttribute(final String name, final Object o) {
         final String translatedName = getTranslatedAttributeName(name);
         if (translatedName != null) {
-            this.request.setAttribute(translatedName, o);
             this.request.removeAttribute(name);
+            this.request.setAttribute(translatedName, o);
         } else {
             this.request.setAttribute(name, o);
         }
diff --git 
a/http/wrappers-1.0.x/src/main/java/org/apache/felix/http/javaxwrappers/ServletRequestWrapper.java
 
b/http/wrappers-1.0.x/src/main/java/org/apache/felix/http/javaxwrappers/ServletRequestWrapper.java
index 70030206bd..57a2b809c2 100644
--- 
a/http/wrappers-1.0.x/src/main/java/org/apache/felix/http/javaxwrappers/ServletRequestWrapper.java
+++ 
b/http/wrappers-1.0.x/src/main/java/org/apache/felix/http/javaxwrappers/ServletRequestWrapper.java
@@ -305,8 +305,8 @@ public class ServletRequestWrapper implements 
javax.servlet.ServletRequest {
     public void setAttribute(final String name, final Object o) {
         final String translatedName = getTranslatedAttributeName(name);
         if (translatedName != null) {
-            this.request.setAttribute(translatedName, o);
             this.request.removeAttribute(name);
+            this.request.setAttribute(translatedName, o);
         } else {
             this.request.setAttribute(name, o);
         }
diff --git 
a/http/wrappers-1.0.x/src/test/java/org/apache/felix/http/jakartawrappers/ServletRequestTest.java
 
b/http/wrappers-1.0.x/src/test/java/org/apache/felix/http/jakartawrappers/ServletRequestTest.java
index bf9e6df4da..d6a1f41979 100644
--- 
a/http/wrappers-1.0.x/src/test/java/org/apache/felix/http/jakartawrappers/ServletRequestTest.java
+++ 
b/http/wrappers-1.0.x/src/test/java/org/apache/felix/http/jakartawrappers/ServletRequestTest.java
@@ -257,8 +257,8 @@ public class ServletRequestTest {
 
     @Test public void testAttributeGetterSetterMultipleLayers() {
         final ServletRequest sr = createRequest();
-        final jakarta.servlet.ServletRequest layer1 = 
ServletRequestWrapper.getWrapper(sr);
-        final ServletRequest layer2 = 
org.apache.felix.http.javaxwrappers.ServletRequestWrapper.getWrapper(layer1);
+        final jakarta.servlet.ServletRequest layer1 = new 
jakarta.servlet.ServletRequestWrapper(ServletRequestWrapper.getWrapper(sr));
+        final ServletRequest layer2 = new 
javax.servlet.ServletRequestWrapper(org.apache.felix.http.javaxwrappers.ServletRequestWrapper.getWrapper(layer1));
         final jakarta.servlet.ServletRequest req = 
ServletRequestWrapper.getWrapper(layer2);
         req.setAttribute("foo", "bar");
         assertEquals("bar", req.getAttribute("foo"));
diff --git 
a/http/wrappers-1.0.x/src/test/java/org/apache/felix/http/javaxwrappers/ServletRequestTest.java
 
b/http/wrappers-1.0.x/src/test/java/org/apache/felix/http/javaxwrappers/ServletRequestTest.java
index ae6b0df22a..f8831a6ea2 100644
--- 
a/http/wrappers-1.0.x/src/test/java/org/apache/felix/http/javaxwrappers/ServletRequestTest.java
+++ 
b/http/wrappers-1.0.x/src/test/java/org/apache/felix/http/javaxwrappers/ServletRequestTest.java
@@ -256,8 +256,8 @@ public class ServletRequestTest {
 
     @Test public void testAttributeGetterSetterMultipleLayers() {
         final ServletRequest sr = createRequest();
-        final javax.servlet.ServletRequest layer1 = 
ServletRequestWrapper.getWrapper(sr);
-        final ServletRequest layer2 = 
org.apache.felix.http.jakartawrappers.ServletRequestWrapper.getWrapper(layer1);
+        final javax.servlet.ServletRequest layer1 = new 
javax.servlet.ServletRequestWrapper(ServletRequestWrapper.getWrapper(sr));
+        final ServletRequest layer2 = new 
jakarta.servlet.ServletRequestWrapper(org.apache.felix.http.jakartawrappers.ServletRequestWrapper.getWrapper(layer1));
         final javax.servlet.ServletRequest req = 
ServletRequestWrapper.getWrapper(layer2);
         req.setAttribute("foo", "bar");
         assertEquals("bar", req.getAttribute("foo"));
diff --git 
a/http/wrappers/src/main/java/org/apache/felix/http/jakartawrappers/ServletRequestWrapper.java
 
b/http/wrappers/src/main/java/org/apache/felix/http/jakartawrappers/ServletRequestWrapper.java
index eab2a58a49..2882c231c1 100644
--- 
a/http/wrappers/src/main/java/org/apache/felix/http/jakartawrappers/ServletRequestWrapper.java
+++ 
b/http/wrappers/src/main/java/org/apache/felix/http/jakartawrappers/ServletRequestWrapper.java
@@ -308,8 +308,8 @@ public class ServletRequestWrapper implements 
ServletRequest {
     public void setAttribute(final String name, final Object o) {
         final String translatedName = getTranslatedAttributeName(name);
         if (translatedName != null) {
-            this.request.setAttribute(translatedName, o);
             this.request.removeAttribute(name);
+            this.request.setAttribute(translatedName, o);
         } else {
             this.request.setAttribute(name, o);
         }
diff --git 
a/http/wrappers/src/main/java/org/apache/felix/http/javaxwrappers/ServletRequestWrapper.java
 
b/http/wrappers/src/main/java/org/apache/felix/http/javaxwrappers/ServletRequestWrapper.java
index ae37111369..7214ecf4fe 100644
--- 
a/http/wrappers/src/main/java/org/apache/felix/http/javaxwrappers/ServletRequestWrapper.java
+++ 
b/http/wrappers/src/main/java/org/apache/felix/http/javaxwrappers/ServletRequestWrapper.java
@@ -305,8 +305,8 @@ public class ServletRequestWrapper implements 
javax.servlet.ServletRequest {
     public void setAttribute(final String name, final Object o) {
         final String translatedName = getTranslatedAttributeName(name);
         if (translatedName != null) {
-            this.request.setAttribute(translatedName, o);
             this.request.removeAttribute(name);
+            this.request.setAttribute(translatedName, o);
         } else {
             this.request.setAttribute(name, o);
         }
diff --git 
a/http/wrappers/src/test/java/org/apache/felix/http/jakartawrappers/ServletRequestTest.java
 
b/http/wrappers/src/test/java/org/apache/felix/http/jakartawrappers/ServletRequestTest.java
index bf9e6df4da..d6a1f41979 100644
--- 
a/http/wrappers/src/test/java/org/apache/felix/http/jakartawrappers/ServletRequestTest.java
+++ 
b/http/wrappers/src/test/java/org/apache/felix/http/jakartawrappers/ServletRequestTest.java
@@ -257,8 +257,8 @@ public class ServletRequestTest {
 
     @Test public void testAttributeGetterSetterMultipleLayers() {
         final ServletRequest sr = createRequest();
-        final jakarta.servlet.ServletRequest layer1 = 
ServletRequestWrapper.getWrapper(sr);
-        final ServletRequest layer2 = 
org.apache.felix.http.javaxwrappers.ServletRequestWrapper.getWrapper(layer1);
+        final jakarta.servlet.ServletRequest layer1 = new 
jakarta.servlet.ServletRequestWrapper(ServletRequestWrapper.getWrapper(sr));
+        final ServletRequest layer2 = new 
javax.servlet.ServletRequestWrapper(org.apache.felix.http.javaxwrappers.ServletRequestWrapper.getWrapper(layer1));
         final jakarta.servlet.ServletRequest req = 
ServletRequestWrapper.getWrapper(layer2);
         req.setAttribute("foo", "bar");
         assertEquals("bar", req.getAttribute("foo"));
diff --git 
a/http/wrappers/src/test/java/org/apache/felix/http/javaxwrappers/ServletRequestTest.java
 
b/http/wrappers/src/test/java/org/apache/felix/http/javaxwrappers/ServletRequestTest.java
index 64702a0b1c..e349602700 100644
--- 
a/http/wrappers/src/test/java/org/apache/felix/http/javaxwrappers/ServletRequestTest.java
+++ 
b/http/wrappers/src/test/java/org/apache/felix/http/javaxwrappers/ServletRequestTest.java
@@ -267,8 +267,8 @@ public class ServletRequestTest {
 
     @Test public void testAttributeGetterSetterMultipleLayers() {
         final ServletRequest sr = createRequest();
-        final javax.servlet.ServletRequest layer1 = 
ServletRequestWrapper.getWrapper(sr);
-        final ServletRequest layer2 = 
org.apache.felix.http.jakartawrappers.ServletRequestWrapper.getWrapper(layer1);
+        final javax.servlet.ServletRequest layer1 = new 
javax.servlet.ServletRequestWrapper(ServletRequestWrapper.getWrapper(sr));
+        final ServletRequest layer2 = new 
jakarta.servlet.ServletRequestWrapper(org.apache.felix.http.jakartawrappers.ServletRequestWrapper.getWrapper(layer1));
         final javax.servlet.ServletRequest req = 
ServletRequestWrapper.getWrapper(layer2);
         req.setAttribute("foo", "bar");
         assertEquals("bar", req.getAttribute("foo"));

Reply via email to