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 2015/11/20 21:28:38 UTC

svn commit: r1715414 - in /tomcat/trunk: java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/catalina/mapper/ java/org/apache/catalina/mbeans/ java/org/apache/catalina/storeconfig/ webapps/docs/

Author: markt
Date: Fri Nov 20 20:28:37 2015
New Revision: 1715414

URL: http://svn.apache.org/viewvc?rev=1715414&view=rev
Log:
Remove deprecated code.
Service.container Container->Engine

Modified:
    tomcat/trunk/java/org/apache/catalina/Service.java
    tomcat/trunk/java/org/apache/catalina/core/StandardService.java
    tomcat/trunk/java/org/apache/catalina/core/ThreadLocalLeakPreventionListener.java
    tomcat/trunk/java/org/apache/catalina/mapper/MapperListener.java
    tomcat/trunk/java/org/apache/catalina/mbeans/MBeanFactory.java
    tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServiceSF.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/catalina/Service.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Service.java?rev=1715414&r1=1715413&r2=1715414&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/Service.java (original)
+++ tomcat/trunk/java/org/apache/catalina/Service.java Fri Nov 20 20:28:37 2015
@@ -38,25 +38,10 @@ public interface Service extends Lifecyc
     // ------------------------------------------------------------- Properties
 
     /**
-     * @return the <code>Container</code> that handles requests for all
+     * @return the <code>Engine</code> that handles requests for all
      * <code>Connectors</code> associated with this Service.
-     *
-     * @deprecated Return value will be narrowed to Engine in Tomcat 9.
      */
-    @Deprecated
-    public Container getContainer();
-
-    /**
-     * Set the <code>Container</code> that handles requests for all
-     * <code>Connectors</code> associated with this Service.
-     *
-     * @param container The new Container
-     *
-     * @deprecated Use {@link #setContainer(Engine)} Will be removed in Tomcat
-     *             9.
-     */
-    @Deprecated
-    public void setContainer(Container container);
+    public Engine getContainer();
 
     /**
      * Set the <code>Engine</code> that handles requests for all

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardService.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardService.java?rev=1715414&r1=1715413&r2=1715414&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardService.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardService.java Fri Nov 20 20:28:37 2015
@@ -89,13 +89,7 @@ public class StandardService extends Lif
      */
     protected final ArrayList<Executor> executors = new ArrayList<>();
 
-    /**
-     * The Container associated with this Service.
-     *
-     * @deprecated Will be made private in 9.0.x
-     */
-    @Deprecated
-    protected Container container = null;
+    private Engine engine = null;
 
     private ClassLoader parentClassLoader = null;
 
@@ -119,51 +113,39 @@ public class StandardService extends Lif
     }
 
 
-    /**
-     * Return the <code>Container</code> that handles requests for all
-     * <code>Connectors</code> associated with this Service.
-     */
-    @Override
-    public Container getContainer() {
-
-        return (this.container);
-
-    }
-
-
     @Override
