mount(new URIRequestTargetUrlCodingStrategy("/" + "ZipFolder") {
public IRequestTarget decode(RequestParameters requestParameters) {
String uri = getURI(requestParameters);
uri = uri.substring(0, uri.length() - ".zip".length());
org.apache.wicket.util.file.File file = new org.apache.wicket.util.file.File(new File(settings.getImageDirectoryRoot(), uri));
return new ResourceStreamRequestTarget(new ZipResourceStream(file));
}
});
mount(new URIRequestTargetUrlCodingStrategy("/" + FEED_PATH) {
@Override
public IRequestTarget decode(RequestParameters requestParameters) {
try {
final ByteArrayOutputStream pout = new ByteArrayOutputStream();
feedGenerator.generate(settings.getImageDirectoryRoot(), getURI(requestParameters), pout);
IResourceStream resource = new AbstractResourceStream() {
public InputStream getInputStream() throws ResourceStreamNotFoundException {
return new ByteArrayInputStream(pout.toByteArray());
}
public void close() throws IOException {
pout.close();
}
@Override
public long length() {
return pout.size();
}
};
return new ResourceStreamRequestTarget(resource);
} catch (Exception e) {
throw new WicketRuntimeException(e);
}
}
});