You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2023/01/18 20:17:19 UTC
[tomcat] 01/03: Refactor to reduce duplicate code
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 4983c7ebf5fc542b712e159722a3ae46004a20b6
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Jan 18 19:26:07 2023 +0000
Refactor to reduce duplicate code
---
.../apache/catalina/connector/ResponseFacade.java | 218 ++++-----------------
1 file changed, 43 insertions(+), 175 deletions(-)
diff --git a/java/org/apache/catalina/connector/ResponseFacade.java b/java/org/apache/catalina/connector/ResponseFacade.java
index fa795660fa..1cc3e34501 100644
--- a/java/org/apache/catalina/connector/ResponseFacade.java
+++ b/java/org/apache/catalina/connector/ResponseFacade.java
@@ -132,7 +132,6 @@ public class ResponseFacade implements HttpServletResponse {
// --------------------------------------------------------- Public Methods
-
/**
* Clear facade.
*/
@@ -145,90 +144,55 @@ public class ResponseFacade implements HttpServletResponse {
* Prevent cloning the facade.
*/
@Override
- protected Object clone()
- throws CloneNotSupportedException {
+ protected Object clone() throws CloneNotSupportedException {
throw new CloneNotSupportedException();
}
public void finish() {
-
- if (response == null) {
- throw new IllegalStateException(
- sm.getString("responseFacade.nullResponse"));
- }
-
+ checkFacade();
response.setSuspended(true);
}
public boolean isFinished() {
-
- if (response == null) {
- throw new IllegalStateException(
- sm.getString("responseFacade.nullResponse"));
- }
-
+ checkFacade();
return response.isSuspended();
}
public long getContentWritten() {
-
- if (response == null) {
- throw new IllegalStateException(
- sm.getString("responseFacade.nullResponse"));
- }
-
+ checkFacade();
return response.getContentWritten();
}
- // ------------------------------------------------ ServletResponse Methods
+ // ------------------------------------------------ ServletResponse Methods
@Override
public String getCharacterEncoding() {
-
- if (response == null) {
- throw new IllegalStateException(
- sm.getString("responseFacade.nullResponse"));
- }
-
+ checkFacade();
return response.getCharacterEncoding();
}
@Override
- public ServletOutputStream getOutputStream()
- throws IOException {
-
- // if (isFinished())
- // throw new IllegalStateException
- // (/*sm.getString("responseFacade.finished")*/);
-
+ public ServletOutputStream getOutputStream() throws IOException {
ServletOutputStream sos = response.getOutputStream();
if (isFinished()) {
response.setSuspended(true);
}
return sos;
-
}
@Override
- public PrintWriter getWriter()
- throws IOException {
-
- // if (isFinished())
- // throw new IllegalStateException
- // (/*sm.getString("responseFacade.finished")*/);
-
+ public PrintWriter getWriter() throws IOException {
PrintWriter writer = response.getWriter();
if (isFinished()) {
response.setSuspended(true);
}
return writer;
-
}
@@ -252,7 +216,6 @@ public class ResponseFacade implements HttpServletResponse {
@Override
public void setContentType(String type) {
-
if (isCommitted()) {
return;
}
@@ -267,32 +230,20 @@ public class ResponseFacade implements HttpServletResponse {
@Override
public void setBufferSize(int size) {
-
- if (isCommitted()) {
- throw new IllegalStateException
- (sm.getString("coyoteResponse.setBufferSize.ise"));
- }
-
+ checkCommitted("coyoteResponse.setBufferSize.ise");
response.setBufferSize(size);
-
}
@Override
public int getBufferSize() {
-
- if (response == null) {
- throw new IllegalStateException(
- sm.getString("responseFacade.nullResponse"));
- }
-
+ checkFacade();
return response.getBufferSize();
}
@Override
public void flushBuffer() throws IOException {
-
if (isFinished()) {
return;
}
@@ -315,275 +266,178 @@ public class ResponseFacade implements HttpServletResponse {
@Override
public void resetBuffer() {
-
- if (isCommitted()) {
- throw new IllegalStateException
- (sm.getString("coyoteResponse.resetBuffer.ise"));
- }
-
+ checkCommitted("coyoteResponse.resetBuffer.ise");
response.resetBuffer();
-
}
@Override
public boolean isCommitted() {
-
- if (response == null) {
- throw new IllegalStateException(
- sm.getString("responseFacade.nullResponse"));
- }
-
+ checkFacade();
return response.isAppCommitted();
}
@Override
public void reset() {
-
- if (isCommitted()) {
- throw new IllegalStateException
- (sm.getString("coyoteResponse.reset.ise"));
- }
-
+ checkCommitted("coyoteResponse.reset.ise");
response.reset();
-
}
@Override
public void setLocale(Locale loc) {
-
if (isCommitted()) {
return;
}
-
response.setLocale(loc);
}
@Override
public Locale getLocale() {
-
- if (response == null) {
- throw new IllegalStateException(
- sm.getString("responseFacade.nullResponse"));
- }
-
+ checkFacade();
return response.getLocale();
}
@Override
public void addCookie(Cookie cookie) {
-
if (isCommitted()) {
return;
}
-
response.addCookie(cookie);
-
}
@Override
public boolean containsHeader(String name) {
-
- if (response == null) {
- throw new IllegalStateException(
- sm.getString("responseFacade.nullResponse"));
- }
-
+ checkFacade();
return response.containsHeader(name);
}
@Override
public String encodeURL(String url) {
-
- if (response == null) {
- throw new IllegalStateException(
- sm.getString("responseFacade.nullResponse"));
- }
-
+ checkFacade();
return response.encodeURL(url);
}
@Override
public String encodeRedirectURL(String url) {
-
- if (response == null) {
- throw new IllegalStateException(
- sm.getString("responseFacade.nullResponse"));
- }
-
+ checkFacade();
return response.encodeRedirectURL(url);
}
@Override
- public void sendError(int sc, String msg)
- throws IOException {
-
- if (isCommitted()) {
- throw new IllegalStateException
- (sm.getString("coyoteResponse.sendError.ise"));
- }
-
+ public void sendError(int sc, String msg) throws IOException {
+ checkCommitted("coyoteResponse.sendError.ise");
response.setAppCommitted(true);
-
response.sendError(sc, msg);
-
}
@Override
- public void sendError(int sc)
- throws IOException {
-
- if (isCommitted()) {
- throw new IllegalStateException
- (sm.getString("coyoteResponse.sendError.ise"));
- }
-
+ public void sendError(int sc) throws IOException {
+ checkCommitted("coyoteResponse.sendError.ise");
response.setAppCommitted(true);
-
response.sendError(sc);
-
}
@Override
- public void sendRedirect(String location)
- throws IOException {
-
- if (isCommitted()) {
- throw new IllegalStateException
- (sm.getString("coyoteResponse.sendRedirect.ise"));
- }
-
+ public void sendRedirect(String location) throws IOException {
+ checkCommitted("coyoteResponse.sendRedirect.ise");
response.setAppCommitted(true);
-
response.sendRedirect(location);
-
}
@Override
public void setDateHeader(String name, long date) {
-
if (isCommitted()) {
return;
}
- if(Globals.IS_SECURITY_ENABLED) {
- AccessController.doPrivileged(new DateHeaderPrivilegedAction
- (name, date, false));
+ if (Globals.IS_SECURITY_ENABLED) {
+ AccessController.doPrivileged(new DateHeaderPrivilegedAction(name, date, false));
} else {
response.setDateHeader(name, date);
}
-
}
@Override
public void addDateHeader(String name, long date) {
-
if (isCommitted()) {
return;
}
- if(Globals.IS_SECURITY_ENABLED) {
- AccessController.doPrivileged(new DateHeaderPrivilegedAction
- (name, date, true));
+ if (Globals.IS_SECURITY_ENABLED) {
+ AccessController.doPrivileged(new DateHeaderPrivilegedAction(name, date, true));
} else {
response.addDateHeader(name, date);
}
-
}
@Override
public void setHeader(String name, String value) {
-
if (isCommitted()) {
return;
}
-
response.setHeader(name, value);
-
}
@Override
public void addHeader(String name, String value) {
-
if (isCommitted()) {
return;
}
-
response.addHeader(name, value);
-
}
@Override
public void setIntHeader(String name, int value) {
-
if (isCommitted()) {
return;
}
-
response.setIntHeader(name, value);
-
}
@Override
public void addIntHeader(String name, int value) {
-
if (isCommitted()) {
return;
}
-
response.addIntHeader(name, value);
-
}
@Override
public void setStatus(int sc) {
-
if (isCommitted()) {
return;
}
-
response.setStatus(sc);
-
}
@Override
public String getContentType() {
-
- if (response == null) {
- throw new IllegalStateException(
- sm.getString("responseFacade.nullResponse"));
- }
-
+ checkFacade();
return response.getContentType();
}
@Override
public void setCharacterEncoding(String arg0) {
-
- if (response == null) {
- throw new IllegalStateException(
- sm.getString("responseFacade.nullResponse"));
- }
-
+ checkFacade();
response.setCharacterEncoding(arg0);
}
@@ -618,4 +472,18 @@ public class ResponseFacade implements HttpServletResponse {
public Supplier<Map<String, String>> getTrailerFields() {
return response.getTrailerFields();
}
+
+
+ private void checkFacade() {
+ if (response == null) {
+ throw new IllegalStateException(sm.getString("responseFacade.nullResponse"));
+ }
+ }
+
+
+ private void checkCommitted(String messageKey) {
+ if (isCommitted()) {
+ throw new IllegalStateException(sm.getString(messageKey));
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org