X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fhtmlindexer%2FWebIndexer.java;h=7cf1d2097f97930271ea5654d7145ce42e892e2c;hb=6cda75011fa4346a3cc2c7c7790eb1f1b12cd3fe;hp=199f789e3dc517d087b1ec9107eb9e6930ca96c6;hpb=cae31cf3d6924dfbd3fe73a6f0f954b01d96bea2;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 199f789..7cf1d20 100644 --- a/src/main/java/eu/svjatoslav/meviz/htmlindexer/WebIndexer.java +++ b/src/main/java/eu/svjatoslav/meviz/htmlindexer/WebIndexer.java @@ -3,11 +3,12 @@ package eu.svjatoslav.meviz.htmlindexer; import java.io.BufferedInputStream; import java.io.IOException; import java.io.ObjectInputStream; +import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; +import java.net.URLEncoder; import java.util.List; -import eu.svjatoslav.commons.network.UrlParamEncoder; import eu.svjatoslav.meviz.htmlindexer.layouts.MixedLayout; import eu.svjatoslav.meviz.htmlindexer.metadata.Dimension; import eu.svjatoslav.meviz.htmlindexer.metadata.DirectoryMetadata; @@ -25,16 +26,31 @@ public class WebIndexer extends AbstractIndexer { this.jspPath = jspPath; } + @Override + public void compileHtml(final Layout layout, + final DirectoryMetadata directory) + throws UnsupportedEncodingException { + super.compileHtml(layout, directory); + } + @Override public String getDirectoryUrl(final AbstractFile directory, final IndexingContext context) { - return jspPath + context.getLocalUrl() + "/" - + UrlParamEncoder.encode(directory.fileName); + + try { + return jspPath + context.getLocalUrl() + "/" + + URLEncoder.encode(directory.fileName, "UTF-8"); + } catch (final UnsupportedEncodingException e) { + throw new RuntimeException(e); + } } public String getHtml(String requestPath) throws MalformedURLException, IOException, ClassNotFoundException { + if (requestPath == null) + requestPath = ""; + if (requestPath.equals("/")) requestPath = ""; @@ -43,11 +59,11 @@ public class WebIndexer extends AbstractIndexer { requestPath); layout.init("Photos", context.getLocalPathComponents(), this, context); - final DirectoryMetadata metadata = getMetadataForPath(requestPath); + final DirectoryMetadata directory = getMetadataForPath(requestPath); - compileHtml(layout, metadata); + compileHtml(layout, directory); - return layout.getHtml(false, false); + return layout.getHtml(false, false, directory); } public DirectoryMetadata getMetadataForPath(final String requestPath) @@ -56,7 +72,7 @@ public class WebIndexer extends AbstractIndexer { final StringBuffer urlStringBuffer = new StringBuffer(); urlStringBuffer.append(globalPrefix); - urlStringBuffer.append(UrlParamEncoder.encode(requestPath)); + urlStringBuffer.append(Utils.urlEncode(requestPath)); urlStringBuffer.append("/.thumbnails/metadata_6.dat"); final String urlString = urlStringBuffer.toString(); @@ -114,7 +130,7 @@ public class WebIndexer extends AbstractIndexer { return context.getGlobalUrl() + context.getLocalUrl() + "/" + Constants.THUMBNAILS_DIRECTORY_NAME + "/" - + UrlParamEncoder.encode(thumbnailFileName); + + Utils.urlEncode(thumbnailFileName); } }