@Override public void checkJobPermission(long studyId, long jobId, String userId, JobAclEntry.JobPermissions permission) throws CatalogException { Query query = new Query() .append(JobDBAdaptor.QueryParams.UID.key(), jobId) .append(JobDBAdaptor.QueryParams.STUDY_UID.key(), studyId); StudyAclEntry.StudyPermissions studyPermission; switch (permission) { case VIEW: studyPermission = StudyAclEntry.StudyPermissions.VIEW_JOBS; break; case UPDATE: studyPermission = StudyAclEntry.StudyPermissions.WRITE_JOBS; break; case DELETE: studyPermission = StudyAclEntry.StudyPermissions.DELETE_JOBS; break; default: throw new CatalogAuthorizationException("Permission " + permission.toString() + " not found"); } if (checkUserPermission(userId, query, studyPermission, jobDBAdaptor)) { return; } throw CatalogAuthorizationException.deny(userId, permission.toString(), "Job", jobId, null); }