diff --git a/docker/build/build.sh b/docker/build/build.sh index d19a44aa79..c5b7dbc6b1 100755 --- a/docker/build/build.sh +++ b/docker/build/build.sh @@ -262,9 +262,12 @@ case $target in ;; rest) build_rest - build_exporter exit $? ;; + exporter) + build_exporter + exit $? + ;; webapp) build_webapp exit $? diff --git a/docker/swarm/README_zeke_stack_on_linux.md b/docker/swarm/README_zeke_stack_on_linux.md index fd4a2869d0..d48550748c 100644 --- a/docker/swarm/README_zeke_stack_on_linux.md +++ b/docker/swarm/README_zeke_stack_on_linux.md @@ -11,7 +11,7 @@ 2. ```bash pushd ../build - ./build.sh --skip-maven --skip-sudo all localhost:5000/virtualcell dev_zeke + ./build.sh --skip-maven --skip-sudo appservices localhost:5000/virtualcell dev_zeke popd ``` 3. ```bash @@ -20,6 +20,17 @@ popd ``` + 4. ```bash + pushd ../build + ./build.sh --skip-maven --skip-sudo appservices ghcr.io/virtualcell dev_zeke + popd + ``` + 5. ```bash + pushd ../build + ./build.sh --skip-maven --skip-sudo rest ghcr.io/virtualcell dev_zeke + popd + ``` + 3. Run Quarkus in Terminal ``` bash pushd ../../vcell-rest diff --git a/python-restclient/.openapi-generator/FILES b/python-restclient/.openapi-generator/FILES index bd03d3b283..02e4fc137e 100644 --- a/python-restclient/.openapi-generator/FILES +++ b/python-restclient/.openapi-generator/FILES @@ -92,6 +92,7 @@ docs/VCSimulationIdentifier.md docs/VCellHTTPError.md docs/VCellSite.md docs/VCellSoftwareVersion.md +docs/VCellSummaryContainer.md docs/VariableDomain.md docs/VariableMode.md docs/VariableSpecs.md @@ -195,6 +196,7 @@ vcell_client/models/user_registration_info.py vcell_client/models/v_cell_http_error.py vcell_client/models/v_cell_site.py vcell_client/models/v_cell_software_version.py +vcell_client/models/v_cell_summary_container.py vcell_client/models/variable_domain.py vcell_client/models/variable_mode.py vcell_client/models/variable_specs.py diff --git a/python-restclient/README.md b/python-restclient/README.md index 9f03577c84..b23e994365 100644 --- a/python-restclient/README.md +++ b/python-restclient/README.md @@ -95,6 +95,7 @@ Class | Method | HTTP request | Description *BioModelResourceApi* | [**get_bio_model_summaries**](docs/BioModelResourceApi.md#get_bio_model_summaries) | **GET** /api/v1/bioModel/summaries | Return BioModel summaries. *BioModelResourceApi* | [**get_bio_model_summary**](docs/BioModelResourceApi.md#get_bio_model_summary) | **GET** /api/v1/bioModel/{bioModelID}/summary | All of the text based information about a BioModel (summary, version, publication status, etc...), but not the actual BioModel itself. *BioModelResourceApi* | [**get_bio_model_vcml**](docs/BioModelResourceApi.md#get_bio_model_vcml) | **GET** /api/v1/bioModel/{bioModelID}/vcml_download | Get the BioModel in VCML format. +*BioModelResourceApi* | [**get_summaries_container**](docs/BioModelResourceApi.md#get_summaries_container) | **GET** /api/v1/bioModel/summariesContainer | *BioModelResourceApi* | [**save_bio_model**](docs/BioModelResourceApi.md#save_bio_model) | **POST** /api/v1/bioModel | Save's the given BioModel. Optional parameters of name and simulations to update due to math changes. Returns saved BioModel as VCML. *ExportResourceApi* | [**export_n5**](docs/ExportResourceApi.md#export_n5) | **POST** /api/v1/export/N5 | *ExportResourceApi* | [**export_status**](docs/ExportResourceApi.md#export_status) | **GET** /api/v1/export/status | @@ -226,6 +227,7 @@ Class | Method | HTTP request | Description - [VCellHTTPError](docs/VCellHTTPError.md) - [VCellSite](docs/VCellSite.md) - [VCellSoftwareVersion](docs/VCellSoftwareVersion.md) + - [VCellSummaryContainer](docs/VCellSummaryContainer.md) - [VariableDomain](docs/VariableDomain.md) - [VariableMode](docs/VariableMode.md) - [VariableSpecs](docs/VariableSpecs.md) diff --git a/python-restclient/docs/BioModelChildSummary.md b/python-restclient/docs/BioModelChildSummary.md index b66d8126b2..5f6bdca38f 100644 --- a/python-restclient/docs/BioModelChildSummary.md +++ b/python-restclient/docs/BioModelChildSummary.md @@ -4,17 +4,13 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**sc_names** | **List[str]** | | [optional] -**sc_annots** | **List[str]** | | [optional] -**geo_names** | **List[str]** | | [optional] -**geo_dims** | **List[int]** | | [optional] **app_types** | [**List[MathType]**](MathType.md) | | [optional] -**sim_names** | **List[List[str]]** | | [optional] -**sim_annots** | **List[List[str]]** | | [optional] **geometry_dimensions** | **List[int]** | | [optional] **geometry_names** | **List[str]** | | [optional] **simulation_context_annotations** | **List[str]** | | [optional] **simulation_context_names** | **List[str]** | | [optional] +**all_simulation_names** | **List[List[str]]** | | [optional] +**all_simulation_annots** | **List[List[str]]** | | [optional] **application_info** | [**List[ApplicationInfo]**](ApplicationInfo.md) | | [optional] ## Example diff --git a/python-restclient/docs/BioModelResourceApi.md b/python-restclient/docs/BioModelResourceApi.md index dc38866f86..82d9cebcea 100644 --- a/python-restclient/docs/BioModelResourceApi.md +++ b/python-restclient/docs/BioModelResourceApi.md @@ -9,6 +9,7 @@ Method | HTTP request | Description [**get_bio_model_summaries**](BioModelResourceApi.md#get_bio_model_summaries) | **GET** /api/v1/bioModel/summaries | Return BioModel summaries. [**get_bio_model_summary**](BioModelResourceApi.md#get_bio_model_summary) | **GET** /api/v1/bioModel/{bioModelID}/summary | All of the text based information about a BioModel (summary, version, publication status, etc...), but not the actual BioModel itself. [**get_bio_model_vcml**](BioModelResourceApi.md#get_bio_model_vcml) | **GET** /api/v1/bioModel/{bioModelID}/vcml_download | Get the BioModel in VCML format. +[**get_summaries_container**](BioModelResourceApi.md#get_summaries_container) | **GET** /api/v1/bioModel/summariesContainer | [**save_bio_model**](BioModelResourceApi.md#save_bio_model) | **POST** /api/v1/bioModel | Save's the given BioModel. Optional parameters of name and simulations to update due to math changes. Returns saved BioModel as VCML. @@ -345,6 +346,69 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_summaries_container** +> VCellSummaryContainer get_summaries_container() + + + +All of the summary objects for this particular user. + +### Example + +```python +import time +import os +import vcell_client +from vcell_client.models.v_cell_summary_container import VCellSummaryContainer +from vcell_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://vcell.cam.uchc.edu +# See configuration.py for a list of all supported configuration parameters. +configuration = vcell_client.Configuration( + host = "https://vcell.cam.uchc.edu" +) + + +# Enter a context with an instance of the API client +with vcell_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = vcell_client.BioModelResourceApi(api_client) + + try: + api_response = api_instance.get_summaries_container() + print("The response of BioModelResourceApi->get_summaries_container:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling BioModelResourceApi->get_summaries_container: %s\n" % e) +``` + + + +### Parameters +This endpoint does not need any parameter. + +### Return type + +[**VCellSummaryContainer**](VCellSummaryContainer.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**500** | Data Access Exception | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **save_bio_model** > str save_bio_model(body, new_name=new_name, sims_requiring_updates=sims_requiring_updates) diff --git a/python-restclient/docs/GroupAccessSome.md b/python-restclient/docs/GroupAccessSome.md index 05b7c53950..4cfe8dd27d 100644 --- a/python-restclient/docs/GroupAccessSome.md +++ b/python-restclient/docs/GroupAccessSome.md @@ -9,8 +9,6 @@ Name | Type | Description | Notes **group_members** | [**List[User]**](User.md) | | [optional] **hidden_members** | **List[bool]** | | [optional] **description** | **str** | | [optional] -**hidden_group_members** | [**List[User]**](User.md) | | [optional] -**normal_group_members** | [**List[User]**](User.md) | | [optional] ## Example diff --git a/python-restclient/docs/PublicationInfo.md b/python-restclient/docs/PublicationInfo.md index 572c64e642..5d6d297d7b 100644 --- a/python-restclient/docs/PublicationInfo.md +++ b/python-restclient/docs/PublicationInfo.md @@ -16,6 +16,7 @@ Name | Type | Description | Notes **vc_document_type** | [**VCDocumentType**](VCDocumentType.md) | | [optional] **user** | [**User**](User.md) | | [optional] **the_hash_code** | **int** | | [optional] +**pub_date** | **datetime** | | [optional] ## Example diff --git a/python-restclient/docs/VCellInfoContainer.md b/python-restclient/docs/VCellInfoContainer.md new file mode 100644 index 0000000000..74251e0da3 --- /dev/null +++ b/python-restclient/docs/VCellInfoContainer.md @@ -0,0 +1,31 @@ +# VCellInfoContainer + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**image_infos** | [**List[VCImageSummary]**](VCImageSummary.md) | | [optional] +**geometry_info** | [**List[GeometrySummary]**](GeometrySummary.md) | | [optional] +**math_model_infos** | [**List[MathModelSummary]**](MathModelSummary.md) | | [optional] +**bio_model_infos** | [**List[BioModelSummary]**](BioModelSummary.md) | | [optional] + +## Example + +```python +from vcell_client.models.v_cell_info_container import VCellInfoContainer + +# TODO update the JSON string below +json = "{}" +# create an instance of VCellInfoContainer from a JSON string +v_cell_info_container_instance = VCellInfoContainer.from_json(json) +# print the JSON string representation of the object +print VCellInfoContainer.to_json() + +# convert the object into a dict +v_cell_info_container_dict = v_cell_info_container_instance.to_dict() +# create an instance of VCellInfoContainer from a dict +v_cell_info_container_form_dict = v_cell_info_container.from_dict(v_cell_info_container_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/python-restclient/docs/VCellSummaryContainer.md b/python-restclient/docs/VCellSummaryContainer.md new file mode 100644 index 0000000000..8a45ba5770 --- /dev/null +++ b/python-restclient/docs/VCellSummaryContainer.md @@ -0,0 +1,31 @@ +# VCellSummaryContainer + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**image_summaries** | [**List[VCImageSummary]**](VCImageSummary.md) | | [optional] +**geometry_summaries** | [**List[GeometrySummary]**](GeometrySummary.md) | | [optional] +**math_model_summaries** | [**List[MathModelSummary]**](MathModelSummary.md) | | [optional] +**bio_model_summaries** | [**List[BioModelSummary]**](BioModelSummary.md) | | [optional] + +## Example + +```python +from vcell_client.models.v_cell_summary_container import VCellSummaryContainer + +# TODO update the JSON string below +json = "{}" +# create an instance of VCellSummaryContainer from a JSON string +v_cell_summary_container_instance = VCellSummaryContainer.from_json(json) +# print the JSON string representation of the object +print VCellSummaryContainer.to_json() + +# convert the object into a dict +v_cell_summary_container_dict = v_cell_summary_container_instance.to_dict() +# create an instance of VCellSummaryContainer from a dict +v_cell_summary_container_form_dict = v_cell_summary_container.from_dict(v_cell_summary_container_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/python-restclient/docs/VersionFlag.md b/python-restclient/docs/VersionFlag.md index ae72813eb1..bf48d3342e 100644 --- a/python-restclient/docs/VersionFlag.md +++ b/python-restclient/docs/VersionFlag.md @@ -4,7 +4,6 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**version_flag** | **int** | | [optional] **int_value** | **int** | | [optional] **archived** | **bool** | | [optional] **current** | **bool** | | [optional] diff --git a/python-restclient/test/test_v_cell_info_container.py b/python-restclient/test/test_v_cell_info_container.py new file mode 100644 index 0000000000..e1e4973517 --- /dev/null +++ b/python-restclient/test/test_v_cell_info_container.py @@ -0,0 +1,305 @@ +# coding: utf-8 + +""" + VCell API + + VCell API + + The version of the OpenAPI document: 1.0.1 + Contact: vcell_support@uchc.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from vcell_client.models.v_cell_info_container import VCellInfoContainer + +class TestVCellInfoContainer(unittest.TestCase): + """VCellInfoContainer unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VCellInfoContainer: + """Test VCellInfoContainer + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VCellInfoContainer` + """ + model = VCellInfoContainer() + if include_optional: + return VCellInfoContainer( + image_infos = [ + vcell_client.models.vc_image_summary.VCImageSummary( + size = vcell_client.models.i_size.ISize( + x = 56, + y = 56, + z = 56, ), + extent = vcell_client.models.extent.Extent( + x = 1.337, + y = 1.337, + z = 1.337, ), + version = vcell_client.models.version.Version( + version_key = '', + annot = '', + branch_id = 1.337, + branch_point_ref_key = '', + date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + flag = vcell_client.models.version_flag.VersionFlag( + version_flag = 56, + int_value = 56, + archived = True, + current = True, + published = True, ), + group_access = vcell_client.models.group_access.GroupAccess( + groupid = 1.337, + description = '', ), + name = '', + owner = vcell_client.models.user.User( + user_name = '', + key = '', + my_specials = [ + 'admins' + ], ), ), + preview = vcell_client.models.gif_image.GIFImage( + gif_encoded_data = bytes(b'blah'), ), + software_version = vcell_client.models.v_cell_software_version.VCellSoftwareVersion( + software_version_string = '', + vcell_site = 'alpha', + build_number = '', + version_number = '', + major_version = 56, + minor_version = 56, + patch_version = 56, + build_int = 56, + description = '', ), ) + ], + geometry_info = [ + vcell_client.models.geometry_summary.GeometrySummary( + dimension = 56, + origin = vcell_client.models.origin.Origin( + x = 1.337, + y = 1.337, + z = 1.337, ), + extent = vcell_client.models.extent.Extent( + x = 1.337, + y = 1.337, + z = 1.337, ), + image_ref = '', + version = vcell_client.models.version.Version( + version_key = '', + annot = '', + branch_id = 1.337, + branch_point_ref_key = '', + date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + flag = vcell_client.models.version_flag.VersionFlag( + version_flag = 56, + int_value = 56, + archived = True, + current = True, + published = True, ), + group_access = vcell_client.models.group_access.GroupAccess( + groupid = 1.337, + description = '', ), + name = '', + owner = vcell_client.models.user.User( + user_name = '', + key = '', + my_specials = [ + 'admins' + ], ), ), + software_version = vcell_client.models.v_cell_software_version.VCellSoftwareVersion( + software_version_string = '', + vcell_site = 'alpha', + build_number = '', + version_number = '', + major_version = 56, + minor_version = 56, + patch_version = 56, + build_int = 56, + description = '', ), ) + ], + math_model_infos = [ + vcell_client.models.math_model_summary.MathModelSummary( + version = vcell_client.models.version.Version( + version_key = '', + annot = '', + branch_id = 1.337, + branch_point_ref_key = '', + date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + flag = vcell_client.models.version_flag.VersionFlag( + version_flag = 56, + int_value = 56, + archived = True, + current = True, + published = True, ), + group_access = vcell_client.models.group_access.GroupAccess( + groupid = 1.337, + description = '', ), + name = '', + owner = vcell_client.models.user.User( + user_name = '', + key = '', + my_specials = [ + 'admins' + ], ), ), + key_value = '', + model_info = vcell_client.models.math_model_child_summary.MathModelChildSummary( + model_type = 'RuleBased', + geometry_dimension = 56, + geometry_name = '', + simulation_annotations = [ + '' + ], + simulation_names = [ + '' + ], ), + software_version = vcell_client.models.v_cell_software_version.VCellSoftwareVersion( + software_version_string = '', + vcell_site = 'alpha', + build_number = '', + version_number = '', + major_version = 56, + minor_version = 56, + patch_version = 56, + build_int = 56, + description = '', ), + publication_infos = [ + vcell_client.models.publication_info.PublicationInfo( + publication_key = '', + title = '', + authors = [ + '' + ], + citation = '', + pubmedid = '', + doi = '', + url = '', + pubdate = 'Thu Mar 10 00:00:00 UTC 2022', + vc_document_type = 'BIOMODEL_DOC', + user = vcell_client.models.user.User( + user_name = '', + key = '', ), + the_hash_code = 56, ) + ], + annotated_functions = '', ) + ], + bio_model_infos = [ + vcell_client.models.bio_model_summary.BioModelSummary( + version = vcell_client.models.version.Version( + version_key = '', + annot = '', + branch_id = 1.337, + branch_point_ref_key = '', + date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + flag = vcell_client.models.version_flag.VersionFlag( + version_flag = 56, + int_value = 56, + archived = True, + current = True, + published = True, ), + group_access = vcell_client.models.group_access.GroupAccess( + groupid = 1.337, + description = '', ), + name = '', + owner = vcell_client.models.user.User( + user_name = '', + key = '', + my_specials = [ + 'admins' + ], ), ), + summary = vcell_client.models.bio_model_child_summary.BioModelChildSummary( + sc_names = [ + '' + ], + sc_annots = [ + '' + ], + geo_names = [ + '' + ], + geo_dims = [ + 56 + ], + app_types = [ + 'RuleBased' + ], + sim_names = [ + [ + '' + ] + ], + sim_annots = [ + [ + '' + ] + ], + geometry_dimensions = [ + 56 + ], + geometry_names = [ + '' + ], + simulation_context_annotations = [ + '' + ], + simulation_context_names = [ + '' + ], + application_info = [ + vcell_client.models.application_info.ApplicationInfo( + name = '', + type = 'RuleBased', + dimensions = 56, + geometry_name = '', ) + ], ), + publication_information = [ + vcell_client.models.publication_info.PublicationInfo( + publication_key = '', + title = '', + authors = [ + '' + ], + citation = '', + pubmedid = '', + doi = '', + url = '', + pubdate = 'Thu Mar 10 00:00:00 UTC 2022', + vc_document_type = 'BIOMODEL_DOC', + user = vcell_client.models.user.User( + user_name = '', + key = '', ), + the_hash_code = 56, ) + ], + v_cell_software_version = vcell_client.models.v_cell_software_version.VCellSoftwareVersion( + software_version_string = '', + vcell_site = 'alpha', + build_number = '', + version_number = '', + major_version = 56, + minor_version = 56, + patch_version = 56, + build_int = 56, + description = '', ), ) + ] + ) + else: + return VCellInfoContainer( + ) + """ + + def testVCellInfoContainer(self): + """Test VCellInfoContainer""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python-restclient/test/test_v_cell_summary_container.py b/python-restclient/test/test_v_cell_summary_container.py new file mode 100644 index 0000000000..9d88e65857 --- /dev/null +++ b/python-restclient/test/test_v_cell_summary_container.py @@ -0,0 +1,305 @@ +# coding: utf-8 + +""" + VCell API + + VCell API + + The version of the OpenAPI document: 1.0.1 + Contact: vcell_support@uchc.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from vcell_client.models.v_cell_summary_container import VCellSummaryContainer + +class TestVCellSummaryContainer(unittest.TestCase): + """VCellSummaryContainer unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VCellSummaryContainer: + """Test VCellSummaryContainer + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VCellSummaryContainer` + """ + model = VCellSummaryContainer() + if include_optional: + return VCellSummaryContainer( + image_summaries = [ + vcell_client.models.vc_image_summary.VCImageSummary( + size = vcell_client.models.i_size.ISize( + x = 56, + y = 56, + z = 56, ), + extent = vcell_client.models.extent.Extent( + x = 1.337, + y = 1.337, + z = 1.337, ), + version = vcell_client.models.version.Version( + version_key = '', + annot = '', + branch_id = 1.337, + branch_point_ref_key = '', + date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + flag = vcell_client.models.version_flag.VersionFlag( + version_flag = 56, + int_value = 56, + archived = True, + current = True, + published = True, ), + group_access = vcell_client.models.group_access.GroupAccess( + groupid = 1.337, + description = '', ), + name = '', + owner = vcell_client.models.user.User( + user_name = '', + key = '', + my_specials = [ + 'admins' + ], ), ), + preview = vcell_client.models.gif_image.GIFImage( + gif_encoded_data = bytes(b'blah'), ), + software_version = vcell_client.models.v_cell_software_version.VCellSoftwareVersion( + software_version_string = '', + vcell_site = 'alpha', + build_number = '', + version_number = '', + major_version = 56, + minor_version = 56, + patch_version = 56, + build_int = 56, + description = '', ), ) + ], + geometry_summaries = [ + vcell_client.models.geometry_summary.GeometrySummary( + dimension = 56, + origin = vcell_client.models.origin.Origin( + x = 1.337, + y = 1.337, + z = 1.337, ), + extent = vcell_client.models.extent.Extent( + x = 1.337, + y = 1.337, + z = 1.337, ), + image_ref = '', + version = vcell_client.models.version.Version( + version_key = '', + annot = '', + branch_id = 1.337, + branch_point_ref_key = '', + date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + flag = vcell_client.models.version_flag.VersionFlag( + version_flag = 56, + int_value = 56, + archived = True, + current = True, + published = True, ), + group_access = vcell_client.models.group_access.GroupAccess( + groupid = 1.337, + description = '', ), + name = '', + owner = vcell_client.models.user.User( + user_name = '', + key = '', + my_specials = [ + 'admins' + ], ), ), + software_version = vcell_client.models.v_cell_software_version.VCellSoftwareVersion( + software_version_string = '', + vcell_site = 'alpha', + build_number = '', + version_number = '', + major_version = 56, + minor_version = 56, + patch_version = 56, + build_int = 56, + description = '', ), ) + ], + math_model_summaries = [ + vcell_client.models.math_model_summary.MathModelSummary( + version = vcell_client.models.version.Version( + version_key = '', + annot = '', + branch_id = 1.337, + branch_point_ref_key = '', + date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + flag = vcell_client.models.version_flag.VersionFlag( + version_flag = 56, + int_value = 56, + archived = True, + current = True, + published = True, ), + group_access = vcell_client.models.group_access.GroupAccess( + groupid = 1.337, + description = '', ), + name = '', + owner = vcell_client.models.user.User( + user_name = '', + key = '', + my_specials = [ + 'admins' + ], ), ), + key_value = '', + model_info = vcell_client.models.math_model_child_summary.MathModelChildSummary( + model_type = 'RuleBased', + geometry_dimension = 56, + geometry_name = '', + simulation_annotations = [ + '' + ], + simulation_names = [ + '' + ], ), + software_version = vcell_client.models.v_cell_software_version.VCellSoftwareVersion( + software_version_string = '', + vcell_site = 'alpha', + build_number = '', + version_number = '', + major_version = 56, + minor_version = 56, + patch_version = 56, + build_int = 56, + description = '', ), + publication_infos = [ + vcell_client.models.publication_info.PublicationInfo( + publication_key = '', + title = '', + authors = [ + '' + ], + citation = '', + pubmedid = '', + doi = '', + url = '', + pubdate = 'Thu Mar 10 00:00:00 UTC 2022', + vc_document_type = 'BIOMODEL_DOC', + user = vcell_client.models.user.User( + user_name = '', + key = '', ), + the_hash_code = 56, ) + ], + annotated_functions = '', ) + ], + bio_model_summaries = [ + vcell_client.models.bio_model_summary.BioModelSummary( + version = vcell_client.models.version.Version( + version_key = '', + annot = '', + branch_id = 1.337, + branch_point_ref_key = '', + date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + flag = vcell_client.models.version_flag.VersionFlag( + version_flag = 56, + int_value = 56, + archived = True, + current = True, + published = True, ), + group_access = vcell_client.models.group_access.GroupAccess( + groupid = 1.337, + description = '', ), + name = '', + owner = vcell_client.models.user.User( + user_name = '', + key = '', + my_specials = [ + 'admins' + ], ), ), + summary = vcell_client.models.bio_model_child_summary.BioModelChildSummary( + sc_names = [ + '' + ], + sc_annots = [ + '' + ], + geo_names = [ + '' + ], + geo_dims = [ + 56 + ], + app_types = [ + 'RuleBased' + ], + sim_names = [ + [ + '' + ] + ], + sim_annots = [ + [ + '' + ] + ], + geometry_dimensions = [ + 56 + ], + geometry_names = [ + '' + ], + simulation_context_annotations = [ + '' + ], + simulation_context_names = [ + '' + ], + application_info = [ + vcell_client.models.application_info.ApplicationInfo( + name = '', + type = 'RuleBased', + dimensions = 56, + geometry_name = '', ) + ], ), + publication_information = [ + vcell_client.models.publication_info.PublicationInfo( + publication_key = '', + title = '', + authors = [ + '' + ], + citation = '', + pubmedid = '', + doi = '', + url = '', + pubdate = 'Thu Mar 10 00:00:00 UTC 2022', + vc_document_type = 'BIOMODEL_DOC', + user = vcell_client.models.user.User( + user_name = '', + key = '', ), + the_hash_code = 56, ) + ], + v_cell_software_version = vcell_client.models.v_cell_software_version.VCellSoftwareVersion( + software_version_string = '', + vcell_site = 'alpha', + build_number = '', + version_number = '', + major_version = 56, + minor_version = 56, + patch_version = 56, + build_int = 56, + description = '', ), ) + ] + ) + else: + return VCellSummaryContainer( + ) + """ + + def testVCellSummaryContainer(self): + """Test VCellSummaryContainer""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/python-restclient/vcell_client/__init__.py b/python-restclient/vcell_client/__init__.py index 8ad5416366..261a60807c 100644 --- a/python-restclient/vcell_client/__init__.py +++ b/python-restclient/vcell_client/__init__.py @@ -122,6 +122,7 @@ from vcell_client.models.v_cell_http_error import VCellHTTPError from vcell_client.models.v_cell_site import VCellSite from vcell_client.models.v_cell_software_version import VCellSoftwareVersion +from vcell_client.models.v_cell_summary_container import VCellSummaryContainer from vcell_client.models.variable_domain import VariableDomain from vcell_client.models.variable_mode import VariableMode from vcell_client.models.variable_specs import VariableSpecs diff --git a/python-restclient/vcell_client/api/bio_model_resource_api.py b/python-restclient/vcell_client/api/bio_model_resource_api.py index 906c0d2688..ae7f4ba1d6 100644 --- a/python-restclient/vcell_client/api/bio_model_resource_api.py +++ b/python-restclient/vcell_client/api/bio_model_resource_api.py @@ -32,6 +32,7 @@ from vcell_client.models.bio_model import BioModel from vcell_client.models.bio_model_summary import BioModelSummary +from vcell_client.models.v_cell_summary_container import VCellSummaryContainer from vcell_client.api_client import ApiClient from vcell_client.api_response import ApiResponse @@ -1368,6 +1369,255 @@ def _get_bio_model_vcml_serialize( + @validate_call + def get_summaries_container( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> VCellSummaryContainer: + """get_summaries_container + + All of the summary objects for this particular user. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_summaries_container_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VCellSummaryContainer", + '500': "VCellHTTPError" + + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_summaries_container_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[VCellSummaryContainer]: + """get_summaries_container + + All of the summary objects for this particular user. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_summaries_container_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VCellSummaryContainer", + '500': "VCellHTTPError" + + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_summaries_container_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """get_summaries_container + + All of the summary objects for this particular user. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_summaries_container_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VCellSummaryContainer", + '500': "VCellHTTPError" + + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_summaries_container_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> Tuple: + + _host = None + + _collection_formats: Dict[str, str] = { + + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v1/bioModel/summariesContainer', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def save_bio_model( self, diff --git a/python-restclient/vcell_client/models/__init__.py b/python-restclient/vcell_client/models/__init__.py index 5690747f2e..3953cab95e 100644 --- a/python-restclient/vcell_client/models/__init__.py +++ b/python-restclient/vcell_client/models/__init__.py @@ -91,6 +91,7 @@ from vcell_client.models.v_cell_http_error import VCellHTTPError from vcell_client.models.v_cell_site import VCellSite from vcell_client.models.v_cell_software_version import VCellSoftwareVersion +from vcell_client.models.v_cell_summary_container import VCellSummaryContainer from vcell_client.models.variable_domain import VariableDomain from vcell_client.models.variable_mode import VariableMode from vcell_client.models.variable_specs import VariableSpecs diff --git a/python-restclient/vcell_client/models/bio_model_child_summary.py b/python-restclient/vcell_client/models/bio_model_child_summary.py index 19ce0dd8e9..d5ce3e08d9 100644 --- a/python-restclient/vcell_client/models/bio_model_child_summary.py +++ b/python-restclient/vcell_client/models/bio_model_child_summary.py @@ -33,19 +33,15 @@ class BioModelChildSummary(BaseModel): """ BioModelChildSummary """ # noqa: E501 - sc_names: Optional[List[StrictStr]] = Field(default=None, alias="scNames") - sc_annots: Optional[List[StrictStr]] = Field(default=None, alias="scAnnots") - geo_names: Optional[List[StrictStr]] = Field(default=None, alias="geoNames") - geo_dims: Optional[List[StrictInt]] = Field(default=None, alias="geoDims") app_types: Optional[List[MathType]] = Field(default=None, alias="appTypes") - sim_names: Optional[List[List[StrictStr]]] = Field(default=None, alias="simNames") - sim_annots: Optional[List[List[StrictStr]]] = Field(default=None, alias="simAnnots") geometry_dimensions: Optional[List[StrictInt]] = Field(default=None, alias="geometryDimensions") geometry_names: Optional[List[StrictStr]] = Field(default=None, alias="geometryNames") simulation_context_annotations: Optional[List[StrictStr]] = Field(default=None, alias="simulationContextAnnotations") simulation_context_names: Optional[List[StrictStr]] = Field(default=None, alias="simulationContextNames") + all_simulation_names: Optional[List[List[StrictStr]]] = Field(default=None, alias="allSimulationNames") + all_simulation_annots: Optional[List[List[StrictStr]]] = Field(default=None, alias="allSimulationAnnots") application_info: Optional[List[ApplicationInfo]] = Field(default=None, alias="applicationInfo") - __properties: ClassVar[List[str]] = ["scNames", "scAnnots", "geoNames", "geoDims", "appTypes", "simNames", "simAnnots", "geometryDimensions", "geometryNames", "simulationContextAnnotations", "simulationContextNames", "applicationInfo"] + __properties: ClassVar[List[str]] = ["appTypes", "geometryDimensions", "geometryNames", "simulationContextAnnotations", "simulationContextNames", "allSimulationNames", "allSimulationAnnots", "applicationInfo"] model_config = { "populate_by_name": True, @@ -107,17 +103,13 @@ def from_dict(cls, obj: Dict) -> Self: raise ValueError("Error due to additional fields (not defined in BioModelChildSummary) in the input: " + _key) _obj = cls.model_validate({ - "scNames": obj.get("scNames"), - "scAnnots": obj.get("scAnnots"), - "geoNames": obj.get("geoNames"), - "geoDims": obj.get("geoDims"), "appTypes": obj.get("appTypes"), - "simNames": obj.get("simNames"), - "simAnnots": obj.get("simAnnots"), "geometryDimensions": obj.get("geometryDimensions"), "geometryNames": obj.get("geometryNames"), "simulationContextAnnotations": obj.get("simulationContextAnnotations"), "simulationContextNames": obj.get("simulationContextNames"), + "allSimulationNames": obj.get("allSimulationNames"), + "allSimulationAnnots": obj.get("allSimulationAnnots"), "applicationInfo": [ApplicationInfo.from_dict(_item) for _item in obj.get("applicationInfo")] if obj.get("applicationInfo") is not None else None }) return _obj diff --git a/python-restclient/vcell_client/models/group_access_some.py b/python-restclient/vcell_client/models/group_access_some.py index 4ebbf80c98..c453e153f1 100644 --- a/python-restclient/vcell_client/models/group_access_some.py +++ b/python-restclient/vcell_client/models/group_access_some.py @@ -38,8 +38,6 @@ class GroupAccessSome(GroupAccess): group_members: Optional[List[User]] = Field(default=None, alias="groupMembers") hidden_members: Optional[List[StrictBool]] = Field(default=None, alias="hiddenMembers") description: Optional[StrictStr] = None - hidden_group_members: Optional[List[User]] = Field(default=None, alias="hiddenGroupMembers") - normal_group_members: Optional[List[User]] = Field(default=None, alias="normalGroupMembers") __properties: ClassVar[List[str]] = ["groupid", "description"] model_config = { diff --git a/python-restclient/vcell_client/models/publication_info.py b/python-restclient/vcell_client/models/publication_info.py index 692f8af248..37c90721a2 100644 --- a/python-restclient/vcell_client/models/publication_info.py +++ b/python-restclient/vcell_client/models/publication_info.py @@ -18,7 +18,7 @@ import re # noqa: F401 import json -from datetime import date +from datetime import date, datetime from typing import Any, ClassVar, Dict, List, Optional from pydantic import BaseModel, StrictInt, StrictStr from pydantic import Field @@ -45,7 +45,8 @@ class PublicationInfo(BaseModel): vc_document_type: Optional[VCDocumentType] = Field(default=None, alias="vcDocumentType") user: Optional[User] = None the_hash_code: Optional[StrictInt] = Field(default=None, alias="theHashCode") - __properties: ClassVar[List[str]] = ["publicationKey", "versionKey", "title", "authors", "citation", "pubmedid", "doi", "url", "pubdate", "vcDocumentType", "user", "theHashCode"] + pub_date: Optional[datetime] = Field(default=None, alias="pubDate") + __properties: ClassVar[List[str]] = ["publicationKey", "versionKey", "title", "authors", "citation", "pubmedid", "doi", "url", "pubdate", "vcDocumentType", "user", "theHashCode", "pubDate"] model_config = { "populate_by_name": True, @@ -114,7 +115,8 @@ def from_dict(cls, obj: Dict) -> Self: "pubdate": obj.get("pubdate"), "vcDocumentType": obj.get("vcDocumentType"), "user": User.from_dict(obj.get("user")) if obj.get("user") is not None else None, - "theHashCode": obj.get("theHashCode") + "theHashCode": obj.get("theHashCode"), + "pubDate": obj.get("pubDate") }) return _obj diff --git a/python-restclient/vcell_client/models/v_cell_info_container.py b/python-restclient/vcell_client/models/v_cell_info_container.py new file mode 100644 index 0000000000..321d9da0cb --- /dev/null +++ b/python-restclient/vcell_client/models/v_cell_info_container.py @@ -0,0 +1,132 @@ +# coding: utf-8 + +""" + VCell API + + VCell API + + The version of the OpenAPI document: 1.0.1 + Contact: vcell_support@uchc.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Any, ClassVar, Dict, List, Optional +from pydantic import BaseModel +from pydantic import Field +from vcell_client.models.bio_model_summary import BioModelSummary +from vcell_client.models.geometry_summary import GeometrySummary +from vcell_client.models.math_model_summary import MathModelSummary +from vcell_client.models.vc_image_summary import VCImageSummary +try: + from typing import Self +except ImportError: + from typing_extensions import Self + +class VCellInfoContainer(BaseModel): + """ + VCellInfoContainer + """ # noqa: E501 + image_infos: Optional[List[VCImageSummary]] = Field(default=None, alias="imageInfos") + geometry_info: Optional[List[GeometrySummary]] = Field(default=None, alias="geometryInfo") + math_model_infos: Optional[List[MathModelSummary]] = Field(default=None, alias="mathModelInfos") + bio_model_infos: Optional[List[BioModelSummary]] = Field(default=None, alias="bioModelInfos") + __properties: ClassVar[List[str]] = ["imageInfos", "geometryInfo", "mathModelInfos", "bioModelInfos"] + + model_config = { + "populate_by_name": True, + "validate_assignment": True + } + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of VCellInfoContainer from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + _dict = self.model_dump( + by_alias=True, + exclude={ + }, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in image_infos (list) + _items = [] + if self.image_infos: + for _item in self.image_infos: + if _item: + _items.append(_item.to_dict()) + _dict['imageInfos'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in geometry_info (list) + _items = [] + if self.geometry_info: + for _item in self.geometry_info: + if _item: + _items.append(_item.to_dict()) + _dict['geometryInfo'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in math_model_infos (list) + _items = [] + if self.math_model_infos: + for _item in self.math_model_infos: + if _item: + _items.append(_item.to_dict()) + _dict['mathModelInfos'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in bio_model_infos (list) + _items = [] + if self.bio_model_infos: + for _item in self.bio_model_infos: + if _item: + _items.append(_item.to_dict()) + _dict['bioModelInfos'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Dict) -> Self: + """Create an instance of VCellInfoContainer from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + # raise errors for additional fields in the input + for _key in obj.keys(): + if _key not in cls.__properties: + raise ValueError("Error due to additional fields (not defined in VCellInfoContainer) in the input: " + _key) + + _obj = cls.model_validate({ + "imageInfos": [VCImageSummary.from_dict(_item) for _item in obj.get("imageInfos")] if obj.get("imageInfos") is not None else None, + "geometryInfo": [GeometrySummary.from_dict(_item) for _item in obj.get("geometryInfo")] if obj.get("geometryInfo") is not None else None, + "mathModelInfos": [MathModelSummary.from_dict(_item) for _item in obj.get("mathModelInfos")] if obj.get("mathModelInfos") is not None else None, + "bioModelInfos": [BioModelSummary.from_dict(_item) for _item in obj.get("bioModelInfos")] if obj.get("bioModelInfos") is not None else None + }) + return _obj + + diff --git a/python-restclient/vcell_client/models/v_cell_summary_container.py b/python-restclient/vcell_client/models/v_cell_summary_container.py new file mode 100644 index 0000000000..f0c08ecc16 --- /dev/null +++ b/python-restclient/vcell_client/models/v_cell_summary_container.py @@ -0,0 +1,132 @@ +# coding: utf-8 + +""" + VCell API + + VCell API + + The version of the OpenAPI document: 1.0.1 + Contact: vcell_support@uchc.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Any, ClassVar, Dict, List, Optional +from pydantic import BaseModel +from pydantic import Field +from vcell_client.models.bio_model_summary import BioModelSummary +from vcell_client.models.geometry_summary import GeometrySummary +from vcell_client.models.math_model_summary import MathModelSummary +from vcell_client.models.vc_image_summary import VCImageSummary +try: + from typing import Self +except ImportError: + from typing_extensions import Self + +class VCellSummaryContainer(BaseModel): + """ + VCellSummaryContainer + """ # noqa: E501 + image_summaries: Optional[List[VCImageSummary]] = Field(default=None, alias="imageSummaries") + geometry_summaries: Optional[List[GeometrySummary]] = Field(default=None, alias="geometrySummaries") + math_model_summaries: Optional[List[MathModelSummary]] = Field(default=None, alias="mathModelSummaries") + bio_model_summaries: Optional[List[BioModelSummary]] = Field(default=None, alias="bioModelSummaries") + __properties: ClassVar[List[str]] = ["imageSummaries", "geometrySummaries", "mathModelSummaries", "bioModelSummaries"] + + model_config = { + "populate_by_name": True, + "validate_assignment": True + } + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of VCellSummaryContainer from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + _dict = self.model_dump( + by_alias=True, + exclude={ + }, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in image_summaries (list) + _items = [] + if self.image_summaries: + for _item in self.image_summaries: + if _item: + _items.append(_item.to_dict()) + _dict['imageSummaries'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in geometry_summaries (list) + _items = [] + if self.geometry_summaries: + for _item in self.geometry_summaries: + if _item: + _items.append(_item.to_dict()) + _dict['geometrySummaries'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in math_model_summaries (list) + _items = [] + if self.math_model_summaries: + for _item in self.math_model_summaries: + if _item: + _items.append(_item.to_dict()) + _dict['mathModelSummaries'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in bio_model_summaries (list) + _items = [] + if self.bio_model_summaries: + for _item in self.bio_model_summaries: + if _item: + _items.append(_item.to_dict()) + _dict['bioModelSummaries'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Dict) -> Self: + """Create an instance of VCellSummaryContainer from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + # raise errors for additional fields in the input + for _key in obj.keys(): + if _key not in cls.__properties: + raise ValueError("Error due to additional fields (not defined in VCellSummaryContainer) in the input: " + _key) + + _obj = cls.model_validate({ + "imageSummaries": [VCImageSummary.from_dict(_item) for _item in obj.get("imageSummaries")] if obj.get("imageSummaries") is not None else None, + "geometrySummaries": [GeometrySummary.from_dict(_item) for _item in obj.get("geometrySummaries")] if obj.get("geometrySummaries") is not None else None, + "mathModelSummaries": [MathModelSummary.from_dict(_item) for _item in obj.get("mathModelSummaries")] if obj.get("mathModelSummaries") is not None else None, + "bioModelSummaries": [BioModelSummary.from_dict(_item) for _item in obj.get("bioModelSummaries")] if obj.get("bioModelSummaries") is not None else None + }) + return _obj + + diff --git a/python-restclient/vcell_client/models/version_flag.py b/python-restclient/vcell_client/models/version_flag.py index 312b972ebf..ff3a461acc 100644 --- a/python-restclient/vcell_client/models/version_flag.py +++ b/python-restclient/vcell_client/models/version_flag.py @@ -31,12 +31,11 @@ class VersionFlag(BaseModel): """ VersionFlag """ # noqa: E501 - version_flag: Optional[StrictInt] = Field(default=None, alias="versionFlag") int_value: Optional[StrictInt] = Field(default=None, alias="intValue") archived: Optional[StrictBool] = None current: Optional[StrictBool] = None published: Optional[StrictBool] = None - __properties: ClassVar[List[str]] = ["versionFlag", "intValue", "archived", "current", "published"] + __properties: ClassVar[List[str]] = ["intValue", "archived", "current", "published"] model_config = { "populate_by_name": True, @@ -91,7 +90,6 @@ def from_dict(cls, obj: Dict) -> Self: raise ValueError("Error due to additional fields (not defined in VersionFlag) in the input: " + _key) _obj = cls.model_validate({ - "versionFlag": obj.get("versionFlag"), "intValue": obj.get("intValue"), "archived": obj.get("archived"), "current": obj.get("current"), diff --git a/tools/openapi.yaml b/tools/openapi.yaml index 0c7df40f21..471cda9d12 100644 --- a/tools/openapi.yaml +++ b/tools/openapi.yaml @@ -273,6 +273,25 @@ paths: application/json: schema: $ref: '#/components/schemas/VCellHTTPError' + /api/v1/bioModel/summariesContainer: + get: + tags: + - Bio Model Resource + description: All of the summary objects for this particular user. + operationId: getSummariesContainer + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/VCellSummaryContainer' + "500": + description: Data Access Exception + content: + application/json: + schema: + $ref: '#/components/schemas/VCellHTTPError' /api/v1/bioModel/{bioModelID}: get: tags: @@ -2195,39 +2214,10 @@ components: BioModelChildSummary: type: object properties: - scNames: - type: array - items: - type: string - scAnnots: - type: array - items: - type: string - geoNames: - type: array - items: - type: string - geoDims: - type: array - items: - format: int32 - type: integer appTypes: type: array items: $ref: '#/components/schemas/MathType' - simNames: - type: array - items: - type: array - items: - type: string - simAnnots: - type: array - items: - type: array - items: - type: string geometryDimensions: type: array items: @@ -2245,6 +2235,18 @@ components: type: array items: type: string + allSimulationNames: + type: array + items: + type: array + items: + type: string + allSimulationAnnots: + type: array + items: + type: array + items: + type: string applicationInfo: type: array items: @@ -2759,14 +2761,6 @@ components: type: boolean description: type: string - hiddenGroupMembers: - type: array - items: - $ref: '#/components/schemas/User' - normalGroupMembers: - type: array - items: - $ref: '#/components/schemas/User' HelloWorldMessage: type: object properties: @@ -3013,6 +3007,10 @@ components: theHashCode: format: int32 type: integer + pubDate: + format: date-time + type: string + example: 2022-03-10 SPECIAL_CLAIM: enum: - admins @@ -3424,6 +3422,25 @@ components: type: integer description: type: string + VCellSummaryContainer: + type: object + properties: + imageSummaries: + type: array + items: + $ref: '#/components/schemas/VCImageSummary' + geometrySummaries: + type: array + items: + $ref: '#/components/schemas/GeometrySummary' + mathModelSummaries: + type: array + items: + $ref: '#/components/schemas/MathModelSummary' + bioModelSummaries: + type: array + items: + $ref: '#/components/schemas/BioModelSummary' VariableDomain: enum: - VARIABLEDOMAIN_POSTPROCESSING @@ -3497,9 +3514,6 @@ components: VersionFlag: type: object properties: - versionFlag: - format: int32 - type: integer intValue: format: int32 type: integer diff --git a/vcell-api/src/main/java/org/vcell/rest/rpc/RpcDbServerProxy.java b/vcell-api/src/main/java/org/vcell/rest/rpc/RpcDbServerProxy.java index 0e01b17867..509c7ad3b2 100644 --- a/vcell-api/src/main/java/org/vcell/rest/rpc/RpcDbServerProxy.java +++ b/vcell-api/src/main/java/org/vcell/rest/rpc/RpcDbServerProxy.java @@ -103,10 +103,6 @@ public cbit.vcell.model.ReactionDescription[] getUserReactionDescriptions(Reacti return (cbit.vcell.model.ReactionDescription[])rpc("getUserReactionDescriptions",new Object[]{userLoginInfo.getUser(), reactionQuerySpec}); } -public VCInfoContainer getVCInfoContainer() throws DataAccessException { - return (VCInfoContainer)rpc("getVCInfoContainer",new Object[]{userLoginInfo.getUser()}); -} - public org.vcell.util.document.VersionInfo groupAddUser(org.vcell.util.document.VersionableType vType, org.vcell.util.document.KeyValue key, java.lang.String addUserToGroup, boolean isHidden) throws DataAccessException, ObjectNotFoundException { return (org.vcell.util.document.VersionInfo)rpc("groupAddUser",new Object[]{userLoginInfo.getUser(), vType,key,addUserToGroup,new Boolean(isHidden)}); } diff --git a/vcell-apiclient/src/main/java/org/vcell/api/messaging/LocalUserMetaDbServerMessaging.java b/vcell-apiclient/src/main/java/org/vcell/api/messaging/LocalUserMetaDbServerMessaging.java index 4d34609586..51613751c5 100644 --- a/vcell-apiclient/src/main/java/org/vcell/api/messaging/LocalUserMetaDbServerMessaging.java +++ b/vcell-apiclient/src/main/java/org/vcell/api/messaging/LocalUserMetaDbServerMessaging.java @@ -10,36 +10,33 @@ package org.vcell.api.messaging; -import cbit.image.GifParsingException; import cbit.image.VCImageInfo; import cbit.vcell.field.FieldDataAllDBEntries; import cbit.vcell.geometry.GeometryInfo; -import cbit.vcell.message.server.bootstrap.client.RemoteProxyException; import cbit.vcell.message.server.bootstrap.client.RpcDbServerProxy; import cbit.vcell.message.server.bootstrap.client.RpcSender; -import cbit.vcell.model.*; +import cbit.vcell.model.DBFormalSpecies; +import cbit.vcell.model.DBSpecies; +import cbit.vcell.model.FormalSpeciesType; +import cbit.vcell.model.ReactionQuerySpec; import cbit.vcell.server.SimulationStatusPersistent; import cbit.vcell.server.UserMetaDbServer; -import cbit.vcell.server.UserRegistrationOP; -import cbit.vcell.server.UserRegistrationResults; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.vcell.api.client.ExceptionHandler; import org.vcell.api.client.VCellApiClient; import org.vcell.restclient.ApiException; +import org.vcell.restclient.api.BioModelResourceApi; import org.vcell.restclient.api.VcImageResourceApi; import org.vcell.restclient.model.*; import org.vcell.restclient.utils.DtoModelTransforms; import org.vcell.util.BigString; import org.vcell.util.DataAccessException; import org.vcell.util.ObjectNotFoundException; -import org.vcell.util.document.*; import org.vcell.util.document.ExternalDataIdentifier; -import org.vcell.util.document.KeyValue; -import org.vcell.util.document.SpecialUser; import org.vcell.util.document.User; +import org.vcell.util.document.*; -import java.io.IOException; import java.rmi.RemoteException; import java.util.*; @@ -666,16 +663,22 @@ public BigString getVCImageXML(KeyValue imageKey) throws DataAccessException, Ob * @throws RemoteException */ public VCInfoContainer getVCInfoContainer() throws DataAccessException { - - try { - if (lg.isTraceEnabled()) lg.trace("LocalUserMetaDbServerMessaging.getVCInfoContainer()"); - return dbServerProxy.getVCInfoContainer(); - } catch (DataAccessException e) { - lg.error(e.getMessage(),e); - throw e; - } catch (Throwable e) { - lg.error(e.getMessage(),e); - throw new DataAccessException(e.getMessage()); + BioModelResourceApi bioModelApi = vCellApiClient.getBioModelApi(); + try { + VCellSummaryContainer infoContainer = bioModelApi.getSummariesContainer(); + List imageSummaries = infoContainer.getImageSummaries(); + List geometrySummaries = infoContainer.getGeometrySummaries(); + List mathModelSummaries = infoContainer.getMathModelSummaries(); + List bioModelSummaries = infoContainer.getBioModelSummaries(); + return new VCInfoContainer(null, + imageSummaries == null ? null : imageSummaries.stream().map(DtoModelTransforms::imageSummaryToVCImageInfo).toArray(VCImageInfo[]::new), + geometrySummaries == null ? null : geometrySummaries.stream().map(DtoModelTransforms::geometrySummaryToGeometryInfo).toArray(GeometryInfo[]::new), + mathModelSummaries == null ? null : mathModelSummaries.stream().map(DtoModelTransforms::mathModelContextToMathModel).toArray(MathModelInfo[]::new), + bioModelSummaries == null ? null : bioModelSummaries.stream().map(DtoModelTransforms::bioModelContextToBioModelInfo).toArray(BioModelInfo[]::new) + ); + } catch (ApiException e) { + ExceptionHandler.onlyDataAccessOrPermissionException(e); + throw new RuntimeException("Exception handler did not throw an error.", e); } } diff --git a/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/RpcDbServerProxy.java b/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/RpcDbServerProxy.java index 7490ee9da2..a1a1884749 100644 --- a/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/RpcDbServerProxy.java +++ b/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/RpcDbServerProxy.java @@ -107,10 +107,6 @@ public cbit.vcell.model.ReactionDescription[] getUserReactionDescriptions(Reacti return (cbit.vcell.model.ReactionDescription[])rpc("getUserReactionDescriptions",new Object[]{userLoginInfo.getUser(), reactionQuerySpec}); } -public VCInfoContainer getVCInfoContainer() throws DataAccessException { - return (VCInfoContainer)rpc("getVCInfoContainer",new Object[]{userLoginInfo.getUser()}); -} - public org.vcell.util.document.VersionInfo groupAddUser(org.vcell.util.document.VersionableType vType, org.vcell.util.document.KeyValue key, java.lang.String addUserToGroup, boolean isHidden) throws DataAccessException, ObjectNotFoundException { return (org.vcell.util.document.VersionInfo)rpc("groupAddUser",new Object[]{userLoginInfo.getUser(), vType,key,addUserToGroup,new Boolean(isHidden)}); } diff --git a/vcell-core/src/main/java/org/vcell/util/document/BioModelChildSummary.java b/vcell-core/src/main/java/org/vcell/util/document/BioModelChildSummary.java index 3333a3a180..8d0af49ce7 100644 --- a/vcell-core/src/main/java/org/vcell/util/document/BioModelChildSummary.java +++ b/vcell-core/src/main/java/org/vcell/util/document/BioModelChildSummary.java @@ -14,6 +14,7 @@ import java.util.StringTokenizer; import java.util.Vector; +import com.fasterxml.jackson.annotation.JsonIgnore; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.vcell.util.TokenMangler; @@ -26,13 +27,18 @@ public class BioModelChildSummary implements java.io.Serializable { private final static Logger lg = LogManager.getLogger(BioModelChildSummary.class); // public static final boolean debug = true; + @JsonIgnore private String scNames[] = new String[0]; + @JsonIgnore private String scAnnots[] = new String[0]; + @JsonIgnore private String geoNames[] = new String[0]; + @JsonIgnore private int geoDims[] = new int[0]; private MathType appTypes[] = new MathType[0]; //deterministic application or stochastic application - + @JsonIgnore private String simNames[][] = new String[0][]; + @JsonIgnore private String simAnnots[][] = new String[0][]; private final static String NOCHILDREN = "NOCHILDREN"; @@ -208,6 +214,7 @@ public MathType[] getAppTypes() { * Creation date: (8/20/2004 2:18:34 PM) * @return java.lang.String[] */ +@JsonIgnore public String[] getSimulationAnnotations(String simulationContextName) { for (int i = 0; i < scNames.length; i++){ if (scNames[i].equals(simulationContextName)){ @@ -232,11 +239,20 @@ public String[] getSimulationContextAnnotations() { return scNames; } +public String[][] getAllSimulationNames(){ + return simNames; +} + +public String[][] getAllSimulationAnnots(){ + return simAnnots; +} + /** * Insert the method's description here. * Creation date: (8/20/2004 2:18:34 PM) * @return java.lang.String[] */ +@JsonIgnore public String[] getSimulationNames(String simulationContextName) { for (int i = 0; i < scNames.length; i++){ if (scNames[i].equals(simulationContextName)){ diff --git a/vcell-core/src/main/java/org/vcell/util/document/GroupAccessSome.java b/vcell-core/src/main/java/org/vcell/util/document/GroupAccessSome.java index 8032c52516..5eec85d7db 100644 --- a/vcell-core/src/main/java/org/vcell/util/document/GroupAccessSome.java +++ b/vcell-core/src/main/java/org/vcell/util/document/GroupAccessSome.java @@ -10,6 +10,8 @@ package org.vcell.util.document; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; import org.eclipse.microprofile.openapi.annotations.enums.SchemaType; import org.eclipse.microprofile.openapi.annotations.media.Schema; import org.eclipse.microprofile.openapi.annotations.media.SchemaProperty; @@ -26,9 +28,11 @@ @Schema(allOf = {GroupAccess.class}, requiredProperties = {"type"}, properties = {@SchemaProperty(name = "type", defaultValue = "GroupAccessSome", type = SchemaType.STRING)}) public class GroupAccessSome extends GroupAccess { private java.math.BigDecimal hash = null; + @JsonProperty private User[] groupMembers = null; + @JsonProperty private boolean[] hiddenMembers = null; - private final String type = "GroupAccessSome"; + public final String type = "GroupAccessSome"; /** * Insert the method's description here. @@ -134,6 +138,7 @@ public java.math.BigDecimal getHash() { * Creation date: (11/15/2001 4:04:55 PM) * @return cbit.vcell.server.User[] */ +@JsonIgnore public User[] getHiddenGroupMembers() { if(hiddenMembers == null){ return null; @@ -155,6 +160,7 @@ public User[] getHiddenGroupMembers() { * Creation date: (11/15/2001 4:04:55 PM) * @return cbit.vcell.server.User[] */ +@JsonIgnore public User[] getNormalGroupMembers() { if(hiddenMembers == null){ return groupMembers; diff --git a/vcell-core/src/main/java/org/vcell/util/document/PublicationInfo.java b/vcell-core/src/main/java/org/vcell/util/document/PublicationInfo.java index 7fc953c7d4..df38871712 100644 --- a/vcell-core/src/main/java/org/vcell/util/document/PublicationInfo.java +++ b/vcell-core/src/main/java/org/vcell/util/document/PublicationInfo.java @@ -66,7 +66,7 @@ public VCDocumentType getVcDocumentType() { public User getUser() { return user; } - @JsonIgnore + @Schema(format = "date-time") public Date getPubDate() { return pubdate; } diff --git a/vcell-core/src/main/java/org/vcell/util/document/VersionFlag.java b/vcell-core/src/main/java/org/vcell/util/document/VersionFlag.java index a187e1cf6b..13fe96070f 100644 --- a/vcell-core/src/main/java/org/vcell/util/document/VersionFlag.java +++ b/vcell-core/src/main/java/org/vcell/util/document/VersionFlag.java @@ -9,6 +9,7 @@ */ package org.vcell.util.document; +import com.fasterxml.jackson.annotation.JsonIgnore; import org.vcell.util.Compare; import org.vcell.util.Matchable; @@ -17,7 +18,8 @@ */ @SuppressWarnings("serial") public class VersionFlag implements java.io.Serializable, Matchable { - + + @JsonIgnore private Integer versionFlag = null; // diff --git a/vcell-rest/src/main/java/org/vcell/restq/handlers/BioModelResource.java b/vcell-rest/src/main/java/org/vcell/restq/handlers/BioModelResource.java index 79ecb491e7..e35c3719b1 100644 --- a/vcell-rest/src/main/java/org/vcell/restq/handlers/BioModelResource.java +++ b/vcell-rest/src/main/java/org/vcell/restq/handlers/BioModelResource.java @@ -1,6 +1,8 @@ package org.vcell.restq.handlers; +import cbit.image.VCImageInfo; import cbit.util.xml.XmlUtil; +import cbit.vcell.geometry.GeometryInfo; import cbit.vcell.modeldb.BioModelRep; import cbit.vcell.xml.XmlHelper; import cbit.vcell.xml.XmlParseException; @@ -24,6 +26,7 @@ import org.vcell.util.document.*; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import java.util.Optional; @@ -196,6 +199,62 @@ public String save(@RequestBody(name = "bioModelVCML", required = true, descript } } + @Path("/summariesContainer") + @GET + @Operation(operationId = "getSummariesContainer", description = "All of the summary objects for this particular user.") + public VCellSummaryContainer getInfoContainers() throws DataAccessWebException { + User user = userRestService.getUserOrAnonymousFromIdentity(securityIdentity); + try{ + VCInfoContainer container = bioModelRestService.getVCInfoContainer(user); + return VCellSummaryContainer.infoContainerToDTO(container); + } catch (DataAccessException e) { + throw new DataAccessWebException(e.getMessage(), e); + } + } + + public record VCellSummaryContainer( + ArrayList imageSummaries, + ArrayList geometrySummaries, + ArrayList mathModelSummaries, + ArrayList bioModelSummaries + ){ + public static VCellSummaryContainer infoContainerToDTO(VCInfoContainer vcInfoContainer) { + ArrayList imageInfos = new ArrayList<>(); + ArrayList geometryInfos = new ArrayList<>(); + ArrayList mathModelInfos = new ArrayList<>(); + ArrayList bioModelInfos = new ArrayList<>(); + + if (vcInfoContainer.getVCImageInfos() != null) { + for (VCImageInfo info : vcInfoContainer.getVCImageInfos()){ + imageInfos.add(new VCImageResource.VCImageSummary(info.getISize(), + info.getExtent(), info.getVersion(), info.getBrowseGif(), info.getSoftwareVersion())); + } + } + if (vcInfoContainer.getGeometryInfos() != null) { + for (GeometryInfo info : vcInfoContainer.getGeometryInfos()){ + geometryInfos.add(new GeometryResource.GeometrySummary(info.getDimension(), info.getOrigin(), info.getExtent(), + info.getImageRef(), info.getVersion(), info.getSoftwareVersion())); + } + } + if (vcInfoContainer.getMathModelInfos() != null) { + for (MathModelInfo info : vcInfoContainer.getMathModelInfos()){ + mathModelInfos.add(new MathModelResource.MathModelSummary(info.getVersion(), info.getMathKey(), + info.getMathModelChildSummary(), info.getSoftwareVersion(), info.getPublicationInfos(), + info.getAnnotatedFunctionsStr())); + } + } + if (vcInfoContainer.getBioModelInfos() != null) { + for (BioModelInfo info : vcInfoContainer.getBioModelInfos()){ + bioModelInfos.add(new BioModelSummary(info.getVersion(), info.getBioModelChildSummary(), + info.getPublicationInfos(), info.getSoftwareVersion())); + } + } + return new VCellSummaryContainer( + imageInfos, geometryInfos, mathModelInfos, bioModelInfos + ); + } + } + public record BioModelSummary( Version version, // Problematic BioModelChildSummary summary, diff --git a/vcell-rest/src/main/java/org/vcell/restq/openapi/ObjectMapperCustomizer.java b/vcell-rest/src/main/java/org/vcell/restq/openapi/ObjectMapperCustomizer.java index fc8d227281..8e6c1606f9 100644 --- a/vcell-rest/src/main/java/org/vcell/restq/openapi/ObjectMapperCustomizer.java +++ b/vcell-rest/src/main/java/org/vcell/restq/openapi/ObjectMapperCustomizer.java @@ -3,6 +3,7 @@ import cbit.vcell.parser.Expression; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.std.StdSerializer; diff --git a/vcell-rest/src/main/java/org/vcell/restq/openapi/SortApiResponsesFilter.java b/vcell-rest/src/main/java/org/vcell/restq/openapi/SortApiResponsesFilter.java index 69a90f0f53..c9e1d02ab5 100644 --- a/vcell-rest/src/main/java/org/vcell/restq/openapi/SortApiResponsesFilter.java +++ b/vcell-rest/src/main/java/org/vcell/restq/openapi/SortApiResponsesFilter.java @@ -2,13 +2,17 @@ import io.quarkus.smallrye.openapi.OpenApiFilter; import org.eclipse.microprofile.openapi.OASFilter; +import org.eclipse.microprofile.openapi.models.OpenAPI; import org.eclipse.microprofile.openapi.models.Operation; +import org.eclipse.microprofile.openapi.models.media.Schema; import org.eclipse.microprofile.openapi.models.responses.APIResponse; import org.eclipse.microprofile.openapi.models.responses.APIResponses; import org.jboss.jandex.IndexView; +import java.util.Iterator; import java.util.Map; import java.util.TreeMap; +import java.lang.reflect.Field; /** * Filter to sort HTTP responses for each operation in the OpenAPI document (fixing the random reordering of responses). @@ -19,6 +23,45 @@ public class SortApiResponsesFilter implements OASFilter { public SortApiResponsesFilter(IndexView _view) { } + @Override + public Schema filterSchema(Schema schema) { + if (schema == null || schema.getProperties() == null || schema.getType() == null) { + return schema; + } + + try { + Class modelClass = Class.forName(schema.getType().name()); + Map properties = schema.getProperties(); + + Iterator> iterator = properties.entrySet().iterator(); + while (iterator.hasNext()) { + Map.Entry entry = iterator.next(); + String propertyName = entry.getKey(); + + Field field = findField(modelClass, propertyName); + if (field != null && java.lang.reflect.Modifier.isPrivate(field.getModifiers())) { + iterator.remove(); + } + } + + } catch (ClassNotFoundException ignored) { + // Model class not found — skip filtering + } + + return schema; + } + + private Field findField(Class clazz, String fieldName) { + while (clazz != null && clazz != Object.class) { + try { + return clazz.getDeclaredField(fieldName); + } catch (NoSuchFieldException e) { + clazz = clazz.getSuperclass(); + } + } + return null; + } + @Override public Operation filterOperation(Operation operation) { if (operation.getResponses() != null) { diff --git a/vcell-rest/src/main/java/org/vcell/restq/services/BioModelRestService.java b/vcell-rest/src/main/java/org/vcell/restq/services/BioModelRestService.java index fe15be964e..8da8842e87 100644 --- a/vcell-rest/src/main/java/org/vcell/restq/services/BioModelRestService.java +++ b/vcell-rest/src/main/java/org/vcell/restq/services/BioModelRestService.java @@ -15,6 +15,7 @@ import org.vcell.util.document.BioModelInfo; import org.vcell.util.document.KeyValue; import org.vcell.util.document.User; +import org.vcell.util.document.VCInfoContainer; import java.sql.SQLException; import java.util.ArrayList; @@ -110,4 +111,8 @@ public BioModelInfo[] getBioModelInfos(User user, boolean all) throws DataAccess return databaseServerImpl.getBioModelInfos(user, all); } + public VCInfoContainer getVCInfoContainer(User user) throws DataAccessException { + return databaseServerImpl.getVCInfoContainer(user); + } + } diff --git a/vcell-restclient/.openapi-generator/FILES b/vcell-restclient/.openapi-generator/FILES index 602361fc39..6b6915f516 100644 --- a/vcell-restclient/.openapi-generator/FILES +++ b/vcell-restclient/.openapi-generator/FILES @@ -91,6 +91,7 @@ docs/VCSimulationIdentifier.md docs/VCellHTTPError.md docs/VCellSite.md docs/VCellSoftwareVersion.md +docs/VCellSummaryContainer.md docs/VariableDomain.md docs/VariableMode.md docs/VariableSpecs.md @@ -200,6 +201,7 @@ src/main/java/org/vcell/restclient/model/VCSimulationIdentifier.java src/main/java/org/vcell/restclient/model/VCellHTTPError.java src/main/java/org/vcell/restclient/model/VCellSite.java src/main/java/org/vcell/restclient/model/VCellSoftwareVersion.java +src/main/java/org/vcell/restclient/model/VCellSummaryContainer.java src/main/java/org/vcell/restclient/model/VariableDomain.java src/main/java/org/vcell/restclient/model/VariableMode.java src/main/java/org/vcell/restclient/model/VariableSpecs.java diff --git a/vcell-restclient/README.md b/vcell-restclient/README.md index d176009a22..8abd857093 100644 --- a/vcell-restclient/README.md +++ b/vcell-restclient/README.md @@ -117,6 +117,8 @@ Class | Method | HTTP request | Description *BioModelResourceApi* | [**getBioModelSummaryWithHttpInfo**](docs/BioModelResourceApi.md#getBioModelSummaryWithHttpInfo) | **GET** /api/v1/bioModel/{bioModelID}/summary | All of the text based information about a BioModel (summary, version, publication status, etc...), but not the actual BioModel itself. *BioModelResourceApi* | [**getBioModelVCML**](docs/BioModelResourceApi.md#getBioModelVCML) | **GET** /api/v1/bioModel/{bioModelID}/vcml_download | Get the BioModel in VCML format. *BioModelResourceApi* | [**getBioModelVCMLWithHttpInfo**](docs/BioModelResourceApi.md#getBioModelVCMLWithHttpInfo) | **GET** /api/v1/bioModel/{bioModelID}/vcml_download | Get the BioModel in VCML format. +*BioModelResourceApi* | [**getSummariesContainer**](docs/BioModelResourceApi.md#getSummariesContainer) | **GET** /api/v1/bioModel/summariesContainer | +*BioModelResourceApi* | [**getSummariesContainerWithHttpInfo**](docs/BioModelResourceApi.md#getSummariesContainerWithHttpInfo) | **GET** /api/v1/bioModel/summariesContainer | *BioModelResourceApi* | [**saveBioModel**](docs/BioModelResourceApi.md#saveBioModel) | **POST** /api/v1/bioModel | Save's the given BioModel. Optional parameters of name and simulations to update due to math changes. Returns saved BioModel as VCML. *BioModelResourceApi* | [**saveBioModelWithHttpInfo**](docs/BioModelResourceApi.md#saveBioModelWithHttpInfo) | **POST** /api/v1/bioModel | Save's the given BioModel. Optional parameters of name and simulations to update due to math changes. Returns saved BioModel as VCML. *ExportResourceApi* | [**exportN5**](docs/ExportResourceApi.md#exportN5) | **POST** /api/v1/export/N5 | @@ -296,6 +298,7 @@ Class | Method | HTTP request | Description - [VCellHTTPError](docs/VCellHTTPError.md) - [VCellSite](docs/VCellSite.md) - [VCellSoftwareVersion](docs/VCellSoftwareVersion.md) + - [VCellSummaryContainer](docs/VCellSummaryContainer.md) - [VariableDomain](docs/VariableDomain.md) - [VariableMode](docs/VariableMode.md) - [VariableSpecs](docs/VariableSpecs.md) diff --git a/vcell-restclient/api/openapi.yaml b/vcell-restclient/api/openapi.yaml index 6216886b8c..d5dd282d9f 100644 --- a/vcell-restclient/api/openapi.yaml +++ b/vcell-restclient/api/openapi.yaml @@ -297,6 +297,26 @@ paths: tags: - Bio Model Resource x-accepts: application/json + /api/v1/bioModel/summariesContainer: + get: + description: All of the summary objects for this particular user. + operationId: getSummariesContainer + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/VCellSummaryContainer' + description: OK + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/VCellHTTPError' + description: Data Access Exception + tags: + - Bio Model Resource + x-accepts: application/json /api/v1/bioModel/{bioModelID}: delete: operationId: deleteBioModel @@ -2268,7 +2288,7 @@ components: geometryName: geometryName name: name type: null - dimensions: 7 + dimensions: 5 properties: name: type: string @@ -2345,83 +2365,42 @@ components: simulationContextAnnotations: - simulationContextAnnotations - simulationContextAnnotations - scAnnots: - - scAnnots - - scAnnots simulationContextNames: - simulationContextNames - simulationContextNames - geoNames: - - geoNames - - geoNames geometryDimensions: - - 2 - - 2 + - 5 + - 5 geometryNames: - geometryNames - geometryNames - simAnnots: - - - simAnnots - - simAnnots - - - simAnnots - - simAnnots - geoDims: - - 5 - - 5 + allSimulationAnnots: + - - allSimulationAnnots + - allSimulationAnnots + - - allSimulationAnnots + - allSimulationAnnots appTypes: - null - null - scNames: - - scNames - - scNames applicationInfo: - geometryName: geometryName name: name type: null - dimensions: 7 + dimensions: 5 - geometryName: geometryName name: name type: null - dimensions: 7 - simNames: - - - simNames - - simNames - - - simNames - - simNames + dimensions: 5 + allSimulationNames: + - - allSimulationNames + - allSimulationNames + - - allSimulationNames + - allSimulationNames properties: - scNames: - items: - type: string - type: array - scAnnots: - items: - type: string - type: array - geoNames: - items: - type: string - type: array - geoDims: - items: - format: int32 - type: integer - type: array appTypes: items: $ref: '#/components/schemas/MathType' type: array - simNames: - items: - items: - type: string - type: array - type: array - simAnnots: - items: - items: - type: string - type: array - type: array geometryDimensions: items: format: int32 @@ -2439,6 +2418,18 @@ components: items: type: string type: array + allSimulationNames: + items: + items: + type: string + type: array + type: array + allSimulationAnnots: + items: + items: + type: string + type: array + type: array applicationInfo: items: $ref: '#/components/schemas/ApplicationInfo' @@ -2450,83 +2441,73 @@ components: simulationContextAnnotations: - simulationContextAnnotations - simulationContextAnnotations - scAnnots: - - scAnnots - - scAnnots simulationContextNames: - simulationContextNames - simulationContextNames - geoNames: - - geoNames - - geoNames geometryDimensions: - - 2 - - 2 + - 5 + - 5 geometryNames: - geometryNames - geometryNames - simAnnots: - - - simAnnots - - simAnnots - - - simAnnots - - simAnnots - geoDims: - - 5 - - 5 + allSimulationAnnots: + - - allSimulationAnnots + - allSimulationAnnots + - - allSimulationAnnots + - allSimulationAnnots appTypes: - null - null - scNames: - - scNames - - scNames applicationInfo: - geometryName: geometryName name: name type: null - dimensions: 7 + dimensions: 5 - geometryName: geometryName name: name type: null - dimensions: 7 - simNames: - - - simNames - - simNames - - - simNames - - simNames + dimensions: 5 + allSimulationNames: + - - allSimulationNames + - allSimulationNames + - - allSimulationNames + - allSimulationNames publicationInformation: - vcDocumentType: null - theHashCode: 9 citation: citation title: title publicationKey: publicationKey pubmedid: pubmedid + pubDate: 2000-01-23T04:56:07.000+00:00 + url: url + versionKey: versionKey + theHashCode: 2 user: mySpecials: - null - null userName: userName key: key - url: url - versionKey: versionKey authors: - authors - authors doi: doi pubdate: 2022-03-10T00:00:00.000+00:00 - vcDocumentType: null - theHashCode: 9 citation: citation title: title publicationKey: publicationKey pubmedid: pubmedid + pubDate: 2000-01-23T04:56:07.000+00:00 + url: url + versionKey: versionKey + theHashCode: 2 user: mySpecials: - null - null userName: userName key: key - url: url - versionKey: versionKey authors: - authors - authors @@ -2544,11 +2525,10 @@ components: flag: archived: true current: true - intValue: 1 - versionFlag: 6 + intValue: 6 published: true groupAccess: - groupid: 5.962133916683182 + groupid: 1.4658129805029452 description: description name: name annot: annot @@ -2556,11 +2536,11 @@ components: versionKey: versionKey vCellSoftwareVersion: vcellSite: null - patchVersion: 4 - buildInt: 7 + patchVersion: 3 + buildInt: 2 description: description - majorVersion: 3 - minorVersion: 2 + majorVersion: 7 + minorVersion: 9 buildNumber: buildNumber softwareVersionString: softwareVersionString versionNumber: versionNumber @@ -2956,9 +2936,9 @@ components: type: string Extent: example: - x: 7.061401241503109 - "y": 9.301444243932576 - z: 3.616076749251911 + x: 5.962133916683182 + "y": 5.637376656633329 + z: 2.3021358869347655 properties: x: format: double @@ -3010,9 +2990,9 @@ components: FieldData: example: extent: - x: 7.061401241503109 - "y": 9.301444243932576 - z: 3.616076749251911 + x: 5.962133916683182 + "y": 5.637376656633329 + z: 2.3021358869347655 annotation: annotation times: - 1.4658129805029452 @@ -3027,13 +3007,13 @@ components: - - 6.027456183070403 - 6.027456183070403 origin: - x: 5.962133916683182 - "y": 5.637376656633329 - z: 2.3021358869347655 + x: 9.301444243932576 + "y": 3.616076749251911 + z: 2.027123023002322 isize: - x: 2 - "y": 4 - z: 7 + x: 0 + "y": 6 + z: 1 name: name varNames: - varNames @@ -3127,20 +3107,20 @@ components: FieldDataShape: example: extent: - x: 7.061401241503109 - "y": 9.301444243932576 - z: 3.616076749251911 + x: 5.962133916683182 + "y": 5.637376656633329 + z: 2.3021358869347655 times: - 0.8008281904610115 - 0.8008281904610115 origin: - x: 5.962133916683182 - "y": 5.637376656633329 - z: 2.3021358869347655 + x: 9.301444243932576 + "y": 3.616076749251911 + z: 2.027123023002322 isize: - x: 2 - "y": 4 - z: 7 + x: 0 + "y": 6 + z: 1 dataIdentifier: - variableType: defaultUnits: defaultUnits @@ -3203,9 +3183,9 @@ components: GIFImage: example: size: - x: 2 - "y": 4 - z: 7 + x: 0 + "y": 6 + z: 1 gifEncodedData: "" properties: gifEncodedData: @@ -3347,15 +3327,15 @@ components: GeometrySummary: example: extent: - x: 7.061401241503109 - "y": 9.301444243932576 - z: 3.616076749251911 - origin: x: 5.962133916683182 "y": 5.637376656633329 z: 2.3021358869347655 + origin: + x: 9.301444243932576 + "y": 3.616076749251911 + z: 2.027123023002322 imageRef: imageRef - dimension: 0 + dimension: 7 version: date: 2000-01-23T04:56:07.000+00:00 owner: @@ -3368,11 +3348,10 @@ components: flag: archived: true current: true - intValue: 1 - versionFlag: 6 + intValue: 6 published: true groupAccess: - groupid: 5.962133916683182 + groupid: 1.4658129805029452 description: description name: name annot: annot @@ -3380,11 +3359,11 @@ components: versionKey: versionKey softwareVersion: vcellSite: null - patchVersion: 4 - buildInt: 7 + patchVersion: 3 + buildInt: 2 description: description - majorVersion: 3 - minorVersion: 2 + majorVersion: 7 + minorVersion: 9 buildNumber: buildNumber softwareVersionString: softwareVersionString versionNumber: versionNumber @@ -3411,7 +3390,7 @@ components: GroupAccessAll: '#/components/schemas/GroupAccessAll' propertyName: type example: - groupid: 5.962133916683182 + groupid: 1.4658129805029452 description: description properties: groupid: @@ -3464,14 +3443,6 @@ components: type: array description: type: string - hiddenGroupMembers: - items: - $ref: '#/components/schemas/User' - type: array - normalGroupMembers: - items: - $ref: '#/components/schemas/User' - type: array required: - type type: object @@ -3545,9 +3516,9 @@ components: type: object ISize: example: - x: 2 - "y": 4 - z: 7 + x: 0 + "y": 6 + z: 1 properties: x: format: int32 @@ -3602,7 +3573,7 @@ components: - simulationNames - simulationNames geometryName: geometryName - geometryDimension: 0 + geometryDimension: 4 modelType: null properties: modelType: @@ -3631,7 +3602,7 @@ components: - simulationNames - simulationNames geometryName: geometryName - geometryDimension: 0 + geometryDimension: 4 modelType: null keyValue: keyValue annotatedFunctions: annotatedFunctions @@ -3647,11 +3618,10 @@ components: flag: archived: true current: true - intValue: 1 - versionFlag: 6 + intValue: 6 published: true groupAccess: - groupid: 5.962133916683182 + groupid: 1.4658129805029452 description: description name: name annot: annot @@ -3659,48 +3629,50 @@ components: versionKey: versionKey softwareVersion: vcellSite: null - patchVersion: 4 - buildInt: 7 + patchVersion: 3 + buildInt: 2 description: description - majorVersion: 3 - minorVersion: 2 + majorVersion: 7 + minorVersion: 9 buildNumber: buildNumber softwareVersionString: softwareVersionString versionNumber: versionNumber publicationInfos: - vcDocumentType: null - theHashCode: 9 citation: citation title: title publicationKey: publicationKey pubmedid: pubmedid + pubDate: 2000-01-23T04:56:07.000+00:00 + url: url + versionKey: versionKey + theHashCode: 2 user: mySpecials: - null - null userName: userName key: key - url: url - versionKey: versionKey authors: - authors - authors doi: doi pubdate: 2022-03-10T00:00:00.000+00:00 - vcDocumentType: null - theHashCode: 9 citation: citation title: title publicationKey: publicationKey pubmedid: pubmedid + pubDate: 2000-01-23T04:56:07.000+00:00 + url: url + versionKey: versionKey + theHashCode: 2 user: mySpecials: - null - null userName: userName key: key - url: url - versionKey: versionKey authors: - authors - authors @@ -3936,9 +3908,9 @@ components: type: object Origin: example: - x: 5.962133916683182 - "y": 5.637376656633329 - z: 2.3021358869347655 + x: 9.301444243932576 + "y": 3.616076749251911 + z: 2.027123023002322 properties: x: format: double @@ -4036,19 +4008,20 @@ components: PublicationInfo: example: vcDocumentType: null - theHashCode: 9 citation: citation title: title publicationKey: publicationKey pubmedid: pubmedid + pubDate: 2000-01-23T04:56:07.000+00:00 + url: url + versionKey: versionKey + theHashCode: 2 user: mySpecials: - null - null userName: userName key: key - url: url - versionKey: versionKey authors: - authors - authors @@ -4084,6 +4057,9 @@ components: theHashCode: format: int32 type: integer + pubDate: + format: date-time + type: string type: object SPECIAL_CLAIM: enum: @@ -4798,19 +4774,19 @@ components: VCImageSummary: example: extent: - x: 7.061401241503109 - "y": 9.301444243932576 - z: 3.616076749251911 + x: 5.962133916683182 + "y": 5.637376656633329 + z: 2.3021358869347655 preview: size: - x: 2 - "y": 4 - z: 7 + x: 0 + "y": 6 + z: 1 gifEncodedData: "" size: - x: 2 - "y": 4 - z: 7 + x: 0 + "y": 6 + z: 1 version: date: 2000-01-23T04:56:07.000+00:00 owner: @@ -4823,11 +4799,10 @@ components: flag: archived: true current: true - intValue: 1 - versionFlag: 6 + intValue: 6 published: true groupAccess: - groupid: 5.962133916683182 + groupid: 1.4658129805029452 description: description name: name annot: annot @@ -4835,11 +4810,11 @@ components: versionKey: versionKey softwareVersion: vcellSite: null - patchVersion: 4 - buildInt: 7 + patchVersion: 3 + buildInt: 2 description: description - majorVersion: 3 - minorVersion: 2 + majorVersion: 7 + minorVersion: 9 buildNumber: buildNumber softwareVersionString: softwareVersionString versionNumber: versionNumber @@ -4891,11 +4866,11 @@ components: VCellSoftwareVersion: example: vcellSite: null - patchVersion: 4 - buildInt: 7 + patchVersion: 3 + buildInt: 2 description: description - majorVersion: 3 - minorVersion: 2 + majorVersion: 7 + minorVersion: 9 buildNumber: buildNumber softwareVersionString: softwareVersionString versionNumber: versionNumber @@ -4923,6 +4898,584 @@ components: description: type: string type: object + VCellSummaryContainer: + example: + geometrySummaries: + - extent: + x: 5.962133916683182 + "y": 5.637376656633329 + z: 2.3021358869347655 + origin: + x: 9.301444243932576 + "y": 3.616076749251911 + z: 2.027123023002322 + imageRef: imageRef + dimension: 7 + version: + date: 2000-01-23T04:56:07.000+00:00 + owner: + mySpecials: + - null + - null + userName: userName + key: key + branchID: 0.8008281904610115 + flag: + archived: true + current: true + intValue: 6 + published: true + groupAccess: + groupid: 1.4658129805029452 + description: description + name: name + annot: annot + branchPointRefKey: branchPointRefKey + versionKey: versionKey + softwareVersion: + vcellSite: null + patchVersion: 3 + buildInt: 2 + description: description + majorVersion: 7 + minorVersion: 9 + buildNumber: buildNumber + softwareVersionString: softwareVersionString + versionNumber: versionNumber + - extent: + x: 5.962133916683182 + "y": 5.637376656633329 + z: 2.3021358869347655 + origin: + x: 9.301444243932576 + "y": 3.616076749251911 + z: 2.027123023002322 + imageRef: imageRef + dimension: 7 + version: + date: 2000-01-23T04:56:07.000+00:00 + owner: + mySpecials: + - null + - null + userName: userName + key: key + branchID: 0.8008281904610115 + flag: + archived: true + current: true + intValue: 6 + published: true + groupAccess: + groupid: 1.4658129805029452 + description: description + name: name + annot: annot + branchPointRefKey: branchPointRefKey + versionKey: versionKey + softwareVersion: + vcellSite: null + patchVersion: 3 + buildInt: 2 + description: description + majorVersion: 7 + minorVersion: 9 + buildNumber: buildNumber + softwareVersionString: softwareVersionString + versionNumber: versionNumber + mathModelSummaries: + - modelInfo: + simulationAnnotations: + - simulationAnnotations + - simulationAnnotations + simulationNames: + - simulationNames + - simulationNames + geometryName: geometryName + geometryDimension: 4 + modelType: null + keyValue: keyValue + annotatedFunctions: annotatedFunctions + version: + date: 2000-01-23T04:56:07.000+00:00 + owner: + mySpecials: + - null + - null + userName: userName + key: key + branchID: 0.8008281904610115 + flag: + archived: true + current: true + intValue: 6 + published: true + groupAccess: + groupid: 1.4658129805029452 + description: description + name: name + annot: annot + branchPointRefKey: branchPointRefKey + versionKey: versionKey + softwareVersion: + vcellSite: null + patchVersion: 3 + buildInt: 2 + description: description + majorVersion: 7 + minorVersion: 9 + buildNumber: buildNumber + softwareVersionString: softwareVersionString + versionNumber: versionNumber + publicationInfos: + - vcDocumentType: null + citation: citation + title: title + publicationKey: publicationKey + pubmedid: pubmedid + pubDate: 2000-01-23T04:56:07.000+00:00 + url: url + versionKey: versionKey + theHashCode: 2 + user: + mySpecials: + - null + - null + userName: userName + key: key + authors: + - authors + - authors + doi: doi + pubdate: 2022-03-10T00:00:00.000+00:00 + - vcDocumentType: null + citation: citation + title: title + publicationKey: publicationKey + pubmedid: pubmedid + pubDate: 2000-01-23T04:56:07.000+00:00 + url: url + versionKey: versionKey + theHashCode: 2 + user: + mySpecials: + - null + - null + userName: userName + key: key + authors: + - authors + - authors + doi: doi + pubdate: 2022-03-10T00:00:00.000+00:00 + - modelInfo: + simulationAnnotations: + - simulationAnnotations + - simulationAnnotations + simulationNames: + - simulationNames + - simulationNames + geometryName: geometryName + geometryDimension: 4 + modelType: null + keyValue: keyValue + annotatedFunctions: annotatedFunctions + version: + date: 2000-01-23T04:56:07.000+00:00 + owner: + mySpecials: + - null + - null + userName: userName + key: key + branchID: 0.8008281904610115 + flag: + archived: true + current: true + intValue: 6 + published: true + groupAccess: + groupid: 1.4658129805029452 + description: description + name: name + annot: annot + branchPointRefKey: branchPointRefKey + versionKey: versionKey + softwareVersion: + vcellSite: null + patchVersion: 3 + buildInt: 2 + description: description + majorVersion: 7 + minorVersion: 9 + buildNumber: buildNumber + softwareVersionString: softwareVersionString + versionNumber: versionNumber + publicationInfos: + - vcDocumentType: null + citation: citation + title: title + publicationKey: publicationKey + pubmedid: pubmedid + pubDate: 2000-01-23T04:56:07.000+00:00 + url: url + versionKey: versionKey + theHashCode: 2 + user: + mySpecials: + - null + - null + userName: userName + key: key + authors: + - authors + - authors + doi: doi + pubdate: 2022-03-10T00:00:00.000+00:00 + - vcDocumentType: null + citation: citation + title: title + publicationKey: publicationKey + pubmedid: pubmedid + pubDate: 2000-01-23T04:56:07.000+00:00 + url: url + versionKey: versionKey + theHashCode: 2 + user: + mySpecials: + - null + - null + userName: userName + key: key + authors: + - authors + - authors + doi: doi + pubdate: 2022-03-10T00:00:00.000+00:00 + imageSummaries: + - extent: + x: 5.962133916683182 + "y": 5.637376656633329 + z: 2.3021358869347655 + preview: + size: + x: 0 + "y": 6 + z: 1 + gifEncodedData: "" + size: + x: 0 + "y": 6 + z: 1 + version: + date: 2000-01-23T04:56:07.000+00:00 + owner: + mySpecials: + - null + - null + userName: userName + key: key + branchID: 0.8008281904610115 + flag: + archived: true + current: true + intValue: 6 + published: true + groupAccess: + groupid: 1.4658129805029452 + description: description + name: name + annot: annot + branchPointRefKey: branchPointRefKey + versionKey: versionKey + softwareVersion: + vcellSite: null + patchVersion: 3 + buildInt: 2 + description: description + majorVersion: 7 + minorVersion: 9 + buildNumber: buildNumber + softwareVersionString: softwareVersionString + versionNumber: versionNumber + - extent: + x: 5.962133916683182 + "y": 5.637376656633329 + z: 2.3021358869347655 + preview: + size: + x: 0 + "y": 6 + z: 1 + gifEncodedData: "" + size: + x: 0 + "y": 6 + z: 1 + version: + date: 2000-01-23T04:56:07.000+00:00 + owner: + mySpecials: + - null + - null + userName: userName + key: key + branchID: 0.8008281904610115 + flag: + archived: true + current: true + intValue: 6 + published: true + groupAccess: + groupid: 1.4658129805029452 + description: description + name: name + annot: annot + branchPointRefKey: branchPointRefKey + versionKey: versionKey + softwareVersion: + vcellSite: null + patchVersion: 3 + buildInt: 2 + description: description + majorVersion: 7 + minorVersion: 9 + buildNumber: buildNumber + softwareVersionString: softwareVersionString + versionNumber: versionNumber + bioModelSummaries: + - summary: + simulationContextAnnotations: + - simulationContextAnnotations + - simulationContextAnnotations + simulationContextNames: + - simulationContextNames + - simulationContextNames + geometryDimensions: + - 5 + - 5 + geometryNames: + - geometryNames + - geometryNames + allSimulationAnnots: + - - allSimulationAnnots + - allSimulationAnnots + - - allSimulationAnnots + - allSimulationAnnots + appTypes: + - null + - null + applicationInfo: + - geometryName: geometryName + name: name + type: null + dimensions: 5 + - geometryName: geometryName + name: name + type: null + dimensions: 5 + allSimulationNames: + - - allSimulationNames + - allSimulationNames + - - allSimulationNames + - allSimulationNames + publicationInformation: + - vcDocumentType: null + citation: citation + title: title + publicationKey: publicationKey + pubmedid: pubmedid + pubDate: 2000-01-23T04:56:07.000+00:00 + url: url + versionKey: versionKey + theHashCode: 2 + user: + mySpecials: + - null + - null + userName: userName + key: key + authors: + - authors + - authors + doi: doi + pubdate: 2022-03-10T00:00:00.000+00:00 + - vcDocumentType: null + citation: citation + title: title + publicationKey: publicationKey + pubmedid: pubmedid + pubDate: 2000-01-23T04:56:07.000+00:00 + url: url + versionKey: versionKey + theHashCode: 2 + user: + mySpecials: + - null + - null + userName: userName + key: key + authors: + - authors + - authors + doi: doi + pubdate: 2022-03-10T00:00:00.000+00:00 + version: + date: 2000-01-23T04:56:07.000+00:00 + owner: + mySpecials: + - null + - null + userName: userName + key: key + branchID: 0.8008281904610115 + flag: + archived: true + current: true + intValue: 6 + published: true + groupAccess: + groupid: 1.4658129805029452 + description: description + name: name + annot: annot + branchPointRefKey: branchPointRefKey + versionKey: versionKey + vCellSoftwareVersion: + vcellSite: null + patchVersion: 3 + buildInt: 2 + description: description + majorVersion: 7 + minorVersion: 9 + buildNumber: buildNumber + softwareVersionString: softwareVersionString + versionNumber: versionNumber + - summary: + simulationContextAnnotations: + - simulationContextAnnotations + - simulationContextAnnotations + simulationContextNames: + - simulationContextNames + - simulationContextNames + geometryDimensions: + - 5 + - 5 + geometryNames: + - geometryNames + - geometryNames + allSimulationAnnots: + - - allSimulationAnnots + - allSimulationAnnots + - - allSimulationAnnots + - allSimulationAnnots + appTypes: + - null + - null + applicationInfo: + - geometryName: geometryName + name: name + type: null + dimensions: 5 + - geometryName: geometryName + name: name + type: null + dimensions: 5 + allSimulationNames: + - - allSimulationNames + - allSimulationNames + - - allSimulationNames + - allSimulationNames + publicationInformation: + - vcDocumentType: null + citation: citation + title: title + publicationKey: publicationKey + pubmedid: pubmedid + pubDate: 2000-01-23T04:56:07.000+00:00 + url: url + versionKey: versionKey + theHashCode: 2 + user: + mySpecials: + - null + - null + userName: userName + key: key + authors: + - authors + - authors + doi: doi + pubdate: 2022-03-10T00:00:00.000+00:00 + - vcDocumentType: null + citation: citation + title: title + publicationKey: publicationKey + pubmedid: pubmedid + pubDate: 2000-01-23T04:56:07.000+00:00 + url: url + versionKey: versionKey + theHashCode: 2 + user: + mySpecials: + - null + - null + userName: userName + key: key + authors: + - authors + - authors + doi: doi + pubdate: 2022-03-10T00:00:00.000+00:00 + version: + date: 2000-01-23T04:56:07.000+00:00 + owner: + mySpecials: + - null + - null + userName: userName + key: key + branchID: 0.8008281904610115 + flag: + archived: true + current: true + intValue: 6 + published: true + groupAccess: + groupid: 1.4658129805029452 + description: description + name: name + annot: annot + branchPointRefKey: branchPointRefKey + versionKey: versionKey + vCellSoftwareVersion: + vcellSite: null + patchVersion: 3 + buildInt: 2 + description: description + majorVersion: 7 + minorVersion: 9 + buildNumber: buildNumber + softwareVersionString: softwareVersionString + versionNumber: versionNumber + properties: + imageSummaries: + items: + $ref: '#/components/schemas/VCImageSummary' + type: array + geometrySummaries: + items: + $ref: '#/components/schemas/GeometrySummary' + type: array + mathModelSummaries: + items: + $ref: '#/components/schemas/MathModelSummary' + type: array + bioModelSummaries: + items: + $ref: '#/components/schemas/BioModelSummary' + type: array + type: object VariableDomain: enum: - VARIABLEDOMAIN_POSTPROCESSING @@ -4998,11 +5551,10 @@ components: flag: archived: true current: true - intValue: 1 - versionFlag: 6 + intValue: 6 published: true groupAccess: - groupid: 5.962133916683182 + groupid: 1.4658129805029452 description: description name: name annot: annot @@ -5033,13 +5585,9 @@ components: example: archived: true current: true - intValue: 1 - versionFlag: 6 + intValue: 6 published: true properties: - versionFlag: - format: int32 - type: integer intValue: format: int32 type: integer diff --git a/vcell-restclient/docs/BioModelChildSummary.md b/vcell-restclient/docs/BioModelChildSummary.md index 59f197e997..b178111d03 100644 --- a/vcell-restclient/docs/BioModelChildSummary.md +++ b/vcell-restclient/docs/BioModelChildSummary.md @@ -7,17 +7,13 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**scNames** | **List<String>** | | [optional] | -|**scAnnots** | **List<String>** | | [optional] | -|**geoNames** | **List<String>** | | [optional] | -|**geoDims** | **List<Integer>** | | [optional] | |**appTypes** | **List<MathType>** | | [optional] | -|**simNames** | **List<List<String>>** | | [optional] | -|**simAnnots** | **List<List<String>>** | | [optional] | |**geometryDimensions** | **List<Integer>** | | [optional] | |**geometryNames** | **List<String>** | | [optional] | |**simulationContextAnnotations** | **List<String>** | | [optional] | |**simulationContextNames** | **List<String>** | | [optional] | +|**allSimulationNames** | **List<List<String>>** | | [optional] | +|**allSimulationAnnots** | **List<List<String>>** | | [optional] | |**applicationInfo** | [**List<ApplicationInfo>**](ApplicationInfo.md) | | [optional] | diff --git a/vcell-restclient/docs/BioModelResourceApi.md b/vcell-restclient/docs/BioModelResourceApi.md index a61aacc2c9..f8fcce7189 100644 --- a/vcell-restclient/docs/BioModelResourceApi.md +++ b/vcell-restclient/docs/BioModelResourceApi.md @@ -14,6 +14,8 @@ All URIs are relative to *https://vcell.cam.uchc.edu* | [**getBioModelSummaryWithHttpInfo**](BioModelResourceApi.md#getBioModelSummaryWithHttpInfo) | **GET** /api/v1/bioModel/{bioModelID}/summary | All of the text based information about a BioModel (summary, version, publication status, etc...), but not the actual BioModel itself. | | [**getBioModelVCML**](BioModelResourceApi.md#getBioModelVCML) | **GET** /api/v1/bioModel/{bioModelID}/vcml_download | Get the BioModel in VCML format. | | [**getBioModelVCMLWithHttpInfo**](BioModelResourceApi.md#getBioModelVCMLWithHttpInfo) | **GET** /api/v1/bioModel/{bioModelID}/vcml_download | Get the BioModel in VCML format. | +| [**getSummariesContainer**](BioModelResourceApi.md#getSummariesContainer) | **GET** /api/v1/bioModel/summariesContainer | | +| [**getSummariesContainerWithHttpInfo**](BioModelResourceApi.md#getSummariesContainerWithHttpInfo) | **GET** /api/v1/bioModel/summariesContainer | | | [**saveBioModel**](BioModelResourceApi.md#saveBioModel) | **POST** /api/v1/bioModel | Save's the given BioModel. Optional parameters of name and simulations to update due to math changes. Returns saved BioModel as VCML. | | [**saveBioModelWithHttpInfo**](BioModelResourceApi.md#saveBioModelWithHttpInfo) | **POST** /api/v1/bioModel | Save's the given BioModel. Optional parameters of name and simulations to update due to math changes. Returns saved BioModel as VCML. | @@ -691,6 +693,134 @@ No authorization required | **500** | Data Access Exception | - | +## getSummariesContainer + +> VCellSummaryContainer getSummariesContainer() + + + +All of the summary objects for this particular user. + +### Example + +```java +// Import classes: +import org.vcell.restclient.ApiClient; +import org.vcell.restclient.ApiException; +import org.vcell.restclient.Configuration; +import org.vcell.restclient.models.*; +import org.vcell.restclient.api.BioModelResourceApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://vcell.cam.uchc.edu"); + + BioModelResourceApi apiInstance = new BioModelResourceApi(defaultClient); + try { + VCellSummaryContainer result = apiInstance.getSummariesContainer(); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling BioModelResourceApi#getSummariesContainer"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**VCellSummaryContainer**](VCellSummaryContainer.md) + + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | +| **500** | Data Access Exception | - | + +## getSummariesContainerWithHttpInfo + +> ApiResponse getSummariesContainer getSummariesContainerWithHttpInfo() + + + +All of the summary objects for this particular user. + +### Example + +```java +// Import classes: +import org.vcell.restclient.ApiClient; +import org.vcell.restclient.ApiException; +import org.vcell.restclient.ApiResponse; +import org.vcell.restclient.Configuration; +import org.vcell.restclient.models.*; +import org.vcell.restclient.api.BioModelResourceApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://vcell.cam.uchc.edu"); + + BioModelResourceApi apiInstance = new BioModelResourceApi(defaultClient); + try { + ApiResponse response = apiInstance.getSummariesContainerWithHttpInfo(); + System.out.println("Status code: " + response.getStatusCode()); + System.out.println("Response headers: " + response.getHeaders()); + System.out.println("Response body: " + response.getData()); + } catch (ApiException e) { + System.err.println("Exception when calling BioModelResourceApi#getSummariesContainer"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +ApiResponse<[**VCellSummaryContainer**](VCellSummaryContainer.md)> + + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | +| **500** | Data Access Exception | - | + + ## saveBioModel > String saveBioModel(body, newName, simsRequiringUpdates) diff --git a/vcell-restclient/docs/GroupAccessSome.md b/vcell-restclient/docs/GroupAccessSome.md index 58b37c15a9..0c3e987c52 100644 --- a/vcell-restclient/docs/GroupAccessSome.md +++ b/vcell-restclient/docs/GroupAccessSome.md @@ -12,8 +12,6 @@ |**groupMembers** | [**List<User>**](User.md) | | [optional] | |**hiddenMembers** | **List<Boolean>** | | [optional] | |**description** | **String** | | [optional] | -|**hiddenGroupMembers** | [**List<User>**](User.md) | | [optional] | -|**normalGroupMembers** | [**List<User>**](User.md) | | [optional] | diff --git a/vcell-restclient/docs/PublicationInfo.md b/vcell-restclient/docs/PublicationInfo.md index 3a3de56465..a7d25f0d9f 100644 --- a/vcell-restclient/docs/PublicationInfo.md +++ b/vcell-restclient/docs/PublicationInfo.md @@ -19,6 +19,7 @@ |**vcDocumentType** | **VCDocumentType** | | [optional] | |**user** | [**User**](User.md) | | [optional] | |**theHashCode** | **Integer** | | [optional] | +|**pubDate** | **OffsetDateTime** | | [optional] | diff --git a/vcell-restclient/docs/VCellInfoContainer.md b/vcell-restclient/docs/VCellInfoContainer.md new file mode 100644 index 0000000000..5b21ac6d95 --- /dev/null +++ b/vcell-restclient/docs/VCellInfoContainer.md @@ -0,0 +1,16 @@ + + +# VCellInfoContainer + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**imageInfos** | [**List<VCImageSummary>**](VCImageSummary.md) | | [optional] | +|**geometryInfo** | [**List<GeometrySummary>**](GeometrySummary.md) | | [optional] | +|**mathModelInfos** | [**List<MathModelSummary>**](MathModelSummary.md) | | [optional] | +|**bioModelInfos** | [**List<BioModelSummary>**](BioModelSummary.md) | | [optional] | + + + diff --git a/vcell-restclient/docs/VCellSummaryContainer.md b/vcell-restclient/docs/VCellSummaryContainer.md new file mode 100644 index 0000000000..0329525bf0 --- /dev/null +++ b/vcell-restclient/docs/VCellSummaryContainer.md @@ -0,0 +1,16 @@ + + +# VCellSummaryContainer + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**imageSummaries** | [**List<VCImageSummary>**](VCImageSummary.md) | | [optional] | +|**geometrySummaries** | [**List<GeometrySummary>**](GeometrySummary.md) | | [optional] | +|**mathModelSummaries** | [**List<MathModelSummary>**](MathModelSummary.md) | | [optional] | +|**bioModelSummaries** | [**List<BioModelSummary>**](BioModelSummary.md) | | [optional] | + + + diff --git a/vcell-restclient/docs/VersionFlag.md b/vcell-restclient/docs/VersionFlag.md index 3f087f8d8b..a23ccc1a8a 100644 --- a/vcell-restclient/docs/VersionFlag.md +++ b/vcell-restclient/docs/VersionFlag.md @@ -7,7 +7,6 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**versionFlag** | **Integer** | | [optional] | |**intValue** | **Integer** | | [optional] | |**archived** | **Boolean** | | [optional] | |**current** | **Boolean** | | [optional] | diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/api/BioModelResourceApi.java b/vcell-restclient/src/main/java/org/vcell/restclient/api/BioModelResourceApi.java index 0220d4a018..d186953cf0 100644 --- a/vcell-restclient/src/main/java/org/vcell/restclient/api/BioModelResourceApi.java +++ b/vcell-restclient/src/main/java/org/vcell/restclient/api/BioModelResourceApi.java @@ -20,6 +20,7 @@ import org.vcell.restclient.model.BioModel; import org.vcell.restclient.model.BioModelSummary; import org.vcell.restclient.model.VCellHTTPError; +import org.vcell.restclient.model.VCellSummaryContainer; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; @@ -456,6 +457,71 @@ private HttpRequest.Builder getBioModelVCMLRequestBuilder(String bioModelID) thr } return localVarRequestBuilder; } + /** + * + * All of the summary objects for this particular user. + * @return VCellSummaryContainer + * @throws ApiException if fails to make API call + */ + public VCellSummaryContainer getSummariesContainer() throws ApiException { + ApiResponse localVarResponse = getSummariesContainerWithHttpInfo(); + return localVarResponse.getData(); + } + + /** + * + * All of the summary objects for this particular user. + * @return ApiResponse<VCellSummaryContainer> + * @throws ApiException if fails to make API call + */ + public ApiResponse getSummariesContainerWithHttpInfo() throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getSummariesContainerRequestBuilder(); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getSummariesContainer", localVarResponse); + } + return new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + localVarResponse.body() == null ? null : memberVarObjectMapper.readValue(localVarResponse.body(), new TypeReference() {}) // closes the InputStream + ); + } finally { + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getSummariesContainerRequestBuilder() throws ApiException { + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = "/api/v1/bioModel/summariesContainer"; + + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + + localVarRequestBuilder.header("Accept", "application/json"); + + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } /** * Save's the given BioModel. Optional parameters of name and simulations to update due to math changes. Returns saved BioModel as VCML. * diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/BioModelChildSummary.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/BioModelChildSummary.java index 8d7b35c526..fb71bf5bc5 100644 --- a/vcell-restclient/src/main/java/org/vcell/restclient/model/BioModelChildSummary.java +++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/BioModelChildSummary.java @@ -36,42 +36,20 @@ * BioModelChildSummary */ @JsonPropertyOrder({ - BioModelChildSummary.JSON_PROPERTY_SC_NAMES, - BioModelChildSummary.JSON_PROPERTY_SC_ANNOTS, - BioModelChildSummary.JSON_PROPERTY_GEO_NAMES, - BioModelChildSummary.JSON_PROPERTY_GEO_DIMS, BioModelChildSummary.JSON_PROPERTY_APP_TYPES, - BioModelChildSummary.JSON_PROPERTY_SIM_NAMES, - BioModelChildSummary.JSON_PROPERTY_SIM_ANNOTS, BioModelChildSummary.JSON_PROPERTY_GEOMETRY_DIMENSIONS, BioModelChildSummary.JSON_PROPERTY_GEOMETRY_NAMES, BioModelChildSummary.JSON_PROPERTY_SIMULATION_CONTEXT_ANNOTATIONS, BioModelChildSummary.JSON_PROPERTY_SIMULATION_CONTEXT_NAMES, + BioModelChildSummary.JSON_PROPERTY_ALL_SIMULATION_NAMES, + BioModelChildSummary.JSON_PROPERTY_ALL_SIMULATION_ANNOTS, BioModelChildSummary.JSON_PROPERTY_APPLICATION_INFO }) @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class BioModelChildSummary { - public static final String JSON_PROPERTY_SC_NAMES = "scNames"; - private List scNames; - - public static final String JSON_PROPERTY_SC_ANNOTS = "scAnnots"; - private List scAnnots; - - public static final String JSON_PROPERTY_GEO_NAMES = "geoNames"; - private List geoNames; - - public static final String JSON_PROPERTY_GEO_DIMS = "geoDims"; - private List geoDims; - public static final String JSON_PROPERTY_APP_TYPES = "appTypes"; private List appTypes; - public static final String JSON_PROPERTY_SIM_NAMES = "simNames"; - private List> simNames; - - public static final String JSON_PROPERTY_SIM_ANNOTS = "simAnnots"; - private List> simAnnots; - public static final String JSON_PROPERTY_GEOMETRY_DIMENSIONS = "geometryDimensions"; private List geometryDimensions; @@ -84,144 +62,18 @@ public class BioModelChildSummary { public static final String JSON_PROPERTY_SIMULATION_CONTEXT_NAMES = "simulationContextNames"; private List simulationContextNames; + public static final String JSON_PROPERTY_ALL_SIMULATION_NAMES = "allSimulationNames"; + private List> allSimulationNames; + + public static final String JSON_PROPERTY_ALL_SIMULATION_ANNOTS = "allSimulationAnnots"; + private List> allSimulationAnnots; + public static final String JSON_PROPERTY_APPLICATION_INFO = "applicationInfo"; private List applicationInfo; public BioModelChildSummary() { } - public BioModelChildSummary scNames(List scNames) { - this.scNames = scNames; - return this; - } - - public BioModelChildSummary addScNamesItem(String scNamesItem) { - if (this.scNames == null) { - this.scNames = new ArrayList<>(); - } - this.scNames.add(scNamesItem); - return this; - } - - /** - * Get scNames - * @return scNames - **/ - @javax.annotation.Nullable - @JsonProperty(JSON_PROPERTY_SC_NAMES) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - - public List getScNames() { - return scNames; - } - - - @JsonProperty(JSON_PROPERTY_SC_NAMES) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setScNames(List scNames) { - this.scNames = scNames; - } - - - public BioModelChildSummary scAnnots(List scAnnots) { - this.scAnnots = scAnnots; - return this; - } - - public BioModelChildSummary addScAnnotsItem(String scAnnotsItem) { - if (this.scAnnots == null) { - this.scAnnots = new ArrayList<>(); - } - this.scAnnots.add(scAnnotsItem); - return this; - } - - /** - * Get scAnnots - * @return scAnnots - **/ - @javax.annotation.Nullable - @JsonProperty(JSON_PROPERTY_SC_ANNOTS) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - - public List getScAnnots() { - return scAnnots; - } - - - @JsonProperty(JSON_PROPERTY_SC_ANNOTS) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setScAnnots(List scAnnots) { - this.scAnnots = scAnnots; - } - - - public BioModelChildSummary geoNames(List geoNames) { - this.geoNames = geoNames; - return this; - } - - public BioModelChildSummary addGeoNamesItem(String geoNamesItem) { - if (this.geoNames == null) { - this.geoNames = new ArrayList<>(); - } - this.geoNames.add(geoNamesItem); - return this; - } - - /** - * Get geoNames - * @return geoNames - **/ - @javax.annotation.Nullable - @JsonProperty(JSON_PROPERTY_GEO_NAMES) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - - public List getGeoNames() { - return geoNames; - } - - - @JsonProperty(JSON_PROPERTY_GEO_NAMES) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setGeoNames(List geoNames) { - this.geoNames = geoNames; - } - - - public BioModelChildSummary geoDims(List geoDims) { - this.geoDims = geoDims; - return this; - } - - public BioModelChildSummary addGeoDimsItem(Integer geoDimsItem) { - if (this.geoDims == null) { - this.geoDims = new ArrayList<>(); - } - this.geoDims.add(geoDimsItem); - return this; - } - - /** - * Get geoDims - * @return geoDims - **/ - @javax.annotation.Nullable - @JsonProperty(JSON_PROPERTY_GEO_DIMS) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - - public List getGeoDims() { - return geoDims; - } - - - @JsonProperty(JSON_PROPERTY_GEO_DIMS) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setGeoDims(List geoDims) { - this.geoDims = geoDims; - } - - public BioModelChildSummary appTypes(List appTypes) { this.appTypes = appTypes; return this; @@ -255,72 +107,6 @@ public void setAppTypes(List appTypes) { } - public BioModelChildSummary simNames(List> simNames) { - this.simNames = simNames; - return this; - } - - public BioModelChildSummary addSimNamesItem(List simNamesItem) { - if (this.simNames == null) { - this.simNames = new ArrayList<>(); - } - this.simNames.add(simNamesItem); - return this; - } - - /** - * Get simNames - * @return simNames - **/ - @javax.annotation.Nullable - @JsonProperty(JSON_PROPERTY_SIM_NAMES) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - - public List> getSimNames() { - return simNames; - } - - - @JsonProperty(JSON_PROPERTY_SIM_NAMES) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setSimNames(List> simNames) { - this.simNames = simNames; - } - - - public BioModelChildSummary simAnnots(List> simAnnots) { - this.simAnnots = simAnnots; - return this; - } - - public BioModelChildSummary addSimAnnotsItem(List simAnnotsItem) { - if (this.simAnnots == null) { - this.simAnnots = new ArrayList<>(); - } - this.simAnnots.add(simAnnotsItem); - return this; - } - - /** - * Get simAnnots - * @return simAnnots - **/ - @javax.annotation.Nullable - @JsonProperty(JSON_PROPERTY_SIM_ANNOTS) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - - public List> getSimAnnots() { - return simAnnots; - } - - - @JsonProperty(JSON_PROPERTY_SIM_ANNOTS) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setSimAnnots(List> simAnnots) { - this.simAnnots = simAnnots; - } - - public BioModelChildSummary geometryDimensions(List geometryDimensions) { this.geometryDimensions = geometryDimensions; return this; @@ -453,6 +239,72 @@ public void setSimulationContextNames(List simulationContextNames) { } + public BioModelChildSummary allSimulationNames(List> allSimulationNames) { + this.allSimulationNames = allSimulationNames; + return this; + } + + public BioModelChildSummary addAllSimulationNamesItem(List allSimulationNamesItem) { + if (this.allSimulationNames == null) { + this.allSimulationNames = new ArrayList<>(); + } + this.allSimulationNames.add(allSimulationNamesItem); + return this; + } + + /** + * Get allSimulationNames + * @return allSimulationNames + **/ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ALL_SIMULATION_NAMES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public List> getAllSimulationNames() { + return allSimulationNames; + } + + + @JsonProperty(JSON_PROPERTY_ALL_SIMULATION_NAMES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAllSimulationNames(List> allSimulationNames) { + this.allSimulationNames = allSimulationNames; + } + + + public BioModelChildSummary allSimulationAnnots(List> allSimulationAnnots) { + this.allSimulationAnnots = allSimulationAnnots; + return this; + } + + public BioModelChildSummary addAllSimulationAnnotsItem(List allSimulationAnnotsItem) { + if (this.allSimulationAnnots == null) { + this.allSimulationAnnots = new ArrayList<>(); + } + this.allSimulationAnnots.add(allSimulationAnnotsItem); + return this; + } + + /** + * Get allSimulationAnnots + * @return allSimulationAnnots + **/ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ALL_SIMULATION_ANNOTS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public List> getAllSimulationAnnots() { + return allSimulationAnnots; + } + + + @JsonProperty(JSON_PROPERTY_ALL_SIMULATION_ANNOTS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAllSimulationAnnots(List> allSimulationAnnots) { + this.allSimulationAnnots = allSimulationAnnots; + } + + public BioModelChildSummary applicationInfo(List applicationInfo) { this.applicationInfo = applicationInfo; return this; @@ -498,40 +350,32 @@ public boolean equals(Object o) { return false; } BioModelChildSummary bioModelChildSummary = (BioModelChildSummary) o; - return Objects.equals(this.scNames, bioModelChildSummary.scNames) && - Objects.equals(this.scAnnots, bioModelChildSummary.scAnnots) && - Objects.equals(this.geoNames, bioModelChildSummary.geoNames) && - Objects.equals(this.geoDims, bioModelChildSummary.geoDims) && - Objects.equals(this.appTypes, bioModelChildSummary.appTypes) && - Objects.equals(this.simNames, bioModelChildSummary.simNames) && - Objects.equals(this.simAnnots, bioModelChildSummary.simAnnots) && + return Objects.equals(this.appTypes, bioModelChildSummary.appTypes) && Objects.equals(this.geometryDimensions, bioModelChildSummary.geometryDimensions) && Objects.equals(this.geometryNames, bioModelChildSummary.geometryNames) && Objects.equals(this.simulationContextAnnotations, bioModelChildSummary.simulationContextAnnotations) && Objects.equals(this.simulationContextNames, bioModelChildSummary.simulationContextNames) && + Objects.equals(this.allSimulationNames, bioModelChildSummary.allSimulationNames) && + Objects.equals(this.allSimulationAnnots, bioModelChildSummary.allSimulationAnnots) && Objects.equals(this.applicationInfo, bioModelChildSummary.applicationInfo); } @Override public int hashCode() { - return Objects.hash(scNames, scAnnots, geoNames, geoDims, appTypes, simNames, simAnnots, geometryDimensions, geometryNames, simulationContextAnnotations, simulationContextNames, applicationInfo); + return Objects.hash(appTypes, geometryDimensions, geometryNames, simulationContextAnnotations, simulationContextNames, allSimulationNames, allSimulationAnnots, applicationInfo); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class BioModelChildSummary {\n"); - sb.append(" scNames: ").append(toIndentedString(scNames)).append("\n"); - sb.append(" scAnnots: ").append(toIndentedString(scAnnots)).append("\n"); - sb.append(" geoNames: ").append(toIndentedString(geoNames)).append("\n"); - sb.append(" geoDims: ").append(toIndentedString(geoDims)).append("\n"); sb.append(" appTypes: ").append(toIndentedString(appTypes)).append("\n"); - sb.append(" simNames: ").append(toIndentedString(simNames)).append("\n"); - sb.append(" simAnnots: ").append(toIndentedString(simAnnots)).append("\n"); sb.append(" geometryDimensions: ").append(toIndentedString(geometryDimensions)).append("\n"); sb.append(" geometryNames: ").append(toIndentedString(geometryNames)).append("\n"); sb.append(" simulationContextAnnotations: ").append(toIndentedString(simulationContextAnnotations)).append("\n"); sb.append(" simulationContextNames: ").append(toIndentedString(simulationContextNames)).append("\n"); + sb.append(" allSimulationNames: ").append(toIndentedString(allSimulationNames)).append("\n"); + sb.append(" allSimulationAnnots: ").append(toIndentedString(allSimulationAnnots)).append("\n"); sb.append(" applicationInfo: ").append(toIndentedString(applicationInfo)).append("\n"); sb.append("}"); return sb.toString(); @@ -580,42 +424,6 @@ public String toUrlQueryString(String prefix) { StringJoiner joiner = new StringJoiner("&"); - // add `scNames` to the URL query string - if (getScNames() != null) { - for (int i = 0; i < getScNames().size(); i++) { - joiner.add(String.format("%sscNames%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), - URLEncoder.encode(String.valueOf(getScNames().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); - } - } - - // add `scAnnots` to the URL query string - if (getScAnnots() != null) { - for (int i = 0; i < getScAnnots().size(); i++) { - joiner.add(String.format("%sscAnnots%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), - URLEncoder.encode(String.valueOf(getScAnnots().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); - } - } - - // add `geoNames` to the URL query string - if (getGeoNames() != null) { - for (int i = 0; i < getGeoNames().size(); i++) { - joiner.add(String.format("%sgeoNames%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), - URLEncoder.encode(String.valueOf(getGeoNames().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); - } - } - - // add `geoDims` to the URL query string - if (getGeoDims() != null) { - for (int i = 0; i < getGeoDims().size(); i++) { - joiner.add(String.format("%sgeoDims%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), - URLEncoder.encode(String.valueOf(getGeoDims().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); - } - } - // add `appTypes` to the URL query string if (getAppTypes() != null) { for (int i = 0; i < getAppTypes().size(); i++) { @@ -627,24 +435,6 @@ public String toUrlQueryString(String prefix) { } } - // add `simNames` to the URL query string - if (getSimNames() != null) { - for (int i = 0; i < getSimNames().size(); i++) { - joiner.add(String.format("%ssimNames%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), - URLEncoder.encode(String.valueOf(getSimNames().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); - } - } - - // add `simAnnots` to the URL query string - if (getSimAnnots() != null) { - for (int i = 0; i < getSimAnnots().size(); i++) { - joiner.add(String.format("%ssimAnnots%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), - URLEncoder.encode(String.valueOf(getSimAnnots().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); - } - } - // add `geometryDimensions` to the URL query string if (getGeometryDimensions() != null) { for (int i = 0; i < getGeometryDimensions().size(); i++) { @@ -681,6 +471,24 @@ public String toUrlQueryString(String prefix) { } } + // add `allSimulationNames` to the URL query string + if (getAllSimulationNames() != null) { + for (int i = 0; i < getAllSimulationNames().size(); i++) { + joiner.add(String.format("%sallSimulationNames%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), + URLEncoder.encode(String.valueOf(getAllSimulationNames().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `allSimulationAnnots` to the URL query string + if (getAllSimulationAnnots() != null) { + for (int i = 0; i < getAllSimulationAnnots().size(); i++) { + joiner.add(String.format("%sallSimulationAnnots%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), + URLEncoder.encode(String.valueOf(getAllSimulationAnnots().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + // add `applicationInfo` to the URL query string if (getApplicationInfo() != null) { for (int i = 0; i < getApplicationInfo().size(); i++) { diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/GroupAccessSome.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/GroupAccessSome.java index fdb7c20f21..f4d9e0f039 100644 --- a/vcell-restclient/src/main/java/org/vcell/restclient/model/GroupAccessSome.java +++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/GroupAccessSome.java @@ -45,9 +45,7 @@ GroupAccessSome.JSON_PROPERTY_HASH, GroupAccessSome.JSON_PROPERTY_GROUP_MEMBERS, GroupAccessSome.JSON_PROPERTY_HIDDEN_MEMBERS, - GroupAccessSome.JSON_PROPERTY_DESCRIPTION, - GroupAccessSome.JSON_PROPERTY_HIDDEN_GROUP_MEMBERS, - GroupAccessSome.JSON_PROPERTY_NORMAL_GROUP_MEMBERS + GroupAccessSome.JSON_PROPERTY_DESCRIPTION }) @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") @JsonIgnoreProperties( @@ -72,12 +70,6 @@ public class GroupAccessSome extends GroupAccess { public static final String JSON_PROPERTY_DESCRIPTION = "description"; private String description; - public static final String JSON_PROPERTY_HIDDEN_GROUP_MEMBERS = "hiddenGroupMembers"; - private List hiddenGroupMembers; - - public static final String JSON_PROPERTY_NORMAL_GROUP_MEMBERS = "normalGroupMembers"; - private List normalGroupMembers; - public GroupAccessSome() { } @@ -222,72 +214,6 @@ public void setDescription(String description) { } - public GroupAccessSome hiddenGroupMembers(List hiddenGroupMembers) { - this.hiddenGroupMembers = hiddenGroupMembers; - return this; - } - - public GroupAccessSome addHiddenGroupMembersItem(User hiddenGroupMembersItem) { - if (this.hiddenGroupMembers == null) { - this.hiddenGroupMembers = new ArrayList<>(); - } - this.hiddenGroupMembers.add(hiddenGroupMembersItem); - return this; - } - - /** - * Get hiddenGroupMembers - * @return hiddenGroupMembers - **/ - @javax.annotation.Nullable - @JsonProperty(JSON_PROPERTY_HIDDEN_GROUP_MEMBERS) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - - public List getHiddenGroupMembers() { - return hiddenGroupMembers; - } - - - @JsonProperty(JSON_PROPERTY_HIDDEN_GROUP_MEMBERS) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setHiddenGroupMembers(List hiddenGroupMembers) { - this.hiddenGroupMembers = hiddenGroupMembers; - } - - - public GroupAccessSome normalGroupMembers(List normalGroupMembers) { - this.normalGroupMembers = normalGroupMembers; - return this; - } - - public GroupAccessSome addNormalGroupMembersItem(User normalGroupMembersItem) { - if (this.normalGroupMembers == null) { - this.normalGroupMembers = new ArrayList<>(); - } - this.normalGroupMembers.add(normalGroupMembersItem); - return this; - } - - /** - * Get normalGroupMembers - * @return normalGroupMembers - **/ - @javax.annotation.Nullable - @JsonProperty(JSON_PROPERTY_NORMAL_GROUP_MEMBERS) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - - public List getNormalGroupMembers() { - return normalGroupMembers; - } - - - @JsonProperty(JSON_PROPERTY_NORMAL_GROUP_MEMBERS) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setNormalGroupMembers(List normalGroupMembers) { - this.normalGroupMembers = normalGroupMembers; - } - - @Override public GroupAccessSome groupid(BigDecimal groupid) { this.setGroupid(groupid); @@ -311,14 +237,12 @@ public boolean equals(Object o) { Objects.equals(this.groupMembers, groupAccessSome.groupMembers) && Objects.equals(this.hiddenMembers, groupAccessSome.hiddenMembers) && Objects.equals(this.description, groupAccessSome.description) && - Objects.equals(this.hiddenGroupMembers, groupAccessSome.hiddenGroupMembers) && - Objects.equals(this.normalGroupMembers, groupAccessSome.normalGroupMembers) && super.equals(o); } @Override public int hashCode() { - return Objects.hash(type, hash, groupMembers, hiddenMembers, description, hiddenGroupMembers, normalGroupMembers, super.hashCode()); + return Objects.hash(type, hash, groupMembers, hiddenMembers, description, super.hashCode()); } @Override @@ -331,8 +255,6 @@ public String toString() { sb.append(" groupMembers: ").append(toIndentedString(groupMembers)).append("\n"); sb.append(" hiddenMembers: ").append(toIndentedString(hiddenMembers)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); - sb.append(" hiddenGroupMembers: ").append(toIndentedString(hiddenGroupMembers)).append("\n"); - sb.append(" normalGroupMembers: ").append(toIndentedString(normalGroupMembers)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/PublicationInfo.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/PublicationInfo.java index 43333d61bc..225e00a6f2 100644 --- a/vcell-restclient/src/main/java/org/vcell/restclient/model/PublicationInfo.java +++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/PublicationInfo.java @@ -25,6 +25,7 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import java.time.LocalDate; +import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -48,7 +49,8 @@ PublicationInfo.JSON_PROPERTY_PUBDATE, PublicationInfo.JSON_PROPERTY_VC_DOCUMENT_TYPE, PublicationInfo.JSON_PROPERTY_USER, - PublicationInfo.JSON_PROPERTY_THE_HASH_CODE + PublicationInfo.JSON_PROPERTY_THE_HASH_CODE, + PublicationInfo.JSON_PROPERTY_PUB_DATE }) @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class PublicationInfo { @@ -88,6 +90,9 @@ public class PublicationInfo { public static final String JSON_PROPERTY_THE_HASH_CODE = "theHashCode"; private Integer theHashCode; + public static final String JSON_PROPERTY_PUB_DATE = "pubDate"; + private OffsetDateTime pubDate; + public PublicationInfo() { } @@ -399,6 +404,31 @@ public void setTheHashCode(Integer theHashCode) { } + public PublicationInfo pubDate(OffsetDateTime pubDate) { + this.pubDate = pubDate; + return this; + } + + /** + * Get pubDate + * @return pubDate + **/ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PUB_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public OffsetDateTime getPubDate() { + return pubDate; + } + + + @JsonProperty(JSON_PROPERTY_PUB_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setPubDate(OffsetDateTime pubDate) { + this.pubDate = pubDate; + } + + /** * Return true if this PublicationInfo object is equal to o. */ @@ -422,12 +452,13 @@ public boolean equals(Object o) { Objects.equals(this.pubdate, publicationInfo.pubdate) && Objects.equals(this.vcDocumentType, publicationInfo.vcDocumentType) && Objects.equals(this.user, publicationInfo.user) && - Objects.equals(this.theHashCode, publicationInfo.theHashCode); + Objects.equals(this.theHashCode, publicationInfo.theHashCode) && + Objects.equals(this.pubDate, publicationInfo.pubDate); } @Override public int hashCode() { - return Objects.hash(publicationKey, versionKey, title, authors, citation, pubmedid, doi, url, pubdate, vcDocumentType, user, theHashCode); + return Objects.hash(publicationKey, versionKey, title, authors, citation, pubmedid, doi, url, pubdate, vcDocumentType, user, theHashCode, pubDate); } @Override @@ -446,6 +477,7 @@ public String toString() { sb.append(" vcDocumentType: ").append(toIndentedString(vcDocumentType)).append("\n"); sb.append(" user: ").append(toIndentedString(user)).append("\n"); sb.append(" theHashCode: ").append(toIndentedString(theHashCode)).append("\n"); + sb.append(" pubDate: ").append(toIndentedString(pubDate)).append("\n"); sb.append("}"); return sb.toString(); } @@ -557,6 +589,11 @@ public String toUrlQueryString(String prefix) { joiner.add(String.format("%stheHashCode%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTheHashCode()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); } + // add `pubDate` to the URL query string + if (getPubDate() != null) { + joiner.add(String.format("%spubDate%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getPubDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + return joiner.toString(); } } diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/VCellInfoContainer.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/VCellInfoContainer.java new file mode 100644 index 0000000000..d992d20ce6 --- /dev/null +++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/VCellInfoContainer.java @@ -0,0 +1,316 @@ +/* + * VCell API + * VCell API + * + * The version of the OpenAPI document: 1.0.1 + * Contact: vcell_support@uchc.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.vcell.restclient.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.vcell.restclient.model.BioModelSummary; +import org.vcell.restclient.model.GeometrySummary; +import org.vcell.restclient.model.MathModelSummary; +import org.vcell.restclient.model.VCImageSummary; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + * VCellInfoContainer + */ +@JsonPropertyOrder({ + VCellInfoContainer.JSON_PROPERTY_IMAGE_INFOS, + VCellInfoContainer.JSON_PROPERTY_GEOMETRY_INFO, + VCellInfoContainer.JSON_PROPERTY_MATH_MODEL_INFOS, + VCellInfoContainer.JSON_PROPERTY_BIO_MODEL_INFOS +}) +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class VCellInfoContainer { + public static final String JSON_PROPERTY_IMAGE_INFOS = "imageInfos"; + private List imageInfos; + + public static final String JSON_PROPERTY_GEOMETRY_INFO = "geometryInfo"; + private List geometryInfo; + + public static final String JSON_PROPERTY_MATH_MODEL_INFOS = "mathModelInfos"; + private List mathModelInfos; + + public static final String JSON_PROPERTY_BIO_MODEL_INFOS = "bioModelInfos"; + private List bioModelInfos; + + public VCellInfoContainer() { + } + + public VCellInfoContainer imageInfos(List imageInfos) { + this.imageInfos = imageInfos; + return this; + } + + public VCellInfoContainer addImageInfosItem(VCImageSummary imageInfosItem) { + if (this.imageInfos == null) { + this.imageInfos = new ArrayList<>(); + } + this.imageInfos.add(imageInfosItem); + return this; + } + + /** + * Get imageInfos + * @return imageInfos + **/ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_IMAGE_INFOS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public List getImageInfos() { + return imageInfos; + } + + + @JsonProperty(JSON_PROPERTY_IMAGE_INFOS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setImageInfos(List imageInfos) { + this.imageInfos = imageInfos; + } + + + public VCellInfoContainer geometryInfo(List geometryInfo) { + this.geometryInfo = geometryInfo; + return this; + } + + public VCellInfoContainer addGeometryInfoItem(GeometrySummary geometryInfoItem) { + if (this.geometryInfo == null) { + this.geometryInfo = new ArrayList<>(); + } + this.geometryInfo.add(geometryInfoItem); + return this; + } + + /** + * Get geometryInfo + * @return geometryInfo + **/ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_GEOMETRY_INFO) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public List getGeometryInfo() { + return geometryInfo; + } + + + @JsonProperty(JSON_PROPERTY_GEOMETRY_INFO) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setGeometryInfo(List geometryInfo) { + this.geometryInfo = geometryInfo; + } + + + public VCellInfoContainer mathModelInfos(List mathModelInfos) { + this.mathModelInfos = mathModelInfos; + return this; + } + + public VCellInfoContainer addMathModelInfosItem(MathModelSummary mathModelInfosItem) { + if (this.mathModelInfos == null) { + this.mathModelInfos = new ArrayList<>(); + } + this.mathModelInfos.add(mathModelInfosItem); + return this; + } + + /** + * Get mathModelInfos + * @return mathModelInfos + **/ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MATH_MODEL_INFOS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public List getMathModelInfos() { + return mathModelInfos; + } + + + @JsonProperty(JSON_PROPERTY_MATH_MODEL_INFOS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setMathModelInfos(List mathModelInfos) { + this.mathModelInfos = mathModelInfos; + } + + + public VCellInfoContainer bioModelInfos(List bioModelInfos) { + this.bioModelInfos = bioModelInfos; + return this; + } + + public VCellInfoContainer addBioModelInfosItem(BioModelSummary bioModelInfosItem) { + if (this.bioModelInfos == null) { + this.bioModelInfos = new ArrayList<>(); + } + this.bioModelInfos.add(bioModelInfosItem); + return this; + } + + /** + * Get bioModelInfos + * @return bioModelInfos + **/ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BIO_MODEL_INFOS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public List getBioModelInfos() { + return bioModelInfos; + } + + + @JsonProperty(JSON_PROPERTY_BIO_MODEL_INFOS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setBioModelInfos(List bioModelInfos) { + this.bioModelInfos = bioModelInfos; + } + + + /** + * Return true if this VCellInfoContainer object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + VCellInfoContainer vcellInfoContainer = (VCellInfoContainer) o; + return Objects.equals(this.imageInfos, vcellInfoContainer.imageInfos) && + Objects.equals(this.geometryInfo, vcellInfoContainer.geometryInfo) && + Objects.equals(this.mathModelInfos, vcellInfoContainer.mathModelInfos) && + Objects.equals(this.bioModelInfos, vcellInfoContainer.bioModelInfos); + } + + @Override + public int hashCode() { + return Objects.hash(imageInfos, geometryInfo, mathModelInfos, bioModelInfos); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class VCellInfoContainer {\n"); + sb.append(" imageInfos: ").append(toIndentedString(imageInfos)).append("\n"); + sb.append(" geometryInfo: ").append(toIndentedString(geometryInfo)).append("\n"); + sb.append(" mathModelInfos: ").append(toIndentedString(mathModelInfos)).append("\n"); + sb.append(" bioModelInfos: ").append(toIndentedString(bioModelInfos)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `imageInfos` to the URL query string + if (getImageInfos() != null) { + for (int i = 0; i < getImageInfos().size(); i++) { + if (getImageInfos().get(i) != null) { + joiner.add(getImageInfos().get(i).toUrlQueryString(String.format("%simageInfos%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `geometryInfo` to the URL query string + if (getGeometryInfo() != null) { + for (int i = 0; i < getGeometryInfo().size(); i++) { + if (getGeometryInfo().get(i) != null) { + joiner.add(getGeometryInfo().get(i).toUrlQueryString(String.format("%sgeometryInfo%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `mathModelInfos` to the URL query string + if (getMathModelInfos() != null) { + for (int i = 0; i < getMathModelInfos().size(); i++) { + if (getMathModelInfos().get(i) != null) { + joiner.add(getMathModelInfos().get(i).toUrlQueryString(String.format("%smathModelInfos%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `bioModelInfos` to the URL query string + if (getBioModelInfos() != null) { + for (int i = 0; i < getBioModelInfos().size(); i++) { + if (getBioModelInfos().get(i) != null) { + joiner.add(getBioModelInfos().get(i).toUrlQueryString(String.format("%sbioModelInfos%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + return joiner.toString(); + } +} + diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/VCellSummaryContainer.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/VCellSummaryContainer.java new file mode 100644 index 0000000000..2364570263 --- /dev/null +++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/VCellSummaryContainer.java @@ -0,0 +1,316 @@ +/* + * VCell API + * VCell API + * + * The version of the OpenAPI document: 1.0.1 + * Contact: vcell_support@uchc.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.vcell.restclient.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.vcell.restclient.model.BioModelSummary; +import org.vcell.restclient.model.GeometrySummary; +import org.vcell.restclient.model.MathModelSummary; +import org.vcell.restclient.model.VCImageSummary; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + * VCellSummaryContainer + */ +@JsonPropertyOrder({ + VCellSummaryContainer.JSON_PROPERTY_IMAGE_SUMMARIES, + VCellSummaryContainer.JSON_PROPERTY_GEOMETRY_SUMMARIES, + VCellSummaryContainer.JSON_PROPERTY_MATH_MODEL_SUMMARIES, + VCellSummaryContainer.JSON_PROPERTY_BIO_MODEL_SUMMARIES +}) +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") +public class VCellSummaryContainer { + public static final String JSON_PROPERTY_IMAGE_SUMMARIES = "imageSummaries"; + private List imageSummaries; + + public static final String JSON_PROPERTY_GEOMETRY_SUMMARIES = "geometrySummaries"; + private List geometrySummaries; + + public static final String JSON_PROPERTY_MATH_MODEL_SUMMARIES = "mathModelSummaries"; + private List mathModelSummaries; + + public static final String JSON_PROPERTY_BIO_MODEL_SUMMARIES = "bioModelSummaries"; + private List bioModelSummaries; + + public VCellSummaryContainer() { + } + + public VCellSummaryContainer imageSummaries(List imageSummaries) { + this.imageSummaries = imageSummaries; + return this; + } + + public VCellSummaryContainer addImageSummariesItem(VCImageSummary imageSummariesItem) { + if (this.imageSummaries == null) { + this.imageSummaries = new ArrayList<>(); + } + this.imageSummaries.add(imageSummariesItem); + return this; + } + + /** + * Get imageSummaries + * @return imageSummaries + **/ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_IMAGE_SUMMARIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public List getImageSummaries() { + return imageSummaries; + } + + + @JsonProperty(JSON_PROPERTY_IMAGE_SUMMARIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setImageSummaries(List imageSummaries) { + this.imageSummaries = imageSummaries; + } + + + public VCellSummaryContainer geometrySummaries(List geometrySummaries) { + this.geometrySummaries = geometrySummaries; + return this; + } + + public VCellSummaryContainer addGeometrySummariesItem(GeometrySummary geometrySummariesItem) { + if (this.geometrySummaries == null) { + this.geometrySummaries = new ArrayList<>(); + } + this.geometrySummaries.add(geometrySummariesItem); + return this; + } + + /** + * Get geometrySummaries + * @return geometrySummaries + **/ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_GEOMETRY_SUMMARIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public List getGeometrySummaries() { + return geometrySummaries; + } + + + @JsonProperty(JSON_PROPERTY_GEOMETRY_SUMMARIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setGeometrySummaries(List geometrySummaries) { + this.geometrySummaries = geometrySummaries; + } + + + public VCellSummaryContainer mathModelSummaries(List mathModelSummaries) { + this.mathModelSummaries = mathModelSummaries; + return this; + } + + public VCellSummaryContainer addMathModelSummariesItem(MathModelSummary mathModelSummariesItem) { + if (this.mathModelSummaries == null) { + this.mathModelSummaries = new ArrayList<>(); + } + this.mathModelSummaries.add(mathModelSummariesItem); + return this; + } + + /** + * Get mathModelSummaries + * @return mathModelSummaries + **/ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MATH_MODEL_SUMMARIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public List getMathModelSummaries() { + return mathModelSummaries; + } + + + @JsonProperty(JSON_PROPERTY_MATH_MODEL_SUMMARIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setMathModelSummaries(List mathModelSummaries) { + this.mathModelSummaries = mathModelSummaries; + } + + + public VCellSummaryContainer bioModelSummaries(List bioModelSummaries) { + this.bioModelSummaries = bioModelSummaries; + return this; + } + + public VCellSummaryContainer addBioModelSummariesItem(BioModelSummary bioModelSummariesItem) { + if (this.bioModelSummaries == null) { + this.bioModelSummaries = new ArrayList<>(); + } + this.bioModelSummaries.add(bioModelSummariesItem); + return this; + } + + /** + * Get bioModelSummaries + * @return bioModelSummaries + **/ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BIO_MODEL_SUMMARIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public List getBioModelSummaries() { + return bioModelSummaries; + } + + + @JsonProperty(JSON_PROPERTY_BIO_MODEL_SUMMARIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setBioModelSummaries(List bioModelSummaries) { + this.bioModelSummaries = bioModelSummaries; + } + + + /** + * Return true if this VCellSummaryContainer object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + VCellSummaryContainer vcellSummaryContainer = (VCellSummaryContainer) o; + return Objects.equals(this.imageSummaries, vcellSummaryContainer.imageSummaries) && + Objects.equals(this.geometrySummaries, vcellSummaryContainer.geometrySummaries) && + Objects.equals(this.mathModelSummaries, vcellSummaryContainer.mathModelSummaries) && + Objects.equals(this.bioModelSummaries, vcellSummaryContainer.bioModelSummaries); + } + + @Override + public int hashCode() { + return Objects.hash(imageSummaries, geometrySummaries, mathModelSummaries, bioModelSummaries); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class VCellSummaryContainer {\n"); + sb.append(" imageSummaries: ").append(toIndentedString(imageSummaries)).append("\n"); + sb.append(" geometrySummaries: ").append(toIndentedString(geometrySummaries)).append("\n"); + sb.append(" mathModelSummaries: ").append(toIndentedString(mathModelSummaries)).append("\n"); + sb.append(" bioModelSummaries: ").append(toIndentedString(bioModelSummaries)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `imageSummaries` to the URL query string + if (getImageSummaries() != null) { + for (int i = 0; i < getImageSummaries().size(); i++) { + if (getImageSummaries().get(i) != null) { + joiner.add(getImageSummaries().get(i).toUrlQueryString(String.format("%simageSummaries%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `geometrySummaries` to the URL query string + if (getGeometrySummaries() != null) { + for (int i = 0; i < getGeometrySummaries().size(); i++) { + if (getGeometrySummaries().get(i) != null) { + joiner.add(getGeometrySummaries().get(i).toUrlQueryString(String.format("%sgeometrySummaries%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `mathModelSummaries` to the URL query string + if (getMathModelSummaries() != null) { + for (int i = 0; i < getMathModelSummaries().size(); i++) { + if (getMathModelSummaries().get(i) != null) { + joiner.add(getMathModelSummaries().get(i).toUrlQueryString(String.format("%smathModelSummaries%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `bioModelSummaries` to the URL query string + if (getBioModelSummaries() != null) { + for (int i = 0; i < getBioModelSummaries().size(); i++) { + if (getBioModelSummaries().get(i) != null) { + joiner.add(getBioModelSummaries().get(i).toUrlQueryString(String.format("%sbioModelSummaries%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + return joiner.toString(); + } +} + diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/VersionFlag.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/VersionFlag.java index e5653c87b9..b50931a13e 100644 --- a/vcell-restclient/src/main/java/org/vcell/restclient/model/VersionFlag.java +++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/VersionFlag.java @@ -32,7 +32,6 @@ * VersionFlag */ @JsonPropertyOrder({ - VersionFlag.JSON_PROPERTY_VERSION_FLAG, VersionFlag.JSON_PROPERTY_INT_VALUE, VersionFlag.JSON_PROPERTY_ARCHIVED, VersionFlag.JSON_PROPERTY_CURRENT, @@ -40,9 +39,6 @@ }) @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class VersionFlag { - public static final String JSON_PROPERTY_VERSION_FLAG = "versionFlag"; - private Integer versionFlag; - public static final String JSON_PROPERTY_INT_VALUE = "intValue"; private Integer intValue; @@ -58,31 +54,6 @@ public class VersionFlag { public VersionFlag() { } - public VersionFlag versionFlag(Integer versionFlag) { - this.versionFlag = versionFlag; - return this; - } - - /** - * Get versionFlag - * @return versionFlag - **/ - @javax.annotation.Nullable - @JsonProperty(JSON_PROPERTY_VERSION_FLAG) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - - public Integer getVersionFlag() { - return versionFlag; - } - - - @JsonProperty(JSON_PROPERTY_VERSION_FLAG) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setVersionFlag(Integer versionFlag) { - this.versionFlag = versionFlag; - } - - public VersionFlag intValue(Integer intValue) { this.intValue = intValue; return this; @@ -195,8 +166,7 @@ public boolean equals(Object o) { return false; } VersionFlag versionFlag = (VersionFlag) o; - return Objects.equals(this.versionFlag, versionFlag.versionFlag) && - Objects.equals(this.intValue, versionFlag.intValue) && + return Objects.equals(this.intValue, versionFlag.intValue) && Objects.equals(this.archived, versionFlag.archived) && Objects.equals(this.current, versionFlag.current) && Objects.equals(this.published, versionFlag.published); @@ -204,14 +174,13 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(versionFlag, intValue, archived, current, published); + return Objects.hash(intValue, archived, current, published); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class VersionFlag {\n"); - sb.append(" versionFlag: ").append(toIndentedString(versionFlag)).append("\n"); sb.append(" intValue: ").append(toIndentedString(intValue)).append("\n"); sb.append(" archived: ").append(toIndentedString(archived)).append("\n"); sb.append(" current: ").append(toIndentedString(current)).append("\n"); @@ -263,11 +232,6 @@ public String toUrlQueryString(String prefix) { StringJoiner joiner = new StringJoiner("&"); - // add `versionFlag` to the URL query string - if (getVersionFlag() != null) { - joiner.add(String.format("%sversionFlag%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getVersionFlag()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); - } - // add `intValue` to the URL query string if (getIntValue() != null) { joiner.add(String.format("%sintValue%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIntValue()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/utils/DtoModelTransforms.java b/vcell-restclient/src/main/java/org/vcell/restclient/utils/DtoModelTransforms.java index 8066969d80..07426850a4 100644 --- a/vcell-restclient/src/main/java/org/vcell/restclient/utils/DtoModelTransforms.java +++ b/vcell-restclient/src/main/java/org/vcell/restclient/utils/DtoModelTransforms.java @@ -185,10 +185,10 @@ public static FieldDataAllDBEntries fieldDataReferencesToDBResults(List; + public getSummariesContainer(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public getSummariesContainer(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public getSummariesContainer(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable { + + let localVarHeaders = this.defaultHeaders; + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v1/bioModel/summariesContainer`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + reportProgress: reportProgress + } + ); + } + /** * Save\'s the given BioModel. Optional parameters of name and simulations to update due to math changes. Returns saved BioModel as VCML. * @param body BioModelVCML which will be saved. diff --git a/webapp-ng/src/app/core/modules/openapi/api/bio-model-resource.serviceInterface.ts b/webapp-ng/src/app/core/modules/openapi/api/bio-model-resource.serviceInterface.ts index c4e1e359f2..d40ea6c4a7 100644 --- a/webapp-ng/src/app/core/modules/openapi/api/bio-model-resource.serviceInterface.ts +++ b/webapp-ng/src/app/core/modules/openapi/api/bio-model-resource.serviceInterface.ts @@ -16,6 +16,7 @@ import { Observable } from 'rxjs'; import { BioModel } from '../model/models'; import { BioModelSummary } from '../model/models'; import { VCellHTTPError } from '../model/models'; +import { VCellSummaryContainer } from '../model/models'; import { Configuration } from '../configuration'; @@ -61,6 +62,12 @@ export interface BioModelResourceServiceInterface { */ getBioModelVCML(bioModelID: string, extraHttpRequestParams?: any): Observable; + /** + * + * All of the summary objects for this particular user. + */ + getSummariesContainer(extraHttpRequestParams?: any): Observable; + /** * Save\'s the given BioModel. Optional parameters of name and simulations to update due to math changes. Returns saved BioModel as VCML. * diff --git a/webapp-ng/src/app/core/modules/openapi/model/bio-model-child-summary.ts b/webapp-ng/src/app/core/modules/openapi/model/bio-model-child-summary.ts index cb374aec0f..b286edd90c 100644 --- a/webapp-ng/src/app/core/modules/openapi/model/bio-model-child-summary.ts +++ b/webapp-ng/src/app/core/modules/openapi/model/bio-model-child-summary.ts @@ -14,17 +14,13 @@ import { MathType } from './math-type'; export interface BioModelChildSummary { - scNames?: Array; - scAnnots?: Array; - geoNames?: Array; - geoDims?: Array; appTypes?: Array; - simNames?: Array>; - simAnnots?: Array>; geometryDimensions?: Array; geometryNames?: Array; simulationContextAnnotations?: Array; simulationContextNames?: Array; + allSimulationNames?: Array>; + allSimulationAnnots?: Array>; applicationInfo?: Array; } diff --git a/webapp-ng/src/app/core/modules/openapi/model/group-access-some.ts b/webapp-ng/src/app/core/modules/openapi/model/group-access-some.ts index 86132cc3f5..4cd8fc1344 100644 --- a/webapp-ng/src/app/core/modules/openapi/model/group-access-some.ts +++ b/webapp-ng/src/app/core/modules/openapi/model/group-access-some.ts @@ -19,7 +19,5 @@ export interface GroupAccessSome extends GroupAccess { groupMembers?: Array; hiddenMembers?: Array; description?: string; - hiddenGroupMembers?: Array; - normalGroupMembers?: Array; } diff --git a/webapp-ng/src/app/core/modules/openapi/model/models.ts b/webapp-ng/src/app/core/modules/openapi/model/models.ts index e3cb4a1eef..1aa2f14e7c 100644 --- a/webapp-ng/src/app/core/modules/openapi/model/models.ts +++ b/webapp-ng/src/app/core/modules/openapi/model/models.ts @@ -77,6 +77,7 @@ export * from './vc-simulation-identifier'; export * from './v-cell-http-error'; export * from './v-cell-site'; export * from './v-cell-software-version'; +export * from './v-cell-summary-container'; export * from './variable-domain'; export * from './variable-mode'; export * from './variable-specs'; diff --git a/webapp-ng/src/app/core/modules/openapi/model/publication-info.ts b/webapp-ng/src/app/core/modules/openapi/model/publication-info.ts index 72e0269c8a..46b6a3ed03 100644 --- a/webapp-ng/src/app/core/modules/openapi/model/publication-info.ts +++ b/webapp-ng/src/app/core/modules/openapi/model/publication-info.ts @@ -26,6 +26,7 @@ export interface PublicationInfo { vcDocumentType?: VCDocumentType; user?: User; theHashCode?: number; + pubDate?: string; } export namespace PublicationInfo { } diff --git a/webapp-ng/src/app/core/modules/openapi/model/v-cell-info-container.ts b/webapp-ng/src/app/core/modules/openapi/model/v-cell-info-container.ts new file mode 100644 index 0000000000..a912ea124d --- /dev/null +++ b/webapp-ng/src/app/core/modules/openapi/model/v-cell-info-container.ts @@ -0,0 +1,24 @@ +/** + * VCell API + * VCell API + * + * The version of the OpenAPI document: 1.0.1 + * Contact: vcell_support@uchc.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { GeometrySummary } from './geometry-summary'; +import { MathModelSummary } from './math-model-summary'; +import { BioModelSummary } from './bio-model-summary'; +import { VCImageSummary } from './vc-image-summary'; + + +export interface VCellInfoContainer { + imageInfos?: Array; + geometryInfo?: Array; + mathModelInfos?: Array; + bioModelInfos?: Array; +} + diff --git a/webapp-ng/src/app/core/modules/openapi/model/v-cell-summary-container.ts b/webapp-ng/src/app/core/modules/openapi/model/v-cell-summary-container.ts new file mode 100644 index 0000000000..68e758b656 --- /dev/null +++ b/webapp-ng/src/app/core/modules/openapi/model/v-cell-summary-container.ts @@ -0,0 +1,24 @@ +/** + * VCell API + * VCell API + * + * The version of the OpenAPI document: 1.0.1 + * Contact: vcell_support@uchc.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { GeometrySummary } from './geometry-summary'; +import { MathModelSummary } from './math-model-summary'; +import { BioModelSummary } from './bio-model-summary'; +import { VCImageSummary } from './vc-image-summary'; + + +export interface VCellSummaryContainer { + imageSummaries?: Array; + geometrySummaries?: Array; + mathModelSummaries?: Array; + bioModelSummaries?: Array; +} + diff --git a/webapp-ng/src/app/core/modules/openapi/model/version-flag.ts b/webapp-ng/src/app/core/modules/openapi/model/version-flag.ts index d5c92ad51b..ef594c2c81 100644 --- a/webapp-ng/src/app/core/modules/openapi/model/version-flag.ts +++ b/webapp-ng/src/app/core/modules/openapi/model/version-flag.ts @@ -12,7 +12,6 @@ export interface VersionFlag { - versionFlag?: number; intValue?: number; archived?: boolean; current?: boolean;