keep, un-deprecate and rename Resource.getReadableByteChannel() and Resource.getInputStream()
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
This commit is contained in:
parent
2275e1c2c6
commit
4856a7d065
|
@ -103,7 +103,7 @@ public class DebugHandlerTest
|
||||||
secureServerURI = URI.create(String.format("https://%s:%d/", host, sslConnector.getLocalPort()));
|
secureServerURI = URI.create(String.format("https://%s:%d/", host, sslConnector.getLocalPort()));
|
||||||
|
|
||||||
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
|
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
|
||||||
try (InputStream stream = sslContextFactory.getKeyStoreResource().getInputStream())
|
try (InputStream stream = sslContextFactory.getKeyStoreResource().newInputStream())
|
||||||
{
|
{
|
||||||
keystore.load(stream, "storepwd".toCharArray());
|
keystore.load(stream, "storepwd".toCharArray());
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,6 @@ import java.util.stream.Stream;
|
||||||
import org.eclipse.jetty.toolchain.test.FS;
|
import org.eclipse.jetty.toolchain.test.FS;
|
||||||
import org.eclipse.jetty.toolchain.test.MavenTestingUtils;
|
import org.eclipse.jetty.toolchain.test.MavenTestingUtils;
|
||||||
import org.eclipse.jetty.util.BufferUtil;
|
import org.eclipse.jetty.util.BufferUtil;
|
||||||
import org.eclipse.jetty.util.resource.PathResource;
|
|
||||||
import org.eclipse.jetty.util.resource.Resource;
|
import org.eclipse.jetty.util.resource.Resource;
|
||||||
import org.junit.jupiter.api.AfterAll;
|
import org.junit.jupiter.api.AfterAll;
|
||||||
import org.junit.jupiter.api.Disabled;
|
import org.junit.jupiter.api.Disabled;
|
||||||
|
@ -101,13 +100,15 @@ public class RangeWriterTest
|
||||||
return Stream.of(
|
return Stream.of(
|
||||||
Arguments.of("Traditional / Direct Buffer", new ByteBufferRangeWriter(BufferUtil.toBuffer(realFileSystemResource, true))),
|
Arguments.of("Traditional / Direct Buffer", new ByteBufferRangeWriter(BufferUtil.toBuffer(realFileSystemResource, true))),
|
||||||
Arguments.of("Traditional / Indirect Buffer", new ByteBufferRangeWriter(BufferUtil.toBuffer(realFileSystemResource, false))),
|
Arguments.of("Traditional / Indirect Buffer", new ByteBufferRangeWriter(BufferUtil.toBuffer(realFileSystemResource, false))),
|
||||||
Arguments.of("Traditional / SeekableByteChannel", new SeekableByteChannelRangeWriter(() -> (SeekableByteChannel)realFileSystemResource.getReadableByteChannel())),
|
// TODO the cast to SeekableByteChannel is questionable
|
||||||
Arguments.of("Traditional / InputStream", new InputStreamRangeWriter(() -> realFileSystemResource.getInputStream())),
|
Arguments.of("Traditional / SeekableByteChannel", new SeekableByteChannelRangeWriter(() -> (SeekableByteChannel)realFileSystemResource.newReadableByteChannel())),
|
||||||
|
Arguments.of("Traditional / InputStream", new InputStreamRangeWriter(() -> realFileSystemResource.newInputStream())),
|
||||||
|
|
||||||
Arguments.of("Non-Default FS / Direct Buffer", new ByteBufferRangeWriter(BufferUtil.toBuffer(nonDefaultFileSystemResource, true))),
|
Arguments.of("Non-Default FS / Direct Buffer", new ByteBufferRangeWriter(BufferUtil.toBuffer(nonDefaultFileSystemResource, true))),
|
||||||
Arguments.of("Non-Default FS / Indirect Buffer", new ByteBufferRangeWriter(BufferUtil.toBuffer(nonDefaultFileSystemResource, false))),
|
Arguments.of("Non-Default FS / Indirect Buffer", new ByteBufferRangeWriter(BufferUtil.toBuffer(nonDefaultFileSystemResource, false))),
|
||||||
Arguments.of("Non-Default FS / SeekableByteChannel", new SeekableByteChannelRangeWriter(() -> (SeekableByteChannel)nonDefaultFileSystemResource.getReadableByteChannel())),
|
// TODO the cast to SeekableByteChannel is questionable
|
||||||
Arguments.of("Non-Default FS / InputStream", new InputStreamRangeWriter(() -> nonDefaultFileSystemResource.getInputStream()))
|
Arguments.of("Non-Default FS / SeekableByteChannel", new SeekableByteChannelRangeWriter(() -> (SeekableByteChannel)nonDefaultFileSystemResource.newReadableByteChannel())),
|
||||||
|
Arguments.of("Non-Default FS / InputStream", new InputStreamRangeWriter(() -> nonDefaultFileSystemResource.newInputStream()))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,7 @@ public class ServerConnectorSslServerTest extends HttpServerTestBase
|
||||||
initServer(connector);
|
initServer(connector);
|
||||||
|
|
||||||
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
|
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
|
||||||
try (InputStream stream = sslContextFactory.getKeyStoreResource().getInputStream())
|
try (InputStream stream = sslContextFactory.getKeyStoreResource().newInputStream())
|
||||||
{
|
{
|
||||||
keystore.load(stream, "storepwd".toCharArray());
|
keystore.load(stream, "storepwd".toCharArray());
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.channels.ReadableByteChannel;
|
import java.nio.channels.ReadableByteChannel;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -30,6 +31,35 @@ public class EmptyResource extends Resource
|
||||||
{
|
{
|
||||||
public static final Resource INSTANCE = new EmptyResource();
|
public static final Resource INSTANCE = new EmptyResource();
|
||||||
|
|
||||||
|
private static final ReadableByteChannel EOF_READABLE_BYTE_CHANNEL = new ReadableByteChannel()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public int read(ByteBuffer dst)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isOpen()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void close()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
private static final InputStream EOF_INPUT_STREAM = new InputStream()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public int read()
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
private EmptyResource()
|
private EmptyResource()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -83,15 +113,15 @@ public class EmptyResource extends Resource
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InputStream getInputStream() throws IOException
|
public InputStream newInputStream() throws IOException
|
||||||
{
|
{
|
||||||
return null;
|
return EOF_INPUT_STREAM;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ReadableByteChannel getReadableByteChannel() throws IOException
|
public ReadableByteChannel newReadableByteChannel() throws IOException
|
||||||
{
|
{
|
||||||
return null;
|
return EOF_READABLE_BYTE_CHANNEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -481,14 +481,12 @@ public abstract class Resource implements ResourceFactory
|
||||||
public abstract String getName();
|
public abstract String getName();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input stream to the resource
|
* Creates a new input stream to the resource.
|
||||||
*
|
*
|
||||||
* @return an input stream to the resource
|
* @return an input stream to the resource
|
||||||
* @throws IOException if unable to open the input stream
|
* @throws IOException if unable to open the input stream
|
||||||
* @deprecated Replace with {@link #getPath()} and {@link Files#newInputStream(Path, OpenOption...)}.
|
|
||||||
*/
|
*/
|
||||||
@Deprecated(forRemoval = true)
|
public InputStream newInputStream() throws IOException
|
||||||
public InputStream getInputStream() throws IOException
|
|
||||||
{
|
{
|
||||||
return Files.newInputStream(getPath(), StandardOpenOption.READ);
|
return Files.newInputStream(getPath(), StandardOpenOption.READ);
|
||||||
}
|
}
|
||||||
|
@ -498,10 +496,8 @@ public abstract class Resource implements ResourceFactory
|
||||||
*
|
*
|
||||||
* @return an readable bytechannel to the resource or null if one is not available.
|
* @return an readable bytechannel to the resource or null if one is not available.
|
||||||
* @throws IOException if unable to open the readable bytechannel for the resource.
|
* @throws IOException if unable to open the readable bytechannel for the resource.
|
||||||
* @deprecated Replace with {@link #getPath()} and {@link Files#newByteChannel(Path, OpenOption...)}.
|
|
||||||
*/
|
*/
|
||||||
@Deprecated(forRemoval = true)
|
public ReadableByteChannel newReadableByteChannel() throws IOException
|
||||||
public ReadableByteChannel getReadableByteChannel() throws IOException
|
|
||||||
{
|
{
|
||||||
return Files.newByteChannel(getPath(), StandardOpenOption.READ);
|
return Files.newByteChannel(getPath(), StandardOpenOption.READ);
|
||||||
}
|
}
|
||||||
|
@ -1047,7 +1043,7 @@ public abstract class Resource implements ResourceFactory
|
||||||
}
|
}
|
||||||
|
|
||||||
// use old school stream based copy
|
// use old school stream based copy
|
||||||
try (InputStream in = getInputStream();
|
try (InputStream in = newInputStream();
|
||||||
OutputStream out = Files.newOutputStream(destination))
|
OutputStream out = Files.newOutputStream(destination))
|
||||||
{
|
{
|
||||||
IO.copy(in, out);
|
IO.copy(in, out);
|
||||||
|
|
|
@ -27,7 +27,6 @@ import java.util.Comparator;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.eclipse.jetty.util.IO;
|
|
||||||
import org.eclipse.jetty.util.StringUtil;
|
import org.eclipse.jetty.util.StringUtil;
|
||||||
import org.eclipse.jetty.util.URIUtil;
|
import org.eclipse.jetty.util.URIUtil;
|
||||||
|
|
||||||
|
@ -313,7 +312,7 @@ public class ResourceCollection extends Resource
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InputStream getInputStream() throws IOException
|
public InputStream newInputStream() throws IOException
|
||||||
{
|
{
|
||||||
assertResourcesSet();
|
assertResourcesSet();
|
||||||
|
|
||||||
|
@ -324,7 +323,7 @@ public class ResourceCollection extends Resource
|
||||||
// Skip, cannot open anyway
|
// Skip, cannot open anyway
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
InputStream is = r.getInputStream();
|
InputStream is = r.newInputStream();
|
||||||
if (is != null)
|
if (is != null)
|
||||||
{
|
{
|
||||||
return is;
|
return is;
|
||||||
|
@ -335,13 +334,13 @@ public class ResourceCollection extends Resource
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ReadableByteChannel getReadableByteChannel() throws IOException
|
public ReadableByteChannel newReadableByteChannel() throws IOException
|
||||||
{
|
{
|
||||||
assertResourcesSet();
|
assertResourcesSet();
|
||||||
|
|
||||||
for (Resource r : _resources)
|
for (Resource r : _resources)
|
||||||
{
|
{
|
||||||
ReadableByteChannel channel = r.getReadableByteChannel();
|
ReadableByteChannel channel = r.newReadableByteChannel();
|
||||||
if (channel != null)
|
if (channel != null)
|
||||||
{
|
{
|
||||||
return channel;
|
return channel;
|
||||||
|
|
|
@ -44,7 +44,7 @@ public class CertificateUtils
|
||||||
if (!store.exists())
|
if (!store.exists())
|
||||||
throw new IllegalStateException(store.getName() + " is not a valid keystore");
|
throw new IllegalStateException(store.getName() + " is not a valid keystore");
|
||||||
|
|
||||||
try (InputStream inStream = store.getInputStream())
|
try (InputStream inStream = store.newInputStream())
|
||||||
{
|
{
|
||||||
keystore.load(inStream, storePassword == null ? null : storePassword.toCharArray());
|
keystore.load(inStream, storePassword == null ? null : storePassword.toCharArray());
|
||||||
}
|
}
|
||||||
|
@ -59,19 +59,10 @@ public class CertificateUtils
|
||||||
|
|
||||||
if (crlPath != null)
|
if (crlPath != null)
|
||||||
{
|
{
|
||||||
InputStream in = null;
|
try (InputStream in = Resource.newResource(crlPath).newInputStream())
|
||||||
try
|
|
||||||
{
|
{
|
||||||
in = Resource.newResource(crlPath).getInputStream();
|
|
||||||
crlList = CertificateFactory.getInstance("X.509").generateCRLs(in);
|
crlList = CertificateFactory.getInstance("X.509").generateCRLs(in);
|
||||||
}
|
}
|
||||||
finally
|
|
||||||
{
|
|
||||||
if (in != null)
|
|
||||||
{
|
|
||||||
in.close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return crlList;
|
return crlList;
|
||||||
|
|
|
@ -432,7 +432,7 @@ public class FileSystemResourceTest
|
||||||
|
|
||||||
Resource base = Resource.newResource(dir);
|
Resource base = Resource.newResource(dir);
|
||||||
Resource foo = base.resolve("foo");
|
Resource foo = base.resolve("foo");
|
||||||
try (InputStream stream = foo.getInputStream();
|
try (InputStream stream = foo.newInputStream();
|
||||||
InputStreamReader reader = new InputStreamReader(stream);
|
InputStreamReader reader = new InputStreamReader(stream);
|
||||||
StringWriter writer = new StringWriter())
|
StringWriter writer = new StringWriter())
|
||||||
{
|
{
|
||||||
|
@ -458,7 +458,7 @@ public class FileSystemResourceTest
|
||||||
|
|
||||||
Resource base = Resource.newResource(dir);
|
Resource base = Resource.newResource(dir);
|
||||||
Resource foo = base.resolve("foo");
|
Resource foo = base.resolve("foo");
|
||||||
try (ReadableByteChannel channel = foo.getReadableByteChannel())
|
try (ReadableByteChannel channel = foo.newReadableByteChannel())
|
||||||
{
|
{
|
||||||
ByteBuffer buf = ByteBuffer.allocate(256);
|
ByteBuffer buf = ByteBuffer.allocate(256);
|
||||||
channel.read(buf);
|
channel.read(buf);
|
||||||
|
@ -1290,7 +1290,7 @@ public class FileSystemResourceTest
|
||||||
|
|
||||||
private String toString(Resource resource) throws IOException
|
private String toString(Resource resource) throws IOException
|
||||||
{
|
{
|
||||||
try (InputStream inputStream = resource.getInputStream();
|
try (InputStream inputStream = resource.newInputStream();
|
||||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream())
|
ByteArrayOutputStream outputStream = new ByteArrayOutputStream())
|
||||||
{
|
{
|
||||||
IO.copy(inputStream, outputStream);
|
IO.copy(inputStream, outputStream);
|
||||||
|
|
|
@ -54,7 +54,7 @@ public class PathResourceTest
|
||||||
|
|
||||||
PathResource resource = (PathResource)Resource.newResource(manifestPath);
|
PathResource resource = (PathResource)Resource.newResource(manifestPath);
|
||||||
|
|
||||||
try (InputStream inputStream = resource.getInputStream())
|
try (InputStream inputStream = resource.newInputStream())
|
||||||
{
|
{
|
||||||
assertThat("InputStream", inputStream, is(not(nullValue())));
|
assertThat("InputStream", inputStream, is(not(nullValue())));
|
||||||
}
|
}
|
||||||
|
@ -78,7 +78,7 @@ public class PathResourceTest
|
||||||
|
|
||||||
PathResource resource = (PathResource)Resource.newResource(manifestPath);
|
PathResource resource = (PathResource)Resource.newResource(manifestPath);
|
||||||
|
|
||||||
try (ReadableByteChannel channel = resource.getReadableByteChannel())
|
try (ReadableByteChannel channel = resource.newReadableByteChannel())
|
||||||
{
|
{
|
||||||
assertThat("ReadableByteChannel", channel, is(not(nullValue())));
|
assertThat("ReadableByteChannel", channel, is(not(nullValue())));
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,6 @@ import java.io.File;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.Arrays;
|
|
||||||
|
|
||||||
import org.eclipse.jetty.toolchain.test.FS;
|
import org.eclipse.jetty.toolchain.test.FS;
|
||||||
import org.eclipse.jetty.toolchain.test.MavenTestingUtils;
|
import org.eclipse.jetty.toolchain.test.MavenTestingUtils;
|
||||||
|
@ -158,8 +157,8 @@ public class ResourceCollectionTest
|
||||||
assertThrows(IllegalStateException.class, () -> coll.resolve("foo"));
|
assertThrows(IllegalStateException.class, () -> coll.resolve("foo"));
|
||||||
assertThrows(IllegalStateException.class, coll::exists);
|
assertThrows(IllegalStateException.class, coll::exists);
|
||||||
assertThrows(IllegalStateException.class, coll::getPath);
|
assertThrows(IllegalStateException.class, coll::getPath);
|
||||||
assertThrows(IllegalStateException.class, coll::getInputStream);
|
assertThrows(IllegalStateException.class, coll::newInputStream);
|
||||||
assertThrows(IllegalStateException.class, coll::getReadableByteChannel);
|
assertThrows(IllegalStateException.class, coll::newReadableByteChannel);
|
||||||
assertThrows(IllegalStateException.class, coll::getURI);
|
assertThrows(IllegalStateException.class, coll::getURI);
|
||||||
assertThrows(IllegalStateException.class, coll::getName);
|
assertThrows(IllegalStateException.class, coll::getName);
|
||||||
assertThrows(IllegalStateException.class, coll::isDirectory);
|
assertThrows(IllegalStateException.class, coll::isDirectory);
|
||||||
|
@ -253,7 +252,7 @@ public class ResourceCollectionTest
|
||||||
{
|
{
|
||||||
Resource resource = r.resolve(path);
|
Resource resource = r.resolve(path);
|
||||||
StringBuilder buffer = new StringBuilder();
|
StringBuilder buffer = new StringBuilder();
|
||||||
try (InputStream in = resource.getInputStream();
|
try (InputStream in = resource.newInputStream();
|
||||||
InputStreamReader reader = new InputStreamReader(in);
|
InputStreamReader reader = new InputStreamReader(in);
|
||||||
BufferedReader br = new BufferedReader(reader))
|
BufferedReader br = new BufferedReader(reader))
|
||||||
{
|
{
|
||||||
|
|
|
@ -291,7 +291,7 @@ public class ResourceTest
|
||||||
{
|
{
|
||||||
Assumptions.assumeTrue(data.content != null);
|
Assumptions.assumeTrue(data.content != null);
|
||||||
|
|
||||||
InputStream in = data.resource.getInputStream();
|
InputStream in = data.resource.newInputStream();
|
||||||
String c = IO.toString(in);
|
String c = IO.toString(in);
|
||||||
assertThat("Content: " + data.test, c, startsWith(data.content));
|
assertThat("Content: " + data.test, c, startsWith(data.content));
|
||||||
}
|
}
|
||||||
|
|
|
@ -581,7 +581,7 @@ public class AnnotationParser
|
||||||
{
|
{
|
||||||
Resource r = Resource.newResource(resource);
|
Resource r = Resource.newResource(resource);
|
||||||
addParsedClass(className, r.toString());
|
addParsedClass(className, r.toString());
|
||||||
try (InputStream is = r.getInputStream())
|
try (InputStream is = r.newInputStream())
|
||||||
{
|
{
|
||||||
scanClass(handlers, null, is);
|
scanClass(handlers, null, is);
|
||||||
}
|
}
|
||||||
|
@ -607,7 +607,7 @@ public class AnnotationParser
|
||||||
{
|
{
|
||||||
Resource r = Resource.newResource(resource);
|
Resource r = Resource.newResource(resource);
|
||||||
addParsedClass(clazz.getName(), r.toString());
|
addParsedClass(clazz.getName(), r.toString());
|
||||||
try (InputStream is = r.getInputStream())
|
try (InputStream is = r.newInputStream())
|
||||||
{
|
{
|
||||||
scanClass(handlers, null, is);
|
scanClass(handlers, null, is);
|
||||||
}
|
}
|
||||||
|
@ -656,7 +656,7 @@ public class AnnotationParser
|
||||||
{
|
{
|
||||||
Resource r = Resource.newResource(resource);
|
Resource r = Resource.newResource(resource);
|
||||||
addParsedClass(className, r.toString());
|
addParsedClass(className, r.toString());
|
||||||
try (InputStream is = r.getInputStream())
|
try (InputStream is = r.newInputStream())
|
||||||
{
|
{
|
||||||
scanClass(handlers, null, is);
|
scanClass(handlers, null, is);
|
||||||
}
|
}
|
||||||
|
@ -740,7 +740,7 @@ public class AnnotationParser
|
||||||
|
|
||||||
if (fullname.endsWith(".class"))
|
if (fullname.endsWith(".class"))
|
||||||
{
|
{
|
||||||
try (InputStream is = r.getInputStream())
|
try (InputStream is = r.newInputStream())
|
||||||
{
|
{
|
||||||
scanClass(handlers, null, is);
|
scanClass(handlers, null, is);
|
||||||
return;
|
return;
|
||||||
|
@ -790,7 +790,7 @@ public class AnnotationParser
|
||||||
if (LOG.isDebugEnabled())
|
if (LOG.isDebugEnabled())
|
||||||
LOG.debug("Scanning class {}", r);
|
LOG.debug("Scanning class {}", r);
|
||||||
addParsedClass(str, r.toString());
|
addParsedClass(str, r.toString());
|
||||||
try (InputStream is = r.getInputStream())
|
try (InputStream is = r.newInputStream())
|
||||||
{
|
{
|
||||||
scanClass(handlers, Resource.newResource(path.getParent()), is);
|
scanClass(handlers, Resource.newResource(path.getParent()), is);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3119,7 +3119,7 @@ public class ServletContextHandler extends ContextHandler implements Graceful
|
||||||
// Cannot serve directories as an InputStream
|
// Cannot serve directories as an InputStream
|
||||||
if (r.isDirectory())
|
if (r.isDirectory())
|
||||||
return null;
|
return null;
|
||||||
return r.getInputStream();
|
return r.newInputStream();
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -98,7 +98,7 @@ public class JDBCLoginService extends AbstractLoginService
|
||||||
{
|
{
|
||||||
Properties properties = new Properties();
|
Properties properties = new Properties();
|
||||||
Resource resource = Resource.newResource(_config);
|
Resource resource = Resource.newResource(_config);
|
||||||
try (InputStream in = resource.getInputStream())
|
try (InputStream in = resource.newInputStream())
|
||||||
{
|
{
|
||||||
properties.load(in);
|
properties.load(in);
|
||||||
}
|
}
|
||||||
|
|
|
@ -225,7 +225,7 @@ public class PropertyUserStore extends UserStore implements PathWatcher.Listener
|
||||||
throw new IllegalStateException("Config does not exist: " + config);
|
throw new IllegalStateException("Config does not exist: " + config);
|
||||||
|
|
||||||
Properties properties = new Properties();
|
Properties properties = new Properties();
|
||||||
try (InputStream inputStream = config.getInputStream())
|
try (InputStream inputStream = config.newInputStream())
|
||||||
{
|
{
|
||||||
properties.load(inputStream);
|
properties.load(inputStream);
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,13 +71,13 @@ public class OrderingTest
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InputStream getInputStream() throws IOException
|
public InputStream newInputStream() throws IOException
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ReadableByteChannel getReadableByteChannel() throws IOException
|
public ReadableByteChannel newReadableByteChannel() throws IOException
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,14 +83,14 @@ public abstract class AbstractWebAppObjectInSessionTest extends AbstractSessionT
|
||||||
//File sourceFile = new File(getClass().getClassLoader().getResource(resourceName).toURI());
|
//File sourceFile = new File(getClass().getClassLoader().getResource(resourceName).toURI());
|
||||||
File targetFile = new File(packageDirs, resourceName);
|
File targetFile = new File(packageDirs, resourceName);
|
||||||
//copy(sourceFile, targetFile);
|
//copy(sourceFile, targetFile);
|
||||||
IO.copy(resource.getInputStream(), new FileOutputStream(targetFile));
|
IO.copy(resource.newInputStream(), new FileOutputStream(targetFile));
|
||||||
|
|
||||||
resourceName = WebAppObjectInSessionServlet.class.getSimpleName() + "$" + WebAppObjectInSessionServlet.TestSharedStatic.class.getSimpleName() + ".class";
|
resourceName = WebAppObjectInSessionServlet.class.getSimpleName() + "$" + WebAppObjectInSessionServlet.TestSharedStatic.class.getSimpleName() + ".class";
|
||||||
resource = Resource.newResource(getClass().getResource(resourceName));
|
resource = Resource.newResource(getClass().getResource(resourceName));
|
||||||
//sourceFile = new File(getClass().getClassLoader().getResource(resourceName).toURI());
|
//sourceFile = new File(getClass().getClassLoader().getResource(resourceName).toURI());
|
||||||
targetFile = new File(packageDirs, resourceName);
|
targetFile = new File(packageDirs, resourceName);
|
||||||
//copy(sourceFile, targetFile);
|
//copy(sourceFile, targetFile);
|
||||||
IO.copy(resource.getInputStream(), new FileOutputStream(targetFile));
|
IO.copy(resource.newInputStream(), new FileOutputStream(targetFile));
|
||||||
|
|
||||||
DefaultSessionCacheFactory cacheFactory = new DefaultSessionCacheFactory();
|
DefaultSessionCacheFactory cacheFactory = new DefaultSessionCacheFactory();
|
||||||
cacheFactory.setEvictionPolicy(SessionCache.NEVER_EVICT);
|
cacheFactory.setEvictionPolicy(SessionCache.NEVER_EVICT);
|
||||||
|
|
|
@ -581,7 +581,7 @@ public class AnnotationParser
|
||||||
{
|
{
|
||||||
Resource r = Resource.newResource(resource);
|
Resource r = Resource.newResource(resource);
|
||||||
addParsedClass(className, r.toString());
|
addParsedClass(className, r.toString());
|
||||||
try (InputStream is = r.getInputStream())
|
try (InputStream is = r.newInputStream())
|
||||||
{
|
{
|
||||||
scanClass(handlers, null, is);
|
scanClass(handlers, null, is);
|
||||||
}
|
}
|
||||||
|
@ -607,7 +607,7 @@ public class AnnotationParser
|
||||||
{
|
{
|
||||||
Resource r = Resource.newResource(resource);
|
Resource r = Resource.newResource(resource);
|
||||||
addParsedClass(clazz.getName(), r.toString());
|
addParsedClass(clazz.getName(), r.toString());
|
||||||
try (InputStream is = r.getInputStream())
|
try (InputStream is = r.newInputStream())
|
||||||
{
|
{
|
||||||
scanClass(handlers, null, is);
|
scanClass(handlers, null, is);
|
||||||
}
|
}
|
||||||
|
@ -656,7 +656,7 @@ public class AnnotationParser
|
||||||
{
|
{
|
||||||
Resource r = Resource.newResource(resource);
|
Resource r = Resource.newResource(resource);
|
||||||
addParsedClass(className, r.toString());
|
addParsedClass(className, r.toString());
|
||||||
try (InputStream is = r.getInputStream())
|
try (InputStream is = r.newInputStream())
|
||||||
{
|
{
|
||||||
scanClass(handlers, null, is);
|
scanClass(handlers, null, is);
|
||||||
}
|
}
|
||||||
|
@ -740,7 +740,7 @@ public class AnnotationParser
|
||||||
|
|
||||||
if (fullname.endsWith(".class"))
|
if (fullname.endsWith(".class"))
|
||||||
{
|
{
|
||||||
try (InputStream is = r.getInputStream())
|
try (InputStream is = r.newInputStream())
|
||||||
{
|
{
|
||||||
scanClass(handlers, null, is);
|
scanClass(handlers, null, is);
|
||||||
return;
|
return;
|
||||||
|
@ -790,7 +790,7 @@ public class AnnotationParser
|
||||||
if (LOG.isDebugEnabled())
|
if (LOG.isDebugEnabled())
|
||||||
LOG.debug("Scanning class {}", r);
|
LOG.debug("Scanning class {}", r);
|
||||||
addParsedClass(str, r.toString());
|
addParsedClass(str, r.toString());
|
||||||
try (InputStream is = r.getInputStream())
|
try (InputStream is = r.newInputStream())
|
||||||
{
|
{
|
||||||
scanClass(handlers, Resource.newResource(path.getParent()), is);
|
scanClass(handlers, Resource.newResource(path.getParent()), is);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1886,7 +1886,7 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
|
||||||
// Cannot serve directories as an InputStream
|
// Cannot serve directories as an InputStream
|
||||||
if (r.isDirectory())
|
if (r.isDirectory())
|
||||||
return null;
|
return null;
|
||||||
return r.getInputStream();
|
return r.newInputStream();
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -851,7 +851,7 @@ public class ResourceService
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
try (InputStream input = content.getResource().getInputStream())
|
try (InputStream input = content.getResource().newInputStream())
|
||||||
{
|
{
|
||||||
IO.copy(input, out);
|
IO.copy(input, out);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -39,6 +39,7 @@ import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.util.BufferUtil;
|
import org.eclipse.jetty.util.BufferUtil;
|
||||||
import org.eclipse.jetty.util.Callback;
|
import org.eclipse.jetty.util.Callback;
|
||||||
import org.eclipse.jetty.util.FuturePromise;
|
import org.eclipse.jetty.util.FuturePromise;
|
||||||
|
import org.eclipse.jetty.util.IO;
|
||||||
import org.eclipse.jetty.util.resource.Resource;
|
import org.eclipse.jetty.util.resource.Resource;
|
||||||
import org.hamcrest.Matchers;
|
import org.hamcrest.Matchers;
|
||||||
import org.junit.jupiter.api.AfterEach;
|
import org.junit.jupiter.api.AfterEach;
|
||||||
|
@ -91,6 +92,8 @@ public class HttpOutputTest
|
||||||
@AfterEach
|
@AfterEach
|
||||||
public void destroy() throws Exception
|
public void destroy() throws Exception
|
||||||
{
|
{
|
||||||
|
IO.close(_handler._contentInputStream);
|
||||||
|
IO.close(_handler._contentChannel);
|
||||||
_server.stop();
|
_server.stop();
|
||||||
_server.join();
|
_server.join();
|
||||||
}
|
}
|
||||||
|
@ -137,7 +140,7 @@ public class HttpOutputTest
|
||||||
public void testSendInputStreamSimple() throws Exception
|
public void testSendInputStreamSimple() throws Exception
|
||||||
{
|
{
|
||||||
Resource simple = Resource.newClassPathResource("simple/simple.txt");
|
Resource simple = Resource.newClassPathResource("simple/simple.txt");
|
||||||
_handler._contentInputStream = simple.getInputStream();
|
_handler._contentInputStream = simple.newInputStream();
|
||||||
String response = _connector.getResponse("GET / HTTP/1.0\nHost: localhost:80\n\n");
|
String response = _connector.getResponse("GET / HTTP/1.0\nHost: localhost:80\n\n");
|
||||||
assertThat(response, containsString("HTTP/1.1 200 OK"));
|
assertThat(response, containsString("HTTP/1.1 200 OK"));
|
||||||
assertThat(response, containsString("Content-Length: 11"));
|
assertThat(response, containsString("Content-Length: 11"));
|
||||||
|
@ -147,7 +150,7 @@ public class HttpOutputTest
|
||||||
public void testSendInputStreamBig() throws Exception
|
public void testSendInputStreamBig() throws Exception
|
||||||
{
|
{
|
||||||
Resource big = Resource.newClassPathResource("simple/big.txt");
|
Resource big = Resource.newClassPathResource("simple/big.txt");
|
||||||
_handler._contentInputStream = big.getInputStream();
|
_handler._contentInputStream = big.newInputStream();
|
||||||
String response = _connector.getResponse("GET / HTTP/1.0\nHost: localhost:80\n\n");
|
String response = _connector.getResponse("GET / HTTP/1.0\nHost: localhost:80\n\n");
|
||||||
assertThat(response, containsString("HTTP/1.1 200 OK"));
|
assertThat(response, containsString("HTTP/1.1 200 OK"));
|
||||||
assertThat(response, Matchers.not(containsString("Content-Length")));
|
assertThat(response, Matchers.not(containsString("Content-Length")));
|
||||||
|
@ -158,7 +161,7 @@ public class HttpOutputTest
|
||||||
public void testSendInputStreamBigChunked() throws Exception
|
public void testSendInputStreamBigChunked() throws Exception
|
||||||
{
|
{
|
||||||
Resource big = Resource.newClassPathResource("simple/big.txt");
|
Resource big = Resource.newClassPathResource("simple/big.txt");
|
||||||
_handler._contentInputStream = new FilterInputStream(big.getInputStream())
|
_handler._contentInputStream = new FilterInputStream(big.newInputStream())
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public int read(byte[] b, int off, int len) throws IOException
|
public int read(byte[] b, int off, int len) throws IOException
|
||||||
|
@ -189,7 +192,7 @@ public class HttpOutputTest
|
||||||
public void testSendChannelSimple() throws Exception
|
public void testSendChannelSimple() throws Exception
|
||||||
{
|
{
|
||||||
Resource simple = Resource.newClassPathResource("simple/simple.txt");
|
Resource simple = Resource.newClassPathResource("simple/simple.txt");
|
||||||
_handler._contentChannel = simple.getReadableByteChannel();
|
_handler._contentChannel = simple.newReadableByteChannel();
|
||||||
String response = _connector.getResponse("GET / HTTP/1.0\nHost: localhost:80\n\n");
|
String response = _connector.getResponse("GET / HTTP/1.0\nHost: localhost:80\n\n");
|
||||||
assertThat(response, containsString("HTTP/1.1 200 OK"));
|
assertThat(response, containsString("HTTP/1.1 200 OK"));
|
||||||
assertThat(response, containsString("Content-Length: 11"));
|
assertThat(response, containsString("Content-Length: 11"));
|
||||||
|
@ -199,7 +202,7 @@ public class HttpOutputTest
|
||||||
public void testSendChannelBig() throws Exception
|
public void testSendChannelBig() throws Exception
|
||||||
{
|
{
|
||||||
Resource big = Resource.newClassPathResource("simple/big.txt");
|
Resource big = Resource.newClassPathResource("simple/big.txt");
|
||||||
_handler._contentChannel = big.getReadableByteChannel();
|
_handler._contentChannel = big.newReadableByteChannel();
|
||||||
String response = _connector.getResponse("GET / HTTP/1.0\nHost: localhost:80\n\n");
|
String response = _connector.getResponse("GET / HTTP/1.0\nHost: localhost:80\n\n");
|
||||||
assertThat(response, containsString("HTTP/1.1 200 OK"));
|
assertThat(response, containsString("HTTP/1.1 200 OK"));
|
||||||
assertThat(response, Matchers.not(containsString("Content-Length")));
|
assertThat(response, Matchers.not(containsString("Content-Length")));
|
||||||
|
@ -232,7 +235,7 @@ public class HttpOutputTest
|
||||||
public void testSendChannelBigChunked() throws Exception
|
public void testSendChannelBigChunked() throws Exception
|
||||||
{
|
{
|
||||||
Resource big = Resource.newClassPathResource("simple/big.txt");
|
Resource big = Resource.newClassPathResource("simple/big.txt");
|
||||||
final ReadableByteChannel channel = big.getReadableByteChannel();
|
final ReadableByteChannel channel = big.newReadableByteChannel();
|
||||||
_handler._contentChannel = new ReadableByteChannel()
|
_handler._contentChannel = new ReadableByteChannel()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -98,7 +98,7 @@ public class JDBCLoginService extends AbstractLoginService
|
||||||
{
|
{
|
||||||
Properties properties = new Properties();
|
Properties properties = new Properties();
|
||||||
Resource resource = Resource.newResource(_config);
|
Resource resource = Resource.newResource(_config);
|
||||||
try (InputStream in = resource.getInputStream())
|
try (InputStream in = resource.newInputStream())
|
||||||
{
|
{
|
||||||
properties.load(in);
|
properties.load(in);
|
||||||
}
|
}
|
||||||
|
|
|
@ -225,7 +225,7 @@ public class PropertyUserStore extends UserStore implements PathWatcher.Listener
|
||||||
throw new IllegalStateException("Config does not exist: " + config);
|
throw new IllegalStateException("Config does not exist: " + config);
|
||||||
|
|
||||||
Properties properties = new Properties();
|
Properties properties = new Properties();
|
||||||
try (InputStream inputStream = config.getInputStream())
|
try (InputStream inputStream = config.newInputStream())
|
||||||
{
|
{
|
||||||
properties.load(inputStream);
|
properties.load(inputStream);
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,13 +71,13 @@ public class OrderingTest
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InputStream getInputStream() throws IOException
|
public InputStream newInputStream() throws IOException
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ReadableByteChannel getReadableByteChannel() throws IOException
|
public ReadableByteChannel newReadableByteChannel() throws IOException
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,14 +83,14 @@ public abstract class AbstractWebAppObjectInSessionTest extends AbstractSessionT
|
||||||
//File sourceFile = new File(getClass().getClassLoader().getResource(resourceName).toURI());
|
//File sourceFile = new File(getClass().getClassLoader().getResource(resourceName).toURI());
|
||||||
File targetFile = new File(packageDirs, resourceName);
|
File targetFile = new File(packageDirs, resourceName);
|
||||||
//copy(sourceFile, targetFile);
|
//copy(sourceFile, targetFile);
|
||||||
IO.copy(resource.getInputStream(), new FileOutputStream(targetFile));
|
IO.copy(resource.newInputStream(), new FileOutputStream(targetFile));
|
||||||
|
|
||||||
resourceName = WebAppObjectInSessionServlet.class.getSimpleName() + "$" + WebAppObjectInSessionServlet.TestSharedStatic.class.getSimpleName() + ".class";
|
resourceName = WebAppObjectInSessionServlet.class.getSimpleName() + "$" + WebAppObjectInSessionServlet.TestSharedStatic.class.getSimpleName() + ".class";
|
||||||
resource = Resource.newResource(getClass().getResource(resourceName));
|
resource = Resource.newResource(getClass().getResource(resourceName));
|
||||||
//sourceFile = new File(getClass().getClassLoader().getResource(resourceName).toURI());
|
//sourceFile = new File(getClass().getClassLoader().getResource(resourceName).toURI());
|
||||||
targetFile = new File(packageDirs, resourceName);
|
targetFile = new File(packageDirs, resourceName);
|
||||||
//copy(sourceFile, targetFile);
|
//copy(sourceFile, targetFile);
|
||||||
IO.copy(resource.getInputStream(), new FileOutputStream(targetFile));
|
IO.copy(resource.newInputStream(), new FileOutputStream(targetFile));
|
||||||
|
|
||||||
DefaultSessionCacheFactory cacheFactory = new DefaultSessionCacheFactory();
|
DefaultSessionCacheFactory cacheFactory = new DefaultSessionCacheFactory();
|
||||||
cacheFactory.setEvictionPolicy(SessionCache.NEVER_EVICT);
|
cacheFactory.setEvictionPolicy(SessionCache.NEVER_EVICT);
|
||||||
|
|
Loading…
Reference in New Issue