-    public void setContainer(Container container) {
-        setContainer((Engine) container);
+    public Engine getContainer() {
+        return (this.engine);
     }
 
 
     @Override
     public void setContainer(Engine engine) {
-        Container oldContainer = this.container;
-        if (oldContainer instanceof Engine) {
-            ((Engine) oldContainer).setService(null);
-        }
-        this.container = engine;
-        if (this.container instanceof Engine) {
-            ((Engine) this.container).setService(this);
+        Engine oldEngine = this.engine;
+        if (oldEngine != null) {
+            oldEngine.setService(null);
+        }
+        this.engine = engine;
+        if (this.engine != null) {
+            this.engine.setService(this);
         }
-        if (getState().isAvailable() && (this.container != null)) {
+        if (getState().isAvailable() && (this.engine != null)) {
             try {
-                this.container.start();
+                this.engine.start();
             } catch (LifecycleException e) {
                 // Ignore
             }
         }
-        if (getState().isAvailable() && (oldContainer != null)) {
+        if (getState().isAvailable() && (oldEngine != null)) {
             try {
-                oldContainer.stop();
+                oldEngine.stop();
             } catch (LifecycleException e) {
                 // Ignore
             }
         }
 
         // Report this property change to interested listeners
-        support.firePropertyChange("container", oldContainer, this.container);
+        support.firePropertyChange("container", oldEngine, this.engine);
 
     }
 
@@ -437,9 +419,9 @@ public class StandardService extends Lif
         setState(LifecycleState.STARTING);
 
         // Start our defined Container first
-        if (container != null) {
-            synchronized (container) {
-                container.start();
+        if (engine != null) {
+            synchronized (engine) {
+                engine.start();
             }
         }
 
@@ -499,9 +481,9 @@ public class StandardService extends Lif
         setState(LifecycleState.STOPPING);
 
         // Stop our defined Container second
-        if (container != null) {
-            synchronized (container) {
-                container.stop();
+        if (engine != null) {
+            synchronized (engine) {
+                engine.stop();
             }
         }
 
@@ -548,8 +530,8 @@ public class StandardService extends Lif
 
         super.initInternal();
 
-        if (container != null) {
-            container.init();
+        if (engine != null) {
+            engine.init();
         }
 
         // Initialize any Executors
@@ -602,8 +584,8 @@ public class StandardService extends Lif
             executor.destroy();
         }
 
-        if (container != null) {
-            container.destroy();
+        if (engine != null) {
+            engine.destroy();
         }
 
         super.destroyInternal();

Modified: tomcat/trunk/java/org/apache/catalina/core/ThreadLocalLeakPreventionListener.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ThreadLocalLeakPreventionListener.java?rev=1715414&r1=1715413&r2=1715414&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ThreadLocalLeakPreventionListener.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/ThreadLocalLeakPreventionListener.java Fri Nov 20 20:28:37 2015
@@ -127,7 +127,7 @@ public class ThreadLocalLeakPreventionLi
 
     private void registerListenersForServer(Server server) {
         for (Service service : server.findServices()) {
-            Engine engine = (Engine) service.getContainer();
+            Engine engine = service.getContainer();
             engine.addContainerListener(this);
             registerListenersForEngine(engine);
         }

Modified: tomcat/trunk/java/org/apache/catalina/mapper/MapperListener.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mapper/MapperListener.java?rev=1715414&r1=1715413&r2=1715414&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/mapper/MapperListener.java (original)
+++ tomcat/trunk/java/org/apache/catalina/mapper/MapperListener.java Fri Nov 20 20:28:37 2015
@@ -101,7 +101,7 @@ public class MapperListener extends Life
         // already registered their MBeans
         findDefaultHost();
 
-        Engine engine = (Engine) service.getContainer();
+        Engine engine = service.getContainer();
         addListeners(engine);
 
         Container[] conHosts = engine.findChildren();
@@ -119,7 +119,7 @@ public class MapperListener extends Life
     public void stopInternal() throws LifecycleException {
         setState(LifecycleState.STOPPING);
 
-        Engine engine = (Engine) service.getContainer();
+        Engine engine = service.getContainer();
         removeListeners(engine);
     }
 
@@ -257,7 +257,7 @@ public class MapperListener extends Life
 
     private void findDefaultHost() {
 
-        Engine engine = (Engine) service.getContainer();
+        Engine engine = service.getContainer();
         String defaultHost = engine.getDefaultHost();
 
         boolean found = false;

Modified: tomcat/trunk/java/org/apache/catalina/mbeans/MBeanFactory.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mbeans/MBeanFactory.java?rev=1715414&r1=1715413&r2=1715414&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/mbeans/MBeanFactory.java (original)
+++ tomcat/trunk/java/org/apache/catalina/mbeans/MBeanFactory.java Fri Nov 20 20:28:37 2015
@@ -469,7 +469,7 @@ public class MBeanFactory {
         } else {
             log.warn("Deployer not found for "+pname.getKeyProperty("host"));
             Service service = getService(pname);
-            Engine engine = (Engine) service.getContainer();
+            Engine engine = service.getContainer();
             Host host = (Host) engine.findChild(pname.getKeyProperty("host"));
             host.addChild(context);
         }
@@ -517,7 +517,7 @@ public class MBeanFactory {
         // Add the new instance to its parent component
         ObjectName pname = new ObjectName(parent);
         Service service = getService(pname);
-        Engine engine = (Engine) service.getContainer();
+        Engine engine = service.getContainer();
         engine.addChild(host);
 
         // Return the corresponding MBean name
@@ -740,7 +740,7 @@ public class MBeanFactory {
         String domain = oname.getDomain();
         StandardService service = (StandardService) getService(oname);
 
-        Engine engine = (Engine) service.getContainer();
+        Engine engine = service.getContainer();
         String name = oname.getKeyProperty("name");
         name = name.substring(2);
         int i = name.indexOf('/');
@@ -790,7 +790,7 @@ public class MBeanFactory {
         ObjectName oname = new ObjectName(name);
         String hostName = oname.getKeyProperty("host");
         Service service = getService(oname);
-        Engine engine = (Engine) service.getContainer();
+        Engine engine = service.getContainer();
         Host host = (Host) engine.findChild(hostName);
 
         // Remove this component from its parent component

Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServiceSF.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServiceSF.java?rev=1715414&r1=1715413&r2=1715414&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServiceSF.java (original)
+++ tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServiceSF.java Fri Nov 20 20:28:37 2015
@@ -19,7 +19,7 @@ package org.apache.catalina.storeconfig;
 
 import java.io.PrintWriter;
 
-import org.apache.catalina.Container;
+import org.apache.catalina.Engine;
 import org.apache.catalina.Executor;
 import org.apache.catalina.Lifecycle;
 import org.apache.catalina.LifecycleListener;
@@ -56,18 +56,15 @@ public class StandardServiceSF extends S
             Connector connectors[] = service.findConnectors();
             storeElementArray(aWriter, indent, connectors);
 
-            // Store nested <Engine> element (or other appropriate container)
-            Container container = service.getContainer();
+            // Store nested <Engine> element
+            Engine container = service.getContainer();
             if (container != null) {
-                StoreDescription elementDesc = getRegistry().findDescription(
-                        container.getClass());
+                StoreDescription elementDesc = getRegistry().findDescription(container.getClass());
                 if (elementDesc != null) {
                     IStoreFactory factory = elementDesc.getStoreFactory();
                     factory.store(aWriter, indent, container);
                 }
             }
         }
-
     }
-
 }
\ No newline at end of file

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1715414&r1=1715413&r2=1715414&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Fri Nov 20 20:28:37 2015
@@ -62,6 +62,10 @@
         <code>mapperDirectoryRedirectEnabled</code> attributes of the Context
         which may be used to restore the previous behaviour. (markt)
       </add>
+      <scode>
+        Refactor <code>Service.getContainer()</code> to return an
+        <code>Engine</code> rather than a <code>Container</code>. (markt)
+      </scode>
     </changelog>
   </subsection>
   <subsection name="Coyote">



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r1715414 - in /tomcat/trunk: java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/catalina/mapper/ java/org/apache/catalina/mbeans/ java/org/apache/catalina/storeconfig/ webapps/docs/

Posted by jean-frederic clere <jf...@gmail.com>.
On 11/22/2015 05:03 PM, Mark Thomas wrote:
> I've fixed the digester rules in trunk so you shouldn't need your patch
> any more.

Thanks

Jean-Frederic

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r1715414 - in /tomcat/trunk: java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/catalina/mapper/ java/org/apache/catalina/mbeans/ java/org/apache/catalina/storeconfig/ webapps/docs/

Posted by Mark Thomas <ma...@apache.org>.
On 22/11/2015 15:37, jean-frederic clere wrote:
> On 11/22/2015 01:25 PM, Mark Thomas wrote:
>> On 22 November 2015 10:40:07 GMT+00:00, jean-frederic clere <jf...@gmail.com> wrote:
>>> On 11/20/2015 09:28 PM, markt@apache.org wrote:
>>>> -    public void setContainer(Container container) {
>>>> -        setContainer((Engine) container);
>>>
>>>
>>> Hm does that explains why I get:
>>> +++
>>> 22-Nov-2015 10:34:43.641 SEVERE [main]
>>> org.apache.tomcat.util.digester.Digester.endElement End event threw
>>> exception
>>> java.lang.NoSuchMethodException:
>>> org.apache.catalina.core.StandardService setContainer
>>>        at
>>> org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:360)
>>>        at
>>> org.apache.tomcat.util.digester.SetNextRule.end(SetNextRule.java:145)
>>> +++
>>>
>>> Cheers
>>>
>>> Jean-Frederic
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>
>> Almost certainly. How are you triggering that? Just a normal start?
> 
> Yes just a normal start.

Whoops.

All my fault. Sorry.

I've fixed the digester rules in trunk so you shouldn't need your patch
any more.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r1715414 - in /tomcat/trunk: java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/catalina/mapper/ java/org/apache/catalina/mbeans/ java/org/apache/catalina/storeconfig/ webapps/docs/

Posted by jean-frederic clere <jf...@gmail.com>.
On 11/22/2015 01:25 PM, Mark Thomas wrote:
> On 22 November 2015 10:40:07 GMT+00:00, jean-frederic clere <jf...@gmail.com> wrote:
>> On 11/20/2015 09:28 PM, markt@apache.org wrote:
>>> -    public void setContainer(Container container) {
>>> -        setContainer((Engine) container);
>>
>>
>> Hm does that explains why I get:
>> +++
>> 22-Nov-2015 10:34:43.641 SEVERE [main]
>> org.apache.tomcat.util.digester.Digester.endElement End event threw
>> exception
>> java.lang.NoSuchMethodException:
>> org.apache.catalina.core.StandardService setContainer
>>        at
>> org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:360)
>>        at
>> org.apache.tomcat.util.digester.SetNextRule.end(SetNextRule.java:145)
>> +++
>>
>> Cheers
>>
>> Jean-Frederic
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: dev-help@tomcat.apache.org
> 
> Almost certainly. How are you triggering that? Just a normal start?

Yes just a normal start. I have hacked it out by:
+++
[jfclere@jfcpc tc_trunk]$ svn diff .
Index: java/org/apache/catalina/core/StandardService.java
===================================================================
--- java/org/apache/catalina/core/StandardService.java	(revision 1715613)
+++ java/org/apache/catalina/core/StandardService.java	(working copy)
@@ -119,6 +119,10 @@
     }


+    public void setContainer(Container container) {
+        setContainer((Engine) container);
+    }
+
     @Override
     public void setContainer(Engine engine) {
         Engine oldEngine = this.engine;
+++

Cheers

Jean-Frederic

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r1715414 - in /tomcat/trunk: java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/catalina/mapper/ java/org/apache/catalina/mbeans/ java/org/apache/catalina/storeconfig/ webapps/docs/

Posted by Mark Thomas <ma...@apache.org>.
On 22 November 2015 10:40:07 GMT+00:00, jean-frederic clere <jf...@gmail.com> wrote:
>On 11/20/2015 09:28 PM, markt@apache.org wrote:
>> -    public void setContainer(Container container) {
>> -        setContainer((Engine) container);
>
>
>Hm does that explains why I get:
>+++
>22-Nov-2015 10:34:43.641 SEVERE [main]
>org.apache.tomcat.util.digester.Digester.endElement End event threw
>exception
> java.lang.NoSuchMethodException:
>org.apache.catalina.core.StandardService setContainer
>        at
>org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:360)
>        at
>org.apache.tomcat.util.digester.SetNextRule.end(SetNextRule.java:145)
>+++
>
>Cheers
>
>Jean-Frederic
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>For additional commands, e-mail: dev-help@tomcat.apache.org

Almost certainly. How are you triggering that? Just a normal start?

Re: svn commit: r1715414 - in /tomcat/trunk: java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/catalina/mapper/ java/org/apache/catalina/mbeans/ java/org/apache/catalina/storeconfig/ webapps/docs/

Posted by jean-frederic clere <jf...@gmail.com>.
On 11/20/2015 09:28 PM, markt@apache.org wrote:
> -    public void setContainer(Container container) {
> -        setContainer((Engine) container);


Hm does that explains why I get:
+++
22-Nov-2015 10:34:43.641 SEVERE [main]
org.apache.tomcat.util.digester.Digester.endElement End event threw
exception
 java.lang.NoSuchMethodException:
org.apache.catalina.core.StandardService setContainer
        at
org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:360)
        at
org.apache.tomcat.util.digester.SetNextRule.end(SetNextRule.java:145)
+++

Cheers

Jean-Frederic

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org