public List<QueryResult<Project>> get(List<String> projectList, QueryOptions options, boolean silent, String sessionId) throws CatalogException { List<QueryResult<Project>> results = new ArrayList<>(projectList.size()); for (int i = 0; i < projectList.size(); i++) { String project = projectList.get(i); try { QueryResult<Project> projectResult = get(project, options, sessionId); results.add(projectResult); } catch (CatalogException e) { if (silent) { results.add(new QueryResult<>(projectList.get(i), 0, 0, 0, "", e.toString(), new ArrayList<>(0))); } else { throw e; } } } return results; }
public static DataStore getDataStoreByProjectId(CatalogManager catalogManager, String projectStr, File.Bioformat bioformat, String sessionId) throws CatalogException { DataStore dataStore; QueryOptions queryOptions = new QueryOptions(QueryOptions.INCLUDE, Arrays.asList(ProjectDBAdaptor.QueryParams.ID.key(), ProjectDBAdaptor.QueryParams.DATASTORES.key())); Project project = catalogManager.getProjectManager().get(projectStr, queryOptions, sessionId).first(); if (project.getDataStores() != null && project.getDataStores().containsKey(bioformat)) { dataStore = project.getDataStores().get(bioformat); } else { //get default datastore //Must use the UserByStudyId instead of the file owner. String userId = catalogManager.getProjectManager().getOwner(project.getUid()); // Replace possible dots at the userId. Usually a special character in almost all databases. See #532 userId = userId.replace('.', '_'); String databasePrefix = catalogManager.getConfiguration().getDatabasePrefix(); String dbName = buildDatabaseName(databasePrefix, userId, project.getId()); dataStore = new DataStore(StorageEngineFactory.get().getDefaultStorageEngineId(), dbName); } return dataStore; }
/** * Obtain the list of projects and studies that are shared with the user. * * @param userId user whose projects and studies are being shared with. * @param queryOptions QueryOptions object. * @param sessionId Session id which should correspond to userId. * @return A QueryResult object containing the list of projects and studies that are shared with the user. * @throws CatalogException CatalogException */ public QueryResult<Project> getSharedProjects(String userId, QueryOptions queryOptions, String sessionId) throws CatalogException { return get(new Query(ProjectDBAdaptor.QueryParams.USER_ID.key(), "!=" + userId), queryOptions, sessionId); }
Project project = catalogManager.getProjectManager().get(new Query(ProjectDBAdaptor.QueryParams.FQN.key(), projectFqn), new QueryOptions(), sessionId).first(); studyInfo.setProjectUid(project.getUid());
public static void updateProjectMetadata(CatalogManager catalog, StudyConfigurationManager scm, String project, String sessionId) throws CatalogException, StorageEngineException { final Project p = catalog.getProjectManager().get(project, new QueryOptions(QueryOptions.INCLUDE, Arrays.asList( ProjectDBAdaptor.QueryParams.ORGANISM.key(), ProjectDBAdaptor.QueryParams.CURRENT_RELEASE.key())), sessionId) .first(); StorageOperation.updateProjectMetadata(scm, p.getOrganism(), p.getCurrentRelease()); }
public Project getProjectFromQuery(Query query, String sessionId, QueryOptions options) throws CatalogException { if (isValidParam(query, VariantCatalogQueryUtils.PROJECT)) { String project = query.getString(VariantCatalogQueryUtils.PROJECT.key()); return catalogManager.getProjectManager().get(project, options, sessionId).first(); } else { String studyFqn = getAnyStudy(query, sessionId); String project = catalogManager.getStudyManager().getProjectFqn(studyFqn); return catalogManager.getProjectManager().get(new Query(ProjectDBAdaptor.QueryParams.FQN.key(), project), options, sessionId) .first(); } }
@Test public void readProject() throws CatalogException { QueryResult<Project> project = catalogManager.getProjectManager().get(p1, null, ownerSessionId); assertEquals(1, project.getNumResults()); project = catalogManager.getProjectManager().get(p1, null, memberSessionId); assertEquals(1, project.getNumResults()); }
@Test public void getOwnProjectNoStudies() throws CatalogException { QueryResult<Project> projectQueryResult = catalogManager.getProjectManager().get(project3, null, sessionIdUser3); assertEquals(1, projectQueryResult.getNumResults()); }
Project project = catalogManager.getProjectManager().get(projectStr, null, sessionId).first(); studyStr = null; alias = project.getId(); organism = info.getOrganism(); studyIds = studyInfos.stream().map(StudyInfo::getStudyFQN).collect(Collectors.toList()); Project project = catalogManager.getProjectManager().get(info.getProjectId(), null, sessionId).first(); currentRelease = project.getCurrentRelease(); for (int i = 1; i < studyInfos.size(); i++) {
/** * Project methods * *************************** */ @Test public void testGetAllProjects() throws Exception { Query query = new Query(ProjectDBAdaptor.QueryParams.USER_ID.key(), "user"); QueryResult<Project> projects = catalogManager.getProjectManager().get(query, null, sessionIdUser); assertEquals(1, projects.getNumResults()); thrown.expect(CatalogAuthorizationException.class); thrown.expectMessage("Permission denied"); catalogManager.getProjectManager().get(query, null, sessionIdUser2); }
@Test public void readProjectDeny() throws CatalogException { catalogManager.getStudyManager().updateGroup(studyFqn, "@members", new GroupParams(externalUser, GroupParams.Action.REMOVE), ownerSessionId); thrown.expect(CatalogAuthorizationException.class); catalogManager.getProjectManager().get(p1, null, externalSessionId); }
@Test public void testGetAllStudies() throws CatalogException { Query query = new Query(ProjectDBAdaptor.QueryParams.USER_ID.key(), "user"); String projectId = catalogManager.getProjectManager().get(query, null, sessionIdUser).first().getId(); catalogManager.getStudyManager().create(projectId, "study_1", null, "study_1", Study.Type.CASE_CONTROL, "creationDate", "description", new Status(), null, null, null, null, null, null, null, sessionIdUser);
.get(studyInfo.getProjectId(), new QueryOptions(QueryOptions.INCLUDE, ProjectDBAdaptor.QueryParams.CURRENT_RELEASE.key()), sessionId); int release = projectQueryResult.first().getCurrentRelease();
public static File createFile(String path, boolean indexed) throws CatalogException { File file = catalog.getFileManager().create("s1", File.Type.FILE, File.Format.VCF, File.Bioformat.VARIANT, path, null, null, null, 10, -1, null, -1, null, null, true, "", null, sessionId).first(); if (indexed) { int release = catalog.getProjectManager().get("p1", null, sessionId).first().getCurrentRelease(); catalog.getFileManager().updateFileIndexStatus(file, Status.READY, "", release, sessionId); } return file; }
@Test public void testModifyProject() throws CatalogException { String newProjectName = "ProjectName " + StringUtils.randomString(10); String projectId = catalogManager.getUserManager().get("user", null, new QueryOptions(), sessionIdUser).first().getProjects().get(0) .getId(); ObjectMap options = new ObjectMap(); options.put("name", newProjectName); ObjectMap attributes = new ObjectMap("myBoolean", true); attributes.put("value", 6); attributes.put("object", new ObjectMap("id", 1234)); options.put("attributes", attributes); catalogManager.getProjectManager().update(projectId, options, null, sessionIdUser); QueryResult<Project> result = catalogManager.getProjectManager().get(projectId, null, sessionIdUser); Project project = result.first(); System.out.println(result); assertEquals(newProjectName, project.getName()); for (Map.Entry<String, Object> entry : attributes.entrySet()) { assertEquals(project.getAttributes().get(entry.getKey()), entry.getValue()); } options = new ObjectMap(); options.put(ProjectDBAdaptor.QueryParams.ID.key(), "newProjectId"); catalogManager.getProjectManager().update(projectId, options, null, sessionIdUser); thrown.expect(CatalogException.class); thrown.expectMessage("not found"); catalogManager.getProjectManager().update(projectId, options, null, sessionIdUser); }
@Test public void testSampleVersioning() throws CatalogException { Query query = new Query(ProjectDBAdaptor.QueryParams.USER_ID.key(), "user"); String projectId = catalogManager.getProjectManager().get(query, null, sessionIdUser).first().getId();