format Signed-off-by: olivier lamy <[email protected]>
Project: http://git-wip-us.apache.org/repos/asf/maven-indexer/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-indexer/commit/75cc5aca Tree: http://git-wip-us.apache.org/repos/asf/maven-indexer/tree/75cc5aca Diff: http://git-wip-us.apache.org/repos/asf/maven-indexer/diff/75cc5aca Branch: refs/heads/master Commit: 75cc5aca3a9a08552af5d3fec72613ec90cc8372 Parents: 887b0ad Author: olivier lamy <[email protected]> Authored: Mon Jul 24 13:54:09 2017 +1000 Committer: olivier lamy <[email protected]> Committed: Mon Jul 24 13:54:09 2017 +1000 ---------------------------------------------------------------------- .../index/reader/CachingResourceHandler.java | 173 +++++++++++-------- 1 file changed, 97 insertions(+), 76 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-indexer/blob/75cc5aca/indexer-reader/src/test/java/org/apache/maven/index/reader/CachingResourceHandler.java ---------------------------------------------------------------------- diff --git a/indexer-reader/src/test/java/org/apache/maven/index/reader/CachingResourceHandler.java b/indexer-reader/src/test/java/org/apache/maven/index/reader/CachingResourceHandler.java index 5c2f939..be38b71 100644 --- a/indexer-reader/src/test/java/org/apache/maven/index/reader/CachingResourceHandler.java +++ b/indexer-reader/src/test/java/org/apache/maven/index/reader/CachingResourceHandler.java @@ -19,108 +19,129 @@ package org.apache.maven.index.reader; * under the License. */ +import org.apache.maven.index.reader.WritableResourceHandler.WritableResource; + import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.HashSet; import java.util.Set; -import org.apache.maven.index.reader.WritableResourceHandler.WritableResource; - /** * A trivial caching {@link ResourceHandler} that caches forever during single session (existence of the instance). */ public class CachingResourceHandler implements ResourceHandler { - private static final Resource NOT_EXISTING_RESOURCE = new Resource() - { - public InputStream read() throws IOException { - return null; - } + private static final Resource NOT_EXISTING_RESOURCE = new Resource() + { + public InputStream read() + throws IOException + { + return null; + } - public void close() throws IOException { - // nop - } - }; + public void close() + throws IOException + { + // nop + } + }; - private final WritableResourceHandler local; + private final WritableResourceHandler local; - private final ResourceHandler remote; + private final ResourceHandler remote; - private final Set<String> notFoundResources; + private final Set<String> notFoundResources; - public CachingResourceHandler(final WritableResourceHandler local, final ResourceHandler remote) { - if (local == null || remote == null) { - throw new NullPointerException("null resource handler"); - } - this.local = local; - this.remote = remote; - this.notFoundResources = new HashSet<String>(); - } - - public Resource locate(final String name) throws IOException { - if (notFoundResources.contains(name)) { - return NOT_EXISTING_RESOURCE; + public CachingResourceHandler( final WritableResourceHandler local, final ResourceHandler remote ) + { + if ( local == null || remote == null ) + { + throw new NullPointerException( "null resource handler" ); + } + this.local = local; + this.remote = remote; + this.notFoundResources = new HashSet<>(); } - else { - return new CachingResource(name); + + public Resource locate( final String name ) + throws IOException + { + if ( notFoundResources.contains( name ) ) + { + return NOT_EXISTING_RESOURCE; + } + else + { + return new CachingResource( name ); + } } - } - private class CachingResource - implements Resource - { - private final String name; + private class CachingResource + implements Resource + { + private final String name; - private CachingResource(final String name) { - this.name = name; - } + private CachingResource( final String name ) + { + this.name = name; + } - public InputStream read() throws IOException { - InputStream inputStream = local.locate(name).read(); - if (inputStream != null) { - return inputStream; - } - if (cacheLocally(name)) { - return local.locate(name).read(); - } - notFoundResources.add(name); - return null; - } + public InputStream read() + throws IOException + { + InputStream inputStream = local.locate( name ).read(); + if ( inputStream != null ) + { + return inputStream; + } + if ( cacheLocally( name ) ) + { + return local.locate( name ).read(); + } + notFoundResources.add( name ); + return null; + } - private boolean cacheLocally(final String name) throws IOException { - final Resource remoteResource = remote.locate(name); - final WritableResource localResource = local.locate(name); - try (final InputStream inputStream = remoteResource.read(); - final OutputStream outputStream = localResource.write()) - { - if (inputStream != null) { - ; - try { - int read; - byte[] bytes = new byte[8192]; - while ((read = inputStream.read(bytes)) != -1) { - outputStream.write(bytes, 0, read); + private boolean cacheLocally( final String name ) + throws IOException + { + final Resource remoteResource = remote.locate( name ); + final WritableResource localResource = local.locate( name ); + try (final InputStream inputStream = remoteResource.read(); // + final OutputStream outputStream = localResource.write()) + { + if ( inputStream != null ) + { + int read; + byte[] bytes = new byte[8192]; + while ( ( read = inputStream.read( bytes ) ) != -1 ) + { + outputStream.write( bytes, 0, read ); + } + outputStream.flush(); + return true; + } + return false; + } + finally + { + localResource.close(); } - outputStream.flush(); - return true; - } } - return false; - } - finally { - localResource.close(); - } - } - public void close() throws IOException { - // nop + public void close() + throws IOException + { + // nop + } } - } - public void close() throws IOException { - remote.close(); - local.close(); - } + public void close() + throws IOException + { + remote.close(); + local.close(); + } }
