package edu.ualberta.med.biobank.common.permission.container; import edu.ualberta.med.biobank.common.action.ActionContext; import edu.ualberta.med.biobank.common.permission.Permission; import edu.ualberta.med.biobank.model.Container; import edu.ualberta.med.biobank.model.PermissionEnum; import edu.ualberta.med.biobank.model.Site; public class ContainerReadPermission implements Permission { private static final long serialVersionUID = 1L; private final Integer siteId; public ContainerReadPermission(Integer siteId) { this.siteId = siteId; } public ContainerReadPermission(Container container) { this.siteId = container.getSite().getId(); } @Override public boolean isAllowed(ActionContext context) { Site site = null; if (this.siteId != null) { site = context.load(Site.class, siteId); } return PermissionEnum.CONTAINER_READ.isAllowed(context.getUser(), site); } }