X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fhtmlindexer%2Flayouts%2FMixedLayout.java;h=cf1285e6aec6227a62575be66eed90eeb929130b;hb=ebf93054aaee0c329075a98c02e5cbc90013335a;hp=4e6b5bf89698418df30e055680f8310696c424ff;hpb=115456739edd5ae7dc67ac9e9f90d628aa65b4a3;p=meviz.git diff --git a/src/main/java/eu/svjatoslav/meviz/htmlindexer/layouts/MixedLayout.java b/src/main/java/eu/svjatoslav/meviz/htmlindexer/layouts/MixedLayout.java index 4e6b5bf..cf1285e 100755 --- a/src/main/java/eu/svjatoslav/meviz/htmlindexer/layouts/MixedLayout.java +++ b/src/main/java/eu/svjatoslav/meviz/htmlindexer/layouts/MixedLayout.java @@ -9,17 +9,18 @@ package eu.svjatoslav.meviz.htmlindexer.layouts; +import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.List; import org.apache.log4j.Logger; import eu.svjatoslav.commons.file.FilePathParser; -import eu.svjatoslav.commons.network.UrlParamEncoder; import eu.svjatoslav.meviz.htmlindexer.AbstractIndexer; import eu.svjatoslav.meviz.htmlindexer.Constants; import eu.svjatoslav.meviz.htmlindexer.IndexingContext; import eu.svjatoslav.meviz.htmlindexer.Layout; +import eu.svjatoslav.meviz.htmlindexer.Utils; import eu.svjatoslav.meviz.htmlindexer.metadata.Dimension; import eu.svjatoslav.meviz.htmlindexer.metadata.DirectoryMetadata; import eu.svjatoslav.meviz.htmlindexer.metadata.fileTypes.AbstractFile; @@ -28,6 +29,8 @@ import eu.svjatoslav.meviz.htmlindexer.metadata.fileTypes.Picture; public class MixedLayout implements Layout { + public static final String encoding = "UTF-8"; + Logger logger = Logger.getLogger(MixedLayout.class); StringBuffer dirHtml = new StringBuffer(); @@ -38,8 +41,6 @@ public class MixedLayout implements Layout { List path; - public static final String encoding = "UTF-8"; - private AbstractIndexer indexer; private IndexingContext indexingContext; @@ -63,7 +64,7 @@ public class MixedLayout implements Layout { filesHtml.append("
" + fullFileName + "\n"); filesHtml.append("  (" + FilePathParser.getFileSizeDescription(file.getFileLength()) @@ -114,8 +115,9 @@ public class MixedLayout implements Layout { // clickable image thumbnail filesHtml.append("\n"); + filesHtml.append("
\n"); @@ -146,8 +148,8 @@ public class MixedLayout implements Layout { filesHtml .append("\n"); + + Utils.urlEncode(indexingContext.getLocalUrl() + "/" + + file.fileName) + "\">\n"); filesHtml.append("\n"); filesHtml.append("\n"); filesHtml.append("
\n"); @@ -162,8 +164,8 @@ public class MixedLayout implements Layout { // video download link filesHtml.append("download as OGV"); + + Utils.urlEncode(indexingContext.getLocalUrl() + "/" + + file.fileName) + "\">download as OGV file"); filesHtml.append("
\n"); @@ -177,42 +179,43 @@ public class MixedLayout implements Layout { return ""; } - /** {@inheritDoc} */ + /** + * {@inheritDoc} + * + * @throws IOException + */ @Override public String getHtml(final boolean showTitle, - final boolean doHtmlHeaderAndFooter) { + final boolean doHtmlHeaderAndFooter, + final DirectoryMetadata directory) { // assemble final page HTML - final StringBuffer finalHtml = new StringBuffer(); + final StringBuffer html = new StringBuffer(); if (doHtmlHeaderAndFooter) { // page header - finalHtml.append("\n"); - finalHtml.append("\n"); - finalHtml - .append(" \n"); - finalHtml.append("\n"); - finalHtml - .append("\n"); - finalHtml.append("\n"); - finalHtml.append("\n"); - finalHtml.append("\n"); + html.append("\n"); + html.append("\n"); + html.append(" \n"); + html.append("\n"); + html.append("\n"); + html.append("\n"); + html.append("\n"); + html.append("\n"); } if (showTitle) - finalHtml - .append("

" + galleryTitle + "

\n"); + html.append("

" + galleryTitle + "

\n"); - showCurrentPath(finalHtml); - - listDirectories(finalHtml); - - finalHtml.append(filesHtml.toString()); + html.append(showCurrentPath()); + html.append(listDirectories()); + html.append(directory.getHeaderMevizMetadataHtml()); + html.append(filesHtml.toString()); if (doHtmlHeaderAndFooter) - finalHtml.append("
\n"); + html.append("
\n"); - return finalHtml.toString(); + return html.toString(); } private String getImageThumbnailUrl(final Picture picture) { @@ -241,27 +244,69 @@ public class MixedLayout implements Layout { filesHtml = new StringBuffer(); } - private void listDirectories(final StringBuffer finalHtml) { - finalHtml.append("\n"); + private String listDirectories() { + final StringBuilder html = new StringBuilder(); + html.append("
\n"); if (path.size() > 0) { - finalHtml.append(""); - finalHtml.append(""); - finalHtml.append("\n"); + html.append("\n"); } - finalHtml.append(dirHtml.toString()); - finalHtml.append("\n\n"); - finalHtml.append("
"); + html.append("

<== parent directory


\n"); + html.append(dirHtml.toString()); + html.append("\n
\n"); + html.append("\n"); + + return html.toString(); } - private void showCurrentPath(final StringBuffer finalHtml) { - finalHtml.append("

"); + private String showCurrentPath() { + final StringBuilder html = new StringBuilder(); + html.append("

"); for (final String p : path) - finalHtml.append(" / " + p); - finalHtml.append("

\n"); + html.append(" / " + p); + html.append("

\n"); + + return html.toString(); } + @Override + public void enlistWebm(AbstractFile abstractFile, + DirectoryMetadata directory) { + final GeneralFile file = (GeneralFile) abstractFile; + + filesHtml.append("
"); + + // watchable video + + String fileUrl = indexingContext.getGlobalUrl() + + Utils.urlEncode(indexingContext.getLocalUrl() + "/" + + file.fileName); + + filesHtml.append("\n"); + filesHtml.append("
\n"); + + // video title + filesHtml + .append("Video: " + + FilePathParser + .getFileNameWithoutExtension(file.fileName) + + "            "); + + // video download link + filesHtml.append("download as WebM file"); + + filesHtml.append("
\n"); + + filesHtml.append("\n"); + } }