Author: markt
Date: Fri Nov 25 09:35:20 2016
New Revision: 1771263
URL: http://svn.apache.org/viewvc?rev=1771263&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=60381
Provide a standard toString() implementation for components that implement
Contained.
Added:
tomcat/trunk/java/org/apache/catalina/util/ToStringUtil.java (with props)
Modified:
tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java
tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java
tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java
tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java
tomcat/trunk/java/org/apache/catalina/session/StoreBase.java
tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java
tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java
tomcat/trunk/webapps/docs/changelog.xml
Modified: tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java?rev=1771263&r1=1771262&r2=1771263&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java Fri Nov 25
09:35:20 2016
@@ -32,6 +32,7 @@ import org.apache.catalina.LifecycleStat
import org.apache.catalina.Pipeline;
import org.apache.catalina.Valve;
import org.apache.catalina.util.LifecycleBase;
+import org.apache.catalina.util.ToStringUtil;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.ExceptionUtils;
@@ -213,10 +214,7 @@ public class StandardPipeline extends Li
*/
@Override
public String toString() {
- StringBuilder sb = new StringBuilder("Pipeline[");
- sb.append(container);
- sb.append(']');
- return sb.toString();
+ return ToStringUtil.toString(this);
}
Modified: tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java?rev=1771263&r1=1771262&r2=1771263&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
(original)
+++ tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java Fri Nov
25 09:35:20 2016
@@ -55,6 +55,7 @@ import org.apache.catalina.tribes.group.
import
org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor;
import org.apache.catalina.tribes.group.interceptors.TcpFailureDetector;
import org.apache.catalina.util.LifecycleMBeanBase;
+import org.apache.catalina.util.ToStringUtil;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.res.StringManager;
@@ -639,15 +640,7 @@ public class SimpleTcpCluster extends Li
*/
@Override
public String toString() {
- StringBuilder sb = new StringBuilder(this.getClass().getName());
- sb.append('[');
- if (container == null) {
- sb.append("Container is null");
- } else {
- sb.append(container.getName());
- }
- sb.append(']');
- return sb.toString();
+ return ToStringUtil.toString(this);
}
Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java?rev=1771263&r1=1771262&r2=1771263&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java (original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java Fri Nov 25
09:35:20 2016
@@ -38,6 +38,7 @@ import org.apache.catalina.LifecycleExce
import org.apache.catalina.LifecycleState;
import org.apache.catalina.Loader;
import org.apache.catalina.util.LifecycleMBeanBase;
+import org.apache.catalina.util.ToStringUtil;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.ExceptionUtils;
@@ -360,11 +361,7 @@ public class WebappLoader extends Lifecy
*/
@Override
public String toString() {
- StringBuilder sb = new StringBuilder("WebappLoader[");
- if (context != null)
- sb.append(context.getName());
- sb.append("]");
- return (sb.toString());
+ return ToStringUtil.toString(this, context);
}
Modified: tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java?rev=1771263&r1=1771262&r2=1771263&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java (original)
+++ tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java Fri Nov 25
09:35:20 2016
@@ -49,6 +49,7 @@ import org.apache.catalina.connector.Req
import org.apache.catalina.connector.Response;
import org.apache.catalina.util.LifecycleMBeanBase;
import org.apache.catalina.util.SessionConfig;
+import org.apache.catalina.util.ToStringUtil;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.IntrospectionUtils;
@@ -1101,10 +1102,7 @@ public abstract class RealmBase extends
*/
@Override
public String toString() {
- StringBuilder sb = new StringBuilder("Realm[");
- sb.append(getName());
- sb.append(']');
- return sb.toString();
+ return ToStringUtil.toString(this);
}
Modified: tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java?rev=1771263&r1=1771262&r2=1771263&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java (original)
+++ tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java Fri Nov 25
09:35:20 2016
@@ -47,6 +47,7 @@ import org.apache.catalina.SessionIdGene
import org.apache.catalina.util.LifecycleMBeanBase;
import org.apache.catalina.util.SessionIdGeneratorBase;
import org.apache.catalina.util.StandardSessionIdGenerator;
+import org.apache.catalina.util.ToStringUtil;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.res.StringManager;
@@ -1213,15 +1214,7 @@ public abstract class ManagerBase extend
@Override
public String toString() {
- StringBuilder sb = new StringBuilder(this.getClass().getName());
- sb.append('[');
- if (context == null) {
- sb.append("Context is null");
- } else {
- sb.append(context.getName());
- }
- sb.append(']');
- return sb.toString();
+ return ToStringUtil.toString(this, context);
}
Modified: tomcat/trunk/java/org/apache/catalina/session/StoreBase.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/StoreBase.java?rev=1771263&r1=1771262&r2=1771263&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/session/StoreBase.java (original)
+++ tomcat/trunk/java/org/apache/catalina/session/StoreBase.java Fri Nov 25
09:35:20 2016
@@ -30,6 +30,7 @@ import org.apache.catalina.Manager;
import org.apache.catalina.Store;
import org.apache.catalina.util.CustomObjectInputStream;
import org.apache.catalina.util.LifecycleBase;
+import org.apache.catalina.util.ToStringUtil;
import org.apache.tomcat.util.res.StringManager;
/**
@@ -277,14 +278,6 @@ public abstract class StoreBase extends
*/
@Override
public String toString() {
- StringBuilder sb = new StringBuilder(this.getClass().getName());
- sb.append('[');
- if (manager == null) {
- sb.append("Manager is null");
- } else {
- sb.append(manager);
- }
- sb.append(']');
- return sb.toString();
+ return ToStringUtil.toString(this, manager);
}
}
Modified: tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java?rev=1771263&r1=1771262&r2=1771263&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java Fri Nov 25
09:35:20 2016
@@ -643,34 +643,37 @@ public class Tomcat {
* @return a realm instance
*/
protected Realm createDefaultRealm() {
- return new RealmBase() {
- @Override
- protected String getName() {
- return "Simple";
- }
+ return new SimpleRealm();
+ }
- @Override
- protected String getPassword(String username) {
- return userPass.get(username);
- }
- @Override
- protected Principal getPrincipal(String username) {
- Principal p = userPrincipals.get(username);
- if (p == null) {
- String pass = userPass.get(username);
- if (pass != null) {
- p = new GenericPrincipal(username, pass,
- userRoles.get(username));
- userPrincipals.put(username, p);
- }
+ private class SimpleRealm extends RealmBase {
+ @Override
+ protected String getName() {
+ return "Simple";
+ }
+
+ @Override
+ protected String getPassword(String username) {
+ return userPass.get(username);
+ }
+
+ @Override
+ protected Principal getPrincipal(String username) {
+ Principal p = userPrincipals.get(username);
+ if (p == null) {
+ String pass = userPass.get(username);
+ if (pass != null) {
+ p = new GenericPrincipal(username, pass,
+ userRoles.get(username));
+ userPrincipals.put(username, p);
}
- return p;
}
-
- };
+ return p;
+ }
}
+
protected void initBaseDir() {
String catalinaHome = System.getProperty(Globals.CATALINA_HOME_PROP);
if (basedir == null) {
Added: tomcat/trunk/java/org/apache/catalina/util/ToStringUtil.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/ToStringUtil.java?rev=1771263&view=auto
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/util/ToStringUtil.java (added)
+++ tomcat/trunk/java/org/apache/catalina/util/ToStringUtil.java Fri Nov 25
09:35:20 2016
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.catalina.util;
+
+import org.apache.catalina.Contained;
+import org.apache.catalina.Container;
+import org.apache.catalina.Manager;
+
+/**
+ * Utility class used to help generate return values for calls to
+ * {@link Object#toString()}.
+ */
+public class ToStringUtil {
+
+ private ToStringUtil() {
+ // Utility class. Hide default constructor
+ }
+
+
+ public static final String toString(Contained contained) {
+ return toString(contained, contained.getContainer());
+ }
+
+
+ public static final String toString(Object obj, Container container) {
+ return containedToString(obj, container, "Container");
+ }
+
+
+ public static final String toString(Object obj, Manager manager) {
+ return containedToString(obj, manager, "Manager");
+ }
+
+
+ private static final String containedToString(Object contained, Object
container,
+ String containerTypeName) {
+ StringBuilder sb = new
StringBuilder(contained.getClass().getSimpleName());
+ sb.append('[');
+ if (container == null) {
+ sb.append(containerTypeName);
+ sb.append(" is null");
+ } else {
+ sb.append(container.toString());
+ }
+ sb.append(']');
+ return sb.toString();
+ }
+}
Propchange: tomcat/trunk/java/org/apache/catalina/util/ToStringUtil.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java?rev=1771263&r1=1771262&r2=1771263&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java (original)
+++ tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java Fri Nov 25
09:35:20 2016
@@ -23,6 +23,7 @@ import org.apache.catalina.LifecycleStat
import org.apache.catalina.Pipeline;
import org.apache.catalina.Valve;
import org.apache.catalina.util.LifecycleMBeanBase;
+import org.apache.catalina.util.ToStringUtil;
import org.apache.juli.logging.Log;
import org.apache.tomcat.util.res.StringManager;
@@ -183,15 +184,7 @@ public abstract class ValveBase extends
*/
@Override
public String toString() {
- StringBuilder sb = new StringBuilder(this.getClass().getName());
- sb.append('[');
- if (container == null) {
- sb.append("Container is null");
- } else {
- sb.append(container.getName());
- }
- sb.append(']');
- return sb.toString();
+ return ToStringUtil.toString(this);
}
Modified: tomcat/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1771263&r1=1771262&r2=1771263&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Fri Nov 25 09:35:20 2016
@@ -85,6 +85,11 @@
Osipov. (markt)
</fix>
<fix>
+ <bug>60381</bug>: Provide a standard <code>toString()</code>
+ implementation for components that implement <code>Contained</code>.
+ (markt)
+ </fix>
+ <fix>
<bug>60387</bug>: Correct the javadoc for
<code>o.a.catalina.AccessLog.setRequestAttributesEnabled</code>.
The default value is different for the different implementations.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]