X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fhtmlindexer%2FWebIndexer.java;h=d2aabcdd3e6317157d2f0ddf3efc5ed24b319f26;hb=304c3aace09cf8a96ec381dabc21725398e87b55;hp=dd52973322fa590b6c09a29c7dcc17a2d668fe7c;hpb=1b742640af99284aae1cd10c259254137316ba7c;p=meviz.git diff --git a/src/main/java/eu/svjatoslav/meviz/htmlindexer/WebIndexer.java b/src/main/java/eu/svjatoslav/meviz/htmlindexer/WebIndexer.java index dd52973..d2aabcd 100644 --- a/src/main/java/eu/svjatoslav/meviz/htmlindexer/WebIndexer.java +++ b/src/main/java/eu/svjatoslav/meviz/htmlindexer/WebIndexer.java @@ -11,7 +11,6 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.io.UnsupportedEncodingException; import java.net.URL; -import java.net.URLEncoder; import java.util.List; public class WebIndexer extends AbstractIndexer { @@ -35,13 +34,7 @@ public class WebIndexer extends AbstractIndexer { @Override public String getDirectoryUrl(final AbstractFile directory, final IndexingContext context) { - - try { - return jspPath + context.getLocalUrl() + "/" - + URLEncoder.encode(directory.fileName, "UTF-8"); - } catch (final UnsupportedEncodingException e) { - throw new RuntimeException(e); - } + return jspPath + context.getLocalUrl() + "/" + directory.fileName; } public String getHtml(String requestPath) throws @@ -65,32 +58,29 @@ public class WebIndexer extends AbstractIndexer { return layout.getHtml(false, false, directory); } - public DirectoryMetadata getMetadataForPath(final String requestPath) + private DirectoryMetadata getMetadataForPath(final String requestPath) throws ClassNotFoundException, IOException { - final String urlString = globalPrefix + - Utils.urlEncode(requestPath) + - "/.thumbnails/metadata_6.dat"; - - IOException exception = null; + final String urlString = globalPrefix + Utils.urlEncode(requestPath) + "/.thumbnails/metadata_6.dat"; - for (int i = 0; i < METADATA_LOAD_TRY_COUNT; i++) + for (int i = 0; true; i++) try { - - final BufferedInputStream in = new BufferedInputStream(new URL( - urlString).openStream()); - - final ObjectInputStream oin = new ObjectInputStream(in); - final DirectoryMetadata directory = (DirectoryMetadata) oin - .readObject(); - in.close(); - - return directory; + return attemptDirectoryMetadataDownload(urlString); } catch (final IOException e) { - exception = e; + if (i > METADATA_LOAD_TRY_COUNT) throw e; } + } + + private DirectoryMetadata attemptDirectoryMetadataDownload(String urlString) throws IOException, ClassNotFoundException { + final BufferedInputStream inputStream = new BufferedInputStream(new URL( + urlString).openStream()); + + final ObjectInputStream objectInputStream = new ObjectInputStream(inputStream); + final DirectoryMetadata directory = (DirectoryMetadata) objectInputStream + .readObject(); + inputStream.close(); - throw exception; + return directory; } @Override