package jenkins.diagnosis;
import hudson.Util;
import hudson.util.HttpResponses;
import jenkins.model.Jenkins;
import org.kohsuke.stapler.HttpResponse;
import java.io.File;
import java.io.IOException;
import java.util.Date;
/**
* Serves hs_err_pid file.
*
* @author Kohsuke Kawaguchi
*/
public class HsErrPidFile {
private final HsErrPidList owner;
private final File file;
public HsErrPidFile(HsErrPidList owner, File file) {
this.owner = owner;
this.file = file;
}
public String getName() {
return file.getName();
}
public String getPath() {
return file.getPath();
}
public long getLastModified() {
return file.lastModified();
}
public Date getLastModifiedDate() {
return new Date(file.lastModified());
}
public String getTimeSpanString() {
return Util.getTimeSpanString(System.currentTimeMillis()-getLastModified());
}
public HttpResponse doDownload() throws IOException {
Jenkins.getInstance().checkPermission(Jenkins.ADMINISTER);
return HttpResponses.staticResource(file);
}
public HttpResponse doDelete() throws IOException {
Jenkins.getInstance().checkPermission(Jenkins.ADMINISTER);
file.delete();
owner.files.remove(this);
return HttpResponses.redirectTo("../..");
}
}