package com.psddev.cms.tool.file;
import java.io.IOException;
import javax.servlet.ServletException;
import com.psddev.cms.tool.FileContentType;
import com.psddev.cms.tool.ToolPageContext;
import com.psddev.dari.db.State;
import com.psddev.dari.util.StorageItem;
import com.psddev.dari.util.StringUtils;
public class AudioFileType implements FileContentType {
@Override
public double getPriority(StorageItem storageItem) {
String contentType = storageItem.getContentType();
if (StringUtils.isBlank(contentType)
|| !contentType.startsWith("audio/")) {
return DEFAULT_PRIORITY_LEVEL - 1;
}
return DEFAULT_PRIORITY_LEVEL;
}
@Override
public void writePreview(ToolPageContext page, State state, StorageItem fieldValue) throws IOException, ServletException {
page.writeStart("a",
"href", page.h(fieldValue.getPublicUrl()),
"target", "_blank");
page.write(page.h(fieldValue.getContentType()));
page.write(": ");
page.write(page.h(fieldValue.getPath()));
page.writeEnd();
page.writeStart("audio",
"style", "display: block",
"controls", "controls");
page.writeTag("source",
"src", fieldValue.getPublicUrl(),
"type", fieldValue.getContentType());
page.writeEnd();
}
}