20,6 → 20,7 |
import org.apache.log4j.Logger; |
|
import ak.photoalbum.util.FileUtils; |
import ak.photoalbum.util.TimestampRecipient; |
import ak.photoalbum.util.ResourceFactory; |
import ak.photoalbum.config.ConfigRoot; |
import ak.photoalbum.config.ConfigBranch; |
243,7 → 244,8 |
return FileUtils.getMime(FileUtils.extractFileExt(path)); |
} |
|
public void writeDir(String uri, String path, OutputStream out) |
public boolean writeDir(String uri, String path, long ifModifiedSince, |
OutputStream out, TimestampRecipient timestampRecipient) |
throws IOException, LogicException |
{ |
Branch branch = getBranch(uri); |
250,10 → 252,12 |
File file = new File(branch.getImagesRoot(), path); |
|
securePath(branch.getImagesRoot(), file); |
branch.getThumbnailer().writeDir(file, out); |
|
return branch.getThumbnailer().writeDir(file, ifModifiedSince, out, timestampRecipient); |
} |
|
public void writeSmall(String uri, String path, OutputStream out) |
public boolean writeSmall(String uri, String path, long ifModifiedSince, |
OutputStream out, TimestampRecipient timestampRecipient) |
throws IOException, LogicException |
{ |
Branch branch = getBranch(uri); |
260,10 → 264,12 |
File file = new File(branch.getImagesRoot(), path); |
|
securePath(branch.getImagesRoot(), file); |
branch.getThumbnailer().writeSmall(file, out); |
|
return branch.getThumbnailer().writeSmall(file, ifModifiedSince, out, timestampRecipient); |
} |
|
public void writeMedium(String uri, String path, OutputStream out) |
public boolean writeMedium(String uri, String path, long ifModifiedSince, |
OutputStream out, TimestampRecipient timestampRecipient) |
throws IOException, LogicException |
{ |
Branch branch = getBranch(uri); |
270,10 → 276,12 |
File file = new File(branch.getImagesRoot(), path); |
|
securePath(branch.getImagesRoot(), file); |
branch.getThumbnailer().writeMedium(file, out); |
|
return branch.getThumbnailer().writeMedium(file, ifModifiedSince, out, timestampRecipient); |
} |
|
public void writeOrigin(String uri, String path, OutputStream out) |
public boolean writeOrigin(String uri, String path, long ifModifiedSince, |
OutputStream out, TimestampRecipient timestampRecipient) |
throws IOException, LogicException |
{ |
Branch branch = getBranch(uri); |
282,6 → 290,12 |
|
securePath(branch.getImagesRoot(), file); |
|
if(ifModifiedSince >= 0 && ifModifiedSince <= file.lastModified()) return false; |
|
if(timestampRecipient != null) { |
timestampRecipient.setTimestamp(file.lastModified()); |
} |
|
try { |
in = new FileInputStream(file); |
FileUtils.copyStreams(in, out); |
289,6 → 303,8 |
finally { |
if(in != null) in.close(); |
} |
|
return true; |
} |
|
protected MetaInfo getMetaInfo(Branch branch, File dir) |