You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2023/06/28 19:03:33 UTC

[tomcat] branch main updated: Pull up as default method since it avoids API compatibility issues

This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
     new d1f0c34b18 Pull up as default method since it avoids API compatibility issues
d1f0c34b18 is described below

commit d1f0c34b1831a1a11c9c7a3fc9d0455ca79857e0
Author: remm <re...@apache.org>
AuthorDate: Wed Jun 28 21:03:13 2023 +0200

    Pull up as default method since it avoids API compatibility issues
---
 java/org/apache/catalina/Context.java              | 22 +++++++++++++++++++++-
 java/org/apache/catalina/core/StandardContext.java | 22 ----------------------
 .../org/apache/catalina/startup/FailedContext.java |  4 ----
 test/org/apache/tomcat/unittest/TesterContext.java |  4 ----
 4 files changed, 21 insertions(+), 31 deletions(-)

diff --git a/java/org/apache/catalina/Context.java b/java/org/apache/catalina/Context.java
index ddb29516b6..30f9f3016d 100644
--- a/java/org/apache/catalina/Context.java
+++ b/java/org/apache/catalina/Context.java
@@ -17,6 +17,8 @@
 package org.apache.catalina;
 
 import java.io.IOException;
+import java.io.InputStream;
+import java.net.URISyntaxException;
 import java.net.URL;
 import java.util.Locale;
 import java.util.Map;
@@ -39,6 +41,7 @@ import org.apache.tomcat.util.descriptor.web.FilterDef;
 import org.apache.tomcat.util.descriptor.web.FilterMap;
 import org.apache.tomcat.util.descriptor.web.LoginConfig;
 import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
+import org.apache.tomcat.util.file.ConfigFileLoader;
 import org.apache.tomcat.util.file.ConfigurationSource.Resource;
 import org.apache.tomcat.util.http.CookieProcessor;
 
@@ -1982,5 +1985,22 @@ public interface Context extends Container, ContextBind {
      * @return the resource
      * @throws IOException if an error occurs or if the resource does not exist
      */
-    Resource findConfigFileResource(String name) throws IOException;
+    default Resource findConfigFileResource(String name) throws IOException {
+        if (name.startsWith(WEBAPP_PROTOCOL)) {
+            String path = name.substring(WEBAPP_PROTOCOL.length());
+            WebResource resource = getResources().getResource(path);
+            if (resource.canRead()) {
+                InputStream stream = resource.getInputStream();
+                try {
+                    return new Resource(stream, resource.getURL().toURI());
+                } catch (URISyntaxException e) {
+                    stream.close();
+                }
+            }
+            return null;
+        } else {
+            return ConfigFileLoader.getSource().getResource(name);
+        }
+    }
+
 }
diff --git a/java/org/apache/catalina/core/StandardContext.java b/java/org/apache/catalina/core/StandardContext.java
index b8c911a9c3..6476bf08c5 100644
--- a/java/org/apache/catalina/core/StandardContext.java
+++ b/java/org/apache/catalina/core/StandardContext.java
@@ -20,7 +20,6 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
-import java.net.URISyntaxException;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayDeque;
@@ -128,8 +127,6 @@ import org.apache.tomcat.util.descriptor.web.LoginConfig;
 import org.apache.tomcat.util.descriptor.web.MessageDestination;
 import org.apache.tomcat.util.descriptor.web.SecurityCollection;
 import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
-import org.apache.tomcat.util.file.ConfigFileLoader;
-import org.apache.tomcat.util.file.ConfigurationSource.Resource;
 import org.apache.tomcat.util.http.CookieProcessor;
 import org.apache.tomcat.util.http.Rfc6265CookieProcessor;
 import org.apache.tomcat.util.scan.StandardJarScanner;
@@ -3500,25 +3497,6 @@ public class StandardContext extends ContainerBase implements Context, Notificat
     }
 
 
-    @Override
-    public Resource findConfigFileResource(String name) throws IOException {
-        if (name.startsWith(WEBAPP_PROTOCOL)) {
-            String path = name.substring(WEBAPP_PROTOCOL.length());
-            WebResource resource = getResources().getResource(path);
-            if (resource.canRead()) {
-                InputStream stream = resource.getInputStream();
-                try {
-                    return new Resource(stream, resource.getURL().toURI());
-                } catch (URISyntaxException e) {
-                    stream.close();
-                }
-            }
-            return null;
-        } else {
-            return ConfigFileLoader.getSource().getResource(name);
-        }
-    }
-
     /**
      * Reload this web application, if reloading is supported.
      * <p>
diff --git a/java/org/apache/catalina/startup/FailedContext.java b/java/org/apache/catalina/startup/FailedContext.java
index 62ae2f35a8..71e9e76c27 100644
--- a/java/org/apache/catalina/startup/FailedContext.java
+++ b/java/org/apache/catalina/startup/FailedContext.java
@@ -18,7 +18,6 @@ package org.apache.catalina.startup;
 
 import java.beans.PropertyChangeListener;
 import java.io.File;
-import java.io.IOException;
 import java.net.URL;
 import java.util.Locale;
 import java.util.Map;
@@ -62,7 +61,6 @@ import org.apache.tomcat.util.descriptor.web.FilterDef;
 import org.apache.tomcat.util.descriptor.web.FilterMap;
 import org.apache.tomcat.util.descriptor.web.LoginConfig;
 import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
-import org.apache.tomcat.util.file.ConfigurationSource.Resource;
 import org.apache.tomcat.util.http.CookieProcessor;
 import org.apache.tomcat.util.res.StringManager;
 
@@ -853,6 +851,4 @@ public class FailedContext extends LifecycleMBeanBase implements Context {
     @Override
     public void setParallelAnnotationScanning(boolean parallelAnnotationScanning) {}
 
-    @Override
-    public Resource findConfigFileResource(String name) throws IOException { return null; }
 }
\ No newline at end of file
diff --git a/test/org/apache/tomcat/unittest/TesterContext.java b/test/org/apache/tomcat/unittest/TesterContext.java
index d906b60010..9c2e10754c 100644
--- a/test/org/apache/tomcat/unittest/TesterContext.java
+++ b/test/org/apache/tomcat/unittest/TesterContext.java
@@ -18,7 +18,6 @@ package org.apache.tomcat.unittest;
 
 import java.beans.PropertyChangeListener;
 import java.io.File;
-import java.io.IOException;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
@@ -65,7 +64,6 @@ import org.apache.tomcat.util.descriptor.web.FilterDef;
 import org.apache.tomcat.util.descriptor.web.FilterMap;
 import org.apache.tomcat.util.descriptor.web.LoginConfig;
 import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
-import org.apache.tomcat.util.file.ConfigurationSource.Resource;
 import org.apache.tomcat.util.http.CookieProcessor;
 
 /**
@@ -1323,6 +1321,4 @@ public class TesterContext implements Context {
     @Override
     public void setMetadataComplete(boolean metadataComplete) { /* NO-OP */ }
 
-    @Override
-    public Resource findConfigFileResource(String name) throws IOException { return null; }
 }


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