< prev index next >

src/java.base/share/classes/jdk/internal/module/SystemModuleFinders.java

Print this page
*** 412,30 ***
  
          /**
           * Returns {@code true} if the given resource exists, {@code false}
           * if not found.
           */
!         private boolean containsResource(String resourcePath) throws IOException {
!             Objects.requireNonNull(resourcePath);
              if (closed)
                  throw new IOException("ModuleReader is closed");
              ImageReader imageReader = SystemImage.reader();
!             if (imageReader != null) {
-                 ImageReader.Node node = imageReader.findNode("/modules" + resourcePath);
-                 return node != null && node.isResource();
-             } else {
-                 // not an images build
-                 return false;
-             }
          }
  
          @Override
          public Optional<URI> find(String name) throws IOException {
              Objects.requireNonNull(name);
!             String resourcePath = "/" + module + "/" + name;
!             if (containsResource(resourcePath)) {
-                 URI u = JNUA.create("jrt", resourcePath);
                  return Optional.of(u);
              } else {
                  return Optional.empty();
              }
          }
--- 412,23 ---
  
          /**
           * Returns {@code true} if the given resource exists, {@code false}
           * if not found.
           */
!         private boolean containsResource(String module, String name) throws IOException {
!             Objects.requireNonNull(name);
              if (closed)
                  throw new IOException("ModuleReader is closed");
              ImageReader imageReader = SystemImage.reader();
!             return imageReader != null && imageReader.containsResource(module, name);
          }
  
          @Override
          public Optional<URI> find(String name) throws IOException {
              Objects.requireNonNull(name);
!             if (containsResource(module, name)) {
!                 URI u = JNUA.create("jrt", "/" + module + "/" + name);
                  return Optional.of(u);
              } else {
                  return Optional.empty();
              }
          }

*** 463,13 ***
          private ImageReader.Node findResource(ImageReader reader, String name) throws IOException {
              Objects.requireNonNull(name);
              if (closed) {
                  throw new IOException("ModuleReader is closed");
              }
!             String nodeName = "/modules/" + module + "/" + name;
-             ImageReader.Node node = reader.findNode(nodeName);
-             return (node != null && node.isResource()) ? node : null;
          }
  
          @Override
          public Optional<ByteBuffer> read(String name) throws IOException {
              ImageReader reader = SystemImage.reader();
--- 456,11 ---
          private ImageReader.Node findResource(ImageReader reader, String name) throws IOException {
              Objects.requireNonNull(name);
              if (closed) {
                  throw new IOException("ModuleReader is closed");
              }
!             return reader.findResourceNode(module, name);
          }
  
          @Override
          public Optional<ByteBuffer> read(String name) throws IOException {
              ImageReader reader = SystemImage.reader();
< prev index next >