package com.venky.swf.plugins.attachment.controller; import java.util.List; import com.venky.core.date.DateUtils; import com.venky.swf.controller.ModelController; import com.venky.swf.exceptions.AccessDeniedException; import com.venky.swf.path.Path; import com.venky.swf.plugins.attachment.db.model.Attachment; import com.venky.swf.sql.Expression; import com.venky.swf.sql.Operator; import com.venky.swf.sql.Select; import com.venky.swf.views.View; public class AttachmentsController extends ModelController<Attachment>{ public AttachmentsController(Path path) { super(path); } public View view(String contentFileName){ List<Attachment> attachements = new Select().from(Attachment.class).where(new Expression(getReflector().getPool(),"ATTACHMENT_CONTENT_NAME",Operator.EQ,contentFileName)).execute(); if (attachements.size() == 1){ getPath().getResponse().setDateHeader("Expires", DateUtils.addHours(System.currentTimeMillis(), 24*365*15)); return super.view(attachements.get(0).getId()); } throw new AccessDeniedException(); } }