You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2023/06/05 22:46:57 UTC

[commons-fileupload] 02/05: Use generics

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

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-fileupload.git

commit b9ccc1ce41836f0a19c826e6d07148f5517526b8
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Mon Jun 5 17:08:54 2023 -0400

    Use generics
---
 .../commons/fileupload2/AbstractRequestContext.java     | 15 +++++++++++++--
 .../jakarta/JakartaServletRequestContext.java           |  5 ++---
 .../fileupload2/javax/JavaxServletRequestContext.java   | 17 +++++------------
 .../fileupload2/portlet/PortletRequestContext.java      | 16 +++++-----------
 4 files changed, 25 insertions(+), 28 deletions(-)

diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/AbstractRequestContext.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/AbstractRequestContext.java
index 61ab217..f8f9c9f 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/AbstractRequestContext.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/AbstractRequestContext.java
@@ -20,7 +20,7 @@ package org.apache.commons.fileupload2;
 import java.util.function.Function;
 import java.util.function.LongSupplier;
 
-public abstract class AbstractRequestContext implements RequestContext {
+public abstract class AbstractRequestContext<T> implements RequestContext {
 
     /**
      * Supplies the content length default.
@@ -32,15 +32,22 @@ public abstract class AbstractRequestContext implements RequestContext {
      */
     private final Function<String, String> contentLengthString;
 
+    /**
+     * The request.
+     */
+    private final T request;
+
     /**
      * Constructs a new instance.
      *
      * @param contentLengthString  How to get the content length string.
      * @param contentLengthDefault How to get the content length default.
+     * @param request              TODO
      */
-    protected AbstractRequestContext(final Function<String, String> contentLengthString, final LongSupplier contentLengthDefault) {
+    protected AbstractRequestContext(final Function<String, String> contentLengthString, final LongSupplier contentLengthDefault, final T request) {
         this.contentLengthString = contentLengthString;
         this.contentLengthDefault = contentLengthDefault;
+        this.request = request;
     }
 
     /**
@@ -58,6 +65,10 @@ public abstract class AbstractRequestContext implements RequestContext {
         }
     }
 
+    public T getRequest() {
+        return request;
+    }
+
     /**
      * Returns a string representation of this object.
      *
diff --git a/commons-fileupload2-jakarta/src/main/java/org/apache/commons/fileupload2/jakarta/JakartaServletRequestContext.java b/commons-fileupload2-jakarta/src/main/java/org/apache/commons/fileupload2/jakarta/JakartaServletRequestContext.java
index caa25fc..9f2304f 100644
--- a/commons-fileupload2-jakarta/src/main/java/org/apache/commons/fileupload2/jakarta/JakartaServletRequestContext.java
+++ b/commons-fileupload2-jakarta/src/main/java/org/apache/commons/fileupload2/jakarta/JakartaServletRequestContext.java
@@ -28,7 +28,7 @@ import jakarta.servlet.http.HttpServletRequest;
  *
  * @since 1.1
  */
-public class JakartaServletRequestContext extends AbstractRequestContext {
+public class JakartaServletRequestContext extends AbstractRequestContext<HttpServletRequest> {
 
     /**
      * The request for which the context is being provided.
@@ -41,7 +41,7 @@ public class JakartaServletRequestContext extends AbstractRequestContext {
      * @param request The request to which this context applies.
      */
     public JakartaServletRequestContext(final HttpServletRequest request) {
-        super(request::getHeader, request::getContentLength);
+        super(request::getHeader, request::getContentLength, request);
         this.request = request;
     }
 
@@ -69,7 +69,6 @@ public class JakartaServletRequestContext extends AbstractRequestContext {
      * Gets the input stream for the request.
      *
      * @return The input stream for the request.
-     *
      * @throws IOException if a problem occurs.
      */
     @Override
diff --git a/commons-fileupload2-javax/src/main/java/org/apache/commons/fileupload2/javax/JavaxServletRequestContext.java b/commons-fileupload2-javax/src/main/java/org/apache/commons/fileupload2/javax/JavaxServletRequestContext.java
index 1be7308..3204b17 100644
--- a/commons-fileupload2-javax/src/main/java/org/apache/commons/fileupload2/javax/JavaxServletRequestContext.java
+++ b/commons-fileupload2-javax/src/main/java/org/apache/commons/fileupload2/javax/JavaxServletRequestContext.java
@@ -28,12 +28,7 @@ import org.apache.commons.fileupload2.AbstractRequestContext;
  *
  * @since 1.1
  */
-public class JavaxServletRequestContext extends AbstractRequestContext {
-
-    /**
-     * The request for which the context is being provided.
-     */
-    private final HttpServletRequest request;
+public class JavaxServletRequestContext extends AbstractRequestContext<HttpServletRequest> {
 
     /**
      * Constructs a context for this request.
@@ -41,8 +36,7 @@ public class JavaxServletRequestContext extends AbstractRequestContext {
      * @param request The request to which this context applies.
      */
     public JavaxServletRequestContext(final HttpServletRequest request) {
-        super(request::getHeader, request::getContentLength);
-        this.request = request;
+        super(request::getHeader, request::getContentLength, request);
     }
 
     /**
@@ -52,7 +46,7 @@ public class JavaxServletRequestContext extends AbstractRequestContext {
      */
     @Override
     public String getCharacterEncoding() {
-        return request.getCharacterEncoding();
+        return getRequest().getCharacterEncoding();
     }
 
     /**
@@ -62,19 +56,18 @@ public class JavaxServletRequestContext extends AbstractRequestContext {
      */
     @Override
     public String getContentType() {
-        return request.getContentType();
+        return getRequest().getContentType();
     }
 
     /**
      * Gets the input stream for the request.
      *
      * @return The input stream for the request.
-     *
      * @throws IOException if a problem occurs.
      */
     @Override
     public InputStream getInputStream() throws IOException {
-        return request.getInputStream();
+        return getRequest().getInputStream();
     }
 
 }
diff --git a/commons-fileupload2-portlet/src/main/java/org/apache/commons/fileupload2/portlet/PortletRequestContext.java b/commons-fileupload2-portlet/src/main/java/org/apache/commons/fileupload2/portlet/PortletRequestContext.java
index b30bf70..f48f5b4 100644
--- a/commons-fileupload2-portlet/src/main/java/org/apache/commons/fileupload2/portlet/PortletRequestContext.java
+++ b/commons-fileupload2-portlet/src/main/java/org/apache/commons/fileupload2/portlet/PortletRequestContext.java
@@ -28,12 +28,7 @@ import org.apache.commons.fileupload2.AbstractRequestContext;
  *
  * @since 1.1
  */
-public class PortletRequestContext extends AbstractRequestContext {
-
-    /**
-     * The request for which the context is being provided.
-     */
-    private final ActionRequest request;
+public class PortletRequestContext extends AbstractRequestContext<ActionRequest> {
 
     /**
      * Constructs a context for this request.
@@ -41,8 +36,7 @@ public class PortletRequestContext extends AbstractRequestContext {
      * @param request The request to which this context applies.
      */
     public PortletRequestContext(final ActionRequest request) {
-        super(request::getProperty, request::getContentLength);
-        this.request = request;
+        super(request::getProperty, request::getContentLength, request);
     }
 
     /**
@@ -52,7 +46,7 @@ public class PortletRequestContext extends AbstractRequestContext {
      */
     @Override
     public String getCharacterEncoding() {
-        return request.getCharacterEncoding();
+        return getRequest().getCharacterEncoding();
     }
 
     /**
@@ -62,7 +56,7 @@ public class PortletRequestContext extends AbstractRequestContext {
      */
     @Override
     public String getContentType() {
-        return request.getContentType();
+        return getRequest().getContentType();
     }
 
     /**
@@ -73,7 +67,7 @@ public class PortletRequestContext extends AbstractRequestContext {
      */
     @Override
     public InputStream getInputStream() throws IOException {
-        return request.getPortletInputStream();
+        return getRequest().getPortletInputStream();
     }
 
 }