projects
/
meviz.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
possibility to specify bitrate for MTS to MP4 converter
[meviz.git]
/
src
/
main
/
java
/
eu
/
svjatoslav
/
meviz
/
htmlindexer
/
FilesystemIndexer.java
diff --git
a/src/main/java/eu/svjatoslav/meviz/htmlindexer/FilesystemIndexer.java
b/src/main/java/eu/svjatoslav/meviz/htmlindexer/FilesystemIndexer.java
index
ea6489e
..
c103b68
100755
(executable)
--- a/
src/main/java/eu/svjatoslav/meviz/htmlindexer/FilesystemIndexer.java
+++ b/
src/main/java/eu/svjatoslav/meviz/htmlindexer/FilesystemIndexer.java
@@
-15,11
+15,14
@@
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.io.FileReader;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
import java.util.HashSet;
import java.util.HashSet;
+import java.util.List;
import org.apache.log4j.Logger;
import eu.svjatoslav.commons.file.IOHelper;
import org.apache.log4j.Logger;
import eu.svjatoslav.commons.file.IOHelper;
+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;
import eu.svjatoslav.meviz.htmlindexer.layouts.MixedLayout;
import eu.svjatoslav.meviz.htmlindexer.metadata.Dimension;
import eu.svjatoslav.meviz.htmlindexer.metadata.DirectoryMetadata;
@@
-50,13
+53,14
@@
public class FilesystemIndexer extends AbstractIndexer {
private final IndexingOptions indexingOptions;
private final IndexingOptions indexingOptions;
- private final
String[]
pathElements;
+ private final
List<String>
pathElements;
private HashSet<Layout> layouts;
public FilesystemIndexer(final File directoryToIndex,
private HashSet<Layout> layouts;
public FilesystemIndexer(final File directoryToIndex,
- final IndexingOptions indexingOptions, final String[] pathElements)
- throws IOException, ImageFormatError {
+ final IndexingOptions indexingOptions,
+ final List<String> pathElements) throws IOException,
+ ImageFormatError {
this.directoryToIndex = directoryToIndex;
this.indexingOptions = indexingOptions;
this.directoryToIndex = directoryToIndex;
this.indexingOptions = indexingOptions;
@@
-140,7
+144,7
@@
public class FilesystemIndexer extends AbstractIndexer {
indexForLayout(layout);
IOHelper.overwriteFileIfContentDiffers(indexFile, layout
indexForLayout(layout);
IOHelper.overwriteFileIfContentDiffers(indexFile, layout
- .getHtml().getBytes());
+ .getHtml(
true, true
).getBytes());
}
} catch (final Exception e) {
logger.error("Error writing index file to:" + indexFilePath, e);
}
} catch (final Exception e) {
logger.error("Error writing index file to:" + indexFilePath, e);
@@
-148,25
+152,29
@@
public class FilesystemIndexer extends AbstractIndexer {
}
}
}
}
- @Override
- public String getDirectoryUrl(final AbstractFile directory) {
- return directory.fileName + "/index.html";
- }
+ public List<String> getChildPath(final File file) {
- public String[] getSubPath(final File file) {
+ final List<String> result = new ArrayList<String>();
+ result.addAll(pathElements);
+ result.add(file.getName());
- final String[] subPath = new String[pathElements.length + 1];
+ return result;
+ }
- for (int i = 0; i < pathElements.length; i++)
- subPath[i] = pathElements[i];
+ @Override
+ public String getDirectoryUrl(final AbstractFile directory,
+ final IndexingContext context) {
+ return directory.fileName + "/index.html";
+ }
- subPath[pathElements.length] = file.getName();
- return subPath;
+ @Override
+ public String getParentDirectoryUrl(final IndexingContext context) {
+ return "../index.html";
}
@Override
}
@Override
- public String getThumbnail
Path
(final Picture picture,
- final Dimension desiredDimension) {
+ public String getThumbnail
Url
(final Picture picture,
+ final Dimension desiredDimension
, final IndexingContext context
) {
// in case thumbnail size was equal to original, then return original
// file path
// in case thumbnail size was equal to original, then return original
// file path
@@
-188,7
+196,8
@@
public class FilesystemIndexer extends AbstractIndexer {
Picture.makeThumbnail(originalFile, thumbnailFile,
desiredDimension.getAwtDimension());
}
Picture.makeThumbnail(originalFile, thumbnailFile,
desiredDimension.getAwtDimension());
}
- return Constants.THUMBNAILS_DIRECTORY_NAME + "/" + thumbnailFileName;
+ return Constants.THUMBNAILS_DIRECTORY_NAME + "/"
+ + UrlParamEncoder.encode(thumbnailFileName);
}
public void indexForLayout(final Layout layout)
}
public void indexForLayout(final Layout layout)
@@
-214,7
+223,8
@@
public class FilesystemIndexer extends AbstractIndexer {
layouts.add(new MixedLayout());
for (final Layout layout : layouts)
layouts.add(new MixedLayout());
for (final Layout layout : layouts)
- layout.init(indexingOptions.galleryTitle, pathElements, this, "");
+ layout.init(indexingOptions.galleryTitle, pathElements, this,
+ new IndexingContext("", "."));
}
public void initializeThumbnailsDirectory() {
}
public void initializeThumbnailsDirectory() {
@@
-255,7
+265,7
@@
public class FilesystemIndexer extends AbstractIndexer {
if (file.isDirectory())
new FilesystemIndexer(file, indexingOptions,
if (file.isDirectory())
new FilesystemIndexer(file, indexingOptions,
- get
Sub
Path(file));
+ get
Child
Path(file));
}
}
}
}
}
}