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 2018/06/05 17:56:22 UTC
svn commit: r1832958 - in /tomcat/trunk/java/org/apache/catalina:
core/ApplicationFilterConfig.java filters/CorsFilter.java
filters/RemoteIpFilter.java filters/RequestDumperFilter.java
Author: markt
Date: Tue Jun 5 17:56:22 2018
New Revision: 1832958
URL: http://svn.apache.org/viewvc?rev=1832958&view=rev
Log:
Making Log instances non-static triggered a few SpotBugs warnings around Serialization. Fix them.
Modified:
tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java
tomcat/trunk/java/org/apache/catalina/filters/CorsFilter.java
tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java
tomcat/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java
Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java?rev=1832958&r1=1832957&r2=1832958&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java Tue Jun 5 17:56:22 2018
@@ -14,11 +14,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-
package org.apache.catalina.core;
+import java.io.IOException;
+import java.io.ObjectInputStream;
import java.io.Serializable;
import java.util.Collections;
import java.util.Enumeration;
@@ -61,7 +61,7 @@ public final class ApplicationFilterConf
static final StringManager sm =
StringManager.getManager(Constants.Package);
- private final Log log = LogFactory.getLog(ApplicationFilterConfig.class); // must not be static
+ private transient Log log = LogFactory.getLog(ApplicationFilterConfig.class); // must not be static
/**
* Empty String collection to serve as the basis for empty enumerations.
@@ -403,4 +403,14 @@ public final class ApplicationFilterConf
}
}
+
+
+ /*
+ * Log objects are not Serializable.
+ */
+ private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
+ ois.defaultReadObject();
+ log = LogFactory.getLog(ApplicationFilterConfig.class);
+ }
+
}
Modified: tomcat/trunk/java/org/apache/catalina/filters/CorsFilter.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/CorsFilter.java?rev=1832958&r1=1832957&r2=1832958&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/filters/CorsFilter.java (original)
+++ tomcat/trunk/java/org/apache/catalina/filters/CorsFilter.java Tue Jun 5 17:56:22 2018
@@ -17,6 +17,7 @@
package org.apache.catalina.filters;
import java.io.IOException;
+import java.io.ObjectInputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Arrays;
@@ -79,9 +80,10 @@ import org.apache.tomcat.util.res.String
public class CorsFilter extends GenericFilter {
private static final long serialVersionUID = 1L;
- private final Log log = LogFactory.getLog(CorsFilter.class); // must not be static
private static final StringManager sm = StringManager.getManager(CorsFilter.class);
+ private transient Log log = LogFactory.getLog(CorsFilter.class); // must not be static
+
/**
* A {@link Collection} of origins consisting of zero or more origins that
@@ -909,7 +911,19 @@ public class CorsFilter extends GenericF
}
+ /*
+ * Log objects are not Serializable but this Filter is because it extends
+ * GenericFilter. Tomcat won't serialize a Filter but in case something else
+ * does...
+ */
+ private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
+ ois.defaultReadObject();
+ log = LogFactory.getLog(CorsFilter.class);
+ }
+
+
// -------------------------------------------------- CORS Response Headers
+
/**
* The Access-Control-Allow-Origin header indicates whether a resource can
* be shared based by returning the value of the Origin request header in
Modified: tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java?rev=1832958&r1=1832957&r2=1832958&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java (original)
+++ tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java Tue Jun 5 17:56:22 2018
@@ -17,6 +17,7 @@
package org.apache.catalina.filters;
import java.io.IOException;
+import java.io.ObjectInputStream;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -656,7 +657,7 @@ public class RemoteIpFilter extends Gene
// Log must be non-static as loggers are created per class-loader and this
// Filter may be used in multiple class loaders
- private final Log log = LogFactory.getLog(RemoteIpFilter.class); // must not be static
+ private transient Log log = LogFactory.getLog(RemoteIpFilter.class);
protected static final String PROTOCOL_HEADER_PARAMETER = "protocolHeader";
@@ -1181,4 +1182,15 @@ public class RemoteIpFilter extends Gene
this.trustedProxies = Pattern.compile(trustedProxies);
}
}
+
+
+ /*
+ * Log objects are not Serializable but this Filter is because it extends
+ * GenericFilter. Tomcat won't serialize a Filter but in case something else
+ * does...
+ */
+ private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
+ ois.defaultReadObject();
+ log = LogFactory.getLog(RemoteIpFilter.class);
+ }
}
Modified: tomcat/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java?rev=1832958&r1=1832957&r2=1832958&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java (original)
+++ tomcat/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java Tue Jun 5 17:56:22 2018
@@ -17,6 +17,7 @@
package org.apache.catalina.filters;
import java.io.IOException;
+import java.io.ObjectInputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;
@@ -66,7 +67,7 @@ public class RequestDumperFilter extends
// Log must be non-static as loggers are created per class-loader and this
// Filter may be used in multiple class loaders
- private final Log log = LogFactory.getLog(RequestDumperFilter.class); // must not be static
+ private transient Log log = LogFactory.getLog(RequestDumperFilter.class);
/**
@@ -264,6 +265,18 @@ public class RequestDumperFilter extends
return ts.dateString;
}
+
+ /*
+ * Log objects are not Serializable but this Filter is because it extends
+ * GenericFilter. Tomcat won't serialize a Filter but in case something else
+ * does...
+ */
+ private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
+ ois.defaultReadObject();
+ log = LogFactory.getLog(RequestDumperFilter.class);
+ }
+
+
private static final class Timestamp {
private final Date date = new Date(0);
private final SimpleDateFormat format =
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org