@Override public void checkPanelPermission(long studyId, long panelId, String userId, PanelAclEntry.PanelPermissions permission) throws CatalogException { Query query = new Query() .append(PanelDBAdaptor.QueryParams.UID.key(), panelId) .append(PanelDBAdaptor.QueryParams.STUDY_UID.key(), studyId); StudyAclEntry.StudyPermissions studyPermission; switch (permission) { case VIEW: studyPermission = StudyAclEntry.StudyPermissions.VIEW_PANELS; break; case UPDATE: studyPermission = StudyAclEntry.StudyPermissions.WRITE_PANELS; break; case DELETE: studyPermission = StudyAclEntry.StudyPermissions.DELETE_PANELS; break; default: throw new CatalogAuthorizationException("Permission " + permission.toString() + " not found"); } if (checkUserPermission(userId, query, studyPermission, panelDBAdaptor)) { return; } throw CatalogAuthorizationException.deny(userId, permission.toString(), "Panel", panelId, null); }