default Long exists(long studyId) throws CatalogDBException { return count(new Query(QueryParams.UID.key(), studyId)).first(); }
@Override public void checkCanViewProject(long projectId, String userId) throws CatalogException { if (userId.equals(ADMIN)) { return; } if (projectDBAdaptor.getOwnerId(projectId).equals(userId)) { return; } // Only members of any study belonging to the project can view the project final Query query = new Query() .append(StudyDBAdaptor.QueryParams.PROJECT_ID.key(), projectId) .append(StudyDBAdaptor.QueryParams.GROUP_USER_IDS.key(), userId); if (studyDBAdaptor.count(query).first() > 0) { return; } throw CatalogAuthorizationException.deny(userId, "view", "Project", projectId, null); }
default Long variableSetExists(String variableSetName, long studyId) throws CatalogDBException { Query query = new Query(QueryParams.VARIABLE_SET_NAME.key(), variableSetName).append(QueryParams.UID.key(), studyId); return count(query).first(); }
private boolean existsGroup(long studyId, String groupId) throws CatalogDBException { Query query = new Query() .append(StudyDBAdaptor.QueryParams.UID.key(), studyId) .append(StudyDBAdaptor.QueryParams.GROUP_NAME.key(), groupId); return studyDBAdaptor.count(query).first() > 0; }
public QueryResult<Group> syncGroupWith(String studyStr, String groupId, Group.Sync syncedFrom, String sessionId) throws CatalogException { ParamUtils.checkObj(syncedFrom, "sync"); String userId = catalogManager.getUserManager().getUserId(sessionId); Study study = resolveId(studyStr, userId); if (StringUtils.isEmpty(groupId)) { throw new CatalogException("Missing group name parameter"); } // Fix the groupId if (!groupId.startsWith("@")) { groupId = "@" + groupId; } authorizationManager.checkSyncGroupPermissions(study.getUid(), userId, groupId); QueryResult<Group> group = studyDBAdaptor.getGroup(study.getUid(), groupId, Collections.emptyList()); if (group.first().getSyncedFrom() != null && StringUtils.isNotEmpty(group.first().getSyncedFrom().getAuthOrigin()) && StringUtils.isNotEmpty(group.first().getSyncedFrom().getRemoteGroup())) { throw new CatalogException("Cannot modify already existing sync information."); } // Check the group exists Query query = new Query() .append(StudyDBAdaptor.QueryParams.UID.key(), study.getUid()) .append(StudyDBAdaptor.QueryParams.GROUP_NAME.key(), groupId); if (studyDBAdaptor.count(query).first() == 0) { throw new CatalogException("The group " + groupId + " does not exist."); } studyDBAdaptor.syncGroup(study.getUid(), groupId, syncedFrom); return studyDBAdaptor.getGroup(study.getUid(), groupId, Collections.emptyList()); }
if (StringUtils.isNotEmpty(projectStr)) { if (studyDBAdaptor.count(query).first() == 0) { throw new CatalogException("Project " + projectStr + " not found"); } else {