From ad554661157a49fb2ae87c10483eb0e033f5c135 Mon Sep 17 00:00:00 2001 From: Pim van Nierop Date: Wed, 15 Mar 2023 21:36:47 +0100 Subject: [PATCH 01/29] WIP --- .../cbioportal/persistence/StudyViewRepository.java | 4 ++++ .../applicationContext-persistenceConnections.xml | 11 +++++++++++ .../mybatiscolumnstore/StudyViewMapper.java | 4 ++++ .../StudyViewMyBatisRepository.java | 9 +++++++++ .../mybatiscolumnstore/StudyViewMapper.xml | 6 ++++++ persistence/pom.xml | 4 ++++ pom.xml | 5 +++++ .../java/org/cbioportal/web/StudyViewController.java | 1 - 8 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java create mode 100644 persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java create mode 100644 persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java create mode 100644 persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml diff --git a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java new file mode 100644 index 00000000000..f6ea7e81311 --- /dev/null +++ b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java @@ -0,0 +1,4 @@ +package org.cbioportal.persistence; + +public interface StudyViewRepository { +} diff --git a/persistence/persistence-connections/src/main/resources/applicationContext-persistenceConnections.xml b/persistence/persistence-connections/src/main/resources/applicationContext-persistenceConnections.xml index ad782e64fba..d88940b7237 100644 --- a/persistence/persistence-connections/src/main/resources/applicationContext-persistenceConnections.xml +++ b/persistence/persistence-connections/src/main/resources/applicationContext-persistenceConnections.xml @@ -61,6 +61,15 @@ + + + + + + + + + @@ -72,6 +81,8 @@ + diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java new file mode 100644 index 00000000000..f01dd18c9ec --- /dev/null +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java @@ -0,0 +1,4 @@ +package org.cbioportal.persistence.mybatiscolumnstore; + +public interface StudyViewMapper { +} diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java new file mode 100644 index 00000000000..cbe24d35d41 --- /dev/null +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java @@ -0,0 +1,9 @@ +package org.cbioportal.persistence.mybatiscolumnstore; + +import org.cbioportal.persistence.StudyViewRepository; +import org.springframework.stereotype.Repository; + +@Repository +public class StudyViewMyBatisRepository implements StudyViewRepository { + +} \ No newline at end of file diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml new file mode 100644 index 00000000000..5a42f452de0 --- /dev/null +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/persistence/pom.xml b/persistence/pom.xml index 45b409ac61c..f4426e381b2 100644 --- a/persistence/pom.xml +++ b/persistence/pom.xml @@ -14,6 +14,10 @@ org.osgi org.osgi.service.component.annotations + + ru.yandex.clickhouse + clickhouse-jdbc + javax.annotation javax.annotation-api diff --git a/pom.xml b/pom.xml index 835a5fa7256..a0b666c41ec 100644 --- a/pom.xml +++ b/pom.xml @@ -453,6 +453,11 @@ mysql-connector-java ${mysql-connector.version} + + ru.yandex.clickhouse + clickhouse-jdbc + 0.3.2 + org.apache.commons diff --git a/web/src/main/java/org/cbioportal/web/StudyViewController.java b/web/src/main/java/org/cbioportal/web/StudyViewController.java index 22a12871b3f..d9aa2754530 100644 --- a/web/src/main/java/org/cbioportal/web/StudyViewController.java +++ b/web/src/main/java/org/cbioportal/web/StudyViewController.java @@ -43,7 +43,6 @@ import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; -import java.util.stream.Stream; @InternalApi @RestController From f4546d7e88a328bbdafff42f9d80b5f90b9cd57a Mon Sep 17 00:00:00 2001 From: Pim van Nierop Date: Thu, 16 Mar 2023 17:06:52 +0100 Subject: [PATCH 02/29] Move StudyViewFilter to webparams modules --- docs/user-guide/faq.md | 2 +- persistence/persistence-api/pom.xml | 4 ++ .../DiscreteCopyNumberRepository.java | 2 +- .../persistence/MutationRepository.java | 2 +- .../StructuralVariantRepository.java | 2 +- persistence/persistence-mybatis/pom.xml | 4 ++ .../mybatis/DiscreteCopyNumberMapper.java | 2 +- .../DiscreteCopyNumberMyBatisRepository.java | 2 +- .../persistence/mybatis/MutationMapper.java | 2 +- .../mybatis/MutationMyBatisRepository.java | 2 +- .../mybatis/StructuralVariantMapper.java | 2 +- .../StructuralVariantMyBatisRepository.java | 2 +- ...screteCopyNumberMyBatisRepositoryTest.java | 2 +- .../MutationMyBatisRepositoryTest.java | 2 +- ...tructuralVariantMyBatisRepositoryTest.java | 2 +- pom.xml | 6 ++ service/pom.xml | 4 ++ .../service/DiscreteCopyNumberService.java | 1 + .../service/MolecularDataService.java | 2 +- .../cbioportal/service/MutationService.java | 4 +- .../service/StructuralVariantService.java | 2 +- .../impl/DiscreteCopyNumberServiceImpl.java | 2 +- .../impl/MolecularDataServiceImpl.java | 2 +- .../service/impl/MutationServiceImpl.java | 2 +- .../impl/StructuralVariantServiceImpl.java | 2 +- .../DiscreteCopyNumberServiceImplTest.java | 1 + .../service/impl/MutationServiceImplTest.java | 2 +- .../StructuralVariantServiceImplTest.java | 2 +- web/pom.xml | 4 ++ .../web/AlterationEnrichmentController.java | 3 +- .../cbioportal/web/CancerTypeController.java | 10 ++-- .../web/ClinicalAttributeController.java | 12 ++-- .../web/ClinicalAttributeCountController.java | 9 +-- .../web/ClinicalDataController.java | 18 +++--- .../web/ClinicalDataEnrichmentController.java | 6 +- .../web/ClinicalEventController.java | 10 ++-- .../web/CoExpressionController.java | 2 +- .../web/CopyNumberSegmentController.java | 12 ++-- .../web/DiscreteCopyNumberController.java | 9 ++- .../DiscreteCopyNumberCountController.java | 6 +- .../web/ExpressionEnrichmentController.java | 2 +- .../org/cbioportal/web/GeneController.java | 12 ++-- .../cbioportal/web/GenePanelController.java | 7 ++- .../web/GenePanelDataController.java | 4 +- .../web/GenericAssayController.java | 8 +-- .../web/GenericAssayDataController.java | 6 +- .../org/cbioportal/web/GenesetController.java | 6 +- .../cbioportal/web/GenesetDataController.java | 2 +- .../web/MolecularDataController.java | 10 ++-- .../web/MolecularProfileController.java | 12 ++-- .../web/MrnaPercentileController.java | 2 +- .../cbioportal/web/MutationController.java | 17 +++--- .../web/MutationCountController.java | 10 +--- .../web/MutationSpectrumController.java | 2 +- .../org/cbioportal/web/PatientController.java | 9 ++- .../web/ResourceDataController.java | 8 +-- .../web/ResourceDefinitionController.java | 6 +- .../org/cbioportal/web/SampleController.java | 33 ++++++----- .../cbioportal/web/SampleListController.java | 10 ++-- .../web/SessionServiceController.java | 14 ++++- ...SignificantCopyNumberRegionController.java | 10 ++-- .../SignificantlyMutatedGenesController.java | 10 ++-- .../web/StructuralVariantController.java | 2 +- .../org/cbioportal/web/StudyController.java | 10 ++-- .../cbioportal/web/StudyViewController.java | 19 +++++- .../cbioportal/web/TreatmentController.java | 6 +- .../web/VariantCountController.java | 2 +- .../web/config/CustomObjectMapper.java | 14 ++--- .../web/studyview/CustomDataController.java | 10 ++-- .../web/util/ClinicalDataBinUtil.java | 7 ++- .../web/util/ClinicalDataEnrichmentUtil.java | 2 +- .../ClinicalDataEqualityFilterApplier.java | 2 +- .../web/util/ClinicalDataFetcher.java | 4 +- .../web/util/ClinicalDataFilterApplier.java | 6 +- .../ClinicalDataIntervalFilterApplier.java | 4 +- .../web/util/CustomDataFilterApplier.java | 8 +-- .../org/cbioportal/web/util/DataBinner.java | 18 +++--- ...volvedCancerStudyExtractorInterceptor.java | 24 +++++++- .../util/SessionServiceRequestHandler.java | 8 +-- .../web/util/StudyViewFilterApplier.java | 59 ++++++++++++------- .../web/util/StudyViewFilterUtil.java | 11 +++- .../AbstractPatientTreatmentFilter.java | 6 +- .../AbstractSampleTreatmentFilter.java | 6 +- .../appliers/ClinicalEventFilterApplier.java | 8 +-- .../PatientTreatmentFilterApplier.java | 4 +- .../PatientTreatmentGroupFilterApplier.java | 4 +- .../PatientTreatmentTargetFilterApplier.java | 4 +- .../SampleTreatmentFilterApplier.java | 4 +- .../SampleTreatmentGroupFilterApplier.java | 4 +- .../SampleTreatmentTargetFilterApplier.java | 4 +- .../appliers/StudyViewSubFilterApplier.java | 4 +- .../AlterationEnrichmentControllerTest.java | 4 +- .../web/CancerTypeControllerTest.java | 2 +- .../web/ClinicalAttributeControllerTest.java | 6 +- .../web/ClinicalDataControllerTest.java | 8 +-- .../ClinicalDataEnrichmentControllerTest.java | 6 +- .../web/ClinicalEventControllerTest.java | 2 +- .../web/CoExpressionControllerTest.java | 2 +- .../web/CopyNumberSegmentControllerTest.java | 4 +- .../web/DiscreteCopyNumberControllerTest.java | 8 +-- .../cbioportal/web/GeneControllerTest.java | 2 +- .../web/GenePanelControllerTest.java | 8 +-- .../web/GenePanelDataControllerTest.java | 8 +-- .../web/GenericAssayControllerTest.java | 8 +-- .../web/GenericAssayDataControllerTest.java | 8 +-- .../web/GenesetDataControllerTest.java | 2 +- .../web/MolecularDataControllerTest.java | 6 +- .../web/MolecularProfileControllerTest.java | 4 +- .../web/MutationControllerTest.java | 10 ++-- .../web/MutationSpectrumControllerTest.java | 2 +- .../cbioportal/web/PatientControllerTest.java | 6 +- .../cbioportal/web/SampleControllerTest.java | 6 +- .../web/SampleListControllerTest.java | 2 +- ...ificantCopyNumberRegionControllerTest.java | 2 +- ...gnificantlyMutatedGenesControllerTest.java | 2 +- .../web/StructuralVariantControllerTest.java | 4 +- .../cbioportal/web/StudyControllerTest.java | 2 +- .../web/StudyViewControllerTest.java | 2 +- .../web/TreatmentControllerTest.java | 4 +- .../web/VariantCountControllerTest.java | 2 +- .../web/util/ClinicalDataBinUtilTest.java | 2 +- .../cbioportal/web/util/DataBinnerTest.java | 36 ++++++----- .../web/util/StudyViewFilterApplierTest.java | 40 ++++++------- .../PatientTreatmentFilterApplierTest.java | 10 ++-- .../SampleTreatmentFilterApplierTest.java | 10 ++-- webparam/pom.xml | 53 +++++++++++++++++ .../webparam}/BinsGeneratorConfig.java | 2 +- .../ClinicalAttributeCountFilter.java | 4 +- .../webparam}/ClinicalDataBinCountFilter.java | 2 +- .../webparam}/ClinicalDataBinFilter.java | 2 +- .../webparam}/ClinicalDataCountFilter.java | 2 +- .../webparam}/ClinicalDataFilter.java | 3 +- .../webparam}/ClinicalDataIdentifier.java | 2 +- .../ClinicalDataMultiStudyFilter.java | 10 ++-- .../ClinicalDataSingleStudyFilter.java | 9 ++- .../webparam}/ClinicalDataType.java | 2 +- .../webparam}/ClinicalTrackConfig.java | 2 +- .../webparam}/CoExpressionFilter.java | 2 +- .../org/cbioportal/webparam/Constants.java | 10 ++++ .../webparam}/CopyNumberCountIdentifier.java | 2 +- .../webparam}/CustomAttributeWithData.java | 4 +- .../webparam}/CustomDataSession.java | 16 +++-- .../cbioportal/webparam}/CustomDataValue.java | 7 +-- .../cbioportal/webparam}/CustomGeneList.java | 6 +- .../webparam}/CustomGeneListData.java | 2 +- .../webparam}/DataBinCountFilter.java | 2 +- .../cbioportal/webparam}/DataBinFilter.java | 8 +-- .../cbioportal/webparam}/DataBinMethod.java | 2 +- .../org/cbioportal/webparam}/DataFilter.java | 2 +- .../cbioportal/webparam}/DataFilterValue.java | 2 +- .../org/cbioportal/webparam}/Direction.java | 2 +- .../DiscreteCopyNumberEventType.java | 2 +- .../webparam}/DiscreteCopyNumberFilter.java | 2 +- .../webparam}/EnrichmentFilter.java | 2 +- .../org/cbioportal/webparam}/GeneFilter.java | 17 +++--- .../cbioportal/webparam}/GeneFilterQuery.java | 4 +- .../org/cbioportal/webparam}/GeneIdType.java | 2 +- .../webparam}/GenePanelDataFilter.java | 2 +- .../GenePanelDataMultipleStudyFilter.java | 4 +- .../GenericAssayDataBinCountFilter.java | 2 +- .../webparam}/GenericAssayDataBinFilter.java | 2 +- .../GenericAssayDataCountFilter.java | 2 +- .../webparam}/GenericAssayDataFilter.java | 2 +- .../GenericAssayDataMultipleStudyFilter.java | 4 +- .../webparam}/GenericAssayFilter.java | 2 +- .../webparam}/GenericAssayMetaFilter.java | 4 +- .../webparam}/GenesetDataFilterCriteria.java | 2 +- .../webparam}/GenomicDataBinCountFilter.java | 2 +- .../webparam}/GenomicDataBinFilter.java | 2 +- .../webparam}/GenomicDataFilter.java | 2 +- .../java/org/cbioportal/webparam}/Group.java | 5 +- .../org/cbioportal/webparam}/GroupFilter.java | 7 +-- .../webparam}/HeaderKeyConstants.java | 2 +- .../webparam}/MolecularDataFilter.java | 2 +- .../MolecularDataMultipleStudyFilter.java | 4 +- ...fileCasesGroupAndAlterationTypeFilter.java | 5 +- .../MolecularProfileCasesGroupFilter.java | 9 ++- .../webparam}/MolecularProfileFilter.java | 4 +- .../cbioportal/webparam}/MutationFilter.java | 2 +- .../MutationMultipleStudyFilter.java | 4 +- .../webparam}/MutationPositionIdentifier.java | 2 +- .../webparam}/MutationSpectrumFilter.java | 2 +- .../cbioportal/webparam}/PageSettings.java | 15 +++-- .../webparam}/PageSettingsData.java | 11 ++-- .../webparam}/PageSettingsIdentifier.java | 7 +-- .../cbioportal/webparam}/PagingConstants.java | 2 +- .../cbioportal/webparam}/PatientFilter.java | 6 +- .../webparam}/PatientIdentifier.java | 2 +- .../org/cbioportal/webparam}/Projection.java | 2 +- .../webparam}/ResultsPageSettings.java | 2 +- .../cbioportal/webparam}/SampleFilter.java | 12 ++-- .../webparam}/SampleIdentifier.java | 2 +- .../webparam}/SampleMolecularIdentifier.java | 2 +- .../org/cbioportal/webparam}/SessionPage.java | 2 +- .../webparam}/StructuralVariantFilter.java | 9 ++- .../webparam}/StudyPageSettings.java | 2 +- .../cbioportal/webparam}/StudyViewFilter.java | 27 ++++----- .../webparam/StudyViewGeneFilter.java | 4 +- .../webparam}/VariantCountIdentifier.java | 2 +- .../cbioportal/webparam}/VirtualStudy.java | 15 +++-- .../webparam}/VirtualStudyData.java | 6 +- .../webparam}/VirtualStudySamples.java | 2 +- .../filter/AndedPatientTreatmentFilters.java | 7 +-- .../filter/AndedSampleTreatmentFilters.java | 6 +- .../filter/OredPatientTreatmentFilters.java | 7 +-- .../filter/OredSampleTreatmentFilters.java | 6 +- .../filter/PatientTreatmentFilter.java | 6 +- .../filter/SampleTreatmentFilter.java | 5 +- .../webparam}/sort/CancerTypeSortBy.java | 2 +- .../sort/ClinicalAttributeSortBy.java | 2 +- .../webparam}/sort/ClinicalDataSortBy.java | 2 +- .../webparam}/sort/ClinicalEventSortBy.java | 2 +- .../sort/CopyNumberSegmentSortBy.java | 2 +- .../sort/DiscreteCopyNumberSortBy.java | 2 +- .../webparam}/sort/GenePanelSortBy.java | 2 +- .../cbioportal/webparam}/sort/GeneSortBy.java | 2 +- .../sort/MolecularProfileSortBy.java | 2 +- .../webparam}/sort/MutationSortBy.java | 2 +- .../webparam}/sort/PatientSortBy.java | 2 +- .../webparam}/sort/ResourceDataSortBy.java | 2 +- .../sort/ResourceDefinitionSortBy.java | 2 +- .../webparam}/sort/SampleListSortBy.java | 2 +- .../webparam}/sort/SampleSortBy.java | 2 +- .../SignificantCopyNumberRegionSortBy.java | 2 +- .../sort/SignificantlyMutatedGeneSortBy.java | 2 +- .../webparam}/sort/StudySortBy.java | 2 +- 226 files changed, 737 insertions(+), 598 deletions(-) create mode 100644 webparam/pom.xml rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/BinsGeneratorConfig.java (92%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/ClinicalAttributeCountFilter.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/ClinicalDataBinCountFilter.java (91%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/ClinicalDataBinFilter.java (91%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/ClinicalDataCountFilter.java (94%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/ClinicalDataFilter.java (83%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/ClinicalDataIdentifier.java (92%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/ClinicalDataMultiStudyFilter.java (74%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/ClinicalDataSingleStudyFilter.java (69%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/ClinicalDataType.java (60%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/ClinicalTrackConfig.java (94%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/CoExpressionFilter.java (97%) create mode 100644 webparam/src/main/java/org/cbioportal/webparam/Constants.java rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/CopyNumberCountIdentifier.java (92%) rename {web/src/main/java/org/cbioportal/web => webparam/src/main/java/org/cbioportal/webparam}/CustomAttributeWithData.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/CustomDataSession.java (93%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/CustomDataValue.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/CustomGeneList.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/CustomGeneListData.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/DataBinCountFilter.java (90%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/DataBinFilter.java (98%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/DataBinMethod.java (59%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/DataFilter.java (89%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/DataFilterValue.java (94%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/Direction.java (54%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/DiscreteCopyNumberEventType.java (92%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/DiscreteCopyNumberFilter.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/EnrichmentFilter.java (94%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GeneFilter.java (96%) rename {model/src/main/java/org/cbioportal/model => webparam/src/main/java/org/cbioportal/webparam}/GeneFilterQuery.java (93%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GeneIdType.java (64%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GenePanelDataFilter.java (95%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GenePanelDataMultipleStudyFilter.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GenericAssayDataBinCountFilter.java (93%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GenericAssayDataBinFilter.java (93%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GenericAssayDataCountFilter.java (95%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GenericAssayDataFilter.java (92%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GenericAssayDataMultipleStudyFilter.java (97%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GenericAssayFilter.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GenericAssayMetaFilter.java (95%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GenesetDataFilterCriteria.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GenomicDataBinCountFilter.java (92%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GenomicDataBinFilter.java (93%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GenomicDataFilter.java (93%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/Group.java (94%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/GroupFilter.java (91%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/HeaderKeyConstants.java (87%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/MolecularDataFilter.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/MolecularDataMultipleStudyFilter.java (97%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/MolecularProfileCasesGroupAndAlterationTypeFilter.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/MolecularProfileCasesGroupFilter.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/MolecularProfileFilter.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/MutationFilter.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/MutationMultipleStudyFilter.java (97%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/MutationPositionIdentifier.java (94%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/MutationSpectrumFilter.java (95%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/PageSettings.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/PageSettingsData.java (97%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/PageSettingsIdentifier.java (94%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/PagingConstants.java (91%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/PatientFilter.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/PatientIdentifier.java (92%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/Projection.java (65%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/ResultsPageSettings.java (95%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/SampleFilter.java (85%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/SampleIdentifier.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/SampleMolecularIdentifier.java (93%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/SessionPage.java (62%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/StructuralVariantFilter.java (98%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/StudyPageSettings.java (95%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/StudyViewFilter.java (95%) rename model/src/main/java/org/cbioportal/model/GeneFilter.java => webparam/src/main/java/org/cbioportal/webparam/StudyViewGeneFilter.java (87%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/VariantCountIdentifier.java (91%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/VirtualStudy.java (96%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/VirtualStudyData.java (98%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/VirtualStudySamples.java (91%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/filter/AndedPatientTreatmentFilters.java (78%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/filter/AndedSampleTreatmentFilters.java (78%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/filter/OredPatientTreatmentFilters.java (78%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/filter/OredSampleTreatmentFilters.java (82%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/filter/PatientTreatmentFilter.java (89%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/filter/SampleTreatmentFilter.java (87%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/CancerTypeSortBy.java (89%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/ClinicalAttributeSortBy.java (91%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/ClinicalDataSortBy.java (87%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/ClinicalEventSortBy.java (89%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/CopyNumberSegmentSortBy.java (89%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/DiscreteCopyNumberSortBy.java (88%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/GenePanelSortBy.java (87%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/GeneSortBy.java (89%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/MolecularProfileSortBy.java (91%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/MutationSortBy.java (95%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/PatientSortBy.java (85%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/ResourceDataSortBy.java (87%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/ResourceDefinitionSortBy.java (91%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/SampleListSortBy.java (90%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/SampleSortBy.java (87%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/SignificantCopyNumberRegionSortBy.java (91%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/SignificantlyMutatedGeneSortBy.java (91%) rename {web/src/main/java/org/cbioportal/web/parameter => webparam/src/main/java/org/cbioportal/webparam}/sort/StudySortBy.java (92%) diff --git a/docs/user-guide/faq.md b/docs/user-guide/faq.md index c59bcd1bf68..d1e0faf47ad 100644 --- a/docs/user-guide/faq.md +++ b/docs/user-guide/faq.md @@ -302,7 +302,7 @@ filterJson is set in the url hash string. Here are the allowed parameters and fo "value": "string" }] }], - "geneFilters": [{ + "studyViewGeneFilters": [{ "geneQueries": [ ["string"] ], diff --git a/persistence/persistence-api/pom.xml b/persistence/persistence-api/pom.xml index 71dd419e688..8997ffefe2b 100644 --- a/persistence/persistence-api/pom.xml +++ b/persistence/persistence-api/pom.xml @@ -37,6 +37,10 @@ commons-io commons-io + + org.mskcc.cbio + webparam + diff --git a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/DiscreteCopyNumberRepository.java b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/DiscreteCopyNumberRepository.java index ae07f0e3f2f..327a73e2c06 100644 --- a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/DiscreteCopyNumberRepository.java +++ b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/DiscreteCopyNumberRepository.java @@ -2,8 +2,8 @@ import org.cbioportal.model.CopyNumberCountByGene; import org.cbioportal.model.DiscreteCopyNumberData; -import org.cbioportal.model.GeneFilterQuery; import org.cbioportal.model.meta.BaseMeta; +import org.cbioportal.webparam.GeneFilterQuery; import org.springframework.cache.annotation.Cacheable; import java.util.List; diff --git a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/MutationRepository.java b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/MutationRepository.java index ac25c83f9ff..7d59c44b7f6 100644 --- a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/MutationRepository.java +++ b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/MutationRepository.java @@ -1,9 +1,9 @@ package org.cbioportal.persistence; -import org.cbioportal.model.GeneFilterQuery; import org.cbioportal.model.Mutation; import org.cbioportal.model.MutationCountByPosition; import org.cbioportal.model.meta.MutationMeta; +import org.cbioportal.webparam.GeneFilterQuery; import org.springframework.cache.annotation.Cacheable; import java.util.List; diff --git a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StructuralVariantRepository.java b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StructuralVariantRepository.java index 44df356125b..2d1354274d3 100644 --- a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StructuralVariantRepository.java +++ b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StructuralVariantRepository.java @@ -2,9 +2,9 @@ import java.util.List; -import org.cbioportal.model.GeneFilterQuery; import org.cbioportal.model.StructuralVariant; import org.cbioportal.model.StructuralVariantQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.springframework.cache.annotation.Cacheable; public interface StructuralVariantRepository { diff --git a/persistence/persistence-mybatis/pom.xml b/persistence/persistence-mybatis/pom.xml index 0f0f865aa87..f1e0b4661b8 100644 --- a/persistence/persistence-mybatis/pom.xml +++ b/persistence/persistence-mybatis/pom.xml @@ -58,5 +58,9 @@ org.mockito mockito-core + + org.mskcc.cbio + webparam + diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/DiscreteCopyNumberMapper.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/DiscreteCopyNumberMapper.java index ab2934e6496..d8b6a0e82fc 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/DiscreteCopyNumberMapper.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/DiscreteCopyNumberMapper.java @@ -2,7 +2,7 @@ import org.cbioportal.model.CopyNumberCountByGene; import org.cbioportal.model.DiscreteCopyNumberData; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.meta.BaseMeta; import java.util.List; diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/DiscreteCopyNumberMyBatisRepository.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/DiscreteCopyNumberMyBatisRepository.java index fdde1d8d0c6..3cb20bd0d81 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/DiscreteCopyNumberMyBatisRepository.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/DiscreteCopyNumberMyBatisRepository.java @@ -2,7 +2,7 @@ import org.cbioportal.model.CopyNumberCountByGene; import org.cbioportal.model.DiscreteCopyNumberData; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.persistence.DiscreteCopyNumberRepository; import org.springframework.beans.factory.annotation.Autowired; diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/MutationMapper.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/MutationMapper.java index d65713ff952..69a844264a0 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/MutationMapper.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/MutationMapper.java @@ -1,6 +1,6 @@ package org.cbioportal.persistence.mybatis; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.Mutation; import org.cbioportal.model.MutationCountByPosition; import org.cbioportal.model.meta.MutationMeta; diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/MutationMyBatisRepository.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/MutationMyBatisRepository.java index 6adc902dd9e..fba38c3c99e 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/MutationMyBatisRepository.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/MutationMyBatisRepository.java @@ -1,6 +1,6 @@ package org.cbioportal.persistence.mybatis; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.Mutation; import org.cbioportal.model.MutationCountByPosition; import org.cbioportal.model.meta.MutationMeta; diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/StructuralVariantMapper.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/StructuralVariantMapper.java index c4705d8de06..07c1932e247 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/StructuralVariantMapper.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/StructuralVariantMapper.java @@ -25,9 +25,9 @@ import java.util.List; -import org.cbioportal.model.GeneFilterQuery; import org.cbioportal.model.StructuralVariant; import org.cbioportal.model.StructuralVariantQuery; +import org.cbioportal.webparam.GeneFilterQuery; public interface StructuralVariantMapper { diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/StructuralVariantMyBatisRepository.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/StructuralVariantMyBatisRepository.java index 18e6e2c5396..71d144f8ce3 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/StructuralVariantMyBatisRepository.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatis/StructuralVariantMyBatisRepository.java @@ -23,7 +23,7 @@ package org.cbioportal.persistence.mybatis; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.StructuralVariant; import org.cbioportal.model.StructuralVariantQuery; import org.cbioportal.persistence.StructuralVariantRepository; diff --git a/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/DiscreteCopyNumberMyBatisRepositoryTest.java b/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/DiscreteCopyNumberMyBatisRepositoryTest.java index 863504537eb..b8e54075089 100644 --- a/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/DiscreteCopyNumberMyBatisRepositoryTest.java +++ b/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/DiscreteCopyNumberMyBatisRepositoryTest.java @@ -4,7 +4,7 @@ import org.cbioportal.model.CopyNumberCountByGene; import org.cbioportal.model.DiscreteCopyNumberData; import org.cbioportal.model.Gene; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.ReferenceGenomeGene; import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.model.util.Select; diff --git a/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/MutationMyBatisRepositoryTest.java b/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/MutationMyBatisRepositoryTest.java index b84fa1a32a6..366dc78d10c 100644 --- a/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/MutationMyBatisRepositoryTest.java +++ b/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/MutationMyBatisRepositoryTest.java @@ -2,7 +2,7 @@ import org.cbioportal.model.AlleleSpecificCopyNumber; import org.cbioportal.model.Gene; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.Mutation; import org.cbioportal.model.MutationCountByPosition; import org.cbioportal.model.meta.MutationMeta; diff --git a/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/StructuralVariantMyBatisRepositoryTest.java b/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/StructuralVariantMyBatisRepositoryTest.java index a194b1fcda1..18223342910 100644 --- a/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/StructuralVariantMyBatisRepositoryTest.java +++ b/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/StructuralVariantMyBatisRepositoryTest.java @@ -23,7 +23,7 @@ package org.cbioportal.persistence.mybatis; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.StructuralVariant; import org.cbioportal.model.StructuralVariantSpecialValue; import org.cbioportal.model.StructuralVariantGeneSubQuery; diff --git a/pom.xml b/pom.xml index a0b666c41ec..1745f8d544d 100644 --- a/pom.xml +++ b/pom.xml @@ -331,6 +331,7 @@ security utils maf + webparam @@ -439,6 +440,11 @@ utils ${project.version} + + org.mskcc.cbio + webparam + ${project.version} + com.github.cbioportal session-service diff --git a/service/pom.xml b/service/pom.xml index 65c11c55a27..e11fad66c7a 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -20,6 +20,10 @@ org.mskcc.cbio model + + org.mskcc.cbio + webparam + org.mskcc.cbio permission-evaluator diff --git a/service/src/main/java/org/cbioportal/service/DiscreteCopyNumberService.java b/service/src/main/java/org/cbioportal/service/DiscreteCopyNumberService.java index 7dbd1e8a5a9..9cf96acfd67 100644 --- a/service/src/main/java/org/cbioportal/service/DiscreteCopyNumberService.java +++ b/service/src/main/java/org/cbioportal/service/DiscreteCopyNumberService.java @@ -3,6 +3,7 @@ import org.cbioportal.model.*; import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.exception.MolecularProfileNotFoundException; +import org.cbioportal.webparam.GeneFilterQuery; import java.util.List; diff --git a/service/src/main/java/org/cbioportal/service/MolecularDataService.java b/service/src/main/java/org/cbioportal/service/MolecularDataService.java index b1ac3fa3eaa..860e9d6faf7 100644 --- a/service/src/main/java/org/cbioportal/service/MolecularDataService.java +++ b/service/src/main/java/org/cbioportal/service/MolecularDataService.java @@ -1,6 +1,6 @@ package org.cbioportal.service; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.GeneMolecularAlteration; import org.cbioportal.model.GeneMolecularData; import org.cbioportal.model.meta.BaseMeta; diff --git a/service/src/main/java/org/cbioportal/service/MutationService.java b/service/src/main/java/org/cbioportal/service/MutationService.java index 4f5b1f5d65f..fe35bf1f427 100644 --- a/service/src/main/java/org/cbioportal/service/MutationService.java +++ b/service/src/main/java/org/cbioportal/service/MutationService.java @@ -1,8 +1,10 @@ package org.cbioportal.service; -import org.cbioportal.model.*; +import org.cbioportal.model.Mutation; +import org.cbioportal.model.MutationCountByPosition; import org.cbioportal.model.meta.MutationMeta; import org.cbioportal.service.exception.MolecularProfileNotFoundException; +import org.cbioportal.webparam.GeneFilterQuery; import java.util.List; diff --git a/service/src/main/java/org/cbioportal/service/StructuralVariantService.java b/service/src/main/java/org/cbioportal/service/StructuralVariantService.java index 4eafa15bbdc..21140f50053 100644 --- a/service/src/main/java/org/cbioportal/service/StructuralVariantService.java +++ b/service/src/main/java/org/cbioportal/service/StructuralVariantService.java @@ -25,7 +25,7 @@ import java.util.List; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.StructuralVariant; import org.cbioportal.model.StructuralVariantQuery; diff --git a/service/src/main/java/org/cbioportal/service/impl/DiscreteCopyNumberServiceImpl.java b/service/src/main/java/org/cbioportal/service/impl/DiscreteCopyNumberServiceImpl.java index c862e7924ce..3b4be5465b7 100644 --- a/service/src/main/java/org/cbioportal/service/impl/DiscreteCopyNumberServiceImpl.java +++ b/service/src/main/java/org/cbioportal/service/impl/DiscreteCopyNumberServiceImpl.java @@ -4,7 +4,7 @@ import org.cbioportal.model.CopyNumberCount; import org.cbioportal.model.CopyNumberCountByGene; import org.cbioportal.model.DiscreteCopyNumberData; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.GeneMolecularData; import org.cbioportal.model.MolecularProfile; import org.cbioportal.model.meta.BaseMeta; diff --git a/service/src/main/java/org/cbioportal/service/impl/MolecularDataServiceImpl.java b/service/src/main/java/org/cbioportal/service/impl/MolecularDataServiceImpl.java index 786e19186b2..2017b22ee70 100644 --- a/service/src/main/java/org/cbioportal/service/impl/MolecularDataServiceImpl.java +++ b/service/src/main/java/org/cbioportal/service/impl/MolecularDataServiceImpl.java @@ -1,7 +1,7 @@ package org.cbioportal.service.impl; import org.cbioportal.model.*; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.MolecularProfile.MolecularAlterationType; import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.persistence.DiscreteCopyNumberRepository; diff --git a/service/src/main/java/org/cbioportal/service/impl/MutationServiceImpl.java b/service/src/main/java/org/cbioportal/service/impl/MutationServiceImpl.java index 9480ac0f043..403050c44bd 100644 --- a/service/src/main/java/org/cbioportal/service/impl/MutationServiceImpl.java +++ b/service/src/main/java/org/cbioportal/service/impl/MutationServiceImpl.java @@ -1,6 +1,6 @@ package org.cbioportal.service.impl; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.MolecularProfile; import org.cbioportal.model.Mutation; import org.cbioportal.model.MutationCountByPosition; diff --git a/service/src/main/java/org/cbioportal/service/impl/StructuralVariantServiceImpl.java b/service/src/main/java/org/cbioportal/service/impl/StructuralVariantServiceImpl.java index 004caf5d698..125d7ad7ab1 100644 --- a/service/src/main/java/org/cbioportal/service/impl/StructuralVariantServiceImpl.java +++ b/service/src/main/java/org/cbioportal/service/impl/StructuralVariantServiceImpl.java @@ -23,7 +23,7 @@ package org.cbioportal.service.impl; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.StructuralVariant; import org.cbioportal.model.StructuralVariantQuery; import org.cbioportal.persistence.StructuralVariantRepository; diff --git a/service/src/test/java/org/cbioportal/service/impl/DiscreteCopyNumberServiceImplTest.java b/service/src/test/java/org/cbioportal/service/impl/DiscreteCopyNumberServiceImplTest.java index 199865c11bd..e9d9cd609ae 100644 --- a/service/src/test/java/org/cbioportal/service/impl/DiscreteCopyNumberServiceImplTest.java +++ b/service/src/test/java/org/cbioportal/service/impl/DiscreteCopyNumberServiceImplTest.java @@ -6,6 +6,7 @@ import org.cbioportal.service.MolecularDataService; import org.cbioportal.service.MolecularProfileService; import org.cbioportal.service.exception.MolecularProfileNotFoundException; +import org.cbioportal.webparam.GeneFilterQuery; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/service/src/test/java/org/cbioportal/service/impl/MutationServiceImplTest.java b/service/src/test/java/org/cbioportal/service/impl/MutationServiceImplTest.java index e8bc163e3ea..8349180b9da 100644 --- a/service/src/test/java/org/cbioportal/service/impl/MutationServiceImplTest.java +++ b/service/src/test/java/org/cbioportal/service/impl/MutationServiceImplTest.java @@ -1,7 +1,7 @@ package org.cbioportal.service.impl; import org.cbioportal.model.Gene; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.MolecularProfile; import org.cbioportal.model.Mutation; import org.cbioportal.model.MutationCountByPosition; diff --git a/service/src/test/java/org/cbioportal/service/impl/StructuralVariantServiceImplTest.java b/service/src/test/java/org/cbioportal/service/impl/StructuralVariantServiceImplTest.java index 71e2d2d4efb..9ba538922be 100644 --- a/service/src/test/java/org/cbioportal/service/impl/StructuralVariantServiceImplTest.java +++ b/service/src/test/java/org/cbioportal/service/impl/StructuralVariantServiceImplTest.java @@ -27,7 +27,7 @@ import java.util.Collections; import java.util.List; -import org.cbioportal.model.GeneFilterQuery; +import org.cbioportal.webparam.GeneFilterQuery; import org.cbioportal.model.StructuralVariant; import org.cbioportal.model.StructuralVariantQuery; import org.cbioportal.persistence.StructuralVariantRepository; diff --git a/web/pom.xml b/web/pom.xml index 92f14f15f77..f0f2425ccea 100644 --- a/web/pom.xml +++ b/web/pom.xml @@ -14,6 +14,10 @@ Web Module for Portal + + org.mskcc.cbio + webparam + org.mskcc.cbio service diff --git a/web/src/main/java/org/cbioportal/web/AlterationEnrichmentController.java b/web/src/main/java/org/cbioportal/web/AlterationEnrichmentController.java index 2c86cc08469..ac01a7f8acc 100644 --- a/web/src/main/java/org/cbioportal/web/AlterationEnrichmentController.java +++ b/web/src/main/java/org/cbioportal/web/AlterationEnrichmentController.java @@ -7,7 +7,8 @@ import org.cbioportal.service.AlterationEnrichmentService; import org.cbioportal.service.exception.MolecularProfileNotFoundException; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.*; +import org.cbioportal.webparam.MolecularProfileCasesGroupAndAlterationTypeFilter; +import org.cbioportal.webparam.MolecularProfileCasesGroupFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; diff --git a/web/src/main/java/org/cbioportal/web/CancerTypeController.java b/web/src/main/java/org/cbioportal/web/CancerTypeController.java index facef9d4561..94a30215712 100644 --- a/web/src/main/java/org/cbioportal/web/CancerTypeController.java +++ b/web/src/main/java/org/cbioportal/web/CancerTypeController.java @@ -8,11 +8,11 @@ import org.cbioportal.service.exception.CancerTypeNotFoundException; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.Direction; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.sort.CancerTypeSortBy; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.sort.CancerTypeSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/ClinicalAttributeController.java b/web/src/main/java/org/cbioportal/web/ClinicalAttributeController.java index b51f1020675..932ff4f5e18 100644 --- a/web/src/main/java/org/cbioportal/web/ClinicalAttributeController.java +++ b/web/src/main/java/org/cbioportal/web/ClinicalAttributeController.java @@ -15,13 +15,11 @@ import org.cbioportal.service.exception.StudyNotFoundException; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.ClinicalAttributeCountFilter; -import org.cbioportal.web.parameter.Direction; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.SampleIdentifier; -import org.cbioportal.web.parameter.sort.ClinicalAttributeSortBy; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.sort.ClinicalAttributeSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/ClinicalAttributeCountController.java b/web/src/main/java/org/cbioportal/web/ClinicalAttributeCountController.java index ffc708d16b2..419f344313e 100644 --- a/web/src/main/java/org/cbioportal/web/ClinicalAttributeCountController.java +++ b/web/src/main/java/org/cbioportal/web/ClinicalAttributeCountController.java @@ -15,13 +15,8 @@ import org.cbioportal.service.exception.StudyNotFoundException; import org.cbioportal.web.config.InternalApiTags; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.ClinicalAttributeCountFilter; -import org.cbioportal.web.parameter.Direction; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.SampleIdentifier; -import org.cbioportal.web.parameter.sort.ClinicalAttributeSortBy; +import org.cbioportal.webparam.ClinicalAttributeCountFilter; +import org.cbioportal.webparam.SampleIdentifier; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/ClinicalDataController.java b/web/src/main/java/org/cbioportal/web/ClinicalDataController.java index 687f9e0fe83..37f1395960b 100644 --- a/web/src/main/java/org/cbioportal/web/ClinicalDataController.java +++ b/web/src/main/java/org/cbioportal/web/ClinicalDataController.java @@ -14,15 +14,15 @@ import org.cbioportal.service.exception.StudyNotFoundException; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.ClinicalDataIdentifier; -import org.cbioportal.web.parameter.ClinicalDataMultiStudyFilter; -import org.cbioportal.web.parameter.ClinicalDataSingleStudyFilter; -import org.cbioportal.web.parameter.ClinicalDataType; -import org.cbioportal.web.parameter.Direction; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.sort.ClinicalDataSortBy; +import org.cbioportal.webparam.ClinicalDataIdentifier; +import org.cbioportal.webparam.ClinicalDataMultiStudyFilter; +import org.cbioportal.webparam.ClinicalDataSingleStudyFilter; +import org.cbioportal.webparam.ClinicalDataType; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.sort.ClinicalDataSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/ClinicalDataEnrichmentController.java b/web/src/main/java/org/cbioportal/web/ClinicalDataEnrichmentController.java index ffc5e754c82..7c6976e3af6 100644 --- a/web/src/main/java/org/cbioportal/web/ClinicalDataEnrichmentController.java +++ b/web/src/main/java/org/cbioportal/web/ClinicalDataEnrichmentController.java @@ -16,10 +16,10 @@ import org.cbioportal.service.ClinicalAttributeService; import org.cbioportal.service.SampleService; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.GroupFilter; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.SampleIdentifier; import org.cbioportal.web.util.ClinicalDataEnrichmentUtil; +import org.cbioportal.webparam.GroupFilter; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.SampleIdentifier; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; diff --git a/web/src/main/java/org/cbioportal/web/ClinicalEventController.java b/web/src/main/java/org/cbioportal/web/ClinicalEventController.java index e9b07cae95a..ab3df5f75ec 100644 --- a/web/src/main/java/org/cbioportal/web/ClinicalEventController.java +++ b/web/src/main/java/org/cbioportal/web/ClinicalEventController.java @@ -9,11 +9,11 @@ import org.cbioportal.service.exception.StudyNotFoundException; import org.cbioportal.web.config.InternalApiTags; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.Direction; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.sort.ClinicalEventSortBy; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.sort.ClinicalEventSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/CoExpressionController.java b/web/src/main/java/org/cbioportal/web/CoExpressionController.java index fd208ce2af3..c0096063b30 100644 --- a/web/src/main/java/org/cbioportal/web/CoExpressionController.java +++ b/web/src/main/java/org/cbioportal/web/CoExpressionController.java @@ -7,7 +7,7 @@ import org.cbioportal.model.EntityType; import org.cbioportal.service.CoExpressionService; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.CoExpressionFilter; +import org.cbioportal.webparam.CoExpressionFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; diff --git a/web/src/main/java/org/cbioportal/web/CopyNumberSegmentController.java b/web/src/main/java/org/cbioportal/web/CopyNumberSegmentController.java index 95f6ee5e75b..c74c9d704e1 100644 --- a/web/src/main/java/org/cbioportal/web/CopyNumberSegmentController.java +++ b/web/src/main/java/org/cbioportal/web/CopyNumberSegmentController.java @@ -9,12 +9,12 @@ import org.cbioportal.service.exception.StudyNotFoundException; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.Direction; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.SampleIdentifier; -import org.cbioportal.web.parameter.sort.CopyNumberSegmentSortBy; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.sort.CopyNumberSegmentSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/DiscreteCopyNumberController.java b/web/src/main/java/org/cbioportal/web/DiscreteCopyNumberController.java index 83d842ed9cd..6bb76f8507a 100644 --- a/web/src/main/java/org/cbioportal/web/DiscreteCopyNumberController.java +++ b/web/src/main/java/org/cbioportal/web/DiscreteCopyNumberController.java @@ -10,11 +10,10 @@ import org.cbioportal.service.exception.MolecularProfileNotFoundException; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.CopyNumberCountIdentifier; -import org.cbioportal.web.parameter.DiscreteCopyNumberEventType; -import org.cbioportal.web.parameter.DiscreteCopyNumberFilter; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.Projection; +import org.cbioportal.webparam.DiscreteCopyNumberEventType; +import org.cbioportal.webparam.DiscreteCopyNumberFilter; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.Projection; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/DiscreteCopyNumberCountController.java b/web/src/main/java/org/cbioportal/web/DiscreteCopyNumberCountController.java index dbe37f05e48..7e4554adbc0 100644 --- a/web/src/main/java/org/cbioportal/web/DiscreteCopyNumberCountController.java +++ b/web/src/main/java/org/cbioportal/web/DiscreteCopyNumberCountController.java @@ -10,11 +10,7 @@ import org.cbioportal.service.exception.MolecularProfileNotFoundException; import org.cbioportal.web.config.InternalApiTags; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.CopyNumberCountIdentifier; -import org.cbioportal.web.parameter.DiscreteCopyNumberEventType; -import org.cbioportal.web.parameter.DiscreteCopyNumberFilter; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.Projection; +import org.cbioportal.webparam.CopyNumberCountIdentifier; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/ExpressionEnrichmentController.java b/web/src/main/java/org/cbioportal/web/ExpressionEnrichmentController.java index 0252463e558..6f71d971b39 100644 --- a/web/src/main/java/org/cbioportal/web/ExpressionEnrichmentController.java +++ b/web/src/main/java/org/cbioportal/web/ExpressionEnrichmentController.java @@ -14,7 +14,7 @@ import org.cbioportal.service.exception.MolecularProfileNotFoundException; import org.cbioportal.web.config.annotation.InternalApi; import org.cbioportal.model.EnrichmentType; -import org.cbioportal.web.parameter.MolecularProfileCasesGroupFilter; +import org.cbioportal.webparam.MolecularProfileCasesGroupFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; diff --git a/web/src/main/java/org/cbioportal/web/GeneController.java b/web/src/main/java/org/cbioportal/web/GeneController.java index 59adfbf1494..2299dd26371 100644 --- a/web/src/main/java/org/cbioportal/web/GeneController.java +++ b/web/src/main/java/org/cbioportal/web/GeneController.java @@ -9,12 +9,12 @@ import org.cbioportal.service.exception.GeneWithMultipleEntrezIdsException; import org.cbioportal.web.config.annotation.PublicApi; import org.cbioportal.web.config.PublicApiTags; -import org.cbioportal.web.parameter.Direction; -import org.cbioportal.web.parameter.GeneIdType; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.sort.GeneSortBy; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.GeneIdType; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.sort.GeneSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/GenePanelController.java b/web/src/main/java/org/cbioportal/web/GenePanelController.java index 93e3c293f14..52a68e69af2 100644 --- a/web/src/main/java/org/cbioportal/web/GenePanelController.java +++ b/web/src/main/java/org/cbioportal/web/GenePanelController.java @@ -11,8 +11,11 @@ import org.cbioportal.service.GenePanelService; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.*; -import org.cbioportal.web.parameter.sort.GenePanelSortBy; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.sort.GenePanelSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/GenePanelDataController.java b/web/src/main/java/org/cbioportal/web/GenePanelDataController.java index 03ebec52c4f..f6eba277a5e 100644 --- a/web/src/main/java/org/cbioportal/web/GenePanelDataController.java +++ b/web/src/main/java/org/cbioportal/web/GenePanelDataController.java @@ -11,8 +11,8 @@ import org.cbioportal.service.exception.MolecularProfileNotFoundException; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.*; -import org.cbioportal.web.parameter.sort.GenePanelSortBy; +import org.cbioportal.webparam.GenePanelDataFilter; +import org.cbioportal.webparam.GenePanelDataMultipleStudyFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/GenericAssayController.java b/web/src/main/java/org/cbioportal/web/GenericAssayController.java index 652ffe3e97d..83508aec0f5 100644 --- a/web/src/main/java/org/cbioportal/web/GenericAssayController.java +++ b/web/src/main/java/org/cbioportal/web/GenericAssayController.java @@ -4,6 +4,8 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.commons.lang3.StringUtils; +import org.cbioportal.webparam.GenericAssayMetaFilter; +import org.cbioportal.webparam.Projection; import springfox.documentation.annotations.ApiIgnore; import java.util.ArrayList; @@ -21,12 +23,6 @@ import org.cbioportal.service.exception.MolecularProfileNotFoundException; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.GenericAssayFilter; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.GenericAssayDataMultipleStudyFilter; -import org.cbioportal.web.parameter.GenericAssayMetaFilter; -import org.cbioportal.web.parameter.SampleMolecularIdentifier; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/GenericAssayDataController.java b/web/src/main/java/org/cbioportal/web/GenericAssayDataController.java index 5b546f63889..a42120ba4bc 100644 --- a/web/src/main/java/org/cbioportal/web/GenericAssayDataController.java +++ b/web/src/main/java/org/cbioportal/web/GenericAssayDataController.java @@ -11,7 +11,11 @@ import org.cbioportal.service.exception.MolecularProfileNotFoundException; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.*; +import org.cbioportal.webparam.GenericAssayDataMultipleStudyFilter; +import org.cbioportal.webparam.GenericAssayFilter; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.SampleMolecularIdentifier; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/GenesetController.java b/web/src/main/java/org/cbioportal/web/GenesetController.java index 9684e8830a1..627c7a9966f 100644 --- a/web/src/main/java/org/cbioportal/web/GenesetController.java +++ b/web/src/main/java/org/cbioportal/web/GenesetController.java @@ -10,9 +10,9 @@ import org.cbioportal.service.GenesetService; import org.cbioportal.service.exception.GenesetNotFoundException; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/GenesetDataController.java b/web/src/main/java/org/cbioportal/web/GenesetDataController.java index 41af427a615..ee72f619b94 100644 --- a/web/src/main/java/org/cbioportal/web/GenesetDataController.java +++ b/web/src/main/java/org/cbioportal/web/GenesetDataController.java @@ -7,7 +7,7 @@ import org.cbioportal.service.exception.MolecularProfileNotFoundException; import org.cbioportal.service.exception.SampleListNotFoundException; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.GenesetDataFilterCriteria; +import org.cbioportal.webparam.GenesetDataFilterCriteria; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; diff --git a/web/src/main/java/org/cbioportal/web/MolecularDataController.java b/web/src/main/java/org/cbioportal/web/MolecularDataController.java index ac6576fc1c1..09f7f8f92ed 100644 --- a/web/src/main/java/org/cbioportal/web/MolecularDataController.java +++ b/web/src/main/java/org/cbioportal/web/MolecularDataController.java @@ -10,11 +10,11 @@ import org.cbioportal.service.MolecularDataService; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.MolecularDataFilter; -import org.cbioportal.web.parameter.MolecularDataMultipleStudyFilter; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.SampleMolecularIdentifier; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.MolecularDataFilter; +import org.cbioportal.webparam.MolecularDataMultipleStudyFilter; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.SampleMolecularIdentifier; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/MolecularProfileController.java b/web/src/main/java/org/cbioportal/web/MolecularProfileController.java index 2474b2a060d..09629322508 100644 --- a/web/src/main/java/org/cbioportal/web/MolecularProfileController.java +++ b/web/src/main/java/org/cbioportal/web/MolecularProfileController.java @@ -10,12 +10,12 @@ import org.cbioportal.service.MolecularProfileService; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.Direction; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.MolecularProfileFilter; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.sort.MolecularProfileSortBy; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.MolecularProfileFilter; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.sort.MolecularProfileSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/MrnaPercentileController.java b/web/src/main/java/org/cbioportal/web/MrnaPercentileController.java index ef445fdd833..745fdc4e2c6 100644 --- a/web/src/main/java/org/cbioportal/web/MrnaPercentileController.java +++ b/web/src/main/java/org/cbioportal/web/MrnaPercentileController.java @@ -7,7 +7,7 @@ import org.cbioportal.service.MrnaPercentileService; import org.cbioportal.service.exception.MolecularProfileNotFoundException; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.PagingConstants; +import org.cbioportal.webparam.PagingConstants; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; diff --git a/web/src/main/java/org/cbioportal/web/MutationController.java b/web/src/main/java/org/cbioportal/web/MutationController.java index ccbc8b88809..b65cbfb5352 100644 --- a/web/src/main/java/org/cbioportal/web/MutationController.java +++ b/web/src/main/java/org/cbioportal/web/MutationController.java @@ -10,15 +10,14 @@ import org.cbioportal.service.MutationService; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.Direction; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.MutationFilter; -import org.cbioportal.web.parameter.MutationMultipleStudyFilter; -import org.cbioportal.web.parameter.MutationPositionIdentifier; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.SampleMolecularIdentifier; -import org.cbioportal.web.parameter.sort.MutationSortBy; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.MutationFilter; +import org.cbioportal.webparam.MutationMultipleStudyFilter; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.SampleMolecularIdentifier; +import org.cbioportal.webparam.sort.MutationSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/MutationCountController.java b/web/src/main/java/org/cbioportal/web/MutationCountController.java index 9a087a9318e..49c438f7ae0 100644 --- a/web/src/main/java/org/cbioportal/web/MutationCountController.java +++ b/web/src/main/java/org/cbioportal/web/MutationCountController.java @@ -10,15 +10,7 @@ import org.cbioportal.service.MutationService; import org.cbioportal.web.config.InternalApiTags; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.Direction; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.MutationFilter; -import org.cbioportal.web.parameter.MutationMultipleStudyFilter; -import org.cbioportal.web.parameter.MutationPositionIdentifier; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.SampleMolecularIdentifier; -import org.cbioportal.web.parameter.sort.MutationSortBy; +import org.cbioportal.webparam.MutationPositionIdentifier; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/MutationSpectrumController.java b/web/src/main/java/org/cbioportal/web/MutationSpectrumController.java index e6e50f135ec..4270860ba29 100644 --- a/web/src/main/java/org/cbioportal/web/MutationSpectrumController.java +++ b/web/src/main/java/org/cbioportal/web/MutationSpectrumController.java @@ -7,7 +7,7 @@ import org.cbioportal.service.MutationSpectrumService; import org.cbioportal.service.exception.MolecularProfileNotFoundException; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.MutationSpectrumFilter; +import org.cbioportal.webparam.MutationSpectrumFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; diff --git a/web/src/main/java/org/cbioportal/web/PatientController.java b/web/src/main/java/org/cbioportal/web/PatientController.java index 84ec5585483..05dc9ad9c28 100644 --- a/web/src/main/java/org/cbioportal/web/PatientController.java +++ b/web/src/main/java/org/cbioportal/web/PatientController.java @@ -9,9 +9,14 @@ import org.cbioportal.service.PatientService; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.*; -import org.cbioportal.web.parameter.sort.PatientSortBy; import org.cbioportal.web.util.UniqueKeyExtractor; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.PatientFilter; +import org.cbioportal.webparam.PatientIdentifier; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.sort.PatientSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/ResourceDataController.java b/web/src/main/java/org/cbioportal/web/ResourceDataController.java index 0ccd72b9b1f..3157c7cd13c 100644 --- a/web/src/main/java/org/cbioportal/web/ResourceDataController.java +++ b/web/src/main/java/org/cbioportal/web/ResourceDataController.java @@ -12,10 +12,10 @@ import org.cbioportal.service.exception.StudyNotFoundException; import org.cbioportal.web.config.InternalApiTags; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.Direction; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.sort.ResourceDataSortBy; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.sort.ResourceDataSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.*; import org.springframework.security.access.prepost.PreAuthorize; diff --git a/web/src/main/java/org/cbioportal/web/ResourceDefinitionController.java b/web/src/main/java/org/cbioportal/web/ResourceDefinitionController.java index 372202aa77d..ecf2bec3818 100644 --- a/web/src/main/java/org/cbioportal/web/ResourceDefinitionController.java +++ b/web/src/main/java/org/cbioportal/web/ResourceDefinitionController.java @@ -12,8 +12,10 @@ import org.cbioportal.service.exception.StudyNotFoundException; import org.cbioportal.web.config.InternalApiTags; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.*; -import org.cbioportal.web.parameter.sort.ResourceDefinitionSortBy; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.sort.ResourceDefinitionSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.*; import org.springframework.security.access.prepost.PreAuthorize; diff --git a/web/src/main/java/org/cbioportal/web/SampleController.java b/web/src/main/java/org/cbioportal/web/SampleController.java index d34d1e1abc5..d21b38c2f34 100644 --- a/web/src/main/java/org/cbioportal/web/SampleController.java +++ b/web/src/main/java/org/cbioportal/web/SampleController.java @@ -4,23 +4,28 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.cbioportal.model.CancerStudy; -import org.cbioportal.model.SampleList; -import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.model.Sample; +import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.SampleListService; +import org.cbioportal.service.SampleService; import org.cbioportal.service.StudyService; import org.cbioportal.service.exception.PatientNotFoundException; import org.cbioportal.service.exception.SampleListNotFoundException; import org.cbioportal.service.exception.SampleNotFoundException; import org.cbioportal.service.exception.StudyNotFoundException; -import org.cbioportal.service.SampleService; import org.cbioportal.utils.security.AccessLevel; import org.cbioportal.utils.security.PortalSecurityConfig; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.*; -import org.cbioportal.web.parameter.sort.SampleSortBy; import org.cbioportal.web.util.UniqueKeyExtractor; +import org.cbioportal.webparam.Constants; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.SampleFilter; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.sort.SampleSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpHeaders; @@ -38,10 +43,13 @@ import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import javax.validation.Valid; import javax.validation.constraints.Max; import javax.validation.constraints.Min; -import javax.validation.Valid; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; import java.util.stream.Collectors; @PublicApi @@ -50,9 +58,6 @@ @Api(tags = PublicApiTags.SAMPLES, description = " ") public class SampleController { - public static final int SAMPLE_MAX_PAGE_SIZE = 10000000; - private static final String SAMPLE_DEFAULT_PAGE_SIZE = "10000000"; - @Value("${authenticate}") private String authenticate; @@ -139,9 +144,9 @@ public ResponseEntity> getAllSamplesInStudy( @ApiParam("Level of detail of the response") @RequestParam(defaultValue = "SUMMARY") Projection projection, @ApiParam("Page size of the result list") - @Max(SAMPLE_MAX_PAGE_SIZE) + @Max(Constants.SAMPLE_MAX_PAGE_SIZE) @Min(PagingConstants.MIN_PAGE_SIZE) - @RequestParam(defaultValue = SAMPLE_DEFAULT_PAGE_SIZE) Integer pageSize, + @RequestParam(defaultValue = Constants.SAMPLE_DEFAULT_PAGE_SIZE) Integer pageSize, @ApiParam("Page number of the result list") @Min(PagingConstants.MIN_PAGE_NUMBER) @RequestParam(defaultValue = PagingConstants.DEFAULT_PAGE_NUMBER) Integer pageNumber, @@ -187,9 +192,9 @@ public ResponseEntity> getAllSamplesOfPatientInStudy( @ApiParam("Level of detail of the response") @RequestParam(defaultValue = "SUMMARY") Projection projection, @ApiParam("Page size of the result list") - @Max(SAMPLE_MAX_PAGE_SIZE) + @Max(Constants.SAMPLE_MAX_PAGE_SIZE) @Min(PagingConstants.MIN_PAGE_SIZE) - @RequestParam(defaultValue = SAMPLE_DEFAULT_PAGE_SIZE) Integer pageSize, + @RequestParam(defaultValue = Constants.SAMPLE_DEFAULT_PAGE_SIZE) Integer pageSize, @ApiParam("Page number of the result list") @Min(PagingConstants.MIN_PAGE_NUMBER) @RequestParam(defaultValue = PagingConstants.DEFAULT_PAGE_NUMBER) Integer pageNumber, diff --git a/web/src/main/java/org/cbioportal/web/SampleListController.java b/web/src/main/java/org/cbioportal/web/SampleListController.java index 92d4807eec6..64b2c20731b 100644 --- a/web/src/main/java/org/cbioportal/web/SampleListController.java +++ b/web/src/main/java/org/cbioportal/web/SampleListController.java @@ -9,11 +9,11 @@ import org.cbioportal.service.exception.StudyNotFoundException; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.Direction; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.sort.SampleListSortBy; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.sort.SampleListSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/SessionServiceController.java b/web/src/main/java/org/cbioportal/web/SessionServiceController.java index 64fe9f4a89f..6f3f39cac7a 100644 --- a/web/src/main/java/org/cbioportal/web/SessionServiceController.java +++ b/web/src/main/java/org/cbioportal/web/SessionServiceController.java @@ -8,9 +8,21 @@ import javax.validation.constraints.Size; import com.google.common.collect.ImmutableMap; +import org.cbioportal.webparam.CustomAttributeWithData; +import org.cbioportal.webparam.CustomDataSession; +import org.cbioportal.webparam.CustomGeneList; +import org.cbioportal.webparam.CustomGeneListData; +import org.cbioportal.webparam.PageSettings; +import org.cbioportal.webparam.PageSettingsData; +import org.cbioportal.webparam.PageSettingsIdentifier; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.ResultsPageSettings; +import org.cbioportal.webparam.SessionPage; +import org.cbioportal.webparam.StudyPageSettings; +import org.cbioportal.webparam.VirtualStudy; +import org.cbioportal.webparam.VirtualStudyData; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.cbioportal.web.parameter.*; import org.cbioportal.web.util.SessionServiceRequestHandler; import org.cbioportal.session_service.domain.Session; import org.cbioportal.session_service.domain.SessionType; diff --git a/web/src/main/java/org/cbioportal/web/SignificantCopyNumberRegionController.java b/web/src/main/java/org/cbioportal/web/SignificantCopyNumberRegionController.java index b5d55648da4..fb06f970670 100644 --- a/web/src/main/java/org/cbioportal/web/SignificantCopyNumberRegionController.java +++ b/web/src/main/java/org/cbioportal/web/SignificantCopyNumberRegionController.java @@ -7,11 +7,11 @@ import org.cbioportal.service.SignificantCopyNumberRegionService; import org.cbioportal.service.exception.StudyNotFoundException; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.Direction; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.sort.SignificantCopyNumberRegionSortBy; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.sort.SignificantCopyNumberRegionSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/SignificantlyMutatedGenesController.java b/web/src/main/java/org/cbioportal/web/SignificantlyMutatedGenesController.java index bdae59293e1..51c0b7afd18 100644 --- a/web/src/main/java/org/cbioportal/web/SignificantlyMutatedGenesController.java +++ b/web/src/main/java/org/cbioportal/web/SignificantlyMutatedGenesController.java @@ -7,11 +7,11 @@ import org.cbioportal.service.SignificantlyMutatedGeneService; import org.cbioportal.service.exception.StudyNotFoundException; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.Direction; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.sort.SignificantlyMutatedGeneSortBy; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.sort.SignificantlyMutatedGeneSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/web/src/main/java/org/cbioportal/web/StructuralVariantController.java b/web/src/main/java/org/cbioportal/web/StructuralVariantController.java index b7b4af4d267..792aee8cf76 100644 --- a/web/src/main/java/org/cbioportal/web/StructuralVariantController.java +++ b/web/src/main/java/org/cbioportal/web/StructuralVariantController.java @@ -25,7 +25,6 @@ import org.cbioportal.model.StructuralVariant; import org.cbioportal.service.StructuralVariantService; -import org.cbioportal.web.parameter.StructuralVariantFilter; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -33,6 +32,7 @@ import org.cbioportal.web.config.InternalApiTags; import org.cbioportal.web.config.annotation.InternalApi; +import org.cbioportal.webparam.StructuralVariantFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; diff --git a/web/src/main/java/org/cbioportal/web/StudyController.java b/web/src/main/java/org/cbioportal/web/StudyController.java index dc194549f3e..3562a59f12e 100644 --- a/web/src/main/java/org/cbioportal/web/StudyController.java +++ b/web/src/main/java/org/cbioportal/web/StudyController.java @@ -11,11 +11,11 @@ import org.cbioportal.utils.security.PortalSecurityConfig; import org.cbioportal.web.config.PublicApiTags; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.Direction; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.PagingConstants; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.sort.StudySortBy; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.sort.StudySortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpHeaders; diff --git a/web/src/main/java/org/cbioportal/web/StudyViewController.java b/web/src/main/java/org/cbioportal/web/StudyViewController.java index d9aa2754530..a4c71000451 100644 --- a/web/src/main/java/org/cbioportal/web/StudyViewController.java +++ b/web/src/main/java/org/cbioportal/web/StudyViewController.java @@ -15,9 +15,22 @@ import org.cbioportal.service.util.ClinicalAttributeUtil; import org.cbioportal.web.config.annotation.InternalApi; import org.cbioportal.model.AlterationFilter; -import org.cbioportal.web.parameter.*; -import org.cbioportal.web.parameter.sort.ClinicalDataSortBy; import org.cbioportal.web.util.*; +import org.cbioportal.webparam.ClinicalDataBinCountFilter; +import org.cbioportal.webparam.ClinicalDataCountFilter; +import org.cbioportal.webparam.ClinicalDataFilter; +import org.cbioportal.webparam.ClinicalDataType; +import org.cbioportal.webparam.DataBinMethod; +import org.cbioportal.webparam.Direction; +import org.cbioportal.webparam.GenericAssayDataBinCountFilter; +import org.cbioportal.webparam.GenericAssayDataCountFilter; +import org.cbioportal.webparam.GenericAssayDataFilter; +import org.cbioportal.webparam.GenomicDataBinCountFilter; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.StudyViewFilter; +import org.cbioportal.webparam.sort.ClinicalDataSortBy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.Cacheable; import org.springframework.context.ApplicationContext; @@ -94,7 +107,7 @@ private void init() { @ApiOperation("Fetch clinical data counts by study view filter") public ResponseEntity> fetchClinicalDataCounts( @ApiParam(required = true, value = "Clinical data count filter") - @Valid @RequestBody(required = false) ClinicalDataCountFilter clinicalDataCountFilter, + @Valid @RequestBody(required = false) ClinicalDataCountFilter clinicalDataCountFilter, @ApiIgnore // prevent reference to this attribute in the swagger-ui interface @RequestAttribute(required = false, value = "involvedCancerStudies") Collection involvedCancerStudies, @ApiIgnore // prevent reference to this attribute in the swagger-ui interface. this attribute is needed for the @PreAuthorize tag above. diff --git a/web/src/main/java/org/cbioportal/web/TreatmentController.java b/web/src/main/java/org/cbioportal/web/TreatmentController.java index f2a933c4616..5f9e9a1b1f1 100644 --- a/web/src/main/java/org/cbioportal/web/TreatmentController.java +++ b/web/src/main/java/org/cbioportal/web/TreatmentController.java @@ -8,9 +8,11 @@ import org.cbioportal.model.ClinicalEventKeyCode; import org.cbioportal.service.TreatmentService; import org.cbioportal.web.config.annotation.PublicApi; -import org.cbioportal.web.parameter.*; import org.cbioportal.web.util.StudyViewFilterApplier; import org.cbioportal.web.util.StudyViewFilterUtil; +import org.cbioportal.webparam.PagingConstants; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.StudyViewFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.Cacheable; import org.springframework.context.ApplicationContext; @@ -63,7 +65,7 @@ public ResponseEntity> getAllPatientTreatments( @ApiParam(required = true, value = "Study view filter") @Valid - @RequestBody(required = false) + @RequestBody(required = false) StudyViewFilter studyViewFilter, @ApiIgnore // prevent reference to this attribute in the swagger-ui interface diff --git a/web/src/main/java/org/cbioportal/web/VariantCountController.java b/web/src/main/java/org/cbioportal/web/VariantCountController.java index 43e9b097582..928b53fef19 100644 --- a/web/src/main/java/org/cbioportal/web/VariantCountController.java +++ b/web/src/main/java/org/cbioportal/web/VariantCountController.java @@ -7,7 +7,7 @@ import org.cbioportal.service.VariantCountService; import org.cbioportal.service.exception.MolecularProfileNotFoundException; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.VariantCountIdentifier; +import org.cbioportal.webparam.VariantCountIdentifier; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; diff --git a/web/src/main/java/org/cbioportal/web/config/CustomObjectMapper.java b/web/src/main/java/org/cbioportal/web/config/CustomObjectMapper.java index ed80696367b..8a6001045c7 100644 --- a/web/src/main/java/org/cbioportal/web/config/CustomObjectMapper.java +++ b/web/src/main/java/org/cbioportal/web/config/CustomObjectMapper.java @@ -98,13 +98,13 @@ import org.cbioportal.web.mixin.SessionMixin; import org.cbioportal.web.mixin.StructuralVariantMixin; import org.cbioportal.web.mixin.TypeOfCancerMixin; -import org.cbioportal.web.parameter.CustomDataSession; -import org.cbioportal.web.parameter.PageSettings; -import org.cbioportal.web.parameter.PageSettingsData; -import org.cbioportal.web.parameter.StudyPageSettings; -import org.cbioportal.web.parameter.VirtualStudy; -import org.cbioportal.web.parameter.VirtualStudyData; -import org.cbioportal.web.CustomAttributeWithData; +import org.cbioportal.webparam.CustomAttributeWithData; +import org.cbioportal.webparam.CustomDataSession; +import org.cbioportal.webparam.PageSettings; +import org.cbioportal.webparam.PageSettingsData; +import org.cbioportal.webparam.StudyPageSettings; +import org.cbioportal.webparam.VirtualStudy; +import org.cbioportal.webparam.VirtualStudyData; public class CustomObjectMapper extends ObjectMapper { diff --git a/web/src/main/java/org/cbioportal/web/studyview/CustomDataController.java b/web/src/main/java/org/cbioportal/web/studyview/CustomDataController.java index b0dfc8c0394..0f95801ee81 100644 --- a/web/src/main/java/org/cbioportal/web/studyview/CustomDataController.java +++ b/web/src/main/java/org/cbioportal/web/studyview/CustomDataController.java @@ -16,14 +16,14 @@ import org.cbioportal.service.PatientService; import org.cbioportal.session_service.domain.SessionType; import org.cbioportal.web.config.annotation.InternalApi; -import org.cbioportal.web.parameter.ClinicalDataCountFilter; -import org.cbioportal.web.parameter.ClinicalDataFilter; -import org.cbioportal.web.parameter.CustomDataSession; -import org.cbioportal.web.parameter.SampleIdentifier; -import org.cbioportal.web.parameter.StudyViewFilter; import org.cbioportal.web.util.SessionServiceRequestHandler; import org.cbioportal.web.util.StudyViewFilterApplier; import org.cbioportal.web.util.StudyViewFilterUtil; +import org.cbioportal.webparam.ClinicalDataCountFilter; +import org.cbioportal.webparam.ClinicalDataFilter; +import org.cbioportal.webparam.CustomDataSession; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.StudyViewFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; diff --git a/web/src/main/java/org/cbioportal/web/util/ClinicalDataBinUtil.java b/web/src/main/java/org/cbioportal/web/util/ClinicalDataBinUtil.java index 1daaecac7e8..cdf0034771e 100644 --- a/web/src/main/java/org/cbioportal/web/util/ClinicalDataBinUtil.java +++ b/web/src/main/java/org/cbioportal/web/util/ClinicalDataBinUtil.java @@ -6,7 +6,12 @@ import org.cbioportal.service.ClinicalAttributeService; import org.cbioportal.service.PatientService; import org.cbioportal.service.util.ClinicalAttributeUtil; -import org.cbioportal.web.parameter.*; +import org.cbioportal.webparam.ClinicalDataBinCountFilter; +import org.cbioportal.webparam.ClinicalDataBinFilter; +import org.cbioportal.webparam.ClinicalDataType; +import org.cbioportal.webparam.DataBinMethod; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.StudyViewFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/web/src/main/java/org/cbioportal/web/util/ClinicalDataEnrichmentUtil.java b/web/src/main/java/org/cbioportal/web/util/ClinicalDataEnrichmentUtil.java index 50ab61aafa1..9cece51eea8 100644 --- a/web/src/main/java/org/cbioportal/web/util/ClinicalDataEnrichmentUtil.java +++ b/web/src/main/java/org/cbioportal/web/util/ClinicalDataEnrichmentUtil.java @@ -15,7 +15,7 @@ import org.cbioportal.model.Sample; import org.cbioportal.service.ClinicalDataService; import org.cbioportal.service.util.ClinicalAttributeUtil; -import org.cbioportal.web.parameter.ClinicalDataType; +import org.cbioportal.webparam.ClinicalDataType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; diff --git a/web/src/main/java/org/cbioportal/web/util/ClinicalDataEqualityFilterApplier.java b/web/src/main/java/org/cbioportal/web/util/ClinicalDataEqualityFilterApplier.java index 2e82b156fe9..a34e8507634 100644 --- a/web/src/main/java/org/cbioportal/web/util/ClinicalDataEqualityFilterApplier.java +++ b/web/src/main/java/org/cbioportal/web/util/ClinicalDataEqualityFilterApplier.java @@ -5,7 +5,7 @@ import org.apache.commons.collections4.map.MultiKeyMap; import org.cbioportal.service.ClinicalDataService; import org.cbioportal.service.PatientService; -import org.cbioportal.web.parameter.ClinicalDataFilter; +import org.cbioportal.webparam.ClinicalDataFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/web/src/main/java/org/cbioportal/web/util/ClinicalDataFetcher.java b/web/src/main/java/org/cbioportal/web/util/ClinicalDataFetcher.java index 56dcbef0573..5f83cc9424a 100644 --- a/web/src/main/java/org/cbioportal/web/util/ClinicalDataFetcher.java +++ b/web/src/main/java/org/cbioportal/web/util/ClinicalDataFetcher.java @@ -3,8 +3,8 @@ import org.apache.commons.collections4.CollectionUtils; import org.cbioportal.model.ClinicalData; import org.cbioportal.service.ClinicalDataService; -import org.cbioportal.web.parameter.ClinicalDataType; -import org.cbioportal.web.parameter.Projection; +import org.cbioportal.webparam.ClinicalDataType; +import org.cbioportal.webparam.Projection; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/web/src/main/java/org/cbioportal/web/util/ClinicalDataFilterApplier.java b/web/src/main/java/org/cbioportal/web/util/ClinicalDataFilterApplier.java index 68c3b802a79..b251cce6f55 100644 --- a/web/src/main/java/org/cbioportal/web/util/ClinicalDataFilterApplier.java +++ b/web/src/main/java/org/cbioportal/web/util/ClinicalDataFilterApplier.java @@ -9,9 +9,9 @@ import org.cbioportal.model.Patient; import org.cbioportal.service.ClinicalDataService; import org.cbioportal.service.PatientService; -import org.cbioportal.web.parameter.ClinicalDataFilter; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.SampleIdentifier; +import org.cbioportal.webparam.ClinicalDataFilter; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.SampleIdentifier; public abstract class ClinicalDataFilterApplier { private PatientService patientService; diff --git a/web/src/main/java/org/cbioportal/web/util/ClinicalDataIntervalFilterApplier.java b/web/src/main/java/org/cbioportal/web/util/ClinicalDataIntervalFilterApplier.java index e098929c6be..b1643b54796 100644 --- a/web/src/main/java/org/cbioportal/web/util/ClinicalDataIntervalFilterApplier.java +++ b/web/src/main/java/org/cbioportal/web/util/ClinicalDataIntervalFilterApplier.java @@ -8,8 +8,8 @@ import org.apache.commons.collections4.map.MultiKeyMap; import org.cbioportal.service.ClinicalDataService; import org.cbioportal.service.PatientService; -import org.cbioportal.web.parameter.ClinicalDataFilter; -import org.cbioportal.web.parameter.DataFilterValue; +import org.cbioportal.webparam.ClinicalDataFilter; +import org.cbioportal.webparam.DataFilterValue; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/web/src/main/java/org/cbioportal/web/util/CustomDataFilterApplier.java b/web/src/main/java/org/cbioportal/web/util/CustomDataFilterApplier.java index 5f30bde20b6..f93cd87ee86 100644 --- a/web/src/main/java/org/cbioportal/web/util/CustomDataFilterApplier.java +++ b/web/src/main/java/org/cbioportal/web/util/CustomDataFilterApplier.java @@ -12,9 +12,9 @@ import org.cbioportal.service.ClinicalDataService; import org.cbioportal.service.PatientService; import org.cbioportal.session_service.domain.SessionType; -import org.cbioportal.web.parameter.ClinicalDataFilter; -import org.cbioportal.web.parameter.CustomDataSession; -import org.cbioportal.web.parameter.SampleIdentifier; +import org.cbioportal.webparam.ClinicalDataFilter; +import org.cbioportal.webparam.CustomDataSession; +import org.cbioportal.webparam.SampleIdentifier; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -32,7 +32,7 @@ public CustomDataFilterApplier(PatientService patientService, ClinicalDataServic @Override public List apply(List sampleIdentifiers, - List customDataFilters, Boolean negateFilters) { + List customDataFilters, Boolean negateFilters) { if (!customDataFilters.isEmpty() && !sampleIdentifiers.isEmpty()) { List> postFutures = customDataFilters.stream() diff --git a/web/src/main/java/org/cbioportal/web/util/DataBinner.java b/web/src/main/java/org/cbioportal/web/util/DataBinner.java index 65c386d607e..2a41f579079 100644 --- a/web/src/main/java/org/cbioportal/web/util/DataBinner.java +++ b/web/src/main/java/org/cbioportal/web/util/DataBinner.java @@ -4,10 +4,10 @@ import org.apache.commons.lang3.math.NumberUtils; import org.cbioportal.model.ClinicalData; import org.cbioportal.model.DataBin; -import org.cbioportal.web.parameter.BinsGeneratorConfig; -import org.cbioportal.web.parameter.ClinicalDataBinFilter; -import org.cbioportal.web.parameter.ClinicalDataType; -import org.cbioportal.web.parameter.DataBinFilter; +import org.cbioportal.webparam.BinsGeneratorConfig; +import org.cbioportal.webparam.ClinicalDataBinFilter; +import org.cbioportal.webparam.ClinicalDataType; +import org.cbioportal.webparam.DataBinFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -33,11 +33,11 @@ public class DataBinner { private LogScaleDataBinner logScaleDataBinner; public List calculateClinicalDataBins(T dataBinFilter, - ClinicalDataType clinicalDataType, - List filteredClinicalData, - List unfilteredClinicalData, - List filteredIds, - List unfilteredIds) { + ClinicalDataType clinicalDataType, + List filteredClinicalData, + List unfilteredClinicalData, + List filteredIds, + List unfilteredIds) { // calculate data bins for unfiltered clinical data List dataBins = calculateDataBins( dataBinFilter, clinicalDataType, unfilteredClinicalData, unfilteredIds); diff --git a/web/src/main/java/org/cbioportal/web/util/InvolvedCancerStudyExtractorInterceptor.java b/web/src/main/java/org/cbioportal/web/util/InvolvedCancerStudyExtractorInterceptor.java index 99aaf69b754..1b535a1f25e 100644 --- a/web/src/main/java/org/cbioportal/web/util/InvolvedCancerStudyExtractorInterceptor.java +++ b/web/src/main/java/org/cbioportal/web/util/InvolvedCancerStudyExtractorInterceptor.java @@ -44,7 +44,29 @@ import org.cbioportal.model.MolecularProfileCaseIdentifier; import org.cbioportal.model.SampleList; import org.cbioportal.persistence.cachemaputil.CacheMapUtil; -import org.cbioportal.web.parameter.*; +import org.cbioportal.webparam.ClinicalAttributeCountFilter; +import org.cbioportal.webparam.ClinicalDataBinCountFilter; +import org.cbioportal.webparam.ClinicalDataCountFilter; +import org.cbioportal.webparam.ClinicalDataIdentifier; +import org.cbioportal.webparam.ClinicalDataMultiStudyFilter; +import org.cbioportal.webparam.GenePanelDataMultipleStudyFilter; +import org.cbioportal.webparam.GenericAssayDataBinCountFilter; +import org.cbioportal.webparam.GenericAssayDataCountFilter; +import org.cbioportal.webparam.GenericAssayDataMultipleStudyFilter; +import org.cbioportal.webparam.GenomicDataBinCountFilter; +import org.cbioportal.webparam.GroupFilter; +import org.cbioportal.webparam.MolecularDataMultipleStudyFilter; +import org.cbioportal.webparam.MolecularProfileCasesGroupAndAlterationTypeFilter; +import org.cbioportal.webparam.MolecularProfileCasesGroupFilter; +import org.cbioportal.webparam.MolecularProfileFilter; +import org.cbioportal.webparam.MutationMultipleStudyFilter; +import org.cbioportal.webparam.PatientFilter; +import org.cbioportal.webparam.PatientIdentifier; +import org.cbioportal.webparam.SampleFilter; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.SampleMolecularIdentifier; +import org.cbioportal.webparam.StructuralVariantFilter; +import org.cbioportal.webparam.StudyViewFilter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; diff --git a/web/src/main/java/org/cbioportal/web/util/SessionServiceRequestHandler.java b/web/src/main/java/org/cbioportal/web/util/SessionServiceRequestHandler.java index 8985c316ca9..b80d88fff04 100644 --- a/web/src/main/java/org/cbioportal/web/util/SessionServiceRequestHandler.java +++ b/web/src/main/java/org/cbioportal/web/util/SessionServiceRequestHandler.java @@ -6,10 +6,10 @@ import org.apache.commons.lang3.StringUtils; import org.cbioportal.session_service.domain.Session; import org.cbioportal.session_service.domain.SessionType; -import org.cbioportal.web.parameter.CustomDataSession; -import org.cbioportal.web.parameter.CustomGeneList; -import org.cbioportal.web.parameter.PageSettings; -import org.cbioportal.web.parameter.VirtualStudy; +import org.cbioportal.webparam.CustomDataSession; +import org.cbioportal.webparam.CustomGeneList; +import org.cbioportal.webparam.PageSettings; +import org.cbioportal.webparam.VirtualStudy; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; diff --git a/web/src/main/java/org/cbioportal/web/util/StudyViewFilterApplier.java b/web/src/main/java/org/cbioportal/web/util/StudyViewFilterApplier.java index 3cd9c5a41d0..6c9466f8791 100644 --- a/web/src/main/java/org/cbioportal/web/util/StudyViewFilterApplier.java +++ b/web/src/main/java/org/cbioportal/web/util/StudyViewFilterApplier.java @@ -7,13 +7,32 @@ import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.map.MultiKeyMap; import org.cbioportal.model.*; -import org.cbioportal.model.GeneFilter; import org.cbioportal.model.MolecularProfile.MolecularAlterationType; import org.cbioportal.service.*; import org.cbioportal.service.exception.MolecularProfileNotFoundException; import org.cbioportal.service.util.MolecularProfileUtil; -import org.cbioportal.web.parameter.*; import org.cbioportal.web.util.appliers.*; +import org.cbioportal.webparam.ClinicalDataFilter; +import org.cbioportal.webparam.ClinicalDataType; +import org.cbioportal.webparam.DataBinCountFilter; +import org.cbioportal.webparam.DataBinFilter; +import org.cbioportal.webparam.DataBinMethod; +import org.cbioportal.webparam.DataFilter; +import org.cbioportal.webparam.DiscreteCopyNumberEventType; +import org.cbioportal.webparam.GeneFilter; +import org.cbioportal.webparam.GeneFilterQuery; +import org.cbioportal.webparam.GeneIdType; +import org.cbioportal.webparam.GenericAssayDataBinCountFilter; +import org.cbioportal.webparam.GenericAssayDataBinFilter; +import org.cbioportal.webparam.GenericAssayDataFilter; +import org.cbioportal.webparam.GenomicDataBinCountFilter; +import org.cbioportal.webparam.GenomicDataBinFilter; +import org.cbioportal.webparam.GenomicDataFilter; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.StructuralVariantFilter; +import org.cbioportal.webparam.StudyViewFilter; +import org.cbioportal.webparam.StudyViewGeneFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.Cacheable; import org.springframework.context.ApplicationContext; @@ -175,9 +194,9 @@ public List apply(StudyViewFilter studyViewFilter, Boolean neg if (!CollectionUtils.isEmpty(studyViewFilter.getGeneFilters())) { Map molecularProfileMap = molecularProfiles.stream() .collect(Collectors.toMap(MolecularProfile::getStableId, Function.identity())); - List mutatedGeneFilters = new ArrayList(); - List structuralVariantGeneFilters = new ArrayList(); - List cnaGeneFilters = new ArrayList(); + List mutatedGeneFilters = new ArrayList<>(); + List structuralVariantGeneFilters = new ArrayList<>(); + List cnaGeneFilters = new ArrayList<>(); splitGeneFiltersByMolecularAlterationType(studyViewFilter.getGeneFilters(), molecularProfileMap, mutatedGeneFilters, structuralVariantGeneFilters, cnaGeneFilters); @@ -293,10 +312,10 @@ private List equalityFilterClinicalData(List return clinicalDataEqualityFilterApplier.apply(sampleIdentifiers, clinicalDataEqualityFilters, negateFilters); } - private List filterMutatedGenes(List mutatedGenefilters, + private List filterMutatedGenes(List mutatedGenefilters, Map molecularProfileMap, List sampleIdentifiers) { - for (GeneFilter genefilter : mutatedGenefilters) { + for (StudyViewGeneFilter genefilter : mutatedGenefilters) { List filteredMolecularProfiles = genefilter .getMolecularProfileIds() @@ -362,10 +381,10 @@ private List filterMutatedGenes(List mutatedGenefi return sampleIdentifiers; } - private List filterStructuralVariantGenes(List svGenefilters, + private List filterStructuralVariantGenes(List svGenefilters, Map molecularProfileMap, List sampleIdentifiers) { - for (GeneFilter genefilter : svGenefilters) { + for (StudyViewGeneFilter genefilter : svGenefilters) { List filteredMolecularProfiles = genefilter .getMolecularProfileIds() @@ -431,10 +450,10 @@ private List filterStructuralVariantGenes(List svG return sampleIdentifiers; } - private List filterCNAGenes(List cnaGeneFilters, + private List filterCNAGenes(List cnaGeneFilters, Map molecularProfileMap, List sampleIdentifiers) { - for (GeneFilter geneFilter : cnaGeneFilters) { + for (StudyViewGeneFilter geneFilter : cnaGeneFilters) { List filteredMolecularProfiles = geneFilter.getMolecularProfileIds().stream() .map(molecularProfileId -> molecularProfileMap.get(molecularProfileId)) @@ -509,11 +528,11 @@ private List filterCNAGenes(List cnaGeneFilters, return sampleIdentifiers; } - private void splitGeneFiltersByMolecularAlterationType(List genefilters, - Map molecularProfileMap, List mutatedGeneFilters, - List structuralVariantGeneFilters, List cnaGeneFilters) { + private void splitGeneFiltersByMolecularAlterationType(List genefilters, + Map molecularProfileMap, List mutatedGeneFilters, + List structuralVariantGeneFilters, List cnaGeneFilters) { - for (GeneFilter genefilter : genefilters) { + for (StudyViewGeneFilter genefilter : genefilters) { List filteredMolecularProfiles = genefilter.getMolecularProfileIds().stream() // need this filter criteria since profile id might be present @@ -522,7 +541,7 @@ private void splitGeneFiltersByMolecularAlterationType(List genefilt .map(molecularProfileMap::get) .collect(Collectors.toList()); - Set alterationTypes = filteredMolecularProfiles.stream() + Set alterationTypes = filteredMolecularProfiles.stream() .map(MolecularProfile::getMolecularAlterationType) .collect(Collectors.toSet()); @@ -536,13 +555,13 @@ private void splitGeneFiltersByMolecularAlterationType(List genefilt genefilter.setMolecularProfileIds(filteredMolecularProfileIds); if (alterationTypes.size() == 1) { - MolecularAlterationType alterationType = alterationTypes.iterator().next(); + MolecularProfile.MolecularAlterationType alterationType = alterationTypes.iterator().next(); if (alterationType.equals(MolecularAlterationType.STRUCTURAL_VARIANT)) { structuralVariantGeneFilters.add(genefilter); } else if (alterationType == MolecularAlterationType.MUTATION_EXTENDED) { mutatedGeneFilters.add(genefilter); - } else if (alterationType == MolecularAlterationType.COPY_NUMBER_ALTERATION + } else if (alterationType == MolecularProfile.MolecularAlterationType.COPY_NUMBER_ALTERATION && dataTypes.size() == 1 && dataTypes.iterator().next().equals("DISCRETE")) { cnaGeneFilters.add(genefilter); } @@ -559,7 +578,7 @@ public List getUniqkeyKeys(List studyIds, List caseIds) } public List getDataBins( - DataBinMethod dataBinMethod, T dataBinCountFilter) { + DataBinMethod dataBinMethod, T dataBinCountFilter) { List dataBinFilters = fetchDataBinFilters(dataBinCountFilter); StudyViewFilter studyViewFilter = dataBinCountFilter.getStudyViewFilter(); @@ -813,7 +832,7 @@ private GenomicDataBin dataBintoGenomicDataBin(GenomicDataBinFilter genomicDataB } private GenericAssayDataBin dataBintoGenericAssayDataBin(GenericAssayDataBinFilter genericAssayDataBinFilter, - DataBin dataBin) { + DataBin dataBin) { GenericAssayDataBin genericAssayDataBin = new GenericAssayDataBin(); genericAssayDataBin.setCount(dataBin.getCount()); genericAssayDataBin.setStableId(genericAssayDataBinFilter.getStableId()); diff --git a/web/src/main/java/org/cbioportal/web/util/StudyViewFilterUtil.java b/web/src/main/java/org/cbioportal/web/util/StudyViewFilterUtil.java index c6d7cbb3538..77650c1e192 100644 --- a/web/src/main/java/org/cbioportal/web/util/StudyViewFilterUtil.java +++ b/web/src/main/java/org/cbioportal/web/util/StudyViewFilterUtil.java @@ -10,11 +10,16 @@ import org.cbioportal.model.ClinicalDataCount; import org.cbioportal.model.ClinicalDataCountItem; import org.cbioportal.model.DataBin; -import org.cbioportal.model.MolecularProfile; import org.cbioportal.model.Patient; import org.cbioportal.model.SampleList; import org.cbioportal.service.util.MolecularProfileUtil; -import org.cbioportal.web.parameter.*; +import org.cbioportal.webparam.ClinicalDataBinFilter; +import org.cbioportal.webparam.ClinicalDataFilter; +import org.cbioportal.webparam.CustomDataSession; +import org.cbioportal.webparam.CustomDataValue; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.StudyViewFilter; +import org.cbioportal.webparam.DataFilterValue; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -83,7 +88,7 @@ public Map> categorizeSampleLists(List samp } public Integer getFilteredCountByDataEquality(List attributes, MultiKeyMap clinicalDataMap, - String entityId, String studyId, Boolean negateFilters) { + String entityId, String studyId, Boolean negateFilters) { Integer count = 0; for (ClinicalDataFilter s : attributes) { List filteredValues = s.getValues() diff --git a/web/src/main/java/org/cbioportal/web/util/appliers/AbstractPatientTreatmentFilter.java b/web/src/main/java/org/cbioportal/web/util/appliers/AbstractPatientTreatmentFilter.java index 81e7a003315..3984ea37caa 100644 --- a/web/src/main/java/org/cbioportal/web/util/appliers/AbstractPatientTreatmentFilter.java +++ b/web/src/main/java/org/cbioportal/web/util/appliers/AbstractPatientTreatmentFilter.java @@ -3,9 +3,9 @@ import org.cbioportal.model.ClinicalEventKeyCode; import org.cbioportal.model.PatientTreatmentRow; import org.cbioportal.service.TreatmentService; -import org.cbioportal.web.parameter.SampleIdentifier; -import org.cbioportal.web.parameter.StudyViewFilter; -import org.cbioportal.web.parameter.filter.AndedPatientTreatmentFilters; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.StudyViewFilter; +import org.cbioportal.webparam.filter.AndedPatientTreatmentFilters; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; diff --git a/web/src/main/java/org/cbioportal/web/util/appliers/AbstractSampleTreatmentFilter.java b/web/src/main/java/org/cbioportal/web/util/appliers/AbstractSampleTreatmentFilter.java index 302197c7ee4..c459f523587 100644 --- a/web/src/main/java/org/cbioportal/web/util/appliers/AbstractSampleTreatmentFilter.java +++ b/web/src/main/java/org/cbioportal/web/util/appliers/AbstractSampleTreatmentFilter.java @@ -3,9 +3,9 @@ import org.cbioportal.model.ClinicalEventKeyCode; import org.cbioportal.model.SampleTreatmentRow; import org.cbioportal.service.TreatmentService; -import org.cbioportal.web.parameter.SampleIdentifier; -import org.cbioportal.web.parameter.StudyViewFilter; -import org.cbioportal.web.parameter.filter.AndedSampleTreatmentFilters; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.StudyViewFilter; +import org.cbioportal.webparam.filter.AndedSampleTreatmentFilters; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; diff --git a/web/src/main/java/org/cbioportal/web/util/appliers/ClinicalEventFilterApplier.java b/web/src/main/java/org/cbioportal/web/util/appliers/ClinicalEventFilterApplier.java index 53614a4ca73..a6d651ec5dc 100644 --- a/web/src/main/java/org/cbioportal/web/util/appliers/ClinicalEventFilterApplier.java +++ b/web/src/main/java/org/cbioportal/web/util/appliers/ClinicalEventFilterApplier.java @@ -1,10 +1,10 @@ package org.cbioportal.web.util.appliers; import org.cbioportal.service.ClinicalEventService; -import org.cbioportal.web.parameter.DataFilter; -import org.cbioportal.web.parameter.DataFilterValue; -import org.cbioportal.web.parameter.SampleIdentifier; -import org.cbioportal.web.parameter.StudyViewFilter; +import org.cbioportal.webparam.DataFilter; +import org.cbioportal.webparam.DataFilterValue; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.StudyViewFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; diff --git a/web/src/main/java/org/cbioportal/web/util/appliers/PatientTreatmentFilterApplier.java b/web/src/main/java/org/cbioportal/web/util/appliers/PatientTreatmentFilterApplier.java index c97c313ec8b..90f8186c085 100644 --- a/web/src/main/java/org/cbioportal/web/util/appliers/PatientTreatmentFilterApplier.java +++ b/web/src/main/java/org/cbioportal/web/util/appliers/PatientTreatmentFilterApplier.java @@ -1,8 +1,8 @@ package org.cbioportal.web.util.appliers; import org.cbioportal.model.ClinicalEventKeyCode; -import org.cbioportal.web.parameter.StudyViewFilter; -import org.cbioportal.web.parameter.filter.AndedPatientTreatmentFilters; +import org.cbioportal.webparam.StudyViewFilter; +import org.cbioportal.webparam.filter.AndedPatientTreatmentFilters; import org.springframework.stereotype.Component; @Component diff --git a/web/src/main/java/org/cbioportal/web/util/appliers/PatientTreatmentGroupFilterApplier.java b/web/src/main/java/org/cbioportal/web/util/appliers/PatientTreatmentGroupFilterApplier.java index 6110d4aa8e3..43d94516794 100644 --- a/web/src/main/java/org/cbioportal/web/util/appliers/PatientTreatmentGroupFilterApplier.java +++ b/web/src/main/java/org/cbioportal/web/util/appliers/PatientTreatmentGroupFilterApplier.java @@ -1,8 +1,8 @@ package org.cbioportal.web.util.appliers; import org.cbioportal.model.ClinicalEventKeyCode; -import org.cbioportal.web.parameter.StudyViewFilter; -import org.cbioportal.web.parameter.filter.AndedPatientTreatmentFilters; +import org.cbioportal.webparam.StudyViewFilter; +import org.cbioportal.webparam.filter.AndedPatientTreatmentFilters; import org.springframework.stereotype.Component; @Component diff --git a/web/src/main/java/org/cbioportal/web/util/appliers/PatientTreatmentTargetFilterApplier.java b/web/src/main/java/org/cbioportal/web/util/appliers/PatientTreatmentTargetFilterApplier.java index 87c69ea8fbc..aab92c4b8f5 100644 --- a/web/src/main/java/org/cbioportal/web/util/appliers/PatientTreatmentTargetFilterApplier.java +++ b/web/src/main/java/org/cbioportal/web/util/appliers/PatientTreatmentTargetFilterApplier.java @@ -1,8 +1,8 @@ package org.cbioportal.web.util.appliers; import org.cbioportal.model.ClinicalEventKeyCode; -import org.cbioportal.web.parameter.StudyViewFilter; -import org.cbioportal.web.parameter.filter.AndedPatientTreatmentFilters; +import org.cbioportal.webparam.StudyViewFilter; +import org.cbioportal.webparam.filter.AndedPatientTreatmentFilters; import org.springframework.stereotype.Component; @Component diff --git a/web/src/main/java/org/cbioportal/web/util/appliers/SampleTreatmentFilterApplier.java b/web/src/main/java/org/cbioportal/web/util/appliers/SampleTreatmentFilterApplier.java index 83e6bd7301a..9dc0d9e1b97 100644 --- a/web/src/main/java/org/cbioportal/web/util/appliers/SampleTreatmentFilterApplier.java +++ b/web/src/main/java/org/cbioportal/web/util/appliers/SampleTreatmentFilterApplier.java @@ -1,8 +1,8 @@ package org.cbioportal.web.util.appliers; import org.cbioportal.model.ClinicalEventKeyCode; -import org.cbioportal.web.parameter.StudyViewFilter; -import org.cbioportal.web.parameter.filter.AndedSampleTreatmentFilters; +import org.cbioportal.webparam.StudyViewFilter; +import org.cbioportal.webparam.filter.AndedSampleTreatmentFilters; import org.springframework.stereotype.Component; @Component diff --git a/web/src/main/java/org/cbioportal/web/util/appliers/SampleTreatmentGroupFilterApplier.java b/web/src/main/java/org/cbioportal/web/util/appliers/SampleTreatmentGroupFilterApplier.java index 9f0e3aa0b31..73dff346baf 100644 --- a/web/src/main/java/org/cbioportal/web/util/appliers/SampleTreatmentGroupFilterApplier.java +++ b/web/src/main/java/org/cbioportal/web/util/appliers/SampleTreatmentGroupFilterApplier.java @@ -1,8 +1,8 @@ package org.cbioportal.web.util.appliers; import org.cbioportal.model.ClinicalEventKeyCode; -import org.cbioportal.web.parameter.StudyViewFilter; -import org.cbioportal.web.parameter.filter.AndedSampleTreatmentFilters; +import org.cbioportal.webparam.StudyViewFilter; +import org.cbioportal.webparam.filter.AndedSampleTreatmentFilters; import org.springframework.stereotype.Component; @Component diff --git a/web/src/main/java/org/cbioportal/web/util/appliers/SampleTreatmentTargetFilterApplier.java b/web/src/main/java/org/cbioportal/web/util/appliers/SampleTreatmentTargetFilterApplier.java index d7d6c37b449..f9cc57e536d 100644 --- a/web/src/main/java/org/cbioportal/web/util/appliers/SampleTreatmentTargetFilterApplier.java +++ b/web/src/main/java/org/cbioportal/web/util/appliers/SampleTreatmentTargetFilterApplier.java @@ -1,8 +1,8 @@ package org.cbioportal.web.util.appliers; import org.cbioportal.model.ClinicalEventKeyCode; -import org.cbioportal.web.parameter.StudyViewFilter; -import org.cbioportal.web.parameter.filter.AndedSampleTreatmentFilters; +import org.cbioportal.webparam.StudyViewFilter; +import org.cbioportal.webparam.filter.AndedSampleTreatmentFilters; import org.springframework.stereotype.Component; @Component diff --git a/web/src/main/java/org/cbioportal/web/util/appliers/StudyViewSubFilterApplier.java b/web/src/main/java/org/cbioportal/web/util/appliers/StudyViewSubFilterApplier.java index 8ba7dc037ef..9d0595d59c2 100644 --- a/web/src/main/java/org/cbioportal/web/util/appliers/StudyViewSubFilterApplier.java +++ b/web/src/main/java/org/cbioportal/web/util/appliers/StudyViewSubFilterApplier.java @@ -1,7 +1,7 @@ package org.cbioportal.web.util.appliers; -import org.cbioportal.web.parameter.SampleIdentifier; -import org.cbioportal.web.parameter.StudyViewFilter; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.StudyViewFilter; import java.util.List; diff --git a/web/src/test/java/org/cbioportal/web/AlterationEnrichmentControllerTest.java b/web/src/test/java/org/cbioportal/web/AlterationEnrichmentControllerTest.java index 04d56ecf7ad..16f96d58a2e 100644 --- a/web/src/test/java/org/cbioportal/web/AlterationEnrichmentControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/AlterationEnrichmentControllerTest.java @@ -8,8 +8,8 @@ import org.cbioportal.model.MolecularProfileCaseIdentifier; import org.cbioportal.model.MutationEventType; import org.cbioportal.service.AlterationEnrichmentService; -import org.cbioportal.web.parameter.MolecularProfileCasesGroupAndAlterationTypeFilter; -import org.cbioportal.web.parameter.MolecularProfileCasesGroupFilter; +import org.cbioportal.webparam.MolecularProfileCasesGroupAndAlterationTypeFilter; +import org.cbioportal.webparam.MolecularProfileCasesGroupFilter; import org.cbioportal.web.util.AlterationFilterMockitoArgumentMatcher; import org.hamcrest.Matchers; import org.junit.Before; diff --git a/web/src/test/java/org/cbioportal/web/CancerTypeControllerTest.java b/web/src/test/java/org/cbioportal/web/CancerTypeControllerTest.java index 3accfce4a3d..7c25ad47101 100644 --- a/web/src/test/java/org/cbioportal/web/CancerTypeControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/CancerTypeControllerTest.java @@ -4,7 +4,7 @@ import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.CancerTypeService; import org.cbioportal.service.exception.CancerTypeNotFoundException; -import org.cbioportal.web.parameter.HeaderKeyConstants; +import org.cbioportal.webparam.HeaderKeyConstants; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/ClinicalAttributeControllerTest.java b/web/src/test/java/org/cbioportal/web/ClinicalAttributeControllerTest.java index 47995c19533..67b22ff98da 100644 --- a/web/src/test/java/org/cbioportal/web/ClinicalAttributeControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/ClinicalAttributeControllerTest.java @@ -6,9 +6,9 @@ import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.ClinicalAttributeService; import org.cbioportal.service.exception.ClinicalAttributeNotFoundException; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.ClinicalAttributeCountFilter; -import org.cbioportal.web.parameter.SampleIdentifier; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.ClinicalAttributeCountFilter; +import org.cbioportal.webparam.SampleIdentifier; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/ClinicalDataControllerTest.java b/web/src/test/java/org/cbioportal/web/ClinicalDataControllerTest.java index 71efb782ab9..2004ae2b4c4 100644 --- a/web/src/test/java/org/cbioportal/web/ClinicalDataControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/ClinicalDataControllerTest.java @@ -5,10 +5,10 @@ import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.ClinicalDataService; import org.cbioportal.web.config.CustomObjectMapper; -import org.cbioportal.web.parameter.ClinicalDataIdentifier; -import org.cbioportal.web.parameter.ClinicalDataMultiStudyFilter; -import org.cbioportal.web.parameter.ClinicalDataSingleStudyFilter; -import org.cbioportal.web.parameter.HeaderKeyConstants; +import org.cbioportal.webparam.ClinicalDataIdentifier; +import org.cbioportal.webparam.ClinicalDataMultiStudyFilter; +import org.cbioportal.webparam.ClinicalDataSingleStudyFilter; +import org.cbioportal.webparam.HeaderKeyConstants; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/ClinicalDataEnrichmentControllerTest.java b/web/src/test/java/org/cbioportal/web/ClinicalDataEnrichmentControllerTest.java index 0399d1097fc..78e68b2dff9 100644 --- a/web/src/test/java/org/cbioportal/web/ClinicalDataEnrichmentControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/ClinicalDataEnrichmentControllerTest.java @@ -11,9 +11,9 @@ import org.cbioportal.service.ClinicalAttributeService; import org.cbioportal.service.SampleService; import org.cbioportal.service.util.ClinicalAttributeUtil; -import org.cbioportal.web.parameter.Group; -import org.cbioportal.web.parameter.GroupFilter; -import org.cbioportal.web.parameter.SampleIdentifier; +import org.cbioportal.webparam.Group; +import org.cbioportal.webparam.GroupFilter; +import org.cbioportal.webparam.SampleIdentifier; import org.cbioportal.web.util.ClinicalDataEnrichmentUtil; import org.hamcrest.Matchers; import org.junit.Before; diff --git a/web/src/test/java/org/cbioportal/web/ClinicalEventControllerTest.java b/web/src/test/java/org/cbioportal/web/ClinicalEventControllerTest.java index 4a433c8fd69..0df4eebbc3e 100644 --- a/web/src/test/java/org/cbioportal/web/ClinicalEventControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/ClinicalEventControllerTest.java @@ -4,7 +4,7 @@ import org.cbioportal.model.ClinicalEventData; import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.ClinicalEventService; -import org.cbioportal.web.parameter.HeaderKeyConstants; +import org.cbioportal.webparam.HeaderKeyConstants; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/CoExpressionControllerTest.java b/web/src/test/java/org/cbioportal/web/CoExpressionControllerTest.java index 66a191ab3e9..c290153d7a7 100644 --- a/web/src/test/java/org/cbioportal/web/CoExpressionControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/CoExpressionControllerTest.java @@ -4,7 +4,7 @@ import org.cbioportal.model.CoExpression; import org.cbioportal.model.EntityType; import org.cbioportal.service.CoExpressionService; -import org.cbioportal.web.parameter.CoExpressionFilter; +import org.cbioportal.webparam.CoExpressionFilter; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/CopyNumberSegmentControllerTest.java b/web/src/test/java/org/cbioportal/web/CopyNumberSegmentControllerTest.java index 5664fe09cf8..3d914bcfbfc 100644 --- a/web/src/test/java/org/cbioportal/web/CopyNumberSegmentControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/CopyNumberSegmentControllerTest.java @@ -4,8 +4,8 @@ import org.cbioportal.model.CopyNumberSeg; import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.CopyNumberSegmentService; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.SampleIdentifier; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.SampleIdentifier; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/DiscreteCopyNumberControllerTest.java b/web/src/test/java/org/cbioportal/web/DiscreteCopyNumberControllerTest.java index da53f3137dd..a5f9fbf0830 100644 --- a/web/src/test/java/org/cbioportal/web/DiscreteCopyNumberControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/DiscreteCopyNumberControllerTest.java @@ -6,10 +6,10 @@ import org.cbioportal.model.Gene; import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.DiscreteCopyNumberService; -import org.cbioportal.web.parameter.CopyNumberCountIdentifier; -import org.cbioportal.web.parameter.DiscreteCopyNumberEventType; -import org.cbioportal.web.parameter.DiscreteCopyNumberFilter; -import org.cbioportal.web.parameter.HeaderKeyConstants; +import org.cbioportal.webparam.CopyNumberCountIdentifier; +import org.cbioportal.webparam.DiscreteCopyNumberEventType; +import org.cbioportal.webparam.DiscreteCopyNumberFilter; +import org.cbioportal.webparam.HeaderKeyConstants; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/GeneControllerTest.java b/web/src/test/java/org/cbioportal/web/GeneControllerTest.java index b7699c3b917..e071d0b4d06 100644 --- a/web/src/test/java/org/cbioportal/web/GeneControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/GeneControllerTest.java @@ -5,7 +5,7 @@ import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.GeneService; import org.cbioportal.service.exception.GeneNotFoundException; -import org.cbioportal.web.parameter.HeaderKeyConstants; +import org.cbioportal.webparam.HeaderKeyConstants; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/GenePanelControllerTest.java b/web/src/test/java/org/cbioportal/web/GenePanelControllerTest.java index bc30903590c..c36c106294e 100644 --- a/web/src/test/java/org/cbioportal/web/GenePanelControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/GenePanelControllerTest.java @@ -7,10 +7,10 @@ import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.GenePanelService; import org.cbioportal.service.exception.GenePanelNotFoundException; -import org.cbioportal.web.parameter.GenePanelDataFilter; -import org.cbioportal.web.parameter.GenePanelDataMultipleStudyFilter; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.SampleMolecularIdentifier; +import org.cbioportal.webparam.GenePanelDataFilter; +import org.cbioportal.webparam.GenePanelDataMultipleStudyFilter; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.SampleMolecularIdentifier; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/GenePanelDataControllerTest.java b/web/src/test/java/org/cbioportal/web/GenePanelDataControllerTest.java index a2ded39c3ae..dfe00d527b4 100644 --- a/web/src/test/java/org/cbioportal/web/GenePanelDataControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/GenePanelDataControllerTest.java @@ -7,10 +7,10 @@ import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.GenePanelService; import org.cbioportal.service.exception.GenePanelNotFoundException; -import org.cbioportal.web.parameter.GenePanelDataFilter; -import org.cbioportal.web.parameter.GenePanelDataMultipleStudyFilter; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.SampleMolecularIdentifier; +import org.cbioportal.webparam.GenePanelDataFilter; +import org.cbioportal.webparam.GenePanelDataMultipleStudyFilter; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.SampleMolecularIdentifier; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/GenericAssayControllerTest.java b/web/src/test/java/org/cbioportal/web/GenericAssayControllerTest.java index c8bf31069ae..b3179fa2c05 100644 --- a/web/src/test/java/org/cbioportal/web/GenericAssayControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/GenericAssayControllerTest.java @@ -10,10 +10,10 @@ import org.cbioportal.model.GenericAssayData; import org.cbioportal.model.meta.GenericAssayMeta; import org.cbioportal.service.GenericAssayService; -import org.cbioportal.web.parameter.GenericAssayFilter; -import org.cbioportal.web.parameter.GenericAssayDataMultipleStudyFilter; -import org.cbioportal.web.parameter.GenericAssayMetaFilter; -import org.cbioportal.web.parameter.SampleMolecularIdentifier; +import org.cbioportal.webparam.GenericAssayFilter; +import org.cbioportal.webparam.GenericAssayDataMultipleStudyFilter; +import org.cbioportal.webparam.GenericAssayMetaFilter; +import org.cbioportal.webparam.SampleMolecularIdentifier; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/GenericAssayDataControllerTest.java b/web/src/test/java/org/cbioportal/web/GenericAssayDataControllerTest.java index 20dedf7ebfa..c55262add8b 100644 --- a/web/src/test/java/org/cbioportal/web/GenericAssayDataControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/GenericAssayDataControllerTest.java @@ -4,10 +4,10 @@ import org.cbioportal.model.GenericAssayData; import org.cbioportal.model.meta.GenericAssayMeta; import org.cbioportal.service.GenericAssayService; -import org.cbioportal.web.parameter.GenericAssayDataMultipleStudyFilter; -import org.cbioportal.web.parameter.GenericAssayFilter; -import org.cbioportal.web.parameter.GenericAssayMetaFilter; -import org.cbioportal.web.parameter.SampleMolecularIdentifier; +import org.cbioportal.webparam.GenericAssayDataMultipleStudyFilter; +import org.cbioportal.webparam.GenericAssayFilter; +import org.cbioportal.webparam.GenericAssayMetaFilter; +import org.cbioportal.webparam.SampleMolecularIdentifier; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/GenesetDataControllerTest.java b/web/src/test/java/org/cbioportal/web/GenesetDataControllerTest.java index b47287a62fb..d9d55c29eef 100644 --- a/web/src/test/java/org/cbioportal/web/GenesetDataControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/GenesetDataControllerTest.java @@ -6,7 +6,7 @@ import org.cbioportal.model.GenesetMolecularData; import org.cbioportal.service.GenesetDataService; -import org.cbioportal.web.parameter.GenesetDataFilterCriteria; +import org.cbioportal.webparam.GenesetDataFilterCriteria; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/MolecularDataControllerTest.java b/web/src/test/java/org/cbioportal/web/MolecularDataControllerTest.java index 1500e9eb0c1..18dda3f666f 100644 --- a/web/src/test/java/org/cbioportal/web/MolecularDataControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/MolecularDataControllerTest.java @@ -3,9 +3,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.cbioportal.model.GeneMolecularData; import org.cbioportal.service.MolecularDataService; -import org.cbioportal.web.parameter.MolecularDataFilter; -import org.cbioportal.web.parameter.MolecularDataMultipleStudyFilter; -import org.cbioportal.web.parameter.HeaderKeyConstants; +import org.cbioportal.webparam.MolecularDataFilter; +import org.cbioportal.webparam.MolecularDataMultipleStudyFilter; +import org.cbioportal.webparam.HeaderKeyConstants; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/MolecularProfileControllerTest.java b/web/src/test/java/org/cbioportal/web/MolecularProfileControllerTest.java index 59bf4435b4e..4924ce8aac1 100644 --- a/web/src/test/java/org/cbioportal/web/MolecularProfileControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/MolecularProfileControllerTest.java @@ -5,8 +5,8 @@ import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.MolecularProfileService; import org.cbioportal.service.exception.MolecularProfileNotFoundException; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.MolecularProfileFilter; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.MolecularProfileFilter; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/MutationControllerTest.java b/web/src/test/java/org/cbioportal/web/MutationControllerTest.java index da622a1c6fc..b5412e31314 100644 --- a/web/src/test/java/org/cbioportal/web/MutationControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/MutationControllerTest.java @@ -7,11 +7,11 @@ import org.cbioportal.model.MutationCountByPosition; import org.cbioportal.model.meta.MutationMeta; import org.cbioportal.service.MutationService; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.MutationFilter; -import org.cbioportal.web.parameter.MutationMultipleStudyFilter; -import org.cbioportal.web.parameter.MutationPositionIdentifier; -import org.cbioportal.web.parameter.SampleMolecularIdentifier; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.MutationFilter; +import org.cbioportal.webparam.MutationMultipleStudyFilter; +import org.cbioportal.webparam.MutationPositionIdentifier; +import org.cbioportal.webparam.SampleMolecularIdentifier; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/MutationSpectrumControllerTest.java b/web/src/test/java/org/cbioportal/web/MutationSpectrumControllerTest.java index 94f339ef359..a0f5e4d6c1f 100644 --- a/web/src/test/java/org/cbioportal/web/MutationSpectrumControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/MutationSpectrumControllerTest.java @@ -3,7 +3,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.cbioportal.model.MutationSpectrum; import org.cbioportal.service.MutationSpectrumService; -import org.cbioportal.web.parameter.MutationSpectrumFilter; +import org.cbioportal.webparam.MutationSpectrumFilter; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/PatientControllerTest.java b/web/src/test/java/org/cbioportal/web/PatientControllerTest.java index b5cb3f5b126..a6696dbcb2e 100644 --- a/web/src/test/java/org/cbioportal/web/PatientControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/PatientControllerTest.java @@ -6,9 +6,9 @@ import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.PatientService; import org.cbioportal.service.exception.PatientNotFoundException; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.PatientFilter; -import org.cbioportal.web.parameter.PatientIdentifier; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.PatientFilter; +import org.cbioportal.webparam.PatientIdentifier; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/SampleControllerTest.java b/web/src/test/java/org/cbioportal/web/SampleControllerTest.java index 9c1d64670cd..537c7b9d0db 100644 --- a/web/src/test/java/org/cbioportal/web/SampleControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/SampleControllerTest.java @@ -5,9 +5,9 @@ import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.SampleService; import org.cbioportal.service.exception.SampleNotFoundException; -import org.cbioportal.web.parameter.HeaderKeyConstants; -import org.cbioportal.web.parameter.SampleFilter; -import org.cbioportal.web.parameter.SampleIdentifier; +import org.cbioportal.webparam.HeaderKeyConstants; +import org.cbioportal.webparam.SampleFilter; +import org.cbioportal.webparam.SampleIdentifier; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/SampleListControllerTest.java b/web/src/test/java/org/cbioportal/web/SampleListControllerTest.java index 3f096b14121..c0d163cd16f 100644 --- a/web/src/test/java/org/cbioportal/web/SampleListControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/SampleListControllerTest.java @@ -5,7 +5,7 @@ import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.SampleListService; import org.cbioportal.service.exception.SampleListNotFoundException; -import org.cbioportal.web.parameter.HeaderKeyConstants; +import org.cbioportal.webparam.HeaderKeyConstants; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/SignificantCopyNumberRegionControllerTest.java b/web/src/test/java/org/cbioportal/web/SignificantCopyNumberRegionControllerTest.java index 23b176d406b..7e42c016e23 100644 --- a/web/src/test/java/org/cbioportal/web/SignificantCopyNumberRegionControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/SignificantCopyNumberRegionControllerTest.java @@ -4,7 +4,7 @@ import org.cbioportal.model.GisticToGene; import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.SignificantCopyNumberRegionService; -import org.cbioportal.web.parameter.HeaderKeyConstants; +import org.cbioportal.webparam.HeaderKeyConstants; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/SignificantlyMutatedGenesControllerTest.java b/web/src/test/java/org/cbioportal/web/SignificantlyMutatedGenesControllerTest.java index 3685221e0a7..13e96ed050e 100644 --- a/web/src/test/java/org/cbioportal/web/SignificantlyMutatedGenesControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/SignificantlyMutatedGenesControllerTest.java @@ -3,7 +3,7 @@ import org.cbioportal.model.MutSig; import org.cbioportal.model.meta.BaseMeta; import org.cbioportal.service.SignificantlyMutatedGeneService; -import org.cbioportal.web.parameter.HeaderKeyConstants; +import org.cbioportal.webparam.HeaderKeyConstants; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/StructuralVariantControllerTest.java b/web/src/test/java/org/cbioportal/web/StructuralVariantControllerTest.java index a8312d07817..47f1ede5b42 100644 --- a/web/src/test/java/org/cbioportal/web/StructuralVariantControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/StructuralVariantControllerTest.java @@ -32,8 +32,8 @@ import org.cbioportal.model.StructuralVariantQuery; import org.cbioportal.model.StructuralVariantSpecialValue; import org.cbioportal.service.StructuralVariantService; -import org.cbioportal.web.parameter.SampleMolecularIdentifier; -import org.cbioportal.web.parameter.StructuralVariantFilter; +import org.cbioportal.webparam.SampleMolecularIdentifier; +import org.cbioportal.webparam.StructuralVariantFilter; import com.fasterxml.jackson.databind.ObjectMapper; import org.hamcrest.Matchers; diff --git a/web/src/test/java/org/cbioportal/web/StudyControllerTest.java b/web/src/test/java/org/cbioportal/web/StudyControllerTest.java index b8dcf795ecf..80fdeb19aa3 100644 --- a/web/src/test/java/org/cbioportal/web/StudyControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/StudyControllerTest.java @@ -7,7 +7,7 @@ import org.cbioportal.service.StudyService; import org.cbioportal.service.exception.StudyNotFoundException; import org.cbioportal.utils.security.AccessLevel; -import org.cbioportal.web.parameter.HeaderKeyConstants; +import org.cbioportal.webparam.HeaderKeyConstants; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/StudyViewControllerTest.java b/web/src/test/java/org/cbioportal/web/StudyViewControllerTest.java index 098107b2501..22af9e9c181 100644 --- a/web/src/test/java/org/cbioportal/web/StudyViewControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/StudyViewControllerTest.java @@ -6,7 +6,7 @@ import org.cbioportal.service.*; import org.cbioportal.service.util.MolecularProfileUtil; import org.cbioportal.web.config.CustomObjectMapper; -import org.cbioportal.web.parameter.*; +import org.cbioportal.webparam.*; import org.cbioportal.web.util.StudyViewFilterApplier; import org.junit.Before; import org.junit.Ignore; diff --git a/web/src/test/java/org/cbioportal/web/TreatmentControllerTest.java b/web/src/test/java/org/cbioportal/web/TreatmentControllerTest.java index ac437d90c7e..330a669dc49 100644 --- a/web/src/test/java/org/cbioportal/web/TreatmentControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/TreatmentControllerTest.java @@ -7,8 +7,8 @@ import org.cbioportal.model.SampleTreatmentRow; import org.cbioportal.model.TemporalRelation; import org.cbioportal.service.TreatmentService; -import org.cbioportal.web.parameter.SampleIdentifier; -import org.cbioportal.web.parameter.StudyViewFilter; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.StudyViewFilter; import org.cbioportal.web.util.StudyViewFilterApplier; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/VariantCountControllerTest.java b/web/src/test/java/org/cbioportal/web/VariantCountControllerTest.java index 54da683a08a..20bd6ac00a4 100644 --- a/web/src/test/java/org/cbioportal/web/VariantCountControllerTest.java +++ b/web/src/test/java/org/cbioportal/web/VariantCountControllerTest.java @@ -3,7 +3,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.cbioportal.model.VariantCount; import org.cbioportal.service.VariantCountService; -import org.cbioportal.web.parameter.VariantCountIdentifier; +import org.cbioportal.webparam.VariantCountIdentifier; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/util/ClinicalDataBinUtilTest.java b/web/src/test/java/org/cbioportal/web/util/ClinicalDataBinUtilTest.java index 6e1284bd73c..8c56af4ba6e 100644 --- a/web/src/test/java/org/cbioportal/web/util/ClinicalDataBinUtilTest.java +++ b/web/src/test/java/org/cbioportal/web/util/ClinicalDataBinUtilTest.java @@ -7,7 +7,7 @@ import org.cbioportal.service.ClinicalAttributeService; import org.cbioportal.service.PatientService; import org.cbioportal.service.util.ClinicalAttributeUtil; -import org.cbioportal.web.parameter.*; +import org.cbioportal.webparam.*; import org.junit.Assert; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/util/DataBinnerTest.java b/web/src/test/java/org/cbioportal/web/util/DataBinnerTest.java index 47f39a1a280..a199d992234 100644 --- a/web/src/test/java/org/cbioportal/web/util/DataBinnerTest.java +++ b/web/src/test/java/org/cbioportal/web/util/DataBinnerTest.java @@ -1,14 +1,12 @@ package org.cbioportal.web.util; -import static org.cbioportal.web.parameter.DataBinFilter.*; - - import java.util.stream.IntStream; import org.cbioportal.model.ClinicalData; import org.cbioportal.model.DataBin; -import org.cbioportal.web.parameter.BinsGeneratorConfig; -import org.cbioportal.web.parameter.ClinicalDataBinFilter; -import org.cbioportal.web.parameter.ClinicalDataType; +import org.cbioportal.webparam.BinsGeneratorConfig; +import org.cbioportal.webparam.ClinicalDataBinFilter; +import org.cbioportal.webparam.ClinicalDataType; +import org.cbioportal.webparam.DataBinFilter; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -242,7 +240,7 @@ public void testLinearDataBinnerWithRangeAndCustomBins() { clinicalDataBinFilter.setAttributeId(attributeId); clinicalDataBinFilter.setStart(new BigDecimal("39.5")); clinicalDataBinFilter.setEnd(new BigDecimal("81.5")); - clinicalDataBinFilter.setBinMethod(BinMethod.CUSTOM); + clinicalDataBinFilter.setBinMethod(DataBinFilter.BinMethod.CUSTOM); clinicalDataBinFilter.setCustomBins(Arrays.asList(50.0, 60.0, 70.0).stream().map(item -> BigDecimal.valueOf(item)).collect(Collectors.toList())); List clinicalData = mockClinicalData(attributeId, studyId, values); @@ -438,7 +436,7 @@ public void testLinearDataBinnerWithAgeAtWhichSequencingWasReported() { ClinicalDataBinFilter clinicalDataBinFilter = new ClinicalDataBinFilter(); clinicalDataBinFilter.setAttributeId(attributeId); - clinicalDataBinFilter.setBinMethod(BinMethod.CUSTOM); + clinicalDataBinFilter.setBinMethod(DataBinFilter.BinMethod.CUSTOM); clinicalDataBinFilter.setCustomBins( Stream.of(45.0, 60.0, 70.0).map(BigDecimal::valueOf).collect(Collectors.toList()) ); @@ -527,7 +525,7 @@ public void testLinearDataBinnerWithPediatricAge() { }; ClinicalDataBinFilter clinicalDataBinFilter = new ClinicalDataBinFilter(); clinicalDataBinFilter.setAttributeId(attributeId); - clinicalDataBinFilter.setBinMethod(BinMethod.CUSTOM); + clinicalDataBinFilter.setBinMethod(DataBinFilter.BinMethod.CUSTOM); clinicalDataBinFilter.setCustomBins(Arrays.asList(18.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0).stream().map(item -> BigDecimal.valueOf(item)).collect(Collectors.toList())); List clinicalData = mockClinicalData(attributeId, studyId, values); @@ -588,7 +586,7 @@ public void testLinearDataBinnerWithPediatricAgeCustomBinsTest1() { }; ClinicalDataBinFilter clinicalDataBinFilter = new ClinicalDataBinFilter(); clinicalDataBinFilter.setAttributeId(attributeId); - clinicalDataBinFilter.setBinMethod(BinMethod.CUSTOM); + clinicalDataBinFilter.setBinMethod(DataBinFilter.BinMethod.CUSTOM); clinicalDataBinFilter.setCustomBins(Arrays.asList(18.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0).stream().map(item -> BigDecimal.valueOf(item)).collect(Collectors.toList())); List clinicalData = mockClinicalData(attributeId, studyId, values); @@ -623,7 +621,7 @@ public void testLinearDataBinnerWithPediatricAgeCustomBinsTest2() { }; ClinicalDataBinFilter clinicalDataBinFilter = new ClinicalDataBinFilter(); clinicalDataBinFilter.setAttributeId(attributeId); - clinicalDataBinFilter.setBinMethod(BinMethod.CUSTOM); + clinicalDataBinFilter.setBinMethod(DataBinFilter.BinMethod.CUSTOM); clinicalDataBinFilter.setCustomBins(Arrays.asList(18.0, 25.0, 30.0, 35.0).stream().map(item -> BigDecimal.valueOf(item)).collect(Collectors.toList())); List clinicalData = mockClinicalData(attributeId, studyId, values); @@ -655,7 +653,7 @@ public void testLinearDataBinnerWithPediatricAgeCustomBinsSingleBoundary() { }; ClinicalDataBinFilter clinicalDataBinFilter = new ClinicalDataBinFilter(); clinicalDataBinFilter.setAttributeId(attributeId); - clinicalDataBinFilter.setBinMethod(BinMethod.CUSTOM); + clinicalDataBinFilter.setBinMethod(DataBinFilter.BinMethod.CUSTOM); clinicalDataBinFilter.setCustomBins(Arrays.asList(30.0).stream().map(item -> BigDecimal.valueOf(item)).collect(Collectors.toList())); List clinicalData = mockClinicalData(attributeId, studyId, values); @@ -685,7 +683,7 @@ public void testLinearDataBinnerWithPediatricAgeCustomBinsTwoBoundaries() { }; ClinicalDataBinFilter clinicalDataBinFilter = new ClinicalDataBinFilter(); clinicalDataBinFilter.setAttributeId(attributeId); - clinicalDataBinFilter.setBinMethod(BinMethod.CUSTOM); + clinicalDataBinFilter.setBinMethod(DataBinFilter.BinMethod.CUSTOM); clinicalDataBinFilter.setCustomBins(Arrays.asList(20.0, 50.0).stream().map(item -> BigDecimal.valueOf(item)).collect(Collectors.toList())); List clinicalData = mockClinicalData(attributeId, studyId, values); @@ -716,7 +714,7 @@ public void testLinearDataBinnerWithPediatricAgeGenerateBins() { ClinicalDataBinFilter clinicalDataBinFilter = new ClinicalDataBinFilter(); clinicalDataBinFilter.setAttributeId(attributeId); - clinicalDataBinFilter.setBinMethod(BinMethod.GENERATE); + clinicalDataBinFilter.setBinMethod(DataBinFilter.BinMethod.GENERATE); BinsGeneratorConfig generateBins = new BinsGeneratorConfig(); generateBins.setBinSize(new BigDecimal(10)); generateBins.setAnchorValue(new BigDecimal(50)); @@ -754,7 +752,7 @@ public void testLinearDataBinnerWithPediatricAgeMedianBins() { ClinicalDataBinFilter clinicalDataBinFilter = new ClinicalDataBinFilter(); clinicalDataBinFilter.setAttributeId(attributeId); - clinicalDataBinFilter.setBinMethod(BinMethod.MEDIAN); + clinicalDataBinFilter.setBinMethod(DataBinFilter.BinMethod.MEDIAN); List clinicalData = mockClinicalData(attributeId, studyId, values); List patientIds = getCaseIds(clinicalData, true); @@ -782,7 +780,7 @@ public void testLinearDataBinnerWithPediatricAgeQuartileBins() { ClinicalDataBinFilter clinicalDataBinFilter = new ClinicalDataBinFilter(); clinicalDataBinFilter.setAttributeId(attributeId); - clinicalDataBinFilter.setBinMethod(BinMethod.QUARTILE); + clinicalDataBinFilter.setBinMethod(DataBinFilter.BinMethod.QUARTILE); List clinicalData = mockClinicalData(attributeId, studyId, values); List patientIds = getCaseIds(clinicalData, true); @@ -809,7 +807,7 @@ public void testLinearDataBinnerQuartileBinsLowComplexitySeriesQ1Q2Q3Identical() ClinicalDataBinFilter clinicalDataBinFilter = new ClinicalDataBinFilter(); clinicalDataBinFilter.setAttributeId(attributeId); - clinicalDataBinFilter.setBinMethod(BinMethod.QUARTILE); + clinicalDataBinFilter.setBinMethod(DataBinFilter.BinMethod.QUARTILE); List clinicalData = mockClinicalData(attributeId, studyId, values); List patientIds = getCaseIds(clinicalData, true); @@ -831,7 +829,7 @@ public void testLinearDataBinnerQuartileBinsLowComplexitySeriesQ2Q3Identical() { ClinicalDataBinFilter clinicalDataBinFilter = new ClinicalDataBinFilter(); clinicalDataBinFilter.setAttributeId(attributeId); - clinicalDataBinFilter.setBinMethod(BinMethod.QUARTILE); + clinicalDataBinFilter.setBinMethod(DataBinFilter.BinMethod.QUARTILE); List clinicalData = mockClinicalData(attributeId, studyId, values); List patientIds = getCaseIds(clinicalData, true); @@ -876,7 +874,7 @@ public void testLinearDataBinnerWithPredefinedAttribute() { String[] values = mockData.get("crc_msk_2018_MSI_SCORE"); ClinicalDataBinFilter clinicalDataBinFilter = new ClinicalDataBinFilter(); clinicalDataBinFilter.setAttributeId(attributeId); - clinicalDataBinFilter.setBinMethod(BinMethod.CUSTOM); + clinicalDataBinFilter.setBinMethod(DataBinFilter.BinMethod.CUSTOM); clinicalDataBinFilter.setCustomBins(Arrays.asList(1.0, 2.0, 5.0, 10.0, 30.0).stream().map(item -> BigDecimal.valueOf(item)).collect(Collectors.toList())); List clinicalData = mockClinicalData(attributeId, studyId, values); diff --git a/web/src/test/java/org/cbioportal/web/util/StudyViewFilterApplierTest.java b/web/src/test/java/org/cbioportal/web/util/StudyViewFilterApplierTest.java index 82e4dd97c6f..7a43d2d5233 100644 --- a/web/src/test/java/org/cbioportal/web/util/StudyViewFilterApplierTest.java +++ b/web/src/test/java/org/cbioportal/web/util/StudyViewFilterApplierTest.java @@ -17,14 +17,15 @@ import org.cbioportal.service.SampleService; import org.cbioportal.service.StructuralVariantService; import org.cbioportal.service.util.MolecularProfileUtil; -import org.cbioportal.web.parameter.ClinicalDataFilter; -import org.cbioportal.web.parameter.DataFilterValue; -import org.cbioportal.web.parameter.GeneIdType; -import org.cbioportal.web.parameter.GenericAssayDataFilter; -import org.cbioportal.web.parameter.Projection; -import org.cbioportal.web.parameter.SampleIdentifier; -import org.cbioportal.web.parameter.StudyViewFilter; -import org.cbioportal.web.util.appliers.*; +import org.cbioportal.webparam.ClinicalDataFilter; +import org.cbioportal.webparam.DataFilterValue; +import org.cbioportal.webparam.GeneFilterQuery; +import org.cbioportal.webparam.GeneIdType; +import org.cbioportal.webparam.GenericAssayDataFilter; +import org.cbioportal.webparam.Projection; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.StudyViewFilter; +import org.cbioportal.webparam.StudyViewGeneFilter; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -35,12 +36,9 @@ import org.mockito.MockitoAnnotations; import org.mockito.Spy; import org.mockito.junit.MockitoJUnitRunner; -import org.springframework.context.ApplicationContext; import java.math.BigDecimal; import java.util.*; -import java.util.function.Function; -import java.util.stream.Collectors; import static org.mockito.ArgumentMatchers.*; @@ -187,9 +185,9 @@ public void apply() throws Exception { boolean includeUnknownStatus = true; Select selectedTiers = Select.none(); boolean includeUnknownTier = true; - List geneFilters = new ArrayList<>(); - GeneFilter mutationGeneFilter = new GeneFilter(); - mutationGeneFilter.setMolecularProfileIds(new HashSet<>(Arrays.asList(MOLECULAR_PROFILE_ID_1))); + List studyViewGeneFilters = new ArrayList<>(); + StudyViewGeneFilter mutationStudyViewGeneFilter = new StudyViewGeneFilter(); + mutationStudyViewGeneFilter.setMolecularProfileIds(new HashSet<>(Arrays.asList(MOLECULAR_PROFILE_ID_1))); GeneFilterQuery geneFilterQuery1 = new GeneFilterQuery("HUGO_GENE_SYMBOL_1", null, null, includeDriver, includeVUS, includeUnknownOncogenicity, selectedTiers, includeUnknownTier, @@ -198,10 +196,10 @@ public void apply() throws Exception { List q2 = new ArrayList<>(); q2.add(geneFilterQuery1); q1.add(q2); - mutationGeneFilter.setGeneQueries(q1); + mutationStudyViewGeneFilter.setGeneQueries(q1); - GeneFilter copyNumberGeneFilter = new GeneFilter(); - copyNumberGeneFilter.setMolecularProfileIds(new HashSet<>(Arrays.asList(MOLECULAR_PROFILE_ID_2))); + StudyViewGeneFilter copyNumberStudyViewGeneFilter = new StudyViewGeneFilter(); + copyNumberStudyViewGeneFilter.setMolecularProfileIds(new HashSet<>(Arrays.asList(MOLECULAR_PROFILE_ID_2))); GeneFilterQuery geneFilterQuery2 = new GeneFilterQuery("HUGO_GENE_SYMBOL_2", null, Arrays.asList(CNA.HOMDEL), includeDriver, includeVUS, includeUnknownOncogenicity, selectedTiers, includeUnknownTier,includeGermline, includeSomatic, includeUnknownStatus); @@ -209,11 +207,11 @@ public void apply() throws Exception { List q4 = new ArrayList<>(); q4.add(geneFilterQuery2); q3.add(q4); - copyNumberGeneFilter.setGeneQueries(q3); + copyNumberStudyViewGeneFilter.setGeneQueries(q3); - geneFilters.add(mutationGeneFilter); - geneFilters.add(copyNumberGeneFilter); - studyViewFilter.setGeneFilters(geneFilters); + studyViewGeneFilters.add(mutationStudyViewGeneFilter); + studyViewGeneFilters.add(copyNumberStudyViewGeneFilter); + studyViewFilter.setGeneFilters(studyViewGeneFilters); List samples = new ArrayList<>(); Sample sample1 = new Sample(); diff --git a/web/src/test/java/org/cbioportal/web/util/appliers/PatientTreatmentFilterApplierTest.java b/web/src/test/java/org/cbioportal/web/util/appliers/PatientTreatmentFilterApplierTest.java index f722aa2f96c..088f99673b6 100644 --- a/web/src/test/java/org/cbioportal/web/util/appliers/PatientTreatmentFilterApplierTest.java +++ b/web/src/test/java/org/cbioportal/web/util/appliers/PatientTreatmentFilterApplierTest.java @@ -10,11 +10,11 @@ import org.cbioportal.model.ClinicalEventSample; import org.cbioportal.model.PatientTreatmentRow; import org.cbioportal.service.TreatmentService; -import org.cbioportal.web.parameter.SampleIdentifier; -import org.cbioportal.web.parameter.StudyViewFilter; -import org.cbioportal.web.parameter.filter.AndedPatientTreatmentFilters; -import org.cbioportal.web.parameter.filter.OredPatientTreatmentFilters; -import org.cbioportal.web.parameter.filter.PatientTreatmentFilter; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.StudyViewFilter; +import org.cbioportal.webparam.filter.AndedPatientTreatmentFilters; +import org.cbioportal.webparam.filter.OredPatientTreatmentFilters; +import org.cbioportal.webparam.filter.PatientTreatmentFilter; import org.junit.Assert; import org.junit.Before; import org.junit.Test; diff --git a/web/src/test/java/org/cbioportal/web/util/appliers/SampleTreatmentFilterApplierTest.java b/web/src/test/java/org/cbioportal/web/util/appliers/SampleTreatmentFilterApplierTest.java index 2c3f9cddada..708e8204536 100644 --- a/web/src/test/java/org/cbioportal/web/util/appliers/SampleTreatmentFilterApplierTest.java +++ b/web/src/test/java/org/cbioportal/web/util/appliers/SampleTreatmentFilterApplierTest.java @@ -4,11 +4,11 @@ import org.cbioportal.model.SampleTreatmentRow; import org.cbioportal.model.TemporalRelation; import org.cbioportal.service.TreatmentService; -import org.cbioportal.web.parameter.SampleIdentifier; -import org.cbioportal.web.parameter.StudyViewFilter; -import org.cbioportal.web.parameter.filter.AndedSampleTreatmentFilters; -import org.cbioportal.web.parameter.filter.OredSampleTreatmentFilters; -import org.cbioportal.web.parameter.filter.SampleTreatmentFilter; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.StudyViewFilter; +import org.cbioportal.webparam.filter.AndedSampleTreatmentFilters; +import org.cbioportal.webparam.filter.OredSampleTreatmentFilters; +import org.cbioportal.webparam.filter.SampleTreatmentFilter; import org.junit.Assert; import org.junit.Before; import org.junit.Test; diff --git a/webparam/pom.xml b/webparam/pom.xml new file mode 100644 index 00000000000..38b7bd8b172 --- /dev/null +++ b/webparam/pom.xml @@ -0,0 +1,53 @@ + + 4.0.0 + + org.mskcc.cbio + master + 0-unknown-version-SNAPSHOT + + + webparam + + + com.fasterxml.jackson.core + jackson-annotations + + + com.github.cbioportal + session-service + model + + + org.apache.logging.log4j + log4j-to-slf4j + + + ch.qos.logback + logback-classic + + + spring-boot-starter-web + org.springframework.boot + + + spring-boot-starter-data-mongodb + org.springframework.boot + + + + + com.fasterxml.jackson.core + jackson-databind + + + org.apache.commons + commons-collections4 + + + org.mskcc.cbio + model + + + + diff --git a/web/src/main/java/org/cbioportal/web/parameter/BinsGeneratorConfig.java b/webparam/src/main/java/org/cbioportal/webparam/BinsGeneratorConfig.java similarity index 92% rename from web/src/main/java/org/cbioportal/web/parameter/BinsGeneratorConfig.java rename to webparam/src/main/java/org/cbioportal/webparam/BinsGeneratorConfig.java index 78b0de399e4..02c0482c6ff 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/BinsGeneratorConfig.java +++ b/webparam/src/main/java/org/cbioportal/webparam/BinsGeneratorConfig.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.math.BigDecimal; diff --git a/web/src/main/java/org/cbioportal/web/parameter/ClinicalAttributeCountFilter.java b/webparam/src/main/java/org/cbioportal/webparam/ClinicalAttributeCountFilter.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/ClinicalAttributeCountFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/ClinicalAttributeCountFilter.java index 8bf16750665..6f2590566a4 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/ClinicalAttributeCountFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/ClinicalAttributeCountFilter.java @@ -1,9 +1,9 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.Size; -import java.util.List; import java.io.Serializable; +import java.util.List; public class ClinicalAttributeCountFilter implements Serializable { diff --git a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataBinCountFilter.java b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataBinCountFilter.java similarity index 91% rename from web/src/main/java/org/cbioportal/web/parameter/ClinicalDataBinCountFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/ClinicalDataBinCountFilter.java index 565b7286556..85217bb47e9 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataBinCountFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataBinCountFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; import java.util.List; diff --git a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataBinFilter.java b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataBinFilter.java similarity index 91% rename from web/src/main/java/org/cbioportal/web/parameter/ClinicalDataBinFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/ClinicalDataBinFilter.java index 4df9e8add07..bc95d10b035 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataBinFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataBinFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; diff --git a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataCountFilter.java b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataCountFilter.java similarity index 94% rename from web/src/main/java/org/cbioportal/web/parameter/ClinicalDataCountFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/ClinicalDataCountFilter.java index 66679896da5..3d321c4ac38 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataCountFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataCountFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; import java.util.List; diff --git a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataFilter.java b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataFilter.java similarity index 83% rename from web/src/main/java/org/cbioportal/web/parameter/ClinicalDataFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/ClinicalDataFilter.java index fc9d2bffbf0..f0f556cce9e 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataFilter.java @@ -1,7 +1,6 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; -import java.util.List; public class ClinicalDataFilter extends DataFilter implements Serializable { diff --git a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataIdentifier.java b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataIdentifier.java similarity index 92% rename from web/src/main/java/org/cbioportal/web/parameter/ClinicalDataIdentifier.java rename to webparam/src/main/java/org/cbioportal/webparam/ClinicalDataIdentifier.java index 9b015f866b7..e12caebc462 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataIdentifier.java +++ b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataIdentifier.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; diff --git a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataMultiStudyFilter.java b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataMultiStudyFilter.java similarity index 74% rename from web/src/main/java/org/cbioportal/web/parameter/ClinicalDataMultiStudyFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/ClinicalDataMultiStudyFilter.java index 098141b0abf..b70b6ebf149 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataMultiStudyFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataMultiStudyFilter.java @@ -1,16 +1,14 @@ -package org.cbioportal.web.parameter; - -import org.cbioportal.web.ClinicalDataController; +package org.cbioportal.webparam; import javax.validation.constraints.Size; -import java.util.List; import java.io.Serializable; +import java.util.List; -import static org.cbioportal.web.parameter.PagingConstants.MAX_PAGE_SIZE; +import static org.cbioportal.webparam.PagingConstants.MAX_PAGE_SIZE; public class ClinicalDataMultiStudyFilter implements Serializable { - @Size(min = 1, max = ClinicalDataController.CLINICAL_DATA_MAX_PAGE_SIZE) + @Size(min = 1, max = Constants.CLINICAL_DATA_MAX_PAGE_SIZE) private List identifiers; @Size(min = 1, max = MAX_PAGE_SIZE) private List attributeIds; diff --git a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataSingleStudyFilter.java b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataSingleStudyFilter.java similarity index 69% rename from web/src/main/java/org/cbioportal/web/parameter/ClinicalDataSingleStudyFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/ClinicalDataSingleStudyFilter.java index a80fab8a0df..2c1136e449e 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataSingleStudyFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataSingleStudyFilter.java @@ -1,15 +1,14 @@ -package org.cbioportal.web.parameter; - -import org.cbioportal.web.ClinicalDataController; +package org.cbioportal.webparam; import javax.validation.constraints.Size; import java.util.List; -import static org.cbioportal.web.parameter.PagingConstants.MAX_PAGE_SIZE; +import static org.cbioportal.webparam.Constants.CLINICAL_DATA_MAX_PAGE_SIZE; +import static org.cbioportal.webparam.PagingConstants.MAX_PAGE_SIZE; public class ClinicalDataSingleStudyFilter { - @Size(min = 1, max = ClinicalDataController.CLINICAL_DATA_MAX_PAGE_SIZE) + @Size(min = 1, max = CLINICAL_DATA_MAX_PAGE_SIZE) private List ids; @Size(min = 1, max = MAX_PAGE_SIZE) private List attributeIds; diff --git a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataType.java b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataType.java similarity index 60% rename from web/src/main/java/org/cbioportal/web/parameter/ClinicalDataType.java rename to webparam/src/main/java/org/cbioportal/webparam/ClinicalDataType.java index 6f7121c8fb2..23c46605b46 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/ClinicalDataType.java +++ b/webparam/src/main/java/org/cbioportal/webparam/ClinicalDataType.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; public enum ClinicalDataType { SAMPLE, diff --git a/web/src/main/java/org/cbioportal/web/parameter/ClinicalTrackConfig.java b/webparam/src/main/java/org/cbioportal/webparam/ClinicalTrackConfig.java similarity index 94% rename from web/src/main/java/org/cbioportal/web/parameter/ClinicalTrackConfig.java rename to webparam/src/main/java/org/cbioportal/webparam/ClinicalTrackConfig.java index 9683a4b2fbe..1db102f18b0 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/ClinicalTrackConfig.java +++ b/webparam/src/main/java/org/cbioportal/webparam/ClinicalTrackConfig.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/web/src/main/java/org/cbioportal/web/parameter/CoExpressionFilter.java b/webparam/src/main/java/org/cbioportal/webparam/CoExpressionFilter.java similarity index 97% rename from web/src/main/java/org/cbioportal/web/parameter/CoExpressionFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/CoExpressionFilter.java index 9f5f06894c4..f68b663a0d0 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/CoExpressionFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/CoExpressionFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.Size; diff --git a/webparam/src/main/java/org/cbioportal/webparam/Constants.java b/webparam/src/main/java/org/cbioportal/webparam/Constants.java new file mode 100644 index 00000000000..7ce6b4490d1 --- /dev/null +++ b/webparam/src/main/java/org/cbioportal/webparam/Constants.java @@ -0,0 +1,10 @@ +package org.cbioportal.webparam; + +public class Constants { + + + public static final int CLINICAL_DATA_MAX_PAGE_SIZE = 10000000; + public static final String CLINICAL_DATA_DEFAULT_PAGE_SIZE = "10000000"; + public static final String SAMPLE_DEFAULT_PAGE_SIZE = "10000000"; + public static final int SAMPLE_MAX_PAGE_SIZE = 10000000; +} diff --git a/web/src/main/java/org/cbioportal/web/parameter/CopyNumberCountIdentifier.java b/webparam/src/main/java/org/cbioportal/webparam/CopyNumberCountIdentifier.java similarity index 92% rename from web/src/main/java/org/cbioportal/web/parameter/CopyNumberCountIdentifier.java rename to webparam/src/main/java/org/cbioportal/webparam/CopyNumberCountIdentifier.java index 20d14894d2e..c5ec8d27c11 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/CopyNumberCountIdentifier.java +++ b/webparam/src/main/java/org/cbioportal/webparam/CopyNumberCountIdentifier.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; public class CopyNumberCountIdentifier { diff --git a/web/src/main/java/org/cbioportal/web/CustomAttributeWithData.java b/webparam/src/main/java/org/cbioportal/webparam/CustomAttributeWithData.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/CustomAttributeWithData.java rename to webparam/src/main/java/org/cbioportal/webparam/CustomAttributeWithData.java index 657a6424fc1..d0a98e60c59 100644 --- a/web/src/main/java/org/cbioportal/web/CustomAttributeWithData.java +++ b/webparam/src/main/java/org/cbioportal/webparam/CustomAttributeWithData.java @@ -1,4 +1,4 @@ -package org.cbioportal.web; +package org.cbioportal.webparam; import java.io.Serializable; import java.util.HashSet; @@ -7,8 +7,6 @@ import javax.validation.constraints.NotNull; -import org.cbioportal.web.parameter.CustomDataValue; - import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @JsonIgnoreProperties(ignoreUnknown = true) diff --git a/web/src/main/java/org/cbioportal/web/parameter/CustomDataSession.java b/webparam/src/main/java/org/cbioportal/webparam/CustomDataSession.java similarity index 93% rename from web/src/main/java/org/cbioportal/web/parameter/CustomDataSession.java rename to webparam/src/main/java/org/cbioportal/webparam/CustomDataSession.java index 61cb4d32275..c66811ffa8b 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/CustomDataSession.java +++ b/webparam/src/main/java/org/cbioportal/webparam/CustomDataSession.java @@ -1,16 +1,14 @@ -package org.cbioportal.web.parameter; - -import java.io.IOException; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.cbioportal.session_service.domain.Session; -import org.cbioportal.session_service.domain.SessionType; -import org.cbioportal.web.CustomAttributeWithData; +package org.cbioportal.webparam; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.databind.ObjectMapper; +import org.cbioportal.session_service.domain.Session; +import org.cbioportal.session_service.domain.SessionType; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; @JsonIgnoreProperties(ignoreUnknown = true) public class CustomDataSession extends Session { diff --git a/web/src/main/java/org/cbioportal/web/parameter/CustomDataValue.java b/webparam/src/main/java/org/cbioportal/webparam/CustomDataValue.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/CustomDataValue.java rename to webparam/src/main/java/org/cbioportal/webparam/CustomDataValue.java index 57960a551a7..2b7e996810a 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/CustomDataValue.java +++ b/webparam/src/main/java/org/cbioportal/webparam/CustomDataValue.java @@ -1,10 +1,9 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; -import java.io.Serializable; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import javax.validation.constraints.NotNull; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import java.io.Serializable; @JsonIgnoreProperties(ignoreUnknown = true) public class CustomDataValue implements Serializable { diff --git a/web/src/main/java/org/cbioportal/web/parameter/CustomGeneList.java b/webparam/src/main/java/org/cbioportal/webparam/CustomGeneList.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/CustomGeneList.java rename to webparam/src/main/java/org/cbioportal/webparam/CustomGeneList.java index 5dd85d5d964..a1923e9f480 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/CustomGeneList.java +++ b/webparam/src/main/java/org/cbioportal/webparam/CustomGeneList.java @@ -1,12 +1,12 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.databind.ObjectMapper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.cbioportal.session_service.domain.Session; import org.cbioportal.session_service.domain.SessionType; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.IOException; diff --git a/web/src/main/java/org/cbioportal/web/parameter/CustomGeneListData.java b/webparam/src/main/java/org/cbioportal/webparam/CustomGeneListData.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/CustomGeneListData.java rename to webparam/src/main/java/org/cbioportal/webparam/CustomGeneListData.java index 6e9f1c5d194..cd0cf5c0b4e 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/CustomGeneListData.java +++ b/webparam/src/main/java/org/cbioportal/webparam/CustomGeneListData.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; diff --git a/web/src/main/java/org/cbioportal/web/parameter/DataBinCountFilter.java b/webparam/src/main/java/org/cbioportal/webparam/DataBinCountFilter.java similarity index 90% rename from web/src/main/java/org/cbioportal/web/parameter/DataBinCountFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/DataBinCountFilter.java index 4ed75c840d7..01f9bb0674b 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/DataBinCountFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/DataBinCountFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; diff --git a/web/src/main/java/org/cbioportal/web/parameter/DataBinFilter.java b/webparam/src/main/java/org/cbioportal/webparam/DataBinFilter.java similarity index 98% rename from web/src/main/java/org/cbioportal/web/parameter/DataBinFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/DataBinFilter.java index a5d23c0b964..630c214e011 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/DataBinFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/DataBinFilter.java @@ -1,12 +1,12 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; +import org.springframework.validation.annotation.Validated; + +import javax.validation.constraints.AssertTrue; import java.io.Serializable; import java.math.BigDecimal; import java.util.List; -import javax.validation.constraints.AssertTrue; -import org.springframework.validation.annotation.Validated; - @Validated public class DataBinFilter implements Serializable { diff --git a/web/src/main/java/org/cbioportal/web/parameter/DataBinMethod.java b/webparam/src/main/java/org/cbioportal/webparam/DataBinMethod.java similarity index 59% rename from web/src/main/java/org/cbioportal/web/parameter/DataBinMethod.java rename to webparam/src/main/java/org/cbioportal/webparam/DataBinMethod.java index 7d0d8989cf2..101b92f8c9b 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/DataBinMethod.java +++ b/webparam/src/main/java/org/cbioportal/webparam/DataBinMethod.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; public enum DataBinMethod { diff --git a/web/src/main/java/org/cbioportal/web/parameter/DataFilter.java b/webparam/src/main/java/org/cbioportal/webparam/DataFilter.java similarity index 89% rename from web/src/main/java/org/cbioportal/web/parameter/DataFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/DataFilter.java index 05d9c52c8b7..5990c2d3218 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/DataFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/DataFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; import java.util.List; diff --git a/web/src/main/java/org/cbioportal/web/parameter/DataFilterValue.java b/webparam/src/main/java/org/cbioportal/webparam/DataFilterValue.java similarity index 94% rename from web/src/main/java/org/cbioportal/web/parameter/DataFilterValue.java rename to webparam/src/main/java/org/cbioportal/webparam/DataFilterValue.java index 184aee40f29..193e179962a 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/DataFilterValue.java +++ b/webparam/src/main/java/org/cbioportal/webparam/DataFilterValue.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; import java.math.BigDecimal; diff --git a/web/src/main/java/org/cbioportal/web/parameter/Direction.java b/webparam/src/main/java/org/cbioportal/webparam/Direction.java similarity index 54% rename from web/src/main/java/org/cbioportal/web/parameter/Direction.java rename to webparam/src/main/java/org/cbioportal/webparam/Direction.java index 1453d856420..5ea9260cd09 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/Direction.java +++ b/webparam/src/main/java/org/cbioportal/webparam/Direction.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; public enum Direction { diff --git a/web/src/main/java/org/cbioportal/web/parameter/DiscreteCopyNumberEventType.java b/webparam/src/main/java/org/cbioportal/webparam/DiscreteCopyNumberEventType.java similarity index 92% rename from web/src/main/java/org/cbioportal/web/parameter/DiscreteCopyNumberEventType.java rename to webparam/src/main/java/org/cbioportal/webparam/DiscreteCopyNumberEventType.java index 520c58f98bb..ec4bf764ecb 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/DiscreteCopyNumberEventType.java +++ b/webparam/src/main/java/org/cbioportal/webparam/DiscreteCopyNumberEventType.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.util.Arrays; import java.util.List; diff --git a/web/src/main/java/org/cbioportal/web/parameter/DiscreteCopyNumberFilter.java b/webparam/src/main/java/org/cbioportal/webparam/DiscreteCopyNumberFilter.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/DiscreteCopyNumberFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/DiscreteCopyNumberFilter.java index ad75c81172a..ab8b67eb6f2 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/DiscreteCopyNumberFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/DiscreteCopyNumberFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.Size; diff --git a/web/src/main/java/org/cbioportal/web/parameter/EnrichmentFilter.java b/webparam/src/main/java/org/cbioportal/webparam/EnrichmentFilter.java similarity index 94% rename from web/src/main/java/org/cbioportal/web/parameter/EnrichmentFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/EnrichmentFilter.java index 9fd10cd4033..a6d0323141d 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/EnrichmentFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/EnrichmentFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; diff --git a/web/src/main/java/org/cbioportal/web/parameter/GeneFilter.java b/webparam/src/main/java/org/cbioportal/webparam/GeneFilter.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/GeneFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/GeneFilter.java index dc650928df5..e1266aaddda 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GeneFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GeneFilter.java @@ -1,15 +1,18 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; +import com.fasterxml.jackson.annotation.JsonIgnore; +import org.apache.commons.collections4.CollectionUtils; +import org.cbioportal.model.CNA; + +import javax.validation.constraints.AssertTrue; import java.io.Serializable; -import java.util.*; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; -import javax.validation.constraints.AssertTrue; - -import org.apache.commons.collections4.CollectionUtils; -import org.cbioportal.model.CNA; -import com.fasterxml.jackson.annotation.JsonIgnore; public class GeneFilter implements Serializable { diff --git a/model/src/main/java/org/cbioportal/model/GeneFilterQuery.java b/webparam/src/main/java/org/cbioportal/webparam/GeneFilterQuery.java similarity index 93% rename from model/src/main/java/org/cbioportal/model/GeneFilterQuery.java rename to webparam/src/main/java/org/cbioportal/webparam/GeneFilterQuery.java index e8280b4ce27..9c712fb69bc 100644 --- a/model/src/main/java/org/cbioportal/model/GeneFilterQuery.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GeneFilterQuery.java @@ -1,5 +1,7 @@ -package org.cbioportal.model; +package org.cbioportal.webparam; +import org.cbioportal.model.BaseAlterationFilter; +import org.cbioportal.model.CNA; import org.cbioportal.model.util.Select; import java.io.Serializable; diff --git a/web/src/main/java/org/cbioportal/web/parameter/GeneIdType.java b/webparam/src/main/java/org/cbioportal/webparam/GeneIdType.java similarity index 64% rename from web/src/main/java/org/cbioportal/web/parameter/GeneIdType.java rename to webparam/src/main/java/org/cbioportal/webparam/GeneIdType.java index a46435d1cdb..97e33bdbe56 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GeneIdType.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GeneIdType.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; public enum GeneIdType { diff --git a/web/src/main/java/org/cbioportal/web/parameter/GenePanelDataFilter.java b/webparam/src/main/java/org/cbioportal/webparam/GenePanelDataFilter.java similarity index 95% rename from web/src/main/java/org/cbioportal/web/parameter/GenePanelDataFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/GenePanelDataFilter.java index a2337f14349..889a9fde127 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GenePanelDataFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GenePanelDataFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.Size; diff --git a/web/src/main/java/org/cbioportal/web/parameter/GenePanelDataMultipleStudyFilter.java b/webparam/src/main/java/org/cbioportal/webparam/GenePanelDataMultipleStudyFilter.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/GenePanelDataMultipleStudyFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/GenePanelDataMultipleStudyFilter.java index 5f8b7a741ef..a009479c077 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GenePanelDataMultipleStudyFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GenePanelDataMultipleStudyFilter.java @@ -1,9 +1,9 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.Size; -import java.util.List; import java.io.Serializable; +import java.util.List; public class GenePanelDataMultipleStudyFilter implements Serializable { diff --git a/web/src/main/java/org/cbioportal/web/parameter/GenericAssayDataBinCountFilter.java b/webparam/src/main/java/org/cbioportal/webparam/GenericAssayDataBinCountFilter.java similarity index 93% rename from web/src/main/java/org/cbioportal/web/parameter/GenericAssayDataBinCountFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/GenericAssayDataBinCountFilter.java index eb088eb6faa..d0894d42491 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GenericAssayDataBinCountFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GenericAssayDataBinCountFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; import java.util.List; diff --git a/web/src/main/java/org/cbioportal/web/parameter/GenericAssayDataBinFilter.java b/webparam/src/main/java/org/cbioportal/webparam/GenericAssayDataBinFilter.java similarity index 93% rename from web/src/main/java/org/cbioportal/web/parameter/GenericAssayDataBinFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/GenericAssayDataBinFilter.java index 0d30f34b7c0..04fe3ba46c1 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GenericAssayDataBinFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GenericAssayDataBinFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; diff --git a/web/src/main/java/org/cbioportal/web/parameter/GenericAssayDataCountFilter.java b/webparam/src/main/java/org/cbioportal/webparam/GenericAssayDataCountFilter.java similarity index 95% rename from web/src/main/java/org/cbioportal/web/parameter/GenericAssayDataCountFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/GenericAssayDataCountFilter.java index b4e60373894..686aa8ef494 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GenericAssayDataCountFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GenericAssayDataCountFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; import java.util.List; diff --git a/web/src/main/java/org/cbioportal/web/parameter/GenericAssayDataFilter.java b/webparam/src/main/java/org/cbioportal/webparam/GenericAssayDataFilter.java similarity index 92% rename from web/src/main/java/org/cbioportal/web/parameter/GenericAssayDataFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/GenericAssayDataFilter.java index c4ca1cae155..b469066ce98 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GenericAssayDataFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GenericAssayDataFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; diff --git a/web/src/main/java/org/cbioportal/web/parameter/GenericAssayDataMultipleStudyFilter.java b/webparam/src/main/java/org/cbioportal/webparam/GenericAssayDataMultipleStudyFilter.java similarity index 97% rename from web/src/main/java/org/cbioportal/web/parameter/GenericAssayDataMultipleStudyFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/GenericAssayDataMultipleStudyFilter.java index 080c4870a81..10ef97a6b3a 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GenericAssayDataMultipleStudyFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GenericAssayDataMultipleStudyFilter.java @@ -1,9 +1,9 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.Size; -import java.util.List; import java.io.Serializable; +import java.util.List; public class GenericAssayDataMultipleStudyFilter implements Serializable { diff --git a/web/src/main/java/org/cbioportal/web/parameter/GenericAssayFilter.java b/webparam/src/main/java/org/cbioportal/webparam/GenericAssayFilter.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/GenericAssayFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/GenericAssayFilter.java index 009dca1634f..a820c32e671 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GenericAssayFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GenericAssayFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.Size; diff --git a/web/src/main/java/org/cbioportal/web/parameter/GenericAssayMetaFilter.java b/webparam/src/main/java/org/cbioportal/webparam/GenericAssayMetaFilter.java similarity index 95% rename from web/src/main/java/org/cbioportal/web/parameter/GenericAssayMetaFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/GenericAssayMetaFilter.java index f0d69e81a2a..474e3135eca 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GenericAssayMetaFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GenericAssayMetaFilter.java @@ -1,8 +1,8 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import javax.validation.constraints.Size; -import java.util.List; import java.io.Serializable; +import java.util.List; public class GenericAssayMetaFilter implements Serializable { diff --git a/web/src/main/java/org/cbioportal/web/parameter/GenesetDataFilterCriteria.java b/webparam/src/main/java/org/cbioportal/webparam/GenesetDataFilterCriteria.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/GenesetDataFilterCriteria.java rename to webparam/src/main/java/org/cbioportal/webparam/GenesetDataFilterCriteria.java index f0c9c3397f9..403af2f9d44 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GenesetDataFilterCriteria.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GenesetDataFilterCriteria.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.util.List; diff --git a/web/src/main/java/org/cbioportal/web/parameter/GenomicDataBinCountFilter.java b/webparam/src/main/java/org/cbioportal/webparam/GenomicDataBinCountFilter.java similarity index 92% rename from web/src/main/java/org/cbioportal/web/parameter/GenomicDataBinCountFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/GenomicDataBinCountFilter.java index b2e9ad1734a..39b7449befc 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GenomicDataBinCountFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GenomicDataBinCountFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; import java.util.List; diff --git a/web/src/main/java/org/cbioportal/web/parameter/GenomicDataBinFilter.java b/webparam/src/main/java/org/cbioportal/webparam/GenomicDataBinFilter.java similarity index 93% rename from web/src/main/java/org/cbioportal/web/parameter/GenomicDataBinFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/GenomicDataBinFilter.java index 5629c027ec8..87fbdcb3bb1 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GenomicDataBinFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GenomicDataBinFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; diff --git a/web/src/main/java/org/cbioportal/web/parameter/GenomicDataFilter.java b/webparam/src/main/java/org/cbioportal/webparam/GenomicDataFilter.java similarity index 93% rename from web/src/main/java/org/cbioportal/web/parameter/GenomicDataFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/GenomicDataFilter.java index 5938595e5e7..50a5d2e7d1e 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GenomicDataFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GenomicDataFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; diff --git a/web/src/main/java/org/cbioportal/web/parameter/Group.java b/webparam/src/main/java/org/cbioportal/webparam/Group.java similarity index 94% rename from web/src/main/java/org/cbioportal/web/parameter/Group.java rename to webparam/src/main/java/org/cbioportal/webparam/Group.java index bb4183525f4..e3646c985fd 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/Group.java +++ b/webparam/src/main/java/org/cbioportal/webparam/Group.java @@ -1,10 +1,9 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; +import javax.validation.constraints.Size; import java.io.Serializable; import java.util.List; -import javax.validation.constraints.Size; - public class Group implements Serializable { @Size(min = 1, max = PagingConstants.MAX_PAGE_SIZE) diff --git a/web/src/main/java/org/cbioportal/web/parameter/GroupFilter.java b/webparam/src/main/java/org/cbioportal/webparam/GroupFilter.java similarity index 91% rename from web/src/main/java/org/cbioportal/web/parameter/GroupFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/GroupFilter.java index 45679ace77a..46f16704daf 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/GroupFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/GroupFilter.java @@ -1,10 +1,9 @@ -package org.cbioportal.web.parameter; - -import java.io.Serializable; -import java.util.List; +package org.cbioportal.webparam; import javax.validation.Valid; import javax.validation.constraints.Size; +import java.io.Serializable; +import java.util.List; public class GroupFilter implements Serializable { diff --git a/web/src/main/java/org/cbioportal/web/parameter/HeaderKeyConstants.java b/webparam/src/main/java/org/cbioportal/webparam/HeaderKeyConstants.java similarity index 87% rename from web/src/main/java/org/cbioportal/web/parameter/HeaderKeyConstants.java rename to webparam/src/main/java/org/cbioportal/webparam/HeaderKeyConstants.java index 89a51ea7e13..93d38ccb362 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/HeaderKeyConstants.java +++ b/webparam/src/main/java/org/cbioportal/webparam/HeaderKeyConstants.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; /* When changing these edit them in portal/src/main/webapp/WEB-INF/web.xml as * well to expose the CORS headers */ diff --git a/web/src/main/java/org/cbioportal/web/parameter/MolecularDataFilter.java b/webparam/src/main/java/org/cbioportal/webparam/MolecularDataFilter.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/MolecularDataFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/MolecularDataFilter.java index e340c9aa06d..9e544b7588a 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/MolecularDataFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/MolecularDataFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.Size; diff --git a/web/src/main/java/org/cbioportal/web/parameter/MolecularDataMultipleStudyFilter.java b/webparam/src/main/java/org/cbioportal/webparam/MolecularDataMultipleStudyFilter.java similarity index 97% rename from web/src/main/java/org/cbioportal/web/parameter/MolecularDataMultipleStudyFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/MolecularDataMultipleStudyFilter.java index 537d7d28015..d80439d62ff 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/MolecularDataMultipleStudyFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/MolecularDataMultipleStudyFilter.java @@ -1,9 +1,9 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.Size; -import java.util.List; import java.io.Serializable; +import java.util.List; public class MolecularDataMultipleStudyFilter implements Serializable { diff --git a/web/src/main/java/org/cbioportal/web/parameter/MolecularProfileCasesGroupAndAlterationTypeFilter.java b/webparam/src/main/java/org/cbioportal/webparam/MolecularProfileCasesGroupAndAlterationTypeFilter.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/MolecularProfileCasesGroupAndAlterationTypeFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/MolecularProfileCasesGroupAndAlterationTypeFilter.java index 0c643ae04e2..dc793d87d2a 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/MolecularProfileCasesGroupAndAlterationTypeFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/MolecularProfileCasesGroupAndAlterationTypeFilter.java @@ -1,11 +1,10 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import io.swagger.annotations.ApiModelProperty; import org.cbioportal.model.AlterationFilter; -import java.util.List; - import javax.validation.constraints.Size; +import java.util.List; public class MolecularProfileCasesGroupAndAlterationTypeFilter { diff --git a/web/src/main/java/org/cbioportal/web/parameter/MolecularProfileCasesGroupFilter.java b/webparam/src/main/java/org/cbioportal/webparam/MolecularProfileCasesGroupFilter.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/MolecularProfileCasesGroupFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/MolecularProfileCasesGroupFilter.java index cd5656ef6da..4542ed1f1b1 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/MolecularProfileCasesGroupFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/MolecularProfileCasesGroupFilter.java @@ -1,13 +1,12 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; +import org.cbioportal.model.MolecularProfileCaseIdentifier; + +import javax.validation.constraints.Size; import java.util.ArrayList; import java.util.HashSet; import java.util.List; -import javax.validation.constraints.Size; - -import org.cbioportal.model.MolecularProfileCaseIdentifier; - public class MolecularProfileCasesGroupFilter { @Size(min = 1, max = PagingConstants.MAX_PAGE_SIZE) diff --git a/web/src/main/java/org/cbioportal/web/parameter/MolecularProfileFilter.java b/webparam/src/main/java/org/cbioportal/webparam/MolecularProfileFilter.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/MolecularProfileFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/MolecularProfileFilter.java index 27e439a92ae..4f132cf4602 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/MolecularProfileFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/MolecularProfileFilter.java @@ -1,9 +1,9 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.Size; -import java.util.List; import java.io.Serializable; +import java.util.List; import java.util.Set; public class MolecularProfileFilter implements Serializable { diff --git a/web/src/main/java/org/cbioportal/web/parameter/MutationFilter.java b/webparam/src/main/java/org/cbioportal/webparam/MutationFilter.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/MutationFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/MutationFilter.java index 52ee7d646ba..2b99c9fdd04 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/MutationFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/MutationFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.Size; diff --git a/web/src/main/java/org/cbioportal/web/parameter/MutationMultipleStudyFilter.java b/webparam/src/main/java/org/cbioportal/webparam/MutationMultipleStudyFilter.java similarity index 97% rename from web/src/main/java/org/cbioportal/web/parameter/MutationMultipleStudyFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/MutationMultipleStudyFilter.java index b59f67dfaaf..da586ff18a9 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/MutationMultipleStudyFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/MutationMultipleStudyFilter.java @@ -1,9 +1,9 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.Size; -import java.util.List; import java.io.Serializable; +import java.util.List; public class MutationMultipleStudyFilter implements Serializable { diff --git a/web/src/main/java/org/cbioportal/web/parameter/MutationPositionIdentifier.java b/webparam/src/main/java/org/cbioportal/webparam/MutationPositionIdentifier.java similarity index 94% rename from web/src/main/java/org/cbioportal/web/parameter/MutationPositionIdentifier.java rename to webparam/src/main/java/org/cbioportal/webparam/MutationPositionIdentifier.java index a54854ecec9..cd7588b131f 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/MutationPositionIdentifier.java +++ b/webparam/src/main/java/org/cbioportal/webparam/MutationPositionIdentifier.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; public class MutationPositionIdentifier { diff --git a/web/src/main/java/org/cbioportal/web/parameter/MutationSpectrumFilter.java b/webparam/src/main/java/org/cbioportal/webparam/MutationSpectrumFilter.java similarity index 95% rename from web/src/main/java/org/cbioportal/web/parameter/MutationSpectrumFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/MutationSpectrumFilter.java index 08cfbe3c05d..12cfe558dc6 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/MutationSpectrumFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/MutationSpectrumFilter.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.Size; diff --git a/web/src/main/java/org/cbioportal/web/parameter/PageSettings.java b/webparam/src/main/java/org/cbioportal/webparam/PageSettings.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/PageSettings.java rename to webparam/src/main/java/org/cbioportal/webparam/PageSettings.java index 4d7b37ab00f..da5674c3c8e 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/PageSettings.java +++ b/webparam/src/main/java/org/cbioportal/webparam/PageSettings.java @@ -1,15 +1,14 @@ -package org.cbioportal.web.parameter; - -import java.io.IOException; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.cbioportal.session_service.domain.Session; -import org.cbioportal.session_service.domain.SessionType; +package org.cbioportal.webparam; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.databind.ObjectMapper; +import org.cbioportal.session_service.domain.Session; +import org.cbioportal.session_service.domain.SessionType; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; @JsonIgnoreProperties(ignoreUnknown = true) public class PageSettings extends Session { diff --git a/web/src/main/java/org/cbioportal/web/parameter/PageSettingsData.java b/webparam/src/main/java/org/cbioportal/webparam/PageSettingsData.java similarity index 97% rename from web/src/main/java/org/cbioportal/web/parameter/PageSettingsData.java rename to webparam/src/main/java/org/cbioportal/webparam/PageSettingsData.java index 8fb217a7fdb..6cfbf49a200 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/PageSettingsData.java +++ b/webparam/src/main/java/org/cbioportal/webparam/PageSettingsData.java @@ -1,9 +1,4 @@ -package org.cbioportal.web.parameter; - -import java.io.Serializable; -import java.util.Set; - -import javax.validation.constraints.NotNull; +package org.cbioportal.webparam; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; @@ -11,6 +6,10 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Set; + @JsonIgnoreProperties(ignoreUnknown = true) @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "page", visible = true) @JsonSubTypes({ diff --git a/web/src/main/java/org/cbioportal/web/parameter/PageSettingsIdentifier.java b/webparam/src/main/java/org/cbioportal/webparam/PageSettingsIdentifier.java similarity index 94% rename from web/src/main/java/org/cbioportal/web/parameter/PageSettingsIdentifier.java rename to webparam/src/main/java/org/cbioportal/webparam/PageSettingsIdentifier.java index 9f2e8cdfc64..bdcef4ac1b0 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/PageSettingsIdentifier.java +++ b/webparam/src/main/java/org/cbioportal/webparam/PageSettingsIdentifier.java @@ -1,10 +1,9 @@ -package org.cbioportal.web.parameter; - -import java.io.Serializable; -import java.util.Set; +package org.cbioportal.webparam; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; +import java.io.Serializable; +import java.util.Set; public class PageSettingsIdentifier implements Serializable { diff --git a/web/src/main/java/org/cbioportal/web/parameter/PagingConstants.java b/webparam/src/main/java/org/cbioportal/webparam/PagingConstants.java similarity index 91% rename from web/src/main/java/org/cbioportal/web/parameter/PagingConstants.java rename to webparam/src/main/java/org/cbioportal/webparam/PagingConstants.java index 0c26098758c..9add48b93e6 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/PagingConstants.java +++ b/webparam/src/main/java/org/cbioportal/webparam/PagingConstants.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; public class PagingConstants { diff --git a/web/src/main/java/org/cbioportal/web/parameter/PatientFilter.java b/webparam/src/main/java/org/cbioportal/webparam/PatientFilter.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/PatientFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/PatientFilter.java index 8155bb7da1d..f408bc708e1 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/PatientFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/PatientFilter.java @@ -1,9 +1,9 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; -import java.io.Serializable; -import java.util.List; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.Size; +import java.io.Serializable; +import java.util.List; public class PatientFilter implements Serializable { diff --git a/web/src/main/java/org/cbioportal/web/parameter/PatientIdentifier.java b/webparam/src/main/java/org/cbioportal/webparam/PatientIdentifier.java similarity index 92% rename from web/src/main/java/org/cbioportal/web/parameter/PatientIdentifier.java rename to webparam/src/main/java/org/cbioportal/webparam/PatientIdentifier.java index b7a9117a031..c900e1a96ee 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/PatientIdentifier.java +++ b/webparam/src/main/java/org/cbioportal/webparam/PatientIdentifier.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; diff --git a/web/src/main/java/org/cbioportal/web/parameter/Projection.java b/webparam/src/main/java/org/cbioportal/webparam/Projection.java similarity index 65% rename from web/src/main/java/org/cbioportal/web/parameter/Projection.java rename to webparam/src/main/java/org/cbioportal/webparam/Projection.java index d17103c18ba..bf8bad14e21 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/Projection.java +++ b/webparam/src/main/java/org/cbioportal/webparam/Projection.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; public enum Projection { diff --git a/web/src/main/java/org/cbioportal/web/parameter/ResultsPageSettings.java b/webparam/src/main/java/org/cbioportal/webparam/ResultsPageSettings.java similarity index 95% rename from web/src/main/java/org/cbioportal/web/parameter/ResultsPageSettings.java rename to webparam/src/main/java/org/cbioportal/webparam/ResultsPageSettings.java index b549ed25c51..ed9e442c81a 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/ResultsPageSettings.java +++ b/webparam/src/main/java/org/cbioportal/webparam/ResultsPageSettings.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/web/src/main/java/org/cbioportal/web/parameter/SampleFilter.java b/webparam/src/main/java/org/cbioportal/webparam/SampleFilter.java similarity index 85% rename from web/src/main/java/org/cbioportal/web/parameter/SampleFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/SampleFilter.java index ed4957be3ab..7d78f58de35 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/SampleFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/SampleFilter.java @@ -1,19 +1,19 @@ -package org.cbioportal.web.parameter; - -import org.cbioportal.web.SampleController; +package org.cbioportal.webparam; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.Size; -import java.util.List; import java.io.Serializable; +import java.util.List; + +import static org.cbioportal.webparam.Constants.SAMPLE_MAX_PAGE_SIZE; public class SampleFilter implements Serializable { - @Size(min = 1, max = SampleController.SAMPLE_MAX_PAGE_SIZE) + @Size(min = 1, max = SAMPLE_MAX_PAGE_SIZE) private List sampleIdentifiers; @Size(min = 1, max = PagingConstants.MAX_PAGE_SIZE) private List sampleListIds; - @Size(min = 1, max = SampleController.SAMPLE_MAX_PAGE_SIZE) + @Size(min = 1, max = SAMPLE_MAX_PAGE_SIZE) private List uniqueSampleKeys; @AssertTrue diff --git a/web/src/main/java/org/cbioportal/web/parameter/SampleIdentifier.java b/webparam/src/main/java/org/cbioportal/webparam/SampleIdentifier.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/SampleIdentifier.java rename to webparam/src/main/java/org/cbioportal/webparam/SampleIdentifier.java index 95b78e36763..c33e1a28283 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/SampleIdentifier.java +++ b/webparam/src/main/java/org/cbioportal/webparam/SampleIdentifier.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; import java.util.Objects; diff --git a/web/src/main/java/org/cbioportal/web/parameter/SampleMolecularIdentifier.java b/webparam/src/main/java/org/cbioportal/webparam/SampleMolecularIdentifier.java similarity index 93% rename from web/src/main/java/org/cbioportal/web/parameter/SampleMolecularIdentifier.java rename to webparam/src/main/java/org/cbioportal/webparam/SampleMolecularIdentifier.java index 12103116941..5f6a5ec2906 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/SampleMolecularIdentifier.java +++ b/webparam/src/main/java/org/cbioportal/webparam/SampleMolecularIdentifier.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.io.Serializable; diff --git a/web/src/main/java/org/cbioportal/web/parameter/SessionPage.java b/webparam/src/main/java/org/cbioportal/webparam/SessionPage.java similarity index 62% rename from web/src/main/java/org/cbioportal/web/parameter/SessionPage.java rename to webparam/src/main/java/org/cbioportal/webparam/SessionPage.java index bdffd95307f..0af912c07ed 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/SessionPage.java +++ b/webparam/src/main/java/org/cbioportal/webparam/SessionPage.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; public enum SessionPage { results_view, diff --git a/web/src/main/java/org/cbioportal/web/parameter/StructuralVariantFilter.java b/webparam/src/main/java/org/cbioportal/webparam/StructuralVariantFilter.java similarity index 98% rename from web/src/main/java/org/cbioportal/web/parameter/StructuralVariantFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/StructuralVariantFilter.java index b79a29a9509..d8008ac33cd 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/StructuralVariantFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/StructuralVariantFilter.java @@ -21,15 +21,14 @@ * along with this program. If not, see . */ -package org.cbioportal.web.parameter; - -import javax.validation.Valid; -import javax.validation.constraints.AssertTrue; -import javax.validation.constraints.Size; +package org.cbioportal.webparam; import org.apache.commons.collections4.CollectionUtils; import org.cbioportal.model.StructuralVariantQuery; +import javax.validation.Valid; +import javax.validation.constraints.AssertTrue; +import javax.validation.constraints.Size; import java.io.Serializable; import java.util.List; diff --git a/web/src/main/java/org/cbioportal/web/parameter/StudyPageSettings.java b/webparam/src/main/java/org/cbioportal/webparam/StudyPageSettings.java similarity index 95% rename from web/src/main/java/org/cbioportal/web/parameter/StudyPageSettings.java rename to webparam/src/main/java/org/cbioportal/webparam/StudyPageSettings.java index 5dcbc8b3887..02ababc5211 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/StudyPageSettings.java +++ b/webparam/src/main/java/org/cbioportal/webparam/StudyPageSettings.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/web/src/main/java/org/cbioportal/web/parameter/StudyViewFilter.java b/webparam/src/main/java/org/cbioportal/webparam/StudyViewFilter.java similarity index 95% rename from web/src/main/java/org/cbioportal/web/parameter/StudyViewFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/StudyViewFilter.java index b69b829e307..f790c26f5fc 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/StudyViewFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/StudyViewFilter.java @@ -1,18 +1,17 @@ -package org.cbioportal.web.parameter; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; - -import javax.validation.constraints.AssertTrue; -import javax.validation.constraints.Size; +package org.cbioportal.webparam; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import org.cbioportal.model.AlterationFilter; -import org.cbioportal.model.GeneFilter; -import org.cbioportal.web.parameter.filter.*; +import org.cbioportal.webparam.filter.AndedPatientTreatmentFilters; +import org.cbioportal.webparam.filter.AndedSampleTreatmentFilters; + +import javax.validation.constraints.AssertTrue; +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.util.List; +import java.util.Objects; @JsonIgnoreProperties(ignoreUnknown = true) @JsonInclude(Include.NON_NULL) @@ -23,7 +22,7 @@ public class StudyViewFilter implements Serializable { @Size(min = 1) private List studyIds; private List clinicalDataFilters; - private List geneFilters; + private List geneFilters; private AndedSampleTreatmentFilters sampleTreatmentFilters; private AndedSampleTreatmentFilters sampleTreatmentGroupFilters; private AndedSampleTreatmentFilters sampleTreatmentTargetFilters; @@ -102,11 +101,11 @@ public void setClinicalDataFilters(List clinicalDataFilters) this.clinicalDataFilters = clinicalDataFilters; } - public List getGeneFilters() { + public List getGeneFilters() { return geneFilters; } - public void setGeneFilters(List geneFilters) { + public void setGeneFilters(List geneFilters) { this.geneFilters = geneFilters; } diff --git a/model/src/main/java/org/cbioportal/model/GeneFilter.java b/webparam/src/main/java/org/cbioportal/webparam/StudyViewGeneFilter.java similarity index 87% rename from model/src/main/java/org/cbioportal/model/GeneFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/StudyViewGeneFilter.java index ae6f62890dc..ee20fa99672 100644 --- a/model/src/main/java/org/cbioportal/model/GeneFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/StudyViewGeneFilter.java @@ -1,10 +1,10 @@ -package org.cbioportal.model; +package org.cbioportal.webparam; import java.io.Serializable; import java.util.List; import java.util.Set; -public class GeneFilter implements Serializable { +public class StudyViewGeneFilter implements Serializable { private Set molecularProfileIds; private List> geneQueries; diff --git a/web/src/main/java/org/cbioportal/web/parameter/VariantCountIdentifier.java b/webparam/src/main/java/org/cbioportal/webparam/VariantCountIdentifier.java similarity index 91% rename from web/src/main/java/org/cbioportal/web/parameter/VariantCountIdentifier.java rename to webparam/src/main/java/org/cbioportal/webparam/VariantCountIdentifier.java index 1b6ace73404..36600c1fce0 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/VariantCountIdentifier.java +++ b/webparam/src/main/java/org/cbioportal/webparam/VariantCountIdentifier.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; public class VariantCountIdentifier { diff --git a/web/src/main/java/org/cbioportal/web/parameter/VirtualStudy.java b/webparam/src/main/java/org/cbioportal/webparam/VirtualStudy.java similarity index 96% rename from web/src/main/java/org/cbioportal/web/parameter/VirtualStudy.java rename to webparam/src/main/java/org/cbioportal/webparam/VirtualStudy.java index 9d6a52ce14a..f690dbd173f 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/VirtualStudy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/VirtualStudy.java @@ -1,15 +1,14 @@ -package org.cbioportal.web.parameter; - -import java.io.IOException; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.cbioportal.session_service.domain.Session; -import org.cbioportal.session_service.domain.SessionType; +package org.cbioportal.webparam; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.databind.ObjectMapper; +import org.cbioportal.session_service.domain.Session; +import org.cbioportal.session_service.domain.SessionType; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; @JsonIgnoreProperties(ignoreUnknown = true) public class VirtualStudy extends Session { diff --git a/web/src/main/java/org/cbioportal/web/parameter/VirtualStudyData.java b/webparam/src/main/java/org/cbioportal/webparam/VirtualStudyData.java similarity index 98% rename from web/src/main/java/org/cbioportal/web/parameter/VirtualStudyData.java rename to webparam/src/main/java/org/cbioportal/webparam/VirtualStudyData.java index 98cbfa9bd2d..74b1bf79307 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/VirtualStudyData.java +++ b/webparam/src/main/java/org/cbioportal/webparam/VirtualStudyData.java @@ -1,12 +1,12 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import java.io.Serializable; import java.util.HashSet; import java.util.Set; import java.util.stream.Collectors; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - @JsonIgnoreProperties(ignoreUnknown = true) public class VirtualStudyData implements Serializable { diff --git a/web/src/main/java/org/cbioportal/web/parameter/VirtualStudySamples.java b/webparam/src/main/java/org/cbioportal/webparam/VirtualStudySamples.java similarity index 91% rename from web/src/main/java/org/cbioportal/web/parameter/VirtualStudySamples.java rename to webparam/src/main/java/org/cbioportal/webparam/VirtualStudySamples.java index 5cfb36afa3b..88f44a9a506 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/VirtualStudySamples.java +++ b/webparam/src/main/java/org/cbioportal/webparam/VirtualStudySamples.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter; +package org.cbioportal.webparam; import java.util.Set; diff --git a/web/src/main/java/org/cbioportal/web/parameter/filter/AndedPatientTreatmentFilters.java b/webparam/src/main/java/org/cbioportal/webparam/filter/AndedPatientTreatmentFilters.java similarity index 78% rename from web/src/main/java/org/cbioportal/web/parameter/filter/AndedPatientTreatmentFilters.java rename to webparam/src/main/java/org/cbioportal/webparam/filter/AndedPatientTreatmentFilters.java index eaf81744f5c..d39c84f93c7 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/filter/AndedPatientTreatmentFilters.java +++ b/webparam/src/main/java/org/cbioportal/webparam/filter/AndedPatientTreatmentFilters.java @@ -1,8 +1,7 @@ -package org.cbioportal.web.parameter.filter; +package org.cbioportal.webparam.filter; -import org.cbioportal.model.ClinicalEventSample; -import org.cbioportal.model.PatientTreatmentRow; -import org.cbioportal.web.parameter.SampleIdentifier; + +import org.cbioportal.webparam.SampleIdentifier; import java.io.Serializable; import java.util.List; diff --git a/web/src/main/java/org/cbioportal/web/parameter/filter/AndedSampleTreatmentFilters.java b/webparam/src/main/java/org/cbioportal/webparam/filter/AndedSampleTreatmentFilters.java similarity index 78% rename from web/src/main/java/org/cbioportal/web/parameter/filter/AndedSampleTreatmentFilters.java rename to webparam/src/main/java/org/cbioportal/webparam/filter/AndedSampleTreatmentFilters.java index 93960cc7541..8f62f7c09dd 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/filter/AndedSampleTreatmentFilters.java +++ b/webparam/src/main/java/org/cbioportal/webparam/filter/AndedSampleTreatmentFilters.java @@ -1,8 +1,6 @@ -package org.cbioportal.web.parameter.filter; +package org.cbioportal.webparam.filter; -import org.cbioportal.model.PatientTreatmentRow; -import org.cbioportal.model.SampleTreatmentRow; -import org.cbioportal.web.parameter.SampleIdentifier; +import org.cbioportal.webparam.SampleIdentifier; import java.io.Serializable; import java.util.List; diff --git a/web/src/main/java/org/cbioportal/web/parameter/filter/OredPatientTreatmentFilters.java b/webparam/src/main/java/org/cbioportal/webparam/filter/OredPatientTreatmentFilters.java similarity index 78% rename from web/src/main/java/org/cbioportal/web/parameter/filter/OredPatientTreatmentFilters.java rename to webparam/src/main/java/org/cbioportal/webparam/filter/OredPatientTreatmentFilters.java index 57ae0d3797e..35489859c6d 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/filter/OredPatientTreatmentFilters.java +++ b/webparam/src/main/java/org/cbioportal/webparam/filter/OredPatientTreatmentFilters.java @@ -1,8 +1,7 @@ -package org.cbioportal.web.parameter.filter; +package org.cbioportal.webparam.filter; -import org.cbioportal.model.ClinicalEventSample; -import org.cbioportal.model.PatientTreatmentRow; -import org.cbioportal.web.parameter.SampleIdentifier; + +import org.cbioportal.webparam.SampleIdentifier; import java.io.Serializable; import java.util.List; diff --git a/web/src/main/java/org/cbioportal/web/parameter/filter/OredSampleTreatmentFilters.java b/webparam/src/main/java/org/cbioportal/webparam/filter/OredSampleTreatmentFilters.java similarity index 82% rename from web/src/main/java/org/cbioportal/web/parameter/filter/OredSampleTreatmentFilters.java rename to webparam/src/main/java/org/cbioportal/webparam/filter/OredSampleTreatmentFilters.java index 388ab0113a4..5bb2a91cc27 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/filter/OredSampleTreatmentFilters.java +++ b/webparam/src/main/java/org/cbioportal/webparam/filter/OredSampleTreatmentFilters.java @@ -1,7 +1,7 @@ -package org.cbioportal.web.parameter.filter; +package org.cbioportal.webparam.filter; -import org.cbioportal.model.SampleTreatmentRow; -import org.cbioportal.web.parameter.SampleIdentifier; + +import org.cbioportal.webparam.SampleIdentifier; import java.io.Serializable; import java.util.List; diff --git a/web/src/main/java/org/cbioportal/web/parameter/filter/PatientTreatmentFilter.java b/webparam/src/main/java/org/cbioportal/webparam/filter/PatientTreatmentFilter.java similarity index 89% rename from web/src/main/java/org/cbioportal/web/parameter/filter/PatientTreatmentFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/filter/PatientTreatmentFilter.java index fb4d8095ce9..7793642ba67 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/filter/PatientTreatmentFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/filter/PatientTreatmentFilter.java @@ -1,11 +1,11 @@ -package org.cbioportal.web.parameter.filter; +package org.cbioportal.webparam.filter; + +import org.cbioportal.webparam.SampleIdentifier; import java.io.Serializable; import java.util.Map; import java.util.Set; -import org.cbioportal.web.parameter.SampleIdentifier; - public class PatientTreatmentFilter implements Serializable { private String treatment; diff --git a/web/src/main/java/org/cbioportal/web/parameter/filter/SampleTreatmentFilter.java b/webparam/src/main/java/org/cbioportal/webparam/filter/SampleTreatmentFilter.java similarity index 87% rename from web/src/main/java/org/cbioportal/web/parameter/filter/SampleTreatmentFilter.java rename to webparam/src/main/java/org/cbioportal/webparam/filter/SampleTreatmentFilter.java index f4c2dcf1027..5835e63763a 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/filter/SampleTreatmentFilter.java +++ b/webparam/src/main/java/org/cbioportal/webparam/filter/SampleTreatmentFilter.java @@ -1,8 +1,7 @@ -package org.cbioportal.web.parameter.filter; +package org.cbioportal.webparam.filter; import org.cbioportal.model.TemporalRelation; -import org.cbioportal.model.SampleTreatmentRow; -import org.cbioportal.web.parameter.SampleIdentifier; +import org.cbioportal.webparam.SampleIdentifier; import java.io.Serializable; import java.util.Map; diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/CancerTypeSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/CancerTypeSortBy.java similarity index 89% rename from web/src/main/java/org/cbioportal/web/parameter/sort/CancerTypeSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/CancerTypeSortBy.java index 31305e393bd..c22d3758727 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/CancerTypeSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/CancerTypeSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum CancerTypeSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/ClinicalAttributeSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/ClinicalAttributeSortBy.java similarity index 91% rename from web/src/main/java/org/cbioportal/web/parameter/sort/ClinicalAttributeSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/ClinicalAttributeSortBy.java index 5b6ef9c8021..c1a8444e68b 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/ClinicalAttributeSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/ClinicalAttributeSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum ClinicalAttributeSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/ClinicalDataSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/ClinicalDataSortBy.java similarity index 87% rename from web/src/main/java/org/cbioportal/web/parameter/sort/ClinicalDataSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/ClinicalDataSortBy.java index 9da6465c5af..5edd63e01ef 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/ClinicalDataSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/ClinicalDataSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum ClinicalDataSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/ClinicalEventSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/ClinicalEventSortBy.java similarity index 89% rename from web/src/main/java/org/cbioportal/web/parameter/sort/ClinicalEventSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/ClinicalEventSortBy.java index 44508aba81f..40246b58fb3 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/ClinicalEventSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/ClinicalEventSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum ClinicalEventSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/CopyNumberSegmentSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/CopyNumberSegmentSortBy.java similarity index 89% rename from web/src/main/java/org/cbioportal/web/parameter/sort/CopyNumberSegmentSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/CopyNumberSegmentSortBy.java index 2d662dbd005..884a831cd7e 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/CopyNumberSegmentSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/CopyNumberSegmentSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum CopyNumberSegmentSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/DiscreteCopyNumberSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/DiscreteCopyNumberSortBy.java similarity index 88% rename from web/src/main/java/org/cbioportal/web/parameter/sort/DiscreteCopyNumberSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/DiscreteCopyNumberSortBy.java index 41e4128c4a9..9ce2bc58db1 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/DiscreteCopyNumberSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/DiscreteCopyNumberSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum DiscreteCopyNumberSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/GenePanelSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/GenePanelSortBy.java similarity index 87% rename from web/src/main/java/org/cbioportal/web/parameter/sort/GenePanelSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/GenePanelSortBy.java index 1b2750f9386..67f25282385 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/GenePanelSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/GenePanelSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum GenePanelSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/GeneSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/GeneSortBy.java similarity index 89% rename from web/src/main/java/org/cbioportal/web/parameter/sort/GeneSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/GeneSortBy.java index 233f92864b5..c1eb4e4e58b 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/GeneSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/GeneSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum GeneSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/MolecularProfileSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/MolecularProfileSortBy.java similarity index 91% rename from web/src/main/java/org/cbioportal/web/parameter/sort/MolecularProfileSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/MolecularProfileSortBy.java index c089ee90fea..00c69742099 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/MolecularProfileSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/MolecularProfileSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum MolecularProfileSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/MutationSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/MutationSortBy.java similarity index 95% rename from web/src/main/java/org/cbioportal/web/parameter/sort/MutationSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/MutationSortBy.java index ff89f1960f8..73ad3f22b40 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/MutationSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/MutationSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum MutationSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/PatientSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/PatientSortBy.java similarity index 85% rename from web/src/main/java/org/cbioportal/web/parameter/sort/PatientSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/PatientSortBy.java index eca583a6e6e..f5462a97195 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/PatientSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/PatientSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum PatientSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/ResourceDataSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/ResourceDataSortBy.java similarity index 87% rename from web/src/main/java/org/cbioportal/web/parameter/sort/ResourceDataSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/ResourceDataSortBy.java index aa0d097020a..8c48fa695e1 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/ResourceDataSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/ResourceDataSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum ResourceDataSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/ResourceDefinitionSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/ResourceDefinitionSortBy.java similarity index 91% rename from web/src/main/java/org/cbioportal/web/parameter/sort/ResourceDefinitionSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/ResourceDefinitionSortBy.java index 92163a2350b..666cebae866 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/ResourceDefinitionSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/ResourceDefinitionSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum ResourceDefinitionSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/SampleListSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/SampleListSortBy.java similarity index 90% rename from web/src/main/java/org/cbioportal/web/parameter/sort/SampleListSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/SampleListSortBy.java index 924ca559177..c1186ca2f93 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/SampleListSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/SampleListSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum SampleListSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/SampleSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/SampleSortBy.java similarity index 87% rename from web/src/main/java/org/cbioportal/web/parameter/sort/SampleSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/SampleSortBy.java index d42dc7b7f53..5a2675bd161 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/SampleSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/SampleSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum SampleSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/SignificantCopyNumberRegionSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/SignificantCopyNumberRegionSortBy.java similarity index 91% rename from web/src/main/java/org/cbioportal/web/parameter/sort/SignificantCopyNumberRegionSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/SignificantCopyNumberRegionSortBy.java index 8003d56a9ef..c6372a4bfa5 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/SignificantCopyNumberRegionSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/SignificantCopyNumberRegionSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum SignificantCopyNumberRegionSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/SignificantlyMutatedGeneSortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/SignificantlyMutatedGeneSortBy.java similarity index 91% rename from web/src/main/java/org/cbioportal/web/parameter/sort/SignificantlyMutatedGeneSortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/SignificantlyMutatedGeneSortBy.java index eb2a9003756..b91c3e04661 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/SignificantlyMutatedGeneSortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/SignificantlyMutatedGeneSortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum SignificantlyMutatedGeneSortBy { diff --git a/web/src/main/java/org/cbioportal/web/parameter/sort/StudySortBy.java b/webparam/src/main/java/org/cbioportal/webparam/sort/StudySortBy.java similarity index 92% rename from web/src/main/java/org/cbioportal/web/parameter/sort/StudySortBy.java rename to webparam/src/main/java/org/cbioportal/webparam/sort/StudySortBy.java index d13a09d9535..dc7313b2c4d 100644 --- a/web/src/main/java/org/cbioportal/web/parameter/sort/StudySortBy.java +++ b/webparam/src/main/java/org/cbioportal/webparam/sort/StudySortBy.java @@ -1,4 +1,4 @@ -package org.cbioportal.web.parameter.sort; +package org.cbioportal.webparam.sort; public enum StudySortBy { From aa216b81f857ab61cb87be124901bcc5fe3e73a9 Mon Sep 17 00:00:00 2001 From: Pim van Nierop Date: Fri, 17 Mar 2023 16:08:46 +0100 Subject: [PATCH 03/29] Wip --- .../persistence/StudyViewRepository.java | 6 +++++ .../mybatiscolumnstore/StudyViewMapper.java | 3 +++ .../StudyViewMyBatisRepository.java | 12 +++++++++ .../mybatiscolumnstore/StudyViewMapper.xml | 25 +++++++++++++++++++ .../cbioportal/service/StudyViewService.java | 4 +++ .../service/impl/StudyViewServiceImpl.java | 10 ++++++++ .../cbioportal/web/StudyViewController.java | 25 +++++++++++-------- 7 files changed, 74 insertions(+), 11 deletions(-) diff --git a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java index f6ea7e81311..f20bb4785ed 100644 --- a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java +++ b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java @@ -1,4 +1,10 @@ package org.cbioportal.persistence; +import org.cbioportal.model.Sample; +import org.cbioportal.webparam.StudyViewFilter; + +import java.util.List; + public interface StudyViewRepository { + List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter); } diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java index f01dd18c9ec..7bd5c882091 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java @@ -1,4 +1,7 @@ package org.cbioportal.persistence.mybatiscolumnstore; +import org.cbioportal.webparam.StudyViewFilter; + public interface StudyViewMapper { + void filteredSamples(StudyViewFilter studyViewFilter); } diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java index cbe24d35d41..b5b14e66fed 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java @@ -1,9 +1,21 @@ package org.cbioportal.persistence.mybatiscolumnstore; +import org.cbioportal.model.Sample; import org.cbioportal.persistence.StudyViewRepository; +import org.cbioportal.webparam.StudyViewFilter; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; +import java.util.List; + @Repository public class StudyViewMyBatisRepository implements StudyViewRepository { + @Autowired + private StudyViewMapper studyViewMapper; + + @Override + public List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter) { + studyViewMapper.filteredSamples(studyViewFilter); + } } \ No newline at end of file diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index 5a42f452de0..0b8177df4ea 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -3,4 +3,29 @@ + + \ No newline at end of file diff --git a/service/src/main/java/org/cbioportal/service/StudyViewService.java b/service/src/main/java/org/cbioportal/service/StudyViewService.java index b9850d73df7..d82133c731c 100644 --- a/service/src/main/java/org/cbioportal/service/StudyViewService.java +++ b/service/src/main/java/org/cbioportal/service/StudyViewService.java @@ -3,6 +3,8 @@ import org.cbioportal.model.*; import org.cbioportal.service.exception.MolecularProfileNotFoundException; import org.cbioportal.service.exception.StudyNotFoundException; +import org.cbioportal.webparam.SampleIdentifier; +import org.cbioportal.webparam.StudyViewFilter; import org.springframework.cache.annotation.Cacheable; import java.util.List; @@ -20,4 +22,6 @@ List getCNAAlterationCountByGenes(List studyIds, throws StudyNotFoundException; List fetchGenericAssayDataCounts(List sampleIds, List studyIds, List stableIds, List profileTypes); + + List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter); } diff --git a/service/src/main/java/org/cbioportal/service/impl/StudyViewServiceImpl.java b/service/src/main/java/org/cbioportal/service/impl/StudyViewServiceImpl.java index 3099ab9327d..9d469b10bb1 100644 --- a/service/src/main/java/org/cbioportal/service/impl/StudyViewServiceImpl.java +++ b/service/src/main/java/org/cbioportal/service/impl/StudyViewServiceImpl.java @@ -4,10 +4,12 @@ import org.apache.commons.lang3.StringUtils; import org.cbioportal.model.*; import org.cbioportal.model.util.Select; +import org.cbioportal.persistence.StudyViewRepository; import org.cbioportal.service.*; import org.cbioportal.service.exception.MolecularProfileNotFoundException; import org.cbioportal.service.exception.StudyNotFoundException; import org.cbioportal.service.util.MolecularProfileUtil; +import org.cbioportal.webparam.StudyViewFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -32,6 +34,8 @@ public class StudyViewServiceImpl implements StudyViewService { private SignificantCopyNumberRegionService significantCopyNumberRegionService; @Autowired private GenericAssayService genericAssayService; + @Autowired + private StudyViewRepository studyViewRepository; @Override public List getGenomicDataCounts(List studyIds, List sampleIds) { @@ -245,4 +249,10 @@ public List fetchGenericAssayDataCounts(List }) .collect(Collectors.toList()); } + + @Override + public List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter) { + List samples = studyViewRepository.getFilteredSamplesFromColumnstore(studyViewFilter); + return samples; + } } diff --git a/web/src/main/java/org/cbioportal/web/StudyViewController.java b/web/src/main/java/org/cbioportal/web/StudyViewController.java index a4c71000451..fc37d0bbf03 100644 --- a/web/src/main/java/org/cbioportal/web/StudyViewController.java +++ b/web/src/main/java/org/cbioportal/web/StudyViewController.java @@ -318,17 +318,20 @@ public ResponseEntity> fetchFilteredSamples( @ApiParam(required = true, value = "Study view filter") @Valid @RequestBody(required = false) StudyViewFilter studyViewFilter) { - List studyIds = new ArrayList<>(); - List sampleIds = new ArrayList<>(); - - studyViewFilterUtil.extractStudyAndSampleIds( - studyViewFilterApplier.apply(interceptedStudyViewFilter, negateFilters), studyIds, sampleIds); - - List result = new ArrayList<>(); - if (!sampleIds.isEmpty()) { - result = sampleService.fetchSamples(studyIds, sampleIds, Projection.ID.name()); - } - return new ResponseEntity<>(result, HttpStatus.OK); + return new ResponseEntity<>( + studyViewService.getFilteredSamplesFromColumnstore(interceptedStudyViewFilter), + HttpStatus.OK + ); +// List studyIds = new ArrayList<>(); +// List sampleIds = new ArrayList<>(); + +// studyViewFilterUtil.extractStudyAndSampleIds( +// studyViewFilterApplier.apply(interceptedStudyViewFilter, negateFilters), studyIds, sampleIds); +// +// List result = new ArrayList<>(); +// if (!sampleIds.isEmpty()) { +// result = sampleService.fetchSamples(studyIds, sampleIds, Projection.ID.name()); +// } } @PreAuthorize("hasPermission(#involvedCancerStudies, 'Collection', T(org.cbioportal.utils.security.AccessLevel).READ)") From 916fb71fbe440ef7c16bc0e940eb95b1636879f7 Mon Sep 17 00:00:00 2001 From: Pim van Nierop Date: Mon, 20 Mar 2023 07:39:09 +0100 Subject: [PATCH 04/29] Finalize second datasource --- .../portal/dao/ClickhouseJdbcDataSource.java | 13 +++++ ...licationContext-persistenceConnections.xml | 8 +-- persistence/persistence-mybatis/pom.xml | 12 +++++ .../mybatiscolumnstore/StudyViewMapper.java | 5 +- .../StudyViewMyBatisRepository.java | 2 +- .../mybatiscolumnstore/StudyViewMapper.xml | 53 +++++++++++-------- .../ClinicalEventMyBatisRepositoryTest.java | 1 - persistence/pom.xml | 2 +- pom.xml | 4 +- security/permission-evaluator/pom.xml | 4 ++ .../CancerStudyPermissionEvaluator.java | 10 ++-- security/security-spring/pom.xml | 4 ++ service/pom.xml | 12 +++++ web/pom.xml | 8 +++ 14 files changed, 102 insertions(+), 36 deletions(-) create mode 100644 core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java diff --git a/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java b/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java new file mode 100644 index 00000000000..d861b60316e --- /dev/null +++ b/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java @@ -0,0 +1,13 @@ +package org.mskcc.cbio.portal.dao; + +import org.apache.commons.dbcp2.BasicDataSource; + +public class ClickhouseJdbcDataSource extends BasicDataSource { + public ClickhouseJdbcDataSource() { + this.setDriverClassName("com.clickhouse.jdbc.ClickHouseDriver"); + this.setUsername("cbio"); + this.setPassword("P@ssword1"); + this.setUrl("jdbc:ch://clickhouse:8123/cbioportal?user=cbio&password=P@ssword1&zeroDateTimeBehavior=convertToNull&useSSL=false useSSL"); + this.setJmxName("org.cbioportal:DataSource=clickhouse"); + } +} diff --git a/persistence/persistence-connections/src/main/resources/applicationContext-persistenceConnections.xml b/persistence/persistence-connections/src/main/resources/applicationContext-persistenceConnections.xml index d88940b7237..ebb32cbcda1 100644 --- a/persistence/persistence-connections/src/main/resources/applicationContext-persistenceConnections.xml +++ b/persistence/persistence-connections/src/main/resources/applicationContext-persistenceConnections.xml @@ -24,7 +24,7 @@ - + @@ -46,7 +46,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -82,7 +82,7 @@ + class="org.mskcc.cbio.portal.dao.ClickhouseJdbcDataSource" /> diff --git a/persistence/persistence-mybatis/pom.xml b/persistence/persistence-mybatis/pom.xml index f1e0b4661b8..bb328864e7a 100644 --- a/persistence/persistence-mybatis/pom.xml +++ b/persistence/persistence-mybatis/pom.xml @@ -7,6 +7,18 @@ PROJECT_VERSION env variable (see version.sh) --> 0-unknown-version-SNAPSHOT + + + + org.apache.maven.plugins + maven-compiler-plugin + + 9 + 9 + + + + 4.0.0 persistence-mybatis diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java index 7bd5c882091..62bc274b3f9 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java @@ -1,7 +1,10 @@ package org.cbioportal.persistence.mybatiscolumnstore; +import org.cbioportal.model.Sample; import org.cbioportal.webparam.StudyViewFilter; +import java.util.List; + public interface StudyViewMapper { - void filteredSamples(StudyViewFilter studyViewFilter); + List getFilteredSamples(StudyViewFilter studyViewFilter); } diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java index b5b14e66fed..ca17a5afb3d 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java @@ -16,6 +16,6 @@ public class StudyViewMyBatisRepository implements StudyViewRepository { @Override public List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter) { - studyViewMapper.filteredSamples(studyViewFilter); + return studyViewMapper.getFilteredSamples(studyViewFilter); } } \ No newline at end of file diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index 0b8177df4ea..10417a28849 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -3,29 +3,36 @@ - + SELECT patient_stable_id as patientStableId, + sample_stable_id as stableId, + sample_internal_id as internalId, + cancer_study_identifier as cancerStudyIdentifier, + uniqueSampleKey, + uniquePatientKey + FROM sample_mysql + WHERE sample_internal_id IN ( + SELECT DISTINCT sample_internal_id + FROM sample + WHERE sample_stable_id IN ( + -- StudyView filter + SELECT sample_stable_id + FROM sample + WHERE cancer_study_identifier IN ('msk_impact_2017', 'msk_ch_2020', 'msk_met_2021') + INTERSECT + SELECT sample_stable_id + FROM cna_discrete + WHERE alteration IN (-2, 2) + INTERSECT + SELECT sample_stable_id + FROM sample_clinical_attribute_categorical + WHERE attribute_name = 'CANCER_TYPE' AND attribute_value = 'Anal Cancer' + INTERSECT + SELECT sample_stable_id + FROM mutation + WHERE hugo_gene_symbol IN ('BML', 'AR', 'TP53', 'BRAF')) + ) ORDER BY sample_stable_id ASC; - + \ No newline at end of file diff --git a/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/ClinicalEventMyBatisRepositoryTest.java b/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/ClinicalEventMyBatisRepositoryTest.java index 1ab5ace7d1a..564f301c027 100644 --- a/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/ClinicalEventMyBatisRepositoryTest.java +++ b/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatis/ClinicalEventMyBatisRepositoryTest.java @@ -12,7 +12,6 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Set; diff --git a/persistence/pom.xml b/persistence/pom.xml index f4426e381b2..3cc95db51df 100644 --- a/persistence/pom.xml +++ b/persistence/pom.xml @@ -15,7 +15,7 @@ org.osgi.service.component.annotations - ru.yandex.clickhouse + com.clickhouse clickhouse-jdbc diff --git a/pom.xml b/pom.xml index 1745f8d544d..39b455ddcd2 100644 --- a/pom.xml +++ b/pom.xml @@ -460,9 +460,9 @@ ${mysql-connector.version} - ru.yandex.clickhouse + com.clickhouse clickhouse-jdbc - 0.3.2 + 0.4.0 diff --git a/security/permission-evaluator/pom.xml b/security/permission-evaluator/pom.xml index c36188ba8a3..f9899aa0efa 100644 --- a/security/permission-evaluator/pom.xml +++ b/security/permission-evaluator/pom.xml @@ -19,6 +19,10 @@ org.mskcc.cbio persistence-mybatis + + org.mskcc.cbio + model + \ No newline at end of file diff --git a/security/permission-evaluator/src/main/java/org/cbioportal/security/CancerStudyPermissionEvaluator.java b/security/permission-evaluator/src/main/java/org/cbioportal/security/CancerStudyPermissionEvaluator.java index e383f795857..bbb2f1cee88 100644 --- a/security/permission-evaluator/src/main/java/org/cbioportal/security/CancerStudyPermissionEvaluator.java +++ b/security/permission-evaluator/src/main/java/org/cbioportal/security/CancerStudyPermissionEvaluator.java @@ -34,12 +34,16 @@ import java.io.Serializable; import java.util.*; + +import org.cbioportal.model.CancerStudy; +import org.cbioportal.model.MolecularProfile; +import org.cbioportal.model.Patient; +import org.cbioportal.model.SampleList; +import org.cbioportal.persistence.cachemaputil.CacheMapUtil; +import org.cbioportal.utils.security.AccessLevel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.cbioportal.model.*; -import org.cbioportal.persistence.cachemaputil.CacheMapUtil; import org.springframework.beans.factory.annotation.*; -import org.cbioportal.utils.security.AccessLevel; import org.springframework.security.access.PermissionEvaluator; import org.springframework.security.core.Authentication; import org.springframework.security.core.authority.AuthorityUtils; diff --git a/security/security-spring/pom.xml b/security/security-spring/pom.xml index 07f909d4d44..a548c8c1061 100644 --- a/security/security-spring/pom.xml +++ b/security/security-spring/pom.xml @@ -119,5 +119,9 @@ junit junit + + org.mskcc.cbio + persistence-api + diff --git a/service/pom.xml b/service/pom.xml index e11fad66c7a..d80d4914de9 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -7,6 +7,18 @@ PROJECT_VERSION env variable (see version.sh) --> 0-unknown-version-SNAPSHOT + + + + org.apache.maven.plugins + maven-compiler-plugin + + 9 + 9 + + + + 4.0.0 service diff --git a/web/pom.xml b/web/pom.xml index f0f2425ccea..f53aeba2e44 100644 --- a/web/pom.xml +++ b/web/pom.xml @@ -189,6 +189,14 @@ + + org.apache.maven.plugins + maven-compiler-plugin + + 9 + 9 + + From 6cf4d7cfb185505883b4af42c7d6ea573c1d62b0 Mon Sep 17 00:00:00 2001 From: Pim van Nierop Date: Sun, 26 Mar 2023 14:15:42 +0200 Subject: [PATCH 05/29] Fix clickhouse datasource --- .../cbio/portal/dao/ClickhouseJdbcDataSource.java | 2 +- .../applicationContext-persistenceConnections.xml | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java b/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java index d861b60316e..1bd41fcfb1a 100644 --- a/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java +++ b/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java @@ -7,7 +7,7 @@ public ClickhouseJdbcDataSource() { this.setDriverClassName("com.clickhouse.jdbc.ClickHouseDriver"); this.setUsername("cbio"); this.setPassword("P@ssword1"); - this.setUrl("jdbc:ch://clickhouse:8123/cbioportal?user=cbio&password=P@ssword1&zeroDateTimeBehavior=convertToNull&useSSL=false useSSL"); + this.setUrl("jdbc:ch://localhost:8123/cbioportal?user=cbio&password=P@ssword1&zeroDateTimeBehavior=convertToNull&useSSL=false"); this.setJmxName("org.cbioportal:DataSource=clickhouse"); } } diff --git a/persistence/persistence-connections/src/main/resources/applicationContext-persistenceConnections.xml b/persistence/persistence-connections/src/main/resources/applicationContext-persistenceConnections.xml index ebb32cbcda1..3976c7a8234 100644 --- a/persistence/persistence-connections/src/main/resources/applicationContext-persistenceConnections.xml +++ b/persistence/persistence-connections/src/main/resources/applicationContext-persistenceConnections.xml @@ -42,6 +42,10 @@ + + + + @@ -68,7 +72,11 @@ - + + + + + From b998a6c4999f407b21260b68d2c565244f337d58 Mon Sep 17 00:00:00 2001 From: Pim van Nierop Date: Sun, 26 Mar 2023 14:18:19 +0200 Subject: [PATCH 06/29] Wip --- .../java/org/cbioportal/web/StudyViewController.java | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/web/src/main/java/org/cbioportal/web/StudyViewController.java b/web/src/main/java/org/cbioportal/web/StudyViewController.java index fc37d0bbf03..c2448f004e1 100644 --- a/web/src/main/java/org/cbioportal/web/StudyViewController.java +++ b/web/src/main/java/org/cbioportal/web/StudyViewController.java @@ -322,16 +322,6 @@ public ResponseEntity> fetchFilteredSamples( studyViewService.getFilteredSamplesFromColumnstore(interceptedStudyViewFilter), HttpStatus.OK ); -// List studyIds = new ArrayList<>(); -// List sampleIds = new ArrayList<>(); - -// studyViewFilterUtil.extractStudyAndSampleIds( -// studyViewFilterApplier.apply(interceptedStudyViewFilter, negateFilters), studyIds, sampleIds); -// -// List result = new ArrayList<>(); -// if (!sampleIds.isEmpty()) { -// result = sampleService.fetchSamples(studyIds, sampleIds, Projection.ID.name()); -// } } @PreAuthorize("hasPermission(#involvedCancerStudies, 'Collection', T(org.cbioportal.utils.security.AccessLevel).READ)") From 0d0ecac18fac2a9497974c15a25bdf899cf000ab Mon Sep 17 00:00:00 2001 From: Pim van Nierop Date: Thu, 30 Mar 2023 16:04:34 +0200 Subject: [PATCH 07/29] Wip --- .../StudyViewMyBatisRepository.java | 3 +- .../mybatiscolumnstore/StudyViewMapper.xml | 84 +++++++++++++++---- 2 files changed, 68 insertions(+), 19 deletions(-) diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java index ca17a5afb3d..a0f126bf0ec 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java @@ -16,6 +16,7 @@ public class StudyViewMyBatisRepository implements StudyViewRepository { @Override public List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter) { - return studyViewMapper.getFilteredSamples(studyViewFilter); + final List filteredSamples = studyViewMapper.getFilteredSamples(studyViewFilter); + return filteredSamples; } } \ No newline at end of file diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index 10417a28849..daad6a24e3d 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -14,25 +14,73 @@ WHERE sample_internal_id IN ( SELECT DISTINCT sample_internal_id FROM sample - WHERE sample_stable_id IN ( - -- StudyView filter - SELECT sample_stable_id - FROM sample - WHERE cancer_study_identifier IN ('msk_impact_2017', 'msk_ch_2020', 'msk_met_2021') - INTERSECT - SELECT sample_stable_id - FROM cna_discrete - WHERE alteration IN (-2, 2) - INTERSECT - SELECT sample_stable_id - FROM sample_clinical_attribute_categorical - WHERE attribute_name = 'CANCER_TYPE' AND attribute_value = 'Anal Cancer' - INTERSECT - SELECT sample_stable_id - FROM mutation - WHERE hugo_gene_symbol IN ('BML', 'AR', 'TP53', 'BRAF')) + WHERE sample_unique_id IN ( + + + INTERSECT + SELECT sample_unique_id + FROM sample + WHERE cancer_study_identifier IN + + #{studyId} + + + + INTERSECT + SELECT sample_unique_id + FROM sample + WHERE sample_unique_id IN ( + + #{sampleIdentifier.getStudyId()}_#{sampleIdentifier.getSampleId()} + + ) + + + INTERSECT + SELECT sample_unique_id + FROM genomic_event + + + + genetic_profile_stable_id IN + + #{molecularProfileId} + + AND hugo_gene_symbol IN + + + #{geneFilterQuery.hugoGeneSymbol} + + + + + + + + + + + + + + + + + + + + + + + + + ) + ) ORDER BY sample_stable_id ASC; - \ No newline at end of file + From a126eaa6dea92ba1e354ecd19d7a2552692eb8fa Mon Sep 17 00:00:00 2001 From: Pim van Nierop Date: Sat, 1 Apr 2023 16:19:00 +0200 Subject: [PATCH 08/29] Working version of study view filter --- .../mybatiscolumnstore/StudyViewMapper.xml | 142 +++++++++--------- 1 file changed, 72 insertions(+), 70 deletions(-) diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index daad6a24e3d..ef66f26a1ba 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -4,83 +4,85 @@ + + + + + INTERSECT + SELECT sample_unique_id FROM sample - WHERE sample_unique_id IN ( - - - INTERSECT - SELECT sample_unique_id - FROM sample - WHERE cancer_study_identifier IN - - #{studyId} + WHERE cancer_study_identifier IN + + #{studyId} + + + + INTERSECT + SELECT sample_unique_id + FROM sample + WHERE sample_unique_id IN + + #{sampleIdentifier.getStudyId()}_#{sampleIdentifier.getSampleId()} + + + + INTERSECT + SELECT sample_unique_id + FROM genomic_event + + + + genetic_profile_stable_id IN + + #{molecularProfileId} + + AND hugo_gene_symbol IN + + + #{geneFilterQuery.hugoGeneSymbol} - - - INTERSECT - SELECT sample_unique_id - FROM sample - WHERE sample_unique_id IN ( - - #{sampleIdentifier.getStudyId()}_#{sampleIdentifier.getSampleId()} - ) - - - INTERSECT - SELECT sample_unique_id - FROM genomic_event - - - - genetic_profile_stable_id IN - - #{molecularProfileId} - - AND hugo_gene_symbol IN - - - #{geneFilterQuery.hugoGeneSymbol} - - - - - - - - - - - - - - - - - - - - - - - - + + + + + INTERSECT + SELECT sample_unique_id + FROM sample + WHERE patient_unique_id IN ( + SELECT patient_unique_id + FROM patient_clinical_attribute_numeric + WHERE + + + + attribute_name = '${clinicalDataFilter.attributeId}' + AND attribute_value > ${dataFilterValue.start} + AND attribute_value <= ${dataFilterValue.end} + + + ) - ) - ORDER BY sample_stable_id ASC; - + + + From 3b85a99210d317777392020f39924b6e90bfaa22 Mon Sep 17 00:00:00 2001 From: Pim van Nierop Date: Mon, 3 Apr 2023 10:52:51 +0200 Subject: [PATCH 09/29] Add mutated-genes via clickhouse --- .../persistence/StudyViewRepository.java | 3 ++ .../mybatiscolumnstore/StudyViewMapper.java | 2 + .../StudyViewMyBatisRepository.java | 9 +++- .../mybatiscolumnstore/StudyViewMapper.xml | 48 ++++++++++++++----- .../cbioportal/service/StudyViewService.java | 2 + .../service/impl/StudyViewServiceImpl.java | 8 +++- .../cbioportal/web/StudyViewController.java | 9 ++-- 7 files changed, 60 insertions(+), 21 deletions(-) diff --git a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java index f20bb4785ed..ec5ea68cd45 100644 --- a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java +++ b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java @@ -1,5 +1,6 @@ package org.cbioportal.persistence; +import org.cbioportal.model.AlterationCountByGene; import org.cbioportal.model.Sample; import org.cbioportal.webparam.StudyViewFilter; @@ -7,4 +8,6 @@ public interface StudyViewRepository { List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter); + + List getMutatedGenes(StudyViewFilter studyViewFilter); } diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java index 62bc274b3f9..eb9671a43d0 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java @@ -1,5 +1,6 @@ package org.cbioportal.persistence.mybatiscolumnstore; +import org.cbioportal.model.AlterationCountByGene; import org.cbioportal.model.Sample; import org.cbioportal.webparam.StudyViewFilter; @@ -7,4 +8,5 @@ public interface StudyViewMapper { List getFilteredSamples(StudyViewFilter studyViewFilter); + List getMutatedGenes(StudyViewFilter studyViewFilter); } diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java index a0f126bf0ec..d8361240a21 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java @@ -1,5 +1,6 @@ package org.cbioportal.persistence.mybatiscolumnstore; +import org.cbioportal.model.AlterationCountByGene; import org.cbioportal.model.Sample; import org.cbioportal.persistence.StudyViewRepository; import org.cbioportal.webparam.StudyViewFilter; @@ -16,7 +17,11 @@ public class StudyViewMyBatisRepository implements StudyViewRepository { @Override public List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter) { - final List filteredSamples = studyViewMapper.getFilteredSamples(studyViewFilter); - return filteredSamples; + return studyViewMapper.getFilteredSamples(studyViewFilter); + } + + @Override + public List getMutatedGenes(StudyViewFilter studyViewFilter) { + return studyViewMapper.getMutatedGenes(studyViewFilter); } } \ No newline at end of file diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index ef66f26a1ba..7b3bec65cef 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -16,12 +16,28 @@ SELECT DISTINCT sample_internal_id FROM sample WHERE sample_unique_id IN ( - + ) ) ORDER BY sample_stable_id ASC; + + @@ -68,19 +84,25 @@ SELECT sample_unique_id FROM sample WHERE patient_unique_id IN ( - SELECT patient_unique_id - FROM patient_clinical_attribute_numeric - WHERE - - - - attribute_name = '${clinicalDataFilter.attributeId}' - AND attribute_value > ${dataFilterValue.start} - AND attribute_value <= ${dataFilterValue.end} + SELECT patient_unique_id + FROM patient_clinical_attribute_numeric + WHERE + + + + attribute_name = '${clinicalDataFilter.attributeId}' + + AND attribute_value = -1000000 + + + AND attribute_value > ${dataFilterValue.start} + + + AND attribute_value <= ${dataFilterValue.end} + + - - - ) + diff --git a/service/src/main/java/org/cbioportal/service/StudyViewService.java b/service/src/main/java/org/cbioportal/service/StudyViewService.java index d82133c731c..efd835f658b 100644 --- a/service/src/main/java/org/cbioportal/service/StudyViewService.java +++ b/service/src/main/java/org/cbioportal/service/StudyViewService.java @@ -24,4 +24,6 @@ List getCNAAlterationCountByGenes(List studyIds, List fetchGenericAssayDataCounts(List sampleIds, List studyIds, List stableIds, List profileTypes); List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter); + + List getMutatedGenesFromColumnstore(StudyViewFilter interceptedStudyViewFilter); } diff --git a/service/src/main/java/org/cbioportal/service/impl/StudyViewServiceImpl.java b/service/src/main/java/org/cbioportal/service/impl/StudyViewServiceImpl.java index 9d469b10bb1..9780435fdef 100644 --- a/service/src/main/java/org/cbioportal/service/impl/StudyViewServiceImpl.java +++ b/service/src/main/java/org/cbioportal/service/impl/StudyViewServiceImpl.java @@ -252,7 +252,11 @@ public List fetchGenericAssayDataCounts(List @Override public List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter) { - List samples = studyViewRepository.getFilteredSamplesFromColumnstore(studyViewFilter); - return samples; + return studyViewRepository.getFilteredSamplesFromColumnstore(studyViewFilter); + } + + @Override + public List getMutatedGenesFromColumnstore(StudyViewFilter studyViewFilter) { + return studyViewRepository.getMutatedGenes(studyViewFilter); } } diff --git a/web/src/main/java/org/cbioportal/web/StudyViewController.java b/web/src/main/java/org/cbioportal/web/StudyViewController.java index c2448f004e1..b94dee92314 100644 --- a/web/src/main/java/org/cbioportal/web/StudyViewController.java +++ b/web/src/main/java/org/cbioportal/web/StudyViewController.java @@ -203,10 +203,11 @@ public ResponseEntity> fetchMutatedGenes( @RequestAttribute(required = false, value = "involvedCancerStudies") Collection involvedCancerStudies, @ApiIgnore // prevent reference to this attribute in the swagger-ui interface. this attribute is needed for the @PreAuthorize tag above. @Valid @RequestAttribute(required = false, value = "interceptedStudyViewFilter") StudyViewFilter interceptedStudyViewFilter - ) throws StudyNotFoundException { - boolean singleStudyUnfiltered = studyViewFilterUtil.isSingleStudyUnfiltered(interceptedStudyViewFilter); - List alterationCountByGenes = instance.cachedFetchMutatedGenes(interceptedStudyViewFilter, singleStudyUnfiltered); - return new ResponseEntity<>(alterationCountByGenes, HttpStatus.OK); + ) { + return new ResponseEntity<>( + studyViewService.getMutatedGenesFromColumnstore(interceptedStudyViewFilter), + HttpStatus.OK + ); } @Cacheable( From 6e103e8dc6ac9a1c25a50a8e26e0bc623cd4ad61 Mon Sep 17 00:00:00 2001 From: Pim van Nierop Date: Mon, 3 Apr 2023 10:53:07 +0200 Subject: [PATCH 10/29] Fix ClinicalEventMapper.xml --- .../org/cbioportal/persistence/mybatis/ClinicalEventMapper.xml | 2 +- .../persistence/mybatiscolumnstore/StudyViewMapper.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatis/ClinicalEventMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatis/ClinicalEventMapper.xml index 3bb73ea761b..20fedd6b609 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatis/ClinicalEventMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatis/ClinicalEventMapper.xml @@ -174,7 +174,7 @@ - Group by clinical_event.EVENT_TYPE, patient.STABLE_ID + GROUP BY clinical_event.CLINICAL_EVENT_ID, clinical_event.EVENT_TYPE, patient.STABLE_ID diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index 7b3bec65cef..475fbc8e835 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -103,6 +103,7 @@ + ) From 2814099af91727c5a85e0a2f7a60ccb715777ab7 Mon Sep 17 00:00:00 2001 From: pvannierop Date: Tue, 9 May 2023 18:41:17 +0200 Subject: [PATCH 11/29] Add comments --- .../persistence/mybatiscolumnstore/StudyViewMapper.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index 475fbc8e835..a782e6616e0 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -3,6 +3,7 @@ + - + + + @@ -105,6 +109,7 @@ ) + From e1e576e8797de6bbbfe4c2bd8d9b509b7be0b8aa Mon Sep 17 00:00:00 2001 From: pvannierop Date: Wed, 10 May 2023 14:06:57 +0200 Subject: [PATCH 12/29] Deprecate need for connection to MySQL for clickhouse --- .../mybatiscolumnstore/StudyViewMapper.xml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index a782e6616e0..a1b034c93f1 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -8,15 +8,11 @@ SELECT patient_stable_id as patientStableId, sample_stable_id as stableId, - sample_internal_id as internalId, cancer_study_identifier as cancerStudyIdentifier, - uniqueSampleKey, - uniquePatientKey - FROM sample_mysql - WHERE sample_internal_id IN ( - SELECT DISTINCT sample_internal_id - FROM sample - WHERE sample_unique_id IN ( + base64Encode(sample_unique_id) as uniqueSampleKey, + base64Encode(patient_unique_id) as uniquePatientKey + FROM sample + WHERE sample_unique_id IN ( ) From 4221dfa887870d95b4a6f9544710bac43786ad4a Mon Sep 17 00:00:00 2001 From: pvannierop Date: Wed, 10 May 2023 14:52:25 +0200 Subject: [PATCH 13/29] Fix typo --- .../persistence/mybatiscolumnstore/StudyViewMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index a1b034c93f1..11f1e4ce549 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -25,7 +25,7 @@ SELECT hugo_gene_symbol as hugoGeneSymbol, 1 as entrezGeneId, - -- TODO incorporate login on gene panels to assess the number of profiled cases. + -- TODO incorporate logic on gene panels to assess the number of profiled cases. COUNT(DISTINCT sample_unique_id) as numberOfProfiledCases, COUNT(DISTINCT sample_unique_id) as numberOfAlteredCases, COUNT(*) as totalCount From 2c2e7aa072e586d5923f0e769db14cc7da7b1c70 Mon Sep 17 00:00:00 2001 From: pvannierop Date: Wed, 10 May 2023 20:06:05 +0200 Subject: [PATCH 14/29] Fix mapper --- .../mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java | 2 +- persistence/persistence-api/pom.xml | 4 ++++ .../persistence/mybatiscolumnstore/StudyViewMapper.xml | 7 +++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java b/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java index 1bd41fcfb1a..a2f75078dbf 100644 --- a/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java +++ b/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java @@ -7,7 +7,7 @@ public ClickhouseJdbcDataSource() { this.setDriverClassName("com.clickhouse.jdbc.ClickHouseDriver"); this.setUsername("cbio"); this.setPassword("P@ssword1"); - this.setUrl("jdbc:ch://localhost:8123/cbioportal?user=cbio&password=P@ssword1&zeroDateTimeBehavior=convertToNull&useSSL=false"); + this.setUrl("jdbc:ch://clickhouse:8123/cbioportal?user=cbio&zeroDateTimeBehavior=convertToNull&useSSL=false"); this.setJmxName("org.cbioportal:DataSource=clickhouse"); } } diff --git a/persistence/persistence-api/pom.xml b/persistence/persistence-api/pom.xml index 8997ffefe2b..e7fe1ff7790 100644 --- a/persistence/persistence-api/pom.xml +++ b/persistence/persistence-api/pom.xml @@ -16,6 +16,10 @@ org.mskcc.cbio model + + org.mskcc.cbio + webparam + org.mskcc.cbio utils diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index 11f1e4ce549..32258f56f9f 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -13,9 +13,8 @@ base64Encode(patient_unique_id) as uniquePatientKey FROM sample WHERE sample_unique_id IN ( - - - ) + + ) ORDER BY sample_stable_id ASC; @@ -31,7 +30,7 @@ COUNT(*) as totalCount FROM mutation WHERE sample_unique_id IN ( - + ) GROUP BY hugo_gene_symbol ORDER BY totalCount DESC; From 00ef061677002541092d8e91441013da7a9912fe Mon Sep 17 00:00:00 2001 From: pvannierop Date: Wed, 10 May 2023 20:59:07 +0200 Subject: [PATCH 15/29] Externalize clickhouse connection string config --- .../cbio/portal/dao/ClickhouseJdbcDataSource.java | 11 ++++++++--- src/main/resources/portal.properties.EXAMPLE | 3 +++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java b/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java index a2f75078dbf..4bf1a198fd4 100644 --- a/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java +++ b/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java @@ -1,13 +1,18 @@ package org.mskcc.cbio.portal.dao; import org.apache.commons.dbcp2.BasicDataSource; +import org.mskcc.cbio.portal.util.GlobalProperties; public class ClickhouseJdbcDataSource extends BasicDataSource { + public ClickhouseJdbcDataSource() { + String connectionString = GlobalProperties.getProperty("db.clickhouse.connection_string"); + String user = GlobalProperties.getProperty("db.user"); + String password = GlobalProperties.getProperty("db.password"); this.setDriverClassName("com.clickhouse.jdbc.ClickHouseDriver"); - this.setUsername("cbio"); - this.setPassword("P@ssword1"); - this.setUrl("jdbc:ch://clickhouse:8123/cbioportal?user=cbio&zeroDateTimeBehavior=convertToNull&useSSL=false"); + this.setUsername(user); + this.setPassword(password); + this.setUrl(connectionString); this.setJmxName("org.cbioportal:DataSource=clickhouse"); } } diff --git a/src/main/resources/portal.properties.EXAMPLE b/src/main/resources/portal.properties.EXAMPLE index e9dfc689d1a..d9ec1b6e04f 100644 --- a/src/main/resources/portal.properties.EXAMPLE +++ b/src/main/resources/portal.properties.EXAMPLE @@ -16,6 +16,9 @@ db.connection_string=jdbc:mysql://localhost:3306/ # # db.tomcat_resource_name=jdbc/cbioportal +# Note: clickhouse uses the same username and password as MySQL database +# db.clickhouse.connection_string=jdbc:ch://clickhouse:8123/cbioportal?user=cbio&zeroDateTimeBehavior=convertToNull&useSSL=false + # this should normally be set to false. In some cases you could set this to true (e.g. for testing a feature of a newer release that is not related to the schema change in expected db version above): db.suppress_schema_version_mismatch_errors=false db.use_ssl=false From f1efaf99fa86f2cae733d63ba479271a2bd49dc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=F0=9F=94=A7=20Ino=20de=20Bruijn=20=F0=9F=A7=AC?= Date: Mon, 15 May 2023 14:19:53 -0400 Subject: [PATCH 16/29] make clickhouse db params configurable --- .../org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java b/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java index 4bf1a198fd4..b23a88d88fb 100644 --- a/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java +++ b/core/src/main/java/org/mskcc/cbio/portal/dao/ClickhouseJdbcDataSource.java @@ -7,8 +7,8 @@ public class ClickhouseJdbcDataSource extends BasicDataSource { public ClickhouseJdbcDataSource() { String connectionString = GlobalProperties.getProperty("db.clickhouse.connection_string"); - String user = GlobalProperties.getProperty("db.user"); - String password = GlobalProperties.getProperty("db.password"); + String user = GlobalProperties.getProperty("db.clickhouse.user"); + String password = GlobalProperties.getProperty("db.clickhouse.password"); this.setDriverClassName("com.clickhouse.jdbc.ClickHouseDriver"); this.setUsername(user); this.setPassword(password); From 5848c47484111b9c8df98c233112125331c00efd Mon Sep 17 00:00:00 2001 From: "Jeremy R. Easton-Marks" Date: Wed, 17 May 2023 11:27:32 -0500 Subject: [PATCH 17/29] Sample Retrieval - Add versionRange to pom.xml to conform to specifications - Add ClickHouseDB query for retrieving sample_ids from sample table based on attribute --- .../mybatiscolumnstore/StudyViewMapper.xml | 23 ++++++++++++++++++- pom.xml | 1 + 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index 32258f56f9f..90ea4124c07 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -78,7 +78,7 @@ - + + + + SELECT sample_unique_id + FROM sample_clinical_attribute_numeric + WHERE attribute_name = '${clinicalDataFilter.attributeId}' + + + + AND attribute_value = -1000000 + + + AND attribute_value > ${dataFilterValue.start} + + + AND attribute_value <= ${dataFilterValue.end} + + + + + ) diff --git a/pom.xml b/pom.xml index 39b455ddcd2..db4b6f6de47 100644 --- a/pom.xml +++ b/pom.xml @@ -1203,6 +1203,7 @@ execute + From c1e40beeb07aa2f535027688900af67f6a691665 Mon Sep 17 00:00:00 2001 From: pvannierop Date: Tue, 23 May 2023 15:36:40 +0200 Subject: [PATCH 18/29] Use precomputed base64 encoded unique identifiers --- .../persistence/mybatiscolumnstore/StudyViewMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index 90ea4124c07..98c6dd77fac 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -9,8 +9,8 @@ patient_stable_id as patientStableId, sample_stable_id as stableId, cancer_study_identifier as cancerStudyIdentifier, - base64Encode(sample_unique_id) as uniqueSampleKey, - base64Encode(patient_unique_id) as uniquePatientKey + sample_unique_id_base64 as uniqueSampley, + patient_unique_id_base64 as uniquePatientKey FROM sample WHERE sample_unique_id IN ( From a89cc82b501b5c7397c5cd281123667798f10d8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=F0=9F=94=A7=20Ino=20de=20Bruijn=20=F0=9F=A7=AC?= Date: Thu, 25 May 2023 18:32:54 -0400 Subject: [PATCH 19/29] Revert "Use precomputed base64 encoded unique identifiers" This reverts commit c1e40beeb07aa2f535027688900af67f6a691665. --- .../persistence/mybatiscolumnstore/StudyViewMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index 98c6dd77fac..90ea4124c07 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -9,8 +9,8 @@ patient_stable_id as patientStableId, sample_stable_id as stableId, cancer_study_identifier as cancerStudyIdentifier, - sample_unique_id_base64 as uniqueSampley, - patient_unique_id_base64 as uniquePatientKey + base64Encode(sample_unique_id) as uniqueSampleKey, + base64Encode(patient_unique_id) as uniquePatientKey FROM sample WHERE sample_unique_id IN ( From fede26d6cfe2a09f4493ede7c9a97e3ef19a1b06 Mon Sep 17 00:00:00 2001 From: Onur Sumer Date: Wed, 31 May 2023 18:20:22 -0400 Subject: [PATCH 20/29] improved clickhouse specific example configuration --- src/main/resources/logback.xml.EXAMPLE | 5 +++++ src/main/resources/portal.properties.EXAMPLE | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/resources/logback.xml.EXAMPLE b/src/main/resources/logback.xml.EXAMPLE index b8873ef95cc..8bb01a1f141 100644 --- a/src/main/resources/logback.xml.EXAMPLE +++ b/src/main/resources/logback.xml.EXAMPLE @@ -24,6 +24,11 @@ + + + + + --> diff --git a/src/main/resources/portal.properties.EXAMPLE b/src/main/resources/portal.properties.EXAMPLE index d9ec1b6e04f..ee91e19ae5d 100644 --- a/src/main/resources/portal.properties.EXAMPLE +++ b/src/main/resources/portal.properties.EXAMPLE @@ -16,8 +16,10 @@ db.connection_string=jdbc:mysql://localhost:3306/ # # db.tomcat_resource_name=jdbc/cbioportal -# Note: clickhouse uses the same username and password as MySQL database +# clickhouse configuration # db.clickhouse.connection_string=jdbc:ch://clickhouse:8123/cbioportal?user=cbio&zeroDateTimeBehavior=convertToNull&useSSL=false +# db.clickhouse.user=cbio_user +# db.clickhouse.password=somepassword # this should normally be set to false. In some cases you could set this to true (e.g. for testing a feature of a newer release that is not related to the schema change in expected db version above): db.suppress_schema_version_mismatch_errors=false From 0bf78c91d2b9dab7f3c71f71ada3f0a159b9405f Mon Sep 17 00:00:00 2001 From: Onur Sumer Date: Mon, 5 Jun 2023 17:01:28 -0400 Subject: [PATCH 21/29] use base64 encoded columns for unique sample and patient keys --- .../persistence/mybatiscolumnstore/StudyViewMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index 90ea4124c07..b2c588c89d6 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -9,8 +9,8 @@ patient_stable_id as patientStableId, sample_stable_id as stableId, cancer_study_identifier as cancerStudyIdentifier, - base64Encode(sample_unique_id) as uniqueSampleKey, - base64Encode(patient_unique_id) as uniquePatientKey + sample_unique_id_base64 as uniqueSampleKey, + patient_unique_id_base64 as uniquePatientKey FROM sample WHERE sample_unique_id IN ( From 60a5146809b3efbe1c798ca87f004f30748dcd8b Mon Sep 17 00:00:00 2001 From: Onur Sumer Date: Mon, 26 Jun 2023 17:47:14 -0400 Subject: [PATCH 22/29] add mock data and config for clickhouse testing on filtered samples and mutated genes (#10213) Co-authored-by: Bryan Lai --- .../StudyViewMyBatisRepositoryTest.java | 49 +++++++ .../src/test/resources/clickhouseSchema.sql | 121 ++++++++++++++++++ .../src/test/resources/clickhouseTestSql.sql | 20 +++ .../testContextDatabaseClickhouse.xml | 42 ++++++ 4 files changed, 232 insertions(+) create mode 100644 persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepositoryTest.java create mode 100644 persistence/persistence-mybatis/src/test/resources/clickhouseSchema.sql create mode 100644 persistence/persistence-mybatis/src/test/resources/clickhouseTestSql.sql create mode 100644 persistence/persistence-mybatis/src/test/resources/testContextDatabaseClickhouse.xml diff --git a/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepositoryTest.java b/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepositoryTest.java new file mode 100644 index 00000000000..a67cf376d51 --- /dev/null +++ b/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepositoryTest.java @@ -0,0 +1,49 @@ +package org.cbioportal.persistence.mybatiscolumnstore; + +import org.cbioportal.model.AlterationCountByGene; +import org.cbioportal.model.Sample; +import org.cbioportal.webparam.StudyViewFilter; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Configurable; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import java.util.ArrayList; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration("/testContextDatabaseClickhouse.xml") +@Configurable +public class StudyViewMyBatisRepositoryTest { + + @Autowired + private StudyViewMyBatisRepository studyViewMyBatisRepository; + + @Test + public void getFilteredSamples() { + StudyViewFilter studyViewFilter = new StudyViewFilter(); + + List studyIds = new ArrayList<>(); + studyIds.add("msk_ch_2020"); + studyViewFilter.setStudyIds(studyIds); + + List samples = studyViewMyBatisRepository.getFilteredSamplesFromColumnstore(studyViewFilter); + Assert.assertEquals(3, samples.size()); + } + + @Test + public void getMutatedGenes() { + StudyViewFilter studyViewFilter = new StudyViewFilter(); + + List studyIds = new ArrayList<>(); + studyIds.add("msk_ch_2020"); + studyViewFilter.setStudyIds(studyIds); + + List mutations = studyViewMyBatisRepository.getMutatedGenes(studyViewFilter); + Assert.assertEquals(2, mutations.size()); + } + +} \ No newline at end of file diff --git a/persistence/persistence-mybatis/src/test/resources/clickhouseSchema.sql b/persistence/persistence-mybatis/src/test/resources/clickhouseSchema.sql new file mode 100644 index 00000000000..37721f01497 --- /dev/null +++ b/persistence/persistence-mybatis/src/test/resources/clickhouseSchema.sql @@ -0,0 +1,121 @@ +create table cna_discrete +( + sample_unique_id varchar(255), + alteration int, + hugo_gene_symbol varchar(255), + gene_panel_stable_id varchar(255), + cancer_study_identifier varchar(255), + genetic_profile_stable_id varchar(255), + PRIMARY KEY (sample_unique_id, alteration, hugo_gene_symbol, cancer_study_identifier) +); + +create table genetic_profile +( + sample_unique_id varchar(255), + genetic_alteration_type varchar(255), + datatype varchar(255), + value varchar(255), + cancer_study_identifier varchar(255), + PRIMARY KEY (sample_unique_id, genetic_alteration_type, datatype, value, cancer_study_identifier) +); + +create table genetic_profile_counts +( + sample_unique_id varchar(255), + profile_name varchar(255), + genetic_profile_stable_id varchar(255), + cancer_study_identifier varchar(255), + count int +); + +create table genomic_event +( + sample_unique_id varchar(255), + variant varchar(255), + hugo_gene_symbol varchar(255), + gene_panel_stable_id varchar(255), + cancer_study_identifier varchar(255), + genetic_profile_stable_id varchar(255), + PRIMARY KEY (sample_unique_id, variant, hugo_gene_symbol, cancer_study_identifier, genetic_profile_stable_id) +); + +create table mutation +( + sample_unique_id varchar(255), + variant varchar(255), + hugo_gene_symbol varchar(255), + gene_panel_stable_id varchar(255), + cancer_study_identifier varchar(255), + genetic_profile_stable_id varchar(255), + PRIMARY KEY (sample_unique_id, variant, hugo_gene_symbol, cancer_study_identifier) +); + +create table patient_clinical_attribute_categorical +( + patient_unique_id varchar(255), + attribute_name varchar(255), + attribute_value varchar(255), + cancer_study_identifier varchar(255), + PRIMARY KEY (patient_unique_id, attribute_name, attribute_value, cancer_study_identifier) +); + +create table patient_clinical_attribute_numeric +( + patient_unique_id varchar(255), + attribute_name varchar(255), + attribute_value float, + cancer_study_identifier varchar(255), + PRIMARY KEY (patient_unique_id, attribute_name, attribute_value, cancer_study_identifier) +); + +create table sample +( + sample_unique_id varchar(255), + sample_stable_id varchar(255), + patient_unique_id varchar(255), + patient_stable_id varchar(255), + cancer_study_identifier varchar(255), + sample_unique_id_base64 varchar(255), + patient_unique_id_base64 varchar(255), + PRIMARY KEY (sample_unique_id, patient_unique_id, cancer_study_identifier) +); + +create table sample_clinical_attribute_categorical +( + patient_unique_id varchar(255), + sample_unique_id varchar(255), + attribute_name varchar(255), + attribute_value varchar(255), + cancer_study_identifier varchar(255), + PRIMARY KEY (patient_unique_id, sample_unique_id, attribute_name, attribute_value, cancer_study_identifier) +); + +create table sample_clinical_attribute_numeric +( + patient_unique_id varchar(255), + sample_unique_id varchar(255), + attribute_name varchar(255), + attribute_value float, + cancer_study_identifier varchar(255), + PRIMARY KEY (patient_unique_id, sample_unique_id, attribute_name, attribute_value, cancer_study_identifier) +); + +create table sample_list +( + sample_unique_id varchar(255), + sample_list_stable_id varchar(255), + name varchar(255), + cancer_study_identifier varchar(255), + PRIMARY KEY (sample_unique_id, sample_list_stable_id, name, cancer_study_identifier) +); + +create table structural_variant +( + sample_unique_id varchar(255), + hugo_symbol_gene1 varchar(255), + hugo_symbol_gene2 varchar(255), + gene_panel_stable_id varchar(255), + cancer_study_identifier varchar(255), + genetic_profile_stable_id varchar(255), + PRIMARY KEY (sample_unique_id, hugo_symbol_gene1, hugo_symbol_gene2, cancer_study_identifier) +); diff --git a/persistence/persistence-mybatis/src/test/resources/clickhouseTestSql.sql b/persistence/persistence-mybatis/src/test/resources/clickhouseTestSql.sql new file mode 100644 index 00000000000..a52d4180198 --- /dev/null +++ b/persistence/persistence-mybatis/src/test/resources/clickhouseTestSql.sql @@ -0,0 +1,20 @@ +INSERT INTO patient_clinical_attribute_numeric (patient_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000004', 'AGE', 39.739902, 'msk_ch_2020'); +INSERT INTO patient_clinical_attribute_numeric (patient_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000004', 'TIME_FROM_DX_TO_SEQ', 991, 'msk_ch_2020'); +INSERT INTO patient_clinical_attribute_numeric (patient_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000004', 'TIME_TO_BLOOD_DRAW_FROM_TX', 609, 'msk_ch_2020'); +INSERT INTO patient_clinical_attribute_numeric (patient_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000015', 'AGE', 44.440792, 'msk_ch_2020'); +INSERT INTO patient_clinical_attribute_numeric (patient_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000015', 'TIME_FROM_DX_TO_SEQ', 2558, 'msk_ch_2020'); +INSERT INTO patient_clinical_attribute_numeric (patient_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000015', 'TIME_TO_BLOOD_DRAW_FROM_TX', 5, 'msk_ch_2020'); +INSERT INTO patient_clinical_attribute_numeric (patient_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000023', 'AGE', 61.319645, 'msk_ch_2020'); +INSERT INTO patient_clinical_attribute_numeric (patient_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000023', 'TIME_FROM_DX_TO_SEQ', 245, 'msk_ch_2020'); +INSERT INTO patient_clinical_attribute_numeric (patient_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000023', 'TIME_TO_BLOOD_DRAW_FROM_TX', 166, 'msk_ch_2020'); + +INSERT INTO sample (sample_unique_id, sample_unique_id_base64, sample_stable_id, patient_unique_id, patient_unique_id_base64, patient_stable_id, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000004-N01', '', 'P-0000004-N01', 'msk_ch_2020_P-0000004', '', 'P-0000004', 'msk_ch_2020'); +INSERT INTO sample (sample_unique_id, sample_unique_id_base64, sample_stable_id, patient_unique_id, patient_unique_id_base64, patient_stable_id, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000015-N01', '', 'P-0000015-N01', 'msk_ch_2020_P-0000015', '', 'P-0000015', 'msk_ch_2020'); +INSERT INTO sample (sample_unique_id, sample_unique_id_base64, sample_stable_id, patient_unique_id, patient_unique_id_base64, patient_stable_id, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000023-N01', '', 'P-0000023-N01', 'msk_ch_2020_P-0000023', '', 'P-0000023', 'msk_ch_2020'); +-- +INSERT INTO genomic_event (sample_unique_id, variant, hugo_gene_symbol, gene_panel_stable_id, cancer_study_identifier, genetic_profile_stable_id) VALUES ('msk_ch_2020_P-0000004-N01', 'p.R1051Q', 'KDR', '', 'msk_ch_2020', 'msk_ch_2020_mutations'); +INSERT INTO genomic_event (sample_unique_id, variant, hugo_gene_symbol, gene_panel_stable_id, cancer_study_identifier, genetic_profile_stable_id) VALUES ('msk_ch_2020_P-0000004-N01', 'p.T1884I', 'TET2', '', 'msk_ch_2020', 'msk_ch_2020_mutations'); + +INSERT INTO mutation (sample_unique_id, variant, hugo_gene_symbol, gene_panel_stable_id, cancer_study_identifier, genetic_profile_stable_id) VALUES ('msk_ch_2020_P-0000004-N01', 'p.R1051Q', 'KDR', '', 'msk_ch_2020', 'msk_ch_2020_mutations'); +INSERT INTO mutation (sample_unique_id, variant, hugo_gene_symbol, gene_panel_stable_id, cancer_study_identifier, genetic_profile_stable_id) VALUES ('msk_ch_2020_P-0000004-N01', 'p.T1884I', 'TET2', '', 'msk_ch_2020', 'msk_ch_2020_mutations'); + diff --git a/persistence/persistence-mybatis/src/test/resources/testContextDatabaseClickhouse.xml b/persistence/persistence-mybatis/src/test/resources/testContextDatabaseClickhouse.xml new file mode 100644 index 00000000000..4f93f760f8c --- /dev/null +++ b/persistence/persistence-mybatis/src/test/resources/testContextDatabaseClickhouse.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 6b5a0a2309f8814a1f8cf67205cbd7fad5248279 Mon Sep 17 00:00:00 2001 From: Onur Sumer Date: Tue, 27 Jun 2023 12:03:04 -0400 Subject: [PATCH 23/29] Revert original Study View endpoints (#10216) * revert study view controller original endpoints and rename clickhouse endpoints * add mybatiscolumnstore to test application context --- .../test/resources/applicationContext-dao.xml | 2 +- .../cbioportal/web/StudyViewController.java | 44 +++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/core/src/test/resources/applicationContext-dao.xml b/core/src/test/resources/applicationContext-dao.xml index ba3ced2b03c..00830ee9241 100644 --- a/core/src/test/resources/applicationContext-dao.xml +++ b/core/src/test/resources/applicationContext-dao.xml @@ -80,7 +80,7 @@ - + diff --git a/web/src/main/java/org/cbioportal/web/StudyViewController.java b/web/src/main/java/org/cbioportal/web/StudyViewController.java index b94dee92314..43ccd35dc6f 100644 --- a/web/src/main/java/org/cbioportal/web/StudyViewController.java +++ b/web/src/main/java/org/cbioportal/web/StudyViewController.java @@ -203,6 +203,23 @@ public ResponseEntity> fetchMutatedGenes( @RequestAttribute(required = false, value = "involvedCancerStudies") Collection involvedCancerStudies, @ApiIgnore // prevent reference to this attribute in the swagger-ui interface. this attribute is needed for the @PreAuthorize tag above. @Valid @RequestAttribute(required = false, value = "interceptedStudyViewFilter") StudyViewFilter interceptedStudyViewFilter + ) throws StudyNotFoundException { + boolean singleStudyUnfiltered = studyViewFilterUtil.isSingleStudyUnfiltered(interceptedStudyViewFilter); + List alterationCountByGenes = instance.cachedFetchMutatedGenes(interceptedStudyViewFilter, singleStudyUnfiltered); + return new ResponseEntity<>(alterationCountByGenes, HttpStatus.OK); + } + + @PreAuthorize("hasPermission(#involvedCancerStudies, 'Collection', T(org.cbioportal.utils.security.AccessLevel).READ)") + @RequestMapping(value = "/column-store/mutated-genes/fetch", method = RequestMethod.POST, + consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @ApiOperation("Fetch mutated genes by study view filter") + public ResponseEntity> fetchMutatedGenesFromColumnStore( + @ApiParam(required = true, value = "Study view filter") + @Valid @RequestBody(required = false) StudyViewFilter studyViewFilter, + @ApiIgnore // prevent reference to this attribute in the swagger-ui interface + @RequestAttribute(required = false, value = "involvedCancerStudies") Collection involvedCancerStudies, + @ApiIgnore // prevent reference to this attribute in the swagger-ui interface. this attribute is needed for the @PreAuthorize tag above. + @Valid @RequestAttribute(required = false, value = "interceptedStudyViewFilter") StudyViewFilter interceptedStudyViewFilter ) { return new ResponseEntity<>( studyViewService.getMutatedGenesFromColumnstore(interceptedStudyViewFilter), @@ -319,6 +336,33 @@ public ResponseEntity> fetchFilteredSamples( @ApiParam(required = true, value = "Study view filter") @Valid @RequestBody(required = false) StudyViewFilter studyViewFilter) { + List studyIds = new ArrayList<>(); + List sampleIds = new ArrayList<>(); + + studyViewFilterUtil.extractStudyAndSampleIds( + studyViewFilterApplier.apply(interceptedStudyViewFilter, negateFilters), studyIds, sampleIds); + + List result = new ArrayList<>(); + if (!sampleIds.isEmpty()) { + result = sampleService.fetchSamples(studyIds, sampleIds, Projection.ID.name()); + } + return new ResponseEntity<>(result, HttpStatus.OK); + } + + @PreAuthorize("hasPermission(#involvedCancerStudies, 'Collection', T(org.cbioportal.utils.security.AccessLevel).READ)") + @RequestMapping(value = "/column-store/filtered-samples/fetch", method = RequestMethod.POST, + consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @ApiOperation("Fetch sample IDs by study view filter") + public ResponseEntity> fetchFilteredSamplesFromColumnStore( + @ApiParam("Whether to negate the study view filters") + @RequestParam(defaultValue = "false") Boolean negateFilters, + @ApiIgnore // prevent reference to this attribute in the swagger-ui interface + @RequestAttribute(required = false, value = "involvedCancerStudies") Collection involvedCancerStudies, + @ApiIgnore // prevent reference to this attribute in the swagger-ui interface. this attribute is needed for the @PreAuthorize tag above. + @Valid @RequestAttribute(required = false, value = "interceptedStudyViewFilter") StudyViewFilter interceptedStudyViewFilter, + @ApiParam(required = true, value = "Study view filter") + @Valid @RequestBody(required = false) StudyViewFilter studyViewFilter) { + return new ResponseEntity<>( studyViewService.getFilteredSamplesFromColumnstore(interceptedStudyViewFilter), HttpStatus.OK From 047cb2640b5cde4cd78944dac3eee9fe735d1ab9 Mon Sep 17 00:00:00 2001 From: Charles Haynes <33608920+haynescd@users.noreply.github.com> Date: Wed, 28 Jun 2023 12:29:41 -0400 Subject: [PATCH 24/29] Extract column store endpoints into StudyViewColumnStoreController (#10245) * Extract column store endpoints into StudyViewControllerColumnStore * rename --- .../cbioportal/web/StudyViewController.java | 38 ---------- .../StudyViewColumnStoreController.java | 73 +++++++++++++++++++ ...volvedCancerStudyExtractorInterceptor.java | 3 +- 3 files changed, 75 insertions(+), 39 deletions(-) create mode 100644 web/src/main/java/org/cbioportal/web/columnstore/StudyViewColumnStoreController.java diff --git a/web/src/main/java/org/cbioportal/web/StudyViewController.java b/web/src/main/java/org/cbioportal/web/StudyViewController.java index 43ccd35dc6f..6f3fa9070e5 100644 --- a/web/src/main/java/org/cbioportal/web/StudyViewController.java +++ b/web/src/main/java/org/cbioportal/web/StudyViewController.java @@ -209,24 +209,6 @@ public ResponseEntity> fetchMutatedGenes( return new ResponseEntity<>(alterationCountByGenes, HttpStatus.OK); } - @PreAuthorize("hasPermission(#involvedCancerStudies, 'Collection', T(org.cbioportal.utils.security.AccessLevel).READ)") - @RequestMapping(value = "/column-store/mutated-genes/fetch", method = RequestMethod.POST, - consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - @ApiOperation("Fetch mutated genes by study view filter") - public ResponseEntity> fetchMutatedGenesFromColumnStore( - @ApiParam(required = true, value = "Study view filter") - @Valid @RequestBody(required = false) StudyViewFilter studyViewFilter, - @ApiIgnore // prevent reference to this attribute in the swagger-ui interface - @RequestAttribute(required = false, value = "involvedCancerStudies") Collection involvedCancerStudies, - @ApiIgnore // prevent reference to this attribute in the swagger-ui interface. this attribute is needed for the @PreAuthorize tag above. - @Valid @RequestAttribute(required = false, value = "interceptedStudyViewFilter") StudyViewFilter interceptedStudyViewFilter - ) { - return new ResponseEntity<>( - studyViewService.getMutatedGenesFromColumnstore(interceptedStudyViewFilter), - HttpStatus.OK - ); - } - @Cacheable( cacheResolver = "staticRepositoryCacheOneResolver", condition = "@cacheEnabledConfig.getEnabled() && #singleStudyUnfiltered" @@ -349,26 +331,6 @@ public ResponseEntity> fetchFilteredSamples( return new ResponseEntity<>(result, HttpStatus.OK); } - @PreAuthorize("hasPermission(#involvedCancerStudies, 'Collection', T(org.cbioportal.utils.security.AccessLevel).READ)") - @RequestMapping(value = "/column-store/filtered-samples/fetch", method = RequestMethod.POST, - consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - @ApiOperation("Fetch sample IDs by study view filter") - public ResponseEntity> fetchFilteredSamplesFromColumnStore( - @ApiParam("Whether to negate the study view filters") - @RequestParam(defaultValue = "false") Boolean negateFilters, - @ApiIgnore // prevent reference to this attribute in the swagger-ui interface - @RequestAttribute(required = false, value = "involvedCancerStudies") Collection involvedCancerStudies, - @ApiIgnore // prevent reference to this attribute in the swagger-ui interface. this attribute is needed for the @PreAuthorize tag above. - @Valid @RequestAttribute(required = false, value = "interceptedStudyViewFilter") StudyViewFilter interceptedStudyViewFilter, - @ApiParam(required = true, value = "Study view filter") - @Valid @RequestBody(required = false) StudyViewFilter studyViewFilter) { - - return new ResponseEntity<>( - studyViewService.getFilteredSamplesFromColumnstore(interceptedStudyViewFilter), - HttpStatus.OK - ); - } - @PreAuthorize("hasPermission(#involvedCancerStudies, 'Collection', T(org.cbioportal.utils.security.AccessLevel).READ)") @RequestMapping(value = "/molecular-profile-sample-counts/fetch", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) diff --git a/web/src/main/java/org/cbioportal/web/columnstore/StudyViewColumnStoreController.java b/web/src/main/java/org/cbioportal/web/columnstore/StudyViewColumnStoreController.java new file mode 100644 index 00000000000..84e7fdf2ba8 --- /dev/null +++ b/web/src/main/java/org/cbioportal/web/columnstore/StudyViewColumnStoreController.java @@ -0,0 +1,73 @@ +package org.cbioportal.web.columnstore; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.cbioportal.model.AlterationCountByGene; +import org.cbioportal.model.Sample; +import org.cbioportal.service.StudyViewService; +import org.cbioportal.web.config.annotation.InternalApi; +import org.cbioportal.webparam.StudyViewFilter; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestAttribute; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; + +import javax.validation.Valid; +import java.util.Collection; +import java.util.List; + +@InternalApi +@RestController +@Validated +@Api(tags = "Study View Column Store") +public class StudyViewColumnStoreController { + + @Autowired + private StudyViewService studyViewService; + + @PreAuthorize("hasPermission(#involvedCancerStudies, 'Collection', T(org.cbioportal.utils.security.AccessLevel).READ)") + @PostMapping(value = "/column-store/filtered-samples/fetch", + consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @ApiOperation("Fetch sample IDs by study view filter") + public ResponseEntity> fetchFilteredSamples( + @ApiParam("Whether to negate the study view filters") + @RequestParam(defaultValue = "false") Boolean negateFilters, + @ApiIgnore // prevent reference to this attribute in the swagger-ui interface + @RequestAttribute(required = false, value = "involvedCancerStudies") Collection involvedCancerStudies, + @ApiIgnore // prevent reference to this attribute in the swagger-ui interface. this attribute is needed for the @PreAuthorize tag above. + @Valid @RequestAttribute(required = false, value = "interceptedStudyViewFilter") StudyViewFilter interceptedStudyViewFilter, + @ApiParam(required = true, value = "Study view filter") + @Valid @RequestBody(required = false) StudyViewFilter studyViewFilter) { + return new ResponseEntity<>( + studyViewService.getFilteredSamplesFromColumnstore(interceptedStudyViewFilter), + HttpStatus.OK + ); + } + + @PreAuthorize("hasPermission(#involvedCancerStudies, 'Collection', T(org.cbioportal.utils.security.AccessLevel).READ)") + @PostMapping(value = "/column-store/mutated-genes/fetch", + consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @ApiOperation("Fetch mutated genes by study view filter") + public ResponseEntity> fetchMutatedGenes( + @ApiParam(required = true, value = "Study view filter") + @Valid @RequestBody(required = false) StudyViewFilter studyViewFilter, + @ApiIgnore // prevent reference to this attribute in the swagger-ui interface + @RequestAttribute(required = false, value = "involvedCancerStudies") Collection involvedCancerStudies, + @ApiIgnore // prevent reference to this attribute in the swagger-ui interface. this attribute is needed for the @PreAuthorize tag above. + @Valid @RequestAttribute(required = false, value = "interceptedStudyViewFilter") StudyViewFilter interceptedStudyViewFilter + ) { + return new ResponseEntity<>( + studyViewService.getMutatedGenesFromColumnstore(interceptedStudyViewFilter), + HttpStatus.OK + ); + } +} diff --git a/web/src/main/java/org/cbioportal/web/util/InvolvedCancerStudyExtractorInterceptor.java b/web/src/main/java/org/cbioportal/web/util/InvolvedCancerStudyExtractorInterceptor.java index 1b535a1f25e..454709c1bff 100644 --- a/web/src/main/java/org/cbioportal/web/util/InvolvedCancerStudyExtractorInterceptor.java +++ b/web/src/main/java/org/cbioportal/web/util/InvolvedCancerStudyExtractorInterceptor.java @@ -39,6 +39,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang3.StringUtils; import org.cbioportal.model.AlterationFilter; import org.cbioportal.model.MolecularProfile; import org.cbioportal.model.MolecularProfileCaseIdentifier; @@ -127,7 +128,7 @@ public class InvolvedCancerStudyExtractorInterceptor extends HandlerInterceptorA if (!request.getMethod().equals("POST")) { return true; // no attribute extraction needed because all user supplied filter objects are in POST requests } - String requestPathInfo = request.getPathInfo(); + String requestPathInfo = StringUtils.removeStart(request.getPathInfo(), "/column-store"); if (requestPathInfo.equals(PATIENT_FETCH_PATH)) { return extractAttributesFromPatientFilter(request); } else if (requestPathInfo.equals(SAMPLE_FETCH_PATH)) { From 18819b109ea7cdcb4ad54e526332806d00cabdf1 Mon Sep 17 00:00:00 2001 From: Onur Sumer Date: Thu, 29 Jun 2023 18:18:55 -0400 Subject: [PATCH 25/29] add tests for clinical data filters (#10249) --- .../mybatiscolumnstore/StudyViewMapper.xml | 3 +- .../StudyViewMyBatisRepositoryTest.java | 81 ++++++++++++++++--- .../src/test/resources/clickhouseTestSql.sql | 19 +++++ 3 files changed, 88 insertions(+), 15 deletions(-) diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index b2c588c89d6..49d487a128e 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -122,8 +122,7 @@ - - ) + diff --git a/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepositoryTest.java b/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepositoryTest.java index a67cf376d51..b8862780fcc 100644 --- a/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepositoryTest.java +++ b/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepositoryTest.java @@ -2,6 +2,8 @@ import org.cbioportal.model.AlterationCountByGene; import org.cbioportal.model.Sample; +import org.cbioportal.webparam.ClinicalDataFilter; +import org.cbioportal.webparam.DataFilterValue; import org.cbioportal.webparam.StudyViewFilter; import org.junit.Assert; import org.junit.Test; @@ -11,8 +13,10 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import java.util.ArrayList; -import java.util.List; +import java.math.BigDecimal; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("/testContextDatabaseClickhouse.xml") @@ -24,26 +28,77 @@ public class StudyViewMyBatisRepositoryTest { @Test public void getFilteredSamples() { - StudyViewFilter studyViewFilter = new StudyViewFilter(); - - List studyIds = new ArrayList<>(); - studyIds.add("msk_ch_2020"); - studyViewFilter.setStudyIds(studyIds); + StudyViewFilter studyViewFilter = generateStudyViewFilter(new String[]{"msk_ch_2020", "msk_impact_2017"}, null); + // test total number of samples List samples = studyViewMyBatisRepository.getFilteredSamplesFromColumnstore(studyViewFilter); - Assert.assertEquals(3, samples.size()); + Assert.assertEquals(11, samples.size()); + + // test sample numerical clinical attributes + studyViewFilter = generateStudyViewFilter( + new String[]{"msk_impact_2017"}, + Collections.singletonList( + generateNumericalClinicalDataFilter("TUMOR_PURITY", new String[]{"20-35"}) + ) + ); + + samples = studyViewMyBatisRepository.getFilteredSamplesFromColumnstore(studyViewFilter); + Assert.assertEquals(2, samples.size()); } @Test public void getMutatedGenes() { - StudyViewFilter studyViewFilter = new StudyViewFilter(); - - List studyIds = new ArrayList<>(); - studyIds.add("msk_ch_2020"); - studyViewFilter.setStudyIds(studyIds); + StudyViewFilter studyViewFilter = generateStudyViewFilter(new String[]{"msk_ch_2020"}, null); List mutations = studyViewMyBatisRepository.getMutatedGenes(studyViewFilter); Assert.assertEquals(2, mutations.size()); } + + private StudyViewFilter generateStudyViewFilter( + String[] studyIds, + List clinicalDataFilters + ) { + StudyViewFilter studyViewFilter = new StudyViewFilter(); + studyViewFilter.setStudyIds(Arrays.asList(studyIds)); + studyViewFilter.setClinicalDataFilters(clinicalDataFilters); + + return studyViewFilter; + } + + private ClinicalDataFilter generateCategoricalClinicalDataFilter(String attributeId, String[] values) { + return generateClinicalDataFilter(attributeId, values, mapCategoricalValues); + } + + private ClinicalDataFilter generateNumericalClinicalDataFilter(String attributeId, String[] values) { + return generateClinicalDataFilter(attributeId, values, mapNumericalValues); + } + + private ClinicalDataFilter generateClinicalDataFilter(String attributeId, String[] values, Function mapper) { + ClinicalDataFilter clinicalDataFilter = new ClinicalDataFilter(); + List dataFilterValues = Arrays.stream(values).map(mapper).collect(Collectors.toList()); + + clinicalDataFilter.setValues(dataFilterValues); + clinicalDataFilter.setAttributeId(attributeId); + + return clinicalDataFilter; + } + + private final Function mapCategoricalValues = v -> { + DataFilterValue dataFilterValue = new DataFilterValue(); + dataFilterValue.setValue(v); + return dataFilterValue; + }; + + private final Function mapNumericalValues = v -> { + DataFilterValue dataFilterValue = new DataFilterValue(); + + String[] parts = v.split("-"); + long start = Long.parseLong(parts[0]); + long end = parts.length > 1 ? Long.parseLong(parts[1]) : start; + dataFilterValue.setStart(BigDecimal.valueOf(start)); + dataFilterValue.setEnd(BigDecimal.valueOf(end)); + + return dataFilterValue; + }; } \ No newline at end of file diff --git a/persistence/persistence-mybatis/src/test/resources/clickhouseTestSql.sql b/persistence/persistence-mybatis/src/test/resources/clickhouseTestSql.sql index a52d4180198..f5f5add90d2 100644 --- a/persistence/persistence-mybatis/src/test/resources/clickhouseTestSql.sql +++ b/persistence/persistence-mybatis/src/test/resources/clickhouseTestSql.sql @@ -8,9 +8,28 @@ INSERT INTO patient_clinical_attribute_numeric (patient_unique_id, attribute_nam INSERT INTO patient_clinical_attribute_numeric (patient_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000023', 'TIME_FROM_DX_TO_SEQ', 245, 'msk_ch_2020'); INSERT INTO patient_clinical_attribute_numeric (patient_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000023', 'TIME_TO_BLOOD_DRAW_FROM_TX', 166, 'msk_ch_2020'); +INSERT INTO sample_clinical_attribute_numeric (patient_unique_id, sample_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_impact_2017_P-0012622', 'msk_impact_2017_P-0000004-T01-IM3', 'TUMOR_PURITY', 50, 'msk_impact_2017'); +INSERT INTO sample_clinical_attribute_numeric (patient_unique_id, sample_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_impact_2017_P-0012622', 'msk_impact_2017_P-0000015-T01-IM3', 'TUMOR_PURITY', 40, 'msk_impact_2017'); +INSERT INTO sample_clinical_attribute_numeric (patient_unique_id, sample_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_impact_2017_P-0012622', 'msk_impact_2017_P-0000023-T01-IM3', 'TUMOR_PURITY', 30, 'msk_impact_2017'); +INSERT INTO sample_clinical_attribute_numeric (patient_unique_id, sample_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_impact_2017_P-0012622', 'msk_impact_2017_P-0000024-T01-IM3', 'TUMOR_PURITY', 40, 'msk_impact_2017'); +INSERT INTO sample_clinical_attribute_numeric (patient_unique_id, sample_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_impact_2017_P-0012622', 'msk_impact_2017_P-0000025-T02-IM5', 'TUMOR_PURITY', 30, 'msk_impact_2017'); +INSERT INTO sample_clinical_attribute_numeric (patient_unique_id, sample_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_impact_2017_P-0012622', 'msk_impact_2017_P-0000026-T01-IM3', 'TUMOR_PURITY', 10, 'msk_impact_2017'); +INSERT INTO sample_clinical_attribute_numeric (patient_unique_id, sample_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_impact_2017_P-0012622', 'msk_impact_2017_P-0000030-T01-IM3', 'TUMOR_PURITY', 40, 'msk_impact_2017'); +INSERT INTO sample_clinical_attribute_numeric (patient_unique_id, sample_unique_id, attribute_name, attribute_value, cancer_study_identifier) VALUES ('msk_impact_2017_P-0012622', 'msk_impact_2017_P-0000034-T01-IM3', 'TUMOR_PURITY', 40, 'msk_impact_2017'); + INSERT INTO sample (sample_unique_id, sample_unique_id_base64, sample_stable_id, patient_unique_id, patient_unique_id_base64, patient_stable_id, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000004-N01', '', 'P-0000004-N01', 'msk_ch_2020_P-0000004', '', 'P-0000004', 'msk_ch_2020'); INSERT INTO sample (sample_unique_id, sample_unique_id_base64, sample_stable_id, patient_unique_id, patient_unique_id_base64, patient_stable_id, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000015-N01', '', 'P-0000015-N01', 'msk_ch_2020_P-0000015', '', 'P-0000015', 'msk_ch_2020'); INSERT INTO sample (sample_unique_id, sample_unique_id_base64, sample_stable_id, patient_unique_id, patient_unique_id_base64, patient_stable_id, cancer_study_identifier) VALUES ('msk_ch_2020_P-0000023-N01', '', 'P-0000023-N01', 'msk_ch_2020_P-0000023', '', 'P-0000023', 'msk_ch_2020'); + +INSERT INTO sample (sample_unique_id, sample_unique_id_base64, sample_stable_id, patient_unique_id, patient_unique_id_base64, patient_stable_id, cancer_study_identifier) VALUES ('msk_impact_2017_P-0000004-T01-IM3', '', 'P-0000004-T01-IM3', 'msk_impact_2017_P-0012622', '', 'P-0012622', 'msk_impact_2017'); +INSERT INTO sample (sample_unique_id, sample_unique_id_base64, sample_stable_id, patient_unique_id, patient_unique_id_base64, patient_stable_id, cancer_study_identifier) VALUES ('msk_impact_2017_P-0000015-T01-IM3', '', 'P-0000015-T01-IM3', 'msk_impact_2017_P-0012622', '', 'P-0012622', 'msk_impact_2017'); +INSERT INTO sample (sample_unique_id, sample_unique_id_base64, sample_stable_id, patient_unique_id, patient_unique_id_base64, patient_stable_id, cancer_study_identifier) VALUES ('msk_impact_2017_P-0000023-T01-IM3', '', 'P-0000023-T01-IM3', 'msk_impact_2017_P-0012622', '', 'P-0012622', 'msk_impact_2017'); +INSERT INTO sample (sample_unique_id, sample_unique_id_base64, sample_stable_id, patient_unique_id, patient_unique_id_base64, patient_stable_id, cancer_study_identifier) VALUES ('msk_impact_2017_P-0000024-T01-IM3', '', 'P-0000024-T01-IM3', 'msk_impact_2017_P-0012622', '', 'P-0012622', 'msk_impact_2017'); +INSERT INTO sample (sample_unique_id, sample_unique_id_base64, sample_stable_id, patient_unique_id, patient_unique_id_base64, patient_stable_id, cancer_study_identifier) VALUES ('msk_impact_2017_P-0000025-T02-IM5', '', 'P-0000025-T02-IM5', 'msk_impact_2017_P-0012622', '', 'P-0012622', 'msk_impact_2017'); +INSERT INTO sample (sample_unique_id, sample_unique_id_base64, sample_stable_id, patient_unique_id, patient_unique_id_base64, patient_stable_id, cancer_study_identifier) VALUES ('msk_impact_2017_P-0000026-T01-IM3', '', 'P-0000026-T01-IM3', 'msk_impact_2017_P-0012622', '', 'P-0012622', 'msk_impact_2017'); +INSERT INTO sample (sample_unique_id, sample_unique_id_base64, sample_stable_id, patient_unique_id, patient_unique_id_base64, patient_stable_id, cancer_study_identifier) VALUES ('msk_impact_2017_P-0000030-T01-IM3', '', 'P-0000030-T01-IM3', 'msk_impact_2017_P-0012622', '', 'P-0012622', 'msk_impact_2017'); +INSERT INTO sample (sample_unique_id, sample_unique_id_base64, sample_stable_id, patient_unique_id, patient_unique_id_base64, patient_stable_id, cancer_study_identifier) VALUES ('msk_impact_2017_P-0000034-T01-IM3', '', 'P-0000034-T01-IM3', 'msk_impact_2017_P-0012622', '', 'P-0012622', 'msk_impact_2017'); + -- INSERT INTO genomic_event (sample_unique_id, variant, hugo_gene_symbol, gene_panel_stable_id, cancer_study_identifier, genetic_profile_stable_id) VALUES ('msk_ch_2020_P-0000004-N01', 'p.R1051Q', 'KDR', '', 'msk_ch_2020', 'msk_ch_2020_mutations'); INSERT INTO genomic_event (sample_unique_id, variant, hugo_gene_symbol, gene_panel_stable_id, cancer_study_identifier, genetic_profile_stable_id) VALUES ('msk_ch_2020_P-0000004-N01', 'p.T1884I', 'TET2', '', 'msk_ch_2020', 'msk_ch_2020_mutations'); From 2e3d886121d0820a23aa6d914638fab898da8f04 Mon Sep 17 00:00:00 2001 From: alisman Date: Mon, 10 Jul 2023 13:58:17 -0400 Subject: [PATCH 26/29] Feature/add clinical data counts endpoint (#10262) Migrate mutated-genes and clinical-data-counts to clickhouse-ish implementations --------- Co-authored-by: haynescd --- .../persistence/StudyViewRepository.java | 18 +- .../enums/ClinicalAttributeDataSource.java | 15 ++ .../enums/ClinicalAttributeDataType.java | 16 ++ .../mybatiscolumnstore/StudyViewMapper.java | 17 +- .../StudyViewMyBatisRepository.java | 44 +++- .../mybatiscolumnstore/StudyViewMapper.xml | 221 +++++++++++++----- .../StudyViewMyBatisRepositoryTest.java | 186 ++++++++++++++- .../cbioportal/service/StudyViewService.java | 2 + .../service/impl/StudyViewServiceImpl.java | 68 +++++- .../StudyViewColumnStoreController.java | 51 +++- .../util/NewStudyViewFilterUtil.java | 12 + .../CategorizedClinicalDataCountFilter.java | 71 ++++++ 12 files changed, 643 insertions(+), 78 deletions(-) create mode 100644 persistence/persistence-api/src/main/java/org/cbioportal/persistence/enums/ClinicalAttributeDataSource.java create mode 100644 persistence/persistence-api/src/main/java/org/cbioportal/persistence/enums/ClinicalAttributeDataType.java create mode 100644 web/src/main/java/org/cbioportal/web/columnstore/util/NewStudyViewFilterUtil.java create mode 100644 webparam/src/main/java/org/cbioportal/webparam/CategorizedClinicalDataCountFilter.java diff --git a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java index ec5ea68cd45..66525e30e1e 100644 --- a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java +++ b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java @@ -1,13 +1,27 @@ package org.cbioportal.persistence; import org.cbioportal.model.AlterationCountByGene; +import org.cbioportal.model.ClinicalData; +import org.cbioportal.model.ClinicalDataCount; import org.cbioportal.model.Sample; +import org.cbioportal.persistence.enums.ClinicalAttributeDataSource; +import org.cbioportal.persistence.enums.ClinicalAttributeDataType; +import org.cbioportal.webparam.CategorizedClinicalDataCountFilter; import org.cbioportal.webparam.StudyViewFilter; import java.util.List; public interface StudyViewRepository { - List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter); + List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter); + + List getMutatedGenes(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter); + + List getClinicalDataCounts(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, List filteredAttributes); + + List getSampleClinicalDataCounts(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, List filteredAttributes); + + List getPatientClinicalDataCounts(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, List filteredAttributes); + + List getClinicalDataAttributeNames(ClinicalAttributeDataSource clinicalAttributeDataSource, ClinicalAttributeDataType dataType); - List getMutatedGenes(StudyViewFilter studyViewFilter); } diff --git a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/enums/ClinicalAttributeDataSource.java b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/enums/ClinicalAttributeDataSource.java new file mode 100644 index 00000000000..ed320c1cebd --- /dev/null +++ b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/enums/ClinicalAttributeDataSource.java @@ -0,0 +1,15 @@ +package org.cbioportal.persistence.enums; + +public enum ClinicalAttributeDataSource { + PATIENT("PATIENT"),SAMPLE("SAMPLE"); + + private final String value; + + ClinicalAttributeDataSource(String value) { + this.value = value; + } + + public String getValue() { + return this.value; + } +} diff --git a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/enums/ClinicalAttributeDataType.java b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/enums/ClinicalAttributeDataType.java new file mode 100644 index 00000000000..591f67e117d --- /dev/null +++ b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/enums/ClinicalAttributeDataType.java @@ -0,0 +1,16 @@ +package org.cbioportal.persistence.enums; + +public enum ClinicalAttributeDataType { + CATEGORICAL("CATEGORICAL"), + NUMERIC("NUMERIC"); + + private final String value; + + ClinicalAttributeDataType(String value) { + this.value = value; + } + + public String getValue() { + return this.value; + } +} diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java index eb9671a43d0..0440213f584 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java @@ -1,12 +1,25 @@ package org.cbioportal.persistence.mybatiscolumnstore; import org.cbioportal.model.AlterationCountByGene; +import org.cbioportal.model.ClinicalDataCount; import org.cbioportal.model.Sample; +import org.cbioportal.webparam.CategorizedClinicalDataCountFilter; import org.cbioportal.webparam.StudyViewFilter; import java.util.List; public interface StudyViewMapper { - List getFilteredSamples(StudyViewFilter studyViewFilter); - List getMutatedGenes(StudyViewFilter studyViewFilter); + List getFilteredSamples(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, boolean applyPatientIdFilters); + List getMutatedGenes(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, boolean applyPatientIdFilters); + + List getPatientClinicalDataCounts(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, + boolean applyPatientIdFilters, List attributeIds, List filteredAttributeValues); + + List getSampleClinicalDataCounts(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, + boolean applyPatientIdFilters, List attributeIds, List filteredAttributeValues ); + + List getClinicalDataCounts(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, + boolean applyPatientIdFilters, List attributeIds, List filteredAttributeValues); + + List getClinicalAttributeNames(String tableName); } diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java index d8361240a21..c08c2b36ff6 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java @@ -1,8 +1,13 @@ package org.cbioportal.persistence.mybatiscolumnstore; import org.cbioportal.model.AlterationCountByGene; +import org.cbioportal.model.ClinicalData; +import org.cbioportal.model.ClinicalDataCount; import org.cbioportal.model.Sample; import org.cbioportal.persistence.StudyViewRepository; +import org.cbioportal.persistence.enums.ClinicalAttributeDataSource; +import org.cbioportal.persistence.enums.ClinicalAttributeDataType; +import org.cbioportal.webparam.CategorizedClinicalDataCountFilter; import org.cbioportal.webparam.StudyViewFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; @@ -12,16 +17,47 @@ @Repository public class StudyViewMyBatisRepository implements StudyViewRepository { + private final List FILTERED_CLINICAL_ATTR_VALUES = List.of("NA", "NAN", "N/A"); @Autowired private StudyViewMapper studyViewMapper; @Override - public List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter) { - return studyViewMapper.getFilteredSamples(studyViewFilter); + public List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter) { + + return studyViewMapper.getFilteredSamples(studyViewFilter, categorizedClinicalDataCountFilter, shouldApplyPatientIdFilters(categorizedClinicalDataCountFilter)); } @Override - public List getMutatedGenes(StudyViewFilter studyViewFilter) { - return studyViewMapper.getMutatedGenes(studyViewFilter); + public List getMutatedGenes(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter) { + return studyViewMapper.getMutatedGenes(studyViewFilter, categorizedClinicalDataCountFilter, shouldApplyPatientIdFilters(categorizedClinicalDataCountFilter)); + } + + @Override + public List getClinicalDataCounts(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, List filteredAttributes) { + return studyViewMapper.getClinicalDataCounts(studyViewFilter, categorizedClinicalDataCountFilter, shouldApplyPatientIdFilters(categorizedClinicalDataCountFilter), + filteredAttributes, FILTERED_CLINICAL_ATTR_VALUES ); + } + + @Override + public List getSampleClinicalDataCounts(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, List filteredAttributes) { + return studyViewMapper.getSampleClinicalDataCounts(studyViewFilter, categorizedClinicalDataCountFilter, shouldApplyPatientIdFilters(categorizedClinicalDataCountFilter), + filteredAttributes, FILTERED_CLINICAL_ATTR_VALUES ); + } + + @Override + public List getPatientClinicalDataCounts(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, List filteredAttributes) { + return studyViewMapper.getPatientClinicalDataCounts(studyViewFilter, categorizedClinicalDataCountFilter, shouldApplyPatientIdFilters(categorizedClinicalDataCountFilter), + filteredAttributes, FILTERED_CLINICAL_ATTR_VALUES); + } + + @Override + public List getClinicalDataAttributeNames(ClinicalAttributeDataSource clinicalAttributeDataSource, ClinicalAttributeDataType dataType) { + String tableName = clinicalAttributeDataSource.getValue().toLowerCase() + "_clinical_attribute_" + dataType.getValue().toLowerCase(); + return studyViewMapper.getClinicalAttributeNames(tableName); + } + + private boolean shouldApplyPatientIdFilters(CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter) { + return categorizedClinicalDataCountFilter.getPatientCategoricalClinicalDataFilters() != null && !categorizedClinicalDataCountFilter.getPatientCategoricalClinicalDataFilters().isEmpty() + || categorizedClinicalDataCountFilter.getPatientNumericalClinicalDataFilters() != null && !categorizedClinicalDataCountFilter.getPatientNumericalClinicalDataFilters().isEmpty(); } } \ No newline at end of file diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index 49d487a128e..f121f75fd5d 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -12,10 +12,13 @@ sample_unique_id_base64 as uniqueSampleKey, patient_unique_id_base64 as uniquePatientKey FROM sample - WHERE sample_unique_id IN ( - - - ) + + sample_unique_id IN ( ) + + + AND patient_unique_id IN () + + ORDER BY sample_stable_id ASC; @@ -29,103 +32,203 @@ COUNT(DISTINCT sample_unique_id) as numberOfAlteredCases, COUNT(*) as totalCount FROM mutation - WHERE sample_unique_id IN ( - - ) + + sample_unique_id IN ( + + INTERSECT + + ) + + GROUP BY hugo_gene_symbol ORDER BY totalCount DESC; + + + + + SELECT + attribute_name as attributeId, + CASE WHEN attribute_value = 'NULL' THEN 'NA' ELSE attribute_value END AS value, + Count(*) as count + FROM ${table_name_prefix}_clinical_attribute_categorical + + patient_unique_id IN ( + + INTERSECT + + ) + AND UPPER(attribute_value) NOT IN + + #{filteredAttributeValue} + + AND attribute_name IN + + #{attributeId} + + + GROUP BY attribute_name, + attribute_value + + + - + INTERSECT SELECT sample_unique_id FROM sample WHERE cancer_study_identifier IN - + #{studyId} - + INTERSECT SELECT sample_unique_id FROM sample WHERE sample_unique_id IN - + #{sampleIdentifier.getStudyId()}_#{sampleIdentifier.getSampleId()} - + INTERSECT SELECT sample_unique_id FROM genomic_event - + genetic_profile_stable_id IN #{molecularProfileId} - AND hugo_gene_symbol IN - - + AND hugo_gene_symbol IN ( + + #{geneFilterQuery.hugoGeneSymbol} + ) - - - - SELECT sample_unique_id - FROM sample_clinical_attribute_numeric - WHERE attribute_name = '${clinicalDataFilter.attributeId}' - - - - AND attribute_value = -1000000 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT ${unique_id} + FROM ${table_name} + WHERE attribute_name = '${clinicalDataFilter.attributeId}' + + + + AND attribute_value = -1000000 + + + + AND ABS(attribute_value - ${dataFilterValue.start}) < EXP(-11) + + AND attribute_value > ${dataFilterValue.start} AND attribute_value <= ${dataFilterValue.end} - - - - - - - + + + + + + + SELECT ${unique_id} + FROM ${table_name} + WHERE attribute_name = '${clinicalDataFilter.attributeId}' + + + AND attribute_value = '${dataFilterValue.value}' + + + + + + SELECT sample_unique_id + FROM sample + + patient_unique_id IN () + + + + + SELECT patient_unique_id + FROM sample + + sample_unique_id IN () + + + + diff --git a/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepositoryTest.java b/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepositoryTest.java index b8862780fcc..fe72ed27380 100644 --- a/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepositoryTest.java +++ b/persistence/persistence-mybatis/src/test/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepositoryTest.java @@ -1,11 +1,14 @@ package org.cbioportal.persistence.mybatiscolumnstore; import org.cbioportal.model.AlterationCountByGene; +import org.cbioportal.model.ClinicalDataCount; import org.cbioportal.model.Sample; -import org.cbioportal.webparam.ClinicalDataFilter; -import org.cbioportal.webparam.DataFilterValue; -import org.cbioportal.webparam.StudyViewFilter; +import org.cbioportal.model.util.Select; +import org.cbioportal.persistence.enums.ClinicalAttributeDataSource; +import org.cbioportal.persistence.enums.ClinicalAttributeDataType; +import org.cbioportal.webparam.*; import org.junit.Assert; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -15,6 +18,9 @@ import java.math.BigDecimal; import java.util.*; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; import java.util.function.Function; import java.util.stream.Collectors; @@ -31,7 +37,7 @@ public void getFilteredSamples() { StudyViewFilter studyViewFilter = generateStudyViewFilter(new String[]{"msk_ch_2020", "msk_impact_2017"}, null); // test total number of samples - List samples = studyViewMyBatisRepository.getFilteredSamplesFromColumnstore(studyViewFilter); + List samples = studyViewMyBatisRepository.getFilteredSamplesFromColumnstore(studyViewFilter, CategorizedClinicalDataCountFilter.getBuilder().build()); Assert.assertEquals(11, samples.size()); // test sample numerical clinical attributes @@ -42,7 +48,7 @@ public void getFilteredSamples() { ) ); - samples = studyViewMyBatisRepository.getFilteredSamplesFromColumnstore(studyViewFilter); + samples = studyViewMyBatisRepository.getFilteredSamplesFromColumnstore(studyViewFilter, CategorizedClinicalDataCountFilter.getBuilder().build()); Assert.assertEquals(2, samples.size()); } @@ -50,10 +56,27 @@ public void getFilteredSamples() { public void getMutatedGenes() { StudyViewFilter studyViewFilter = generateStudyViewFilter(new String[]{"msk_ch_2020"}, null); - List mutations = studyViewMyBatisRepository.getMutatedGenes(studyViewFilter); + List mutations = studyViewMyBatisRepository.getMutatedGenes(studyViewFilter, CategorizedClinicalDataCountFilter.getBuilder().build()); Assert.assertEquals(2, mutations.size()); } + + @Test + public void getMutatedGenesFiltered() { + StudyViewFilter studyViewFilter = generateStudyViewFilter(new String[]{"msk_impact_2017"}, null); + + List studyViewGeneFilters = new ArrayList<>(); + StudyViewGeneFilter mutationStudyViewGeneFilter = new StudyViewGeneFilter(); + mutationStudyViewGeneFilter.setMolecularProfileIds(new HashSet<>(Arrays.asList("msk_impact_2017_mutations"))); + + mutationStudyViewGeneFilter.setGeneQueries(getFilters.apply("moo")); + studyViewGeneFilters.add(mutationStudyViewGeneFilter); + + studyViewFilter.setGeneFilters(studyViewGeneFilters); + + List mutations = studyViewMyBatisRepository.getMutatedGenes(studyViewFilter, CategorizedClinicalDataCountFilter.getBuilder().build()); + Assert.assertEquals(414, mutations.size()); + } private StudyViewFilter generateStudyViewFilter( String[] studyIds, @@ -90,6 +113,38 @@ private ClinicalDataFilter generateClinicalDataFilter(String attributeId, String return dataFilterValue; }; + private final Function>> getFilters = v -> { + + boolean includeDriver = true; + boolean includeVUS = true; + boolean includeUnknownOncogenicity = true; + boolean includeGermline = true; + boolean includeSomatic = true; + boolean includeUnknownStatus = true; + Select selectedTiers = Select.none(); + boolean includeUnknownTier = true; + + GeneFilterQuery geneFilterQuery1 = new GeneFilterQuery("SMARCD1", null, + null, includeDriver, includeVUS, includeUnknownOncogenicity, selectedTiers, includeUnknownTier, + includeGermline, includeSomatic, includeUnknownStatus); + + GeneFilterQuery geneFilterQuery2 = new GeneFilterQuery("TP53", null, + null, includeDriver, includeVUS, includeUnknownOncogenicity, selectedTiers, includeUnknownTier, + includeGermline, includeSomatic, includeUnknownStatus); + + List> q1 = new ArrayList<>(); + List q2 = new ArrayList<>(); + List q3 = new ArrayList<>(); + + q2.add(geneFilterQuery1); + q3.add(geneFilterQuery2); + q1.add(q2); + q1.add(q3); + return q1; + + }; + + private final Function mapNumericalValues = v -> { DataFilterValue dataFilterValue = new DataFilterValue(); @@ -101,4 +156,123 @@ private ClinicalDataFilter generateClinicalDataFilter(String attributeId, String return dataFilterValue; }; + @Test + @Ignore + public void getClinicalAttributeNames() { + List names = studyViewMyBatisRepository.getClinicalDataAttributeNames(ClinicalAttributeDataSource.PATIENT, ClinicalAttributeDataType.CATEGORICAL); + Assert.assertTrue(names.size() > 0); + Assert.assertTrue(names.contains("OS_STATUS")); + } + + @Test + @Ignore + public void getFilterSamplesWithClinicalDataFilter() { + ClinicalDataFilter clinicalDataFilter = new ClinicalDataFilter(); + clinicalDataFilter.setAttributeId("TMB_NONSYNONYMOUS"); + DataFilterValue filterValue = new DataFilterValue(); + filterValue.setStart(BigDecimal.valueOf(0.033333333)); + filterValue.setEnd(BigDecimal.valueOf(0.033333333)); + clinicalDataFilter.setValues(List.of(filterValue)); + StudyViewFilter studyViewFilter = new StudyViewFilter(); + CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter = CategorizedClinicalDataCountFilter.getBuilder() + .setSampleNumericalClinicalDataFilters(List.of(clinicalDataFilter)) + .build(); + + List studyIds = new ArrayList<>(); + studyIds.add("msk_ch_2020"); + studyViewFilter.setStudyIds(studyIds); + + List test = categorizedClinicalDataCountFilter.getSampleNumericalClinicalDataFilters(); + List samples = studyViewMyBatisRepository.getFilteredSamplesFromColumnstore(studyViewFilter, categorizedClinicalDataCountFilter); + Assert.assertEquals(4507, samples.size()); + } + + @Test + //@Ignore + public void getFilterSamplesWithCategoricalSampleClinicalDataFilter() { + StudyViewFilter studyViewFilter = generateStudyViewFilter( + new String[]{"msk_ch_2020"},null + ); + CategorizedClinicalDataCountFilter clincalDataCountFilters = CategorizedClinicalDataCountFilter.getBuilder() + .setSampleCategoricalClinicalDataFilters(Arrays.asList(generateCategoricalClinicalDataFilter("CANCER_TYPE", new String[]{"Bladder Cancer", "Breast Cancer"}))) + .build(); + + List filteredSamples = studyViewMyBatisRepository.getFilteredSamplesFromColumnstore(studyViewFilter, clincalDataCountFilters); + Assert.assertEquals(1435, filteredSamples.size()); + } + @Test + @Ignore + public void getFilterSamplesWithNumericPatientClinicalDataFilter() { + StudyViewFilter studyViewFilter = generateStudyViewFilter( + new String[]{"msk_ch_2020"},null + ); + CategorizedClinicalDataCountFilter clincalDataCountFilters = CategorizedClinicalDataCountFilter.getBuilder() + .setPatientNumericalClinicalDataFilters(Arrays.asList(generateNumericalClinicalDataFilter("AGE", new String[]{"60-65"}))) + .build(); + + List filteredSamples = studyViewMyBatisRepository.getFilteredSamplesFromColumnstore(studyViewFilter, clincalDataCountFilters); + Assert.assertEquals(3343, filteredSamples.size()); + } + @Test + @Ignore + public void getFilterSamplesWithPatientClinicalDataFilterAndSampleClinicalDataFilter() { + StudyViewFilter studyViewFilter = generateStudyViewFilter( + new String[]{"msk_ch_2020"},null + ); + + ClinicalDataFilter clinicalDataFilter = new ClinicalDataFilter(); + clinicalDataFilter.setAttributeId("TMB_NONSYNONYMOUS"); + DataFilterValue filterValue = new DataFilterValue(); + filterValue.setStart(BigDecimal.valueOf(0.033333333)); + filterValue.setEnd(BigDecimal.valueOf(0.033333333)); + clinicalDataFilter.setValues(List.of(filterValue)); + + CategorizedClinicalDataCountFilter clincalDataCountFilters = CategorizedClinicalDataCountFilter.getBuilder() + .setPatientNumericalClinicalDataFilters(List.of(generateNumericalClinicalDataFilter("AGE", new String[]{"60-65"}))) + .setSampleNumericalClinicalDataFilters(List.of(clinicalDataFilter)) + .setSampleCategoricalClinicalDataFilters(List.of(generateCategoricalClinicalDataFilter("CANCER_TYPE", new String[]{"Bladder Cancer"}))) + .build(); + + List filteredSamples = studyViewMyBatisRepository.getFilteredSamplesFromColumnstore(studyViewFilter, clincalDataCountFilters); + Assert.assertEquals(21, filteredSamples.size()); + } + + @Test + @Ignore + public void getMutatedGenesWithPatientClinicalDataFilterAndSampleClinicalDataFilter() { + StudyViewFilter studyViewFilter = generateStudyViewFilter( + new String[]{"msk_ch_2020"},null + ); + + ClinicalDataFilter clinicalDataFilter = new ClinicalDataFilter(); + clinicalDataFilter.setAttributeId("TMB_NONSYNONYMOUS"); + DataFilterValue filterValue = new DataFilterValue(); + filterValue.setStart(BigDecimal.valueOf(0.033333333)); + filterValue.setEnd(BigDecimal.valueOf(0.033333333)); + clinicalDataFilter.setValues(List.of(filterValue)); + + CategorizedClinicalDataCountFilter clincalDataCountFilters = CategorizedClinicalDataCountFilter.getBuilder() + .setPatientNumericalClinicalDataFilters(List.of(generateNumericalClinicalDataFilter("AGE", new String[]{"60-65"}))) + .setSampleNumericalClinicalDataFilters(List.of(clinicalDataFilter)) + .setSampleCategoricalClinicalDataFilters(List.of(generateCategoricalClinicalDataFilter("CANCER_TYPE", new String[]{"Bladder Cancer"}))) + .build(); + + List mutatedGenes = studyViewMyBatisRepository.getMutatedGenes(studyViewFilter, clincalDataCountFilters); + Assert.assertEquals(16, mutatedGenes.size()); + } + + @Test + @Ignore + public void getClinicalDataCounts() { + StudyViewFilter studyViewFilter = generateStudyViewFilter( + new String[]{"msk_ch_2020"},null + ); + + List counts = studyViewMyBatisRepository.getClinicalDataCounts(studyViewFilter, CategorizedClinicalDataCountFilter.getBuilder().build(), + List.of("CANCER_TYPE")); + + Assert.assertEquals(counts.size(), 50); + + + } } \ No newline at end of file diff --git a/service/src/main/java/org/cbioportal/service/StudyViewService.java b/service/src/main/java/org/cbioportal/service/StudyViewService.java index efd835f658b..f1dfadfe10c 100644 --- a/service/src/main/java/org/cbioportal/service/StudyViewService.java +++ b/service/src/main/java/org/cbioportal/service/StudyViewService.java @@ -26,4 +26,6 @@ List getCNAAlterationCountByGenes(List studyIds, List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter); List getMutatedGenesFromColumnstore(StudyViewFilter interceptedStudyViewFilter); + + List getClinicalDataCountsFromColumnStore(StudyViewFilter studyViewFilter, List filteredAttributes); } diff --git a/service/src/main/java/org/cbioportal/service/impl/StudyViewServiceImpl.java b/service/src/main/java/org/cbioportal/service/impl/StudyViewServiceImpl.java index 9780435fdef..abb17400c8c 100644 --- a/service/src/main/java/org/cbioportal/service/impl/StudyViewServiceImpl.java +++ b/service/src/main/java/org/cbioportal/service/impl/StudyViewServiceImpl.java @@ -5,10 +5,14 @@ import org.cbioportal.model.*; import org.cbioportal.model.util.Select; import org.cbioportal.persistence.StudyViewRepository; +import org.cbioportal.persistence.enums.ClinicalAttributeDataSource; +import org.cbioportal.persistence.enums.ClinicalAttributeDataType; import org.cbioportal.service.*; import org.cbioportal.service.exception.MolecularProfileNotFoundException; import org.cbioportal.service.exception.StudyNotFoundException; import org.cbioportal.service.util.MolecularProfileUtil; +import org.cbioportal.webparam.CategorizedClinicalDataCountFilter; +import org.cbioportal.webparam.ClinicalDataFilter; import org.cbioportal.webparam.StudyViewFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -16,10 +20,14 @@ import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; +import java.util.stream.Stream; @Service public class StudyViewServiceImpl implements StudyViewService { private static final List CNA_TYPES_AMP_AND_HOMDEL = Collections.unmodifiableList(Arrays.asList(CNA.AMP, CNA.HOMDEL)); + + private final Map> clinicalAttributeNameMap = new HashMap<>(); + @Autowired private MolecularProfileService molecularProfileService; @Autowired @@ -252,11 +260,67 @@ public List fetchGenericAssayDataCounts(List @Override public List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter) { - return studyViewRepository.getFilteredSamplesFromColumnstore(studyViewFilter); + CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter = extractClinicalDataCountFilters(studyViewFilter); + return studyViewRepository.getFilteredSamplesFromColumnstore(studyViewFilter, categorizedClinicalDataCountFilter); } @Override public List getMutatedGenesFromColumnstore(StudyViewFilter studyViewFilter) { - return studyViewRepository.getMutatedGenes(studyViewFilter); + CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter = extractClinicalDataCountFilters(studyViewFilter); + return studyViewRepository.getMutatedGenes(studyViewFilter, categorizedClinicalDataCountFilter); + } + + @Override + public List getClinicalDataCountsFromColumnStore(StudyViewFilter studyViewFilter, List filteredAttributes) { + CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter = extractClinicalDataCountFilters(studyViewFilter); + + return studyViewRepository.getClinicalDataCounts(studyViewFilter, categorizedClinicalDataCountFilter, filteredAttributes) + .stream().collect(Collectors.groupingBy(ClinicalDataCount::getAttributeId)) + .entrySet().parallelStream().map(e -> { + ClinicalDataCountItem item = new ClinicalDataCountItem(); + item.setAttributeId(e.getKey()); + item.setCounts(e.getValue()); + return item; + }).collect(Collectors.toList()); + } + + private CategorizedClinicalDataCountFilter extractClinicalDataCountFilters(final StudyViewFilter studyViewFilter) { + if(clinicalAttributeNameMap.isEmpty()) { + buildClinicalAttributeNameMap(); + } + + if(studyViewFilter.getClinicalDataFilters() == null) { + return CategorizedClinicalDataCountFilter.getBuilder().build(); + } + + final String patientCategoricalKey = ClinicalAttributeDataSource.PATIENT.getValue() + ClinicalAttributeDataType.CATEGORICAL.getValue(); + final String patientNumericKey = ClinicalAttributeDataSource.PATIENT.getValue() + ClinicalAttributeDataType.NUMERIC.getValue(); + final String sampleCategoricalKey = ClinicalAttributeDataSource.SAMPLE.getValue() + ClinicalAttributeDataType.CATEGORICAL.getValue(); + final String sampleNumericKey = ClinicalAttributeDataSource.SAMPLE.getValue() + ClinicalAttributeDataType.NUMERIC.getValue(); + + return CategorizedClinicalDataCountFilter.getBuilder() + .setPatientCategoricalClinicalDataFilters(studyViewFilter.getClinicalDataFilters() + .stream().filter(clinicalDataFilter -> clinicalAttributeNameMap.get(patientCategoricalKey).contains(clinicalDataFilter.getAttributeId())) + .collect(Collectors.toList())) + .setPatientNumericalClinicalDataFilters(studyViewFilter.getClinicalDataFilters().stream() + .filter(clinicalDataFilter -> clinicalAttributeNameMap.get(patientNumericKey).contains(clinicalDataFilter.getAttributeId())) + .collect(Collectors.toList())) + .setSampleCategoricalClinicalDataFilters(studyViewFilter.getClinicalDataFilters().stream() + .filter(clinicalDataFilter -> clinicalAttributeNameMap.get(sampleCategoricalKey).contains(clinicalDataFilter.getAttributeId())) + .collect(Collectors.toList())) + .setSampleNumericalClinicalDataFilters(studyViewFilter.getClinicalDataFilters().stream() + .filter(clinicalDataFilter -> clinicalAttributeNameMap.get(sampleNumericKey).contains(clinicalDataFilter.getAttributeId())) + .collect(Collectors.toList())) + .build(); + } + + private void buildClinicalAttributeNameMap() { + List clinicalAttributeDataSources = List.of(ClinicalAttributeDataSource.values()); + for(ClinicalAttributeDataSource clinicalAttributeDataSource : clinicalAttributeDataSources) { + String categoricalKey = clinicalAttributeDataSource.getValue() + ClinicalAttributeDataType.CATEGORICAL; + String numericKey = clinicalAttributeDataSource.getValue() + ClinicalAttributeDataType.NUMERIC; + clinicalAttributeNameMap.put(categoricalKey, studyViewRepository.getClinicalDataAttributeNames(clinicalAttributeDataSource, ClinicalAttributeDataType.CATEGORICAL)); + clinicalAttributeNameMap.put(numericKey, studyViewRepository.getClinicalDataAttributeNames(clinicalAttributeDataSource, ClinicalAttributeDataType.NUMERIC)); + } } } diff --git a/web/src/main/java/org/cbioportal/web/columnstore/StudyViewColumnStoreController.java b/web/src/main/java/org/cbioportal/web/columnstore/StudyViewColumnStoreController.java index 84e7fdf2ba8..a7f9383a3f0 100644 --- a/web/src/main/java/org/cbioportal/web/columnstore/StudyViewColumnStoreController.java +++ b/web/src/main/java/org/cbioportal/web/columnstore/StudyViewColumnStoreController.java @@ -4,9 +4,15 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.cbioportal.model.AlterationCountByGene; +import org.cbioportal.model.AlterationFilter; +import org.cbioportal.model.ClinicalDataCountItem; import org.cbioportal.model.Sample; import org.cbioportal.service.StudyViewService; +import org.cbioportal.service.exception.StudyNotFoundException; +import org.cbioportal.web.columnstore.util.NewStudyViewFilterUtil; import org.cbioportal.web.config.annotation.InternalApi; +import org.cbioportal.webparam.ClinicalDataCountFilter; +import org.cbioportal.webparam.ClinicalDataFilter; import org.cbioportal.webparam.StudyViewFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; @@ -17,20 +23,25 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestAttribute; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; import javax.validation.Valid; +import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.stream.Collectors; @InternalApi @RestController @Validated @Api(tags = "Study View Column Store") public class StudyViewColumnStoreController { - + + private static final String COLUMN_STORE_ENDPOINT_PREFIX="/column-store"; + @Autowired private StudyViewService studyViewService; @@ -64,10 +75,44 @@ public ResponseEntity> fetchMutatedGenes( @RequestAttribute(required = false, value = "involvedCancerStudies") Collection involvedCancerStudies, @ApiIgnore // prevent reference to this attribute in the swagger-ui interface. this attribute is needed for the @PreAuthorize tag above. @Valid @RequestAttribute(required = false, value = "interceptedStudyViewFilter") StudyViewFilter interceptedStudyViewFilter - ) { + ) throws StudyNotFoundException { + AlterationFilter annotationFilters = interceptedStudyViewFilter.getAlterationFilter(); + List samples = studyViewService.getFilteredSamplesFromColumnstore(interceptedStudyViewFilter); + List studyIds = new ArrayList<>(); + List sampleIds = new ArrayList<>(); + for(Sample sample : samples) { + studyIds.add(sample.getCancerStudyIdentifier()); + sampleIds.add(sample.getStableId()); + } return new ResponseEntity<>( - studyViewService.getMutatedGenesFromColumnstore(interceptedStudyViewFilter), + studyViewService.getMutationAlterationCountByGenes(studyIds, sampleIds, annotationFilters), HttpStatus.OK ); } + + @PreAuthorize("hasPermission(#involvedCancerStudies, 'Collection', T(org.cbioportal.utils.security.AccessLevel).READ)") + @PostMapping(value = "/column-store/clinical-data-counts/fetch", + consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @ApiOperation("Fetch clinical data counts by study view filter") + public ResponseEntity> fetchClinicalDataCounts( + @ApiParam(required = true, value = "Clinical data count filter") + @Valid @RequestBody(required = false) ClinicalDataCountFilter clinicalDataCountFilter, + @ApiIgnore // prevent reference to this attribute in the swagger-ui interface + @RequestAttribute(required = false, value = "involvedCancerStudies") Collection involvedCancerStudies, + @ApiIgnore // prevent reference to this attribute in the swagger-ui interface. this attribute is needed for the @PreAuthorize tag above. + @Valid @RequestAttribute(required = false, value = "interceptedClinicalDataCountFilter") ClinicalDataCountFilter interceptedClinicalDataCountFilter) { + + List attributes = interceptedClinicalDataCountFilter.getAttributes(); + StudyViewFilter studyViewFilter = interceptedClinicalDataCountFilter.getStudyViewFilter(); + + if (attributes.size() == 1) { + NewStudyViewFilterUtil.removeSelfFromFilter(attributes.get(0).getAttributeId(), studyViewFilter); + } + // boolean singleStudyUnfiltered = studyViewFilterUtil.isSingleStudyUnfiltered(studyViewFilter); + List result = studyViewService.getClinicalDataCountsFromColumnStore(studyViewFilter, + attributes.stream().map(ClinicalDataFilter::getAttributeId).collect(Collectors.toList())); + //studyIds, sampleIds, attributes.stream().map(a -> a.getAttributeId()).collect(Collectors.toList())); + return new ResponseEntity<>(result, HttpStatus.OK); + + } } diff --git a/web/src/main/java/org/cbioportal/web/columnstore/util/NewStudyViewFilterUtil.java b/web/src/main/java/org/cbioportal/web/columnstore/util/NewStudyViewFilterUtil.java new file mode 100644 index 00000000000..cc4bd198f20 --- /dev/null +++ b/web/src/main/java/org/cbioportal/web/columnstore/util/NewStudyViewFilterUtil.java @@ -0,0 +1,12 @@ +package org.cbioportal.web.columnstore.util; + +import org.cbioportal.webparam.StudyViewFilter; + +public class NewStudyViewFilterUtil { + + public static void removeSelfFromFilter(String attributeId, StudyViewFilter studyViewFilter) { + if (studyViewFilter!= null && studyViewFilter.getClinicalDataFilters() != null) { + studyViewFilter.getClinicalDataFilters().removeIf(f -> f.getAttributeId().equals(attributeId)); + } + } +} diff --git a/webparam/src/main/java/org/cbioportal/webparam/CategorizedClinicalDataCountFilter.java b/webparam/src/main/java/org/cbioportal/webparam/CategorizedClinicalDataCountFilter.java new file mode 100644 index 00000000000..cc56f9a8803 --- /dev/null +++ b/webparam/src/main/java/org/cbioportal/webparam/CategorizedClinicalDataCountFilter.java @@ -0,0 +1,71 @@ +package org.cbioportal.webparam; + +import java.util.List; + +public final class CategorizedClinicalDataCountFilter { + + public static Builder getBuilder() { + return new Builder(); + } + private final List sampleNumericalClinicalDataFilters; + private final List sampleCategoricalClinicalDataFilters; + private final List patientNumericalClinicalDataFilters; + private final List patientCategoricalClinicalDataFilters; + private CategorizedClinicalDataCountFilter(Builder builder) { + this.sampleCategoricalClinicalDataFilters = builder.sampleCategoricalClinicalDataFilters; + this.sampleNumericalClinicalDataFilters = builder.sampleNumericalClinicalDataFilters; + this.patientCategoricalClinicalDataFilters = builder.patientCategoricalClinicalDataFilters; + this.patientNumericalClinicalDataFilters = builder.patientNumericalClinicalDataFilters; + } + + public List getSampleNumericalClinicalDataFilters() { + return sampleNumericalClinicalDataFilters; + } + + public List getSampleCategoricalClinicalDataFilters() { + return sampleCategoricalClinicalDataFilters; + } + + public List getPatientNumericalClinicalDataFilters() { + return patientNumericalClinicalDataFilters; + } + + public List getPatientCategoricalClinicalDataFilters() { + return patientCategoricalClinicalDataFilters; + } + + + public static class Builder { + private List sampleNumericalClinicalDataFilters; + private List sampleCategoricalClinicalDataFilters; + private List patientNumericalClinicalDataFilters; + private List patientCategoricalClinicalDataFilters; + + private Builder(){ + + } + public Builder setSampleCategoricalClinicalDataFilters(List sampleCategoricalClinicalDataFilters) { + this.sampleCategoricalClinicalDataFilters = sampleCategoricalClinicalDataFilters; + return this; + } + + public Builder setSampleNumericalClinicalDataFilters(List sampleNumericalClinicalDataFilters) { + this.sampleNumericalClinicalDataFilters = sampleNumericalClinicalDataFilters; + return this; + } + + public Builder setPatientCategoricalClinicalDataFilters(List patientCategoricalClinicalDataFilters) { + this.patientCategoricalClinicalDataFilters = patientCategoricalClinicalDataFilters; + return this; + } + + public Builder setPatientNumericalClinicalDataFilters(List patientNumericalClinicalDataFilters) { + this.patientNumericalClinicalDataFilters = patientNumericalClinicalDataFilters; + return this; + } + + public CategorizedClinicalDataCountFilter build() { + return new CategorizedClinicalDataCountFilter(this); + } + } +} From 69875808bee06e7c7a310712b580da6de58bcea7 Mon Sep 17 00:00:00 2001 From: Onur Sumer Date: Wed, 12 Jul 2023 12:16:34 -0400 Subject: [PATCH 27/29] add new clickhouse clinical data bin count end point (#10265) --- .../persistence/StudyViewRepository.java | 4 + .../mybatiscolumnstore/StudyViewMapper.java | 6 ++ .../StudyViewMyBatisRepository.java | 10 +- .../mybatiscolumnstore/StudyViewMapper.xml | 51 +++++++++- .../StudyViewMyBatisRepositoryTest.java | 29 +++++- .../testContextDatabaseClickhouse.xml | 2 +- .../cbioportal/service/StudyViewService.java | 7 +- .../service/impl/StudyViewServiceImpl.java | 12 ++- .../StudyViewColumnStoreController.java | 31 +++++- .../web/util/ClinicalDataBinUtil.java | 96 +++++++++++++++++++ 10 files changed, 238 insertions(+), 10 deletions(-) diff --git a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java index 66525e30e1e..1c8a1e87fa7 100644 --- a/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java +++ b/persistence/persistence-api/src/main/java/org/cbioportal/persistence/StudyViewRepository.java @@ -14,6 +14,10 @@ public interface StudyViewRepository { List getFilteredSamplesFromColumnstore(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter); + List getSampleClinicalDataFromStudyViewFilter(StudyViewFilter studyViewFilter, List attributeIds, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter); + + List getPatientClinicalDataFromStudyViewFilter(StudyViewFilter studyViewFilter, List attributeIds, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter); + List getMutatedGenes(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter); List getClinicalDataCounts(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, List filteredAttributes); diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java index 0440213f584..c99a9a9082f 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.java @@ -1,6 +1,7 @@ package org.cbioportal.persistence.mybatiscolumnstore; import org.cbioportal.model.AlterationCountByGene; +import org.cbioportal.model.ClinicalData; import org.cbioportal.model.ClinicalDataCount; import org.cbioportal.model.Sample; import org.cbioportal.webparam.CategorizedClinicalDataCountFilter; @@ -10,6 +11,7 @@ public interface StudyViewMapper { List getFilteredSamples(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, boolean applyPatientIdFilters); + List getMutatedGenes(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, boolean applyPatientIdFilters); List getPatientClinicalDataCounts(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, @@ -22,4 +24,8 @@ List getClinicalDataCounts(StudyViewFilter studyViewFilter, C boolean applyPatientIdFilters, List attributeIds, List filteredAttributeValues); List getClinicalAttributeNames(String tableName); + + List getSampleClinicalDataFromStudyViewFilter(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, boolean applyPatientIdFilters, List attributeIds); + + List getPatientClinicalDataFromStudyViewFilter(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, boolean applyPatientIdFilters, List attributeIds); } diff --git a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java index c08c2b36ff6..9e219c83600 100644 --- a/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java +++ b/persistence/persistence-mybatis/src/main/java/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMyBatisRepository.java @@ -43,7 +43,7 @@ public List getSampleClinicalDataCounts(StudyViewFilter study return studyViewMapper.getSampleClinicalDataCounts(studyViewFilter, categorizedClinicalDataCountFilter, shouldApplyPatientIdFilters(categorizedClinicalDataCountFilter), filteredAttributes, FILTERED_CLINICAL_ATTR_VALUES ); } - + @Override public List getPatientClinicalDataCounts(StudyViewFilter studyViewFilter, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter, List filteredAttributes) { return studyViewMapper.getPatientClinicalDataCounts(studyViewFilter, categorizedClinicalDataCountFilter, shouldApplyPatientIdFilters(categorizedClinicalDataCountFilter), @@ -60,4 +60,12 @@ private boolean shouldApplyPatientIdFilters(CategorizedClinicalDataCountFilter c return categorizedClinicalDataCountFilter.getPatientCategoricalClinicalDataFilters() != null && !categorizedClinicalDataCountFilter.getPatientCategoricalClinicalDataFilters().isEmpty() || categorizedClinicalDataCountFilter.getPatientNumericalClinicalDataFilters() != null && !categorizedClinicalDataCountFilter.getPatientNumericalClinicalDataFilters().isEmpty(); } + + public List getSampleClinicalDataFromStudyViewFilter(StudyViewFilter studyViewFilter, List attributeIds, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter) { + return studyViewMapper.getSampleClinicalDataFromStudyViewFilter(studyViewFilter, categorizedClinicalDataCountFilter, shouldApplyPatientIdFilters(categorizedClinicalDataCountFilter), attributeIds); + } + + public List getPatientClinicalDataFromStudyViewFilter(StudyViewFilter studyViewFilter, List attributeIds, CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter) { + return studyViewMapper.getPatientClinicalDataFromStudyViewFilter(studyViewFilter, categorizedClinicalDataCountFilter, shouldApplyPatientIdFilters(categorizedClinicalDataCountFilter), attributeIds); + } } \ No newline at end of file diff --git a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml index f121f75fd5d..6a27522c3cc 100644 --- a/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml +++ b/persistence/persistence-mybatis/src/main/resources/org/cbioportal/persistence/mybatiscolumnstore/StudyViewMapper.xml @@ -43,6 +43,55 @@ GROUP BY hugo_gene_symbol ORDER BY totalCount DESC; + + + + + +