package edu.ualberta.med.biobank.common.action.collectionEvent; import edu.ualberta.med.biobank.common.action.Action; import edu.ualberta.med.biobank.common.action.ActionContext; import edu.ualberta.med.biobank.common.action.IdResult; import edu.ualberta.med.biobank.common.action.exception.ActionException; import edu.ualberta.med.biobank.common.permission.collectionEvent.CollectionEventDeletePermission; import edu.ualberta.med.biobank.model.CollectionEvent; public class CollectionEventDeleteAction implements Action<IdResult> { private static final long serialVersionUID = 1L; private final Integer ceventId; public CollectionEventDeleteAction(CollectionEvent cevent) { if (cevent == null) { throw new IllegalArgumentException(); } this.ceventId = cevent.getId(); } @Override public boolean isAllowed(ActionContext context) { return new CollectionEventDeletePermission(ceventId).isAllowed(context); } @Override public IdResult run(ActionContext context) throws ActionException { CollectionEvent cevent = context.load(CollectionEvent.class, ceventId); context.getSession().delete(cevent); return new IdResult(ceventId); } }