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 2013/06/12 22:41:33 UTC
svn commit: r1492415 - in /tomcat/tc7.0.x/trunk: java/org/apache/catalina/
java/org/apache/catalina/core/ java/org/apache/catalina/startup/
test/org/apache/catalina/core/ webapps/docs/
Author: markt
Date: Wed Jun 12 20:41:33 2013
New Revision: 1492415
URL: http://svn.apache.org/r1492415
Log:
Fix API compatibility issues with r1492331
Modified:
tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardContext.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/FailedContext.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/WebAnnotationSet.java
tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TesterContext.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java?rev=1492415&r1=1492414&r2=1492415&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java Wed Jun 12 20:41:33 2013
@@ -725,6 +725,18 @@ public interface Context extends Contain
/**
+ * Add a new Listener class name to the set of Listeners
+ * configured for this application.
+ *
+ * @param listener Java class name of a listener class
+ *
+ * @deprecated Use {@link #addApplicationListener(ApplicationListener)}
+ */
+ @Deprecated
+ public void addApplicationListener(String listener);
+
+
+ /**
* Add a new application parameter for this application.
*
* @param parameter The new application parameter
@@ -898,8 +910,12 @@ public interface Context extends Contain
/**
* Return the set of application listener class names configured
* for this application.
+ *
+ * @deprecated The return type of this method will be changing to
+ * {@link ApplicationListener}[] in Tomcat 8
*/
- public ApplicationListener[] findApplicationListeners();
+ @Deprecated
+ public String[] findApplicationListeners();
/**
Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardContext.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1492415&r1=1492414&r2=1492415&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardContext.java Wed Jun 12 20:41:33 2013
@@ -2780,6 +2780,12 @@ public class StandardContext extends Con
// -------------------------------------------------------- Context Methods
+ @Override
+ public void addApplicationListener(String listener) {
+ addApplicationListener(new ApplicationListener(listener, false));
+ }
+
+
/**
* Add a new Listener class name to the set of Listeners
* configured for this application.
@@ -3423,9 +3429,15 @@ public class StandardContext extends Con
* for this application.
*/
@Override
- public ApplicationListener[] findApplicationListeners() {
+ public String[] findApplicationListeners() {
- return (applicationListeners);
+ ArrayList<String> list =
+ new ArrayList<String>(applicationListeners.length);
+ for (ApplicationListener applicationListener: applicationListeners) {
+ list.add(applicationListener.getClassName());
+ }
+
+ return list.toArray(new String[list.size()]);
}
@@ -4824,7 +4836,7 @@ public class StandardContext extends Con
log.debug("Configuring application event listeners");
// Instantiate the required listeners
- ApplicationListener listeners[] = findApplicationListeners();
+ ApplicationListener listeners[] = applicationListeners;
Object results[] = new Object[listeners.length];
boolean ok = true;
Set<Object> tldListeners = new HashSet<Object>();
Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/FailedContext.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/FailedContext.java?rev=1492415&r1=1492414&r2=1492415&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/FailedContext.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/FailedContext.java Wed Jun 12 20:41:33 2013
@@ -450,7 +450,9 @@ public class FailedContext extends Lifec
@Override
public void addApplicationListener(ApplicationListener listener) { /* NO-OP */ }
@Override
- public ApplicationListener[] findApplicationListeners() { return null; }
+ public void addApplicationListener(String listener) { /* NO-OP */ }
+ @Override
+ public String[] findApplicationListeners() { return null; }
@Override
public void removeApplicationListener(String listener) { /* NO-OP */ }
Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/WebAnnotationSet.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/WebAnnotationSet.java?rev=1492415&r1=1492414&r2=1492415&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/WebAnnotationSet.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/WebAnnotationSet.java Wed Jun 12 20:41:33 2013
@@ -27,7 +27,6 @@ import javax.annotation.security.RunAs;
import org.apache.catalina.Container;
import org.apache.catalina.Context;
import org.apache.catalina.Wrapper;
-import org.apache.catalina.deploy.ApplicationListener;
import org.apache.catalina.deploy.ContextEnvironment;
import org.apache.catalina.deploy.ContextResource;
import org.apache.catalina.deploy.ContextResourceEnvRef;
@@ -79,11 +78,12 @@ public class WebAnnotationSet {
*/
protected static void loadApplicationListenerAnnotations(Context context) {
Class<?> classClass = null;
- ApplicationListener[] applicationListeners =
+ @SuppressWarnings("deprecation")
+ String[] applicationListeners =
context.findApplicationListeners();
for (int i = 0; i < applicationListeners.length; i++) {
classClass = Introspection.loadClass(context,
- applicationListeners[i].getClassName());
+ applicationListeners[i]);
if (classClass == null) {
continue;
}
Modified: tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TesterContext.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TesterContext.java?rev=1492415&r1=1492414&r2=1492415&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TesterContext.java (original)
+++ tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TesterContext.java Wed Jun 12 20:41:33 2013
@@ -630,6 +630,11 @@ public class TesterContext implements Co
}
@Override
+ public void addApplicationListener(String listener) {
+ // NO-OP
+ }
+
+ @Override
public void addApplicationParameter(ApplicationParameter parameter) {
// NO-OP
}
@@ -726,7 +731,7 @@ public class TesterContext implements Co
}
@Override
- public ApplicationListener[] findApplicationListeners() {
+ public String[] findApplicationListeners() {
return null;
}
Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1492415&r1=1492414&r2=1492415&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Jun 12 20:41:33 2013
@@ -56,6 +56,16 @@
issues to not "pop up" wrt. others).
-->
<section name="Tomcat 7.0.42 (markt)">
+ <subsection name="Catalina">
+ <changelog>
+ <fix>
+ Enforce the restriction described in section 4.4 of the Servlet 3.0
+ specification that requires the new pluggability methods only to be
+ available to <code>ServletContextListener</code>s defined in one of the
+ specified ways. (markt)
+ </fix>
+ </changelog>
+ </subsection>
<subsection name="Cluster">
<changelog>
<fix>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org