package freenet.clients.http;
import freenet.client.HighLevelSimpleClient;
import freenet.l10n.NodeL10n;
import freenet.node.NodeClientCore;
import freenet.support.HTMLNode;
import java.io.File;
import java.util.Hashtable;
public class LocalDownloadDirectoryToadlet extends LocalDirectoryToadlet {
LocalDownloadDirectoryToadlet (NodeClientCore core, HighLevelSimpleClient highLevelSimpleClient, String post) {
super(core, highLevelSimpleClient, post);
}
@Override
protected String startingDir() {
return defaultDownloadDir();
}
@Override
protected boolean allowedDir(File path) {
return core.allowDownloadTo(path);
}
@Override
protected String filenameField() {
return "path";
}
@Override
protected void createSelectDirectoryButton (HTMLNode formNode, String path, HTMLNode persist) {
formNode.addChild("input",
new String[] { "type", "name", "value" },
new String[] { "submit", selectDir,
NodeL10n.getBase().getString("QueueToadlet.download")});
formNode.addChild("input",
new String[] { "type", "name", "value" },
new String[] { "hidden", filenameField(), path});
formNode.addChild(persist);
}
@Override
protected Hashtable<String, String> persistenceFields (Hashtable<String, String> set) {
Hashtable<String, String> fieldPairs = new Hashtable<String, String>();
//From bulk downloads, set download button.
if (set.containsKey("bulkDownloads")) {
fieldPairs.put("bulkDownloads", set.get("bulkDownloads"));
fieldPairs.put("insert", "1");
fieldPairs.put("target", "disk");
//From FProxy page, set download button.
} else if (set.containsKey("key")) {
fieldPairs.put("key", set.get("key"));
fieldPairs.put("download", "1");
fieldPairs.put("return-type", "disk");
}
if (set.containsKey("filterData")) fieldPairs.put("filterData", set.get("filterData"));
return fieldPairs;
}
}