import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
+import java.net.URL;
import java.util.ArrayList;
import java.util.List;
InputStream in = new MarkableFileInputStream(new FileInputStream(
infoFile));
try {
- return createMeta(in);
+ return createMeta(infoFile.toURI().toURL(), in);
} finally {
in.close();
in = null;
}
}
- private static MetaData createMeta(InputStream in) throws IOException {
+ private static MetaData createMeta(URL sourceInfoFile, InputStream in)
+ throws IOException {
MetaData meta = new MetaData();
meta.setTitle(getInfoTag(in, "TITLE"));
meta.setDate(getInfoTag(in, "DATE"));
meta.setTags(getInfoTagList(in, "TAGS", ","));
meta.setSource(getInfoTag(in, "SOURCE"));
+ meta.setUrl(getInfoTag(in, "URL"));
meta.setPublisher(getInfoTag(in, "PUBLISHER"));
meta.setUuid(getInfoTag(in, "UUID"));
meta.setLuid(getInfoTag(in, "LUID"));
meta.setSubject(getInfoTag(in, "SUBJECT"));
meta.setType(getInfoTag(in, "TYPE"));
meta.setImageDocument(getInfoTagBoolean(in, "IMAGES_DOCUMENT", false));
- meta.setCover(BasicSupport.getImage(null, getInfoTag(in, "COVER")));
+ meta.setCover(BasicSupport.getImage(null, sourceInfoFile,
+ getInfoTag(in, "COVER")));
+ try {
+ meta.setWords(Long.parseLong(getInfoTag(in, "WORDCOUNT")));
+ } catch (NumberFormatException e) {
+ meta.setWords(0);
+ }
+ meta.setCreationDate(getInfoTag(in, "CREATION_DATE"));
+ meta.setFakeCover(Boolean.parseBoolean(getInfoTag(in, "FAKE_COVER")));
if (meta.getCover() == null) {
meta.setCover(BasicSupport.getDefaultCover(meta.getSubject()));