private void fixQueryObject(Study study, Query query, String sessionId) throws CatalogException { if (query.containsKey("inputFiles")) { MyResources<File> resource = catalogManager.getFileManager().getUids(query.getAsStringList("inputFiles"), study.getFqn(), sessionId); query.put(JobDBAdaptor.QueryParams.INPUT_UID.key(), resource.getResourceList().stream().map(File::getUid) .collect(Collectors.toList())); query.remove("inputFiles"); } if (query.containsKey("outputFiles")) { MyResources<File> resource = catalogManager.getFileManager().getUids(query.getAsStringList("outputFiles"), study.getFqn(), sessionId); query.put(JobDBAdaptor.QueryParams.OUTPUT_UID.key(), resource.getResourceList().stream().map(File::getUid) .collect(Collectors.toList())); query.remove("outputFiles"); } }
void fixQueryObject(Study study, Query query, String sessionId) throws CatalogException { if (StringUtils.isNotEmpty(query.getString(FileDBAdaptor.QueryParams.ID.key()))) { MyResources<File> uids = getUids(query.getAsStringList(FileDBAdaptor.QueryParams.ID.key()), study.getFqn(), sessionId); query.remove(FileDBAdaptor.QueryParams.ID.key()); query.put(FileDBAdaptor.QueryParams.UID.key(), uids.getResourceList().stream().map(File::getUid).collect(Collectors.toList())); } // The samples introduced could be either ids or names. As so, we should use the smart resolutor to do this. if (StringUtils.isNotEmpty(query.getString(FileDBAdaptor.QueryParams.SAMPLES.key()))) { MyResources<Sample> resource = catalogManager.getSampleManager().getUids( query.getAsStringList(FileDBAdaptor.QueryParams.SAMPLES.key()), study.getFqn(), sessionId); query.put(FileDBAdaptor.QueryParams.SAMPLE_UIDS.key(), resource.getResourceList().stream().map(Sample::getUid) .collect(Collectors.toList())); query.remove(FileDBAdaptor.QueryParams.SAMPLES.key()); } }
MyResources<File> resource = getUids(fileList, studyStr, sessionId); authorizationManager.checkCanAssignOrSeePermissions(resource.getStudy().getUid(), resource.getUser());
@Override protected List<String> validate(String defaultStudyStr, List<String> values, Integer release, VariantQueryParam param, String sessionId) throws CatalogException { if (release == null) { AbstractManager.MyResources<File> uids = catalogManager.getFileManager().getUids(values, defaultStudyStr, sessionId); return uids.getResourceList().stream().map(File::getName).collect(Collectors.toList()); } else { return validate(defaultStudyStr, values, release, param, catalogManager.getFileManager(), File::getName, file -> ((int) file.getIndex().getRelease()), file -> { if (file.getIndex() == null || file.getIndex().getStatus() == null || file.getIndex().getStatus().getName() == null || !file.getIndex().getStatus().getName().equals(Status.READY)) { throw new VariantQueryException("File '" + file.getName() + "' is not indexed"); } }, sessionId); } } }
MyResources<File> resource = catalogManager.getFileManager().getUids( Arrays.asList(StringUtils.split(sampleAclParams.getFile(), ",")), studyStr, sessionId);
study = catalogManager.getStudyManager().resolveId(studyIdStr, userId); } else { AbstractManager.MyResources<File> resource = catalogManager.getFileManager().getUids(fileIdStrs, studyIdStr, sessionId); files = resource.getResourceList(); study = resource.getStudy();
public QueryResult<Job> index(String studyStr, List<String> fileList, String type, Map<String, String> params, String sessionId) throws CatalogException { params = ParamUtils.defaultObject(params, HashMap::new); MyResources<File> resource = getUids(fileList, studyStr, sessionId); List<File> fileFolderIdList = resource.getResourceList(); long studyId = resource.getStudy().getUid();