int getCurrentRelease(Study study, String userId) throws CatalogException { return catalogManager.getProjectManager().resolveId(StringUtils.split(study.getFqn(), ":")[0], userId).getCurrentRelease(); }
/** * Reads a project from Catalog given a project id or alias. * * @param projectStr Project id or alias. * @param options Read options * @param sessionId sessionId * @return The specified object * @throws CatalogException CatalogException */ @Deprecated public QueryResult<Project> get(String projectStr, QueryOptions options, String sessionId) throws CatalogException { String userId = catalogManager.getUserManager().getUserId(sessionId); Project project = resolveId(projectStr, userId); return projectDBAdaptor.get(project.getUid(), options); }
public Map<String, Object> facet(String projectStr, String fileFields, String sampleFields, String individualFields, String cohortFields, String familyFields, boolean defaultStats, String sessionId) throws CatalogException, IOException { String userId = catalogManager.getUserManager().getUserId(sessionId); Project project = resolveId(projectStr, userId); Query query = new Query(StudyDBAdaptor.QueryParams.PROJECT_UID.key(), project.getUid()); QueryResult<Study> studyQueryResult = catalogManager.getStudyManager().get(query, new QueryOptions(QueryOptions.INCLUDE, Arrays.asList(StudyDBAdaptor.QueryParams.FQN.key(), StudyDBAdaptor.QueryParams.ID.key())), sessionId); Map<String, Object> result = new HashMap<>(); for (Study study : studyQueryResult.getResult()) { result.put(study.getId(), catalogManager.getStudyManager().facet(study.getFqn(), fileFields, sampleFields, individualFields, cohortFields, familyFields, defaultStats, sessionId)); } return result; }
)) .append(QueryOptions.EXCLUDE, "studies"); Project project = resolveId(projectStr, userId);
Project project = catalogManager.getProjectManager().resolveId(projectStr, userId);
public QueryResult<Integer> incrementRelease(String projectStr, String sessionId) throws CatalogException { String userId = catalogManager.getUserManager().getUserId(sessionId); Project project = resolveId(projectStr, userId); long projectId = project.getUid(); authorizationManager.checkCanEditProject(projectId, userId); // Obtain the current release number int currentRelease = project.getCurrentRelease(); // Check current release has been used at least in one study or file or cohort or individual... List<Study> allStudiesInProject = project.getStudies(); if (allStudiesInProject.isEmpty()) { throw new CatalogException("Cannot increment current release number. No studies found for release " + currentRelease); } if (checkCurrentReleaseInUse(allStudiesInProject, currentRelease)) { // Increment current project release QueryResult<Integer> integerQueryResult = projectDBAdaptor.incrementCurrentRelease(projectId); // Upgrade release in sample, family and individuals for (Study study : allStudiesInProject) { sampleDBAdaptor.updateProjectRelease(study.getUid(), integerQueryResult.first()); individualDBAdaptor.updateProjectRelease(study.getUid(), integerQueryResult.first()); familyDBAdaptor.updateProjectRelease(study.getUid(), integerQueryResult.first()); panelDBAdaptor.updateProjectRelease(study.getUid(), integerQueryResult.first()); } return integerQueryResult; } else { throw new CatalogException("Cannot increment current release number. The current release " + currentRelease + " has not yet " + "been used in any entry"); } }
ParamUtils.checkParameter(sessionId, "sessionId"); String userId = this.catalogManager.getUserManager().getUserId(sessionId); Project project = resolveId(projectStr, userId); long projectId = project.getUid(); authorizationManager.checkCanEditProject(projectId, userId);