diff --git a/docker/swarm/README_zeke_stack_on_linux.md b/docker/swarm/README_zeke_stack_on_linux.md
index 97b7d0bf65..4fe974eb78 100644
--- a/docker/swarm/README_zeke_stack_on_linux.md
+++ b/docker/swarm/README_zeke_stack_on_linux.md
@@ -14,6 +14,11 @@
./build.sh --skip-maven --skip-sudo all localhost:5000/virtualcell dev_zeke
popd
```
+ 3. ```bash
+ pushd ../build
+ ./build.sh --skip-maven --skip-sudo rest localhost:5000/virtualcell dev_zeke
+ popd
+ ```
3. Run Quarkus in Terminal
``` bash
diff --git a/python-restclient/.github/workflows/python.yml b/python-restclient/.github/workflows/python.yml
index 2c82355c84..33681d21d7 100644
--- a/python-restclient/.github/workflows/python.yml
+++ b/python-restclient/.github/workflows/python.yml
@@ -16,9 +16,9 @@ jobs:
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v5
+ uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
diff --git a/python-restclient/.openapi-generator/FILES b/python-restclient/.openapi-generator/FILES
index 8586892bc2..0da7ec2a2d 100644
--- a/python-restclient/.openapi-generator/FILES
+++ b/python-restclient/.openapi-generator/FILES
@@ -3,17 +3,28 @@
README.md
docs/AccesTokenRepresentationRecord.md
docs/AdminResourceApi.md
+docs/AnalyzedResultsFromFieldData.md
docs/BatchSystemType.md
docs/BioModel.md
docs/BioModelResourceApi.md
docs/BiomodelRef.md
+docs/DataIdentifier.md
docs/DetailedState.md
+docs/Domain.md
+docs/Extent.md
+docs/ExternalDataIdentifier.md
+docs/FieldDataReference.md
+docs/FieldDataResourceApi.md
+docs/FieldDataSaveResults.md
+docs/FieldDataShape.md
docs/HelloWorldApi.md
docs/HelloWorldMessage.md
docs/HtcJobID.md
+docs/ISize.md
docs/Identity.md
docs/KeyValue.md
docs/MathmodelRef.md
+docs/Origin.md
docs/Publication.md
docs/PublicationResourceApi.md
docs/SchedulerStatus.md
@@ -32,6 +43,8 @@ docs/UserLoginInfoForMapping.md
docs/UserRegistrationInfo.md
docs/UsersResourceApi.md
docs/VCSimulationIdentifier.md
+docs/VariableDomain.md
+docs/VariableType.md
pyproject.toml
test/__init__.py
tox.ini
@@ -39,6 +52,7 @@ vcell_client/__init__.py
vcell_client/api/__init__.py
vcell_client/api/admin_resource_api.py
vcell_client/api/bio_model_resource_api.py
+vcell_client/api/field_data_resource_api.py
vcell_client/api/hello_world_api.py
vcell_client/api/publication_resource_api.py
vcell_client/api/simulation_resource_api.py
@@ -49,15 +63,25 @@ vcell_client/configuration.py
vcell_client/exceptions.py
vcell_client/models/__init__.py
vcell_client/models/acces_token_representation_record.py
+vcell_client/models/analyzed_results_from_field_data.py
vcell_client/models/batch_system_type.py
vcell_client/models/bio_model.py
vcell_client/models/biomodel_ref.py
+vcell_client/models/data_identifier.py
vcell_client/models/detailed_state.py
+vcell_client/models/domain.py
+vcell_client/models/extent.py
+vcell_client/models/external_data_identifier.py
+vcell_client/models/field_data_reference.py
+vcell_client/models/field_data_save_results.py
+vcell_client/models/field_data_shape.py
vcell_client/models/hello_world_message.py
vcell_client/models/htc_job_id.py
+vcell_client/models/i_size.py
vcell_client/models/identity.py
vcell_client/models/key_value.py
vcell_client/models/mathmodel_ref.py
+vcell_client/models/origin.py
vcell_client/models/publication.py
vcell_client/models/scheduler_status.py
vcell_client/models/simulation_execution_status_record.py
@@ -72,6 +96,8 @@ vcell_client/models/user.py
vcell_client/models/user_identity_json_safe.py
vcell_client/models/user_login_info_for_mapping.py
vcell_client/models/user_registration_info.py
+vcell_client/models/variable_domain.py
+vcell_client/models/variable_type.py
vcell_client/models/vc_simulation_identifier.py
vcell_client/py.typed
vcell_client/rest.py
diff --git a/python-restclient/README.md b/python-restclient/README.md
index 2acb9c319c..835d131595 100644
--- a/python-restclient/README.md
+++ b/python-restclient/README.md
@@ -89,6 +89,11 @@ Class | Method | HTTP request | Description
*BioModelResourceApi* | [**delete_bio_model**](docs/BioModelResourceApi.md#delete_bio_model) | **DELETE** /api/v1/bioModel/{bioModelID} | Delete the BioModel from VCell's database.
*BioModelResourceApi* | [**get_biomodel_by_id**](docs/BioModelResourceApi.md#get_biomodel_by_id) | **GET** /api/v1/bioModel/{bioModelID} | Get BioModel information in JSON format by ID.
*BioModelResourceApi* | [**upload_bio_model**](docs/BioModelResourceApi.md#upload_bio_model) | **POST** /api/v1/bioModel/upload_bioModel | Upload the BioModel to VCell database. Returns BioModel ID.
+*FieldDataResourceApi* | [**analyze_field_data_file**](docs/FieldDataResourceApi.md#analyze_field_data_file) | **POST** /api/v1/fieldData/analyzeFieldDataFile | Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+*FieldDataResourceApi* | [**create_field_data_from_analyzed_file**](docs/FieldDataResourceApi.md#create_field_data_from_analyzed_file) | **POST** /api/v1/fieldData/createFieldDataFromAnalyzedFile | Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+*FieldDataResourceApi* | [**delete_field_data**](docs/FieldDataResourceApi.md#delete_field_data) | **DELETE** /api/v1/fieldData/delete/{fieldDataID} | Delete the selected field data.
+*FieldDataResourceApi* | [**get_all_field_data_ids**](docs/FieldDataResourceApi.md#get_all_field_data_ids) | **GET** /api/v1/fieldData/IDs | Get all of the ids used to identify, and retrieve field data.
+*FieldDataResourceApi* | [**get_field_data_shape_from_id**](docs/FieldDataResourceApi.md#get_field_data_shape_from_id) | **GET** /api/v1/fieldData/fieldDataShape/{fieldDataID} | Get the shape of the field data. That is it's size, origin, extent, and data identifiers.
*HelloWorldApi* | [**get_hello_world**](docs/HelloWorldApi.md#get_hello_world) | **GET** /api/v1/helloworld | Get hello world message.
*PublicationResourceApi* | [**create_publication**](docs/PublicationResourceApi.md#create_publication) | **POST** /api/v1/publications | Create publication
*PublicationResourceApi* | [**delete_publication**](docs/PublicationResourceApi.md#delete_publication) | **DELETE** /api/v1/publications/{id} | Delete publication
@@ -113,15 +118,25 @@ Class | Method | HTTP request | Description
## Documentation For Models
- [AccesTokenRepresentationRecord](docs/AccesTokenRepresentationRecord.md)
+ - [AnalyzedResultsFromFieldData](docs/AnalyzedResultsFromFieldData.md)
- [BatchSystemType](docs/BatchSystemType.md)
- [BioModel](docs/BioModel.md)
- [BiomodelRef](docs/BiomodelRef.md)
+ - [DataIdentifier](docs/DataIdentifier.md)
- [DetailedState](docs/DetailedState.md)
+ - [Domain](docs/Domain.md)
+ - [Extent](docs/Extent.md)
+ - [ExternalDataIdentifier](docs/ExternalDataIdentifier.md)
+ - [FieldDataReference](docs/FieldDataReference.md)
+ - [FieldDataSaveResults](docs/FieldDataSaveResults.md)
+ - [FieldDataShape](docs/FieldDataShape.md)
- [HelloWorldMessage](docs/HelloWorldMessage.md)
- [HtcJobID](docs/HtcJobID.md)
+ - [ISize](docs/ISize.md)
- [Identity](docs/Identity.md)
- [KeyValue](docs/KeyValue.md)
- [MathmodelRef](docs/MathmodelRef.md)
+ - [Origin](docs/Origin.md)
- [Publication](docs/Publication.md)
- [SchedulerStatus](docs/SchedulerStatus.md)
- [SimulationExecutionStatusRecord](docs/SimulationExecutionStatusRecord.md)
@@ -137,6 +152,8 @@ Class | Method | HTTP request | Description
- [UserLoginInfoForMapping](docs/UserLoginInfoForMapping.md)
- [UserRegistrationInfo](docs/UserRegistrationInfo.md)
- [VCSimulationIdentifier](docs/VCSimulationIdentifier.md)
+ - [VariableDomain](docs/VariableDomain.md)
+ - [VariableType](docs/VariableType.md)
diff --git a/python-restclient/docs/AccessTokenRepresentation.md b/python-restclient/docs/AccessTokenRepresentation.md
deleted file mode 100644
index 40fb2223b5..0000000000
--- a/python-restclient/docs/AccessTokenRepresentation.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# AccessTokenRepresentation
-
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**token** | **str** | | [optional]
-**creation_date_seconds** | **int** | | [optional]
-**expire_date_seconds** | **int** | | [optional]
-**user_id** | **str** | | [optional]
-**user_key** | **str** | | [optional]
-
-## Example
-
-```python
-from vcell_client.models.access_token_representation import AccessTokenRepresentation
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of AccessTokenRepresentation from a JSON string
-access_token_representation_instance = AccessTokenRepresentation.from_json(json)
-# print the JSON string representation of the object
-print AccessTokenRepresentation.to_json()
-
-# convert the object into a dict
-access_token_representation_dict = access_token_representation_instance.to_dict()
-# create an instance of AccessTokenRepresentation from a dict
-access_token_representation_form_dict = access_token_representation.from_dict(access_token_representation_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/AnalyzedResultsFromFieldData.md b/python-restclient/docs/AnalyzedResultsFromFieldData.md
new file mode 100644
index 0000000000..3a5a347df8
--- /dev/null
+++ b/python-restclient/docs/AnalyzedResultsFromFieldData.md
@@ -0,0 +1,35 @@
+# AnalyzedResultsFromFieldData
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**short_spec_data** | **List[List[List[int]]]** | | [optional]
+**var_names** | **List[str]** | | [optional]
+**times** | **List[float]** | | [optional]
+**origin** | [**Origin**](Origin.md) | | [optional]
+**extent** | [**Extent**](Extent.md) | | [optional]
+**isize** | [**ISize**](ISize.md) | | [optional]
+**annotation** | **str** | | [optional]
+**name** | **str** | | [optional]
+
+## Example
+
+```python
+from vcell_client.models.analyzed_results_from_field_data import AnalyzedResultsFromFieldData
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of AnalyzedResultsFromFieldData from a JSON string
+analyzed_results_from_field_data_instance = AnalyzedResultsFromFieldData.from_json(json)
+# print the JSON string representation of the object
+print AnalyzedResultsFromFieldData.to_json()
+
+# convert the object into a dict
+analyzed_results_from_field_data_dict = analyzed_results_from_field_data_instance.to_dict()
+# create an instance of AnalyzedResultsFromFieldData from a dict
+analyzed_results_from_field_data_form_dict = analyzed_results_from_field_data.from_dict(analyzed_results_from_field_data_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/BioModelResourceApi.md b/python-restclient/docs/BioModelResourceApi.md
index 5f1a6b4969..7fb0b2e4b9 100644
--- a/python-restclient/docs/BioModelResourceApi.md
+++ b/python-restclient/docs/BioModelResourceApi.md
@@ -132,7 +132,8 @@ No authorization required
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-**200** | OK | - |
+**200** | return BioModel information in JSON format | - |
+**404** | BioModel not found | - |
[[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)
diff --git a/python-restclient/docs/DataIdentifier.md b/python-restclient/docs/DataIdentifier.md
new file mode 100644
index 0000000000..703055bd97
--- /dev/null
+++ b/python-restclient/docs/DataIdentifier.md
@@ -0,0 +1,34 @@
+# DataIdentifier
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | | [optional]
+**display_name** | **str** | | [optional]
+**variable_type** | [**VariableType**](VariableType.md) | | [optional]
+**domain** | [**Domain**](Domain.md) | | [optional]
+**b_function** | **bool** | | [optional]
+**function** | **bool** | | [optional]
+**visible** | **bool** | | [optional]
+
+## Example
+
+```python
+from vcell_client.models.data_identifier import DataIdentifier
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of DataIdentifier from a JSON string
+data_identifier_instance = DataIdentifier.from_json(json)
+# print the JSON string representation of the object
+print DataIdentifier.to_json()
+
+# convert the object into a dict
+data_identifier_dict = data_identifier_instance.to_dict()
+# create an instance of DataIdentifier from a dict
+data_identifier_form_dict = data_identifier.from_dict(data_identifier_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/Simulation.md b/python-restclient/docs/Domain.md
similarity index 57%
rename from python-restclient/docs/Simulation.md
rename to python-restclient/docs/Domain.md
index 0d1753ab86..ddcfffc546 100644
--- a/python-restclient/docs/Simulation.md
+++ b/python-restclient/docs/Domain.md
@@ -1,4 +1,4 @@
-# Simulation
+# Domain
## Properties
@@ -9,19 +9,19 @@ Name | Type | Description | Notes
## Example
```python
-from vcell_client.models.simulation import Simulation
+from vcell_client.models.domain import Domain
# TODO update the JSON string below
json = "{}"
-# create an instance of Simulation from a JSON string
-simulation_instance = Simulation.from_json(json)
+# create an instance of Domain from a JSON string
+domain_instance = Domain.from_json(json)
# print the JSON string representation of the object
-print Simulation.to_json()
+print Domain.to_json()
# convert the object into a dict
-simulation_dict = simulation_instance.to_dict()
-# create an instance of Simulation from a dict
-simulation_form_dict = simulation.from_dict(simulation_dict)
+domain_dict = domain_instance.to_dict()
+# create an instance of Domain from a dict
+domain_form_dict = domain.from_dict(domain_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/Extent.md b/python-restclient/docs/Extent.md
new file mode 100644
index 0000000000..3f6be0783c
--- /dev/null
+++ b/python-restclient/docs/Extent.md
@@ -0,0 +1,30 @@
+# Extent
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**x** | **float** | | [optional]
+**y** | **float** | | [optional]
+**z** | **float** | | [optional]
+
+## Example
+
+```python
+from vcell_client.models.extent import Extent
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of Extent from a JSON string
+extent_instance = Extent.from_json(json)
+# print the JSON string representation of the object
+print Extent.to_json()
+
+# convert the object into a dict
+extent_dict = extent_instance.to_dict()
+# create an instance of Extent from a dict
+extent_form_dict = extent.from_dict(extent_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/ExternalDataIdentifier.md b/python-restclient/docs/ExternalDataIdentifier.md
new file mode 100644
index 0000000000..72fd3bbbac
--- /dev/null
+++ b/python-restclient/docs/ExternalDataIdentifier.md
@@ -0,0 +1,34 @@
+# ExternalDataIdentifier
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**key** | [**KeyValue**](KeyValue.md) | | [optional]
+**owner** | [**User**](User.md) | | [optional]
+**name** | **str** | | [optional]
+**job_index** | **int** | | [optional]
+**simulation_key** | [**KeyValue**](KeyValue.md) | | [optional]
+**parameter_scan_type** | **bool** | | [optional]
+**data_key** | [**KeyValue**](KeyValue.md) | | [optional]
+
+## Example
+
+```python
+from vcell_client.models.external_data_identifier import ExternalDataIdentifier
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of ExternalDataIdentifier from a JSON string
+external_data_identifier_instance = ExternalDataIdentifier.from_json(json)
+# print the JSON string representation of the object
+print ExternalDataIdentifier.to_json()
+
+# convert the object into a dict
+external_data_identifier_dict = external_data_identifier_instance.to_dict()
+# create an instance of ExternalDataIdentifier from a dict
+external_data_identifier_form_dict = external_data_identifier.from_dict(external_data_identifier_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/FieldDataReference.md b/python-restclient/docs/FieldDataReference.md
new file mode 100644
index 0000000000..7643b4772a
--- /dev/null
+++ b/python-restclient/docs/FieldDataReference.md
@@ -0,0 +1,30 @@
+# FieldDataReference
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**external_data_identifier** | [**ExternalDataIdentifier**](ExternalDataIdentifier.md) | | [optional]
+**external_data_annotation** | **str** | | [optional]
+**external_data_id_sim_refs** | [**List[KeyValue]**](KeyValue.md) | | [optional]
+
+## Example
+
+```python
+from vcell_client.models.field_data_reference import FieldDataReference
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of FieldDataReference from a JSON string
+field_data_reference_instance = FieldDataReference.from_json(json)
+# print the JSON string representation of the object
+print FieldDataReference.to_json()
+
+# convert the object into a dict
+field_data_reference_dict = field_data_reference_instance.to_dict()
+# create an instance of FieldDataReference from a dict
+field_data_reference_form_dict = field_data_reference.from_dict(field_data_reference_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/FieldDataResourceApi.md b/python-restclient/docs/FieldDataResourceApi.md
new file mode 100644
index 0000000000..773ae5c8b2
--- /dev/null
+++ b/python-restclient/docs/FieldDataResourceApi.md
@@ -0,0 +1,334 @@
+# vcell_client.FieldDataResourceApi
+
+All URIs are relative to *https://vcell-dev.cam.uchc.edu*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**analyze_field_data_file**](FieldDataResourceApi.md#analyze_field_data_file) | **POST** /api/v1/fieldData/analyzeFieldDataFile | Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+[**create_field_data_from_analyzed_file**](FieldDataResourceApi.md#create_field_data_from_analyzed_file) | **POST** /api/v1/fieldData/createFieldDataFromAnalyzedFile | Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+[**delete_field_data**](FieldDataResourceApi.md#delete_field_data) | **DELETE** /api/v1/fieldData/delete/{fieldDataID} | Delete the selected field data.
+[**get_all_field_data_ids**](FieldDataResourceApi.md#get_all_field_data_ids) | **GET** /api/v1/fieldData/IDs | Get all of the ids used to identify, and retrieve field data.
+[**get_field_data_shape_from_id**](FieldDataResourceApi.md#get_field_data_shape_from_id) | **GET** /api/v1/fieldData/fieldDataShape/{fieldDataID} | Get the shape of the field data. That is it's size, origin, extent, and data identifiers.
+
+
+# **analyze_field_data_file**
+> AnalyzedResultsFromFieldData analyze_field_data_file(file=file, file_name=file_name)
+
+Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+
+### Example
+
+```python
+import time
+import os
+import vcell_client
+from vcell_client.models.analyzed_results_from_field_data import AnalyzedResultsFromFieldData
+from vcell_client.rest import ApiException
+from pprint import pprint
+
+# Defining the host is optional and defaults to https://vcell-dev.cam.uchc.edu
+# See configuration.py for a list of all supported configuration parameters.
+configuration = vcell_client.Configuration(
+ host = "https://vcell-dev.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.FieldDataResourceApi(api_client)
+ file = None # bytearray | (optional)
+ file_name = 'file_name_example' # str | (optional)
+
+ try:
+ # Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+ api_response = api_instance.analyze_field_data_file(file=file, file_name=file_name)
+ print("The response of FieldDataResourceApi->analyze_field_data_file:\n")
+ pprint(api_response)
+ except Exception as e:
+ print("Exception when calling FieldDataResourceApi->analyze_field_data_file: %s\n" % e)
+```
+
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **file** | **bytearray**| | [optional]
+ **file_name** | **str**| | [optional]
+
+### Return type
+
+[**AnalyzedResultsFromFieldData**](AnalyzedResultsFromFieldData.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: multipart/form-data
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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)
+
+# **create_field_data_from_analyzed_file**
+> FieldDataSaveResults create_field_data_from_analyzed_file(analyzed_results_from_field_data=analyzed_results_from_field_data)
+
+Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+
+### Example
+
+```python
+import time
+import os
+import vcell_client
+from vcell_client.models.analyzed_results_from_field_data import AnalyzedResultsFromFieldData
+from vcell_client.models.field_data_save_results import FieldDataSaveResults
+from vcell_client.rest import ApiException
+from pprint import pprint
+
+# Defining the host is optional and defaults to https://vcell-dev.cam.uchc.edu
+# See configuration.py for a list of all supported configuration parameters.
+configuration = vcell_client.Configuration(
+ host = "https://vcell-dev.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.FieldDataResourceApi(api_client)
+ analyzed_results_from_field_data = vcell_client.AnalyzedResultsFromFieldData() # AnalyzedResultsFromFieldData | (optional)
+
+ try:
+ # Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+ api_response = api_instance.create_field_data_from_analyzed_file(analyzed_results_from_field_data=analyzed_results_from_field_data)
+ print("The response of FieldDataResourceApi->create_field_data_from_analyzed_file:\n")
+ pprint(api_response)
+ except Exception as e:
+ print("Exception when calling FieldDataResourceApi->create_field_data_from_analyzed_file: %s\n" % e)
+```
+
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **analyzed_results_from_field_data** | [**AnalyzedResultsFromFieldData**](AnalyzedResultsFromFieldData.md)| | [optional]
+
+### Return type
+
+[**FieldDataSaveResults**](FieldDataSaveResults.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | OK | - |
+
+[[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)
+
+# **delete_field_data**
+> delete_field_data(field_data_id)
+
+Delete the selected field data.
+
+### Example
+
+```python
+import time
+import os
+import vcell_client
+from vcell_client.rest import ApiException
+from pprint import pprint
+
+# Defining the host is optional and defaults to https://vcell-dev.cam.uchc.edu
+# See configuration.py for a list of all supported configuration parameters.
+configuration = vcell_client.Configuration(
+ host = "https://vcell-dev.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.FieldDataResourceApi(api_client)
+ field_data_id = 'field_data_id_example' # str |
+
+ try:
+ # Delete the selected field data.
+ api_instance.delete_field_data(field_data_id)
+ except Exception as e:
+ print("Exception when calling FieldDataResourceApi->delete_field_data: %s\n" % e)
+```
+
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **field_data_id** | **str**| |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: Not defined
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**204** | No Content | - |
+
+[[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_all_field_data_ids**
+> List[FieldDataReference] get_all_field_data_ids()
+
+Get all of the ids used to identify, and retrieve field data.
+
+### Example
+
+```python
+import time
+import os
+import vcell_client
+from vcell_client.models.field_data_reference import FieldDataReference
+from vcell_client.rest import ApiException
+from pprint import pprint
+
+# Defining the host is optional and defaults to https://vcell-dev.cam.uchc.edu
+# See configuration.py for a list of all supported configuration parameters.
+configuration = vcell_client.Configuration(
+ host = "https://vcell-dev.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.FieldDataResourceApi(api_client)
+
+ try:
+ # Get all of the ids used to identify, and retrieve field data.
+ api_response = api_instance.get_all_field_data_ids()
+ print("The response of FieldDataResourceApi->get_all_field_data_ids:\n")
+ pprint(api_response)
+ except Exception as e:
+ print("Exception when calling FieldDataResourceApi->get_all_field_data_ids: %s\n" % e)
+```
+
+
+
+### Parameters
+This endpoint does not need any parameter.
+
+### Return type
+
+[**List[FieldDataReference]**](FieldDataReference.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 | - |
+
+[[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_field_data_shape_from_id**
+> FieldDataShape get_field_data_shape_from_id(field_data_id)
+
+Get the shape of the field data. That is it's size, origin, extent, and data identifiers.
+
+### Example
+
+```python
+import time
+import os
+import vcell_client
+from vcell_client.models.field_data_shape import FieldDataShape
+from vcell_client.rest import ApiException
+from pprint import pprint
+
+# Defining the host is optional and defaults to https://vcell-dev.cam.uchc.edu
+# See configuration.py for a list of all supported configuration parameters.
+configuration = vcell_client.Configuration(
+ host = "https://vcell-dev.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.FieldDataResourceApi(api_client)
+ field_data_id = 'field_data_id_example' # str |
+
+ try:
+ # Get the shape of the field data. That is it's size, origin, extent, and data identifiers.
+ api_response = api_instance.get_field_data_shape_from_id(field_data_id)
+ print("The response of FieldDataResourceApi->get_field_data_shape_from_id:\n")
+ pprint(api_response)
+ except Exception as e:
+ print("Exception when calling FieldDataResourceApi->get_field_data_shape_from_id: %s\n" % e)
+```
+
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **field_data_id** | **str**| |
+
+### Return type
+
+[**FieldDataShape**](FieldDataShape.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 | - |
+
+[[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)
+
diff --git a/python-restclient/docs/FieldDataSaveResults.md b/python-restclient/docs/FieldDataSaveResults.md
new file mode 100644
index 0000000000..1604a73529
--- /dev/null
+++ b/python-restclient/docs/FieldDataSaveResults.md
@@ -0,0 +1,29 @@
+# FieldDataSaveResults
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**field_data_name** | **str** | | [optional]
+**field_data_id** | **str** | | [optional]
+
+## Example
+
+```python
+from vcell_client.models.field_data_save_results import FieldDataSaveResults
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of FieldDataSaveResults from a JSON string
+field_data_save_results_instance = FieldDataSaveResults.from_json(json)
+# print the JSON string representation of the object
+print FieldDataSaveResults.to_json()
+
+# convert the object into a dict
+field_data_save_results_dict = field_data_save_results_instance.to_dict()
+# create an instance of FieldDataSaveResults from a dict
+field_data_save_results_form_dict = field_data_save_results.from_dict(field_data_save_results_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/FieldDataShape.md b/python-restclient/docs/FieldDataShape.md
new file mode 100644
index 0000000000..e02c7c2ed4
--- /dev/null
+++ b/python-restclient/docs/FieldDataShape.md
@@ -0,0 +1,32 @@
+# FieldDataShape
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**extent** | [**Extent**](Extent.md) | | [optional]
+**origin** | [**Origin**](Origin.md) | | [optional]
+**isize** | [**ISize**](ISize.md) | | [optional]
+**data_identifier** | [**List[DataIdentifier]**](DataIdentifier.md) | | [optional]
+**times** | **List[float]** | | [optional]
+
+## Example
+
+```python
+from vcell_client.models.field_data_shape import FieldDataShape
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of FieldDataShape from a JSON string
+field_data_shape_instance = FieldDataShape.from_json(json)
+# print the JSON string representation of the object
+print FieldDataShape.to_json()
+
+# convert the object into a dict
+field_data_shape_dict = field_data_shape_instance.to_dict()
+# create an instance of FieldDataShape from a dict
+field_data_shape_form_dict = field_data_shape.from_dict(field_data_shape_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/MapUser.md b/python-restclient/docs/ISize.md
similarity index 52%
rename from python-restclient/docs/MapUser.md
rename to python-restclient/docs/ISize.md
index 8145afae0b..adca67e859 100644
--- a/python-restclient/docs/MapUser.md
+++ b/python-restclient/docs/ISize.md
@@ -1,28 +1,29 @@
-# MapUser
+# ISize
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**user_id** | **str** | | [optional]
-**password** | **str** | | [optional]
+**x** | **int** | | [optional]
+**y** | **int** | | [optional]
+**z** | **int** | | [optional]
## Example
```python
-from vcell_client.models.map_user import MapUser
+from vcell_client.models.i_size import ISize
# TODO update the JSON string below
json = "{}"
-# create an instance of MapUser from a JSON string
-map_user_instance = MapUser.from_json(json)
+# create an instance of ISize from a JSON string
+i_size_instance = ISize.from_json(json)
# print the JSON string representation of the object
-print MapUser.to_json()
+print ISize.to_json()
# convert the object into a dict
-map_user_dict = map_user_instance.to_dict()
-# create an instance of MapUser from a dict
-map_user_form_dict = map_user.from_dict(map_user_dict)
+i_size_dict = i_size_instance.to_dict()
+# create an instance of ISize from a dict
+i_size_form_dict = i_size.from_dict(i_size_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/Origin.md b/python-restclient/docs/Origin.md
new file mode 100644
index 0000000000..9179fbb34f
--- /dev/null
+++ b/python-restclient/docs/Origin.md
@@ -0,0 +1,30 @@
+# Origin
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**x** | **float** | | [optional]
+**y** | **float** | | [optional]
+**z** | **float** | | [optional]
+
+## Example
+
+```python
+from vcell_client.models.origin import Origin
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of Origin from a JSON string
+origin_instance = Origin.from_json(json)
+# print the JSON string representation of the object
+print Origin.to_json()
+
+# convert the object into a dict
+origin_dict = origin_instance.to_dict()
+# create an instance of Origin from a dict
+origin_form_dict = origin.from_dict(origin_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/OverrideRepresentation.md b/python-restclient/docs/OverrideRepresentation.md
deleted file mode 100644
index 6864eddf9b..0000000000
--- a/python-restclient/docs/OverrideRepresentation.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# OverrideRepresentation
-
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**name** | **str** | | [optional]
-**type** | **str** | | [optional]
-**expression** | **str** | | [optional]
-**values** | **List[str]** | | [optional]
-**cardinality** | **int** | | [optional]
-
-## Example
-
-```python
-from vcell_client.models.override_representation import OverrideRepresentation
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of OverrideRepresentation from a JSON string
-override_representation_instance = OverrideRepresentation.from_json(json)
-# print the JSON string representation of the object
-print OverrideRepresentation.to_json()
-
-# convert the object into a dict
-override_representation_dict = override_representation_instance.to_dict()
-# create an instance of OverrideRepresentation from a dict
-override_representation_form_dict = override_representation.from_dict(override_representation_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/SimulationExecutionStatus.md b/python-restclient/docs/SimulationExecutionStatus.md
deleted file mode 100644
index d664fc0592..0000000000
--- a/python-restclient/docs/SimulationExecutionStatus.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# SimulationExecutionStatus
-
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**field_start_date** | **date** | | [optional]
-**field_latest_update_date** | **date** | | [optional]
-**field_end_date** | **date** | | [optional]
-**field_compute_host** | **str** | | [optional]
-**field_has_data** | **bool** | | [optional]
-**field_htc_job_id** | [**HtcJobID**](HtcJobID.md) | | [optional]
-**compute_host** | **str** | | [optional]
-**end_date** | **date** | | [optional]
-**latest_update_date** | **date** | | [optional]
-**start_date** | **date** | | [optional]
-**htc_job_id** | [**HtcJobID**](HtcJobID.md) | | [optional]
-
-## Example
-
-```python
-from vcell_client.models.simulation_execution_status import SimulationExecutionStatus
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of SimulationExecutionStatus from a JSON string
-simulation_execution_status_instance = SimulationExecutionStatus.from_json(json)
-# print the JSON string representation of the object
-print SimulationExecutionStatus.to_json()
-
-# convert the object into a dict
-simulation_execution_status_dict = simulation_execution_status_instance.to_dict()
-# create an instance of SimulationExecutionStatus from a dict
-simulation_execution_status_form_dict = simulation_execution_status.from_dict(simulation_execution_status_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/SimulationJobStatus.md b/python-restclient/docs/SimulationJobStatus.md
deleted file mode 100644
index 25fa022403..0000000000
--- a/python-restclient/docs/SimulationJobStatus.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# SimulationJobStatus
-
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**field_time_date_stamp** | **date** | | [optional]
-**field_vc_sim_id** | [**VCSimulationIdentifier**](VCSimulationIdentifier.md) | | [optional]
-**field_submit_date** | **date** | | [optional]
-**field_scheduler_status** | [**SchedulerStatus**](SchedulerStatus.md) | | [optional]
-**field_task_id** | **int** | | [optional]
-**field_simulation_message** | [**SimulationMessage**](SimulationMessage.md) | | [optional]
-**field_server_id** | [**VCellServerID**](VCellServerID.md) | | [optional]
-**field_job_index** | **int** | | [optional]
-**field_simulation_queue_entry_status** | [**SimulationQueueEntryStatus**](SimulationQueueEntryStatus.md) | | [optional]
-**field_simulation_execution_status** | [**SimulationExecutionStatus**](SimulationExecutionStatus.md) | | [optional]
-**compute_host** | **str** | | [optional]
-**end_date** | **date** | | [optional]
-**job_index** | **int** | | [optional]
-**scheduler_status** | [**SchedulerStatus**](SchedulerStatus.md) | | [optional]
-**server_id** | [**VCellServerID**](VCellServerID.md) | | [optional]
-**simulation_execution_status** | [**SimulationExecutionStatus**](SimulationExecutionStatus.md) | | [optional]
-**simulation_queue_entry_status** | [**SimulationQueueEntryStatus**](SimulationQueueEntryStatus.md) | | [optional]
-**start_date** | **date** | | [optional]
-**simulation_message** | [**SimulationMessage**](SimulationMessage.md) | | [optional]
-**submit_date** | **date** | | [optional]
-**task_id** | **int** | | [optional]
-**time_date_stamp** | **date** | | [optional]
-**v_c_simulation_identifier** | [**VCSimulationIdentifier**](VCSimulationIdentifier.md) | | [optional]
-
-## Example
-
-```python
-from vcell_client.models.simulation_job_status import SimulationJobStatus
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of SimulationJobStatus from a JSON string
-simulation_job_status_instance = SimulationJobStatus.from_json(json)
-# print the JSON string representation of the object
-print SimulationJobStatus.to_json()
-
-# convert the object into a dict
-simulation_job_status_dict = simulation_job_status_instance.to_dict()
-# create an instance of SimulationJobStatus from a dict
-simulation_job_status_form_dict = simulation_job_status.from_dict(simulation_job_status_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/SimulationQueueEntryStatus.md b/python-restclient/docs/SimulationQueueEntryStatus.md
deleted file mode 100644
index 28b15d948e..0000000000
--- a/python-restclient/docs/SimulationQueueEntryStatus.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# SimulationQueueEntryStatus
-
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**field_queue_priority** | **int** | | [optional]
-**field_queue_date** | **date** | | [optional]
-**field_queue_id** | [**SimulationQueueID**](SimulationQueueID.md) | | [optional]
-**queue_date** | **date** | | [optional]
-**queue_id** | [**SimulationQueueID**](SimulationQueueID.md) | | [optional]
-**queue_priority** | **int** | | [optional]
-
-## Example
-
-```python
-from vcell_client.models.simulation_queue_entry_status import SimulationQueueEntryStatus
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of SimulationQueueEntryStatus from a JSON string
-simulation_queue_entry_status_instance = SimulationQueueEntryStatus.from_json(json)
-# print the JSON string representation of the object
-print SimulationQueueEntryStatus.to_json()
-
-# convert the object into a dict
-simulation_queue_entry_status_dict = simulation_queue_entry_status_instance.to_dict()
-# create an instance of SimulationQueueEntryStatus from a dict
-simulation_queue_entry_status_form_dict = simulation_queue_entry_status.from_dict(simulation_queue_entry_status_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/User.md b/python-restclient/docs/User.md
index c08eb10e92..4cdbaa42b6 100644
--- a/python-restclient/docs/User.md
+++ b/python-restclient/docs/User.md
@@ -6,7 +6,6 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**user_name** | **str** | | [optional]
**key** | [**KeyValue**](KeyValue.md) | | [optional]
-**i_d** | [**KeyValue**](KeyValue.md) | | [optional]
**name** | **str** | | [optional]
**test_account** | **bool** | | [optional]
diff --git a/python-restclient/docs/User1.md b/python-restclient/docs/User1.md
deleted file mode 100644
index 6645ab4fe7..0000000000
--- a/python-restclient/docs/User1.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# User1
-
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**user_name** | **str** | | [optional]
-**key** | [**KeyValue**](KeyValue.md) | | [optional]
-**i_d** | [**KeyValue**](KeyValue.md) | | [optional]
-**name** | **str** | | [optional]
-**publisher** | **bool** | | [optional]
-**test_account** | **bool** | | [optional]
-
-## Example
-
-```python
-from vcell_client.models.user1 import User1
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of User1 from a JSON string
-user1_instance = User1.from_json(json)
-# print the JSON string representation of the object
-print User1.to_json()
-
-# convert the object into a dict
-user1_dict = user1_instance.to_dict()
-# create an instance of User1 from a dict
-user1_form_dict = user1.from_dict(user1_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/UserIdentity.md b/python-restclient/docs/UserIdentity.md
deleted file mode 100644
index 067b0609ba..0000000000
--- a/python-restclient/docs/UserIdentity.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# UserIdentity
-
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**id** | **float** | | [optional]
-**user_name** | **str** | | [optional]
-**subject** | **str** | | [optional]
-**insert_date** | **datetime** | | [optional]
-
-## Example
-
-```python
-from vcell_client.models.user_identity import UserIdentity
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of UserIdentity from a JSON string
-user_identity_instance = UserIdentity.from_json(json)
-# print the JSON string representation of the object
-print UserIdentity.to_json()
-
-# convert the object into a dict
-user_identity_dict = user_identity_instance.to_dict()
-# create an instance of UserIdentity from a dict
-user_identity_form_dict = user_identity.from_dict(user_identity_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/UsersResourceApi.md b/python-restclient/docs/UsersResourceApi.md
index e327c19035..4260e1d68a 100644
--- a/python-restclient/docs/UsersResourceApi.md
+++ b/python-restclient/docs/UsersResourceApi.md
@@ -611,8 +611,8 @@ void (empty response body)
|-------------|-------------|------------------|
**200** | magic link sent in email if appropriate | - |
**400** | unable to process request | - |
-**403** | Not Allowed | - |
**401** | Not Authorized | - |
+**403** | Not Allowed | - |
[[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)
diff --git a/python-restclient/docs/VCellServerID.md b/python-restclient/docs/VCellServerID.md
deleted file mode 100644
index c1c3d8636d..0000000000
--- a/python-restclient/docs/VCellServerID.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# VCellServerID
-
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**server_id** | **str** | | [optional]
-
-## Example
-
-```python
-from vcell_client.models.v_cell_server_id import VCellServerID
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of VCellServerID from a JSON string
-v_cell_server_id_instance = VCellServerID.from_json(json)
-# print the JSON string representation of the object
-print VCellServerID.to_json()
-
-# convert the object into a dict
-v_cell_server_id_dict = v_cell_server_id_instance.to_dict()
-# create an instance of VCellServerID from a dict
-v_cell_server_id_form_dict = v_cell_server_id.from_dict(v_cell_server_id_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/IdentityProvider.md b/python-restclient/docs/VariableDomain.md
similarity index 93%
rename from python-restclient/docs/IdentityProvider.md
rename to python-restclient/docs/VariableDomain.md
index 15580c3542..1d41048812 100644
--- a/python-restclient/docs/IdentityProvider.md
+++ b/python-restclient/docs/VariableDomain.md
@@ -1,4 +1,4 @@
-# IdentityProvider
+# VariableDomain
## Properties
diff --git a/python-restclient/docs/VariableType.md b/python-restclient/docs/VariableType.md
new file mode 100644
index 0000000000..eea17d04c2
--- /dev/null
+++ b/python-restclient/docs/VariableType.md
@@ -0,0 +1,36 @@
+# VariableType
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**type** | **int** | | [optional]
+**variable_domain** | [**VariableDomain**](VariableDomain.md) | | [optional]
+**name** | **str** | | [optional]
+**units** | **str** | | [optional]
+**label** | **str** | | [optional]
+**legacy_warn** | **bool** | | [optional]
+**default_label** | **str** | | [optional]
+**default_units** | **str** | | [optional]
+**type_name** | **str** | | [optional]
+
+## Example
+
+```python
+from vcell_client.models.variable_type import VariableType
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of VariableType from a JSON string
+variable_type_instance = VariableType.from_json(json)
+# print the JSON string representation of the object
+print VariableType.to_json()
+
+# convert the object into a dict
+variable_type_dict = variable_type_instance.to_dict()
+# create an instance of VariableType from a dict
+variable_type_form_dict = variable_type.from_dict(variable_type_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/examples/FieldDataScratch.py b/python-restclient/examples/FieldDataScratch.py
new file mode 100644
index 0000000000..308fb02d38
--- /dev/null
+++ b/python-restclient/examples/FieldDataScratch.py
@@ -0,0 +1,39 @@
+from vcell_client.auth.auth_utils import login_interactive
+from vcell_client.api.field_data_resource_api import FieldDataResourceApi
+
+#################
+# Create Client #
+#################
+
+api_url = "https://minikube.island" # local vcell-rest service - use `quarkus dev` in vcell-rest folder to start
+# api_url = "http://localhost:9000"
+api_client = login_interactive(api_base_url=api_url, insecure=True)
+field_data_api = FieldDataResourceApi(api_client=api_client)
+
+##########################
+# Get Current Field Data #
+##########################
+ids = field_data_api.get_all_field_data_ids()
+oldLenOfIDs = len(ids)
+
+# #####################
+# # Create Field Data #
+# #####################
+analyzed = field_data_api.analyze_field_data_file("/Users/evalencia/Downloads/file_example_TIFF_1MB.tiff", "test_file2")
+results = field_data_api.create_field_data_from_analyzed_file(analyzed)
+
+################################
+# Retrieve Shape of Field Data #
+################################
+fd_shape = field_data_api.get_field_data_shape_from_id(results.field_data_id)
+print(fd_shape)
+
+#####################
+# Delete Field Data #
+#####################
+ids = field_data_api.get_all_field_data_ids()
+assert len(ids) == oldLenOfIDs + 1
+field_data_api.delete_field_data(results.field_data_id)
+ids = field_data_api.get_all_field_data_ids()
+assert len(ids) == oldLenOfIDs
+
diff --git a/python-restclient/examples/__init__.py b/python-restclient/examples/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/python-restclient/example_latest.ipynb b/python-restclient/examples/example_latest.ipynb
similarity index 100%
rename from python-restclient/example_latest.ipynb
rename to python-restclient/examples/example_latest.ipynb
diff --git a/python-restclient/scratch.py b/python-restclient/examples/scratch.py
similarity index 100%
rename from python-restclient/scratch.py
rename to python-restclient/examples/scratch.py
diff --git a/python-restclient/poetry.lock b/python-restclient/poetry.lock
index 10bfaeb215..57d083f018 100644
--- a/python-restclient/poetry.lock
+++ b/python-restclient/poetry.lock
@@ -1,37 +1,37 @@
-# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand.
[[package]]
name = "annotated-types"
-version = "0.6.0"
+version = "0.7.0"
description = "Reusable constraint types to use with typing.Annotated"
optional = false
python-versions = ">=3.8"
files = [
- {file = "annotated_types-0.6.0-py3-none-any.whl", hash = "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43"},
- {file = "annotated_types-0.6.0.tar.gz", hash = "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"},
+ {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"},
+ {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"},
]
[[package]]
name = "anyio"
-version = "4.3.0"
+version = "4.7.0"
description = "High level compatibility layer for multiple asynchronous event loop implementations"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "anyio-4.3.0-py3-none-any.whl", hash = "sha256:048e05d0f6caeed70d731f3db756d35dcc1f35747c8c403364a8332c630441b8"},
- {file = "anyio-4.3.0.tar.gz", hash = "sha256:f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6"},
+ {file = "anyio-4.7.0-py3-none-any.whl", hash = "sha256:ea60c3723ab42ba6fff7e8ccb0488c898ec538ff4df1f1d5e642c3601d07e352"},
+ {file = "anyio-4.7.0.tar.gz", hash = "sha256:2f834749c602966b7d456a7567cafcb309f96482b5081d14ac93ccd457f9dd48"},
]
[package.dependencies]
exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""}
idna = ">=2.8"
sniffio = ">=1.1"
-typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""}
+typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""}
[package.extras]
-doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"]
-test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"]
-trio = ["trio (>=0.23)"]
+doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"]
+test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21)"]
+trio = ["trio (>=0.26.1)"]
[[package]]
name = "appnope"
@@ -122,21 +122,18 @@ test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock
[[package]]
name = "asttokens"
-version = "2.4.1"
+version = "3.0.0"
description = "Annotate AST trees with source code positions"
optional = false
-python-versions = "*"
+python-versions = ">=3.8"
files = [
- {file = "asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24"},
- {file = "asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"},
+ {file = "asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2"},
+ {file = "asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7"},
]
-[package.dependencies]
-six = ">=1.12.0"
-
[package.extras]
-astroid = ["astroid (>=1,<2)", "astroid (>=2,<4)"]
-test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"]
+astroid = ["astroid (>=2,<4)"]
+test = ["astroid (>=2,<4)", "pytest", "pytest-cov", "pytest-xdist"]
[[package]]
name = "async-lru"
@@ -154,32 +151,32 @@ typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""}
[[package]]
name = "attrs"
-version = "23.2.0"
+version = "24.3.0"
description = "Classes Without Boilerplate"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"},
- {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"},
+ {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"},
+ {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"},
]
[package.extras]
-cov = ["attrs[tests]", "coverage[toml] (>=5.3)"]
-dev = ["attrs[tests]", "pre-commit"]
-docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"]
-tests = ["attrs[tests-no-zope]", "zope-interface"]
-tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"]
-tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"]
+benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
+cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
+dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
+docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"]
+tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
+tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"]
[[package]]
name = "babel"
-version = "2.14.0"
+version = "2.16.0"
description = "Internationalization utilities"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"},
- {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"},
+ {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"},
+ {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"},
]
[package.extras]
@@ -222,103 +219,118 @@ typing-extensions = ">=4.3.0"
[[package]]
name = "bleach"
-version = "6.1.0"
+version = "6.2.0"
description = "An easy safelist-based HTML-sanitizing tool."
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6"},
- {file = "bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe"},
+ {file = "bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e"},
+ {file = "bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f"},
]
[package.dependencies]
-six = ">=1.9.0"
+tinycss2 = {version = ">=1.1.0,<1.5", optional = true, markers = "extra == \"css\""}
webencodings = "*"
[package.extras]
-css = ["tinycss2 (>=1.1.0,<1.3)"]
+css = ["tinycss2 (>=1.1.0,<1.5)"]
[[package]]
name = "cachetools"
-version = "5.3.3"
+version = "5.5.0"
description = "Extensible memoizing collections and decorators"
optional = false
python-versions = ">=3.7"
files = [
- {file = "cachetools-5.3.3-py3-none-any.whl", hash = "sha256:0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945"},
- {file = "cachetools-5.3.3.tar.gz", hash = "sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105"},
+ {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"},
+ {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"},
]
[[package]]
name = "certifi"
-version = "2024.2.2"
+version = "2024.12.14"
description = "Python package for providing Mozilla's CA Bundle."
optional = false
python-versions = ">=3.6"
files = [
- {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"},
- {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"},
+ {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"},
+ {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"},
]
[[package]]
name = "cffi"
-version = "1.16.0"
+version = "1.17.1"
description = "Foreign Function Interface for Python calling C code."
optional = false
python-versions = ">=3.8"
files = [
- {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"},
- {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"},
- {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"},
- {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"},
- {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"},
- {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"},
- {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"},
- {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"},
- {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"},
- {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"},
- {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"},
- {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"},
- {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"},
- {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"},
- {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"},
- {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"},
- {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"},
- {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"},
- {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"},
- {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"},
- {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"},
- {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"},
- {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"},
- {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"},
- {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"},
- {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"},
- {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"},
- {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"},
- {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"},
- {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"},
- {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"},
- {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"},
- {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"},
- {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"},
- {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"},
- {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"},
- {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"},
- {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"},
- {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"},
- {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"},
- {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"},
- {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"},
- {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"},
- {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"},
- {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"},
- {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"},
- {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"},
- {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"},
- {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"},
- {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"},
- {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"},
- {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"},
+ {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"},
+ {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"},
+ {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"},
+ {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"},
+ {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"},
+ {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"},
+ {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"},
+ {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"},
+ {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"},
+ {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"},
+ {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"},
+ {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"},
+ {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"},
+ {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"},
+ {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"},
+ {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"},
+ {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"},
+ {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"},
+ {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"},
+ {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"},
+ {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"},
+ {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"},
+ {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"},
+ {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"},
+ {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"},
+ {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"},
+ {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"},
+ {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"},
+ {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"},
+ {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"},
+ {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"},
+ {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"},
+ {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"},
+ {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"},
+ {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"},
+ {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"},
+ {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"},
+ {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"},
+ {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"},
+ {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"},
+ {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"},
+ {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"},
+ {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"},
+ {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"},
+ {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"},
+ {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"},
+ {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"},
+ {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"},
+ {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"},
+ {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"},
+ {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"},
+ {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"},
+ {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"},
+ {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"},
+ {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"},
+ {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"},
+ {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"},
+ {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"},
+ {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"},
+ {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"},
+ {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"},
+ {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"},
+ {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"},
+ {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"},
+ {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"},
+ {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"},
+ {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"},
]
[package.dependencies]
@@ -337,101 +349,103 @@ files = [
[[package]]
name = "charset-normalizer"
-version = "3.3.2"
+version = "3.4.1"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
optional = false
-python-versions = ">=3.7.0"
+python-versions = ">=3.7"
files = [
- {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"},
- {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"},
+ {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"},
+ {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"},
+ {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"},
+ {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"},
+ {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"},
+ {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"},
+ {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"},
+ {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"},
+ {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"},
+ {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"},
+ {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"},
+ {file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"},
+ {file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"},
+ {file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"},
+ {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"},
+ {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"},
+ {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"},
+ {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"},
+ {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"},
+ {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"},
+ {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"},
+ {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"},
+ {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"},
+ {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"},
+ {file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"},
+ {file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"},
+ {file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"},
+ {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"},
+ {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"},
+ {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"},
+ {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"},
+ {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"},
+ {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"},
+ {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"},
+ {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"},
+ {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"},
+ {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"},
+ {file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"},
+ {file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"},
+ {file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"},
+ {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"},
+ {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"},
+ {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"},
+ {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"},
+ {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"},
+ {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"},
+ {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"},
+ {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"},
+ {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"},
+ {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"},
+ {file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"},
+ {file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"},
+ {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"},
+ {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"},
+ {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"},
+ {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"},
+ {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"},
+ {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"},
+ {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"},
+ {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"},
+ {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"},
+ {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"},
+ {file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"},
+ {file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"},
+ {file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"},
+ {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"},
+ {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"},
+ {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"},
+ {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"},
+ {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"},
+ {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"},
+ {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"},
+ {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"},
+ {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"},
+ {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"},
+ {file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"},
+ {file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"},
+ {file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"},
+ {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"},
+ {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"},
+ {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"},
+ {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"},
+ {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"},
+ {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"},
+ {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"},
+ {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"},
+ {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"},
+ {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"},
+ {file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"},
+ {file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"},
+ {file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"},
+ {file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"},
]
[[package]]
@@ -464,87 +478,86 @@ test = ["pytest"]
[[package]]
name = "cryptography"
-version = "42.0.5"
+version = "44.0.0"
description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
optional = false
-python-versions = ">=3.7"
-files = [
- {file = "cryptography-42.0.5-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:a30596bae9403a342c978fb47d9b0ee277699fa53bbafad14706af51fe543d16"},
- {file = "cryptography-42.0.5-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:b7ffe927ee6531c78f81aa17e684e2ff617daeba7f189f911065b2ea2d526dec"},
- {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2424ff4c4ac7f6b8177b53c17ed5d8fa74ae5955656867f5a8affaca36a27abb"},
- {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:329906dcc7b20ff3cad13c069a78124ed8247adcac44b10bea1130e36caae0b4"},
- {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:b03c2ae5d2f0fc05f9a2c0c997e1bc18c8229f392234e8a0194f202169ccd278"},
- {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f8837fe1d6ac4a8052a9a8ddab256bc006242696f03368a4009be7ee3075cdb7"},
- {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:0270572b8bd2c833c3981724b8ee9747b3ec96f699a9665470018594301439ee"},
- {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:b8cac287fafc4ad485b8a9b67d0ee80c66bf3574f655d3b97ef2e1082360faf1"},
- {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:16a48c23a62a2f4a285699dba2e4ff2d1cff3115b9df052cdd976a18856d8e3d"},
- {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2bce03af1ce5a5567ab89bd90d11e7bbdff56b8af3acbbec1faded8f44cb06da"},
- {file = "cryptography-42.0.5-cp37-abi3-win32.whl", hash = "sha256:b6cd2203306b63e41acdf39aa93b86fb566049aeb6dc489b70e34bcd07adca74"},
- {file = "cryptography-42.0.5-cp37-abi3-win_amd64.whl", hash = "sha256:98d8dc6d012b82287f2c3d26ce1d2dd130ec200c8679b6213b3c73c08b2b7940"},
- {file = "cryptography-42.0.5-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:5e6275c09d2badf57aea3afa80d975444f4be8d3bc58f7f80d2a484c6f9485c8"},
- {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4985a790f921508f36f81831817cbc03b102d643b5fcb81cd33df3fa291a1a1"},
- {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cde5f38e614f55e28d831754e8a3bacf9ace5d1566235e39d91b35502d6936e"},
- {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7367d7b2eca6513681127ebad53b2582911d1736dc2ffc19f2c3ae49997496bc"},
- {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:cd2030f6650c089aeb304cf093f3244d34745ce0cfcc39f20c6fbfe030102e2a"},
- {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a2913c5375154b6ef2e91c10b5720ea6e21007412f6437504ffea2109b5a33d7"},
- {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:c41fb5e6a5fe9ebcd58ca3abfeb51dffb5d83d6775405305bfa8715b76521922"},
- {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3eaafe47ec0d0ffcc9349e1708be2aaea4c6dd4978d76bf6eb0cb2c13636c6fc"},
- {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1b95b98b0d2af784078fa69f637135e3c317091b615cd0905f8b8a087e86fa30"},
- {file = "cryptography-42.0.5-cp39-abi3-win32.whl", hash = "sha256:1f71c10d1e88467126f0efd484bd44bca5e14c664ec2ede64c32f20875c0d413"},
- {file = "cryptography-42.0.5-cp39-abi3-win_amd64.whl", hash = "sha256:a011a644f6d7d03736214d38832e030d8268bcff4a41f728e6030325fea3e400"},
- {file = "cryptography-42.0.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:9481ffe3cf013b71b2428b905c4f7a9a4f76ec03065b05ff499bb5682a8d9ad8"},
- {file = "cryptography-42.0.5-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:ba334e6e4b1d92442b75ddacc615c5476d4ad55cc29b15d590cc6b86efa487e2"},
- {file = "cryptography-42.0.5-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ba3e4a42397c25b7ff88cdec6e2a16c2be18720f317506ee25210f6d31925f9c"},
- {file = "cryptography-42.0.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:111a0d8553afcf8eb02a4fea6ca4f59d48ddb34497aa8706a6cf536f1a5ec576"},
- {file = "cryptography-42.0.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cd65d75953847815962c84a4654a84850b2bb4aed3f26fadcc1c13892e1e29f6"},
- {file = "cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:e807b3188f9eb0eaa7bbb579b462c5ace579f1cedb28107ce8b48a9f7ad3679e"},
- {file = "cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f12764b8fffc7a123f641d7d049d382b73f96a34117e0b637b80643169cec8ac"},
- {file = "cryptography-42.0.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:37dd623507659e08be98eec89323469e8c7b4c1407c85112634ae3dbdb926fdd"},
- {file = "cryptography-42.0.5.tar.gz", hash = "sha256:6fe07eec95dfd477eb9530aef5bead34fec819b3aaf6c5bd6d20565da607bfe1"},
+python-versions = "!=3.9.0,!=3.9.1,>=3.7"
+files = [
+ {file = "cryptography-44.0.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:84111ad4ff3f6253820e6d3e58be2cc2a00adb29335d4cacb5ab4d4d34f2a123"},
+ {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15492a11f9e1b62ba9d73c210e2416724633167de94607ec6069ef724fad092"},
+ {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831c3c4d0774e488fdc83a1923b49b9957d33287de923d58ebd3cec47a0ae43f"},
+ {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:761817a3377ef15ac23cd7834715081791d4ec77f9297ee694ca1ee9c2c7e5eb"},
+ {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3c672a53c0fb4725a29c303be906d3c1fa99c32f58abe008a82705f9ee96f40b"},
+ {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4ac4c9f37eba52cb6fbeaf5b59c152ea976726b865bd4cf87883a7e7006cc543"},
+ {file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ed3534eb1090483c96178fcb0f8893719d96d5274dfde98aa6add34614e97c8e"},
+ {file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f3f6fdfa89ee2d9d496e2c087cebef9d4fcbb0ad63c40e821b39f74bf48d9c5e"},
+ {file = "cryptography-44.0.0-cp37-abi3-win32.whl", hash = "sha256:eb33480f1bad5b78233b0ad3e1b0be21e8ef1da745d8d2aecbb20671658b9053"},
+ {file = "cryptography-44.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:abc998e0c0eee3c8a1904221d3f67dcfa76422b23620173e28c11d3e626c21bd"},
+ {file = "cryptography-44.0.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:660cb7312a08bc38be15b696462fa7cc7cd85c3ed9c576e81f4dc4d8b2b31591"},
+ {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1923cb251c04be85eec9fda837661c67c1049063305d6be5721643c22dd4e2b7"},
+ {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:404fdc66ee5f83a1388be54300ae978b2efd538018de18556dde92575e05defc"},
+ {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:c5eb858beed7835e5ad1faba59e865109f3e52b3783b9ac21e7e47dc5554e289"},
+ {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f53c2c87e0fb4b0c00fa9571082a057e37690a8f12233306161c8f4b819960b7"},
+ {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:9e6fc8a08e116fb7c7dd1f040074c9d7b51d74a8ea40d4df2fc7aa08b76b9e6c"},
+ {file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2436114e46b36d00f8b72ff57e598978b37399d2786fd39793c36c6d5cb1c64"},
+ {file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a01956ddfa0a6790d594f5b34fc1bfa6098aca434696a03cfdbe469b8ed79285"},
+ {file = "cryptography-44.0.0-cp39-abi3-win32.whl", hash = "sha256:eca27345e1214d1b9f9490d200f9db5a874479be914199194e746c893788d417"},
+ {file = "cryptography-44.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:708ee5f1bafe76d041b53a4f95eb28cdeb8d18da17e597d46d7833ee59b97ede"},
+ {file = "cryptography-44.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:37d76e6863da3774cd9db5b409a9ecfd2c71c981c38788d3fcfaf177f447b731"},
+ {file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:f677e1268c4e23420c3acade68fac427fffcb8d19d7df95ed7ad17cdef8404f4"},
+ {file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f5e7cb1e5e56ca0933b4873c0220a78b773b24d40d186b6738080b73d3d0a756"},
+ {file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:8b3e6eae66cf54701ee7d9c83c30ac0a1e3fa17be486033000f2a73a12ab507c"},
+ {file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:be4ce505894d15d5c5037167ffb7f0ae90b7be6f2a98f9a5c3442395501c32fa"},
+ {file = "cryptography-44.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:62901fb618f74d7d81bf408c8719e9ec14d863086efe4185afd07c352aee1d2c"},
+ {file = "cryptography-44.0.0.tar.gz", hash = "sha256:cd4e834f340b4293430701e772ec543b0fbe6c2dea510a5286fe0acabe153a02"},
]
[package.dependencies]
cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""}
[package.extras]
-docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"]
-docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling (>=4.0.1)"]
-nox = ["nox"]
-pep8test = ["check-sdist", "click", "mypy", "ruff"]
-sdist = ["build"]
+docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=3.0.0)"]
+docstest = ["pyenchant (>=3)", "readme-renderer (>=30.0)", "sphinxcontrib-spelling (>=7.3.1)"]
+nox = ["nox (>=2024.4.15)", "nox[uv] (>=2024.3.2)"]
+pep8test = ["check-sdist", "click (>=8.0.1)", "mypy (>=1.4)", "ruff (>=0.3.6)"]
+sdist = ["build (>=1.0.0)"]
ssh = ["bcrypt (>=3.1.5)"]
-test = ["certifi", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"]
+test = ["certifi (>=2024)", "cryptography-vectors (==44.0.0)", "pretend (>=0.7)", "pytest (>=7.4.0)", "pytest-benchmark (>=4.0)", "pytest-cov (>=2.10.1)", "pytest-xdist (>=3.5.0)"]
test-randomorder = ["pytest-randomly"]
[[package]]
name = "debugpy"
-version = "1.8.1"
+version = "1.8.11"
description = "An implementation of the Debug Adapter Protocol for Python"
optional = false
python-versions = ">=3.8"
files = [
- {file = "debugpy-1.8.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:3bda0f1e943d386cc7a0e71bfa59f4137909e2ed947fb3946c506e113000f741"},
- {file = "debugpy-1.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dda73bf69ea479c8577a0448f8c707691152e6c4de7f0c4dec5a4bc11dee516e"},
- {file = "debugpy-1.8.1-cp310-cp310-win32.whl", hash = "sha256:3a79c6f62adef994b2dbe9fc2cc9cc3864a23575b6e387339ab739873bea53d0"},
- {file = "debugpy-1.8.1-cp310-cp310-win_amd64.whl", hash = "sha256:7eb7bd2b56ea3bedb009616d9e2f64aab8fc7000d481faec3cd26c98a964bcdd"},
- {file = "debugpy-1.8.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:016a9fcfc2c6b57f939673c874310d8581d51a0fe0858e7fac4e240c5eb743cb"},
- {file = "debugpy-1.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd97ed11a4c7f6d042d320ce03d83b20c3fb40da892f994bc041bbc415d7a099"},
- {file = "debugpy-1.8.1-cp311-cp311-win32.whl", hash = "sha256:0de56aba8249c28a300bdb0672a9b94785074eb82eb672db66c8144fff673146"},
- {file = "debugpy-1.8.1-cp311-cp311-win_amd64.whl", hash = "sha256:1a9fe0829c2b854757b4fd0a338d93bc17249a3bf69ecf765c61d4c522bb92a8"},
- {file = "debugpy-1.8.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3ebb70ba1a6524d19fa7bb122f44b74170c447d5746a503e36adc244a20ac539"},
- {file = "debugpy-1.8.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2e658a9630f27534e63922ebf655a6ab60c370f4d2fc5c02a5b19baf4410ace"},
- {file = "debugpy-1.8.1-cp312-cp312-win32.whl", hash = "sha256:caad2846e21188797a1f17fc09c31b84c7c3c23baf2516fed5b40b378515bbf0"},
- {file = "debugpy-1.8.1-cp312-cp312-win_amd64.whl", hash = "sha256:edcc9f58ec0fd121a25bc950d4578df47428d72e1a0d66c07403b04eb93bcf98"},
- {file = "debugpy-1.8.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:7a3afa222f6fd3d9dfecd52729bc2e12c93e22a7491405a0ecbf9e1d32d45b39"},
- {file = "debugpy-1.8.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d915a18f0597ef685e88bb35e5d7ab968964b7befefe1aaea1eb5b2640b586c7"},
- {file = "debugpy-1.8.1-cp38-cp38-win32.whl", hash = "sha256:92116039b5500633cc8d44ecc187abe2dfa9b90f7a82bbf81d079fcdd506bae9"},
- {file = "debugpy-1.8.1-cp38-cp38-win_amd64.whl", hash = "sha256:e38beb7992b5afd9d5244e96ad5fa9135e94993b0c551ceebf3fe1a5d9beb234"},
- {file = "debugpy-1.8.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:bfb20cb57486c8e4793d41996652e5a6a885b4d9175dd369045dad59eaacea42"},
- {file = "debugpy-1.8.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efd3fdd3f67a7e576dd869c184c5dd71d9aaa36ded271939da352880c012e703"},
- {file = "debugpy-1.8.1-cp39-cp39-win32.whl", hash = "sha256:58911e8521ca0c785ac7a0539f1e77e0ce2df753f786188f382229278b4cdf23"},
- {file = "debugpy-1.8.1-cp39-cp39-win_amd64.whl", hash = "sha256:6df9aa9599eb05ca179fb0b810282255202a66835c6efb1d112d21ecb830ddd3"},
- {file = "debugpy-1.8.1-py2.py3-none-any.whl", hash = "sha256:28acbe2241222b87e255260c76741e1fbf04fdc3b6d094fcf57b6c6f75ce1242"},
- {file = "debugpy-1.8.1.zip", hash = "sha256:f696d6be15be87aef621917585f9bb94b1dc9e8aced570db1b8a6fc14e8f9b42"},
+ {file = "debugpy-1.8.11-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:2b26fefc4e31ff85593d68b9022e35e8925714a10ab4858fb1b577a8a48cb8cd"},
+ {file = "debugpy-1.8.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61bc8b3b265e6949855300e84dc93d02d7a3a637f2aec6d382afd4ceb9120c9f"},
+ {file = "debugpy-1.8.11-cp310-cp310-win32.whl", hash = "sha256:c928bbf47f65288574b78518449edaa46c82572d340e2750889bbf8cd92f3737"},
+ {file = "debugpy-1.8.11-cp310-cp310-win_amd64.whl", hash = "sha256:8da1db4ca4f22583e834dcabdc7832e56fe16275253ee53ba66627b86e304da1"},
+ {file = "debugpy-1.8.11-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:85de8474ad53ad546ff1c7c7c89230db215b9b8a02754d41cb5a76f70d0be296"},
+ {file = "debugpy-1.8.11-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ffc382e4afa4aee367bf413f55ed17bd91b191dcaf979890af239dda435f2a1"},
+ {file = "debugpy-1.8.11-cp311-cp311-win32.whl", hash = "sha256:40499a9979c55f72f4eb2fc38695419546b62594f8af194b879d2a18439c97a9"},
+ {file = "debugpy-1.8.11-cp311-cp311-win_amd64.whl", hash = "sha256:987bce16e86efa86f747d5151c54e91b3c1e36acc03ce1ddb50f9d09d16ded0e"},
+ {file = "debugpy-1.8.11-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:84e511a7545d11683d32cdb8f809ef63fc17ea2a00455cc62d0a4dbb4ed1c308"},
+ {file = "debugpy-1.8.11-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce291a5aca4985d82875d6779f61375e959208cdf09fcec40001e65fb0a54768"},
+ {file = "debugpy-1.8.11-cp312-cp312-win32.whl", hash = "sha256:28e45b3f827d3bf2592f3cf7ae63282e859f3259db44ed2b129093ca0ac7940b"},
+ {file = "debugpy-1.8.11-cp312-cp312-win_amd64.whl", hash = "sha256:44b1b8e6253bceada11f714acf4309ffb98bfa9ac55e4fce14f9e5d4484287a1"},
+ {file = "debugpy-1.8.11-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:8988f7163e4381b0da7696f37eec7aca19deb02e500245df68a7159739bbd0d3"},
+ {file = "debugpy-1.8.11-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c1f6a173d1140e557347419767d2b14ac1c9cd847e0b4c5444c7f3144697e4e"},
+ {file = "debugpy-1.8.11-cp313-cp313-win32.whl", hash = "sha256:bb3b15e25891f38da3ca0740271e63ab9db61f41d4d8541745cfc1824252cb28"},
+ {file = "debugpy-1.8.11-cp313-cp313-win_amd64.whl", hash = "sha256:d8768edcbeb34da9e11bcb8b5c2e0958d25218df7a6e56adf415ef262cd7b6d1"},
+ {file = "debugpy-1.8.11-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:ad7efe588c8f5cf940f40c3de0cd683cc5b76819446abaa50dc0829a30c094db"},
+ {file = "debugpy-1.8.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:189058d03a40103a57144752652b3ab08ff02b7595d0ce1f651b9acc3a3a35a0"},
+ {file = "debugpy-1.8.11-cp38-cp38-win32.whl", hash = "sha256:32db46ba45849daed7ccf3f2e26f7a386867b077f39b2a974bb5c4c2c3b0a280"},
+ {file = "debugpy-1.8.11-cp38-cp38-win_amd64.whl", hash = "sha256:116bf8342062246ca749013df4f6ea106f23bc159305843491f64672a55af2e5"},
+ {file = "debugpy-1.8.11-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:654130ca6ad5de73d978057eaf9e582244ff72d4574b3e106fb8d3d2a0d32458"},
+ {file = "debugpy-1.8.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23dc34c5e03b0212fa3c49a874df2b8b1b8fda95160bd79c01eb3ab51ea8d851"},
+ {file = "debugpy-1.8.11-cp39-cp39-win32.whl", hash = "sha256:52d8a3166c9f2815bfae05f386114b0b2d274456980d41f320299a8d9a5615a7"},
+ {file = "debugpy-1.8.11-cp39-cp39-win_amd64.whl", hash = "sha256:52c3cf9ecda273a19cc092961ee34eb9ba8687d67ba34cc7b79a521c1c64c4c0"},
+ {file = "debugpy-1.8.11-py2.py3-none-any.whl", hash = "sha256:0e22f846f4211383e6a416d04b4c13ed174d24cc5d43f5fd52e7821d0ebc8920"},
+ {file = "debugpy-1.8.11.tar.gz", hash = "sha256:6ad2688b69235c43b020e04fecccdf6a96c8943ca9c2fb340b8adc103c655e57"},
]
[[package]]
@@ -571,24 +584,24 @@ files = [
[[package]]
name = "distlib"
-version = "0.3.8"
+version = "0.3.9"
description = "Distribution utilities"
optional = false
python-versions = "*"
files = [
- {file = "distlib-0.3.8-py2.py3-none-any.whl", hash = "sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784"},
- {file = "distlib-0.3.8.tar.gz", hash = "sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64"},
+ {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"},
+ {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"},
]
[[package]]
name = "exceptiongroup"
-version = "1.2.1"
+version = "1.2.2"
description = "Backport of PEP 654 (exception groups)"
optional = false
python-versions = ">=3.7"
files = [
- {file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"},
- {file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"},
+ {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"},
+ {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"},
]
[package.extras]
@@ -596,13 +609,13 @@ test = ["pytest (>=6)"]
[[package]]
name = "executing"
-version = "2.0.1"
+version = "2.1.0"
description = "Get the currently executing AST node of a frame, and other information"
optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.8"
files = [
- {file = "executing-2.0.1-py2.py3-none-any.whl", hash = "sha256:eac49ca94516ccc753f9fb5ce82603156e590b27525a8bc32cce8ae302eb61bc"},
- {file = "executing-2.0.1.tar.gz", hash = "sha256:35afe2ce3affba8ee97f2d69927fa823b08b472b7b994e36a52a964b93d16147"},
+ {file = "executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf"},
+ {file = "executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab"},
]
[package.extras]
@@ -610,13 +623,13 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth
[[package]]
name = "fastjsonschema"
-version = "2.19.1"
+version = "2.21.1"
description = "Fastest Python implementation of JSON schema"
optional = false
python-versions = "*"
files = [
- {file = "fastjsonschema-2.19.1-py3-none-any.whl", hash = "sha256:3672b47bc94178c9f23dbb654bf47440155d4db9df5f7bc47643315f9c405cd0"},
- {file = "fastjsonschema-2.19.1.tar.gz", hash = "sha256:e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d"},
+ {file = "fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667"},
+ {file = "fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4"},
]
[package.extras]
@@ -624,34 +637,34 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc
[[package]]
name = "filelock"
-version = "3.13.4"
+version = "3.16.1"
description = "A platform independent file lock."
optional = false
python-versions = ">=3.8"
files = [
- {file = "filelock-3.13.4-py3-none-any.whl", hash = "sha256:404e5e9253aa60ad457cae1be07c0f0ca90a63931200a47d9b6a6af84fd7b45f"},
- {file = "filelock-3.13.4.tar.gz", hash = "sha256:d13f466618bfde72bd2c18255e269f72542c6e70e7bac83a0232d6b1cc5c8cf4"},
+ {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"},
+ {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"},
]
[package.extras]
-docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"]
-testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"]
-typing = ["typing-extensions (>=4.8)"]
+docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"]
+testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"]
+typing = ["typing-extensions (>=4.12.2)"]
[[package]]
name = "flake8"
-version = "7.0.0"
+version = "7.1.1"
description = "the modular source code checker: pep8 pyflakes and co"
optional = false
python-versions = ">=3.8.1"
files = [
- {file = "flake8-7.0.0-py2.py3-none-any.whl", hash = "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3"},
- {file = "flake8-7.0.0.tar.gz", hash = "sha256:33f96621059e65eec474169085dc92bf26e7b2d47366b70be2f67ab80dc25132"},
+ {file = "flake8-7.1.1-py2.py3-none-any.whl", hash = "sha256:597477df7860daa5aa0fdd84bf5208a043ab96b8e96ab708770ae0364dd03213"},
+ {file = "flake8-7.1.1.tar.gz", hash = "sha256:049d058491e228e03e67b390f311bbf88fce2dbaa8fa673e7aea87b7198b8d38"},
]
[package.dependencies]
mccabe = ">=0.7.0,<0.8.0"
-pycodestyle = ">=2.11.0,<2.12.0"
+pycodestyle = ">=2.12.0,<2.13.0"
pyflakes = ">=3.2.0,<3.3.0"
[[package]]
@@ -693,13 +706,13 @@ files = [
[[package]]
name = "httpcore"
-version = "1.0.5"
+version = "1.0.7"
description = "A minimal low-level HTTP client."
optional = false
python-versions = ">=3.8"
files = [
- {file = "httpcore-1.0.5-py3-none-any.whl", hash = "sha256:421f18bac248b25d310f3cacd198d55b8e6125c107797b609ff9b7a6ba7991b5"},
- {file = "httpcore-1.0.5.tar.gz", hash = "sha256:34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61"},
+ {file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"},
+ {file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"},
]
[package.dependencies]
@@ -710,17 +723,17 @@ h11 = ">=0.13,<0.15"
asyncio = ["anyio (>=4.0,<5.0)"]
http2 = ["h2 (>=3,<5)"]
socks = ["socksio (==1.*)"]
-trio = ["trio (>=0.22.0,<0.26.0)"]
+trio = ["trio (>=0.22.0,<1.0)"]
[[package]]
name = "httpx"
-version = "0.27.0"
+version = "0.28.1"
description = "The next generation HTTP client."
optional = false
python-versions = ">=3.8"
files = [
- {file = "httpx-0.27.0-py3-none-any.whl", hash = "sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5"},
- {file = "httpx-0.27.0.tar.gz", hash = "sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5"},
+ {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"},
+ {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"},
]
[package.dependencies]
@@ -728,43 +741,27 @@ anyio = "*"
certifi = "*"
httpcore = "==1.*"
idna = "*"
-sniffio = "*"
[package.extras]
brotli = ["brotli", "brotlicffi"]
cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"]
http2 = ["h2 (>=3,<5)"]
socks = ["socksio (==1.*)"]
+zstd = ["zstandard (>=0.18.0)"]
[[package]]
name = "idna"
-version = "3.7"
+version = "3.10"
description = "Internationalized Domain Names in Applications (IDNA)"
optional = false
-python-versions = ">=3.5"
-files = [
- {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"},
- {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"},
-]
-
-[[package]]
-name = "importlib-metadata"
-version = "7.1.0"
-description = "Read metadata from Python packages"
-optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.6"
files = [
- {file = "importlib_metadata-7.1.0-py3-none-any.whl", hash = "sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570"},
- {file = "importlib_metadata-7.1.0.tar.gz", hash = "sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2"},
+ {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"},
+ {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"},
]
-[package.dependencies]
-zipp = ">=0.5"
-
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-perf = ["ipython"]
-testing = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"]
+all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"]
[[package]]
name = "iniconfig"
@@ -779,13 +776,13 @@ files = [
[[package]]
name = "ipykernel"
-version = "6.29.4"
+version = "6.29.5"
description = "IPython Kernel for Jupyter"
optional = false
python-versions = ">=3.8"
files = [
- {file = "ipykernel-6.29.4-py3-none-any.whl", hash = "sha256:1181e653d95c6808039c509ef8e67c4126b3b3af7781496c7cbfb5ed938a27da"},
- {file = "ipykernel-6.29.4.tar.gz", hash = "sha256:3d44070060f9475ac2092b760123fadf105d2e2493c24848b6691a7c4f42af5c"},
+ {file = "ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5"},
+ {file = "ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215"},
]
[package.dependencies]
@@ -832,7 +829,6 @@ prompt-toolkit = ">=3.0.41,<3.1.0"
pygments = ">=2.4.0"
stack-data = "*"
traitlets = ">=5"
-typing-extensions = {version = "*", markers = "python_version < \"3.10\""}
[package.extras]
all = ["black", "curio", "docrepr", "exceptiongroup", "ipykernel", "ipyparallel", "ipywidgets", "matplotlib", "matplotlib (!=3.2.0)", "nbconvert", "nbformat", "notebook", "numpy (>=1.22)", "pandas", "pickleshare", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio (<0.22)", "qtconsole", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "trio", "typing-extensions"]
@@ -849,21 +845,21 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.22)", "pa
[[package]]
name = "ipywidgets"
-version = "8.1.2"
+version = "8.1.5"
description = "Jupyter interactive widgets"
optional = false
python-versions = ">=3.7"
files = [
- {file = "ipywidgets-8.1.2-py3-none-any.whl", hash = "sha256:bbe43850d79fb5e906b14801d6c01402857996864d1e5b6fa62dd2ee35559f60"},
- {file = "ipywidgets-8.1.2.tar.gz", hash = "sha256:d0b9b41e49bae926a866e613a39b0f0097745d2b9f1f3dd406641b4a57ec42c9"},
+ {file = "ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245"},
+ {file = "ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17"},
]
[package.dependencies]
comm = ">=0.1.3"
ipython = ">=6.1.0"
-jupyterlab-widgets = ">=3.0.10,<3.1.0"
+jupyterlab-widgets = ">=3.0.12,<3.1.0"
traitlets = ">=4.3.1"
-widgetsnbextension = ">=4.0.10,<4.1.0"
+widgetsnbextension = ">=4.0.12,<4.1.0"
[package.extras]
test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"]
@@ -884,32 +880,32 @@ arrow = ">=0.15.0"
[[package]]
name = "jedi"
-version = "0.19.1"
+version = "0.19.2"
description = "An autocompletion tool for Python that can be used for text editors."
optional = false
python-versions = ">=3.6"
files = [
- {file = "jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"},
- {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"},
+ {file = "jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9"},
+ {file = "jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0"},
]
[package.dependencies]
-parso = ">=0.8.3,<0.9.0"
+parso = ">=0.8.4,<0.9.0"
[package.extras]
docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"]
qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"]
-testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"]
+testing = ["Django", "attrs", "colorama", "docopt", "pytest (<9.0.0)"]
[[package]]
name = "jinja2"
-version = "3.1.3"
+version = "3.1.5"
description = "A very fast and expressive template engine."
optional = false
python-versions = ">=3.7"
files = [
- {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"},
- {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"},
+ {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"},
+ {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"},
]
[package.dependencies]
@@ -920,35 +916,38 @@ i18n = ["Babel (>=2.7)"]
[[package]]
name = "json5"
-version = "0.9.25"
+version = "0.10.0"
description = "A Python implementation of the JSON5 data format."
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.8.0"
files = [
- {file = "json5-0.9.25-py3-none-any.whl", hash = "sha256:34ed7d834b1341a86987ed52f3f76cd8ee184394906b6e22a1e0deb9ab294e8f"},
- {file = "json5-0.9.25.tar.gz", hash = "sha256:548e41b9be043f9426776f05df8635a00fe06104ea51ed24b67f908856e151ae"},
+ {file = "json5-0.10.0-py3-none-any.whl", hash = "sha256:19b23410220a7271e8377f81ba8aacba2fdd56947fbb137ee5977cbe1f5e8dfa"},
+ {file = "json5-0.10.0.tar.gz", hash = "sha256:e66941c8f0a02026943c52c2eb34ebeb2a6f819a0be05920a6f5243cd30fd559"},
]
+[package.extras]
+dev = ["build (==1.2.2.post1)", "coverage (==7.5.3)", "mypy (==1.13.0)", "pip (==24.3.1)", "pylint (==3.2.3)", "ruff (==0.7.3)", "twine (==5.1.1)", "uv (==0.5.1)"]
+
[[package]]
name = "jsonpointer"
-version = "2.4"
+version = "3.0.0"
description = "Identify specific nodes in a JSON document (RFC 6901)"
optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*"
+python-versions = ">=3.7"
files = [
- {file = "jsonpointer-2.4-py2.py3-none-any.whl", hash = "sha256:15d51bba20eea3165644553647711d150376234112651b4f1811022aecad7d7a"},
- {file = "jsonpointer-2.4.tar.gz", hash = "sha256:585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88"},
+ {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"},
+ {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"},
]
[[package]]
name = "jsonschema"
-version = "4.21.1"
+version = "4.23.0"
description = "An implementation of JSON Schema validation for Python"
optional = false
python-versions = ">=3.8"
files = [
- {file = "jsonschema-4.21.1-py3-none-any.whl", hash = "sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f"},
- {file = "jsonschema-4.21.1.tar.gz", hash = "sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5"},
+ {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"},
+ {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"},
]
[package.dependencies]
@@ -963,21 +962,21 @@ rfc3339-validator = {version = "*", optional = true, markers = "extra == \"forma
rfc3986-validator = {version = ">0.1.0", optional = true, markers = "extra == \"format-nongpl\""}
rpds-py = ">=0.7.1"
uri-template = {version = "*", optional = true, markers = "extra == \"format-nongpl\""}
-webcolors = {version = ">=1.11", optional = true, markers = "extra == \"format-nongpl\""}
+webcolors = {version = ">=24.6.0", optional = true, markers = "extra == \"format-nongpl\""}
[package.extras]
format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"]
-format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"]
+format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=24.6.0)"]
[[package]]
name = "jsonschema-specifications"
-version = "2023.12.1"
+version = "2024.10.1"
description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"},
- {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"},
+ {file = "jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf"},
+ {file = "jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272"},
]
[package.dependencies]
@@ -985,37 +984,35 @@ referencing = ">=0.31.0"
[[package]]
name = "jupyter"
-version = "1.0.0"
+version = "1.1.1"
description = "Jupyter metapackage. Install all the Jupyter components in one go."
optional = false
python-versions = "*"
files = [
- {file = "jupyter-1.0.0-py2.py3-none-any.whl", hash = "sha256:5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78"},
- {file = "jupyter-1.0.0.tar.gz", hash = "sha256:d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f"},
- {file = "jupyter-1.0.0.zip", hash = "sha256:3e1f86076bbb7c8c207829390305a2b1fe836d471ed54be66a3b8c41e7f46cc7"},
+ {file = "jupyter-1.1.1-py2.py3-none-any.whl", hash = "sha256:7a59533c22af65439b24bbe60373a4e95af8f16ac65a6c00820ad378e3f7cc83"},
+ {file = "jupyter-1.1.1.tar.gz", hash = "sha256:d55467bceabdea49d7e3624af7e33d59c37fff53ed3a350e1ac957bed731de7a"},
]
[package.dependencies]
ipykernel = "*"
ipywidgets = "*"
jupyter-console = "*"
+jupyterlab = "*"
nbconvert = "*"
notebook = "*"
-qtconsole = "*"
[[package]]
name = "jupyter-client"
-version = "8.6.1"
+version = "8.6.3"
description = "Jupyter protocol implementation and client libraries"
optional = false
python-versions = ">=3.8"
files = [
- {file = "jupyter_client-8.6.1-py3-none-any.whl", hash = "sha256:3b7bd22f058434e3b9a7ea4b1500ed47de2713872288c0d511d19926f99b459f"},
- {file = "jupyter_client-8.6.1.tar.gz", hash = "sha256:e842515e2bab8e19186d89fdfea7abd15e39dd581f94e399f00e2af5a1652d3f"},
+ {file = "jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f"},
+ {file = "jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419"},
]
[package.dependencies]
-importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""}
jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
python-dateutil = ">=2.8.2"
pyzmq = ">=23.0"
@@ -1024,7 +1021,7 @@ traitlets = ">=5.3"
[package.extras]
docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"]
-test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"]
+test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"]
[[package]]
name = "jupyter-console"
@@ -1072,13 +1069,13 @@ test = ["ipykernel", "pre-commit", "pytest (<8)", "pytest-cov", "pytest-timeout"
[[package]]
name = "jupyter-events"
-version = "0.10.0"
+version = "0.11.0"
description = "Jupyter Event System library"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960"},
- {file = "jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22"},
+ {file = "jupyter_events-0.11.0-py3-none-any.whl", hash = "sha256:36399b41ce1ca45fe8b8271067d6a140ffa54cec4028e95491c93b78a855cacf"},
+ {file = "jupyter_events-0.11.0.tar.gz", hash = "sha256:c0bc56a37aac29c1fbc3bcfbddb8c8c49533f9cf11f1c4e6adadba936574ab90"},
]
[package.dependencies]
@@ -1092,7 +1089,7 @@ traitlets = ">=5.3"
[package.extras]
cli = ["click", "rich"]
-docs = ["jupyterlite-sphinx", "myst-parser", "pydata-sphinx-theme", "sphinxcontrib-spelling"]
+docs = ["jupyterlite-sphinx", "myst-parser", "pydata-sphinx-theme (>=0.16)", "sphinx (>=8)", "sphinxcontrib-spelling"]
test = ["click", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "pytest-console-scripts", "rich"]
[[package]]
@@ -1107,18 +1104,17 @@ files = [
]
[package.dependencies]
-importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""}
jupyter-server = ">=1.1.2"
[[package]]
name = "jupyter-server"
-version = "2.14.0"
+version = "2.15.0"
description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications."
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "jupyter_server-2.14.0-py3-none-any.whl", hash = "sha256:fb6be52c713e80e004fac34b35a0990d6d36ba06fd0a2b2ed82b899143a64210"},
- {file = "jupyter_server-2.14.0.tar.gz", hash = "sha256:659154cea512083434fd7c93b7fe0897af7a2fd0b9dd4749282b42eaac4ae677"},
+ {file = "jupyter_server-2.15.0-py3-none-any.whl", hash = "sha256:872d989becf83517012ee669f09604aa4a28097c0bd90b2f424310156c2cdae3"},
+ {file = "jupyter_server-2.15.0.tar.gz", hash = "sha256:9d446b8697b4f7337a1b7cdcac40778babdd93ba614b6d68ab1c0c918f1c4084"},
]
[package.dependencies]
@@ -1127,7 +1123,7 @@ argon2-cffi = ">=21.1"
jinja2 = ">=3.0.3"
jupyter-client = ">=7.4.4"
jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
-jupyter-events = ">=0.9.0"
+jupyter-events = ">=0.11.0"
jupyter-server-terminals = ">=0.4.4"
nbconvert = ">=6.4.4"
nbformat = ">=5.3.0"
@@ -1143,7 +1139,7 @@ traitlets = ">=5.6.0"
websocket-client = ">=1.7"
[package.extras]
-docs = ["ipykernel", "jinja2", "jupyter-client", "jupyter-server", "myst-parser", "nbformat", "prometheus-client", "pydata-sphinx-theme", "send2trash", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-openapi (>=0.8.0)", "sphinxcontrib-spelling", "sphinxemoji", "tornado", "typing-extensions"]
+docs = ["ipykernel", "jinja2", "jupyter-client", "myst-parser", "nbformat", "prometheus-client", "pydata-sphinx-theme", "send2trash", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-openapi (>=0.8.0)", "sphinxcontrib-spelling", "sphinxemoji", "tornado", "typing-extensions"]
test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0,<9)", "pytest-console-scripts", "pytest-jupyter[server] (>=0.7)", "pytest-timeout", "requests"]
[[package]]
@@ -1167,37 +1163,37 @@ test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (>
[[package]]
name = "jupyterlab"
-version = "4.1.6"
+version = "4.3.4"
description = "JupyterLab computational environment"
optional = false
python-versions = ">=3.8"
files = [
- {file = "jupyterlab-4.1.6-py3-none-any.whl", hash = "sha256:cf3e862bc10dbf4331e4eb37438634f813c238cfc62c71c640b3b3b2caa089a8"},
- {file = "jupyterlab-4.1.6.tar.gz", hash = "sha256:7935f36ba26eb615183a4f5c2bbca5791b5108ce2a00b5505f8cfd100d53648e"},
+ {file = "jupyterlab-4.3.4-py3-none-any.whl", hash = "sha256:b754c2601c5be6adf87cb5a1d8495d653ffb945f021939f77776acaa94dae952"},
+ {file = "jupyterlab-4.3.4.tar.gz", hash = "sha256:f0bb9b09a04766e3423cccc2fc23169aa2ffedcdf8713e9e0fb33cac0b6859d0"},
]
[package.dependencies]
async-lru = ">=1.0.0"
httpx = ">=0.25.0"
-importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""}
ipykernel = ">=6.5.0"
jinja2 = ">=3.0.3"
jupyter-core = "*"
jupyter-lsp = ">=2.0.0"
jupyter-server = ">=2.4.0,<3"
-jupyterlab-server = ">=2.19.0,<3"
+jupyterlab-server = ">=2.27.1,<3"
notebook-shim = ">=0.2"
packaging = "*"
+setuptools = ">=40.8.0"
tomli = {version = ">=1.2.2", markers = "python_version < \"3.11\""}
tornado = ">=6.2.0"
traitlets = "*"
[package.extras]
-dev = ["build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.2.0)"]
-docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-jupyter", "sphinx (>=1.8,<7.3.0)", "sphinx-copybutton"]
-docs-screenshots = ["altair (==5.2.0)", "ipython (==8.16.1)", "ipywidgets (==8.1.1)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.0.post6)", "matplotlib (==3.8.2)", "nbconvert (>=7.0.0)", "pandas (==2.2.0)", "scipy (==1.12.0)", "vega-datasets (==0.9.0)"]
+dev = ["build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.6.9)"]
+docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-jupyter", "sphinx (>=1.8,<8.1.0)", "sphinx-copybutton"]
+docs-screenshots = ["altair (==5.4.1)", "ipython (==8.16.1)", "ipywidgets (==8.1.5)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.2.post3)", "matplotlib (==3.9.2)", "nbconvert (>=7.0.0)", "pandas (==2.2.3)", "scipy (==1.14.1)", "vega-datasets (==0.9.0)"]
test = ["coverage", "pytest (>=7.0)", "pytest-check-links (>=0.7)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter (>=0.5.3)", "pytest-timeout", "pytest-tornasync", "requests", "requests-cache", "virtualenv"]
-upgrade-extension = ["copier (>=8.0,<9.0)", "jinja2-time (<0.3)", "pydantic (<2.0)", "pyyaml-include (<2.0)", "tomli-w (<2.0)"]
+upgrade-extension = ["copier (>=9,<10)", "jinja2-time (<0.3)", "pydantic (<3.0)", "pyyaml-include (<3.0)", "tomli-w (<2.0)"]
[[package]]
name = "jupyterlab-pygments"
@@ -1212,18 +1208,17 @@ files = [
[[package]]
name = "jupyterlab-server"
-version = "2.26.0"
+version = "2.27.3"
description = "A set of server components for JupyterLab and JupyterLab like applications."
optional = false
python-versions = ">=3.8"
files = [
- {file = "jupyterlab_server-2.26.0-py3-none-any.whl", hash = "sha256:54622cbd330526a385ee0c1fdccdff3a1e7219bf3e864a335284a1270a1973df"},
- {file = "jupyterlab_server-2.26.0.tar.gz", hash = "sha256:9b3ba91cf2837f7f124fca36d63f3ca80ace2bed4898a63dd47e6598c1ab006f"},
+ {file = "jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4"},
+ {file = "jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4"},
]
[package.dependencies]
babel = ">=2.10"
-importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""}
jinja2 = ">=3.0.3"
json5 = ">=0.9.0"
jsonschema = ">=4.18.0"
@@ -1238,13 +1233,13 @@ test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-v
[[package]]
name = "jupyterlab-widgets"
-version = "3.0.10"
+version = "3.0.13"
description = "Jupyter interactive widgets for JupyterLab"
optional = false
python-versions = ">=3.7"
files = [
- {file = "jupyterlab_widgets-3.0.10-py3-none-any.whl", hash = "sha256:dd61f3ae7a5a7f80299e14585ce6cf3d6925a96c9103c978eda293197730cb64"},
- {file = "jupyterlab_widgets-3.0.10.tar.gz", hash = "sha256:04f2ac04976727e4f9d0fa91cdc2f1ab860f965e504c29dbd6a65c882c9d04c0"},
+ {file = "jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54"},
+ {file = "jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed"},
]
[[package]]
@@ -1265,71 +1260,72 @@ typing-extensions = ">=4.3"
[[package]]
name = "markupsafe"
-version = "2.1.5"
+version = "3.0.2"
description = "Safely add untrusted strings to HTML/XML markup."
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.9"
files = [
- {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"},
- {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"},
+ {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"},
+ {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"},
+ {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"},
+ {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"},
+ {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"},
+ {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"},
+ {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"},
+ {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"},
+ {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"},
+ {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"},
+ {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"},
+ {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"},
+ {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"},
+ {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"},
+ {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"},
+ {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"},
+ {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"},
+ {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"},
+ {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"},
+ {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"},
+ {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"},
+ {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"},
+ {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"},
+ {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"},
+ {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"},
+ {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"},
+ {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"},
+ {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"},
+ {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"},
+ {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"},
+ {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"},
+ {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"},
+ {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"},
+ {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"},
+ {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"},
+ {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"},
+ {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"},
+ {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"},
+ {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"},
+ {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"},
+ {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"},
+ {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"},
]
[[package]]
@@ -1359,24 +1355,27 @@ files = [
[[package]]
name = "mistune"
-version = "3.0.2"
+version = "3.1.0"
description = "A sane and fast Markdown parser with useful plugins and renderers"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "mistune-3.0.2-py3-none-any.whl", hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205"},
- {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"},
+ {file = "mistune-3.1.0-py3-none-any.whl", hash = "sha256:b05198cf6d671b3deba6c87ec6cf0d4eb7b72c524636eddb6dbf13823b52cee1"},
+ {file = "mistune-3.1.0.tar.gz", hash = "sha256:dbcac2f78292b9dc066cd03b7a3a26b62d85f8159f2ea5fd28e55df79908d667"},
]
+[package.dependencies]
+typing-extensions = {version = "*", markers = "python_version < \"3.11\""}
+
[[package]]
name = "nbclient"
-version = "0.10.0"
+version = "0.10.2"
description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor."
optional = false
-python-versions = ">=3.8.0"
+python-versions = ">=3.9.0"
files = [
- {file = "nbclient-0.10.0-py3-none-any.whl", hash = "sha256:f13e3529332a1f1f81d82a53210322476a168bb7090a0289c795fe9cc11c9d3f"},
- {file = "nbclient-0.10.0.tar.gz", hash = "sha256:4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09"},
+ {file = "nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d"},
+ {file = "nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193"},
]
[package.dependencies]
@@ -1387,25 +1386,24 @@ traitlets = ">=5.4"
[package.extras]
dev = ["pre-commit"]
-docs = ["autodoc-traits", "mock", "moto", "myst-parser", "nbclient[test]", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling"]
-test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"]
+docs = ["autodoc-traits", "flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "mock", "moto", "myst-parser", "nbconvert (>=7.1.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling", "testpath", "xmltodict"]
+test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.1.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"]
[[package]]
name = "nbconvert"
-version = "7.16.3"
+version = "7.16.5"
description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)."
optional = false
python-versions = ">=3.8"
files = [
- {file = "nbconvert-7.16.3-py3-none-any.whl", hash = "sha256:ddeff14beeeedf3dd0bc506623e41e4507e551736de59df69a91f86700292b3b"},
- {file = "nbconvert-7.16.3.tar.gz", hash = "sha256:a6733b78ce3d47c3f85e504998495b07e6ea9cf9bf6ec1c98dda63ec6ad19142"},
+ {file = "nbconvert-7.16.5-py3-none-any.whl", hash = "sha256:e12eac052d6fd03040af4166c563d76e7aeead2e9aadf5356db552a1784bd547"},
+ {file = "nbconvert-7.16.5.tar.gz", hash = "sha256:c83467bb5777fdfaac5ebbb8e864f300b277f68692ecc04d6dab72f2d8442344"},
]
[package.dependencies]
beautifulsoup4 = "*"
-bleach = "!=5.0.0"
+bleach = {version = "!=5.0.0", extras = ["css"]}
defusedxml = "*"
-importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""}
jinja2 = ">=3.0"
jupyter-core = ">=4.7"
jupyterlab-pygments = "*"
@@ -1416,13 +1414,12 @@ nbformat = ">=5.7"
packaging = "*"
pandocfilters = ">=1.4.1"
pygments = ">=2.4.1"
-tinycss2 = "*"
traitlets = ">=5.1"
[package.extras]
-all = ["nbconvert[docs,qtpdf,serve,test,webpdf]"]
+all = ["flaky", "ipykernel", "ipython", "ipywidgets (>=7.5)", "myst-parser", "nbsphinx (>=0.2.12)", "playwright", "pydata-sphinx-theme", "pyqtwebengine (>=5.15)", "pytest (>=7)", "sphinx (==5.0.2)", "sphinxcontrib-spelling", "tornado (>=6.1)"]
docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sphinx-theme", "sphinx (==5.0.2)", "sphinxcontrib-spelling"]
-qtpdf = ["nbconvert[qtpng]"]
+qtpdf = ["pyqtwebengine (>=5.15)"]
qtpng = ["pyqtwebengine (>=5.15)"]
serve = ["tornado (>=6.1)"]
test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest (>=7)"]
@@ -1462,26 +1459,26 @@ files = [
[[package]]
name = "notebook"
-version = "7.1.3"
+version = "7.3.2"
description = "Jupyter Notebook - A web-based notebook environment for interactive computing"
optional = false
python-versions = ">=3.8"
files = [
- {file = "notebook-7.1.3-py3-none-any.whl", hash = "sha256:919b911e59f41f6e3857ce93c9d93535ba66bb090059712770e5968c07e1004d"},
- {file = "notebook-7.1.3.tar.gz", hash = "sha256:41fcebff44cf7bb9377180808bcbae066629b55d8c7722f1ebbe75ca44f9cfc1"},
+ {file = "notebook-7.3.2-py3-none-any.whl", hash = "sha256:e5f85fc59b69d3618d73cf27544418193ff8e8058d5bf61d315ce4f473556288"},
+ {file = "notebook-7.3.2.tar.gz", hash = "sha256:705e83a1785f45b383bf3ee13cb76680b92d24f56fb0c7d2136fe1d850cd3ca8"},
]
[package.dependencies]
jupyter-server = ">=2.4.0,<3"
-jupyterlab = ">=4.1.1,<4.2"
-jupyterlab-server = ">=2.22.1,<3"
+jupyterlab = ">=4.3.4,<4.4"
+jupyterlab-server = ">=2.27.1,<3"
notebook-shim = ">=0.2,<0.3"
tornado = ">=6.2.0"
[package.extras]
dev = ["hatch", "pre-commit"]
docs = ["myst-parser", "nbsphinx", "pydata-sphinx-theme", "sphinx (>=1.3.6)", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"]
-test = ["importlib-resources (>=5.0)", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.22.1,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"]
+test = ["importlib-resources (>=5.0)", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.27.1,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"]
[[package]]
name = "notebook-shim"
@@ -1500,6 +1497,70 @@ jupyter-server = ">=1.8,<3"
[package.extras]
test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync"]
+[[package]]
+name = "numpy"
+version = "2.2.1"
+description = "Fundamental package for array computing in Python"
+optional = false
+python-versions = ">=3.10"
+files = [
+ {file = "numpy-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5edb4e4caf751c1518e6a26a83501fda79bff41cc59dac48d70e6d65d4ec4440"},
+ {file = "numpy-2.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa3017c40d513ccac9621a2364f939d39e550c542eb2a894b4c8da92b38896ab"},
+ {file = "numpy-2.2.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:61048b4a49b1c93fe13426e04e04fdf5a03f456616f6e98c7576144677598675"},
+ {file = "numpy-2.2.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:7671dc19c7019103ca44e8d94917eba8534c76133523ca8406822efdd19c9308"},
+ {file = "numpy-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4250888bcb96617e00bfa28ac24850a83c9f3a16db471eca2ee1f1714df0f957"},
+ {file = "numpy-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7746f235c47abc72b102d3bce9977714c2444bdfaea7888d241b4c4bb6a78bf"},
+ {file = "numpy-2.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:059e6a747ae84fce488c3ee397cee7e5f905fd1bda5fb18c66bc41807ff119b2"},
+ {file = "numpy-2.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f62aa6ee4eb43b024b0e5a01cf65a0bb078ef8c395e8713c6e8a12a697144528"},
+ {file = "numpy-2.2.1-cp310-cp310-win32.whl", hash = "sha256:48fd472630715e1c1c89bf1feab55c29098cb403cc184b4859f9c86d4fcb6a95"},
+ {file = "numpy-2.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:b541032178a718c165a49638d28272b771053f628382d5e9d1c93df23ff58dbf"},
+ {file = "numpy-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:40f9e544c1c56ba8f1cf7686a8c9b5bb249e665d40d626a23899ba6d5d9e1484"},
+ {file = "numpy-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9b57eaa3b0cd8db52049ed0330747b0364e899e8a606a624813452b8203d5f7"},
+ {file = "numpy-2.2.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:bc8a37ad5b22c08e2dbd27df2b3ef7e5c0864235805b1e718a235bcb200cf1cb"},
+ {file = "numpy-2.2.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:9036d6365d13b6cbe8f27a0eaf73ddcc070cae584e5ff94bb45e3e9d729feab5"},
+ {file = "numpy-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51faf345324db860b515d3f364eaa93d0e0551a88d6218a7d61286554d190d73"},
+ {file = "numpy-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38efc1e56b73cc9b182fe55e56e63b044dd26a72128fd2fbd502f75555d92591"},
+ {file = "numpy-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:31b89fa67a8042e96715c68e071a1200c4e172f93b0fbe01a14c0ff3ff820fc8"},
+ {file = "numpy-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4c86e2a209199ead7ee0af65e1d9992d1dce7e1f63c4b9a616500f93820658d0"},
+ {file = "numpy-2.2.1-cp311-cp311-win32.whl", hash = "sha256:b34d87e8a3090ea626003f87f9392b3929a7bbf4104a05b6667348b6bd4bf1cd"},
+ {file = "numpy-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:360137f8fb1b753c5cde3ac388597ad680eccbbbb3865ab65efea062c4a1fd16"},
+ {file = "numpy-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:694f9e921a0c8f252980e85bce61ebbd07ed2b7d4fa72d0e4246f2f8aa6642ab"},
+ {file = "numpy-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3683a8d166f2692664262fd4900f207791d005fb088d7fdb973cc8d663626faa"},
+ {file = "numpy-2.2.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:780077d95eafc2ccc3ced969db22377b3864e5b9a0ea5eb347cc93b3ea900315"},
+ {file = "numpy-2.2.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:55ba24ebe208344aa7a00e4482f65742969a039c2acfcb910bc6fcd776eb4355"},
+ {file = "numpy-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b1d07b53b78bf84a96898c1bc139ad7f10fda7423f5fd158fd0f47ec5e01ac7"},
+ {file = "numpy-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5062dc1a4e32a10dc2b8b13cedd58988261416e811c1dc4dbdea4f57eea61b0d"},
+ {file = "numpy-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:fce4f615f8ca31b2e61aa0eb5865a21e14f5629515c9151850aa936c02a1ee51"},
+ {file = "numpy-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:67d4cda6fa6ffa073b08c8372aa5fa767ceb10c9a0587c707505a6d426f4e046"},
+ {file = "numpy-2.2.1-cp312-cp312-win32.whl", hash = "sha256:32cb94448be47c500d2c7a95f93e2f21a01f1fd05dd2beea1ccd049bb6001cd2"},
+ {file = "numpy-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:ba5511d8f31c033a5fcbda22dd5c813630af98c70b2661f2d2c654ae3cdfcfc8"},
+ {file = "numpy-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f1d09e520217618e76396377c81fba6f290d5f926f50c35f3a5f72b01a0da780"},
+ {file = "numpy-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3ecc47cd7f6ea0336042be87d9e7da378e5c7e9b3c8ad0f7c966f714fc10d821"},
+ {file = "numpy-2.2.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f419290bc8968a46c4933158c91a0012b7a99bb2e465d5ef5293879742f8797e"},
+ {file = "numpy-2.2.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5b6c390bfaef8c45a260554888966618328d30e72173697e5cabe6b285fb2348"},
+ {file = "numpy-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:526fc406ab991a340744aad7e25251dd47a6720a685fa3331e5c59fef5282a59"},
+ {file = "numpy-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f74e6fdeb9a265624ec3a3918430205dff1df7e95a230779746a6af78bc615af"},
+ {file = "numpy-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:53c09385ff0b72ba79d8715683c1168c12e0b6e84fb0372e97553d1ea91efe51"},
+ {file = "numpy-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f3eac17d9ec51be534685ba877b6ab5edc3ab7ec95c8f163e5d7b39859524716"},
+ {file = "numpy-2.2.1-cp313-cp313-win32.whl", hash = "sha256:9ad014faa93dbb52c80d8f4d3dcf855865c876c9660cb9bd7553843dd03a4b1e"},
+ {file = "numpy-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:164a829b6aacf79ca47ba4814b130c4020b202522a93d7bff2202bfb33b61c60"},
+ {file = "numpy-2.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4dfda918a13cc4f81e9118dea249e192ab167a0bb1966272d5503e39234d694e"},
+ {file = "numpy-2.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:733585f9f4b62e9b3528dd1070ec4f52b8acf64215b60a845fa13ebd73cd0712"},
+ {file = "numpy-2.2.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:89b16a18e7bba224ce5114db863e7029803c179979e1af6ad6a6b11f70545008"},
+ {file = "numpy-2.2.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:676f4eebf6b2d430300f1f4f4c2461685f8269f94c89698d832cdf9277f30b84"},
+ {file = "numpy-2.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f5cdf9f493b35f7e41e8368e7d7b4bbafaf9660cba53fb21d2cd174ec09631"},
+ {file = "numpy-2.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1ad395cf254c4fbb5b2132fee391f361a6e8c1adbd28f2cd8e79308a615fe9d"},
+ {file = "numpy-2.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:08ef779aed40dbc52729d6ffe7dd51df85796a702afbf68a4f4e41fafdc8bda5"},
+ {file = "numpy-2.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:26c9c4382b19fcfbbed3238a14abf7ff223890ea1936b8890f058e7ba35e8d71"},
+ {file = "numpy-2.2.1-cp313-cp313t-win32.whl", hash = "sha256:93cf4e045bae74c90ca833cba583c14b62cb4ba2cba0abd2b141ab52548247e2"},
+ {file = "numpy-2.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bff7d8ec20f5f42607599f9994770fa65d76edca264a87b5e4ea5629bce12268"},
+ {file = "numpy-2.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7ba9cc93a91d86365a5d270dee221fdc04fb68d7478e6bf6af650de78a8339e3"},
+ {file = "numpy-2.2.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:3d03883435a19794e41f147612a77a8f56d4e52822337844fff3d4040a142964"},
+ {file = "numpy-2.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4511d9e6071452b944207c8ce46ad2f897307910b402ea5fa975da32e0102800"},
+ {file = "numpy-2.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5c5cc0cbabe9452038ed984d05ac87910f89370b9242371bd9079cb4af61811e"},
+ {file = "numpy-2.2.1.tar.gz", hash = "sha256:45681fd7128c8ad1c379f0ca0776a8b0c6583d2f69889ddac01559dfe4390918"},
+]
+
[[package]]
name = "orderedmultidict"
version = "1.0.1"
@@ -1527,15 +1588,97 @@ files = [
[[package]]
name = "packaging"
-version = "24.0"
+version = "24.2"
description = "Core utilities for Python packages"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"},
- {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"},
+ {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"},
+ {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"},
]
+[[package]]
+name = "pandas"
+version = "2.2.3"
+description = "Powerful data structures for data analysis, time series, and statistics"
+optional = false
+python-versions = ">=3.9"
+files = [
+ {file = "pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5"},
+ {file = "pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348"},
+ {file = "pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed"},
+ {file = "pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57"},
+ {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42"},
+ {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f"},
+ {file = "pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645"},
+ {file = "pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039"},
+ {file = "pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd"},
+ {file = "pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698"},
+ {file = "pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc"},
+ {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3"},
+ {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32"},
+ {file = "pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5"},
+ {file = "pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9"},
+ {file = "pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4"},
+ {file = "pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3"},
+ {file = "pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319"},
+ {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8"},
+ {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a"},
+ {file = "pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13"},
+ {file = "pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015"},
+ {file = "pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28"},
+ {file = "pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0"},
+ {file = "pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24"},
+ {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659"},
+ {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb"},
+ {file = "pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d"},
+ {file = "pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468"},
+ {file = "pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18"},
+ {file = "pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2"},
+ {file = "pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4"},
+ {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d"},
+ {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a"},
+ {file = "pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39"},
+ {file = "pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30"},
+ {file = "pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c"},
+ {file = "pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c"},
+ {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea"},
+ {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761"},
+ {file = "pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e"},
+ {file = "pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667"},
+]
+
+[package.dependencies]
+numpy = {version = ">=1.22.4", markers = "python_version < \"3.11\""}
+python-dateutil = ">=2.8.2"
+pytz = ">=2020.1"
+tzdata = ">=2022.7"
+
+[package.extras]
+all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"]
+aws = ["s3fs (>=2022.11.0)"]
+clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"]
+compression = ["zstandard (>=0.19.0)"]
+computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"]
+consortium-standard = ["dataframe-api-compat (>=0.1.7)"]
+excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"]
+feather = ["pyarrow (>=10.0.1)"]
+fss = ["fsspec (>=2022.11.0)"]
+gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"]
+hdf5 = ["tables (>=3.8.0)"]
+html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"]
+mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"]
+output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"]
+parquet = ["pyarrow (>=10.0.1)"]
+performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"]
+plot = ["matplotlib (>=3.6.3)"]
+postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"]
+pyarrow = ["pyarrow (>=10.0.1)"]
+spss = ["pyreadstat (>=1.2.0)"]
+sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"]
+test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"]
+xml = ["lxml (>=4.9.2)"]
+
[[package]]
name = "pandocfilters"
version = "1.5.1"
@@ -1578,18 +1721,19 @@ ptyprocess = ">=0.5"
[[package]]
name = "platformdirs"
-version = "4.2.0"
-description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
+version = "4.3.6"
+description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`."
optional = false
python-versions = ">=3.8"
files = [
- {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"},
- {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"},
+ {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"},
+ {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"},
]
[package.extras]
-docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"]
-test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"]
+docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"]
+test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"]
+type = ["mypy (>=1.11.2)"]
[[package]]
name = "pluggy"
@@ -1608,13 +1752,13 @@ testing = ["pytest", "pytest-benchmark"]
[[package]]
name = "prometheus-client"
-version = "0.20.0"
+version = "0.21.1"
description = "Python client for the Prometheus monitoring system."
optional = false
python-versions = ">=3.8"
files = [
- {file = "prometheus_client-0.20.0-py3-none-any.whl", hash = "sha256:cde524a85bce83ca359cc837f28b8c0db5cac7aa653a588fd7e84ba061c329e7"},
- {file = "prometheus_client-0.20.0.tar.gz", hash = "sha256:287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89"},
+ {file = "prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301"},
+ {file = "prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb"},
]
[package.extras]
@@ -1622,13 +1766,13 @@ twisted = ["twisted"]
[[package]]
name = "prompt-toolkit"
-version = "3.0.43"
+version = "3.0.48"
description = "Library for building powerful interactive command lines in Python"
optional = false
python-versions = ">=3.7.0"
files = [
- {file = "prompt_toolkit-3.0.43-py3-none-any.whl", hash = "sha256:a11a29cb3bf0a28a387fe5122cdb649816a957cd9261dcedf8c9f1fef33eacf6"},
- {file = "prompt_toolkit-3.0.43.tar.gz", hash = "sha256:3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d"},
+ {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"},
+ {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"},
]
[package.dependencies]
@@ -1636,31 +1780,33 @@ wcwidth = "*"
[[package]]
name = "psutil"
-version = "5.9.8"
+version = "6.1.1"
description = "Cross-platform lib for process and system monitoring in Python."
optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
-files = [
- {file = "psutil-5.9.8-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:26bd09967ae00920df88e0352a91cff1a78f8d69b3ecabbfe733610c0af486c8"},
- {file = "psutil-5.9.8-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:05806de88103b25903dff19bb6692bd2e714ccf9e668d050d144012055cbca73"},
- {file = "psutil-5.9.8-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:611052c4bc70432ec770d5d54f64206aa7203a101ec273a0cd82418c86503bb7"},
- {file = "psutil-5.9.8-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:50187900d73c1381ba1454cf40308c2bf6f34268518b3f36a9b663ca87e65e36"},
- {file = "psutil-5.9.8-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:02615ed8c5ea222323408ceba16c60e99c3f91639b07da6373fb7e6539abc56d"},
- {file = "psutil-5.9.8-cp27-none-win32.whl", hash = "sha256:36f435891adb138ed3c9e58c6af3e2e6ca9ac2f365efe1f9cfef2794e6c93b4e"},
- {file = "psutil-5.9.8-cp27-none-win_amd64.whl", hash = "sha256:bd1184ceb3f87651a67b2708d4c3338e9b10c5df903f2e3776b62303b26cb631"},
- {file = "psutil-5.9.8-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:aee678c8720623dc456fa20659af736241f575d79429a0e5e9cf88ae0605cc81"},
- {file = "psutil-5.9.8-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cb6403ce6d8e047495a701dc7c5bd788add903f8986d523e3e20b98b733e421"},
- {file = "psutil-5.9.8-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d06016f7f8625a1825ba3732081d77c94589dca78b7a3fc072194851e88461a4"},
- {file = "psutil-5.9.8-cp36-cp36m-win32.whl", hash = "sha256:7d79560ad97af658a0f6adfef8b834b53f64746d45b403f225b85c5c2c140eee"},
- {file = "psutil-5.9.8-cp36-cp36m-win_amd64.whl", hash = "sha256:27cc40c3493bb10de1be4b3f07cae4c010ce715290a5be22b98493509c6299e2"},
- {file = "psutil-5.9.8-cp37-abi3-win32.whl", hash = "sha256:bc56c2a1b0d15aa3eaa5a60c9f3f8e3e565303b465dbf57a1b730e7a2b9844e0"},
- {file = "psutil-5.9.8-cp37-abi3-win_amd64.whl", hash = "sha256:8db4c1b57507eef143a15a6884ca10f7c73876cdf5d51e713151c1236a0e68cf"},
- {file = "psutil-5.9.8-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:d16bbddf0693323b8c6123dd804100241da461e41d6e332fb0ba6058f630f8c8"},
- {file = "psutil-5.9.8.tar.gz", hash = "sha256:6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c"},
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
+files = [
+ {file = "psutil-6.1.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:9ccc4316f24409159897799b83004cb1e24f9819b0dcf9c0b68bdcb6cefee6a8"},
+ {file = "psutil-6.1.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ca9609c77ea3b8481ab005da74ed894035936223422dc591d6772b147421f777"},
+ {file = "psutil-6.1.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:8df0178ba8a9e5bc84fed9cfa61d54601b371fbec5c8eebad27575f1e105c0d4"},
+ {file = "psutil-6.1.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:1924e659d6c19c647e763e78670a05dbb7feaf44a0e9c94bf9e14dfc6ba50468"},
+ {file = "psutil-6.1.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:018aeae2af92d943fdf1da6b58665124897cfc94faa2ca92098838f83e1b1bca"},
+ {file = "psutil-6.1.1-cp27-none-win32.whl", hash = "sha256:6d4281f5bbca041e2292be3380ec56a9413b790579b8e593b1784499d0005dac"},
+ {file = "psutil-6.1.1-cp27-none-win_amd64.whl", hash = "sha256:c777eb75bb33c47377c9af68f30e9f11bc78e0f07fbf907be4a5d70b2fe5f030"},
+ {file = "psutil-6.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8"},
+ {file = "psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377"},
+ {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003"},
+ {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160"},
+ {file = "psutil-6.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3"},
+ {file = "psutil-6.1.1-cp36-cp36m-win32.whl", hash = "sha256:384636b1a64b47814437d1173be1427a7c83681b17a450bfc309a1953e329603"},
+ {file = "psutil-6.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:8be07491f6ebe1a693f17d4f11e69d0dc1811fa082736500f649f79df7735303"},
+ {file = "psutil-6.1.1-cp37-abi3-win32.whl", hash = "sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53"},
+ {file = "psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649"},
+ {file = "psutil-6.1.1.tar.gz", hash = "sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5"},
]
[package.extras]
-test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"]
+dev = ["abi3audit", "black", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest-cov", "requests", "rstcheck", "ruff", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "virtualenv", "vulture", "wheel"]
+test = ["pytest", "pytest-xdist", "setuptools"]
[[package]]
name = "ptyprocess"
@@ -1675,13 +1821,13 @@ files = [
[[package]]
name = "pure-eval"
-version = "0.2.2"
+version = "0.2.3"
description = "Safely evaluate AST nodes without side effects"
optional = false
python-versions = "*"
files = [
- {file = "pure_eval-0.2.2-py3-none-any.whl", hash = "sha256:01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350"},
- {file = "pure_eval-0.2.2.tar.gz", hash = "sha256:2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3"},
+ {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"},
+ {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"},
]
[package.extras]
@@ -1689,13 +1835,13 @@ tests = ["pytest"]
[[package]]
name = "pycodestyle"
-version = "2.11.1"
+version = "2.12.1"
description = "Python style guide checker"
optional = false
python-versions = ">=3.8"
files = [
- {file = "pycodestyle-2.11.1-py2.py3-none-any.whl", hash = "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67"},
- {file = "pycodestyle-2.11.1.tar.gz", hash = "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f"},
+ {file = "pycodestyle-2.12.1-py2.py3-none-any.whl", hash = "sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3"},
+ {file = "pycodestyle-2.12.1.tar.gz", hash = "sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521"},
]
[[package]]
@@ -1711,109 +1857,131 @@ files = [
[[package]]
name = "pydantic"
-version = "2.7.0"
+version = "2.10.4"
description = "Data validation using Python type hints"
optional = false
python-versions = ">=3.8"
files = [
- {file = "pydantic-2.7.0-py3-none-any.whl", hash = "sha256:9dee74a271705f14f9a1567671d144a851c675b072736f0a7b2608fd9e495352"},
- {file = "pydantic-2.7.0.tar.gz", hash = "sha256:b5ecdd42262ca2462e2624793551e80911a1e989f462910bb81aef974b4bb383"},
+ {file = "pydantic-2.10.4-py3-none-any.whl", hash = "sha256:597e135ea68be3a37552fb524bc7d0d66dcf93d395acd93a00682f1efcb8ee3d"},
+ {file = "pydantic-2.10.4.tar.gz", hash = "sha256:82f12e9723da6de4fe2ba888b5971157b3be7ad914267dea8f05f82b28254f06"},
]
[package.dependencies]
-annotated-types = ">=0.4.0"
-pydantic-core = "2.18.1"
-typing-extensions = ">=4.6.1"
+annotated-types = ">=0.6.0"
+pydantic-core = "2.27.2"
+typing-extensions = ">=4.12.2"
[package.extras]
email = ["email-validator (>=2.0.0)"]
+timezone = ["tzdata"]
[[package]]
name = "pydantic-core"
-version = "2.18.1"
+version = "2.27.2"
description = "Core functionality for Pydantic validation and serialization"
optional = false
python-versions = ">=3.8"
files = [
- {file = "pydantic_core-2.18.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:ee9cf33e7fe14243f5ca6977658eb7d1042caaa66847daacbd2117adb258b226"},
- {file = "pydantic_core-2.18.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6b7bbb97d82659ac8b37450c60ff2e9f97e4eb0f8a8a3645a5568b9334b08b50"},
- {file = "pydantic_core-2.18.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df4249b579e75094f7e9bb4bd28231acf55e308bf686b952f43100a5a0be394c"},
- {file = "pydantic_core-2.18.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d0491006a6ad20507aec2be72e7831a42efc93193d2402018007ff827dc62926"},
- {file = "pydantic_core-2.18.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ae80f72bb7a3e397ab37b53a2b49c62cc5496412e71bc4f1277620a7ce3f52b"},
- {file = "pydantic_core-2.18.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:58aca931bef83217fca7a390e0486ae327c4af9c3e941adb75f8772f8eeb03a1"},
- {file = "pydantic_core-2.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1be91ad664fc9245404a789d60cba1e91c26b1454ba136d2a1bf0c2ac0c0505a"},
- {file = "pydantic_core-2.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:667880321e916a8920ef49f5d50e7983792cf59f3b6079f3c9dac2b88a311d17"},
- {file = "pydantic_core-2.18.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f7054fdc556f5421f01e39cbb767d5ec5c1139ea98c3e5b350e02e62201740c7"},
- {file = "pydantic_core-2.18.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:030e4f9516f9947f38179249778709a460a3adb516bf39b5eb9066fcfe43d0e6"},
- {file = "pydantic_core-2.18.1-cp310-none-win32.whl", hash = "sha256:2e91711e36e229978d92642bfc3546333a9127ecebb3f2761372e096395fc649"},
- {file = "pydantic_core-2.18.1-cp310-none-win_amd64.whl", hash = "sha256:9a29726f91c6cb390b3c2338f0df5cd3e216ad7a938762d11c994bb37552edb0"},
- {file = "pydantic_core-2.18.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:9ece8a49696669d483d206b4474c367852c44815fca23ac4e48b72b339807f80"},
- {file = "pydantic_core-2.18.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a5d83efc109ceddb99abd2c1316298ced2adb4570410defe766851a804fcd5b"},
- {file = "pydantic_core-2.18.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f7973c381283783cd1043a8c8f61ea5ce7a3a58b0369f0ee0ee975eaf2f2a1b"},
- {file = "pydantic_core-2.18.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:54c7375c62190a7845091f521add19b0f026bcf6ae674bdb89f296972272e86d"},
- {file = "pydantic_core-2.18.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dd63cec4e26e790b70544ae5cc48d11b515b09e05fdd5eff12e3195f54b8a586"},
- {file = "pydantic_core-2.18.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:561cf62c8a3498406495cfc49eee086ed2bb186d08bcc65812b75fda42c38294"},
- {file = "pydantic_core-2.18.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68717c38a68e37af87c4da20e08f3e27d7e4212e99e96c3d875fbf3f4812abfc"},
- {file = "pydantic_core-2.18.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2d5728e93d28a3c63ee513d9ffbac9c5989de8c76e049dbcb5bfe4b923a9739d"},
- {file = "pydantic_core-2.18.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f0f17814c505f07806e22b28856c59ac80cee7dd0fbb152aed273e116378f519"},
- {file = "pydantic_core-2.18.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d816f44a51ba5175394bc6c7879ca0bd2be560b2c9e9f3411ef3a4cbe644c2e9"},
- {file = "pydantic_core-2.18.1-cp311-none-win32.whl", hash = "sha256:09f03dfc0ef8c22622eaa8608caa4a1e189cfb83ce847045eca34f690895eccb"},
- {file = "pydantic_core-2.18.1-cp311-none-win_amd64.whl", hash = "sha256:27f1009dc292f3b7ca77feb3571c537276b9aad5dd4efb471ac88a8bd09024e9"},
- {file = "pydantic_core-2.18.1-cp311-none-win_arm64.whl", hash = "sha256:48dd883db92e92519201f2b01cafa881e5f7125666141a49ffba8b9facc072b0"},
- {file = "pydantic_core-2.18.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:b6b0e4912030c6f28bcb72b9ebe4989d6dc2eebcd2a9cdc35fefc38052dd4fe8"},
- {file = "pydantic_core-2.18.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f3202a429fe825b699c57892d4371c74cc3456d8d71b7f35d6028c96dfecad31"},
- {file = "pydantic_core-2.18.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3982b0a32d0a88b3907e4b0dc36809fda477f0757c59a505d4e9b455f384b8b"},
- {file = "pydantic_core-2.18.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25595ac311f20e5324d1941909b0d12933f1fd2171075fcff763e90f43e92a0d"},
- {file = "pydantic_core-2.18.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:14fe73881cf8e4cbdaded8ca0aa671635b597e42447fec7060d0868b52d074e6"},
- {file = "pydantic_core-2.18.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca976884ce34070799e4dfc6fbd68cb1d181db1eefe4a3a94798ddfb34b8867f"},
- {file = "pydantic_core-2.18.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:684d840d2c9ec5de9cb397fcb3f36d5ebb6fa0d94734f9886032dd796c1ead06"},
- {file = "pydantic_core-2.18.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:54764c083bbe0264f0f746cefcded6cb08fbbaaf1ad1d78fb8a4c30cff999a90"},
- {file = "pydantic_core-2.18.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:201713f2f462e5c015b343e86e68bd8a530a4f76609b33d8f0ec65d2b921712a"},
- {file = "pydantic_core-2.18.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fd1a9edb9dd9d79fbeac1ea1f9a8dd527a6113b18d2e9bcc0d541d308dae639b"},
- {file = "pydantic_core-2.18.1-cp312-none-win32.whl", hash = "sha256:d5e6b7155b8197b329dc787356cfd2684c9d6a6b1a197f6bbf45f5555a98d411"},
- {file = "pydantic_core-2.18.1-cp312-none-win_amd64.whl", hash = "sha256:9376d83d686ec62e8b19c0ac3bf8d28d8a5981d0df290196fb6ef24d8a26f0d6"},
- {file = "pydantic_core-2.18.1-cp312-none-win_arm64.whl", hash = "sha256:c562b49c96906b4029b5685075fe1ebd3b5cc2601dfa0b9e16c2c09d6cbce048"},
- {file = "pydantic_core-2.18.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:3e352f0191d99fe617371096845070dee295444979efb8f27ad941227de6ad09"},
- {file = "pydantic_core-2.18.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c0295d52b012cbe0d3059b1dba99159c3be55e632aae1999ab74ae2bd86a33d7"},
- {file = "pydantic_core-2.18.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56823a92075780582d1ffd4489a2e61d56fd3ebb4b40b713d63f96dd92d28144"},
- {file = "pydantic_core-2.18.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dd3f79e17b56741b5177bcc36307750d50ea0698df6aa82f69c7db32d968c1c2"},
- {file = "pydantic_core-2.18.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38a5024de321d672a132b1834a66eeb7931959c59964b777e8f32dbe9523f6b1"},
- {file = "pydantic_core-2.18.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2ce426ee691319d4767748c8e0895cfc56593d725594e415f274059bcf3cb76"},
- {file = "pydantic_core-2.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2adaeea59849ec0939af5c5d476935f2bab4b7f0335b0110f0f069a41024278e"},
- {file = "pydantic_core-2.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9b6431559676a1079eac0f52d6d0721fb8e3c5ba43c37bc537c8c83724031feb"},
- {file = "pydantic_core-2.18.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:85233abb44bc18d16e72dc05bf13848a36f363f83757541f1a97db2f8d58cfd9"},
- {file = "pydantic_core-2.18.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:641a018af4fe48be57a2b3d7a1f0f5dbca07c1d00951d3d7463f0ac9dac66622"},
- {file = "pydantic_core-2.18.1-cp38-none-win32.whl", hash = "sha256:63d7523cd95d2fde0d28dc42968ac731b5bb1e516cc56b93a50ab293f4daeaad"},
- {file = "pydantic_core-2.18.1-cp38-none-win_amd64.whl", hash = "sha256:907a4d7720abfcb1c81619863efd47c8a85d26a257a2dbebdb87c3b847df0278"},
- {file = "pydantic_core-2.18.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:aad17e462f42ddbef5984d70c40bfc4146c322a2da79715932cd8976317054de"},
- {file = "pydantic_core-2.18.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:94b9769ba435b598b547c762184bcfc4783d0d4c7771b04a3b45775c3589ca44"},
- {file = "pydantic_core-2.18.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80e0e57cc704a52fb1b48f16d5b2c8818da087dbee6f98d9bf19546930dc64b5"},
- {file = "pydantic_core-2.18.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:76b86e24039c35280ceee6dce7e62945eb93a5175d43689ba98360ab31eebc4a"},
- {file = "pydantic_core-2.18.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12a05db5013ec0ca4a32cc6433f53faa2a014ec364031408540ba858c2172bb0"},
- {file = "pydantic_core-2.18.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:250ae39445cb5475e483a36b1061af1bc233de3e9ad0f4f76a71b66231b07f88"},
- {file = "pydantic_core-2.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a32204489259786a923e02990249c65b0f17235073149d0033efcebe80095570"},
- {file = "pydantic_core-2.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6395a4435fa26519fd96fdccb77e9d00ddae9dd6c742309bd0b5610609ad7fb2"},
- {file = "pydantic_core-2.18.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2533ad2883f001efa72f3d0e733fb846710c3af6dcdd544fe5bf14fa5fe2d7db"},
- {file = "pydantic_core-2.18.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b560b72ed4816aee52783c66854d96157fd8175631f01ef58e894cc57c84f0f6"},
- {file = "pydantic_core-2.18.1-cp39-none-win32.whl", hash = "sha256:582cf2cead97c9e382a7f4d3b744cf0ef1a6e815e44d3aa81af3ad98762f5a9b"},
- {file = "pydantic_core-2.18.1-cp39-none-win_amd64.whl", hash = "sha256:ca71d501629d1fa50ea7fa3b08ba884fe10cefc559f5c6c8dfe9036c16e8ae89"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e178e5b66a06ec5bf51668ec0d4ac8cfb2bdcb553b2c207d58148340efd00143"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:72722ce529a76a4637a60be18bd789d8fb871e84472490ed7ddff62d5fed620d"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fe0c1ce5b129455e43f941f7a46f61f3d3861e571f2905d55cdbb8b5c6f5e2c"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4284c621f06a72ce2cb55f74ea3150113d926a6eb78ab38340c08f770eb9b4d"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a0c3e718f4e064efde68092d9d974e39572c14e56726ecfaeebbe6544521f47"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:2027493cc44c23b598cfaf200936110433d9caa84e2c6cf487a83999638a96ac"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:76909849d1a6bffa5a07742294f3fa1d357dc917cb1fe7b470afbc3a7579d539"},
- {file = "pydantic_core-2.18.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ee7ccc7fb7e921d767f853b47814c3048c7de536663e82fbc37f5eb0d532224b"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ee2794111c188548a4547eccc73a6a8527fe2af6cf25e1a4ebda2fd01cdd2e60"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a139fe9f298dc097349fb4f28c8b81cc7a202dbfba66af0e14be5cfca4ef7ce5"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d074b07a10c391fc5bbdcb37b2f16f20fcd9e51e10d01652ab298c0d07908ee2"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c69567ddbac186e8c0aadc1f324a60a564cfe25e43ef2ce81bcc4b8c3abffbae"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:baf1c7b78cddb5af00971ad5294a4583188bda1495b13760d9f03c9483bb6203"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:2684a94fdfd1b146ff10689c6e4e815f6a01141781c493b97342cdc5b06f4d5d"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:73c1bc8a86a5c9e8721a088df234265317692d0b5cd9e86e975ce3bc3db62a59"},
- {file = "pydantic_core-2.18.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e60defc3c15defb70bb38dd605ff7e0fae5f6c9c7cbfe0ad7868582cb7e844a6"},
- {file = "pydantic_core-2.18.1.tar.gz", hash = "sha256:de9d3e8717560eb05e28739d1b35e4eac2e458553a52a301e51352a7ffc86a35"},
+ {file = "pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa"},
+ {file = "pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c"},
+ {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a"},
+ {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5"},
+ {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c"},
+ {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7"},
+ {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a"},
+ {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236"},
+ {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962"},
+ {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9"},
+ {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af"},
+ {file = "pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4"},
+ {file = "pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31"},
+ {file = "pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc"},
+ {file = "pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7"},
+ {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15"},
+ {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306"},
+ {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99"},
+ {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459"},
+ {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048"},
+ {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d"},
+ {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b"},
+ {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474"},
+ {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6"},
+ {file = "pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c"},
+ {file = "pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc"},
+ {file = "pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4"},
+ {file = "pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0"},
+ {file = "pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef"},
+ {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7"},
+ {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934"},
+ {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6"},
+ {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c"},
+ {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2"},
+ {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4"},
+ {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3"},
+ {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4"},
+ {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57"},
+ {file = "pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc"},
+ {file = "pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9"},
+ {file = "pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b"},
+ {file = "pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b"},
+ {file = "pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154"},
+ {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9"},
+ {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9"},
+ {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1"},
+ {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a"},
+ {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e"},
+ {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4"},
+ {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27"},
+ {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee"},
+ {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1"},
+ {file = "pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130"},
+ {file = "pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee"},
+ {file = "pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b"},
+ {file = "pydantic_core-2.27.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d3e8d504bdd3f10835468f29008d72fc8359d95c9c415ce6e767203db6127506"},
+ {file = "pydantic_core-2.27.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:521eb9b7f036c9b6187f0b47318ab0d7ca14bd87f776240b90b21c1f4f149320"},
+ {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85210c4d99a0114f5a9481b44560d7d1e35e32cc5634c656bc48e590b669b145"},
+ {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d716e2e30c6f140d7560ef1538953a5cd1a87264c737643d481f2779fc247fe1"},
+ {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f66d89ba397d92f840f8654756196d93804278457b5fbede59598a1f9f90b228"},
+ {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:669e193c1c576a58f132e3158f9dfa9662969edb1a250c54d8fa52590045f046"},
+ {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdbe7629b996647b99c01b37f11170a57ae675375b14b8c13b8518b8320ced5"},
+ {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d262606bf386a5ba0b0af3b97f37c83d7011439e3dc1a9298f21efb292e42f1a"},
+ {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cabb9bcb7e0d97f74df8646f34fc76fbf793b7f6dc2438517d7a9e50eee4f14d"},
+ {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:d2d63f1215638d28221f664596b1ccb3944f6e25dd18cd3b86b0a4c408d5ebb9"},
+ {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bca101c00bff0adb45a833f8451b9105d9df18accb8743b08107d7ada14bd7da"},
+ {file = "pydantic_core-2.27.2-cp38-cp38-win32.whl", hash = "sha256:f6f8e111843bbb0dee4cb6594cdc73e79b3329b526037ec242a3e49012495b3b"},
+ {file = "pydantic_core-2.27.2-cp38-cp38-win_amd64.whl", hash = "sha256:fd1aea04935a508f62e0d0ef1f5ae968774a32afc306fb8545e06f5ff5cdf3ad"},
+ {file = "pydantic_core-2.27.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c10eb4f1659290b523af58fa7cffb452a61ad6ae5613404519aee4bfbf1df993"},
+ {file = "pydantic_core-2.27.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef592d4bad47296fb11f96cd7dc898b92e795032b4894dfb4076cfccd43a9308"},
+ {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c61709a844acc6bf0b7dce7daae75195a10aac96a596ea1b776996414791ede4"},
+ {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c5f762659e47fdb7b16956c71598292f60a03aa92f8b6351504359dbdba6cf"},
+ {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c9775e339e42e79ec99c441d9730fccf07414af63eac2f0e48e08fd38a64d76"},
+ {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57762139821c31847cfb2df63c12f725788bd9f04bc2fb392790959b8f70f118"},
+ {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d1e85068e818c73e048fe28cfc769040bb1f475524f4745a5dc621f75ac7630"},
+ {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:097830ed52fd9e427942ff3b9bc17fab52913b2f50f2880dc4a5611446606a54"},
+ {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:044a50963a614ecfae59bb1eaf7ea7efc4bc62f49ed594e18fa1e5d953c40e9f"},
+ {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:4e0b4220ba5b40d727c7f879eac379b822eee5d8fff418e9d3381ee45b3b0362"},
+ {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5e4f4bb20d75e9325cc9696c6802657b58bc1dbbe3022f32cc2b2b632c3fbb96"},
+ {file = "pydantic_core-2.27.2-cp39-cp39-win32.whl", hash = "sha256:cca63613e90d001b9f2f9a9ceb276c308bfa2a43fafb75c8031c4f66039e8c6e"},
+ {file = "pydantic_core-2.27.2-cp39-cp39-win_amd64.whl", hash = "sha256:77d1bca19b0f7021b3a982e6f903dcd5b2b06076def36a652e3907f596e29f67"},
+ {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e"},
+ {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8"},
+ {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3"},
+ {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f"},
+ {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133"},
+ {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc"},
+ {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50"},
+ {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9"},
+ {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151"},
+ {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c33939a82924da9ed65dab5a65d427205a73181d8098e79b6b426bdf8ad4e656"},
+ {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:00bad2484fa6bda1e216e7345a798bd37c68fb2d97558edd584942aa41b7d278"},
+ {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c817e2b40aba42bac6f457498dacabc568c3b7a986fc9ba7c8d9d260b71485fb"},
+ {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:251136cdad0cb722e93732cb45ca5299fb56e1344a833640bf93b2803f8d1bfd"},
+ {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2088237af596f0a524d3afc39ab3b036e8adb054ee57cbb1dcf8e09da5b29cc"},
+ {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d4041c0b966a84b4ae7a09832eb691a35aec90910cd2dbe7a208de59be77965b"},
+ {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:8083d4e875ebe0b864ffef72a4304827015cff328a1be6e22cc850753bfb122b"},
+ {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f141ee28a0ad2123b6611b6ceff018039df17f32ada8b534e6aa039545a3efb2"},
+ {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7d0c8399fcc1848491f00e0314bd59fb34a9c008761bcb422a057670c3f65e35"},
+ {file = "pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39"},
]
[package.dependencies]
@@ -1832,47 +2000,46 @@ files = [
[[package]]
name = "pygments"
-version = "2.17.2"
+version = "2.18.0"
description = "Pygments is a syntax highlighting package written in Python."
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"},
- {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"},
+ {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"},
+ {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"},
]
[package.extras]
-plugins = ["importlib-metadata"]
windows-terminal = ["colorama (>=0.4.6)"]
[[package]]
name = "pyproject-api"
-version = "1.6.1"
+version = "1.8.0"
description = "API to interact with the python pyproject.toml based projects"
optional = false
python-versions = ">=3.8"
files = [
- {file = "pyproject_api-1.6.1-py3-none-any.whl", hash = "sha256:4c0116d60476b0786c88692cf4e325a9814965e2469c5998b830bba16b183675"},
- {file = "pyproject_api-1.6.1.tar.gz", hash = "sha256:1817dc018adc0d1ff9ca1ed8c60e1623d5aaca40814b953af14a9cf9a5cae538"},
+ {file = "pyproject_api-1.8.0-py3-none-any.whl", hash = "sha256:3d7d347a047afe796fd5d1885b1e391ba29be7169bd2f102fcd378f04273d228"},
+ {file = "pyproject_api-1.8.0.tar.gz", hash = "sha256:77b8049f2feb5d33eefcc21b57f1e279636277a8ac8ad6b5871037b243778496"},
]
[package.dependencies]
-packaging = ">=23.1"
+packaging = ">=24.1"
tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""}
[package.extras]
-docs = ["furo (>=2023.8.19)", "sphinx (<7.2)", "sphinx-autodoc-typehints (>=1.24)"]
-testing = ["covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "setuptools (>=68.1.2)", "wheel (>=0.41.2)"]
+docs = ["furo (>=2024.8.6)", "sphinx-autodoc-typehints (>=2.4.1)"]
+testing = ["covdefaults (>=2.3)", "pytest (>=8.3.3)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "setuptools (>=75.1)"]
[[package]]
name = "pytest"
-version = "8.1.1"
+version = "8.3.4"
description = "pytest: simple powerful testing with Python"
optional = false
python-versions = ">=3.8"
files = [
- {file = "pytest-8.1.1-py3-none-any.whl", hash = "sha256:2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7"},
- {file = "pytest-8.1.1.tar.gz", hash = "sha256:ac978141a75948948817d360297b7aae0fcb9d6ff6bc9ec6d514b85d5a65c044"},
+ {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"},
+ {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"},
]
[package.dependencies]
@@ -1880,11 +2047,11 @@ colorama = {version = "*", markers = "sys_platform == \"win32\""}
exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""}
iniconfig = "*"
packaging = "*"
-pluggy = ">=1.4,<2.0"
+pluggy = ">=1.5,<2"
tomli = {version = ">=1", markers = "python_version < \"3.11\""}
[package.extras]
-testing = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"]
+dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"]
[[package]]
name = "python-dateutil"
@@ -1902,263 +2069,263 @@ six = ">=1.5"
[[package]]
name = "python-json-logger"
-version = "2.0.7"
-description = "A python library adding a json log formatter"
+version = "3.2.1"
+description = "JSON Log Formatter for the Python Logging Package"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.8"
+files = [
+ {file = "python_json_logger-3.2.1-py3-none-any.whl", hash = "sha256:cdc17047eb5374bd311e748b42f99d71223f3b0e186f4206cc5d52aefe85b090"},
+ {file = "python_json_logger-3.2.1.tar.gz", hash = "sha256:8eb0554ea17cb75b05d2848bc14fb02fbdbd9d6972120781b974380bfa162008"},
+]
+
+[package.extras]
+dev = ["backports.zoneinfo", "black", "build", "freezegun", "mdx_truly_sane_lists", "mike", "mkdocs", "mkdocs-awesome-pages-plugin", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-material (>=8.5)", "mkdocstrings[python]", "msgspec", "msgspec-python313-pre", "mypy", "orjson", "pylint", "pytest", "tzdata", "validate-pyproject[all]"]
+
+[[package]]
+name = "pytz"
+version = "2024.2"
+description = "World timezone definitions, modern and historical"
+optional = false
+python-versions = "*"
files = [
- {file = "python-json-logger-2.0.7.tar.gz", hash = "sha256:23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c"},
- {file = "python_json_logger-2.0.7-py3-none-any.whl", hash = "sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd"},
+ {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"},
+ {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"},
]
[[package]]
name = "pywin32"
-version = "306"
+version = "308"
description = "Python for Window Extensions"
optional = false
python-versions = "*"
files = [
- {file = "pywin32-306-cp310-cp310-win32.whl", hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d"},
- {file = "pywin32-306-cp310-cp310-win_amd64.whl", hash = "sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8"},
- {file = "pywin32-306-cp311-cp311-win32.whl", hash = "sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407"},
- {file = "pywin32-306-cp311-cp311-win_amd64.whl", hash = "sha256:a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e"},
- {file = "pywin32-306-cp311-cp311-win_arm64.whl", hash = "sha256:70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a"},
- {file = "pywin32-306-cp312-cp312-win32.whl", hash = "sha256:383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b"},
- {file = "pywin32-306-cp312-cp312-win_amd64.whl", hash = "sha256:37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e"},
- {file = "pywin32-306-cp312-cp312-win_arm64.whl", hash = "sha256:5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040"},
- {file = "pywin32-306-cp37-cp37m-win32.whl", hash = "sha256:1c73ea9a0d2283d889001998059f5eaaba3b6238f767c9cf2833b13e6a685f65"},
- {file = "pywin32-306-cp37-cp37m-win_amd64.whl", hash = "sha256:72c5f621542d7bdd4fdb716227be0dd3f8565c11b280be6315b06ace35487d36"},
- {file = "pywin32-306-cp38-cp38-win32.whl", hash = "sha256:e4c092e2589b5cf0d365849e73e02c391c1349958c5ac3e9d5ccb9a28e017b3a"},
- {file = "pywin32-306-cp38-cp38-win_amd64.whl", hash = "sha256:e8ac1ae3601bee6ca9f7cb4b5363bf1c0badb935ef243c4733ff9a393b1690c0"},
- {file = "pywin32-306-cp39-cp39-win32.whl", hash = "sha256:e25fd5b485b55ac9c057f67d94bc203f3f6595078d1fb3b458c9c28b7153a802"},
- {file = "pywin32-306-cp39-cp39-win_amd64.whl", hash = "sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4"},
+ {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"},
+ {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"},
+ {file = "pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c"},
+ {file = "pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a"},
+ {file = "pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b"},
+ {file = "pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6"},
+ {file = "pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897"},
+ {file = "pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47"},
+ {file = "pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091"},
+ {file = "pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed"},
+ {file = "pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4"},
+ {file = "pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd"},
+ {file = "pywin32-308-cp37-cp37m-win32.whl", hash = "sha256:1f696ab352a2ddd63bd07430080dd598e6369152ea13a25ebcdd2f503a38f1ff"},
+ {file = "pywin32-308-cp37-cp37m-win_amd64.whl", hash = "sha256:13dcb914ed4347019fbec6697a01a0aec61019c1046c2b905410d197856326a6"},
+ {file = "pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0"},
+ {file = "pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de"},
+ {file = "pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341"},
+ {file = "pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920"},
]
[[package]]
name = "pywinpty"
-version = "2.0.13"
+version = "2.0.14"
description = "Pseudo terminal support for Windows from Python."
optional = false
python-versions = ">=3.8"
files = [
- {file = "pywinpty-2.0.13-cp310-none-win_amd64.whl", hash = "sha256:697bff211fb5a6508fee2dc6ff174ce03f34a9a233df9d8b5fe9c8ce4d5eaf56"},
- {file = "pywinpty-2.0.13-cp311-none-win_amd64.whl", hash = "sha256:b96fb14698db1284db84ca38c79f15b4cfdc3172065b5137383910567591fa99"},
- {file = "pywinpty-2.0.13-cp312-none-win_amd64.whl", hash = "sha256:2fd876b82ca750bb1333236ce98488c1be96b08f4f7647cfdf4129dfad83c2d4"},
- {file = "pywinpty-2.0.13-cp38-none-win_amd64.whl", hash = "sha256:61d420c2116c0212808d31625611b51caf621fe67f8a6377e2e8b617ea1c1f7d"},
- {file = "pywinpty-2.0.13-cp39-none-win_amd64.whl", hash = "sha256:71cb613a9ee24174730ac7ae439fd179ca34ccb8c5349e8d7b72ab5dea2c6f4b"},
- {file = "pywinpty-2.0.13.tar.gz", hash = "sha256:c34e32351a3313ddd0d7da23d27f835c860d32fe4ac814d372a3ea9594f41dde"},
+ {file = "pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f"},
+ {file = "pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7"},
+ {file = "pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737"},
+ {file = "pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819"},
+ {file = "pywinpty-2.0.14-cp39-none-win_amd64.whl", hash = "sha256:5725fd56f73c0531ec218663bd8c8ff5acc43c78962fab28564871b5fce053fd"},
+ {file = "pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e"},
]
[[package]]
name = "pyyaml"
-version = "6.0.1"
+version = "6.0.2"
description = "YAML parser and emitter for Python"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.8"
files = [
- {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"},
- {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"},
- {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"},
- {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"},
- {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"},
- {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"},
- {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"},
- {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"},
- {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"},
- {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"},
- {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"},
- {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"},
- {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"},
- {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"},
- {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"},
- {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
- {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
- {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
- {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
- {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
- {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
- {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"},
- {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"},
- {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"},
- {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"},
- {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"},
- {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"},
- {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"},
- {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"},
- {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"},
- {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"},
- {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"},
- {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"},
- {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"},
- {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"},
- {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"},
- {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"},
- {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"},
- {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"},
- {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"},
- {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"},
- {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"},
- {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"},
- {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"},
- {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"},
- {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"},
- {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"},
- {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"},
- {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"},
- {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"},
+ {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"},
+ {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"},
+ {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"},
+ {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"},
+ {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"},
+ {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"},
+ {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"},
+ {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"},
+ {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"},
+ {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"},
+ {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"},
+ {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"},
+ {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"},
+ {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"},
+ {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"},
+ {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"},
+ {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"},
+ {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"},
+ {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"},
+ {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"},
+ {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"},
+ {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"},
+ {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"},
+ {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"},
+ {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"},
+ {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"},
+ {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"},
+ {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"},
+ {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"},
+ {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"},
+ {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"},
+ {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"},
+ {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"},
+ {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"},
+ {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"},
+ {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"},
+ {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"},
+ {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"},
+ {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"},
+ {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"},
+ {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"},
+ {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"},
+ {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"},
+ {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"},
+ {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"},
+ {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"},
+ {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"},
+ {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"},
+ {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"},
+ {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"},
+ {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"},
+ {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"},
+ {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"},
]
[[package]]
name = "pyzmq"
-version = "26.0.2"
+version = "26.2.0"
description = "Python bindings for 0MQ"
optional = false
python-versions = ">=3.7"
files = [
- {file = "pyzmq-26.0.2-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:1a60a03b01e8c9c58932ec0cca15b1712d911c2800eb82d4281bc1ae5b6dad50"},
- {file = "pyzmq-26.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:949067079e14ea1973bd740255e0840118c163d4bce8837f539d749f145cf5c3"},
- {file = "pyzmq-26.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37e7edfa6cf96d036a403775c96afa25058d1bb940a79786a9a2fc94a783abe3"},
- {file = "pyzmq-26.0.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:903cc7a84a7d4326b43755c368780800e035aa3d711deae84a533fdffa8755b0"},
- {file = "pyzmq-26.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6cb2e41af165e5f327d06fbdd79a42a4e930267fade4e9f92d17f3ccce03f3a7"},
- {file = "pyzmq-26.0.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:55353b8189adcfc4c125fc4ce59d477744118e9c0ec379dd0999c5fa120ac4f5"},
- {file = "pyzmq-26.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f961423ff6236a752ced80057a20e623044df95924ed1009f844cde8b3a595f9"},
- {file = "pyzmq-26.0.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ba77fe84fe4f5f3dc0ef681a6d366685c8ffe1c8439c1d7530997b05ac06a04b"},
- {file = "pyzmq-26.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:52589f0a745ef61b9c75c872cf91f8c1f7c0668eb3dd99d7abd639d8c0fb9ca7"},
- {file = "pyzmq-26.0.2-cp310-cp310-win32.whl", hash = "sha256:b7b6d2a46c7afe2ad03ec8faf9967090c8ceae85c4d8934d17d7cae6f9062b64"},
- {file = "pyzmq-26.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:86531e20de249d9204cc6d8b13d5a30537748c78820215161d8a3b9ea58ca111"},
- {file = "pyzmq-26.0.2-cp310-cp310-win_arm64.whl", hash = "sha256:f26a05029ecd2bd306b941ff8cb80f7620b7901421052bc429d238305b1cbf2f"},
- {file = "pyzmq-26.0.2-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:70770e296a9cb03d955540c99360aab861cbb3cba29516abbd106a15dbd91268"},
- {file = "pyzmq-26.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2740fd7161b39e178554ebf21aa5667a1c9ef0cd2cb74298fd4ef017dae7aec4"},
- {file = "pyzmq-26.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5e3706c32dea077faa42b1c92d825b7f86c866f72532d342e0be5e64d14d858"},
- {file = "pyzmq-26.0.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0fa1416876194927f7723d6b7171b95e1115602967fc6bfccbc0d2d51d8ebae1"},
- {file = "pyzmq-26.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ef9a79a48794099c57dc2df00340b5d47c5caa1792f9ddb8c7a26b1280bd575"},
- {file = "pyzmq-26.0.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:1c60fcdfa3229aeee4291c5d60faed3a813b18bdadb86299c4bf49e8e51e8605"},
- {file = "pyzmq-26.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e943c39c206b04df2eb5d71305761d7c3ca75fd49452115ea92db1b5b98dbdef"},
- {file = "pyzmq-26.0.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:8da0ed8a598693731c76659880a668f4748b59158f26ed283a93f7f04d47447e"},
- {file = "pyzmq-26.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7bf51970b11d67096bede97cdbad0f4333f7664f4708b9b2acb352bf4faa3140"},
- {file = "pyzmq-26.0.2-cp311-cp311-win32.whl", hash = "sha256:6f8e6bd5d066be605faa9fe5ec10aa1a46ad9f18fc8646f2b9aaefc8fb575742"},
- {file = "pyzmq-26.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:6d03da3a0ae691b361edcb39530075461202f699ce05adbb15055a0e1c9bcaa4"},
- {file = "pyzmq-26.0.2-cp311-cp311-win_arm64.whl", hash = "sha256:f84e33321b68ff00b60e9dbd1a483e31ab6022c577c8de525b8e771bd274ce68"},
- {file = "pyzmq-26.0.2-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:44c33ebd1c62a01db7fbc24e18bdda569d6639217d13d5929e986a2b0f69070d"},
- {file = "pyzmq-26.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ac04f904b4fce4afea9cdccbb78e24d468cb610a839d5a698853e14e2a3f9ecf"},
- {file = "pyzmq-26.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2133de5ba9adc5f481884ccb699eac9ce789708292945c05746880f95b241c0"},
- {file = "pyzmq-26.0.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7753c67c570d7fc80c2dc59b90ca1196f1224e0e2e29a548980c95fe0fe27fc1"},
- {file = "pyzmq-26.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d4e51632e6b12e65e8d9d7612446ecda2eda637a868afa7bce16270194650dd"},
- {file = "pyzmq-26.0.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:d6c38806f6ecd0acf3104b8d7e76a206bcf56dadd6ce03720d2fa9d9157d5718"},
- {file = "pyzmq-26.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:48f496bbe14686b51cec15406323ae6942851e14022efd7fc0e2ecd092c5982c"},
- {file = "pyzmq-26.0.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:e84a3161149c75bb7a7dc8646384186c34033e286a67fec1ad1bdedea165e7f4"},
- {file = "pyzmq-26.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:dabf796c67aa9f5a4fcc956d47f0d48b5c1ed288d628cf53aa1cf08e88654343"},
- {file = "pyzmq-26.0.2-cp312-cp312-win32.whl", hash = "sha256:3eee4c676af1b109f708d80ef0cf57ecb8aaa5900d1edaf90406aea7e0e20e37"},
- {file = "pyzmq-26.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:26721fec65846b3e4450dad050d67d31b017f97e67f7e0647b5f98aa47f828cf"},
- {file = "pyzmq-26.0.2-cp312-cp312-win_arm64.whl", hash = "sha256:653955c6c233e90de128a1b8e882abc7216f41f44218056bd519969c8c413a15"},
- {file = "pyzmq-26.0.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:becd8d8fb068fbb5a52096efd83a2d8e54354383f691781f53a4c26aee944542"},
- {file = "pyzmq-26.0.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7a15e5465e7083c12517209c9dd24722b25e9b63c49a563922922fc03554eb35"},
- {file = "pyzmq-26.0.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e8158ac8616941f874841f9fa0f6d2f1466178c2ff91ea08353fdc19de0d40c2"},
- {file = "pyzmq-26.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea2c6a53e28c7066ea7db86fcc0b71d78d01b818bb11d4a4341ec35059885295"},
- {file = "pyzmq-26.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:bdbc7dab0b0e9c62c97b732899c4242e3282ba803bad668e03650b59b165466e"},
- {file = "pyzmq-26.0.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e74b6d5ef57bb65bf1b4a37453d8d86d88550dde3fb0f23b1f1a24e60c70af5b"},
- {file = "pyzmq-26.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ed4c6ee624ecbc77b18aeeb07bf0700d26571ab95b8f723f0d02e056b5bce438"},
- {file = "pyzmq-26.0.2-cp37-cp37m-win32.whl", hash = "sha256:8a98b3cb0484b83c19d8fb5524c8a469cd9f10e743f5904ac285d92678ee761f"},
- {file = "pyzmq-26.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:aa5f95d71b6eca9cec28aa0a2f8310ea53dea313b63db74932879ff860c1fb8d"},
- {file = "pyzmq-26.0.2-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:5ff56c76ce77b9805378a7a73032c17cbdb1a5b84faa1df03c5d3e306e5616df"},
- {file = "pyzmq-26.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bab697fc1574fee4b81da955678708567c43c813c84c91074e452bda5346c921"},
- {file = "pyzmq-26.0.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0c0fed8aa9ba0488ee1cbdaa304deea92d52fab43d373297002cfcc69c0a20c5"},
- {file = "pyzmq-26.0.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:606b922699fcec472ed814dda4dc3ff7c748254e0b26762a0ba21a726eb1c107"},
- {file = "pyzmq-26.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45f0fd82bad4d199fa993fbf0ac586a7ac5879addbe436a35a389df7e0eb4c91"},
- {file = "pyzmq-26.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:166c5e41045939a52c01e6f374e493d9a6a45dfe677360d3e7026e38c42e8906"},
- {file = "pyzmq-26.0.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:d566e859e8b8d5bca08467c093061774924b3d78a5ba290e82735b2569edc84b"},
- {file = "pyzmq-26.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:264ee0e72b72ca59279dc320deab5ae0fac0d97881aed1875ce4bde2e56ffde0"},
- {file = "pyzmq-26.0.2-cp38-cp38-win32.whl", hash = "sha256:3152bbd3a4744cbdd83dfb210ed701838b8b0c9065cef14671d6d91df12197d0"},
- {file = "pyzmq-26.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:bf77601d75ca692c179154b7e5943c286a4aaffec02c491afe05e60493ce95f2"},
- {file = "pyzmq-26.0.2-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:c770a7545b3deca2db185b59175e710a820dd4ed43619f4c02e90b0e227c6252"},
- {file = "pyzmq-26.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d47175f0a380bfd051726bc5c0054036ae4a5d8caf922c62c8a172ccd95c1a2a"},
- {file = "pyzmq-26.0.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9bce298c1ce077837e110367c321285dc4246b531cde1abfc27e4a5bbe2bed4d"},
- {file = "pyzmq-26.0.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c40b09b7e184d6e3e1be1c8af2cc320c0f9f610d8a5df3dd866e6e6e4e32b235"},
- {file = "pyzmq-26.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d420d856bf728713874cefb911398efe69e1577835851dd297a308a78c14c249"},
- {file = "pyzmq-26.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d792d3cab987058451e55c70c5926e93e2ceb68ca5a2334863bb903eb860c9cb"},
- {file = "pyzmq-26.0.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:83ec17729cf6d3464dab98a11e98294fcd50e6b17eaabd3d841515c23f6dbd3a"},
- {file = "pyzmq-26.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47c17d5ebfa88ae90f08960c97b49917098665b8cd8be31f2c24e177bcf37a0f"},
- {file = "pyzmq-26.0.2-cp39-cp39-win32.whl", hash = "sha256:d509685d1cd1d018705a811c5f9d5bc237790936ead6d06f6558b77e16cc7235"},
- {file = "pyzmq-26.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:c7cc8cc009e8f6989a6d86c96f87dae5f5fb07d6c96916cdc7719d546152c7db"},
- {file = "pyzmq-26.0.2-cp39-cp39-win_arm64.whl", hash = "sha256:3ada31cb879cd7532f4a85b501f4255c747d4813ab76b35c49ed510ce4865b45"},
- {file = "pyzmq-26.0.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0a6ceaddc830dd3ca86cb8451cf373d1f05215368e11834538c2902ed5205139"},
- {file = "pyzmq-26.0.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a967681463aa7a99eb9a62bb18229b653b45c10ff0947b31cc0837a83dfb86f"},
- {file = "pyzmq-26.0.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6472a73bc115bc40a2076609a90894775abe6faf19a78375675a2f889a613071"},
- {file = "pyzmq-26.0.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d6aea92bcccfe5e5524d3c70a6f16ffdae548390ddad26f4207d55c55a40593"},
- {file = "pyzmq-26.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e025f6351e49d48a5aa2f5a09293aa769b0ee7369c25bed551647234b7fa0c75"},
- {file = "pyzmq-26.0.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:40bd7ebe4dbb37d27f0c56e2a844f360239343a99be422085e13e97da13f73f9"},
- {file = "pyzmq-26.0.2-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:1dd40d586ad6f53764104df6e01810fe1b4e88fd353774629a5e6fe253813f79"},
- {file = "pyzmq-26.0.2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f2aca15e9ad8c8657b5b3d7ae3d1724dc8c1c1059c06b4b674c3aa36305f4930"},
- {file = "pyzmq-26.0.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:450ec234736732eb0ebeffdb95a352450d4592f12c3e087e2a9183386d22c8bf"},
- {file = "pyzmq-26.0.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:f43be2bebbd09360a2f23af83b243dc25ffe7b583ea8c722e6df03e03a55f02f"},
- {file = "pyzmq-26.0.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:867f55e54aff254940bcec5eec068e7c0ac1e6bf360ab91479394a8bf356b0e6"},
- {file = "pyzmq-26.0.2-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:b4dbc033c5ad46f8c429bf238c25a889b8c1d86bfe23a74e1031a991cb3f0000"},
- {file = "pyzmq-26.0.2-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6e8dd2961462e337e21092ec2da0c69d814dcb1b6e892955a37444a425e9cfb8"},
- {file = "pyzmq-26.0.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35391e72df6c14a09b697c7b94384947c1dd326aca883ff98ff137acdf586c33"},
- {file = "pyzmq-26.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:1c3d3c92fa54eda94ab369ca5b8d35059987c326ba5e55326eb068862f64b1fc"},
- {file = "pyzmq-26.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e7aa61a9cc4f0523373e31fc9255bf4567185a099f85ca3598e64de484da3ab2"},
- {file = "pyzmq-26.0.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee53a8191271f144cc20b12c19daa9f1546adc84a2f33839e3338039b55c373c"},
- {file = "pyzmq-26.0.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ac60a980f07fa988983f7bfe6404ef3f1e4303f5288a01713bc1266df6d18783"},
- {file = "pyzmq-26.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88896b1b4817d7b2fe1ec7205c4bbe07bf5d92fb249bf2d226ddea8761996068"},
- {file = "pyzmq-26.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:18dfffe23751edee917764ffa133d5d3fef28dfd1cf3adebef8c90bc854c74c4"},
- {file = "pyzmq-26.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6926dd14cfe6967d3322640b6d5c3c3039db71716a5e43cca6e3b474e73e0b36"},
- {file = "pyzmq-26.0.2.tar.gz", hash = "sha256:f0f9bb370449158359bb72a3e12c658327670c0ffe6fbcd1af083152b64f9df0"},
+ {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629"},
+ {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b"},
+ {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89289a5ee32ef6c439086184529ae060c741334b8970a6855ec0b6ad3ff28764"},
+ {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5506f06d7dc6ecf1efacb4a013b1f05071bb24b76350832c96449f4a2d95091c"},
+ {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ea039387c10202ce304af74def5021e9adc6297067f3441d348d2b633e8166a"},
+ {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a2224fa4a4c2ee872886ed00a571f5e967c85e078e8e8c2530a2fb01b3309b88"},
+ {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:28ad5233e9c3b52d76196c696e362508959741e1a005fb8fa03b51aea156088f"},
+ {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1c17211bc037c7d88e85ed8b7d8f7e52db6dc8eca5590d162717c654550f7282"},
+ {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b8f86dd868d41bea9a5f873ee13bf5551c94cf6bc51baebc6f85075971fe6eea"},
+ {file = "pyzmq-26.2.0-cp310-cp310-win32.whl", hash = "sha256:46a446c212e58456b23af260f3d9fb785054f3e3653dbf7279d8f2b5546b21c2"},
+ {file = "pyzmq-26.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:49d34ab71db5a9c292a7644ce74190b1dd5a3475612eefb1f8be1d6961441971"},
+ {file = "pyzmq-26.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bfa832bfa540e5b5c27dcf5de5d82ebc431b82c453a43d141afb1e5d2de025fa"},
+ {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:8f7e66c7113c684c2b3f1c83cdd3376103ee0ce4c49ff80a648643e57fb22218"},
+ {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3a495b30fc91db2db25120df5847d9833af237546fd59170701acd816ccc01c4"},
+ {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77eb0968da535cba0470a5165468b2cac7772cfb569977cff92e240f57e31bef"},
+ {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ace4f71f1900a548f48407fc9be59c6ba9d9aaf658c2eea6cf2779e72f9f317"},
+ {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a78853d7280bffb93df0a4a6a2498cba10ee793cc8076ef797ef2f74d107cf"},
+ {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:689c5d781014956a4a6de61d74ba97b23547e431e9e7d64f27d4922ba96e9d6e"},
+ {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0aca98bc423eb7d153214b2df397c6421ba6373d3397b26c057af3c904452e37"},
+ {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f3496d76b89d9429a656293744ceca4d2ac2a10ae59b84c1da9b5165f429ad3"},
+ {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5c2b3bfd4b9689919db068ac6c9911f3fcb231c39f7dd30e3138be94896d18e6"},
+ {file = "pyzmq-26.2.0-cp311-cp311-win32.whl", hash = "sha256:eac5174677da084abf378739dbf4ad245661635f1600edd1221f150b165343f4"},
+ {file = "pyzmq-26.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:5a509df7d0a83a4b178d0f937ef14286659225ef4e8812e05580776c70e155d5"},
+ {file = "pyzmq-26.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0e6091b157d48cbe37bd67233318dbb53e1e6327d6fc3bb284afd585d141003"},
+ {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9"},
+ {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52"},
+ {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08"},
+ {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5"},
+ {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae"},
+ {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711"},
+ {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6"},
+ {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3"},
+ {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b"},
+ {file = "pyzmq-26.2.0-cp312-cp312-win32.whl", hash = "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7"},
+ {file = "pyzmq-26.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a"},
+ {file = "pyzmq-26.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b"},
+ {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726"},
+ {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3"},
+ {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50"},
+ {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb"},
+ {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187"},
+ {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b"},
+ {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18"},
+ {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115"},
+ {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e"},
+ {file = "pyzmq-26.2.0-cp313-cp313-win32.whl", hash = "sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5"},
+ {file = "pyzmq-26.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad"},
+ {file = "pyzmq-26.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797"},
+ {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a"},
+ {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc"},
+ {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5"},
+ {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672"},
+ {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797"},
+ {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386"},
+ {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306"},
+ {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6"},
+ {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0"},
+ {file = "pyzmq-26.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3b55a4229ce5da9497dd0452b914556ae58e96a4381bb6f59f1305dfd7e53fc8"},
+ {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9cb3a6460cdea8fe8194a76de8895707e61ded10ad0be97188cc8463ffa7e3a8"},
+ {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8ab5cad923cc95c87bffee098a27856c859bd5d0af31bd346035aa816b081fe1"},
+ {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ed69074a610fad1c2fda66180e7b2edd4d31c53f2d1872bc2d1211563904cd9"},
+ {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cccba051221b916a4f5e538997c45d7d136a5646442b1231b916d0164067ea27"},
+ {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:0eaa83fc4c1e271c24eaf8fb083cbccef8fde77ec8cd45f3c35a9a123e6da097"},
+ {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9edda2df81daa129b25a39b86cb57dfdfe16f7ec15b42b19bfac503360d27a93"},
+ {file = "pyzmq-26.2.0-cp37-cp37m-win32.whl", hash = "sha256:ea0eb6af8a17fa272f7b98d7bebfab7836a0d62738e16ba380f440fceca2d951"},
+ {file = "pyzmq-26.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4ff9dc6bc1664bb9eec25cd17506ef6672d506115095411e237d571e92a58231"},
+ {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2eb7735ee73ca1b0d71e0e67c3739c689067f055c764f73aac4cc8ecf958ee3f"},
+ {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a534f43bc738181aa7cbbaf48e3eca62c76453a40a746ab95d4b27b1111a7d2"},
+ {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:aedd5dd8692635813368e558a05266b995d3d020b23e49581ddd5bbe197a8ab6"},
+ {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8be4700cd8bb02cc454f630dcdf7cfa99de96788b80c51b60fe2fe1dac480289"},
+ {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fcc03fa4997c447dce58264e93b5aa2d57714fbe0f06c07b7785ae131512732"},
+ {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:402b190912935d3db15b03e8f7485812db350d271b284ded2b80d2e5704be780"},
+ {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8685fa9c25ff00f550c1fec650430c4b71e4e48e8d852f7ddcf2e48308038640"},
+ {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:76589c020680778f06b7e0b193f4b6dd66d470234a16e1df90329f5e14a171cd"},
+ {file = "pyzmq-26.2.0-cp38-cp38-win32.whl", hash = "sha256:8423c1877d72c041f2c263b1ec6e34360448decfb323fa8b94e85883043ef988"},
+ {file = "pyzmq-26.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:76589f2cd6b77b5bdea4fca5992dc1c23389d68b18ccc26a53680ba2dc80ff2f"},
+ {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:b1d464cb8d72bfc1a3adc53305a63a8e0cac6bc8c5a07e8ca190ab8d3faa43c2"},
+ {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4da04c48873a6abdd71811c5e163bd656ee1b957971db7f35140a2d573f6949c"},
+ {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d049df610ac811dcffdc147153b414147428567fbbc8be43bb8885f04db39d98"},
+ {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05590cdbc6b902101d0e65d6a4780af14dc22914cc6ab995d99b85af45362cc9"},
+ {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c811cfcd6a9bf680236c40c6f617187515269ab2912f3d7e8c0174898e2519db"},
+ {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6835dd60355593de10350394242b5757fbbd88b25287314316f266e24c61d073"},
+ {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc6bee759a6bddea5db78d7dcd609397449cb2d2d6587f48f3ca613b19410cfc"},
+ {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c530e1eecd036ecc83c3407f77bb86feb79916d4a33d11394b8234f3bd35b940"},
+ {file = "pyzmq-26.2.0-cp39-cp39-win32.whl", hash = "sha256:367b4f689786fca726ef7a6c5ba606958b145b9340a5e4808132cc65759abd44"},
+ {file = "pyzmq-26.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:e6fa2e3e683f34aea77de8112f6483803c96a44fd726d7358b9888ae5bb394ec"},
+ {file = "pyzmq-26.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:7445be39143a8aa4faec43b076e06944b8f9d0701b669df4af200531b21e40bb"},
+ {file = "pyzmq-26.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:706e794564bec25819d21a41c31d4df2d48e1cc4b061e8d345d7fb4dd3e94072"},
+ {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b435f2753621cd36e7c1762156815e21c985c72b19135dac43a7f4f31d28dd1"},
+ {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160c7e0a5eb178011e72892f99f918c04a131f36056d10d9c1afb223fc952c2d"},
+ {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4a71d5d6e7b28a47a394c0471b7e77a0661e2d651e7ae91e0cab0a587859ca"},
+ {file = "pyzmq-26.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:90412f2db8c02a3864cbfc67db0e3dcdbda336acf1c469526d3e869394fe001c"},
+ {file = "pyzmq-26.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2ea4ad4e6a12e454de05f2949d4beddb52460f3de7c8b9d5c46fbb7d7222e02c"},
+ {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fc4f7a173a5609631bb0c42c23d12c49df3966f89f496a51d3eb0ec81f4519d6"},
+ {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:878206a45202247781472a2d99df12a176fef806ca175799e1c6ad263510d57c"},
+ {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17c412bad2eb9468e876f556eb4ee910e62d721d2c7a53c7fa31e643d35352e6"},
+ {file = "pyzmq-26.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:0d987a3ae5a71c6226b203cfd298720e0086c7fe7c74f35fa8edddfbd6597eed"},
+ {file = "pyzmq-26.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:39887ac397ff35b7b775db7201095fc6310a35fdbae85bac4523f7eb3b840e20"},
+ {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fdb5b3e311d4d4b0eb8b3e8b4d1b0a512713ad7e6a68791d0923d1aec433d919"},
+ {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:226af7dcb51fdb0109f0016449b357e182ea0ceb6b47dfb5999d569e5db161d5"},
+ {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bed0e799e6120b9c32756203fb9dfe8ca2fb8467fed830c34c877e25638c3fc"},
+ {file = "pyzmq-26.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:29c7947c594e105cb9e6c466bace8532dc1ca02d498684128b339799f5248277"},
+ {file = "pyzmq-26.2.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3"},
+ {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a"},
+ {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6"},
+ {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a"},
+ {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4"},
+ {file = "pyzmq-26.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f"},
+ {file = "pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f"},
]
[package.dependencies]
cffi = {version = "*", markers = "implementation_name == \"pypy\""}
-[[package]]
-name = "qtconsole"
-version = "5.5.1"
-description = "Jupyter Qt console"
-optional = false
-python-versions = ">= 3.8"
-files = [
- {file = "qtconsole-5.5.1-py3-none-any.whl", hash = "sha256:8c75fa3e9b4ed884880ff7cea90a1b67451219279ec33deaee1d59e3df1a5d2b"},
- {file = "qtconsole-5.5.1.tar.gz", hash = "sha256:a0e806c6951db9490628e4df80caec9669b65149c7ba40f9bf033c025a5b56bc"},
-]
-
-[package.dependencies]
-ipykernel = ">=4.1"
-jupyter-client = ">=4.1"
-jupyter-core = "*"
-packaging = "*"
-pygments = "*"
-pyzmq = ">=17.1"
-qtpy = ">=2.4.0"
-traitlets = "<5.2.1 || >5.2.1,<5.2.2 || >5.2.2"
-
-[package.extras]
-doc = ["Sphinx (>=1.3)"]
-test = ["flaky", "pytest", "pytest-qt"]
-
-[[package]]
-name = "qtpy"
-version = "2.4.1"
-description = "Provides an abstraction layer on top of the various Qt bindings (PyQt5/6 and PySide2/6)."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "QtPy-2.4.1-py3-none-any.whl", hash = "sha256:1c1d8c4fa2c884ae742b069151b0abe15b3f70491f3972698c683b8e38de839b"},
- {file = "QtPy-2.4.1.tar.gz", hash = "sha256:a5a15ffd519550a1361bdc56ffc07fda56a6af7292f17c7b395d4083af632987"},
-]
-
-[package.dependencies]
-packaging = "*"
-
-[package.extras]
-test = ["pytest (>=6,!=7.0.0,!=7.0.1)", "pytest-cov (>=3.0.0)", "pytest-qt"]
-
[[package]]
name = "referencing"
-version = "0.34.0"
+version = "0.35.1"
description = "JSON Referencing + Python"
optional = false
python-versions = ">=3.8"
files = [
- {file = "referencing-0.34.0-py3-none-any.whl", hash = "sha256:d53ae300ceddd3169f1ffa9caf2cb7b769e92657e4fafb23d34b93679116dfd4"},
- {file = "referencing-0.34.0.tar.gz", hash = "sha256:5773bd84ef41799a5a8ca72dc34590c041eb01bf9aa02632b4a973fb0181a844"},
+ {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"},
+ {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"},
]
[package.dependencies]
@@ -2167,13 +2334,13 @@ rpds-py = ">=0.7.0"
[[package]]
name = "requests"
-version = "2.31.0"
+version = "2.32.3"
description = "Python HTTP for Humans."
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"},
- {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"},
+ {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"},
+ {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"},
]
[package.dependencies]
@@ -2188,13 +2355,13 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
[[package]]
name = "requests-oauth2client"
-version = "1.5.2"
+version = "1.6.0"
description = "An OAuth2.x client based on `requests`."
optional = false
python-versions = ">=3.8"
files = [
- {file = "requests_oauth2client-1.5.2-py3-none-any.whl", hash = "sha256:85576a28d74e6bb97a7a9a907232c3964f5cbb23a58fecbabc22d0ffa8be35be"},
- {file = "requests_oauth2client-1.5.2.tar.gz", hash = "sha256:ca4b87323959cea8b3896200880a720f34bf4684fe8e8903de98432d97ee0e04"},
+ {file = "requests_oauth2client-1.6.0-py3-none-any.whl", hash = "sha256:fa702619409cc93ab6433871d1ccec58140a70d86923fd742983fac47b334881"},
+ {file = "requests_oauth2client-1.6.0.tar.gz", hash = "sha256:53f4a82b566d21707ecd7e4b8cdab019e6eb0965f26c4ac0484b9e28ffd221ee"},
]
[package.dependencies]
@@ -2231,110 +2398,114 @@ files = [
[[package]]
name = "rpds-py"
-version = "0.18.0"
+version = "0.22.3"
description = "Python bindings to Rust's persistent data structures (rpds)"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "rpds_py-0.18.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:5b4e7d8d6c9b2e8ee2d55c90b59c707ca59bc30058269b3db7b1f8df5763557e"},
- {file = "rpds_py-0.18.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c463ed05f9dfb9baebef68048aed8dcdc94411e4bf3d33a39ba97e271624f8f7"},
- {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01e36a39af54a30f28b73096dd39b6802eddd04c90dbe161c1b8dbe22353189f"},
- {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d62dec4976954a23d7f91f2f4530852b0c7608116c257833922a896101336c51"},
- {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dd18772815d5f008fa03d2b9a681ae38d5ae9f0e599f7dda233c439fcaa00d40"},
- {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:923d39efa3cfb7279a0327e337a7958bff00cc447fd07a25cddb0a1cc9a6d2da"},
- {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39514da80f971362f9267c600b6d459bfbbc549cffc2cef8e47474fddc9b45b1"},
- {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a34d557a42aa28bd5c48a023c570219ba2593bcbbb8dc1b98d8cf5d529ab1434"},
- {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:93df1de2f7f7239dc9cc5a4a12408ee1598725036bd2dedadc14d94525192fc3"},
- {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:34b18ba135c687f4dac449aa5157d36e2cbb7c03cbea4ddbd88604e076aa836e"},
- {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c0b5dcf9193625afd8ecc92312d6ed78781c46ecbf39af9ad4681fc9f464af88"},
- {file = "rpds_py-0.18.0-cp310-none-win32.whl", hash = "sha256:c4325ff0442a12113a6379af66978c3fe562f846763287ef66bdc1d57925d337"},
- {file = "rpds_py-0.18.0-cp310-none-win_amd64.whl", hash = "sha256:7223a2a5fe0d217e60a60cdae28d6949140dde9c3bcc714063c5b463065e3d66"},
- {file = "rpds_py-0.18.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3a96e0c6a41dcdba3a0a581bbf6c44bb863f27c541547fb4b9711fd8cf0ffad4"},
- {file = "rpds_py-0.18.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30f43887bbae0d49113cbaab729a112251a940e9b274536613097ab8b4899cf6"},
- {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fcb25daa9219b4cf3a0ab24b0eb9a5cc8949ed4dc72acb8fa16b7e1681aa3c58"},
- {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d68c93e381010662ab873fea609bf6c0f428b6d0bb00f2c6939782e0818d37bf"},
- {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b34b7aa8b261c1dbf7720b5d6f01f38243e9b9daf7e6b8bc1fd4657000062f2c"},
- {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e6d75ab12b0bbab7215e5d40f1e5b738aa539598db27ef83b2ec46747df90e1"},
- {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8612cd233543a3781bc659c731b9d607de65890085098986dfd573fc2befe5"},
- {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aec493917dd45e3c69d00a8874e7cbed844efd935595ef78a0f25f14312e33c6"},
- {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:661d25cbffaf8cc42e971dd570d87cb29a665f49f4abe1f9e76be9a5182c4688"},
- {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1df3659d26f539ac74fb3b0c481cdf9d725386e3552c6fa2974f4d33d78e544b"},
- {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a1ce3ba137ed54f83e56fb983a5859a27d43a40188ba798993812fed73c70836"},
- {file = "rpds_py-0.18.0-cp311-none-win32.whl", hash = "sha256:69e64831e22a6b377772e7fb337533c365085b31619005802a79242fee620bc1"},
- {file = "rpds_py-0.18.0-cp311-none-win_amd64.whl", hash = "sha256:998e33ad22dc7ec7e030b3df701c43630b5bc0d8fbc2267653577e3fec279afa"},
- {file = "rpds_py-0.18.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:7f2facbd386dd60cbbf1a794181e6aa0bd429bd78bfdf775436020172e2a23f0"},
- {file = "rpds_py-0.18.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1d9a5be316c15ffb2b3c405c4ff14448c36b4435be062a7f578ccd8b01f0c4d8"},
- {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd5bf1af8efe569654bbef5a3e0a56eca45f87cfcffab31dd8dde70da5982475"},
- {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5417558f6887e9b6b65b4527232553c139b57ec42c64570569b155262ac0754f"},
- {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:56a737287efecafc16f6d067c2ea0117abadcd078d58721f967952db329a3e5c"},
- {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8f03bccbd8586e9dd37219bce4d4e0d3ab492e6b3b533e973fa08a112cb2ffc9"},
- {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4457a94da0d5c53dc4b3e4de1158bdab077db23c53232f37a3cb7afdb053a4e3"},
- {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ab39c1ba9023914297dd88ec3b3b3c3f33671baeb6acf82ad7ce883f6e8e157"},
- {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d54553c1136b50fd12cc17e5b11ad07374c316df307e4cfd6441bea5fb68496"},
- {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0af039631b6de0397ab2ba16eaf2872e9f8fca391b44d3d8cac317860a700a3f"},
- {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:84ffab12db93b5f6bad84c712c92060a2d321b35c3c9960b43d08d0f639d60d7"},
- {file = "rpds_py-0.18.0-cp312-none-win32.whl", hash = "sha256:685537e07897f173abcf67258bee3c05c374fa6fff89d4c7e42fb391b0605e98"},
- {file = "rpds_py-0.18.0-cp312-none-win_amd64.whl", hash = "sha256:e003b002ec72c8d5a3e3da2989c7d6065b47d9eaa70cd8808b5384fbb970f4ec"},
- {file = "rpds_py-0.18.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:08f9ad53c3f31dfb4baa00da22f1e862900f45908383c062c27628754af2e88e"},
- {file = "rpds_py-0.18.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c0013fe6b46aa496a6749c77e00a3eb07952832ad6166bd481c74bda0dcb6d58"},
- {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e32a92116d4f2a80b629778280103d2a510a5b3f6314ceccd6e38006b5e92dcb"},
- {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e541ec6f2ec456934fd279a3120f856cd0aedd209fc3852eca563f81738f6861"},
- {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bed88b9a458e354014d662d47e7a5baafd7ff81c780fd91584a10d6ec842cb73"},
- {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2644e47de560eb7bd55c20fc59f6daa04682655c58d08185a9b95c1970fa1e07"},
- {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e8916ae4c720529e18afa0b879473049e95949bf97042e938530e072fde061d"},
- {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:465a3eb5659338cf2a9243e50ad9b2296fa15061736d6e26240e713522b6235c"},
- {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ea7d4a99f3b38c37eac212dbd6ec42b7a5ec51e2c74b5d3223e43c811609e65f"},
- {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:67071a6171e92b6da534b8ae326505f7c18022c6f19072a81dcf40db2638767c"},
- {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:41ef53e7c58aa4ef281da975f62c258950f54b76ec8e45941e93a3d1d8580594"},
- {file = "rpds_py-0.18.0-cp38-none-win32.whl", hash = "sha256:fdea4952db2793c4ad0bdccd27c1d8fdd1423a92f04598bc39425bcc2b8ee46e"},
- {file = "rpds_py-0.18.0-cp38-none-win_amd64.whl", hash = "sha256:7cd863afe7336c62ec78d7d1349a2f34c007a3cc6c2369d667c65aeec412a5b1"},
- {file = "rpds_py-0.18.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:5307def11a35f5ae4581a0b658b0af8178c65c530e94893345bebf41cc139d33"},
- {file = "rpds_py-0.18.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:77f195baa60a54ef9d2de16fbbfd3ff8b04edc0c0140a761b56c267ac11aa467"},
- {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39f5441553f1c2aed4de4377178ad8ff8f9d733723d6c66d983d75341de265ab"},
- {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a00312dea9310d4cb7dbd7787e722d2e86a95c2db92fbd7d0155f97127bcb40"},
- {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f2fc11e8fe034ee3c34d316d0ad8808f45bc3b9ce5857ff29d513f3ff2923a1"},
- {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:586f8204935b9ec884500498ccc91aa869fc652c40c093bd9e1471fbcc25c022"},
- {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddc2f4dfd396c7bfa18e6ce371cba60e4cf9d2e5cdb71376aa2da264605b60b9"},
- {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ddcba87675b6d509139d1b521e0c8250e967e63b5909a7e8f8944d0f90ff36f"},
- {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7bd339195d84439cbe5771546fe8a4e8a7a045417d8f9de9a368c434e42a721e"},
- {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d7c36232a90d4755b720fbd76739d8891732b18cf240a9c645d75f00639a9024"},
- {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6b0817e34942b2ca527b0e9298373e7cc75f429e8da2055607f4931fded23e20"},
- {file = "rpds_py-0.18.0-cp39-none-win32.whl", hash = "sha256:99f70b740dc04d09e6b2699b675874367885217a2e9f782bdf5395632ac663b7"},
- {file = "rpds_py-0.18.0-cp39-none-win_amd64.whl", hash = "sha256:6ef687afab047554a2d366e112dd187b62d261d49eb79b77e386f94644363294"},
- {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ad36cfb355e24f1bd37cac88c112cd7730873f20fb0bdaf8ba59eedf8216079f"},
- {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:36b3ee798c58ace201289024b52788161e1ea133e4ac93fba7d49da5fec0ef9e"},
- {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8a2f084546cc59ea99fda8e070be2fd140c3092dc11524a71aa8f0f3d5a55ca"},
- {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e4461d0f003a0aa9be2bdd1b798a041f177189c1a0f7619fe8c95ad08d9a45d7"},
- {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8db715ebe3bb7d86d77ac1826f7d67ec11a70dbd2376b7cc214199360517b641"},
- {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:793968759cd0d96cac1e367afd70c235867831983f876a53389ad869b043c948"},
- {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66e6a3af5a75363d2c9a48b07cb27c4ea542938b1a2e93b15a503cdfa8490795"},
- {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6ef0befbb5d79cf32d0266f5cff01545602344eda89480e1dd88aca964260b18"},
- {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1d4acf42190d449d5e89654d5c1ed3a4f17925eec71f05e2a41414689cda02d1"},
- {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a5f446dd5055667aabaee78487f2b5ab72e244f9bc0b2ffebfeec79051679984"},
- {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9dbbeb27f4e70bfd9eec1be5477517365afe05a9b2c441a0b21929ee61048124"},
- {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:22806714311a69fd0af9b35b7be97c18a0fc2826e6827dbb3a8c94eac6cf7eeb"},
- {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:b34ae4636dfc4e76a438ab826a0d1eed2589ca7d9a1b2d5bb546978ac6485461"},
- {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c8370641f1a7f0e0669ddccca22f1da893cef7628396431eb445d46d893e5cd"},
- {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c8362467a0fdeccd47935f22c256bec5e6abe543bf0d66e3d3d57a8fb5731863"},
- {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11a8c85ef4a07a7638180bf04fe189d12757c696eb41f310d2426895356dcf05"},
- {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b316144e85316da2723f9d8dc75bada12fa58489a527091fa1d5a612643d1a0e"},
- {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf1ea2e34868f6fbf070e1af291c8180480310173de0b0c43fc38a02929fc0e3"},
- {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e546e768d08ad55b20b11dbb78a745151acbd938f8f00d0cfbabe8b0199b9880"},
- {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:4901165d170a5fde6f589acb90a6b33629ad1ec976d4529e769c6f3d885e3e80"},
- {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:618a3d6cae6ef8ec88bb76dd80b83cfe415ad4f1d942ca2a903bf6b6ff97a2da"},
- {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ed4eb745efbff0a8e9587d22a84be94a5eb7d2d99c02dacf7bd0911713ed14dd"},
- {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:6c81e5f372cd0dc5dc4809553d34f832f60a46034a5f187756d9b90586c2c307"},
- {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:43fbac5f22e25bee1d482c97474f930a353542855f05c1161fd804c9dc74a09d"},
- {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d7faa6f14017c0b1e69f5e2c357b998731ea75a442ab3841c0dbbbfe902d2c4"},
- {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:08231ac30a842bd04daabc4d71fddd7e6d26189406d5a69535638e4dcb88fe76"},
- {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:044a3e61a7c2dafacae99d1e722cc2d4c05280790ec5a05031b3876809d89a5c"},
- {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f26b5bd1079acdb0c7a5645e350fe54d16b17bfc5e71f371c449383d3342e17"},
- {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:482103aed1dfe2f3b71a58eff35ba105289b8d862551ea576bd15479aba01f66"},
- {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1374f4129f9bcca53a1bba0bb86bf78325a0374577cf7e9e4cd046b1e6f20e24"},
- {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:635dc434ff724b178cb192c70016cc0ad25a275228f749ee0daf0eddbc8183b1"},
- {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:bc362ee4e314870a70f4ae88772d72d877246537d9f8cb8f7eacf10884862432"},
- {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:4832d7d380477521a8c1644bbab6588dfedea5e30a7d967b5fb75977c45fd77f"},
- {file = "rpds_py-0.18.0.tar.gz", hash = "sha256:42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d"},
+ {file = "rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967"},
+ {file = "rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37"},
+ {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24"},
+ {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff"},
+ {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c"},
+ {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e"},
+ {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec"},
+ {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c"},
+ {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09"},
+ {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00"},
+ {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf"},
+ {file = "rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652"},
+ {file = "rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8"},
+ {file = "rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f"},
+ {file = "rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a"},
+ {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5"},
+ {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb"},
+ {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2"},
+ {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0"},
+ {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1"},
+ {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d"},
+ {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648"},
+ {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74"},
+ {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a"},
+ {file = "rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64"},
+ {file = "rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c"},
+ {file = "rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e"},
+ {file = "rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56"},
+ {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45"},
+ {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e"},
+ {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d"},
+ {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38"},
+ {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15"},
+ {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059"},
+ {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e"},
+ {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61"},
+ {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7"},
+ {file = "rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627"},
+ {file = "rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4"},
+ {file = "rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84"},
+ {file = "rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25"},
+ {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4"},
+ {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5"},
+ {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc"},
+ {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b"},
+ {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518"},
+ {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd"},
+ {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2"},
+ {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16"},
+ {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f"},
+ {file = "rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de"},
+ {file = "rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9"},
+ {file = "rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b"},
+ {file = "rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b"},
+ {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1"},
+ {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83"},
+ {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd"},
+ {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1"},
+ {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3"},
+ {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130"},
+ {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c"},
+ {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b"},
+ {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333"},
+ {file = "rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730"},
+ {file = "rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf"},
+ {file = "rpds_py-0.22.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:378753b4a4de2a7b34063d6f95ae81bfa7b15f2c1a04a9518e8644e81807ebea"},
+ {file = "rpds_py-0.22.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3445e07bf2e8ecfeef6ef67ac83de670358abf2996916039b16a218e3d95e97e"},
+ {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b2513ba235829860b13faa931f3b6846548021846ac808455301c23a101689d"},
+ {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eaf16ae9ae519a0e237a0f528fd9f0197b9bb70f40263ee57ae53c2b8d48aeb3"},
+ {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:583f6a1993ca3369e0f80ba99d796d8e6b1a3a2a442dd4e1a79e652116413091"},
+ {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4617e1915a539a0d9a9567795023de41a87106522ff83fbfaf1f6baf8e85437e"},
+ {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c150c7a61ed4a4f4955a96626574e9baf1adf772c2fb61ef6a5027e52803543"},
+ {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fa4331c200c2521512595253f5bb70858b90f750d39b8cbfd67465f8d1b596d"},
+ {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:214b7a953d73b5e87f0ebece4a32a5bd83c60a3ecc9d4ec8f1dca968a2d91e99"},
+ {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f47ad3d5f3258bd7058d2d506852217865afefe6153a36eb4b6928758041d831"},
+ {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f276b245347e6e36526cbd4a266a417796fc531ddf391e43574cf6466c492520"},
+ {file = "rpds_py-0.22.3-cp39-cp39-win32.whl", hash = "sha256:bbb232860e3d03d544bc03ac57855cd82ddf19c7a07651a7c0fdb95e9efea8b9"},
+ {file = "rpds_py-0.22.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfbc454a2880389dbb9b5b398e50d439e2e58669160f27b60e5eca11f68ae17c"},
+ {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d"},
+ {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd"},
+ {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493"},
+ {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96"},
+ {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123"},
+ {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad"},
+ {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9"},
+ {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e"},
+ {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338"},
+ {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566"},
+ {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe"},
+ {file = "rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d"},
+ {file = "rpds_py-0.22.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bb47271f60660803ad11f4c61b42242b8c1312a31c98c578f79ef9387bbde21c"},
+ {file = "rpds_py-0.22.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:70fb28128acbfd264eda9bf47015537ba3fe86e40d046eb2963d75024be4d055"},
+ {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44d61b4b7d0c2c9ac019c314e52d7cbda0ae31078aabd0f22e583af3e0d79723"},
+ {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f0e260eaf54380380ac3808aa4ebe2d8ca28b9087cf411649f96bad6900c728"},
+ {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b25bc607423935079e05619d7de556c91fb6adeae9d5f80868dde3468657994b"},
+ {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fb6116dfb8d1925cbdb52595560584db42a7f664617a1f7d7f6e32f138cdf37d"},
+ {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a63cbdd98acef6570c62b92a1e43266f9e8b21e699c363c0fef13bd530799c11"},
+ {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b8f60e1b739a74bab7e01fcbe3dddd4657ec685caa04681df9d562ef15b625f"},
+ {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2e8b55d8517a2fda8d95cb45d62a5a8bbf9dd0ad39c5b25c8833efea07b880ca"},
+ {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:2de29005e11637e7a2361fa151f780ff8eb2543a0da1413bb951e9f14b699ef3"},
+ {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:666ecce376999bf619756a24ce15bb14c5bfaf04bf00abc7e663ce17c3f34fe7"},
+ {file = "rpds_py-0.22.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5246b14ca64a8675e0a7161f7af68fe3e910e6b90542b4bfb5439ba752191df6"},
+ {file = "rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d"},
]
[[package]]
@@ -2353,15 +2524,35 @@ nativelib = ["pyobjc-framework-Cocoa", "pywin32"]
objc = ["pyobjc-framework-Cocoa"]
win32 = ["pywin32"]
+[[package]]
+name = "setuptools"
+version = "75.6.0"
+description = "Easily download, build, install, upgrade, and uninstall Python packages"
+optional = false
+python-versions = ">=3.9"
+files = [
+ {file = "setuptools-75.6.0-py3-none-any.whl", hash = "sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d"},
+ {file = "setuptools-75.6.0.tar.gz", hash = "sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6"},
+]
+
+[package.extras]
+check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.7.0)"]
+core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"]
+cover = ["pytest-cov"]
+doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"]
+enabler = ["pytest-enabler (>=2.2)"]
+test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
+type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.12,<1.14)", "pytest-mypy"]
+
[[package]]
name = "six"
-version = "1.16.0"
+version = "1.17.0"
description = "Python 2 and 3 compatibility utilities"
optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
files = [
- {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
- {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
+ {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"},
+ {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"},
]
[[package]]
@@ -2377,13 +2568,13 @@ files = [
[[package]]
name = "soupsieve"
-version = "2.5"
+version = "2.6"
description = "A modern CSS selector implementation for Beautiful Soup."
optional = false
python-versions = ">=3.8"
files = [
- {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"},
- {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"},
+ {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"},
+ {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"},
]
[[package]]
@@ -2428,13 +2619,13 @@ typing = ["mypy (>=1.6,<2.0)", "traitlets (>=5.11.1)"]
[[package]]
name = "tinycss2"
-version = "1.2.1"
+version = "1.4.0"
description = "A tiny CSS parser"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847"},
- {file = "tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627"},
+ {file = "tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289"},
+ {file = "tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7"},
]
[package.dependencies]
@@ -2442,65 +2633,95 @@ webencodings = ">=0.4"
[package.extras]
doc = ["sphinx", "sphinx_rtd_theme"]
-test = ["flake8", "isort", "pytest"]
+test = ["pytest", "ruff"]
[[package]]
name = "tomli"
-version = "2.0.1"
+version = "2.2.1"
description = "A lil' TOML parser"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
- {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
+ {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"},
+ {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"},
+ {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"},
+ {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"},
+ {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"},
+ {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"},
+ {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"},
+ {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"},
+ {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"},
+ {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"},
+ {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"},
+ {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"},
+ {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"},
+ {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"},
+ {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"},
+ {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"},
+ {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"},
+ {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"},
+ {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"},
+ {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"},
+ {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"},
+ {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"},
+ {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"},
+ {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"},
+ {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"},
+ {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"},
+ {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"},
+ {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"},
+ {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"},
+ {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"},
+ {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"},
+ {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"},
]
[[package]]
name = "tornado"
-version = "6.4"
+version = "6.4.2"
description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
optional = false
-python-versions = ">= 3.8"
+python-versions = ">=3.8"
files = [
- {file = "tornado-6.4-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:02ccefc7d8211e5a7f9e8bc3f9e5b0ad6262ba2fbb683a6443ecc804e5224ce0"},
- {file = "tornado-6.4-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:27787de946a9cffd63ce5814c33f734c627a87072ec7eed71f7fc4417bb16263"},
- {file = "tornado-6.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7894c581ecdcf91666a0912f18ce5e757213999e183ebfc2c3fdbf4d5bd764e"},
- {file = "tornado-6.4-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e43bc2e5370a6a8e413e1e1cd0c91bedc5bd62a74a532371042a18ef19e10579"},
- {file = "tornado-6.4-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0251554cdd50b4b44362f73ad5ba7126fc5b2c2895cc62b14a1c2d7ea32f212"},
- {file = "tornado-6.4-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fd03192e287fbd0899dd8f81c6fb9cbbc69194d2074b38f384cb6fa72b80e9c2"},
- {file = "tornado-6.4-cp38-abi3-musllinux_1_1_i686.whl", hash = "sha256:88b84956273fbd73420e6d4b8d5ccbe913c65d31351b4c004ae362eba06e1f78"},
- {file = "tornado-6.4-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:71ddfc23a0e03ef2df1c1397d859868d158c8276a0603b96cf86892bff58149f"},
- {file = "tornado-6.4-cp38-abi3-win32.whl", hash = "sha256:6f8a6c77900f5ae93d8b4ae1196472d0ccc2775cc1dfdc9e7727889145c45052"},
- {file = "tornado-6.4-cp38-abi3-win_amd64.whl", hash = "sha256:10aeaa8006333433da48dec9fe417877f8bcc21f48dda8d661ae79da357b2a63"},
- {file = "tornado-6.4.tar.gz", hash = "sha256:72291fa6e6bc84e626589f1c29d90a5a6d593ef5ae68052ee2ef000dfd273dee"},
+ {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1"},
+ {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803"},
+ {file = "tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec"},
+ {file = "tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946"},
+ {file = "tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf"},
+ {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634"},
+ {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73"},
+ {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c"},
+ {file = "tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482"},
+ {file = "tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38"},
+ {file = "tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b"},
]
[[package]]
name = "tox"
-version = "4.14.2"
+version = "4.23.2"
description = "tox is a generic virtualenv management and test command line tool"
optional = false
python-versions = ">=3.8"
files = [
- {file = "tox-4.14.2-py3-none-any.whl", hash = "sha256:2900c4eb7b716af4a928a7fdc2ed248ad6575294ed7cfae2ea41203937422847"},
- {file = "tox-4.14.2.tar.gz", hash = "sha256:0defb44f6dafd911b61788325741cc6b2e12ea71f987ac025ad4d649f1f1a104"},
+ {file = "tox-4.23.2-py3-none-any.whl", hash = "sha256:452bc32bb031f2282881a2118923176445bac783ab97c874b8770ab4c3b76c38"},
+ {file = "tox-4.23.2.tar.gz", hash = "sha256:86075e00e555df6e82e74cfc333917f91ecb47ffbc868dcafbd2672e332f4a2c"},
]
[package.dependencies]
-cachetools = ">=5.3.2"
+cachetools = ">=5.5"
chardet = ">=5.2"
colorama = ">=0.4.6"
-filelock = ">=3.13.1"
-packaging = ">=23.2"
-platformdirs = ">=4.1"
-pluggy = ">=1.3"
-pyproject-api = ">=1.6.1"
+filelock = ">=3.16.1"
+packaging = ">=24.1"
+platformdirs = ">=4.3.6"
+pluggy = ">=1.5"
+pyproject-api = ">=1.8"
tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""}
-virtualenv = ">=20.25"
+typing-extensions = {version = ">=4.12.2", markers = "python_version < \"3.11\""}
+virtualenv = ">=20.26.6"
[package.extras]
-docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-argparse-cli (>=1.11.1)", "sphinx-autodoc-typehints (>=1.25.2)", "sphinx-copybutton (>=0.5.2)", "sphinx-inline-tabs (>=2023.4.21)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.11)"]
-testing = ["build[virtualenv] (>=1.0.3)", "covdefaults (>=2.3)", "detect-test-pollution (>=1.2)", "devpi-process (>=1)", "diff-cover (>=8.0.2)", "distlib (>=0.3.8)", "flaky (>=3.7)", "hatch-vcs (>=0.4)", "hatchling (>=1.21)", "psutil (>=5.9.7)", "pytest (>=7.4.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-xdist (>=3.5)", "re-assert (>=1.1)", "time-machine (>=2.13)", "wheel (>=0.42)"]
+test = ["devpi-process (>=1.0.2)", "pytest (>=8.3.3)", "pytest-mock (>=3.14)"]
[[package]]
name = "traitlets"
@@ -2519,24 +2740,35 @@ test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,
[[package]]
name = "types-python-dateutil"
-version = "2.9.0.20240316"
+version = "2.9.0.20241206"
description = "Typing stubs for python-dateutil"
optional = false
python-versions = ">=3.8"
files = [
- {file = "types-python-dateutil-2.9.0.20240316.tar.gz", hash = "sha256:5d2f2e240b86905e40944dd787db6da9263f0deabef1076ddaed797351ec0202"},
- {file = "types_python_dateutil-2.9.0.20240316-py3-none-any.whl", hash = "sha256:6b8cb66d960771ce5ff974e9dd45e38facb81718cc1e208b10b1baccbfdbee3b"},
+ {file = "types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53"},
+ {file = "types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb"},
]
[[package]]
name = "typing-extensions"
-version = "4.11.0"
+version = "4.12.2"
description = "Backported and Experimental Type Hints for Python 3.8+"
optional = false
python-versions = ">=3.8"
files = [
- {file = "typing_extensions-4.11.0-py3-none-any.whl", hash = "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"},
- {file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"},
+ {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"},
+ {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"},
+]
+
+[[package]]
+name = "tzdata"
+version = "2024.2"
+description = "Provider of IANA time zone data"
+optional = false
+python-versions = ">=2"
+files = [
+ {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"},
+ {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"},
]
[[package]]
@@ -2555,13 +2787,13 @@ dev = ["flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake
[[package]]
name = "urllib3"
-version = "2.2.1"
+version = "2.3.0"
description = "HTTP library with thread-safe connection pooling, file post, and more."
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"},
- {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"},
+ {file = "urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"},
+ {file = "urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"},
]
[package.extras]
@@ -2572,13 +2804,13 @@ zstd = ["zstandard (>=0.18.0)"]
[[package]]
name = "virtualenv"
-version = "20.25.3"
+version = "20.28.1"
description = "Virtual Python Environment builder"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "virtualenv-20.25.3-py3-none-any.whl", hash = "sha256:8aac4332f2ea6ef519c648d0bc48a5b1d324994753519919bddbb1aff25a104e"},
- {file = "virtualenv-20.25.3.tar.gz", hash = "sha256:7bb554bbdfeaacc3349fa614ea5bff6ac300fc7c335e9facf3a3bcfc703f45be"},
+ {file = "virtualenv-20.28.1-py3-none-any.whl", hash = "sha256:412773c85d4dab0409b83ec36f7a6499e72eaf08c80e81e9576bca61831c71cb"},
+ {file = "virtualenv-20.28.1.tar.gz", hash = "sha256:5d34ab240fdb5d21549b76f9e8ff3af28252f5499fb6d6f031adac4e5a8c5329"},
]
[package.dependencies]
@@ -2603,19 +2835,15 @@ files = [
[[package]]
name = "webcolors"
-version = "1.13"
+version = "24.11.1"
description = "A library for working with the color formats defined by HTML and CSS."
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.9"
files = [
- {file = "webcolors-1.13-py3-none-any.whl", hash = "sha256:29bc7e8752c0a1bd4a1f03c14d6e6a72e93d82193738fa860cbff59d0fcc11bf"},
- {file = "webcolors-1.13.tar.gz", hash = "sha256:c225b674c83fa923be93d235330ce0300373d02885cef23238813b0d5668304a"},
+ {file = "webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9"},
+ {file = "webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6"},
]
-[package.extras]
-docs = ["furo", "sphinx", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-notfound-page", "sphinxext-opengraph"]
-tests = ["pytest", "pytest-cov"]
-
[[package]]
name = "webencodings"
version = "0.5.1"
@@ -2629,47 +2857,32 @@ files = [
[[package]]
name = "websocket-client"
-version = "1.7.0"
+version = "1.8.0"
description = "WebSocket client for Python with low level API options"
optional = false
python-versions = ">=3.8"
files = [
- {file = "websocket-client-1.7.0.tar.gz", hash = "sha256:10e511ea3a8c744631d3bd77e61eb17ed09304c413ad42cf6ddfa4c7787e8fe6"},
- {file = "websocket_client-1.7.0-py3-none-any.whl", hash = "sha256:f4c3d22fec12a2461427a29957ff07d35098ee2d976d3ba244e688b8b4057588"},
+ {file = "websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526"},
+ {file = "websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da"},
]
[package.extras]
-docs = ["Sphinx (>=6.0)", "sphinx-rtd-theme (>=1.1.0)"]
+docs = ["Sphinx (>=6.0)", "myst-parser (>=2.0.0)", "sphinx-rtd-theme (>=1.1.0)"]
optional = ["python-socks", "wsaccel"]
test = ["websockets"]
[[package]]
name = "widgetsnbextension"
-version = "4.0.10"
+version = "4.0.13"
description = "Jupyter interactive widgets for Jupyter Notebook"
optional = false
python-versions = ">=3.7"
files = [
- {file = "widgetsnbextension-4.0.10-py3-none-any.whl", hash = "sha256:d37c3724ec32d8c48400a435ecfa7d3e259995201fbefa37163124a9fcb393cc"},
- {file = "widgetsnbextension-4.0.10.tar.gz", hash = "sha256:64196c5ff3b9a9183a8e699a4227fb0b7002f252c814098e66c4d1cd0644688f"},
+ {file = "widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71"},
+ {file = "widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6"},
]
-[[package]]
-name = "zipp"
-version = "3.18.1"
-description = "Backport of pathlib-compatible object wrapper for zip files"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "zipp-3.18.1-py3-none-any.whl", hash = "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b"},
- {file = "zipp-3.18.1.tar.gz", hash = "sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715"},
-]
-
-[package.extras]
-docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"]
-
[metadata]
lock-version = "2.0"
-python-versions = "^3.9"
-content-hash = "740ed973f7a4af20f6ad47502b25c082943e1b04f2d7ca97b16bb502c65d2ceb"
+python-versions = "3.10.*"
+content-hash = "a4331a70000ffcba2e61a09e5909c52014444d5b3c77c6ea19bc70606cfe105d"
diff --git a/python-restclient/pyproject.toml b/python-restclient/pyproject.toml
index 29c773bec0..6af8dcc9dd 100644
--- a/python-restclient/pyproject.toml
+++ b/python-restclient/pyproject.toml
@@ -10,14 +10,15 @@ keywords = ["OpenAPI", "OpenAPI-Generator", "VCell API"]
include = ["vcell_client/py.typed"]
[tool.poetry.dependencies]
-python = "^3.9"
+python = "3.10.*"
urllib3 = ">= 1.25.3"
python-dateutil = ">=2.8.2"
-pydantic = ">=2"
-typing-extensions = ">=4.7.1"
-requests-oauth2client = "^1.5.1"
-jupyter = "^1.0.0"
+pydantic = ">=2.10.4"
+typing-extensions = ">=4.6.0"
+pandas = ">=2"
+jupyter = "^1.1.1"
+requests_oauth2client = ">=1.6.0"
[tool.poetry.dev-dependencies]
pytest = ">=7.2.1"
@@ -29,4 +30,4 @@ requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[tool.pylint.'MESSAGES CONTROL']
-extension-pkg-whitelist = "pydantic"
\ No newline at end of file
+extension-pkg-whitelist = "pydantic"
diff --git a/python-restclient/test/test_access_token_representation.py b/python-restclient/test/test_access_token_representation.py
deleted file mode 100644
index 990a8cf968..0000000000
--- a/python-restclient/test/test_access_token_representation.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# 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.access_token_representation import AccessTokenRepresentation
-
-class TestAccessTokenRepresentation(unittest.TestCase):
- """AccessTokenRepresentation unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> AccessTokenRepresentation:
- """Test AccessTokenRepresentation
- 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 `AccessTokenRepresentation`
- """
- model = AccessTokenRepresentation()
- if include_optional:
- return AccessTokenRepresentation(
- token = '',
- creation_date_seconds = 56,
- expire_date_seconds = 56,
- user_id = '',
- user_key = ''
- )
- else:
- return AccessTokenRepresentation(
- )
- """
-
- def testAccessTokenRepresentation(self):
- """Test AccessTokenRepresentation"""
- # 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_analyzed_results_from_field_data.py b/python-restclient/test/test_analyzed_results_from_field_data.py
new file mode 100644
index 0000000000..1d6a48aec4
--- /dev/null
+++ b/python-restclient/test/test_analyzed_results_from_field_data.py
@@ -0,0 +1,79 @@
+# 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.analyzed_results_from_field_data import AnalyzedResultsFromFieldData
+
+class TestAnalyzedResultsFromFieldData(unittest.TestCase):
+ """AnalyzedResultsFromFieldData unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> AnalyzedResultsFromFieldData:
+ """Test AnalyzedResultsFromFieldData
+ 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 `AnalyzedResultsFromFieldData`
+ """
+ model = AnalyzedResultsFromFieldData()
+ if include_optional:
+ return AnalyzedResultsFromFieldData(
+ short_spec_data = [
+ [
+ [
+ 56
+ ]
+ ]
+ ],
+ var_names = [
+ ''
+ ],
+ times = [
+ 1.337
+ ],
+ 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, ),
+ isize = vcell_client.models.i_size.ISize(
+ x = 56,
+ y = 56,
+ z = 56, ),
+ annotation = '',
+ name = ''
+ )
+ else:
+ return AnalyzedResultsFromFieldData(
+ )
+ """
+
+ def testAnalyzedResultsFromFieldData(self):
+ """Test AnalyzedResultsFromFieldData"""
+ # 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_bio_model.py b/python-restclient/test/test_bio_model.py
index 1e99c4c553..5232c011f8 100644
--- a/python-restclient/test/test_bio_model.py
+++ b/python-restclient/test/test_bio_model.py
@@ -46,12 +46,12 @@ def make_instance(self, include_optional) -> BioModel:
saved_date = 56,
annot = '',
branch_id = '',
- model_key = '',
+ phys_model_key = '',
owner_name = '',
owner_key = '',
- simulations = [
- vcell_client.models.simulation.Simulation(
- name = '', )
+ simulation_key_list = [
+ vcell_client.models.key_value.KeyValue(
+ value = 1.337, )
],
applications = [
vcell_client.models.application.Application()
diff --git a/python-restclient/test/test_bio_model_resource_api.py b/python-restclient/test/test_bio_model_resource_api.py
index d1aa4c6bb7..fea6ab89d1 100644
--- a/python-restclient/test/test_bio_model_resource_api.py
+++ b/python-restclient/test/test_bio_model_resource_api.py
@@ -34,41 +34,6 @@ def test_delete_bio_model(self) -> None:
"""
pass
- def test_get_bio_model_bngl(self) -> None:
- """Test case for get_bio_model_bngl
-
- Get the BioModel in BNGL format.
- """
- pass
-
- def test_get_bio_model_diagram(self) -> None:
- """Test case for get_bio_model_diagram
-
- Get the BioModels diagram.
- """
- pass
-
- def test_get_bio_model_omex(self) -> None:
- """Test case for get_bio_model_omex
-
- Get the BioModel in OMEX format.
- """
- pass
-
- def test_get_bio_model_sbml(self) -> None:
- """Test case for get_bio_model_sbml
-
- Get the BioModel in SBML format.
- """
- pass
-
- def test_get_bio_model_vcml(self) -> None:
- """Test case for get_bio_model_vcml
-
- Get the BioModel in VCML format.
- """
- pass
-
def test_get_biomodel_by_id(self) -> None:
"""Test case for get_biomodel_by_id
diff --git a/python-restclient/test/test_biomodel_ref.py b/python-restclient/test/test_biomodel_ref.py
index 6488da0a94..26a1cc76e6 100644
--- a/python-restclient/test/test_biomodel_ref.py
+++ b/python-restclient/test/test_biomodel_ref.py
@@ -1,7 +1,7 @@
# coding: utf-8
"""
- VCell API (development)
+ VCell API
VCell API
diff --git a/python-restclient/test/test_data_identifier.py b/python-restclient/test/test_data_identifier.py
new file mode 100644
index 0000000000..87851e6279
--- /dev/null
+++ b/python-restclient/test/test_data_identifier.py
@@ -0,0 +1,69 @@
+# 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.data_identifier import DataIdentifier
+
+class TestDataIdentifier(unittest.TestCase):
+ """DataIdentifier unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> DataIdentifier:
+ """Test DataIdentifier
+ 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 `DataIdentifier`
+ """
+ model = DataIdentifier()
+ if include_optional:
+ return DataIdentifier(
+ name = '',
+ display_name = '',
+ variable_type = vcell_client.models.variable_type.VariableType(
+ type = 56,
+ variable_domain = 'VARIABLEDOMAIN_POSTPROCESSING',
+ name = '',
+ units = '',
+ label = '',
+ legacy_warn = True,
+ default_label = '',
+ default_units = '',
+ type_name = '', ),
+ domain = vcell_client.models.domain.Domain(
+ name = '', ),
+ b_function = True,
+ function = True,
+ visible = True
+ )
+ else:
+ return DataIdentifier(
+ )
+ """
+
+ def testDataIdentifier(self):
+ """Test DataIdentifier"""
+ # 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_simulation.py b/python-restclient/test/test_domain.py
similarity index 66%
rename from python-restclient/test/test_simulation.py
rename to python-restclient/test/test_domain.py
index 38c11e8030..f5e6507dd1 100644
--- a/python-restclient/test/test_simulation.py
+++ b/python-restclient/test/test_domain.py
@@ -16,10 +16,10 @@
import unittest
import datetime
-from vcell_client.models.simulation import Simulation
+from vcell_client.models.domain import Domain
-class TestSimulation(unittest.TestCase):
- """Simulation unit test stubs"""
+class TestDomain(unittest.TestCase):
+ """Domain unit test stubs"""
def setUp(self):
pass
@@ -27,25 +27,25 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> Simulation:
- """Test Simulation
+ def make_instance(self, include_optional) -> Domain:
+ """Test Domain
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 `Simulation`
+ # uncomment below to create an instance of `Domain`
"""
- model = Simulation()
+ model = Domain()
if include_optional:
- return Simulation(
+ return Domain(
name = ''
)
else:
- return Simulation(
+ return Domain(
)
"""
- def testSimulation(self):
- """Test Simulation"""
+ def testDomain(self):
+ """Test Domain"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/python-restclient/test/test_map_user.py b/python-restclient/test/test_extent.py
similarity index 62%
rename from python-restclient/test/test_map_user.py
rename to python-restclient/test/test_extent.py
index 61a79fb348..5bb8ef6a3f 100644
--- a/python-restclient/test/test_map_user.py
+++ b/python-restclient/test/test_extent.py
@@ -1,7 +1,7 @@
# coding: utf-8
"""
- VCell API (development)
+ VCell API
VCell API
@@ -16,10 +16,10 @@
import unittest
import datetime
-from vcell_client.models.map_user import MapUser
+from vcell_client.models.extent import Extent
-class TestMapUser(unittest.TestCase):
- """MapUser unit test stubs"""
+class TestExtent(unittest.TestCase):
+ """Extent unit test stubs"""
def setUp(self):
pass
@@ -27,26 +27,27 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> MapUser:
- """Test MapUser
+ def make_instance(self, include_optional) -> Extent:
+ """Test Extent
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 `MapUser`
+ # uncomment below to create an instance of `Extent`
"""
- model = MapUser()
+ model = Extent()
if include_optional:
- return MapUser(
- user_id = '',
- password = ''
+ return Extent(
+ x = 1.337,
+ y = 1.337,
+ z = 1.337
)
else:
- return MapUser(
+ return Extent(
)
"""
- def testMapUser(self):
- """Test MapUser"""
+ def testExtent(self):
+ """Test Extent"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/python-restclient/test/test_user_identity.py b/python-restclient/test/test_external_data_identifier.py
similarity index 51%
rename from python-restclient/test/test_user_identity.py
rename to python-restclient/test/test_external_data_identifier.py
index a535d3343b..b6f749ab0d 100644
--- a/python-restclient/test/test_user_identity.py
+++ b/python-restclient/test/test_external_data_identifier.py
@@ -16,10 +16,10 @@
import unittest
import datetime
-from vcell_client.models.user_identity import UserIdentity
+from vcell_client.models.external_data_identifier import ExternalDataIdentifier
-class TestUserIdentity(unittest.TestCase):
- """UserIdentity unit test stubs"""
+class TestExternalDataIdentifier(unittest.TestCase):
+ """ExternalDataIdentifier unit test stubs"""
def setUp(self):
pass
@@ -27,37 +27,39 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> UserIdentity:
- """Test UserIdentity
+ def make_instance(self, include_optional) -> ExternalDataIdentifier:
+ """Test ExternalDataIdentifier
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 `UserIdentity`
+ # uncomment below to create an instance of `ExternalDataIdentifier`
"""
- model = UserIdentity()
+ model = ExternalDataIdentifier()
if include_optional:
- return UserIdentity(
- id = vcell_client.models.key_value.KeyValue(
+ return ExternalDataIdentifier(
+ key = vcell_client.models.key_value.KeyValue(
value = 1.337, ),
- user = vcell_client.models.user1.User1(
+ owner = vcell_client.models.user.User(
user_name = '',
key = vcell_client.models.key_value.KeyValue(
value = 1.337, ),
- i_d = vcell_client.models.key_value.KeyValue(
- value = 1.337, ),
name = '',
- publisher = True,
test_account = True, ),
- subject = '',
- insert_date = 'Thu Mar 10 00:00:00 UTC 2022'
+ name = '',
+ job_index = 56,
+ simulation_key = vcell_client.models.key_value.KeyValue(
+ value = 1.337, ),
+ parameter_scan_type = True,
+ data_key = vcell_client.models.key_value.KeyValue(
+ value = 1.337, )
)
else:
- return UserIdentity(
+ return ExternalDataIdentifier(
)
"""
- def testUserIdentity(self):
- """Test UserIdentity"""
+ def testExternalDataIdentifier(self):
+ """Test ExternalDataIdentifier"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/python-restclient/test/test_field_data_reference.py b/python-restclient/test/test_field_data_reference.py
new file mode 100644
index 0000000000..a2db444a9a
--- /dev/null
+++ b/python-restclient/test/test_field_data_reference.py
@@ -0,0 +1,70 @@
+# 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.field_data_reference import FieldDataReference
+
+class TestFieldDataReference(unittest.TestCase):
+ """FieldDataReference unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> FieldDataReference:
+ """Test FieldDataReference
+ 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 `FieldDataReference`
+ """
+ model = FieldDataReference()
+ if include_optional:
+ return FieldDataReference(
+ external_data_identifier = vcell_client.models.external_data_identifier.ExternalDataIdentifier(
+ key = vcell_client.models.key_value.KeyValue(
+ value = 1.337, ),
+ owner = vcell_client.models.user.User(
+ user_name = '',
+ name = '',
+ test_account = True, ),
+ name = '',
+ job_index = 56,
+ simulation_key = vcell_client.models.key_value.KeyValue(
+ value = 1.337, ),
+ parameter_scan_type = True,
+ data_key = , ),
+ external_data_annotation = '',
+ external_data_id_sim_ref = [
+ vcell_client.models.key_value.KeyValue(
+ value = 1.337, )
+ ]
+ )
+ else:
+ return FieldDataReference(
+ )
+ """
+
+ def testFieldDataReference(self):
+ """Test FieldDataReference"""
+ # 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_field_data_resource_api.py b/python-restclient/test/test_field_data_resource_api.py
new file mode 100644
index 0000000000..223c7efcba
--- /dev/null
+++ b/python-restclient/test/test_field_data_resource_api.py
@@ -0,0 +1,67 @@
+# 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
+
+from vcell_client.api.field_data_resource_api import FieldDataResourceApi
+
+
+class TestFieldDataResourceApi(unittest.TestCase):
+ """FieldDataResourceApi unit test stubs"""
+
+ def setUp(self) -> None:
+ self.api = FieldDataResourceApi()
+
+ def tearDown(self) -> None:
+ pass
+
+ def test_analyze_field_data_file(self) -> None:
+ """Test case for analyze_field_data_file
+
+ Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+ """
+ pass
+
+ def test_create_field_data_from_analyzed_file(self) -> None:
+ """Test case for create_field_data_from_analyzed_file
+
+ Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+ """
+ pass
+
+ def test_delete_field_data(self) -> None:
+ """Test case for delete_field_data
+
+ Delete the selected field data.
+ """
+ pass
+
+ def test_get_all_field_data_ids(self) -> None:
+ """Test case for get_all_field_data_ids
+
+ Get all of the ids used to identify, and retrieve field data.
+ """
+ pass
+
+ def test_get_field_data_shape_from_id(self) -> None:
+ """Test case for get_field_data_shape_from_id
+
+ Get the shape of the field data. That is it's size, origin, extent, and data identifiers.
+ """
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/python-restclient/test/test_user1.py b/python-restclient/test/test_field_data_save_results.py
similarity index 53%
rename from python-restclient/test/test_user1.py
rename to python-restclient/test/test_field_data_save_results.py
index 5c83f48788..487181bb30 100644
--- a/python-restclient/test/test_user1.py
+++ b/python-restclient/test/test_field_data_save_results.py
@@ -16,10 +16,10 @@
import unittest
import datetime
-from vcell_client.models.user1 import User1
+from vcell_client.models.field_data_save_results import FieldDataSaveResults
-class TestUser1(unittest.TestCase):
- """User1 unit test stubs"""
+class TestFieldDataSaveResults(unittest.TestCase):
+ """FieldDataSaveResults unit test stubs"""
def setUp(self):
pass
@@ -27,32 +27,26 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> User1:
- """Test User1
+ def make_instance(self, include_optional) -> FieldDataSaveResults:
+ """Test FieldDataSaveResults
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 `User1`
+ # uncomment below to create an instance of `FieldDataSaveResults`
"""
- model = User1()
+ model = FieldDataSaveResults()
if include_optional:
- return User1(
- user_name = '',
- key = vcell_client.models.key_value.KeyValue(
- value = 1.337, ),
- i_d = vcell_client.models.key_value.KeyValue(
- value = 1.337, ),
- name = '',
- publisher = True,
- test_account = True
+ return FieldDataSaveResults(
+ field_data_name = '',
+ field_data_id = ''
)
else:
- return User1(
+ return FieldDataSaveResults(
)
"""
- def testUser1(self):
- """Test User1"""
+ def testFieldDataSaveResults(self):
+ """Test FieldDataSaveResults"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/python-restclient/test/test_field_data_shape.py b/python-restclient/test/test_field_data_shape.py
new file mode 100644
index 0000000000..27397f960c
--- /dev/null
+++ b/python-restclient/test/test_field_data_shape.py
@@ -0,0 +1,87 @@
+# 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.field_data_shape import FieldDataShape
+
+class TestFieldDataShape(unittest.TestCase):
+ """FieldDataShape unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> FieldDataShape:
+ """Test FieldDataShape
+ 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 `FieldDataShape`
+ """
+ model = FieldDataShape()
+ if include_optional:
+ return FieldDataShape(
+ extent = vcell_client.models.extent.Extent(
+ x = 1.337,
+ y = 1.337,
+ z = 1.337, ),
+ origin = vcell_client.models.origin.Origin(
+ x = 1.337,
+ y = 1.337,
+ z = 1.337, ),
+ isize = vcell_client.models.i_size.ISize(
+ x = 56,
+ y = 56,
+ z = 56, ),
+ data_identifier = [
+ vcell_client.models.data_identifier.DataIdentifier(
+ name = '',
+ display_name = '',
+ variable_type = vcell_client.models.variable_type.VariableType(
+ type = 56,
+ variable_domain = 'VARIABLEDOMAIN_POSTPROCESSING',
+ name = '',
+ units = '',
+ label = '',
+ legacy_warn = True,
+ default_label = '',
+ default_units = '',
+ type_name = '', ),
+ domain = vcell_client.models.domain.Domain(
+ name = '', ),
+ b_function = True,
+ function = True,
+ visible = True, )
+ ],
+ times = [
+ 1.337
+ ]
+ )
+ else:
+ return FieldDataShape(
+ )
+ """
+
+ def testFieldDataShape(self):
+ """Test FieldDataShape"""
+ # 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_hello_world_api.py b/python-restclient/test/test_hello_world_api.py
index 0392ac752e..d1ce89f48f 100644
--- a/python-restclient/test/test_hello_world_api.py
+++ b/python-restclient/test/test_hello_world_api.py
@@ -1,7 +1,7 @@
# coding: utf-8
"""
- VCell API (test)
+ VCell API
VCell API
diff --git a/python-restclient/test/test_hello_world_message.py b/python-restclient/test/test_hello_world_message.py
index 6dcfd79b5e..7bb6da06ae 100644
--- a/python-restclient/test/test_hello_world_message.py
+++ b/python-restclient/test/test_hello_world_message.py
@@ -1,7 +1,7 @@
# coding: utf-8
"""
- VCell API (test)
+ VCell API
VCell API
diff --git a/python-restclient/test/test_v_cell_server_id.py b/python-restclient/test/test_i_size.py
similarity index 62%
rename from python-restclient/test/test_v_cell_server_id.py
rename to python-restclient/test/test_i_size.py
index e0bea7b3dc..58fc58840f 100644
--- a/python-restclient/test/test_v_cell_server_id.py
+++ b/python-restclient/test/test_i_size.py
@@ -16,10 +16,10 @@
import unittest
import datetime
-from vcell_client.models.v_cell_server_id import VCellServerID
+from vcell_client.models.i_size import ISize
-class TestVCellServerID(unittest.TestCase):
- """VCellServerID unit test stubs"""
+class TestISize(unittest.TestCase):
+ """ISize unit test stubs"""
def setUp(self):
pass
@@ -27,25 +27,27 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> VCellServerID:
- """Test VCellServerID
+ def make_instance(self, include_optional) -> ISize:
+ """Test ISize
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 `VCellServerID`
+ # uncomment below to create an instance of `ISize`
"""
- model = VCellServerID()
+ model = ISize()
if include_optional:
- return VCellServerID(
- server_id = ''
+ return ISize(
+ x = 56,
+ y = 56,
+ z = 56
)
else:
- return VCellServerID(
+ return ISize(
)
"""
- def testVCellServerID(self):
- """Test VCellServerID"""
+ def testISize(self):
+ """Test ISize"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/python-restclient/test/test_mathmodel_ref.py b/python-restclient/test/test_mathmodel_ref.py
index be7d704a15..4234b69e78 100644
--- a/python-restclient/test/test_mathmodel_ref.py
+++ b/python-restclient/test/test_mathmodel_ref.py
@@ -1,7 +1,7 @@
# coding: utf-8
"""
- VCell API (development)
+ VCell API
VCell API
diff --git a/python-restclient/test/test_origin.py b/python-restclient/test/test_origin.py
new file mode 100644
index 0000000000..0b90b202c8
--- /dev/null
+++ b/python-restclient/test/test_origin.py
@@ -0,0 +1,55 @@
+# 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.origin import Origin
+
+class TestOrigin(unittest.TestCase):
+ """Origin unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> Origin:
+ """Test Origin
+ 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 `Origin`
+ """
+ model = Origin()
+ if include_optional:
+ return Origin(
+ x = 1.337,
+ y = 1.337,
+ z = 1.337
+ )
+ else:
+ return Origin(
+ )
+ """
+
+ def testOrigin(self):
+ """Test Origin"""
+ # 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_publication.py b/python-restclient/test/test_publication.py
index 540df5e5c9..ea68d991ac 100644
--- a/python-restclient/test/test_publication.py
+++ b/python-restclient/test/test_publication.py
@@ -1,7 +1,7 @@
# coding: utf-8
"""
- VCell API (development)
+ VCell API
VCell API
diff --git a/python-restclient/test/test_publication_resource_api.py b/python-restclient/test/test_publication_resource_api.py
index cf6bef21d3..1cb44ec008 100644
--- a/python-restclient/test/test_publication_resource_api.py
+++ b/python-restclient/test/test_publication_resource_api.py
@@ -1,7 +1,7 @@
# coding: utf-8
"""
- VCell API (development)
+ VCell API
VCell API
@@ -27,21 +27,38 @@ def setUp(self) -> None:
def tearDown(self) -> None:
pass
- def test_api_publications_delete(self) -> None:
- """Test case for api_publications_delete
+ def test_create_publication(self) -> None:
+ """Test case for create_publication
+
+ Create publication
+ """
+ pass
+
+ def test_delete_publication(self) -> None:
+ """Test case for delete_publication
+
+ Delete publication
+ """
+ pass
+
+ def test_get_publication_by_id(self) -> None:
+ """Test case for get_publication_by_id
+ Get publication by ID
"""
pass
- def test_api_publications_get(self) -> None:
- """Test case for api_publications_get
+ def test_get_publications(self) -> None:
+ """Test case for get_publications
+ Get all publications
"""
pass
- def test_api_publications_post(self) -> None:
- """Test case for api_publications_post
+ def test_update_publication(self) -> None:
+ """Test case for update_publication
+ Create publication
"""
pass
diff --git a/python-restclient/test/test_simulation_execution_status.py b/python-restclient/test/test_simulation_execution_status.py
deleted file mode 100644
index 22b72b774d..0000000000
--- a/python-restclient/test/test_simulation_execution_status.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# 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.simulation_execution_status import SimulationExecutionStatus
-
-class TestSimulationExecutionStatus(unittest.TestCase):
- """SimulationExecutionStatus unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> SimulationExecutionStatus:
- """Test SimulationExecutionStatus
- 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 `SimulationExecutionStatus`
- """
- model = SimulationExecutionStatus()
- if include_optional:
- return SimulationExecutionStatus(
- field_start_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_latest_update_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_end_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_compute_host = '',
- field_has_data = True,
- field_htc_job_id = vcell_client.models.htc_job_id.HtcJobID(
- job_number = 56,
- server = '',
- batch_system_type = 'PBS', ),
- compute_host = '',
- end_date = 'Thu Mar 10 00:00:00 UTC 2022',
- latest_update_date = 'Thu Mar 10 00:00:00 UTC 2022',
- start_date = 'Thu Mar 10 00:00:00 UTC 2022',
- htc_job_id = vcell_client.models.htc_job_id.HtcJobID(
- job_number = 56,
- server = '',
- batch_system_type = 'PBS', )
- )
- else:
- return SimulationExecutionStatus(
- )
- """
-
- def testSimulationExecutionStatus(self):
- """Test SimulationExecutionStatus"""
- # 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_simulation_job_status.py b/python-restclient/test/test_simulation_job_status.py
deleted file mode 100644
index 052963b8ff..0000000000
--- a/python-restclient/test/test_simulation_job_status.py
+++ /dev/null
@@ -1,155 +0,0 @@
-# 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.simulation_job_status import SimulationJobStatus
-
-class TestSimulationJobStatus(unittest.TestCase):
- """SimulationJobStatus unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> SimulationJobStatus:
- """Test SimulationJobStatus
- 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 `SimulationJobStatus`
- """
- model = SimulationJobStatus()
- if include_optional:
- return SimulationJobStatus(
- field_time_date_stamp = 'Thu Mar 10 00:00:00 UTC 2022',
- field_vc_sim_id = vcell_client.models.vc_simulation_identifier.VCSimulationIdentifier(
- simulation_key = vcell_client.models.key_value.KeyValue(
- value = 1.337, ),
- owner = vcell_client.models.user.User(
- user_name = '',
- key = vcell_client.models.key_value.KeyValue(
- value = 1.337, ),
- i_d = ,
- name = '',
- test_account = True, ),
- i_d = '', ),
- field_submit_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_scheduler_status = 'WAITING',
- field_task_id = 56,
- field_simulation_message = vcell_client.models.simulation_message.SimulationMessage(
- detailed_state = 'UNKNOWN',
- message = '',
- htc_job_id = vcell_client.models.htc_job_id.HtcJobID(
- job_number = 56,
- server = '',
- batch_system_type = 'PBS', ),
- display_message = '', ),
- field_server_id = vcell_client.models.v_cell_server_id.VCellServerID(
- server_id = '', ),
- field_job_index = 56,
- field_simulation_queue_entry_status = vcell_client.models.simulation_queue_entry_status.SimulationQueueEntryStatus(
- field_queue_priority = 56,
- field_queue_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_queue_id = 'QUEUE_ID_WAITING',
- queue_date = 'Thu Mar 10 00:00:00 UTC 2022',
- queue_id = 'QUEUE_ID_WAITING',
- queue_priority = 56, ),
- field_simulation_execution_status = vcell_client.models.simulation_execution_status.SimulationExecutionStatus(
- field_start_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_latest_update_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_end_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_compute_host = '',
- field_has_data = True,
- field_htc_job_id = vcell_client.models.htc_job_id.HtcJobID(
- job_number = 56,
- server = '',
- batch_system_type = 'PBS', ),
- compute_host = '',
- end_date = 'Thu Mar 10 00:00:00 UTC 2022',
- latest_update_date = 'Thu Mar 10 00:00:00 UTC 2022',
- start_date = 'Thu Mar 10 00:00:00 UTC 2022',
- htc_job_id = vcell_client.models.htc_job_id.HtcJobID(
- job_number = 56,
- server = '', ), ),
- compute_host = '',
- end_date = 'Thu Mar 10 00:00:00 UTC 2022',
- job_index = 56,
- scheduler_status = 'WAITING',
- server_id = vcell_client.models.v_cell_server_id.VCellServerID(
- server_id = '', ),
- simulation_execution_status = vcell_client.models.simulation_execution_status.SimulationExecutionStatus(
- field_start_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_latest_update_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_end_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_compute_host = '',
- field_has_data = True,
- field_htc_job_id = vcell_client.models.htc_job_id.HtcJobID(
- job_number = 56,
- server = '',
- batch_system_type = 'PBS', ),
- compute_host = '',
- end_date = 'Thu Mar 10 00:00:00 UTC 2022',
- latest_update_date = 'Thu Mar 10 00:00:00 UTC 2022',
- start_date = 'Thu Mar 10 00:00:00 UTC 2022',
- htc_job_id = vcell_client.models.htc_job_id.HtcJobID(
- job_number = 56,
- server = '', ), ),
- simulation_queue_entry_status = vcell_client.models.simulation_queue_entry_status.SimulationQueueEntryStatus(
- field_queue_priority = 56,
- field_queue_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_queue_id = 'QUEUE_ID_WAITING',
- queue_date = 'Thu Mar 10 00:00:00 UTC 2022',
- queue_id = 'QUEUE_ID_WAITING',
- queue_priority = 56, ),
- start_date = 'Thu Mar 10 00:00:00 UTC 2022',
- simulation_message = vcell_client.models.simulation_message.SimulationMessage(
- detailed_state = 'UNKNOWN',
- message = '',
- htc_job_id = vcell_client.models.htc_job_id.HtcJobID(
- job_number = 56,
- server = '',
- batch_system_type = 'PBS', ),
- display_message = '', ),
- submit_date = 'Thu Mar 10 00:00:00 UTC 2022',
- task_id = 56,
- time_date_stamp = 'Thu Mar 10 00:00:00 UTC 2022',
- v_c_simulation_identifier = vcell_client.models.vc_simulation_identifier.VCSimulationIdentifier(
- simulation_key = vcell_client.models.key_value.KeyValue(
- value = 1.337, ),
- owner = vcell_client.models.user.User(
- user_name = '',
- key = vcell_client.models.key_value.KeyValue(
- value = 1.337, ),
- i_d = ,
- name = '',
- test_account = True, ),
- i_d = '', )
- )
- else:
- return SimulationJobStatus(
- )
- """
-
- def testSimulationJobStatus(self):
- """Test SimulationJobStatus"""
- # 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_simulation_job_status_record.py b/python-restclient/test/test_simulation_job_status_record.py
index 0a638b01f7..b1d727596e 100644
--- a/python-restclient/test/test_simulation_job_status_record.py
+++ b/python-restclient/test/test_simulation_job_status_record.py
@@ -37,7 +37,7 @@ def make_instance(self, include_optional) -> SimulationJobStatusRecord:
model = SimulationJobStatusRecord()
if include_optional:
return SimulationJobStatusRecord(
- field_time_data_stamp = 'Thu Mar 10 00:00:00 UTC 2022',
+ field_time_data_stamp = '2022-03-10T16:15:50Z',
field_vc_sim_id = vcell_client.models.vc_simulation_identifier.VCSimulationIdentifier(
simulation_key = vcell_client.models.key_value.KeyValue(
value = 1.337, ),
@@ -45,11 +45,10 @@ def make_instance(self, include_optional) -> SimulationJobStatusRecord:
user_name = '',
key = vcell_client.models.key_value.KeyValue(
value = 1.337, ),
- i_d = ,
name = '',
test_account = True, ),
i_d = '', ),
- field_submit_date = 'Thu Mar 10 00:00:00 UTC 2022',
+ field_submit_date = '2022-03-10T16:15:50Z',
field_scheduler_status = 'WAITING',
field_simulation_message = vcell_client.models.simulation_message.SimulationMessage(
detailed_state = 'UNKNOWN',
@@ -62,30 +61,20 @@ def make_instance(self, include_optional) -> SimulationJobStatusRecord:
field_task_id = 56,
field_server_id = '',
field_job_index = 56,
- field_simulation_execution_status = vcell_client.models.simulation_execution_status.SimulationExecutionStatus(
- field_start_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_latest_update_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_end_date = 'Thu Mar 10 00:00:00 UTC 2022',
+ field_simulation_execution_status = vcell_client.models.simulation_execution_status_record.SimulationExecutionStatusRecord(
+ field_start_date = '2022-03-10T16:15:50Z',
+ field_latest_update_date = '2022-03-10T16:15:50Z',
+ field_end_date = '2022-03-10T16:15:50Z',
field_compute_host = '',
field_has_data = True,
field_htc_job_id = vcell_client.models.htc_job_id.HtcJobID(
job_number = 56,
server = '',
- batch_system_type = 'PBS', ),
- compute_host = '',
- end_date = 'Thu Mar 10 00:00:00 UTC 2022',
- latest_update_date = 'Thu Mar 10 00:00:00 UTC 2022',
- start_date = 'Thu Mar 10 00:00:00 UTC 2022',
- htc_job_id = vcell_client.models.htc_job_id.HtcJobID(
- job_number = 56,
- server = '', ), ),
- field_simulation_queue_entry_status = vcell_client.models.simulation_queue_entry_status.SimulationQueueEntryStatus(
+ batch_system_type = 'PBS', ), ),
+ field_simulation_queue_entry_status = vcell_client.models.simulation_queue_entry_status_record.SimulationQueueEntryStatusRecord(
field_queue_priority = 56,
- field_queue_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_queue_id = 'QUEUE_ID_WAITING',
- queue_date = 'Thu Mar 10 00:00:00 UTC 2022',
- queue_id = 'QUEUE_ID_WAITING',
- queue_priority = 56, )
+ field_queue_date = '2022-03-10T16:15:50Z',
+ field_queue_id = 'QUEUE_ID_WAITING', )
)
else:
return SimulationJobStatusRecord(
diff --git a/python-restclient/test/test_simulation_queue_entry_status.py b/python-restclient/test/test_simulation_queue_entry_status.py
deleted file mode 100644
index 81f36c8d92..0000000000
--- a/python-restclient/test/test_simulation_queue_entry_status.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# 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.simulation_queue_entry_status import SimulationQueueEntryStatus
-
-class TestSimulationQueueEntryStatus(unittest.TestCase):
- """SimulationQueueEntryStatus unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> SimulationQueueEntryStatus:
- """Test SimulationQueueEntryStatus
- 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 `SimulationQueueEntryStatus`
- """
- model = SimulationQueueEntryStatus()
- if include_optional:
- return SimulationQueueEntryStatus(
- field_queue_priority = 56,
- field_queue_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_queue_id = 'QUEUE_ID_WAITING',
- queue_date = 'Thu Mar 10 00:00:00 UTC 2022',
- queue_id = 'QUEUE_ID_WAITING',
- queue_priority = 56
- )
- else:
- return SimulationQueueEntryStatus(
- )
- """
-
- def testSimulationQueueEntryStatus(self):
- """Test SimulationQueueEntryStatus"""
- # 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_simulation_resource_api.py b/python-restclient/test/test_simulation_resource_api.py
index aa62ff7aaa..cdbb07462e 100644
--- a/python-restclient/test/test_simulation_resource_api.py
+++ b/python-restclient/test/test_simulation_resource_api.py
@@ -27,10 +27,10 @@ def setUp(self) -> None:
def tearDown(self) -> None:
pass
- def test_save_simulation(self) -> None:
- """Test case for save_simulation
+ def test_get_simulation_status(self) -> None:
+ """Test case for get_simulation_status
- Save a simulation.
+ Get the status of simulation running
"""
pass
diff --git a/python-restclient/test/test_simulation_status_persistent_record.py b/python-restclient/test/test_simulation_status_persistent_record.py
index 2fe9f6005d..6fe3582d8e 100644
--- a/python-restclient/test/test_simulation_status_persistent_record.py
+++ b/python-restclient/test/test_simulation_status_persistent_record.py
@@ -38,9 +38,6 @@ def make_instance(self, include_optional) -> SimulationStatusPersistentRecord:
if include_optional:
return SimulationStatusPersistentRecord(
status = 'UNKNOWN',
- progress_hash = {
- 'key' : 1.337
- },
details = '',
has_data = True
)
diff --git a/python-restclient/test/test_status_message.py b/python-restclient/test/test_status_message.py
index 4d6264786d..48f6fa991a 100644
--- a/python-restclient/test/test_status_message.py
+++ b/python-restclient/test/test_status_message.py
@@ -37,8 +37,8 @@ def make_instance(self, include_optional) -> StatusMessage:
model = StatusMessage()
if include_optional:
return StatusMessage(
- job_status = vcell_client.models.simulation_job_status.SimulationJobStatus(
- field_time_date_stamp = 'Thu Mar 10 00:00:00 UTC 2022',
+ job_status = vcell_client.models.simulation_job_status_record.SimulationJobStatusRecord(
+ field_time_data_stamp = '2022-03-10T16:15:50Z',
field_vc_sim_id = vcell_client.models.vc_simulation_identifier.VCSimulationIdentifier(
simulation_key = vcell_client.models.key_value.KeyValue(
value = 1.337, ),
@@ -46,13 +46,11 @@ def make_instance(self, include_optional) -> StatusMessage:
user_name = '',
key = vcell_client.models.key_value.KeyValue(
value = 1.337, ),
- i_d = ,
name = '',
test_account = True, ),
i_d = '', ),
- field_submit_date = 'Thu Mar 10 00:00:00 UTC 2022',
+ field_submit_date = '2022-03-10T16:15:50Z',
field_scheduler_status = 'WAITING',
- field_task_id = 56,
field_simulation_message = vcell_client.models.simulation_message.SimulationMessage(
detailed_state = 'UNKNOWN',
message = '',
@@ -61,58 +59,22 @@ def make_instance(self, include_optional) -> StatusMessage:
server = '',
batch_system_type = 'PBS', ),
display_message = '', ),
- field_server_id = vcell_client.models.v_cell_server_id.VCellServerID(
- server_id = '', ),
+ field_task_id = 56,
+ field_server_id = '',
field_job_index = 56,
- field_simulation_queue_entry_status = vcell_client.models.simulation_queue_entry_status.SimulationQueueEntryStatus(
- field_queue_priority = 56,
- field_queue_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_queue_id = 'QUEUE_ID_WAITING',
- queue_date = 'Thu Mar 10 00:00:00 UTC 2022',
- queue_id = 'QUEUE_ID_WAITING',
- queue_priority = 56, ),
- field_simulation_execution_status = vcell_client.models.simulation_execution_status.SimulationExecutionStatus(
- field_start_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_latest_update_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_end_date = 'Thu Mar 10 00:00:00 UTC 2022',
+ field_simulation_execution_status = vcell_client.models.simulation_execution_status_record.SimulationExecutionStatusRecord(
+ field_start_date = '2022-03-10T16:15:50Z',
+ field_latest_update_date = '2022-03-10T16:15:50Z',
+ field_end_date = '2022-03-10T16:15:50Z',
field_compute_host = '',
field_has_data = True,
field_htc_job_id = vcell_client.models.htc_job_id.HtcJobID(
job_number = 56,
- server = '', ),
- compute_host = '',
- end_date = 'Thu Mar 10 00:00:00 UTC 2022',
- latest_update_date = 'Thu Mar 10 00:00:00 UTC 2022',
- start_date = 'Thu Mar 10 00:00:00 UTC 2022',
- htc_job_id = , ),
- compute_host = '',
- end_date = 'Thu Mar 10 00:00:00 UTC 2022',
- job_index = 56,
- scheduler_status = 'WAITING',
- server_id = vcell_client.models.v_cell_server_id.VCellServerID(),
- simulation_execution_status = vcell_client.models.simulation_execution_status.SimulationExecutionStatus(
- field_start_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_latest_update_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_end_date = 'Thu Mar 10 00:00:00 UTC 2022',
- field_compute_host = '',
- field_has_data = True,
- compute_host = '',
- end_date = 'Thu Mar 10 00:00:00 UTC 2022',
- latest_update_date = 'Thu Mar 10 00:00:00 UTC 2022',
- start_date = 'Thu Mar 10 00:00:00 UTC 2022', ),
- simulation_queue_entry_status = vcell_client.models.simulation_queue_entry_status.SimulationQueueEntryStatus(
+ server = '', ), ),
+ field_simulation_queue_entry_status = vcell_client.models.simulation_queue_entry_status_record.SimulationQueueEntryStatusRecord(
field_queue_priority = 56,
- field_queue_date = 'Thu Mar 10 00:00:00 UTC 2022',
- queue_date = 'Thu Mar 10 00:00:00 UTC 2022',
- queue_priority = 56, ),
- start_date = 'Thu Mar 10 00:00:00 UTC 2022',
- simulation_message = vcell_client.models.simulation_message.SimulationMessage(
- message = '',
- display_message = '', ),
- submit_date = 'Thu Mar 10 00:00:00 UTC 2022',
- task_id = 56,
- time_date_stamp = 'Thu Mar 10 00:00:00 UTC 2022',
- v_c_simulation_identifier = vcell_client.models.vc_simulation_identifier.VCSimulationIdentifier(), ),
+ field_queue_date = '2022-03-10T16:15:50Z',
+ field_queue_id = 'QUEUE_ID_WAITING', ), ),
user_name = '',
progress = 1.337,
timepoint = 1.337
diff --git a/python-restclient/test/test_user.py b/python-restclient/test/test_user.py
index c6eda582ed..1dada307ad 100644
--- a/python-restclient/test/test_user.py
+++ b/python-restclient/test/test_user.py
@@ -1,7 +1,7 @@
# coding: utf-8
"""
- VCell API (development)
+ VCell API
VCell API
@@ -37,7 +37,11 @@ def make_instance(self, include_optional) -> User:
model = User()
if include_optional:
return User(
- user_name = ''
+ user_name = '',
+ key = vcell_client.models.key_value.KeyValue(
+ value = 1.337, ),
+ name = '',
+ test_account = True
)
else:
return User(
diff --git a/python-restclient/test/test_user_identity_json_safe.py b/python-restclient/test/test_user_identity_json_safe.py
index 7b29c333d3..954a230afa 100644
--- a/python-restclient/test/test_user_identity_json_safe.py
+++ b/python-restclient/test/test_user_identity_json_safe.py
@@ -37,6 +37,7 @@ def make_instance(self, include_optional) -> UserIdentityJSONSafe:
model = UserIdentityJSONSafe()
if include_optional:
return UserIdentityJSONSafe(
+ mapped = True,
user_name = '',
id = 1.337,
subject = '',
diff --git a/python-restclient/test/test_user_login_info_for_mapping.py b/python-restclient/test/test_user_login_info_for_mapping.py
index 7f1d797470..0c41d647d6 100644
--- a/python-restclient/test/test_user_login_info_for_mapping.py
+++ b/python-restclient/test/test_user_login_info_for_mapping.py
@@ -1,7 +1,7 @@
# coding: utf-8
"""
- VCell API (development)
+ VCell API
VCell API
@@ -38,7 +38,7 @@ def make_instance(self, include_optional) -> UserLoginInfoForMapping:
if include_optional:
return UserLoginInfoForMapping(
user_id = '',
- digested_password = ''
+ password = ''
)
else:
return UserLoginInfoForMapping(
diff --git a/python-restclient/test/test_users_resource_api.py b/python-restclient/test/test_users_resource_api.py
index 6476fa4b56..4d0831fada 100644
--- a/python-restclient/test/test_users_resource_api.py
+++ b/python-restclient/test/test_users_resource_api.py
@@ -1,7 +1,7 @@
# coding: utf-8
"""
- VCell API (development)
+ VCell API
VCell API
@@ -27,9 +27,73 @@ def setUp(self) -> None:
def tearDown(self) -> None:
pass
- def test_api_users_me_get(self) -> None:
- """Test case for api_users_me_get
+ def test_forgot_legacy_password(self) -> None:
+ """Test case for forgot_legacy_password
+
+ The end user has forgotten the legacy password they used for VCell, so they will be emailed it.
+ """
+ pass
+
+ def test_get_guest_legacy_api_token(self) -> None:
+ """Test case for get_guest_legacy_api_token
+
+ Method to get legacy tokens for guest users
+ """
+ pass
+
+ def test_get_legacy_api_token(self) -> None:
+ """Test case for get_legacy_api_token
+
+ Get token for legacy API
+ """
+ pass
+
+ def test_get_mapped_user(self) -> None:
+ """Test case for get_mapped_user
+
+ Get mapped VCell identity
+ """
+ pass
+
+ def test_get_me(self) -> None:
+ """Test case for get_me
+
+ Get current user
+ """
+ pass
+
+ def test_map_new_user(self) -> None:
+ """Test case for map_new_user
+
+ create vcell user
+ """
+ pass
+
+ def test_map_user(self) -> None:
+ """Test case for map_user
+
+ map vcell user
+ """
+ pass
+
+ def test_process_magic_link(self) -> None:
+ """Test case for process_magic_link
+
+ Process the magic link and map the user
+ """
+ pass
+
+ def test_request_recovery_email(self) -> None:
+ """Test case for request_recovery_email
+
+ request a recovery email to link a VCell account.
+ """
+ pass
+
+ def test_unmap_user(self) -> None:
+ """Test case for unmap_user
+ remove vcell identity mapping
"""
pass
diff --git a/python-restclient/test/test_identity_provider.py b/python-restclient/test/test_variable_domain.py
similarity index 61%
rename from python-restclient/test/test_identity_provider.py
rename to python-restclient/test/test_variable_domain.py
index c7ebb2e59c..fd61ff28dd 100644
--- a/python-restclient/test/test_identity_provider.py
+++ b/python-restclient/test/test_variable_domain.py
@@ -16,10 +16,10 @@
import unittest
import datetime
-from vcell_client.models.identity_provider import IdentityProvider
+from vcell_client.models.variable_domain import VariableDomain
-class TestIdentityProvider(unittest.TestCase):
- """IdentityProvider unit test stubs"""
+class TestVariableDomain(unittest.TestCase):
+ """VariableDomain unit test stubs"""
def setUp(self):
pass
@@ -27,9 +27,9 @@ def setUp(self):
def tearDown(self):
pass
- def testIdentityProvider(self):
- """Test IdentityProvider"""
- # inst = IdentityProvider()
+ def testVariableDomain(self):
+ """Test VariableDomain"""
+ # inst = VariableDomain()
if __name__ == '__main__':
unittest.main()
diff --git a/python-restclient/test/test_override_representation.py b/python-restclient/test/test_variable_type.py
similarity index 53%
rename from python-restclient/test/test_override_representation.py
rename to python-restclient/test/test_variable_type.py
index 658bb49e34..496c7c4149 100644
--- a/python-restclient/test/test_override_representation.py
+++ b/python-restclient/test/test_variable_type.py
@@ -16,10 +16,10 @@
import unittest
import datetime
-from vcell_client.models.override_representation import OverrideRepresentation
+from vcell_client.models.variable_type import VariableType
-class TestOverrideRepresentation(unittest.TestCase):
- """OverrideRepresentation unit test stubs"""
+class TestVariableType(unittest.TestCase):
+ """VariableType unit test stubs"""
def setUp(self):
pass
@@ -27,31 +27,33 @@ def setUp(self):
def tearDown(self):
pass
- def make_instance(self, include_optional) -> OverrideRepresentation:
- """Test OverrideRepresentation
+ def make_instance(self, include_optional) -> VariableType:
+ """Test VariableType
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 `OverrideRepresentation`
+ # uncomment below to create an instance of `VariableType`
"""
- model = OverrideRepresentation()
+ model = VariableType()
if include_optional:
- return OverrideRepresentation(
+ return VariableType(
+ type = 56,
+ variable_domain = 'VARIABLEDOMAIN_POSTPROCESSING',
name = '',
- type = '',
- expression = '',
- values = [
- ''
- ],
- cardinality = 56
+ units = '',
+ label = '',
+ legacy_warn = True,
+ default_label = '',
+ default_units = '',
+ type_name = ''
)
else:
- return OverrideRepresentation(
+ return VariableType(
)
"""
- def testOverrideRepresentation(self):
- """Test OverrideRepresentation"""
+ def testVariableType(self):
+ """Test VariableType"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
diff --git a/python-restclient/test/test_vc_simulation_identifier.py b/python-restclient/test/test_vc_simulation_identifier.py
index e7e6f7900a..095ebdc859 100644
--- a/python-restclient/test/test_vc_simulation_identifier.py
+++ b/python-restclient/test/test_vc_simulation_identifier.py
@@ -43,8 +43,6 @@ def make_instance(self, include_optional) -> VCSimulationIdentifier:
user_name = '',
key = vcell_client.models.key_value.KeyValue(
value = 1.337, ),
- i_d = vcell_client.models.key_value.KeyValue(
- value = 1.337, ),
name = '',
test_account = True, ),
i_d = ''
diff --git a/python-restclient/vcell_client/__init__.py b/python-restclient/vcell_client/__init__.py
index c80d4add41..3112d5aa16 100644
--- a/python-restclient/vcell_client/__init__.py
+++ b/python-restclient/vcell_client/__init__.py
@@ -20,6 +20,7 @@
# import apis into sdk package
from vcell_client.api.admin_resource_api import AdminResourceApi
from vcell_client.api.bio_model_resource_api import BioModelResourceApi
+from vcell_client.api.field_data_resource_api import FieldDataResourceApi
from vcell_client.api.hello_world_api import HelloWorldApi
from vcell_client.api.publication_resource_api import PublicationResourceApi
from vcell_client.api.simulation_resource_api import SimulationResourceApi
@@ -38,15 +39,25 @@
# import models into sdk package
from vcell_client.models.acces_token_representation_record import AccesTokenRepresentationRecord
+from vcell_client.models.analyzed_results_from_field_data import AnalyzedResultsFromFieldData
from vcell_client.models.batch_system_type import BatchSystemType
from vcell_client.models.bio_model import BioModel
from vcell_client.models.biomodel_ref import BiomodelRef
+from vcell_client.models.data_identifier import DataIdentifier
from vcell_client.models.detailed_state import DetailedState
+from vcell_client.models.domain import Domain
+from vcell_client.models.extent import Extent
+from vcell_client.models.external_data_identifier import ExternalDataIdentifier
+from vcell_client.models.field_data_reference import FieldDataReference
+from vcell_client.models.field_data_save_results import FieldDataSaveResults
+from vcell_client.models.field_data_shape import FieldDataShape
from vcell_client.models.hello_world_message import HelloWorldMessage
from vcell_client.models.htc_job_id import HtcJobID
+from vcell_client.models.i_size import ISize
from vcell_client.models.identity import Identity
from vcell_client.models.key_value import KeyValue
from vcell_client.models.mathmodel_ref import MathmodelRef
+from vcell_client.models.origin import Origin
from vcell_client.models.publication import Publication
from vcell_client.models.scheduler_status import SchedulerStatus
from vcell_client.models.simulation_execution_status_record import SimulationExecutionStatusRecord
@@ -62,3 +73,5 @@
from vcell_client.models.user_login_info_for_mapping import UserLoginInfoForMapping
from vcell_client.models.user_registration_info import UserRegistrationInfo
from vcell_client.models.vc_simulation_identifier import VCSimulationIdentifier
+from vcell_client.models.variable_domain import VariableDomain
+from vcell_client.models.variable_type import VariableType
diff --git a/python-restclient/vcell_client/api/__init__.py b/python-restclient/vcell_client/api/__init__.py
index 25e9b7e0ef..40db361305 100644
--- a/python-restclient/vcell_client/api/__init__.py
+++ b/python-restclient/vcell_client/api/__init__.py
@@ -3,6 +3,7 @@
# import apis into api package
from vcell_client.api.admin_resource_api import AdminResourceApi
from vcell_client.api.bio_model_resource_api import BioModelResourceApi
+from vcell_client.api.field_data_resource_api import FieldDataResourceApi
from vcell_client.api.hello_world_api import HelloWorldApi
from vcell_client.api.publication_resource_api import PublicationResourceApi
from vcell_client.api.simulation_resource_api import SimulationResourceApi
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 d2c1d51d15..c31ac2bb00 100644
--- a/python-restclient/vcell_client/api/bio_model_resource_api.py
+++ b/python-restclient/vcell_client/api/bio_model_resource_api.py
@@ -350,7 +350,8 @@ def get_biomodel_by_id(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "BioModel"
+ '200': "BioModel",
+ '404': None
}
response_data = self.api_client.call_api(
@@ -417,7 +418,8 @@ def get_biomodel_by_id_with_http_info(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "BioModel"
+ '200': "BioModel",
+ '404': None
}
response_data = self.api_client.call_api(
@@ -484,7 +486,8 @@ def get_biomodel_by_id_without_preload_content(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "BioModel"
+ '200': "BioModel",
+ '404': None
}
response_data = self.api_client.call_api(
diff --git a/python-restclient/vcell_client/api/field_data_resource_api.py b/python-restclient/vcell_client/api/field_data_resource_api.py
new file mode 100644
index 0000000000..38733f46f7
--- /dev/null
+++ b/python-restclient/vcell_client/api/field_data_resource_api.py
@@ -0,0 +1,1358 @@
+# 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 io
+import warnings
+
+from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
+from typing import Dict, List, Optional, Tuple, Union, Any
+
+try:
+ from typing import Annotated
+except ImportError:
+ from typing_extensions import Annotated
+
+from pydantic import StrictBytes, StrictStr
+
+from typing import List, Optional, Union
+
+from vcell_client.models.analyzed_results_from_field_data import AnalyzedResultsFromFieldData
+from vcell_client.models.field_data_reference import FieldDataReference
+from vcell_client.models.field_data_save_results import FieldDataSaveResults
+from vcell_client.models.field_data_shape import FieldDataShape
+
+from vcell_client.api_client import ApiClient
+from vcell_client.api_response import ApiResponse
+from vcell_client.rest import RESTResponseType
+
+
+class FieldDataResourceApi:
+ """NOTE: This class is auto generated by OpenAPI Generator
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+ """
+
+ def __init__(self, api_client=None) -> None:
+ if api_client is None:
+ api_client = ApiClient.get_default()
+ self.api_client = api_client
+
+
+ @validate_call
+ def analyze_field_data_file(
+ self,
+ file: Optional[Union[StrictBytes, StrictStr]] = None,
+ file_name: Optional[StrictStr] = None,
+ _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,
+ ) -> AnalyzedResultsFromFieldData:
+ """Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+
+
+ :param file:
+ :type file: bytearray
+ :param file_name:
+ :type file_name: str
+ :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._analyze_field_data_file_serialize(
+ file=file,
+ file_name=file_name,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "AnalyzedResultsFromFieldData"
+
+ }
+ 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 analyze_field_data_file_with_http_info(
+ self,
+ file: Optional[Union[StrictBytes, StrictStr]] = None,
+ file_name: Optional[StrictStr] = None,
+ _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[AnalyzedResultsFromFieldData]:
+ """Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+
+
+ :param file:
+ :type file: bytearray
+ :param file_name:
+ :type file_name: str
+ :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._analyze_field_data_file_serialize(
+ file=file,
+ file_name=file_name,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "AnalyzedResultsFromFieldData"
+
+ }
+ 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 analyze_field_data_file_without_preload_content(
+ self,
+ file: Optional[Union[StrictBytes, StrictStr]] = None,
+ file_name: Optional[StrictStr] = None,
+ _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:
+ """Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+
+
+ :param file:
+ :type file: bytearray
+ :param file_name:
+ :type file_name: str
+ :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._analyze_field_data_file_serialize(
+ file=file,
+ file_name=file_name,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "AnalyzedResultsFromFieldData"
+
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ return response_data.response
+
+
+ def _analyze_field_data_file_serialize(
+ self,
+ file,
+ file_name,
+ _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
+ if file is not None:
+ _files['file'] = file
+ if file_name is not None:
+ _form_params.append(('fileName', file_name))
+ # process the body parameter
+
+
+ # set the HTTP header `Accept`
+ _header_params['Accept'] = self.api_client.select_header_accept(
+ [
+ 'application/json'
+ ]
+ )
+
+ # set the HTTP header `Content-Type`
+ if _content_type:
+ _header_params['Content-Type'] = _content_type
+ else:
+ _default_content_type = (
+ self.api_client.select_header_content_type(
+ [
+ 'multipart/form-data'
+ ]
+ )
+ )
+ if _default_content_type is not None:
+ _header_params['Content-Type'] = _default_content_type
+
+ # authentication setting
+ _auth_settings: List[str] = [
+ ]
+
+ return self.api_client.param_serialize(
+ method='POST',
+ resource_path='/api/v1/fieldData/analyzeFieldDataFile',
+ 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 create_field_data_from_analyzed_file(
+ self,
+ analyzed_results_from_field_data: Optional[AnalyzedResultsFromFieldData] = None,
+ _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,
+ ) -> FieldDataSaveResults:
+ """Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+
+
+ :param analyzed_results_from_field_data:
+ :type analyzed_results_from_field_data: AnalyzedResultsFromFieldData
+ :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._create_field_data_from_analyzed_file_serialize(
+ analyzed_results_from_field_data=analyzed_results_from_field_data,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "FieldDataSaveResults"
+
+ }
+ 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 create_field_data_from_analyzed_file_with_http_info(
+ self,
+ analyzed_results_from_field_data: Optional[AnalyzedResultsFromFieldData] = None,
+ _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[FieldDataSaveResults]:
+ """Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+
+
+ :param analyzed_results_from_field_data:
+ :type analyzed_results_from_field_data: AnalyzedResultsFromFieldData
+ :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._create_field_data_from_analyzed_file_serialize(
+ analyzed_results_from_field_data=analyzed_results_from_field_data,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "FieldDataSaveResults"
+
+ }
+ 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 create_field_data_from_analyzed_file_without_preload_content(
+ self,
+ analyzed_results_from_field_data: Optional[AnalyzedResultsFromFieldData] = None,
+ _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:
+ """Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+
+
+ :param analyzed_results_from_field_data:
+ :type analyzed_results_from_field_data: AnalyzedResultsFromFieldData
+ :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._create_field_data_from_analyzed_file_serialize(
+ analyzed_results_from_field_data=analyzed_results_from_field_data,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "FieldDataSaveResults"
+
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ return response_data.response
+
+
+ def _create_field_data_from_analyzed_file_serialize(
+ self,
+ analyzed_results_from_field_data,
+ _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
+ if analyzed_results_from_field_data is not None:
+ _body_params = analyzed_results_from_field_data
+
+
+ # set the HTTP header `Accept`
+ _header_params['Accept'] = self.api_client.select_header_accept(
+ [
+ 'application/json'
+ ]
+ )
+
+ # set the HTTP header `Content-Type`
+ if _content_type:
+ _header_params['Content-Type'] = _content_type
+ else:
+ _default_content_type = (
+ self.api_client.select_header_content_type(
+ [
+ 'application/json'
+ ]
+ )
+ )
+ if _default_content_type is not None:
+ _header_params['Content-Type'] = _default_content_type
+
+ # authentication setting
+ _auth_settings: List[str] = [
+ ]
+
+ return self.api_client.param_serialize(
+ method='POST',
+ resource_path='/api/v1/fieldData/createFieldDataFromAnalyzedFile',
+ 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 delete_field_data(
+ self,
+ field_data_id: StrictStr,
+ _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,
+ ) -> None:
+ """Delete the selected field data.
+
+
+ :param field_data_id: (required)
+ :type field_data_id: str
+ :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._delete_field_data_serialize(
+ field_data_id=field_data_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+
+ }
+ 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 delete_field_data_with_http_info(
+ self,
+ field_data_id: StrictStr,
+ _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[None]:
+ """Delete the selected field data.
+
+
+ :param field_data_id: (required)
+ :type field_data_id: str
+ :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._delete_field_data_serialize(
+ field_data_id=field_data_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+
+ }
+ 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 delete_field_data_without_preload_content(
+ self,
+ field_data_id: StrictStr,
+ _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:
+ """Delete the selected field data.
+
+
+ :param field_data_id: (required)
+ :type field_data_id: str
+ :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._delete_field_data_serialize(
+ field_data_id=field_data_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ return response_data.response
+
+
+ def _delete_field_data_serialize(
+ self,
+ field_data_id,
+ _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
+ if field_data_id is not None:
+ _path_params['fieldDataID'] = field_data_id
+ # process the query parameters
+ # process the header parameters
+ # process the form parameters
+ # process the body parameter
+
+
+
+
+ # authentication setting
+ _auth_settings: List[str] = [
+ ]
+
+ return self.api_client.param_serialize(
+ method='DELETE',
+ resource_path='/api/v1/fieldData/delete/{fieldDataID}',
+ 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 get_all_field_data_ids(
+ 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,
+ ) -> List[FieldDataReference]:
+ """Get all of the ids used to identify, and retrieve field data.
+
+
+ :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_all_field_data_ids_serialize(
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "List[FieldDataReference]"
+
+ }
+ 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_all_field_data_ids_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[List[FieldDataReference]]:
+ """Get all of the ids used to identify, and retrieve field data.
+
+
+ :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_all_field_data_ids_serialize(
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "List[FieldDataReference]"
+
+ }
+ 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_all_field_data_ids_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 all of the ids used to identify, and retrieve field data.
+
+
+ :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_all_field_data_ids_serialize(
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "List[FieldDataReference]"
+
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ return response_data.response
+
+
+ def _get_all_field_data_ids_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/fieldData/IDs',
+ 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 get_field_data_shape_from_id(
+ self,
+ field_data_id: StrictStr,
+ _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,
+ ) -> FieldDataShape:
+ """Get the shape of the field data. That is it's size, origin, extent, and data identifiers.
+
+
+ :param field_data_id: (required)
+ :type field_data_id: str
+ :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_field_data_shape_from_id_serialize(
+ field_data_id=field_data_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "FieldDataShape"
+
+ }
+ 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_field_data_shape_from_id_with_http_info(
+ self,
+ field_data_id: StrictStr,
+ _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[FieldDataShape]:
+ """Get the shape of the field data. That is it's size, origin, extent, and data identifiers.
+
+
+ :param field_data_id: (required)
+ :type field_data_id: str
+ :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_field_data_shape_from_id_serialize(
+ field_data_id=field_data_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "FieldDataShape"
+
+ }
+ 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_field_data_shape_from_id_without_preload_content(
+ self,
+ field_data_id: StrictStr,
+ _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 the shape of the field data. That is it's size, origin, extent, and data identifiers.
+
+
+ :param field_data_id: (required)
+ :type field_data_id: str
+ :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_field_data_shape_from_id_serialize(
+ field_data_id=field_data_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "FieldDataShape"
+
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ return response_data.response
+
+
+ def _get_field_data_shape_from_id_serialize(
+ self,
+ field_data_id,
+ _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
+ if field_data_id is not None:
+ _path_params['fieldDataID'] = field_data_id
+ # 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/fieldData/fieldDataShape/{fieldDataID}',
+ 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
+ )
+
+
diff --git a/python-restclient/vcell_client/auth/auth_utils.py b/python-restclient/vcell_client/auth/auth_utils.py
index 8553fbb2cd..c26183be7e 100644
--- a/python-restclient/vcell_client/auth/auth_utils.py
+++ b/python-restclient/vcell_client/auth/auth_utils.py
@@ -97,7 +97,6 @@ def login_interactive_tokens(client_id: str, auth_url: str, token_url: str, jwks
with OAuthHttpServer((hostname, temp_http_port), OAuthHttpHandler, success_redirect_url=success_redirect_url) as httpd:
redirectURI = f'http://{hostname}:{temp_http_port}{OIDC_TEST_CALLBACK}'
-
oauth2client = OAuth2Client(
token_endpoint=token_url,
authorization_endpoint=auth_url,
@@ -127,19 +126,26 @@ def get_authorization_and_token_endpoints(issuer_url: str) -> tuple[str, str, st
return data.get('authorization_endpoint'), data.get('token_endpoint'), data.get('jwks_uri')
-def login_interactive(api_base_url: str, client_id: str, issuer_url: str) -> ApiClient:
+def login_interactive(api_base_url: str = "https://vcell.cam.uchc.edu/api/v1", client_id: str = "cjoWhd7W8A8znf7Z7vizyvKJCiqTgRtf",
+ issuer_url: str = "https://dev-dzhx7i2db3x3kkvq.us.auth0.com", insecure: bool = False) -> ApiClient:
"""
This function is used to login interactively to the VCell API.
It is used for the ApiClient class to set the access token.
+ Only change the default variables set if you know what you are doing.
:param api_base_url: The base URL of the VCell API.
:param client_id: The client ID of the VCell API OIDC auth provider.
:param issuer_url: The base URL of the VCell API OIDC auth provider.
+ :param insecure: If a custom endpoint is used that does not have proper SSL certificate.
:return: An ApiClient object with the access token set.
"""
auth_url, token_url, jwks_uri = get_authorization_and_token_endpoints(issuer_url)
auth_code_response: AuthCodeResponse = login_interactive_tokens(
client_id=client_id, auth_url=auth_url, token_url=token_url, jwks_uri=jwks_uri, success_redirect_url=api_base_url + LOGIN_SUCCESS)
id_token = auth_code_response.id_token
- api_client = ApiClient(configuration=Configuration(host=api_base_url, access_token=id_token))
+ config = Configuration(host=api_base_url, access_token=id_token)
+ if insecure:
+ config.assert_hostname = False
+ config.verify_ssl = False
+ api_client = ApiClient(configuration=config)
api_client.set_default_header('Authorization', f'Bearer {id_token}')
return api_client
diff --git a/python-restclient/vcell_client/models/__init__.py b/python-restclient/vcell_client/models/__init__.py
index 99eb63d427..3132b55049 100644
--- a/python-restclient/vcell_client/models/__init__.py
+++ b/python-restclient/vcell_client/models/__init__.py
@@ -16,15 +16,25 @@
# import models into model package
from vcell_client.models.acces_token_representation_record import AccesTokenRepresentationRecord
+from vcell_client.models.analyzed_results_from_field_data import AnalyzedResultsFromFieldData
from vcell_client.models.batch_system_type import BatchSystemType
from vcell_client.models.bio_model import BioModel
from vcell_client.models.biomodel_ref import BiomodelRef
+from vcell_client.models.data_identifier import DataIdentifier
from vcell_client.models.detailed_state import DetailedState
+from vcell_client.models.domain import Domain
+from vcell_client.models.extent import Extent
+from vcell_client.models.external_data_identifier import ExternalDataIdentifier
+from vcell_client.models.field_data_reference import FieldDataReference
+from vcell_client.models.field_data_save_results import FieldDataSaveResults
+from vcell_client.models.field_data_shape import FieldDataShape
from vcell_client.models.hello_world_message import HelloWorldMessage
from vcell_client.models.htc_job_id import HtcJobID
+from vcell_client.models.i_size import ISize
from vcell_client.models.identity import Identity
from vcell_client.models.key_value import KeyValue
from vcell_client.models.mathmodel_ref import MathmodelRef
+from vcell_client.models.origin import Origin
from vcell_client.models.publication import Publication
from vcell_client.models.scheduler_status import SchedulerStatus
from vcell_client.models.simulation_execution_status_record import SimulationExecutionStatusRecord
@@ -40,3 +50,5 @@
from vcell_client.models.user_login_info_for_mapping import UserLoginInfoForMapping
from vcell_client.models.user_registration_info import UserRegistrationInfo
from vcell_client.models.vc_simulation_identifier import VCSimulationIdentifier
+from vcell_client.models.variable_domain import VariableDomain
+from vcell_client.models.variable_type import VariableType
diff --git a/python-restclient/vcell_client/models/access_token_representation.py b/python-restclient/vcell_client/models/access_token_representation.py
deleted file mode 100644
index 4a5556fc5f..0000000000
--- a/python-restclient/vcell_client/models/access_token_representation.py
+++ /dev/null
@@ -1,102 +0,0 @@
-# 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, StrictInt, StrictStr
-from pydantic import Field
-try:
- from typing import Self
-except ImportError:
- from typing_extensions import Self
-
-class AccessTokenRepresentation(BaseModel):
- """
- AccessTokenRepresentation
- """ # noqa: E501
- token: Optional[StrictStr] = None
- creation_date_seconds: Optional[StrictInt] = Field(default=None, alias="creationDateSeconds")
- expire_date_seconds: Optional[StrictInt] = Field(default=None, alias="expireDateSeconds")
- user_id: Optional[StrictStr] = Field(default=None, alias="userId")
- user_key: Optional[StrictStr] = Field(default=None, alias="userKey")
- __properties: ClassVar[List[str]] = ["token", "creationDateSeconds", "expireDateSeconds", "userId", "userKey"]
-
- 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 AccessTokenRepresentation 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,
- )
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Dict) -> Self:
- """Create an instance of AccessTokenRepresentation 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 AccessTokenRepresentation) in the input: " + _key)
-
- _obj = cls.model_validate({
- "token": obj.get("token"),
- "creationDateSeconds": obj.get("creationDateSeconds"),
- "expireDateSeconds": obj.get("expireDateSeconds"),
- "userId": obj.get("userId"),
- "userKey": obj.get("userKey")
- })
- return _obj
-
-
diff --git a/python-restclient/vcell_client/models/analyzed_results_from_field_data.py b/python-restclient/vcell_client/models/analyzed_results_from_field_data.py
new file mode 100644
index 0000000000..4403bd72a6
--- /dev/null
+++ b/python-restclient/vcell_client/models/analyzed_results_from_field_data.py
@@ -0,0 +1,120 @@
+# 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, Union
+from pydantic import BaseModel, StrictFloat, StrictInt, StrictStr
+from pydantic import Field
+from vcell_client.models.extent import Extent
+from vcell_client.models.i_size import ISize
+from vcell_client.models.origin import Origin
+try:
+ from typing import Self
+except ImportError:
+ from typing_extensions import Self
+
+class AnalyzedResultsFromFieldData(BaseModel):
+ """
+ AnalyzedResultsFromFieldData
+ """ # noqa: E501
+ short_spec_data: Optional[List[List[List[StrictInt]]]] = Field(default=None, alias="shortSpecData")
+ var_names: Optional[List[StrictStr]] = Field(default=None, alias="varNames")
+ times: Optional[List[Union[StrictFloat, StrictInt]]] = None
+ origin: Optional[Origin] = None
+ extent: Optional[Extent] = None
+ isize: Optional[ISize] = None
+ annotation: Optional[StrictStr] = None
+ name: Optional[StrictStr] = None
+ __properties: ClassVar[List[str]] = ["shortSpecData", "varNames", "times", "origin", "extent", "isize", "annotation", "name"]
+
+ 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 AnalyzedResultsFromFieldData 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 origin
+ if self.origin:
+ _dict['origin'] = self.origin.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of extent
+ if self.extent:
+ _dict['extent'] = self.extent.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of isize
+ if self.isize:
+ _dict['isize'] = self.isize.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Dict) -> Self:
+ """Create an instance of AnalyzedResultsFromFieldData 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 AnalyzedResultsFromFieldData) in the input: " + _key)
+
+ _obj = cls.model_validate({
+ "shortSpecData": obj.get("shortSpecData"),
+ "varNames": obj.get("varNames"),
+ "times": obj.get("times"),
+ "origin": Origin.from_dict(obj.get("origin")) if obj.get("origin") is not None else None,
+ "extent": Extent.from_dict(obj.get("extent")) if obj.get("extent") is not None else None,
+ "isize": ISize.from_dict(obj.get("isize")) if obj.get("isize") is not None else None,
+ "annotation": obj.get("annotation"),
+ "name": obj.get("name")
+ })
+ return _obj
+
+
diff --git a/python-restclient/vcell_client/models/user1.py b/python-restclient/vcell_client/models/data_identifier.py
similarity index 62%
rename from python-restclient/vcell_client/models/user1.py
rename to python-restclient/vcell_client/models/data_identifier.py
index 8044ff7c2e..c9eaf2fee3 100644
--- a/python-restclient/vcell_client/models/user1.py
+++ b/python-restclient/vcell_client/models/data_identifier.py
@@ -22,23 +22,25 @@
from typing import Any, ClassVar, Dict, List, Optional
from pydantic import BaseModel, StrictBool, StrictStr
from pydantic import Field
-from vcell_client.models.key_value import KeyValue
+from vcell_client.models.domain import Domain
+from vcell_client.models.variable_type import VariableType
try:
from typing import Self
except ImportError:
from typing_extensions import Self
-class User1(BaseModel):
+class DataIdentifier(BaseModel):
"""
- User1
+ DataIdentifier
""" # noqa: E501
- user_name: Optional[StrictStr] = Field(default=None, alias="userName")
- key: Optional[KeyValue] = None
- i_d: Optional[KeyValue] = Field(default=None, alias="iD")
name: Optional[StrictStr] = None
- publisher: Optional[StrictBool] = None
- test_account: Optional[StrictBool] = Field(default=None, alias="testAccount")
- __properties: ClassVar[List[str]] = ["userName", "key", "iD", "name", "publisher", "testAccount"]
+ display_name: Optional[StrictStr] = Field(default=None, alias="displayName")
+ variable_type: Optional[VariableType] = Field(default=None, alias="variableType")
+ domain: Optional[Domain] = None
+ b_function: Optional[StrictBool] = Field(default=None, alias="bFunction")
+ function: Optional[StrictBool] = None
+ visible: Optional[StrictBool] = None
+ __properties: ClassVar[List[str]] = ["name", "displayName", "variableType", "domain", "bFunction", "function", "visible"]
model_config = {
"populate_by_name": True,
@@ -57,7 +59,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Self:
- """Create an instance of User1 from a JSON string"""
+ """Create an instance of DataIdentifier from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -76,17 +78,17 @@ def to_dict(self) -> Dict[str, Any]:
},
exclude_none=True,
)
- # override the default output from pydantic by calling `to_dict()` of key
- if self.key:
- _dict['key'] = self.key.to_dict()
- # override the default output from pydantic by calling `to_dict()` of i_d
- if self.i_d:
- _dict['iD'] = self.i_d.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of variable_type
+ if self.variable_type:
+ _dict['variableType'] = self.variable_type.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of domain
+ if self.domain:
+ _dict['domain'] = self.domain.to_dict()
return _dict
@classmethod
def from_dict(cls, obj: Dict) -> Self:
- """Create an instance of User1 from a dict"""
+ """Create an instance of DataIdentifier from a dict"""
if obj is None:
return None
@@ -96,15 +98,16 @@ def from_dict(cls, obj: Dict) -> Self:
# 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 User1) in the input: " + _key)
+ raise ValueError("Error due to additional fields (not defined in DataIdentifier) in the input: " + _key)
_obj = cls.model_validate({
- "userName": obj.get("userName"),
- "key": KeyValue.from_dict(obj.get("key")) if obj.get("key") is not None else None,
- "iD": KeyValue.from_dict(obj.get("iD")) if obj.get("iD") is not None else None,
"name": obj.get("name"),
- "publisher": obj.get("publisher"),
- "testAccount": obj.get("testAccount")
+ "displayName": obj.get("displayName"),
+ "variableType": VariableType.from_dict(obj.get("variableType")) if obj.get("variableType") is not None else None,
+ "domain": Domain.from_dict(obj.get("domain")) if obj.get("domain") is not None else None,
+ "bFunction": obj.get("bFunction"),
+ "function": obj.get("function"),
+ "visible": obj.get("visible")
})
return _obj
diff --git a/python-restclient/vcell_client/models/simulation.py b/python-restclient/vcell_client/models/domain.py
similarity index 91%
rename from python-restclient/vcell_client/models/simulation.py
rename to python-restclient/vcell_client/models/domain.py
index 420edfac22..6fe1a27aaa 100644
--- a/python-restclient/vcell_client/models/simulation.py
+++ b/python-restclient/vcell_client/models/domain.py
@@ -26,9 +26,9 @@
except ImportError:
from typing_extensions import Self
-class Simulation(BaseModel):
+class Domain(BaseModel):
"""
- Simulation
+ Domain
""" # noqa: E501
name: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["name"]
@@ -50,7 +50,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Self:
- """Create an instance of Simulation from a JSON string"""
+ """Create an instance of Domain from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -73,7 +73,7 @@ def to_dict(self) -> Dict[str, Any]:
@classmethod
def from_dict(cls, obj: Dict) -> Self:
- """Create an instance of Simulation from a dict"""
+ """Create an instance of Domain from a dict"""
if obj is None:
return None
@@ -83,7 +83,7 @@ def from_dict(cls, obj: Dict) -> Self:
# 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 Simulation) in the input: " + _key)
+ raise ValueError("Error due to additional fields (not defined in Domain) in the input: " + _key)
_obj = cls.model_validate({
"name": obj.get("name")
diff --git a/python-restclient/vcell_client/models/user_identity.py b/python-restclient/vcell_client/models/extent.py
similarity index 71%
rename from python-restclient/vcell_client/models/user_identity.py
rename to python-restclient/vcell_client/models/extent.py
index 3bdb5e053e..7a128c22a3 100644
--- a/python-restclient/vcell_client/models/user_identity.py
+++ b/python-restclient/vcell_client/models/extent.py
@@ -18,24 +18,22 @@
import re # noqa: F401
import json
-from datetime import datetime
+
from typing import Any, ClassVar, Dict, List, Optional, Union
-from pydantic import BaseModel, StrictFloat, StrictInt, StrictStr
-from pydantic import Field
+from pydantic import BaseModel, StrictFloat, StrictInt
try:
from typing import Self
except ImportError:
from typing_extensions import Self
-class UserIdentity(BaseModel):
+class Extent(BaseModel):
"""
- UserIdentity
+ Extent
""" # noqa: E501
- id: Optional[Union[StrictFloat, StrictInt]] = None
- user_name: Optional[StrictStr] = Field(default=None, alias="userName")
- subject: Optional[StrictStr] = None
- insert_date: Optional[datetime] = Field(default=None, alias="insertDate")
- __properties: ClassVar[List[str]] = ["id", "userName", "subject", "insertDate"]
+ x: Optional[Union[StrictFloat, StrictInt]] = None
+ y: Optional[Union[StrictFloat, StrictInt]] = None
+ z: Optional[Union[StrictFloat, StrictInt]] = None
+ __properties: ClassVar[List[str]] = ["x", "y", "z"]
model_config = {
"populate_by_name": True,
@@ -54,7 +52,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Self:
- """Create an instance of UserIdentity from a JSON string"""
+ """Create an instance of Extent from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -77,7 +75,7 @@ def to_dict(self) -> Dict[str, Any]:
@classmethod
def from_dict(cls, obj: Dict) -> Self:
- """Create an instance of UserIdentity from a dict"""
+ """Create an instance of Extent from a dict"""
if obj is None:
return None
@@ -87,13 +85,12 @@ def from_dict(cls, obj: Dict) -> Self:
# 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 UserIdentity) in the input: " + _key)
+ raise ValueError("Error due to additional fields (not defined in Extent) in the input: " + _key)
_obj = cls.model_validate({
- "id": obj.get("id"),
- "userName": obj.get("userName"),
- "subject": obj.get("subject"),
- "insertDate": obj.get("insertDate")
+ "x": obj.get("x"),
+ "y": obj.get("y"),
+ "z": obj.get("z")
})
return _obj
diff --git a/python-restclient/vcell_client/models/external_data_identifier.py b/python-restclient/vcell_client/models/external_data_identifier.py
new file mode 100644
index 0000000000..2b0d88dbb5
--- /dev/null
+++ b/python-restclient/vcell_client/models/external_data_identifier.py
@@ -0,0 +1,120 @@
+# 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, StrictBool, StrictInt, StrictStr
+from pydantic import Field
+from vcell_client.models.key_value import KeyValue
+from vcell_client.models.user import User
+try:
+ from typing import Self
+except ImportError:
+ from typing_extensions import Self
+
+class ExternalDataIdentifier(BaseModel):
+ """
+ ExternalDataIdentifier
+ """ # noqa: E501
+ key: Optional[KeyValue] = None
+ owner: Optional[User] = None
+ name: Optional[StrictStr] = None
+ job_index: Optional[StrictInt] = Field(default=None, alias="jobIndex")
+ simulation_key: Optional[KeyValue] = Field(default=None, alias="simulationKey")
+ parameter_scan_type: Optional[StrictBool] = Field(default=None, alias="parameterScanType")
+ data_key: Optional[KeyValue] = Field(default=None, alias="dataKey")
+ __properties: ClassVar[List[str]] = ["key", "owner", "name", "jobIndex", "simulationKey", "parameterScanType", "dataKey"]
+
+ 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 ExternalDataIdentifier 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 key
+ if self.key:
+ _dict['key'] = self.key.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of owner
+ if self.owner:
+ _dict['owner'] = self.owner.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of simulation_key
+ if self.simulation_key:
+ _dict['simulationKey'] = self.simulation_key.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of data_key
+ if self.data_key:
+ _dict['dataKey'] = self.data_key.to_dict()
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Dict) -> Self:
+ """Create an instance of ExternalDataIdentifier 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 ExternalDataIdentifier) in the input: " + _key)
+
+ _obj = cls.model_validate({
+ "key": KeyValue.from_dict(obj.get("key")) if obj.get("key") is not None else None,
+ "owner": User.from_dict(obj.get("owner")) if obj.get("owner") is not None else None,
+ "name": obj.get("name"),
+ "jobIndex": obj.get("jobIndex"),
+ "simulationKey": KeyValue.from_dict(obj.get("simulationKey")) if obj.get("simulationKey") is not None else None,
+ "parameterScanType": obj.get("parameterScanType"),
+ "dataKey": KeyValue.from_dict(obj.get("dataKey")) if obj.get("dataKey") is not None else None
+ })
+ return _obj
+
+
diff --git a/python-restclient/vcell_client/models/field_data_reference.py b/python-restclient/vcell_client/models/field_data_reference.py
new file mode 100644
index 0000000000..670cdc43b0
--- /dev/null
+++ b/python-restclient/vcell_client/models/field_data_reference.py
@@ -0,0 +1,110 @@
+# 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, StrictStr
+from pydantic import Field
+from vcell_client.models.external_data_identifier import ExternalDataIdentifier
+from vcell_client.models.key_value import KeyValue
+try:
+ from typing import Self
+except ImportError:
+ from typing_extensions import Self
+
+class FieldDataReference(BaseModel):
+ """
+ FieldDataReference
+ """ # noqa: E501
+ external_data_identifier: Optional[ExternalDataIdentifier] = Field(default=None, alias="externalDataIdentifier")
+ external_data_annotation: Optional[StrictStr] = Field(default=None, alias="externalDataAnnotation")
+ external_data_id_sim_refs: Optional[List[KeyValue]] = Field(default=None, alias="externalDataIDSimRefs")
+ __properties: ClassVar[List[str]] = ["externalDataIdentifier", "externalDataAnnotation", "externalDataIDSimRefs"]
+
+ 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 FieldDataReference 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 external_data_identifier
+ if self.external_data_identifier:
+ _dict['externalDataIdentifier'] = self.external_data_identifier.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in external_data_id_sim_refs (list)
+ _items = []
+ if self.external_data_id_sim_refs:
+ for _item in self.external_data_id_sim_refs:
+ if _item:
+ _items.append(_item.to_dict())
+ _dict['externalDataIDSimRefs'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Dict) -> Self:
+ """Create an instance of FieldDataReference 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 FieldDataReference) in the input: " + _key)
+
+ _obj = cls.model_validate({
+ "externalDataIdentifier": ExternalDataIdentifier.from_dict(obj.get("externalDataIdentifier")) if obj.get("externalDataIdentifier") is not None else None,
+ "externalDataAnnotation": obj.get("externalDataAnnotation"),
+ "externalDataIDSimRefs": [KeyValue.from_dict(_item) for _item in obj.get("externalDataIDSimRefs")] if obj.get("externalDataIDSimRefs") is not None else None
+ })
+ return _obj
+
+
diff --git a/python-restclient/vcell_client/models/map_user.py b/python-restclient/vcell_client/models/field_data_save_results.py
similarity index 78%
rename from python-restclient/vcell_client/models/map_user.py
rename to python-restclient/vcell_client/models/field_data_save_results.py
index bf49fab4cd..6c996dd60f 100644
--- a/python-restclient/vcell_client/models/map_user.py
+++ b/python-restclient/vcell_client/models/field_data_save_results.py
@@ -27,13 +27,13 @@
except ImportError:
from typing_extensions import Self
-class MapUser(BaseModel):
+class FieldDataSaveResults(BaseModel):
"""
- MapUser
+ FieldDataSaveResults
""" # noqa: E501
- user_id: Optional[StrictStr] = Field(default=None, alias="userID")
- password: Optional[StrictStr] = None
- __properties: ClassVar[List[str]] = ["userID", "password"]
+ field_data_name: Optional[StrictStr] = Field(default=None, alias="fieldDataName")
+ field_data_id: Optional[StrictStr] = Field(default=None, alias="fieldDataID")
+ __properties: ClassVar[List[str]] = ["fieldDataName", "fieldDataID"]
model_config = {
"populate_by_name": True,
@@ -52,7 +52,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Self:
- """Create an instance of MapUser from a JSON string"""
+ """Create an instance of FieldDataSaveResults from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -75,7 +75,7 @@ def to_dict(self) -> Dict[str, Any]:
@classmethod
def from_dict(cls, obj: Dict) -> Self:
- """Create an instance of MapUser from a dict"""
+ """Create an instance of FieldDataSaveResults from a dict"""
if obj is None:
return None
@@ -85,11 +85,11 @@ def from_dict(cls, obj: Dict) -> Self:
# 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 MapUser) in the input: " + _key)
+ raise ValueError("Error due to additional fields (not defined in FieldDataSaveResults) in the input: " + _key)
_obj = cls.model_validate({
- "userID": obj.get("userID"),
- "password": obj.get("password")
+ "fieldDataName": obj.get("fieldDataName"),
+ "fieldDataID": obj.get("fieldDataID")
})
return _obj
diff --git a/python-restclient/vcell_client/models/field_data_shape.py b/python-restclient/vcell_client/models/field_data_shape.py
new file mode 100644
index 0000000000..5ac82d6283
--- /dev/null
+++ b/python-restclient/vcell_client/models/field_data_shape.py
@@ -0,0 +1,122 @@
+# 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, Union
+from pydantic import BaseModel, StrictFloat, StrictInt
+from pydantic import Field
+from vcell_client.models.data_identifier import DataIdentifier
+from vcell_client.models.extent import Extent
+from vcell_client.models.i_size import ISize
+from vcell_client.models.origin import Origin
+try:
+ from typing import Self
+except ImportError:
+ from typing_extensions import Self
+
+class FieldDataShape(BaseModel):
+ """
+ FieldDataShape
+ """ # noqa: E501
+ extent: Optional[Extent] = None
+ origin: Optional[Origin] = None
+ isize: Optional[ISize] = None
+ data_identifier: Optional[List[DataIdentifier]] = Field(default=None, alias="dataIdentifier")
+ times: Optional[List[Union[StrictFloat, StrictInt]]] = None
+ __properties: ClassVar[List[str]] = ["extent", "origin", "isize", "dataIdentifier", "times"]
+
+ 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 FieldDataShape 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 extent
+ if self.extent:
+ _dict['extent'] = self.extent.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of origin
+ if self.origin:
+ _dict['origin'] = self.origin.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of isize
+ if self.isize:
+ _dict['isize'] = self.isize.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of each item in data_identifier (list)
+ _items = []
+ if self.data_identifier:
+ for _item in self.data_identifier:
+ if _item:
+ _items.append(_item.to_dict())
+ _dict['dataIdentifier'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Dict) -> Self:
+ """Create an instance of FieldDataShape 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 FieldDataShape) in the input: " + _key)
+
+ _obj = cls.model_validate({
+ "extent": Extent.from_dict(obj.get("extent")) if obj.get("extent") is not None else None,
+ "origin": Origin.from_dict(obj.get("origin")) if obj.get("origin") is not None else None,
+ "isize": ISize.from_dict(obj.get("isize")) if obj.get("isize") is not None else None,
+ "dataIdentifier": [DataIdentifier.from_dict(_item) for _item in obj.get("dataIdentifier")] if obj.get("dataIdentifier") is not None else None,
+ "times": obj.get("times")
+ })
+ return _obj
+
+
diff --git a/python-restclient/vcell_client/models/v_cell_server_id.py b/python-restclient/vcell_client/models/i_size.py
similarity index 81%
rename from python-restclient/vcell_client/models/v_cell_server_id.py
rename to python-restclient/vcell_client/models/i_size.py
index d87c29a87a..251b108e6f 100644
--- a/python-restclient/vcell_client/models/v_cell_server_id.py
+++ b/python-restclient/vcell_client/models/i_size.py
@@ -20,19 +20,20 @@
from typing import Any, ClassVar, Dict, List, Optional
-from pydantic import BaseModel, StrictStr
-from pydantic import Field
+from pydantic import BaseModel, StrictInt
try:
from typing import Self
except ImportError:
from typing_extensions import Self
-class VCellServerID(BaseModel):
+class ISize(BaseModel):
"""
- VCellServerID
+ ISize
""" # noqa: E501
- server_id: Optional[StrictStr] = Field(default=None, alias="serverID")
- __properties: ClassVar[List[str]] = ["serverID"]
+ x: Optional[StrictInt] = None
+ y: Optional[StrictInt] = None
+ z: Optional[StrictInt] = None
+ __properties: ClassVar[List[str]] = ["x", "y", "z"]
model_config = {
"populate_by_name": True,
@@ -51,7 +52,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Self:
- """Create an instance of VCellServerID from a JSON string"""
+ """Create an instance of ISize from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -74,7 +75,7 @@ def to_dict(self) -> Dict[str, Any]:
@classmethod
def from_dict(cls, obj: Dict) -> Self:
- """Create an instance of VCellServerID from a dict"""
+ """Create an instance of ISize from a dict"""
if obj is None:
return None
@@ -84,10 +85,12 @@ def from_dict(cls, obj: Dict) -> Self:
# 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 VCellServerID) in the input: " + _key)
+ raise ValueError("Error due to additional fields (not defined in ISize) in the input: " + _key)
_obj = cls.model_validate({
- "serverID": obj.get("serverID")
+ "x": obj.get("x"),
+ "y": obj.get("y"),
+ "z": obj.get("z")
})
return _obj
diff --git a/python-restclient/vcell_client/models/origin.py b/python-restclient/vcell_client/models/origin.py
new file mode 100644
index 0000000000..0a9d3661c8
--- /dev/null
+++ b/python-restclient/vcell_client/models/origin.py
@@ -0,0 +1,97 @@
+# 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, Union
+from pydantic import BaseModel, StrictFloat, StrictInt
+try:
+ from typing import Self
+except ImportError:
+ from typing_extensions import Self
+
+class Origin(BaseModel):
+ """
+ Origin
+ """ # noqa: E501
+ x: Optional[Union[StrictFloat, StrictInt]] = None
+ y: Optional[Union[StrictFloat, StrictInt]] = None
+ z: Optional[Union[StrictFloat, StrictInt]] = None
+ __properties: ClassVar[List[str]] = ["x", "y", "z"]
+
+ 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 Origin 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,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Dict) -> Self:
+ """Create an instance of Origin 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 Origin) in the input: " + _key)
+
+ _obj = cls.model_validate({
+ "x": obj.get("x"),
+ "y": obj.get("y"),
+ "z": obj.get("z")
+ })
+ return _obj
+
+
diff --git a/python-restclient/vcell_client/models/simulation_execution_status.py b/python-restclient/vcell_client/models/simulation_execution_status.py
deleted file mode 100644
index 3b3427ed0a..0000000000
--- a/python-restclient/vcell_client/models/simulation_execution_status.py
+++ /dev/null
@@ -1,121 +0,0 @@
-# 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 datetime import date
-from typing import Any, ClassVar, Dict, List, Optional
-from pydantic import BaseModel, StrictBool, StrictStr
-from pydantic import Field
-from vcell_client.models.htc_job_id import HtcJobID
-try:
- from typing import Self
-except ImportError:
- from typing_extensions import Self
-
-class SimulationExecutionStatus(BaseModel):
- """
- SimulationExecutionStatus
- """ # noqa: E501
- field_start_date: Optional[date] = Field(default=None, alias="fieldStartDate")
- field_latest_update_date: Optional[date] = Field(default=None, alias="fieldLatestUpdateDate")
- field_end_date: Optional[date] = Field(default=None, alias="fieldEndDate")
- field_compute_host: Optional[StrictStr] = Field(default=None, alias="fieldComputeHost")
- field_has_data: Optional[StrictBool] = Field(default=None, alias="fieldHasData")
- field_htc_job_id: Optional[HtcJobID] = Field(default=None, alias="fieldHtcJobID")
- compute_host: Optional[StrictStr] = Field(default=None, alias="computeHost")
- end_date: Optional[date] = Field(default=None, alias="endDate")
- latest_update_date: Optional[date] = Field(default=None, alias="latestUpdateDate")
- start_date: Optional[date] = Field(default=None, alias="startDate")
- htc_job_id: Optional[HtcJobID] = Field(default=None, alias="htcJobID")
- __properties: ClassVar[List[str]] = ["fieldStartDate", "fieldLatestUpdateDate", "fieldEndDate", "fieldComputeHost", "fieldHasData", "fieldHtcJobID", "computeHost", "endDate", "latestUpdateDate", "startDate", "htcJobID"]
-
- 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 SimulationExecutionStatus 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 field_htc_job_id
- if self.field_htc_job_id:
- _dict['fieldHtcJobID'] = self.field_htc_job_id.to_dict()
- # override the default output from pydantic by calling `to_dict()` of htc_job_id
- if self.htc_job_id:
- _dict['htcJobID'] = self.htc_job_id.to_dict()
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Dict) -> Self:
- """Create an instance of SimulationExecutionStatus 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 SimulationExecutionStatus) in the input: " + _key)
-
- _obj = cls.model_validate({
- "fieldStartDate": obj.get("fieldStartDate"),
- "fieldLatestUpdateDate": obj.get("fieldLatestUpdateDate"),
- "fieldEndDate": obj.get("fieldEndDate"),
- "fieldComputeHost": obj.get("fieldComputeHost"),
- "fieldHasData": obj.get("fieldHasData"),
- "fieldHtcJobID": HtcJobID.from_dict(obj.get("fieldHtcJobID")) if obj.get("fieldHtcJobID") is not None else None,
- "computeHost": obj.get("computeHost"),
- "endDate": obj.get("endDate"),
- "latestUpdateDate": obj.get("latestUpdateDate"),
- "startDate": obj.get("startDate"),
- "htcJobID": HtcJobID.from_dict(obj.get("htcJobID")) if obj.get("htcJobID") is not None else None
- })
- return _obj
-
-
diff --git a/python-restclient/vcell_client/models/simulation_job_status.py b/python-restclient/vcell_client/models/simulation_job_status.py
deleted file mode 100644
index 5950651798..0000000000
--- a/python-restclient/vcell_client/models/simulation_job_status.py
+++ /dev/null
@@ -1,174 +0,0 @@
-# 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 datetime import date
-from typing import Any, ClassVar, Dict, List, Optional
-from pydantic import BaseModel, StrictInt, StrictStr
-from pydantic import Field
-from vcell_client.models.scheduler_status import SchedulerStatus
-from vcell_client.models.simulation_execution_status import SimulationExecutionStatus
-from vcell_client.models.simulation_message import SimulationMessage
-from vcell_client.models.simulation_queue_entry_status import SimulationQueueEntryStatus
-from vcell_client.models.v_cell_server_id import VCellServerID
-from vcell_client.models.vc_simulation_identifier import VCSimulationIdentifier
-try:
- from typing import Self
-except ImportError:
- from typing_extensions import Self
-
-class SimulationJobStatus(BaseModel):
- """
- SimulationJobStatus
- """ # noqa: E501
- field_time_date_stamp: Optional[date] = Field(default=None, alias="fieldTimeDateStamp")
- field_vc_sim_id: Optional[VCSimulationIdentifier] = Field(default=None, alias="fieldVCSimID")
- field_submit_date: Optional[date] = Field(default=None, alias="fieldSubmitDate")
- field_scheduler_status: Optional[SchedulerStatus] = Field(default=None, alias="fieldSchedulerStatus")
- field_task_id: Optional[StrictInt] = Field(default=None, alias="fieldTaskID")
- field_simulation_message: Optional[SimulationMessage] = Field(default=None, alias="fieldSimulationMessage")
- field_server_id: Optional[VCellServerID] = Field(default=None, alias="fieldServerID")
- field_job_index: Optional[StrictInt] = Field(default=None, alias="fieldJobIndex")
- field_simulation_queue_entry_status: Optional[SimulationQueueEntryStatus] = Field(default=None, alias="fieldSimulationQueueEntryStatus")
- field_simulation_execution_status: Optional[SimulationExecutionStatus] = Field(default=None, alias="fieldSimulationExecutionStatus")
- compute_host: Optional[StrictStr] = Field(default=None, alias="computeHost")
- end_date: Optional[date] = Field(default=None, alias="endDate")
- job_index: Optional[StrictInt] = Field(default=None, alias="jobIndex")
- scheduler_status: Optional[SchedulerStatus] = Field(default=None, alias="schedulerStatus")
- server_id: Optional[VCellServerID] = Field(default=None, alias="serverID")
- simulation_execution_status: Optional[SimulationExecutionStatus] = Field(default=None, alias="simulationExecutionStatus")
- simulation_queue_entry_status: Optional[SimulationQueueEntryStatus] = Field(default=None, alias="simulationQueueEntryStatus")
- start_date: Optional[date] = Field(default=None, alias="startDate")
- simulation_message: Optional[SimulationMessage] = Field(default=None, alias="simulationMessage")
- submit_date: Optional[date] = Field(default=None, alias="submitDate")
- task_id: Optional[StrictInt] = Field(default=None, alias="taskID")
- time_date_stamp: Optional[date] = Field(default=None, alias="timeDateStamp")
- v_c_simulation_identifier: Optional[VCSimulationIdentifier] = Field(default=None, alias="vCSimulationIdentifier")
- __properties: ClassVar[List[str]] = ["fieldTimeDateStamp", "fieldVCSimID", "fieldSubmitDate", "fieldSchedulerStatus", "fieldTaskID", "fieldSimulationMessage", "fieldServerID", "fieldJobIndex", "fieldSimulationQueueEntryStatus", "fieldSimulationExecutionStatus", "computeHost", "endDate", "jobIndex", "schedulerStatus", "serverID", "simulationExecutionStatus", "simulationQueueEntryStatus", "startDate", "simulationMessage", "submitDate", "taskID", "timeDateStamp", "vCSimulationIdentifier"]
-
- 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 SimulationJobStatus 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 field_vc_sim_id
- if self.field_vc_sim_id:
- _dict['fieldVCSimID'] = self.field_vc_sim_id.to_dict()
- # override the default output from pydantic by calling `to_dict()` of field_simulation_message
- if self.field_simulation_message:
- _dict['fieldSimulationMessage'] = self.field_simulation_message.to_dict()
- # override the default output from pydantic by calling `to_dict()` of field_server_id
- if self.field_server_id:
- _dict['fieldServerID'] = self.field_server_id.to_dict()
- # override the default output from pydantic by calling `to_dict()` of field_simulation_queue_entry_status
- if self.field_simulation_queue_entry_status:
- _dict['fieldSimulationQueueEntryStatus'] = self.field_simulation_queue_entry_status.to_dict()
- # override the default output from pydantic by calling `to_dict()` of field_simulation_execution_status
- if self.field_simulation_execution_status:
- _dict['fieldSimulationExecutionStatus'] = self.field_simulation_execution_status.to_dict()
- # override the default output from pydantic by calling `to_dict()` of server_id
- if self.server_id:
- _dict['serverID'] = self.server_id.to_dict()
- # override the default output from pydantic by calling `to_dict()` of simulation_execution_status
- if self.simulation_execution_status:
- _dict['simulationExecutionStatus'] = self.simulation_execution_status.to_dict()
- # override the default output from pydantic by calling `to_dict()` of simulation_queue_entry_status
- if self.simulation_queue_entry_status:
- _dict['simulationQueueEntryStatus'] = self.simulation_queue_entry_status.to_dict()
- # override the default output from pydantic by calling `to_dict()` of simulation_message
- if self.simulation_message:
- _dict['simulationMessage'] = self.simulation_message.to_dict()
- # override the default output from pydantic by calling `to_dict()` of v_c_simulation_identifier
- if self.v_c_simulation_identifier:
- _dict['vCSimulationIdentifier'] = self.v_c_simulation_identifier.to_dict()
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Dict) -> Self:
- """Create an instance of SimulationJobStatus 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 SimulationJobStatus) in the input: " + _key)
-
- _obj = cls.model_validate({
- "fieldTimeDateStamp": obj.get("fieldTimeDateStamp"),
- "fieldVCSimID": VCSimulationIdentifier.from_dict(obj.get("fieldVCSimID")) if obj.get("fieldVCSimID") is not None else None,
- "fieldSubmitDate": obj.get("fieldSubmitDate"),
- "fieldSchedulerStatus": obj.get("fieldSchedulerStatus"),
- "fieldTaskID": obj.get("fieldTaskID"),
- "fieldSimulationMessage": SimulationMessage.from_dict(obj.get("fieldSimulationMessage")) if obj.get("fieldSimulationMessage") is not None else None,
- "fieldServerID": VCellServerID.from_dict(obj.get("fieldServerID")) if obj.get("fieldServerID") is not None else None,
- "fieldJobIndex": obj.get("fieldJobIndex"),
- "fieldSimulationQueueEntryStatus": SimulationQueueEntryStatus.from_dict(obj.get("fieldSimulationQueueEntryStatus")) if obj.get("fieldSimulationQueueEntryStatus") is not None else None,
- "fieldSimulationExecutionStatus": SimulationExecutionStatus.from_dict(obj.get("fieldSimulationExecutionStatus")) if obj.get("fieldSimulationExecutionStatus") is not None else None,
- "computeHost": obj.get("computeHost"),
- "endDate": obj.get("endDate"),
- "jobIndex": obj.get("jobIndex"),
- "schedulerStatus": obj.get("schedulerStatus"),
- "serverID": VCellServerID.from_dict(obj.get("serverID")) if obj.get("serverID") is not None else None,
- "simulationExecutionStatus": SimulationExecutionStatus.from_dict(obj.get("simulationExecutionStatus")) if obj.get("simulationExecutionStatus") is not None else None,
- "simulationQueueEntryStatus": SimulationQueueEntryStatus.from_dict(obj.get("simulationQueueEntryStatus")) if obj.get("simulationQueueEntryStatus") is not None else None,
- "startDate": obj.get("startDate"),
- "simulationMessage": SimulationMessage.from_dict(obj.get("simulationMessage")) if obj.get("simulationMessage") is not None else None,
- "submitDate": obj.get("submitDate"),
- "taskID": obj.get("taskID"),
- "timeDateStamp": obj.get("timeDateStamp"),
- "vCSimulationIdentifier": VCSimulationIdentifier.from_dict(obj.get("vCSimulationIdentifier")) if obj.get("vCSimulationIdentifier") is not None else None
- })
- return _obj
-
-
diff --git a/python-restclient/vcell_client/models/simulation_queue_entry_status.py b/python-restclient/vcell_client/models/simulation_queue_entry_status.py
deleted file mode 100644
index adf6452d5e..0000000000
--- a/python-restclient/vcell_client/models/simulation_queue_entry_status.py
+++ /dev/null
@@ -1,105 +0,0 @@
-# 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 datetime import date
-from typing import Any, ClassVar, Dict, List, Optional
-from pydantic import BaseModel, StrictInt
-from pydantic import Field
-from vcell_client.models.simulation_queue_id import SimulationQueueID
-try:
- from typing import Self
-except ImportError:
- from typing_extensions import Self
-
-class SimulationQueueEntryStatus(BaseModel):
- """
- SimulationQueueEntryStatus
- """ # noqa: E501
- field_queue_priority: Optional[StrictInt] = Field(default=None, alias="fieldQueuePriority")
- field_queue_date: Optional[date] = Field(default=None, alias="fieldQueueDate")
- field_queue_id: Optional[SimulationQueueID] = Field(default=None, alias="fieldQueueID")
- queue_date: Optional[date] = Field(default=None, alias="queueDate")
- queue_id: Optional[SimulationQueueID] = Field(default=None, alias="queueID")
- queue_priority: Optional[StrictInt] = Field(default=None, alias="queuePriority")
- __properties: ClassVar[List[str]] = ["fieldQueuePriority", "fieldQueueDate", "fieldQueueID", "queueDate", "queueID", "queuePriority"]
-
- 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 SimulationQueueEntryStatus 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,
- )
- return _dict
-
- @classmethod
- def from_dict(cls, obj: Dict) -> Self:
- """Create an instance of SimulationQueueEntryStatus 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 SimulationQueueEntryStatus) in the input: " + _key)
-
- _obj = cls.model_validate({
- "fieldQueuePriority": obj.get("fieldQueuePriority"),
- "fieldQueueDate": obj.get("fieldQueueDate"),
- "fieldQueueID": obj.get("fieldQueueID"),
- "queueDate": obj.get("queueDate"),
- "queueID": obj.get("queueID"),
- "queuePriority": obj.get("queuePriority")
- })
- return _obj
-
-
diff --git a/python-restclient/vcell_client/models/user.py b/python-restclient/vcell_client/models/user.py
index dd783bc381..759c157d8d 100644
--- a/python-restclient/vcell_client/models/user.py
+++ b/python-restclient/vcell_client/models/user.py
@@ -34,10 +34,9 @@ class User(BaseModel):
""" # noqa: E501
user_name: Optional[StrictStr] = Field(default=None, alias="userName")
key: Optional[KeyValue] = None
- i_d: Optional[KeyValue] = Field(default=None, alias="iD")
name: Optional[StrictStr] = None
test_account: Optional[StrictBool] = Field(default=None, alias="testAccount")
- __properties: ClassVar[List[str]] = ["userName", "key", "iD", "name", "testAccount"]
+ __properties: ClassVar[List[str]] = ["userName", "key", "name", "testAccount"]
model_config = {
"populate_by_name": True,
@@ -78,9 +77,6 @@ def to_dict(self) -> Dict[str, Any]:
# override the default output from pydantic by calling `to_dict()` of key
if self.key:
_dict['key'] = self.key.to_dict()
- # override the default output from pydantic by calling `to_dict()` of i_d
- if self.i_d:
- _dict['iD'] = self.i_d.to_dict()
return _dict
@classmethod
@@ -100,7 +96,6 @@ def from_dict(cls, obj: Dict) -> Self:
_obj = cls.model_validate({
"userName": obj.get("userName"),
"key": KeyValue.from_dict(obj.get("key")) if obj.get("key") is not None else None,
- "iD": KeyValue.from_dict(obj.get("iD")) if obj.get("iD") is not None else None,
"name": obj.get("name"),
"testAccount": obj.get("testAccount")
})
diff --git a/python-restclient/vcell_client/models/identity_provider.py b/python-restclient/vcell_client/models/variable_domain.py
similarity index 54%
rename from python-restclient/vcell_client/models/identity_provider.py
rename to python-restclient/vcell_client/models/variable_domain.py
index 9432e37bc2..6df11499a4 100644
--- a/python-restclient/vcell_client/models/identity_provider.py
+++ b/python-restclient/vcell_client/models/variable_domain.py
@@ -27,20 +27,25 @@
from typing_extensions import Self
-class IdentityProvider(str, Enum):
+class VariableDomain(str, Enum):
"""
- IdentityProvider
+ VariableDomain
"""
"""
allowed enum values
"""
- AUTH0 = 'AUTH0'
- KEYCLOAK = 'KEYCLOAK'
+ VARIABLEDOMAIN_POSTPROCESSING = 'VARIABLEDOMAIN_POSTPROCESSING'
+ VARIABLEDOMAIN_UNKNOWN = 'VARIABLEDOMAIN_UNKNOWN'
+ VARIABLEDOMAIN_VOLUME = 'VARIABLEDOMAIN_VOLUME'
+ VARIABLEDOMAIN_MEMBRANE = 'VARIABLEDOMAIN_MEMBRANE'
+ VARIABLEDOMAIN_CONTOUR = 'VARIABLEDOMAIN_CONTOUR'
+ VARIABLEDOMAIN_NONSPATIAL = 'VARIABLEDOMAIN_NONSPATIAL'
+ VARIABLEDOMAIN_POINT = 'VARIABLEDOMAIN_POINT'
@classmethod
def from_json(cls, json_str: str) -> Self:
- """Create an instance of IdentityProvider from a JSON string"""
+ """Create an instance of VariableDomain from a JSON string"""
return cls(json.loads(json_str))
diff --git a/python-restclient/vcell_client/models/override_representation.py b/python-restclient/vcell_client/models/variable_type.py
similarity index 62%
rename from python-restclient/vcell_client/models/override_representation.py
rename to python-restclient/vcell_client/models/variable_type.py
index 5d4d30d950..c8e8d1e0f8 100644
--- a/python-restclient/vcell_client/models/override_representation.py
+++ b/python-restclient/vcell_client/models/variable_type.py
@@ -20,22 +20,28 @@
from typing import Any, ClassVar, Dict, List, Optional
-from pydantic import BaseModel, StrictInt, StrictStr
+from pydantic import BaseModel, StrictBool, StrictInt, StrictStr
+from pydantic import Field
+from vcell_client.models.variable_domain import VariableDomain
try:
from typing import Self
except ImportError:
from typing_extensions import Self
-class OverrideRepresentation(BaseModel):
+class VariableType(BaseModel):
"""
- OverrideRepresentation
+ VariableType
""" # noqa: E501
+ type: Optional[StrictInt] = None
+ variable_domain: Optional[VariableDomain] = Field(default=None, alias="variableDomain")
name: Optional[StrictStr] = None
- type: Optional[StrictStr] = None
- expression: Optional[StrictStr] = None
- values: Optional[List[StrictStr]] = None
- cardinality: Optional[StrictInt] = None
- __properties: ClassVar[List[str]] = ["name", "type", "expression", "values", "cardinality"]
+ units: Optional[StrictStr] = None
+ label: Optional[StrictStr] = None
+ legacy_warn: Optional[StrictBool] = Field(default=None, alias="legacyWarn")
+ default_label: Optional[StrictStr] = Field(default=None, alias="defaultLabel")
+ default_units: Optional[StrictStr] = Field(default=None, alias="defaultUnits")
+ type_name: Optional[StrictStr] = Field(default=None, alias="typeName")
+ __properties: ClassVar[List[str]] = ["type", "variableDomain", "name", "units", "label", "legacyWarn", "defaultLabel", "defaultUnits", "typeName"]
model_config = {
"populate_by_name": True,
@@ -54,7 +60,7 @@ def to_json(self) -> str:
@classmethod
def from_json(cls, json_str: str) -> Self:
- """Create an instance of OverrideRepresentation from a JSON string"""
+ """Create an instance of VariableType from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -77,7 +83,7 @@ def to_dict(self) -> Dict[str, Any]:
@classmethod
def from_dict(cls, obj: Dict) -> Self:
- """Create an instance of OverrideRepresentation from a dict"""
+ """Create an instance of VariableType from a dict"""
if obj is None:
return None
@@ -87,14 +93,18 @@ def from_dict(cls, obj: Dict) -> Self:
# 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 OverrideRepresentation) in the input: " + _key)
+ raise ValueError("Error due to additional fields (not defined in VariableType) in the input: " + _key)
_obj = cls.model_validate({
- "name": obj.get("name"),
"type": obj.get("type"),
- "expression": obj.get("expression"),
- "values": obj.get("values"),
- "cardinality": obj.get("cardinality")
+ "variableDomain": obj.get("variableDomain"),
+ "name": obj.get("name"),
+ "units": obj.get("units"),
+ "label": obj.get("label"),
+ "legacyWarn": obj.get("legacyWarn"),
+ "defaultLabel": obj.get("defaultLabel"),
+ "defaultUnits": obj.get("defaultUnits"),
+ "typeName": obj.get("typeName")
})
return _obj
diff --git a/tools/java-config.yaml b/tools/java-config.yaml
index bfc0085a6a..9bc21c9a49 100644
--- a/tools/java-config.yaml
+++ b/tools/java-config.yaml
@@ -54,3 +54,5 @@ additionalProperties:
withAWSV4Signature: false # default
withXml: false # default (whether to include support for application/xml content type and include XML annotations in the model) ... is this needed for VCML, SBML?
+#importMappings:
+# FieldDataFileOperationSpec: cbit.vcell.field.io.FieldDataFileOperationSpec
diff --git a/tools/openapi.yaml b/tools/openapi.yaml
index 90575a6396..8dc97abffb 100644
--- a/tools/openapi.yaml
+++ b/tools/openapi.yaml
@@ -158,11 +158,13 @@ paths:
type: string
responses:
"200":
- description: OK
+ description: return BioModel information in JSON format
content:
application/json:
schema:
$ref: '#/components/schemas/BioModel'
+ "404":
+ description: BioModel not found
delete:
tags:
- Bio Model Resource
@@ -177,6 +179,100 @@ paths:
responses:
"204":
description: No Content
+ /api/v1/fieldData/IDs:
+ get:
+ tags:
+ - Field Data Resource
+ summary: "Get all of the ids used to identify, and retrieve field data."
+ operationId: getAllFieldDataIDs
+ responses:
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/FieldDataReference'
+ /api/v1/fieldData/analyzeFieldDataFile:
+ post:
+ tags:
+ - Field Data Resource
+ summary: "Analyze the field data from the uploaded file. Filenames must be lowercase\
+ \ alphanumeric, and can contain underscores."
+ operationId: analyzeFieldDataFile
+ requestBody:
+ content:
+ multipart/form-data:
+ schema:
+ type: object
+ properties:
+ file:
+ format: binary
+ type: string
+ fileName:
+ type: string
+ responses:
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AnalyzedResultsFromFieldData'
+ /api/v1/fieldData/createFieldDataFromAnalyzedFile:
+ post:
+ tags:
+ - Field Data Resource
+ summary: "Take the analyzed results of the field data, modify it to your liking,\
+ \ then save it on the server."
+ operationId: createFieldDataFromAnalyzedFile
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AnalyzedResultsFromFieldData'
+ responses:
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/FieldDataSaveResults'
+ /api/v1/fieldData/delete/{fieldDataID}:
+ delete:
+ tags:
+ - Field Data Resource
+ summary: Delete the selected field data.
+ operationId: deleteFieldData
+ parameters:
+ - name: fieldDataID
+ in: path
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ description: No Content
+ /api/v1/fieldData/fieldDataShape/{fieldDataID}:
+ get:
+ tags:
+ - Field Data Resource
+ summary: "Get the shape of the field data. That is it's size, origin, extent,\
+ \ and data identifiers."
+ operationId: getFieldDataShapeFromID
+ parameters:
+ - name: fieldDataID
+ in: path
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/FieldDataShape'
/api/v1/helloworld:
get:
tags:
@@ -449,10 +545,10 @@ paths:
description: magic link sent in email if appropriate
"400":
description: unable to process request
- "403":
- description: Not Allowed
"401":
description: Not Authorized
+ "403":
+ description: Not Allowed
security:
- openId:
- user
@@ -499,6 +595,36 @@ components:
type: string
userKey:
type: string
+ AnalyzedResultsFromFieldData:
+ type: object
+ properties:
+ shortSpecData:
+ type: array
+ items:
+ type: array
+ items:
+ type: array
+ items:
+ type: integer
+ varNames:
+ type: array
+ items:
+ type: string
+ times:
+ type: array
+ items:
+ format: double
+ type: number
+ origin:
+ $ref: '#/components/schemas/Origin'
+ extent:
+ $ref: '#/components/schemas/Extent'
+ isize:
+ $ref: '#/components/schemas/ISize'
+ annotation:
+ type: string
+ name:
+ type: string
Application:
type: object
BatchSystemType:
@@ -558,6 +684,23 @@ components:
versionFlag:
format: int32
type: integer
+ DataIdentifier:
+ type: object
+ properties:
+ name:
+ type: string
+ displayName:
+ type: string
+ variableType:
+ $ref: '#/components/schemas/VariableType'
+ domain:
+ $ref: '#/components/schemas/Domain'
+ bFunction:
+ type: boolean
+ function:
+ type: boolean
+ visible:
+ type: boolean
Date:
format: date
type: string
@@ -615,6 +758,83 @@ components:
- WORKEREVENT_FAILURE
- JOB_FAILED
type: string
+ Domain:
+ type: object
+ properties:
+ name:
+ type: string
+ Extent:
+ type: object
+ properties:
+ x:
+ format: double
+ type: number
+ xml:
+ attribute: true
+ "y":
+ format: double
+ type: number
+ xml:
+ attribute: true
+ z:
+ format: double
+ type: number
+ xml:
+ attribute: true
+ ExternalDataIdentifier:
+ type: object
+ properties:
+ key:
+ $ref: '#/components/schemas/KeyValue'
+ owner:
+ $ref: '#/components/schemas/User'
+ name:
+ type: string
+ jobIndex:
+ format: int32
+ type: integer
+ simulationKey:
+ $ref: '#/components/schemas/KeyValue'
+ parameterScanType:
+ type: boolean
+ dataKey:
+ $ref: '#/components/schemas/KeyValue'
+ FieldDataReference:
+ type: object
+ properties:
+ externalDataIdentifier:
+ $ref: '#/components/schemas/ExternalDataIdentifier'
+ externalDataAnnotation:
+ type: string
+ externalDataIDSimRefs:
+ type: array
+ items:
+ $ref: '#/components/schemas/KeyValue'
+ FieldDataSaveResults:
+ type: object
+ properties:
+ fieldDataName:
+ type: string
+ fieldDataID:
+ type: string
+ FieldDataShape:
+ type: object
+ properties:
+ extent:
+ $ref: '#/components/schemas/Extent'
+ origin:
+ $ref: '#/components/schemas/Origin'
+ isize:
+ $ref: '#/components/schemas/ISize'
+ dataIdentifier:
+ type: array
+ items:
+ $ref: '#/components/schemas/DataIdentifier'
+ times:
+ type: array
+ items:
+ format: double
+ type: number
HelloWorldMessage:
type: object
properties:
@@ -630,6 +850,18 @@ components:
type: string
batchSystemType:
$ref: '#/components/schemas/BatchSystemType'
+ ISize:
+ type: object
+ properties:
+ x:
+ format: int32
+ type: integer
+ "y":
+ format: int32
+ type: integer
+ z:
+ format: int32
+ type: integer
Identity:
type: object
properties:
@@ -672,6 +904,24 @@ components:
versionFlag:
format: int32
type: integer
+ Origin:
+ type: object
+ properties:
+ x:
+ format: double
+ type: number
+ xml:
+ attribute: true
+ "y":
+ format: double
+ type: number
+ xml:
+ attribute: true
+ z:
+ format: double
+ type: number
+ xml:
+ attribute: true
Publication:
type: object
properties:
@@ -832,8 +1082,6 @@ components:
type: string
key:
$ref: '#/components/schemas/KeyValue'
- iD:
- $ref: '#/components/schemas/KeyValue'
name:
type: string
testAccount:
@@ -880,6 +1128,38 @@ components:
$ref: '#/components/schemas/User'
iD:
type: string
+ VariableDomain:
+ enum:
+ - VARIABLEDOMAIN_POSTPROCESSING
+ - VARIABLEDOMAIN_UNKNOWN
+ - VARIABLEDOMAIN_VOLUME
+ - VARIABLEDOMAIN_MEMBRANE
+ - VARIABLEDOMAIN_CONTOUR
+ - VARIABLEDOMAIN_NONSPATIAL
+ - VARIABLEDOMAIN_POINT
+ type: string
+ VariableType:
+ type: object
+ properties:
+ type:
+ format: int32
+ type: integer
+ variableDomain:
+ $ref: '#/components/schemas/VariableDomain'
+ name:
+ type: string
+ units:
+ type: string
+ label:
+ type: string
+ legacyWarn:
+ type: boolean
+ defaultLabel:
+ type: string
+ defaultUnits:
+ type: string
+ typeName:
+ type: string
securitySchemes:
openId:
type: openIdConnect
diff --git a/vcell-apiclient/src/main/java/org/vcell/api/client/VCellApiClient.java b/vcell-apiclient/src/main/java/org/vcell/api/client/VCellApiClient.java
index 1da6323e79..6ca079a208 100644
--- a/vcell-apiclient/src/main/java/org/vcell/api/client/VCellApiClient.java
+++ b/vcell-apiclient/src/main/java/org/vcell/api/client/VCellApiClient.java
@@ -33,6 +33,7 @@
import org.vcell.restclient.ApiClient;
import org.vcell.restclient.ApiException;
import org.vcell.restclient.CustomApiClientCode;
+import org.vcell.restclient.api.FieldDataResourceApi;
import org.vcell.restclient.api.UsersResourceApi;
import org.vcell.restclient.auth.InteractiveLogin;
import org.vcell.restclient.model.AccesTokenRepresentationRecord;
@@ -514,6 +515,10 @@ public void logOut(){
}
}
+ public FieldDataResourceApi getFieldDataApi(){
+ return new FieldDataResourceApi(apiClient);
+ }
+
public String getVCellUserNameFromAuth0Mapping() throws ApiException {
try {
UsersResourceApi usersResourceApi = new UsersResourceApi(apiClient);
diff --git a/vcell-client/pom.xml b/vcell-client/pom.xml
index dcd9a3e247..310204d4ab 100644
--- a/vcell-client/pom.xml
+++ b/vcell-client/pom.xml
@@ -130,6 +130,11 @@
vcell-restclient
0.0.1-SNAPSHOT
+
+ org.vcell
+ vcell-apiclient
+ 0.0.1-SNAPSHOT
+
diff --git a/vcell-client/src/main/java/cbit/vcell/client/ClientRequestManager.java b/vcell-client/src/main/java/cbit/vcell/client/ClientRequestManager.java
index 30fac3a637..0d40d80bdb 100644
--- a/vcell-client/src/main/java/cbit/vcell/client/ClientRequestManager.java
+++ b/vcell-client/src/main/java/cbit/vcell/client/ClientRequestManager.java
@@ -37,6 +37,7 @@
import cbit.vcell.export.server.ExportSpecs;
import cbit.vcell.export.server.HumanReadableExportData;
import cbit.vcell.export.server.N5Specs;
+import cbit.vcell.field.FieldDataFileConversion;
import cbit.vcell.field.io.FieldDataFileOperationSpec;
import cbit.vcell.geometry.*;
import cbit.vcell.geometry.gui.ROIMultiPaintManager;
@@ -1744,7 +1745,7 @@ public int compare(File o1, File o2) {
ImageDataset[] imageDatasets = ImageDatasetReaderService.getInstance().getImageDatasetReader()
.readImageDatasetChannels(imageFile.getAbsolutePath(), getClientTaskStatusSupport(),
bMergeChannels, userPreferredTimeIndex, resize);
- fdfos = ClientRequestManager.createFDOSWithChannels(imageDatasets, null);
+ fdfos = FieldDataFileConversion.createFDOSWithChannels(imageDatasets, null);
}
hashTable.put(FDFOS, fdfos);
hashTable.remove(NEW_IMAGE_SIZE_INFO);
@@ -4574,73 +4575,6 @@ public void showComparisonResults(TopLevelWindowManager requester, XmlTreeDiff d
// }
//}
- public static FieldDataFileOperationSpec createFDOSFromImageFile(File imageFile, boolean bCropOutBlack,
- Integer saveOnlyThisTimePointIndex) throws DataFormatException, ImageException {
- try {
- ImageDatasetReader imageDatasetReader = ImageDatasetReaderService.getInstance().getImageDatasetReader();
- ImageDataset[] imagedataSets = imageDatasetReader.readImageDatasetChannels(imageFile.getAbsolutePath(),
- null, false, saveOnlyThisTimePointIndex, null);
- if (imagedataSets != null && bCropOutBlack) {
- for (int i = 0; i < imagedataSets.length; i++) {
- Rectangle nonZeroRect = imagedataSets[i].getNonzeroBoundingRectangle();
- if (nonZeroRect != null) {
- imagedataSets[i] = imagedataSets[i].crop(nonZeroRect);
- }
- }
- }
- return createFDOSWithChannels(imagedataSets, null);
- } catch (Exception e) {
- e.printStackTrace(System.out);
- throw new DataFormatException(e.getMessage());
- }
- }
-
- public static FieldDataFileOperationSpec createFDOSWithChannels(ImageDataset[] imagedataSets,
- Integer saveOnlyThisTimePointIndex) {
- final FieldDataFileOperationSpec fdos = new FieldDataFileOperationSpec();
-
- // [time][var][data]
- int numXY = imagedataSets[0].getISize().getX() * imagedataSets[0].getISize().getY();
- int numXYZ = imagedataSets[0].getSizeZ() * numXY;
- fdos.variableTypes = new VariableType[imagedataSets.length];
- fdos.varNames = new String[imagedataSets.length];
- short[][][] shortData = new short[(saveOnlyThisTimePointIndex != null ? 1
- : imagedataSets[0].getSizeT())][imagedataSets.length][numXYZ];
- for (int c = 0; c < imagedataSets.length; c += 1) {
- fdos.variableTypes[c] = VariableType.VOLUME;
- fdos.varNames[c] = "Channel" + c;
- for (int t = 0; t < imagedataSets[c].getSizeT(); t += 1) {
- if (saveOnlyThisTimePointIndex != null && saveOnlyThisTimePointIndex.intValue() != t) {
- continue;
- }
- int zOffset = 0;
- for (int z = 0; z < imagedataSets[c].getSizeZ(); z += 1) {
- UShortImage ushortImage = imagedataSets[c].getImage(z, 0, t);
- System.arraycopy(ushortImage.getPixels(), 0,
- shortData[(saveOnlyThisTimePointIndex != null ? 0 : t)][c], zOffset, numXY);
-// shortData[t][c] = ushortImage.getPixels();
- zOffset += numXY;
- }
- }
- }
- fdos.shortSpecData = shortData;
- fdos.times = imagedataSets[0].getImageTimeStamps();
- if (fdos.times == null) {
- fdos.times = new double[imagedataSets[0].getSizeT()];
- for (int i = 0; i < fdos.times.length; i += 1) {
- fdos.times[i] = i;
- }
- }
-
- fdos.origin = (imagedataSets[0].getAllImages()[0].getOrigin() != null
- ? imagedataSets[0].getAllImages()[0].getOrigin()
- : new Origin(0, 0, 0));
- fdos.extent = (imagedataSets[0].getExtent() != null) ? (imagedataSets[0].getExtent()) : (new Extent(1, 1, 1));
- fdos.isize = imagedataSets[0].getISize();
-
- return fdos;
-
- }
public void accessPermissions(Component requester, VCDocument vcDoc) {
VersionInfo selectedVersionInfo = null;
diff --git a/vcell-client/src/main/java/cbit/vcell/client/FieldDataWindowManager.java b/vcell-client/src/main/java/cbit/vcell/client/FieldDataWindowManager.java
index 3cd80e4ee4..c793df884b 100644
--- a/vcell-client/src/main/java/cbit/vcell/client/FieldDataWindowManager.java
+++ b/vcell-client/src/main/java/cbit/vcell/client/FieldDataWindowManager.java
@@ -10,40 +10,6 @@
package cbit.vcell.client;
-import java.awt.BorderLayout;
-import java.awt.Component;
-import java.awt.event.ActionEvent;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyVetoException;
-import java.lang.reflect.Field;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.swing.JPanel;
-import javax.swing.ListSelectionModel;
-
-import cbit.vcell.solver.*;
-import org.vcell.util.DataAccessException;
-import org.vcell.util.Issue;
-import org.vcell.util.IssueContext;
-import org.vcell.util.Matchable;
-import org.vcell.util.UserCancelException;
-import org.vcell.util.document.BioModelInfo;
-import org.vcell.util.document.ExternalDataIdentifier;
-import org.vcell.util.document.KeyValue;
-import org.vcell.util.document.MathModelInfo;
-import org.vcell.util.document.ReferenceQueryResult;
-import org.vcell.util.document.ReferenceQuerySpec;
-import org.vcell.util.document.User;
-import org.vcell.util.document.VCDocument;
-import org.vcell.util.document.Version;
-import org.vcell.util.document.VersionableRelationship;
-import org.vcell.util.document.VersionableType;
-import org.vcell.util.document.VersionableTypeVersion;
-
import cbit.image.VCImageUncompressed;
import cbit.rmi.event.DataJobEvent;
import cbit.rmi.event.DataJobListenerHolder;
@@ -71,643 +37,650 @@
import cbit.vcell.math.MathDescription;
import cbit.vcell.math.VariableType;
import cbit.vcell.math.VolVariable;
-import cbit.vcell.simdata.ClientPDEDataContext;
-import cbit.vcell.simdata.DataIdentifier;
-import cbit.vcell.simdata.DataListener;
-import cbit.vcell.simdata.OutputContext;
-import cbit.vcell.simdata.PDEDataContext;
-import cbit.vcell.simdata.PDEDataManager;
+import cbit.vcell.simdata.*;
+import cbit.vcell.solver.*;
import cbit.vcell.solvers.CartesianMesh;
+import org.vcell.util.*;
+import org.vcell.util.document.*;
-public class FieldDataWindowManager
- extends TopLevelWindowManager
- implements PropertyChangeListener,FieldDataDBEventListener,DataJobListenerHolder{
-
- public interface DataSymbolCallBack {
- void createDataSymbol(ExternalDataIdentifier dataSetID,String fieldDataVarName,VariableType fieldDataVarType,double fieldDataVarTime);
- }
-
- private FieldDataGUIPanel fieldDataGUIPanel;
- private ExternalDataIdentifier currentlyViewedEDI;
- private OutputFunctionViewer currentlyViewedOutputFunctionViewer;
-
-
- public FieldDataWindowManager(FieldDataGUIPanel fdgp, RequestManager requestManager){
- super(requestManager);
- fieldDataGUIPanel = fdgp;
- requestManager.getDocumentManager().addFieldDataDBListener(this);
- }
- public FieldDataGUIPanel getFieldDataGUIPanel(){
- return fieldDataGUIPanel;
- }
- @Override
- public Component getComponent() {
- return fieldDataGUIPanel;
- }
-
- @Override
- public String getManagerID() {
- return ClientMDIManager.FIELDDATA_WINDOW_ID;
- }
-
- @Override
- public boolean isRecyclable() {
- return true;
- }
-
- public void deleteExternalDataIdentifier(ExternalDataIdentifier deleteExtDataID) throws DataAccessException{
- getRequestManager().getDocumentManager().fieldDataDBOperation(
- FieldDataDBOperationSpec.createDeleteExtDataIDSpec(deleteExtDataID));
- if(deleteExtDataID.equals(currentlyViewedEDI)){
- viewData(null);
- }
- }
- public RequestManager getLocalRequestManager(){
- return getRequestManager();
- }
- public void updateJTree(){
- fieldDataGUIPanel.updateJTree(getRequestManager());
- }
-
-
- public ClientPDEDataContext getPDEDataContext(ExternalDataIdentifier eDI,OutputContext outputContext) throws DataAccessException{
- return
- ((PDEDataManager)getRequestManager().getDataManager(outputContext, eDI, true)).getPDEDataContext();
- }
-
-public void viewData(final ExternalDataIdentifier eDI){
-
- ChildWindowManager childWindowManager = ChildWindowManager.findChildWindowManager(getComponent());
- if(eDI != null && eDI.equals(currentlyViewedEDI) && childWindowManager != null && childWindowManager.getChildWindowFromContext(eDI) != null){
- childWindowManager.getChildWindowFromContext(eDI).show();
- } else {
- if(currentlyViewedOutputFunctionViewer != null){
- if(getLocalRequestManager() != null && getLocalRequestManager().getAsynchMessageManager() != null){
- getLocalRequestManager().getAsynchMessageManager().removeDataJobListener(currentlyViewedOutputFunctionViewer.getPDEDataViewer());
- }
- if(currentlyViewedOutputFunctionViewer != null){
- currentlyViewedOutputFunctionViewer.getPDEDataViewer().getPdeDataContext().removePropertyChangeListener(this);
- }
- }
- if(currentlyViewedOutputFunctionViewer != null){
- ChildWindow childWindow = childWindowManager.getChildWindowFromContext(eDI);
- if (childWindow!=null){
- childWindow.close();
- }
- }
- currentlyViewedEDI = null;
- currentlyViewedOutputFunctionViewer = null;
- if(eDI == null){
- return;
- }
-
- AsynchClientTask task1 = new AsynchClientTask("retrieve data", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
-
- @Override
- public void run(Hashtable hashTable) throws Exception {
- ClientPDEDataContext newPDEDataContext = getPDEDataContext(eDI,new OutputContext(new AnnotatedFunction[0])/*(currentlyViewedOutputFunctionViewer==null?null:currentlyViewedOutputFunctionViewer.getOutputContext())*/);
- hashTable.put("newPDEDataContext", newPDEDataContext);
- }
- };
- AsynchClientTask task2 = new AsynchClientTask("show data", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
-
- @Override
- public void run(Hashtable hashTable) throws Exception {
- try{
- PDEDataViewer currentlyViewedPDEDV = new PDEDataViewer();
- ClientPDEDataContext newPDEDataContext = (ClientPDEDataContext)hashTable.get("newPDEDataContext");
- currentlyViewedPDEDV.setPdeDataContext(newPDEDataContext);
- newPDEDataContext.addPropertyChangeListener(FieldDataWindowManager.this);
- getLocalRequestManager().getAsynchMessageManager().addDataJobListener(currentlyViewedPDEDV);
- currentlyViewedOutputFunctionViewer = new OutputFunctionViewer(currentlyViewedPDEDV, FieldDataWindowManager.this,eDI);
-
- DataViewerManager dvm = new DataViewerManager(){
- public void dataJobMessage(DataJobEvent event){
- }
- public void exportMessage(ExportEvent event){
- }
- public void addDataListener(DataListener newListener){
- }
- public UserPreferences getUserPreferences(){
- return getRequestManager().getUserPreferences();
- }
- public void removeDataListener(DataListener newListener){
- }
- public void startExport(Component requester,OutputContext outputContext,ExportSpecs exportSpecs){
- getLocalRequestManager().startExport(outputContext, requester, exportSpecs);
- }
- public void simStatusChanged(SimStatusEvent simStatusEvent) {
- }
- public User getUser() {
- return getRequestManager().getDocumentManager().getUser();
- }
- public RequestManager getRequestManager() {
- return FieldDataWindowManager.this.getRequestManager();
- }
- };
-
- try {
- currentlyViewedPDEDV.setDataViewerManager(dvm);
- } catch (PropertyVetoException e) {
- e.printStackTrace();
- }
-
- ChildWindowManager childWindowManager = ChildWindowManager.findChildWindowManager(getComponent());
- currentlyViewedEDI = eDI;
- ChildWindow childWindow = childWindowManager.addChildWindow(currentlyViewedOutputFunctionViewer, currentlyViewedEDI, "Field Data Viewer ("+eDI.getName()+")");
- childWindow.setSize(600,500);
- childWindow.setIsCenteredOnParent();
- childWindow.show();
-
- } catch (Exception e){
- if(currentlyViewedOutputFunctionViewer != null){
- if(getLocalRequestManager() != null && getLocalRequestManager().getAsynchMessageManager() != null){
- getLocalRequestManager().getAsynchMessageManager().removeDataJobListener(currentlyViewedOutputFunctionViewer.getPDEDataViewer());
- }
- if(currentlyViewedOutputFunctionViewer != null){
- currentlyViewedOutputFunctionViewer.getPDEDataViewer().getPdeDataContext().removePropertyChangeListener(FieldDataWindowManager.this);
- }
- }
- throw e;
- }
- }
- };
- ClientTaskDispatcher.dispatch(this.getComponent(), new Hashtable(), new AsynchClientTask[] {task1, task2}, false);
- }
-}
-private static class OutputFunctionViewer extends JPanel{
- private PDEDataViewer pdeDataViewer;
- private OutputFunctionsPanel outputFunctionsPanel;
- private Geometry geom;
- private MathDescription mathDescription;
- private ExternalDataIdentifier edi;
- private FieldDataWindowManager fieldDataWindowManager;
- public OutputFunctionViewer(final PDEDataViewer pdeDataViewer,FieldDataWindowManager fieldDataWindowManager,ExternalDataIdentifier edi) throws Exception{
- this.pdeDataViewer = pdeDataViewer;
- this.edi = edi;
- this.fieldDataWindowManager = fieldDataWindowManager;
- this.outputFunctionsPanel = new OutputFunctionsPanel();
- CartesianMesh cartesianMesh = pdeDataViewer.getPdeDataContext().getCartesianMesh();
- VCImageUncompressed vcImage = new VCImageUncompressed(null, new byte[cartesianMesh.getNumVolumeElements()], cartesianMesh.getExtent(), cartesianMesh.getSizeX(),cartesianMesh.getSizeY(),cartesianMesh.getSizeZ());
- this.geom = new Geometry("temp",vcImage);
- this.mathDescription = new MathDescription("temp");
- mathDescription.setGeometry(geom);
- setMathDescVariables();
- this.pdeDataViewer.setSimNameSimDataID(new SimNameSimDataID("temp", new VCSimulationIdentifier(edi.getKey(), edi.getOwner()),null));
- this.pdeDataViewer.setSimulationModelInfo(new SimulationModelInfo() {
-
- @Override
- public String getVolumeNamePhysiology(int subVolumeID) {
- // TODO Auto-generated method stub
- return "volPhysiology";
- }
-
- @Override
- public String getVolumeNameGeometry(int subVolumeID) {
- // TODO Auto-generated method stub
- return "volGeometry";
- }
-
- @Override
- public String getSimulationName() {
- // TODO Auto-generated method stub
- return "simName";
- }
-
- @Override
- public String getMembraneName(int subVolumeIdIn, int subVolumeIdOut, boolean bFromGeometry) {
- // TODO Auto-generated method stub
- return "membraneName";
- }
-
- @Override
- public String getContextName() {
- // TODO Auto-generated method stub
- return "contextName";
- }
-
- @Override
- public DataSymbolMetadataResolver getDataSymbolMetadataResolver(){
- return pdeDataViewer.getSimulationModelInfo().getDataSymbolMetadataResolver();
- }
-
- @Override
- public boolean isSpringSaLad() {
- return false;
- }
- });
-
- SimulationOwner simulationOwner = new SimulationOwner.FieldDataSimOwner() {
- private OutputFunctionContext outputFunctionContext = new OutputFunctionContext(this);
- {
- outputFunctionContext.addPropertyChangeListener(new PropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- final String PDEDC_KEY = "PDEDC_KEY";
- AsynchClientTask task1 = new AsynchClientTask("getPDEDataContext...",AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
- @Override
- public void run(Hashtable hashTable) throws Exception {
- OutputContext outputContext = OutputFunctionViewer.this.getOutputContext();
- ClientPDEDataContext pdeDataContext = OutputFunctionViewer.this.fieldDataWindowManager.getPDEDataContext(OutputFunctionViewer.this.edi,outputContext);
- hashTable.put(PDEDC_KEY, pdeDataContext);
- }
- };
- AsynchClientTask task2 = new AsynchClientTask("setPDEDataContext...",AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
- @Override
- public void run(Hashtable hashTable) throws Exception {
- OutputFunctionViewer.this.pdeDataViewer.setPdeDataContext((ClientPDEDataContext)hashTable.get(PDEDC_KEY));
- setMathDescVariables();
- }
- };
- ClientTaskDispatcher.dispatch(OutputFunctionViewer.this, new Hashtable(), new AsynchClientTask[] {task1,task2},true,false,false,null,true);
- }
- });
- }
-
- @Override
- public void removePropertyChangeListener(PropertyChangeListener listener) {
- // TODO Auto-generated method stub
- System.out.println("somebody remove mysimowner listener "+listener);
- }
-
- @Override
- public Geometry getGeometry() {
- // TODO Auto-generated method stub
- return geom;
- }
-
- @Override
- public void addPropertyChangeListener(PropertyChangeListener listener) {
- // TODO Auto-generated method stub
- System.out.println("somebody add mysimowner listener "+listener);
-
- }
-
- @Override
- public void removeSimulation(Simulation simulation)
- throws PropertyVetoException {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public Simulation[] getSimulations() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public OutputFunctionContext getOutputFunctionContext() {
- // TODO Auto-generated method stub
- return outputFunctionContext;
- }
-
- @Override
- public MathOverridesResolver getMathOverridesResolver() {
- return null;
- }
-
- @Override
- public String getName() {
- // TODO Auto-generated method stub
- return "temp";
- }
-
- @Override
- public MathDescription getMathDescription() {
- // TODO Auto-generated method stub
- return mathDescription;
- }
-
- @Override
- public Simulation copySimulation(Simulation simulation)
- throws PropertyVetoException {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public Issue gatherIssueForMathOverride(IssueContext issueContext, Simulation simulation, String name) {
- // TODO Auto-generated method stub
- return null;
- }
-
- /**
- * @throws UnsupportedOperationException (always)
- */
- @Override
- public UnitInfo getUnitInfo() throws UnsupportedOperationException {
- throw new UnsupportedOperationException();
- }
- };
- VCDocument fakeVCDocument = new VCDocument(){
-
- @Override
- public boolean compareEqual(Matchable obj) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public String getDescription() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public VCDocumentType getDocumentType() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getName() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Version getVersion() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public void refreshDependencies() {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void setDescription(String description)
- throws PropertyVetoException {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void setName(String newName) throws PropertyVetoException {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void gatherIssues(IssueContext issueContext, List issueList) {
- // TODO Auto-generated method stub
-
- }
-
- };
- DocumentWindowManager documentWindowManager = new DocumentWindowManager(pdeDataViewer, fieldDataWindowManager.getRequestManager(), fakeVCDocument){
-
- @Override
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void simStatusChanged(SimStatusEvent simStatusEvent) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void addResultsFrame(SimulationWindow simWindow) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public VCDocument getVCDocument() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- SimulationWindow haveSimulationWindow(
- VCSimulationIdentifier vcSimulationIdentifier) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public void resetDocument(VCDocument newDocument) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void updateConnectionStatus(ConnectionStatus connStatus) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public boolean isRecyclable() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public RequestManager getRequestManager() {
- // TODO Auto-generated method stub
- return OutputFunctionViewer.this.fieldDataWindowManager.getRequestManager();
- }
-
- @Override
- public DocumentEditor getDocumentEditor() {
- return null;
- }
-
- };
-
- SimulationWorkspace simulationWorkspace = new SimulationWorkspace(documentWindowManager, simulationOwner);
- this.pdeDataViewer.setSimulationModelInfo(new SimulationWorkspaceModelInfo(simulationOwner, "temp"));
-
- setLayout(new BorderLayout());
- add(pdeDataViewer,BorderLayout.CENTER);
- add(outputFunctionsPanel,BorderLayout.SOUTH);
- outputFunctionsPanel.setSimulationWorkspace(simulationWorkspace);
- }
- public PDEDataViewer getPDEDataViewer(){
- return pdeDataViewer;
- }
- public OutputContext getOutputContext() throws Exception{
- Field outputfunctioncontextField = OutputFunctionsPanel.class.getDeclaredField("outputFunctionContext");
- outputfunctioncontextField.setAccessible(true);
- OutputFunctionContext outputFunctionContext = (OutputFunctionContext)outputfunctioncontextField.get(outputFunctionsPanel);
- OutputContext outputContext = new OutputContext(outputFunctionContext.getOutputFunctionsList().toArray(new AnnotatedFunction[0]));
- return outputContext;
- }
- private void setMathDescVariables() throws Exception{
- AnnotatedFunction[] functions = this.pdeDataViewer.getPdeDataContext().getFunctions();
- for (int i = 0; i < functions.length; i++) {
- if(functions[i].getFunctionType().equals(VariableType.VOLUME) && mathDescription.getVariable(functions[i].getName()) == null){
- mathDescription.addVariable(functions[i]);
- }
- }
- DataIdentifier[] dataIds = this.pdeDataViewer.getPdeDataContext().getDataIdentifiers();
- for (int i = 0; i < dataIds.length; i++) {
- if(dataIds[i].getVariableType().equals(VariableType.VOLUME) && mathDescription.getVariable(dataIds[i].getName()) == null){
- if(!dataIds[i].isFunction()){
- mathDescription.addVariable(new VolVariable(dataIds[i].getName(), dataIds[i].getDomain()));
- }
- }
- }
- }
-}
-
-public void propertyChange(PropertyChangeEvent evt) {
- if(evt.getSource() == currentlyViewedOutputFunctionViewer.getPDEDataViewer().getPdeDataContext() &&
- (
- evt.getPropertyName().equals(PDEDataContext.PROP_CHANGE_FUNC_ADDED) ||
- evt.getPropertyName().equals(PDEDataContext.PROP_CHANGE_FUNC_REMOVED)
- )){
- getFieldDataGUIPanel().refreshExternalDataIdentifierNode(currentlyViewedEDI);
- }
-}
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyVetoException;
+import java.lang.reflect.Field;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Vector;
+public class FieldDataWindowManager
+ extends TopLevelWindowManager
+ implements PropertyChangeListener, FieldDataDBEventListener, DataJobListenerHolder {
+
+ public interface DataSymbolCallBack {
+ void createDataSymbol(ExternalDataIdentifier dataSetID, String fieldDataVarName, VariableType fieldDataVarType, double fieldDataVarTime);
+ }
+
+ private FieldDataGUIPanel fieldDataGUIPanel;
+ private ExternalDataIdentifier currentlyViewedEDI;
+ private OutputFunctionViewer currentlyViewedOutputFunctionViewer;
+
+
+ public FieldDataWindowManager(FieldDataGUIPanel fdgp, RequestManager requestManager) {
+ super(requestManager);
+ fieldDataGUIPanel = fdgp;
+ requestManager.getDocumentManager().addFieldDataDBListener(this);
+ }
+
+ public FieldDataGUIPanel getFieldDataGUIPanel() {
+ return fieldDataGUIPanel;
+ }
+
+ @Override
+ public Component getComponent() {
+ return fieldDataGUIPanel;
+ }
+
+ @Override
+ public String getManagerID() {
+ return ClientMDIManager.FIELDDATA_WINDOW_ID;
+ }
+
+ @Override
+ public boolean isRecyclable() {
+ return true;
+ }
+
+ public void deleteExternalDataIdentifier(ExternalDataIdentifier deleteExtDataID) throws DataAccessException {
+ getRequestManager().getDocumentManager().fieldDataDBOperation(
+ FieldDataDBOperationSpec.createDeleteExtDataIDSpec(deleteExtDataID));
+ if (deleteExtDataID.equals(currentlyViewedEDI)) {
+ viewData(null);
+ }
+ }
+
+ public RequestManager getLocalRequestManager() {
+ return getRequestManager();
+ }
+
+ public void updateJTree() {
+ fieldDataGUIPanel.updateJTree(getRequestManager());
+ }
+
+
+ public ClientPDEDataContext getPDEDataContext(ExternalDataIdentifier eDI, OutputContext outputContext) throws DataAccessException {
+ return
+ ((PDEDataManager) getRequestManager().getDataManager(outputContext, eDI, true)).getPDEDataContext();
+ }
+
+ public void viewData(final ExternalDataIdentifier eDI) {
+
+ ChildWindowManager childWindowManager = ChildWindowManager.findChildWindowManager(getComponent());
+ if (eDI != null && eDI.equals(currentlyViewedEDI) && childWindowManager != null && childWindowManager.getChildWindowFromContext(eDI) != null) {
+ childWindowManager.getChildWindowFromContext(eDI).show();
+ } else {
+ if (currentlyViewedOutputFunctionViewer != null) {
+ if (getLocalRequestManager() != null && getLocalRequestManager().getAsynchMessageManager() != null) {
+ getLocalRequestManager().getAsynchMessageManager().removeDataJobListener(currentlyViewedOutputFunctionViewer.getPDEDataViewer());
+ }
+ if (currentlyViewedOutputFunctionViewer != null) {
+ currentlyViewedOutputFunctionViewer.getPDEDataViewer().getPdeDataContext().removePropertyChangeListener(this);
+ }
+ }
+ if (currentlyViewedOutputFunctionViewer != null) {
+ ChildWindow childWindow = childWindowManager.getChildWindowFromContext(eDI);
+ if (childWindow != null) {
+ childWindow.close();
+ }
+ }
+ currentlyViewedEDI = null;
+ currentlyViewedOutputFunctionViewer = null;
+ if (eDI == null) {
+ return;
+ }
+
+ AsynchClientTask task1 = new AsynchClientTask("retrieve data", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
+
+ @Override
+ public void run(Hashtable hashTable) throws Exception {
+ ClientPDEDataContext newPDEDataContext = getPDEDataContext(eDI, new OutputContext(new AnnotatedFunction[0])/*(currentlyViewedOutputFunctionViewer==null?null:currentlyViewedOutputFunctionViewer.getOutputContext())*/);
+ hashTable.put("newPDEDataContext", newPDEDataContext);
+ }
+ };
+ AsynchClientTask task2 = new AsynchClientTask("show data", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
+
+ @Override
+ public void run(Hashtable hashTable) throws Exception {
+ try {
+ PDEDataViewer currentlyViewedPDEDV = new PDEDataViewer();
+ ClientPDEDataContext newPDEDataContext = (ClientPDEDataContext) hashTable.get("newPDEDataContext");
+ currentlyViewedPDEDV.setPdeDataContext(newPDEDataContext);
+ newPDEDataContext.addPropertyChangeListener(FieldDataWindowManager.this);
+ getLocalRequestManager().getAsynchMessageManager().addDataJobListener(currentlyViewedPDEDV);
+ currentlyViewedOutputFunctionViewer = new OutputFunctionViewer(currentlyViewedPDEDV, FieldDataWindowManager.this, eDI);
+
+ DataViewerManager dvm = new DataViewerManager() {
+ public void dataJobMessage(DataJobEvent event) {
+ }
+
+ public void exportMessage(ExportEvent event) {
+ }
+
+ public void addDataListener(DataListener newListener) {
+ }
+
+ public UserPreferences getUserPreferences() {
+ return getRequestManager().getUserPreferences();
+ }
+
+ public void removeDataListener(DataListener newListener) {
+ }
+
+ public void startExport(Component requester, OutputContext outputContext, ExportSpecs exportSpecs) {
+ getLocalRequestManager().startExport(outputContext, requester, exportSpecs);
+ }
+
+ public void simStatusChanged(SimStatusEvent simStatusEvent) {
+ }
+
+ public User getUser() {
+ return getRequestManager().getDocumentManager().getUser();
+ }
+
+ public RequestManager getRequestManager() {
+ return FieldDataWindowManager.this.getRequestManager();
+ }
+ };
+
+ try {
+ currentlyViewedPDEDV.setDataViewerManager(dvm);
+ } catch (PropertyVetoException e) {
+ e.printStackTrace();
+ }
+
+ ChildWindowManager childWindowManager = ChildWindowManager.findChildWindowManager(getComponent());
+ currentlyViewedEDI = eDI;
+ ChildWindow childWindow = childWindowManager.addChildWindow(currentlyViewedOutputFunctionViewer, currentlyViewedEDI, "Field Data Viewer (" + eDI.getName() + ")");
+ childWindow.setSize(600, 500);
+ childWindow.setIsCenteredOnParent();
+ childWindow.show();
+
+ } catch (Exception e) {
+ if (currentlyViewedOutputFunctionViewer != null) {
+ if (getLocalRequestManager() != null && getLocalRequestManager().getAsynchMessageManager() != null) {
+ getLocalRequestManager().getAsynchMessageManager().removeDataJobListener(currentlyViewedOutputFunctionViewer.getPDEDataViewer());
+ }
+ if (currentlyViewedOutputFunctionViewer != null) {
+ currentlyViewedOutputFunctionViewer.getPDEDataViewer().getPdeDataContext().removePropertyChangeListener(FieldDataWindowManager.this);
+ }
+ }
+ throw e;
+ }
+ }
+ };
+ ClientTaskDispatcher.dispatch(this.getComponent(), new Hashtable(), new AsynchClientTask[]{task1, task2}, false);
+ }
+ }
+
+ private static class OutputFunctionViewer extends JPanel {
+ private PDEDataViewer pdeDataViewer;
+ private OutputFunctionsPanel outputFunctionsPanel;
+ private Geometry geom;
+ private MathDescription mathDescription;
+ private ExternalDataIdentifier edi;
+ private FieldDataWindowManager fieldDataWindowManager;
+
+ public OutputFunctionViewer(final PDEDataViewer pdeDataViewer, FieldDataWindowManager fieldDataWindowManager, ExternalDataIdentifier edi) throws Exception {
+ this.pdeDataViewer = pdeDataViewer;
+ this.edi = edi;
+ this.fieldDataWindowManager = fieldDataWindowManager;
+ this.outputFunctionsPanel = new OutputFunctionsPanel();
+ CartesianMesh cartesianMesh = pdeDataViewer.getPdeDataContext().getCartesianMesh();
+ VCImageUncompressed vcImage = new VCImageUncompressed(null, new byte[cartesianMesh.getNumVolumeElements()], cartesianMesh.getExtent(), cartesianMesh.getSizeX(), cartesianMesh.getSizeY(), cartesianMesh.getSizeZ());
+ this.geom = new Geometry("temp", vcImage);
+ this.mathDescription = new MathDescription("temp");
+ mathDescription.setGeometry(geom);
+ setMathDescVariables();
+ this.pdeDataViewer.setSimNameSimDataID(new SimNameSimDataID("temp", new VCSimulationIdentifier(edi.getKey(), edi.getOwner()), null));
+ this.pdeDataViewer.setSimulationModelInfo(new SimulationModelInfo() {
+
+ @Override
+ public String getVolumeNamePhysiology(int subVolumeID) {
+ return "volPhysiology";
+ }
+
+ @Override
+ public String getVolumeNameGeometry(int subVolumeID) {
+ return "volGeometry";
+ }
+
+ @Override
+ public String getSimulationName() {
+ return "simName";
+ }
+
+ @Override
+ public String getMembraneName(int subVolumeIdIn, int subVolumeIdOut, boolean bFromGeometry) {
+ return "membraneName";
+ }
+
+ @Override
+ public String getContextName() {
+ return "contextName";
+ }
+
+ @Override
+ public DataSymbolMetadataResolver getDataSymbolMetadataResolver() {
+ return pdeDataViewer.getSimulationModelInfo().getDataSymbolMetadataResolver();
+ }
+
+ @Override
+ public boolean isSpringSaLad() {
+ return false;
+ }
+ });
+
+ SimulationOwner simulationOwner = new SimulationOwner.FieldDataSimOwner() {
+ private OutputFunctionContext outputFunctionContext = new OutputFunctionContext(this);
+
+ {
+ outputFunctionContext.addPropertyChangeListener(new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ final String PDEDC_KEY = "PDEDC_KEY";
+ AsynchClientTask task1 = new AsynchClientTask("getPDEDataContext...", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
+ @Override
+ public void run(Hashtable hashTable) throws Exception {
+ OutputContext outputContext = OutputFunctionViewer.this.getOutputContext();
+ ClientPDEDataContext pdeDataContext = OutputFunctionViewer.this.fieldDataWindowManager.getPDEDataContext(OutputFunctionViewer.this.edi, outputContext);
+ hashTable.put(PDEDC_KEY, pdeDataContext);
+ }
+ };
+ AsynchClientTask task2 = new AsynchClientTask("setPDEDataContext...", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
+ @Override
+ public void run(Hashtable hashTable) throws Exception {
+ OutputFunctionViewer.this.pdeDataViewer.setPdeDataContext((ClientPDEDataContext) hashTable.get(PDEDC_KEY));
+ setMathDescVariables();
+ }
+ };
+ ClientTaskDispatcher.dispatch(OutputFunctionViewer.this, new Hashtable(), new AsynchClientTask[]{task1, task2}, true, false, false, null, true);
+ }
+ });
+ }
+
+ @Override
+ public void removePropertyChangeListener(PropertyChangeListener listener) {
+ System.out.println("somebody remove mysimowner listener " + listener);
+ }
+
+ @Override
+ public Geometry getGeometry() {
+ return geom;
+ }
+
+ @Override
+ public void addPropertyChangeListener(PropertyChangeListener listener) {
+ System.out.println("somebody add mysimowner listener " + listener);
+
+ }
+
+ @Override
+ public void removeSimulation(Simulation simulation)
+ throws PropertyVetoException {
+ }
+
+ @Override
+ public Simulation[] getSimulations() {
+ return null;
+ }
+
+ @Override
+ public OutputFunctionContext getOutputFunctionContext() {
+ return outputFunctionContext;
+ }
+
+ @Override
+ public MathOverridesResolver getMathOverridesResolver() {
+ return null;
+ }
+
+ @Override
+ public String getName() {
+ return "temp";
+ }
+
+ @Override
+ public MathDescription getMathDescription() {
+ return mathDescription;
+ }
+
+ @Override
+ public Simulation copySimulation(Simulation simulation)
+ throws PropertyVetoException {
+ return null;
+ }
+
+ @Override
+ public Issue gatherIssueForMathOverride(IssueContext issueContext, Simulation simulation, String name) {
+ return null;
+ }
+
+ /**
+ * @throws UnsupportedOperationException (always)
+ */
+ @Override
+ public UnitInfo getUnitInfo() throws UnsupportedOperationException {
+ throw new UnsupportedOperationException();
+ }
+ };
+ VCDocument fakeVCDocument = new VCDocument() {
+
+ @Override
+ public boolean compareEqual(Matchable obj) {
+ return false;
+ }
+
+ @Override
+ public String getDescription() {
+ return null;
+ }
+
+ @Override
+ public VCDocumentType getDocumentType() {
+ return null;
+ }
+
+ @Override
+ public String getName() {
+ return null;
+ }
+
+ @Override
+ public Version getVersion() {
+ return null;
+ }
+
+ @Override
+ public void refreshDependencies() {
+
+ }
+
+ @Override
+ public void setDescription(String description)
+ throws PropertyVetoException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void setName(String newName) throws PropertyVetoException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void gatherIssues(IssueContext issueContext, List issueList) {
+ // TODO Auto-generated method stub
+
+ }
+
+ };
+ DocumentWindowManager documentWindowManager = new DocumentWindowManager(pdeDataViewer, fieldDataWindowManager.getRequestManager(), fakeVCDocument) {
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void simStatusChanged(SimStatusEvent simStatusEvent) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void addResultsFrame(SimulationWindow simWindow) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public VCDocument getVCDocument() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ SimulationWindow haveSimulationWindow(
+ VCSimulationIdentifier vcSimulationIdentifier) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void resetDocument(VCDocument newDocument) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void updateConnectionStatus(ConnectionStatus connStatus) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public boolean isRecyclable() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public RequestManager getRequestManager() {
+ // TODO Auto-generated method stub
+ return OutputFunctionViewer.this.fieldDataWindowManager.getRequestManager();
+ }
+
+ @Override
+ public DocumentEditor getDocumentEditor() {
+ return null;
+ }
+
+ };
+
+ SimulationWorkspace simulationWorkspace = new SimulationWorkspace(documentWindowManager, simulationOwner);
+ this.pdeDataViewer.setSimulationModelInfo(new SimulationWorkspaceModelInfo(simulationOwner, "temp"));
+
+ setLayout(new BorderLayout());
+ add(pdeDataViewer, BorderLayout.CENTER);
+ add(outputFunctionsPanel, BorderLayout.SOUTH);
+ outputFunctionsPanel.setSimulationWorkspace(simulationWorkspace);
+ }
+
+ public PDEDataViewer getPDEDataViewer() {
+ return pdeDataViewer;
+ }
+
+ public OutputContext getOutputContext() throws Exception {
+ Field outputfunctioncontextField = OutputFunctionsPanel.class.getDeclaredField("outputFunctionContext");
+ outputfunctioncontextField.setAccessible(true);
+ OutputFunctionContext outputFunctionContext = (OutputFunctionContext) outputfunctioncontextField.get(outputFunctionsPanel);
+ OutputContext outputContext = new OutputContext(outputFunctionContext.getOutputFunctionsList().toArray(new AnnotatedFunction[0]));
+ return outputContext;
+ }
+
+ private void setMathDescVariables() throws Exception {
+ AnnotatedFunction[] functions = this.pdeDataViewer.getPdeDataContext().getFunctions();
+ for (int i = 0; i < functions.length; i++) {
+ if (functions[i].getFunctionType().equals(VariableType.VOLUME) && mathDescription.getVariable(functions[i].getName()) == null) {
+ mathDescription.addVariable(functions[i]);
+ }
+ }
+ DataIdentifier[] dataIds = this.pdeDataViewer.getPdeDataContext().getDataIdentifiers();
+ for (int i = 0; i < dataIds.length; i++) {
+ if (dataIds[i].getVariableType().equals(VariableType.VOLUME) && mathDescription.getVariable(dataIds[i].getName()) == null) {
+ if (!dataIds[i].isFunction()) {
+ mathDescription.addVariable(new VolVariable(dataIds[i].getName(), dataIds[i].getDomain()));
+ }
+ }
+ }
+ }
+ }
+
+ public void propertyChange(PropertyChangeEvent evt) {
+ if (evt.getSource() == currentlyViewedOutputFunctionViewer.getPDEDataViewer().getPdeDataContext() &&
+ (
+ evt.getPropertyName().equals(PDEDataContext.PROP_CHANGE_FUNC_ADDED) ||
+ evt.getPropertyName().equals(PDEDataContext.PROP_CHANGE_FUNC_REMOVED)
+ )) {
+ getFieldDataGUIPanel().refreshExternalDataIdentifierNode(currentlyViewedEDI);
+ }
+ }
+
+
+ public boolean findReferencingModels(final ExternalDataIdentifier targetExtDataID, boolean bShowReferencingModelsList)
+ throws DataAccessException, UserCancelException {
+
+ ReferenceQuerySpec rqs = new ReferenceQuerySpec(targetExtDataID);
+
+ ReferenceQueryResult rqr = getRequestManager().getDocumentManager().findReferences(rqs);
+ VersionableTypeVersion[] dependants = null;
+ Hashtable choices = new Hashtable();
+ boolean bDanglingReferences = false;
+
+ VersionableType bioModelType = VersionableType.BioModelMetaData;
+ VersionableType mathModelType = VersionableType.MathModelMetaData;
+
+ if (rqr != null) {
+ dependants = (rqr.getVersionableFamily().bDependants() ? rqr.getVersionableFamily().getUniqueDependants() : null);
+ if (dependants != null) {
+ for (int i = 0; i < dependants.length; i += 1) {
+ boolean isBioModel = dependants[i].getVType().equals(bioModelType);
+ boolean isTop = isBioModel || dependants[i].getVType().equals(mathModelType);
+ if (isTop) {
+ VersionableRelationship[] vrArr2 = rqr.getVersionableFamily().getDependantRelationships();
+ for (int j = 0; j < vrArr2.length; j += 1) {
+ if ((vrArr2[j].from() == dependants[i]) &&
+ vrArr2[j].to().getVType().equals((isBioModel ? VersionableType.SimulationContext : VersionableType.MathDescription))) {
+ for (int k = 0; k < vrArr2.length; k += 1) {
+ boolean bAdd = false;
+ if (k == j && vrArr2[k].from().getVType().equals(mathModelType)) {
+ bAdd = true;
+ }
+ if ((vrArr2[k].from() == vrArr2[j].to()) &&
+ vrArr2[k].to().getVType().equals(VersionableType.MathDescription)) {
+ bAdd = true;
+ }
+ if (bAdd) {
+ choices.put(dependants[i],
+ new String[]{
+ dependants[i].getVersion().getName(),
+ (isBioModel ? bioModelType.getTypeName() : mathModelType.getTypeName()),
+ (isBioModel ? vrArr2[k].from().getVersion().getName() : ""),
+ dependants[i].getVersion().getVersionKey().toString()
+ }
+ );
+ }
+ }
+ }
+ }
+ }
+ }
+ bDanglingReferences = (choices.size() == 0);
+ } else {
+ bDanglingReferences = true;
+ }
+ }
-public boolean findReferencingModels(final ExternalDataIdentifier targetExtDataID,boolean bShowReferencingModelsList)
- throws DataAccessException,UserCancelException{
-
- ReferenceQuerySpec rqs = new ReferenceQuerySpec(targetExtDataID);
-
- ReferenceQueryResult rqr = getRequestManager().getDocumentManager().findReferences(rqs);
- VersionableTypeVersion[] dependants = null;
- Hashtable choices = new Hashtable();
- boolean bDanglingReferences = false;
-
- VersionableType bioModelType = VersionableType.BioModelMetaData;
- VersionableType mathModelType = VersionableType.MathModelMetaData;
-
- if(rqr != null){
- dependants = (rqr.getVersionableFamily().bDependants()?rqr.getVersionableFamily().getUniqueDependants():null);
- if(dependants != null){
- for(int i=0;i 0 || fdfor != null){
- bHasReferences = true;
- if(bShowReferencingModelsList){
- String[] columnNames = new String[] {"Model","Type","Description"};
- Vector varTypeV = new Vector();
- Vector keyValV = new Vector();
- Vector choicesV= new Vector();
- String[][] modelListData = choices.values().toArray(new String[0][0]);
- for (int i = 0; i < modelListData.length; i++) {
- choicesV.add(new String[]{modelListData[i][0], modelListData[i][1],
- "Model Variable - "+(modelListData[i][2].length() == 0?"":"App='"+modelListData[i][2]+"'")+" version["+modelListData[i][3]+"]"
- }
- );
- varTypeV.add((modelListData[i][1].equals(bioModelType.getTypeName())?bioModelType:mathModelType));
- keyValV.add(new KeyValue(modelListData[i][3]));
- }
- for (int i = 0; fdfor != null && i < fdfor.dependantFunctionInfo.length; i++) {
- String functionNames = "";
- for (int j = 0; j < fdfor.dependantFunctionInfo[i].funcNames.length; j++) {
- functionNames+=(j>0?",":"")+fdfor.dependantFunctionInfo[i].funcNames[j];
- }
- choicesV.add(new String[] {
- fdfor.dependantFunctionInfo[i].referenceSourceName,
- fdfor.dependantFunctionInfo[i].referenceSourceType,
- "Data Viewer Function(s) '"+functionNames+"' - "+
- (fdfor.dependantFunctionInfo[i].applicationName == null?"":"App='"+fdfor.dependantFunctionInfo[i].applicationName+"' ")+
- (fdfor.dependantFunctionInfo[i].simulationName == null?"":"Sim='"+fdfor.dependantFunctionInfo[i].simulationName+"' ")+
- "version["+fdfor.dependantFunctionInfo[i].refSourceVersionDate+"]"
- }
- );
- if(fdfor.dependantFunctionInfo[i].referenceSourceType.equals(FieldDataFileOperationResults.FieldDataReferenceInfo.FIELDDATATYPENAME)){
- varTypeV.add(null);
- }else if(fdfor.dependantFunctionInfo[i].referenceSourceType.equals(bioModelType.getTypeName())){
- varTypeV.add(bioModelType);
- }else if(fdfor.dependantFunctionInfo[i].referenceSourceType.equals(mathModelType.getTypeName())){
- varTypeV.add(mathModelType);
- }else{
- throw new IllegalArgumentException("Unknown reference source type "+fdfor.dependantFunctionInfo[i].referenceSourceType);
- }
- keyValV.add(fdfor.dependantFunctionInfo[i].refSourceVersionKey);
- }
- int[] selectionArr = PopupGenerator.showComponentOKCancelTableList(
- getComponent(), "References to Field Data (Select To Open) "+targetExtDataID.getName(),
- columnNames, choicesV.toArray(new String[0][0]), ListSelectionModel.SINGLE_SELECTION);
- if(selectionArr != null && selectionArr.length > 0){
- if(varTypeV.elementAt(selectionArr[0]) != null){
- if(varTypeV.elementAt(selectionArr[0]).equals(bioModelType)){
- BioModelInfo bmi = getRequestManager().getDocumentManager().getBioModelInfo(keyValV.elementAt(selectionArr[0]));
- getRequestManager().openDocument(bmi,FieldDataWindowManager.this,true);
- }else if(varTypeV.elementAt(selectionArr[0]).equals(mathModelType)){
- MathModelInfo mmi = getRequestManager().getDocumentManager().getMathModelInfo(keyValV.elementAt(selectionArr[0]));
- getRequestManager().openDocument(mmi,FieldDataWindowManager.this,true);
- }else{
- throw new IllegalArgumentException("Not expecting varType "+varTypeV.elementAt(selectionArr[0]));
- }
- }else{
- PopupGenerator.showInfoDialog(this, "use FiledDataManager to view FieldData '" + choicesV.elementAt(selectionArr[0])[0]+"'");
- }
- }
- }
- }else{
- if(!bDanglingReferences){
- bHasReferences = false;
- if(bShowReferencingModelsList){
- PopupGenerator.showInfoDialog(this, "No Model references found for Field Data "+targetExtDataID.getName());
- }
- }else{
- bHasReferences = true;
- if(bShowReferencingModelsList){
- PopupGenerator.showInfoDialog(this, "No current Model references found.\n"+
- "Field Data has internal database references from\n"+
- "previously linked Model(s) that have been deleted.\n"+
- "Note: Field Data '"+targetExtDataID.getName()+"' is not deletable\n"+
- "until database is culled (daily).");
- }
- }
- }
- return bHasReferences;
-}
-public void fieldDataDBEvent(FieldDataDBEvent fieldDataDBEvent) {
- updateJTree();
-
-}
+ FieldDataFileOperationResults fdfor = null;
+
+ boolean bHasReferences = false;
+ if (choices.size() > 0 || fdfor != null) {
+ bHasReferences = true;
+ if (bShowReferencingModelsList) {
+ String[] columnNames = new String[]{"Model", "Type", "Description"};
+ Vector varTypeV = new Vector();
+ Vector keyValV = new Vector();
+ Vector choicesV = new Vector();
+ String[][] modelListData = choices.values().toArray(new String[0][0]);
+ for (int i = 0; i < modelListData.length; i++) {
+ choicesV.add(new String[]{modelListData[i][0], modelListData[i][1],
+ "Model Variable - " + (modelListData[i][2].length() == 0 ? "" : "App='" + modelListData[i][2] + "'") + " version[" + modelListData[i][3] + "]"
+ }
+ );
+ varTypeV.add((modelListData[i][1].equals(bioModelType.getTypeName()) ? bioModelType : mathModelType));
+ keyValV.add(new KeyValue(modelListData[i][3]));
+ }
+ for (int i = 0; fdfor != null && i < fdfor.dependantFunctionInfo.length; i++) {
+ String functionNames = "";
+ for (int j = 0; j < fdfor.dependantFunctionInfo[i].funcNames.length; j++) {
+ functionNames += (j > 0 ? "," : "") + fdfor.dependantFunctionInfo[i].funcNames[j];
+ }
+ choicesV.add(new String[]{
+ fdfor.dependantFunctionInfo[i].referenceSourceName,
+ fdfor.dependantFunctionInfo[i].referenceSourceType,
+ "Data Viewer Function(s) '" + functionNames + "' - " +
+ (fdfor.dependantFunctionInfo[i].applicationName == null ? "" : "App='" + fdfor.dependantFunctionInfo[i].applicationName + "' ") +
+ (fdfor.dependantFunctionInfo[i].simulationName == null ? "" : "Sim='" + fdfor.dependantFunctionInfo[i].simulationName + "' ") +
+ "version[" + fdfor.dependantFunctionInfo[i].refSourceVersionDate + "]"
+ }
+ );
+ if (fdfor.dependantFunctionInfo[i].referenceSourceType.equals(FieldDataFileOperationResults.FieldDataReferenceInfo.FIELDDATATYPENAME)) {
+ varTypeV.add(null);
+ } else if (fdfor.dependantFunctionInfo[i].referenceSourceType.equals(bioModelType.getTypeName())) {
+ varTypeV.add(bioModelType);
+ } else if (fdfor.dependantFunctionInfo[i].referenceSourceType.equals(mathModelType.getTypeName())) {
+ varTypeV.add(mathModelType);
+ } else {
+ throw new IllegalArgumentException("Unknown reference source type " + fdfor.dependantFunctionInfo[i].referenceSourceType);
+ }
+ keyValV.add(fdfor.dependantFunctionInfo[i].refSourceVersionKey);
+ }
+ int[] selectionArr = PopupGenerator.showComponentOKCancelTableList(
+ getComponent(), "References to Field Data (Select To Open) " + targetExtDataID.getName(),
+ columnNames, choicesV.toArray(new String[0][0]), ListSelectionModel.SINGLE_SELECTION);
+ if (selectionArr != null && selectionArr.length > 0) {
+ if (varTypeV.elementAt(selectionArr[0]) != null) {
+ if (varTypeV.elementAt(selectionArr[0]).equals(bioModelType)) {
+ BioModelInfo bmi = getRequestManager().getDocumentManager().getBioModelInfo(keyValV.elementAt(selectionArr[0]));
+ getRequestManager().openDocument(bmi, FieldDataWindowManager.this, true);
+ } else if (varTypeV.elementAt(selectionArr[0]).equals(mathModelType)) {
+ MathModelInfo mmi = getRequestManager().getDocumentManager().getMathModelInfo(keyValV.elementAt(selectionArr[0]));
+ getRequestManager().openDocument(mmi, FieldDataWindowManager.this, true);
+ } else {
+ throw new IllegalArgumentException("Not expecting varType " + varTypeV.elementAt(selectionArr[0]));
+ }
+ } else {
+ PopupGenerator.showInfoDialog(this, "use FiledDataManager to view FieldData '" + choicesV.elementAt(selectionArr[0])[0] + "'");
+ }
+ }
+ }
+ } else {
+ if (!bDanglingReferences) {
+ bHasReferences = false;
+ if (bShowReferencingModelsList) {
+ PopupGenerator.showInfoDialog(this, "No Model references found for Field Data " + targetExtDataID.getName());
+ }
+ } else {
+ bHasReferences = true;
+ if (bShowReferencingModelsList) {
+ PopupGenerator.showInfoDialog(this, "No current Model references found.\n" +
+ "Field Data has internal database references from\n" +
+ "previously linked Model(s) that have been deleted.\n" +
+ "Note: Field Data '" + targetExtDataID.getName() + "' is not deletable\n" +
+ "until database is culled (daily).");
+ }
+ }
+ }
+ return bHasReferences;
+ }
+
+ public void fieldDataDBEvent(FieldDataDBEvent fieldDataDBEvent) {
+ updateJTree();
+
+ }
}
diff --git a/vcell-client/src/main/java/cbit/vcell/field/gui/FieldDataGUIDataTransferObjects.java b/vcell-client/src/main/java/cbit/vcell/field/gui/FieldDataGUIDataTransferObjects.java
new file mode 100644
index 0000000000..8d677a9772
--- /dev/null
+++ b/vcell-client/src/main/java/cbit/vcell/field/gui/FieldDataGUIDataTransferObjects.java
@@ -0,0 +1,155 @@
+package cbit.vcell.field.gui;
+
+import cbit.vcell.math.VariableType;
+import cbit.vcell.simdata.DataIdentifier;
+import org.vcell.util.Extent;
+import org.vcell.util.ISize;
+import org.vcell.util.Origin;
+import org.vcell.util.document.ExternalDataIdentifier;
+import org.vcell.util.document.KeyValue;
+
+class FieldDataGUIDataTransferObjects {
+
+
+ static class FieldDataIDList {
+ // public KeyValue key = null;
+ private final String descr;
+
+ public FieldDataIDList(KeyValue k) {
+// this.key = k;
+ this.descr = "Key (" + k + ")";
+ }
+
+ public String toString() {
+ return descr;
+ }
+ }
+
+ static class FieldDataISizeList {
+ public ISize isize;
+ private final String descr;
+
+ public FieldDataISizeList(ISize arg) {
+ isize = arg;
+ descr = "Size ( " +
+ isize.getX() + " , " +
+ isize.getY() + " , " +
+ isize.getZ() + " )";
+ }
+
+ public String toString() {
+ return descr;
+ }
+ }
+
+ static class FieldDataMainList {
+ public ExternalDataIdentifier externalDataIdentifier;
+ public String extDataAnnot;
+
+ public FieldDataMainList(ExternalDataIdentifier argExternalDataIdentifier, String argExtDataAnnot) {
+ externalDataIdentifier = argExternalDataIdentifier;
+ extDataAnnot = argExtDataAnnot;
+ }
+
+ public String toString() {
+ return externalDataIdentifier.getName();
+ }
+ }
+
+ static class FieldDataOriginList {
+ public Origin origin;
+ private final String descr;
+
+ public FieldDataOriginList(Origin arg) {
+ origin = arg;
+ descr = "Origin ( " +
+ origin.getX() + " , " +
+ origin.getY() + " , " +
+ origin.getZ() + " )";
+ }
+
+ public String toString() {
+ return descr;
+ }
+ }
+
+ static class FieldDataTimeList {
+ public double[] times;
+ private final String descr;
+
+ public FieldDataTimeList(double[] argTimes) {
+ times = argTimes;
+ descr =
+ "Times ( " + times.length + " ) Begin=" + times[0] +
+ " End=" + times[times.length - 1];
+ }
+
+ public String toString() {
+ return descr;
+ }
+ }
+
+ static class FieldDataVarList {
+ public DataIdentifier dataIdentifier;
+ private final String descr;
+
+ public FieldDataVarList(DataIdentifier argDataIdentifier) {
+ dataIdentifier = argDataIdentifier;
+ if (dataIdentifier.getVariableType().compareEqual(VariableType.VOLUME) ||
+ dataIdentifier.getVariableType().compareEqual(VariableType.VOLUME_REGION)) {
+ descr = "(Vol" + (dataIdentifier.isFunction() ? "Fnc" : "") + ") " + dataIdentifier.getName();
+ } else if (dataIdentifier.getVariableType().compareEqual(VariableType.MEMBRANE) ||
+ dataIdentifier.getVariableType().compareEqual(VariableType.MEMBRANE_REGION)) {
+ descr = "(Mem" + (dataIdentifier.isFunction() ? "Fnc" : "") + ") " + dataIdentifier.getName();
+ } else {
+ descr = "(---" + (dataIdentifier.isFunction() ? "Fnc" : "") + ") " + dataIdentifier.getName();
+ }
+ }
+
+ public String toString() {
+ return descr;
+ }
+ }
+
+ static class FieldDataVarMainList {
+ public static final String LIST_NODE_VAR_LABEL = "Variables";
+
+ public FieldDataVarMainList() {
+ }
+
+ public String toString() {
+ return LIST_NODE_VAR_LABEL;
+ }
+ }
+
+ static class InitializedRootNode {
+ private final String rootNodeString;
+
+ public InitializedRootNode(String argRNS) {
+ rootNodeString = argRNS;
+ }
+
+ public String toString() {
+ return rootNodeString;
+ }
+ }
+
+ static class FieldDataExtentList {
+ public Extent extent;
+ private final String descr;
+
+ public FieldDataExtentList(Extent arg) {
+ extent = arg;
+ descr = "Extent ( " +
+ extent.getX() + " , " +
+ extent.getY() + " , " +
+ extent.getZ() + " )";
+ }
+
+ public String toString() {
+ return descr;
+ }
+ }
+
+
+}
diff --git a/vcell-client/src/main/java/cbit/vcell/field/gui/FieldDataGUIPanel.java b/vcell-client/src/main/java/cbit/vcell/field/gui/FieldDataGUIPanel.java
index b9e264192f..7f032d4ead 100644
--- a/vcell-client/src/main/java/cbit/vcell/field/gui/FieldDataGUIPanel.java
+++ b/vcell-client/src/main/java/cbit/vcell/field/gui/FieldDataGUIPanel.java
@@ -10,56 +10,7 @@
package cbit.vcell.field.gui;
-import java.awt.Component;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.Insets;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.MouseEvent;
-import java.io.File;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map.Entry;
-import java.util.TreeMap;
-import java.util.zip.DataFormatException;
-
-import javax.swing.BoxLayout;
-import javax.swing.JButton;
-import javax.swing.JComboBox;
-import javax.swing.JFileChooser;
-import javax.swing.JLabel;
-import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JPopupMenu;
-import javax.swing.event.TreeExpansionListener;
-import javax.swing.tree.DefaultMutableTreeNode;
-import javax.swing.tree.DefaultTreeModel;
-import javax.swing.tree.TreePath;
-
-import org.vcell.util.BeanUtils;
-import org.vcell.util.Extent;
-import org.vcell.util.ISize;
-import org.vcell.util.Origin;
-import org.vcell.util.TokenMangler;
-import org.vcell.util.UserCancelException;
-import org.vcell.util.document.ExternalDataIdentifier;
-import org.vcell.util.document.KeyValue;
-import org.vcell.util.document.VCDocument;
-import org.vcell.util.document.Version;
-import org.vcell.util.gui.DialogUtils;
-import org.vcell.util.gui.exporter.FileFilters;
-
-import cbit.image.VCImageUncompressed;
-import cbit.vcell.client.ClientRequestManager;
-import cbit.vcell.client.DatabaseWindowManager;
-import cbit.vcell.client.FieldDataWindowManager;
-import cbit.vcell.client.PopupGenerator;
-import cbit.vcell.client.RequestManager;
+import cbit.vcell.client.*;
import cbit.vcell.client.TopLevelWindowManager.FDSimBioModelInfo;
import cbit.vcell.client.TopLevelWindowManager.FDSimMathModelInfo;
import cbit.vcell.client.TopLevelWindowManager.OpenModelInfoHolder;
@@ -70,1792 +21,1361 @@
import cbit.vcell.desktop.VCellTransferable;
import cbit.vcell.field.FieldDataDBOperationResults;
import cbit.vcell.field.FieldDataDBOperationSpec;
+import cbit.vcell.field.FieldDataFileConversion;
+import cbit.vcell.field.gui.FieldDataGUIDataTransferObjects.*;
import cbit.vcell.field.io.FieldDataFileOperationResults;
import cbit.vcell.field.io.FieldDataFileOperationSpec;
import cbit.vcell.geometry.Geometry;
-import cbit.vcell.geometry.RegionImage;
import cbit.vcell.math.VariableType;
import cbit.vcell.server.SimulationStatus;
import cbit.vcell.simdata.DataIdentifier;
import cbit.vcell.simdata.SimulationData;
import cbit.vcell.solver.SimulationInfo;
-import cbit.vcell.solvers.CartesianMesh;
-
-public class FieldDataGUIPanel extends JPanel{
-
- private static final String FIELD_DATA_INFO = "Field Data Info";
- public static final String FIELD_NAME = "fieldName";
- public static final String USER_DEFINED_FDOS = "userDefinedFDOS";
- final int modePslidExperimentalData = 0;
- final int modePslidGeneratedModel = 1;
- //
- public static final String LIST_NODE_VAR_LABEL = "Variables";
- //
- private JPopupMenu jPopupMenu = new JPopupMenu();
- private static final int COPY_CSV = 0;
- private static final int COPY_NL = 1;
- private static final int COPY_CRNL = 2;
- private static final int COPY_SPACE = 3;
- //
- private class InitializedRootNode {
- private String rootNodeString;
- public InitializedRootNode(String argRNS){
- rootNodeString = argRNS;
- }
- public String toString(){
- return rootNodeString;
- }
- }
-
- private static class FieldDataMainList {
- public ExternalDataIdentifier externalDataIdentifier;
- public String extDataAnnot;
- public FieldDataMainList(ExternalDataIdentifier argExternalDataIdentifier,String argExtDataAnnot){
- externalDataIdentifier = argExternalDataIdentifier;
- extDataAnnot = argExtDataAnnot;
- }
- public String toString(){
- return externalDataIdentifier.getName();
- }
- }
-
- private static class FieldDataVarMainList {
- public FieldDataVarMainList(){
- }
- public String toString(){
- return LIST_NODE_VAR_LABEL;
- }
- }
-
- private class FieldDataVarList {
- public DataIdentifier dataIdentifier;
- private String descr;
- public FieldDataVarList(DataIdentifier argDataIdentifier){
- dataIdentifier = argDataIdentifier;
- if(dataIdentifier.getVariableType().compareEqual(VariableType.VOLUME)||
- dataIdentifier.getVariableType().compareEqual(VariableType.VOLUME_REGION)){
- descr = "(Vol"+(dataIdentifier.isFunction()?"Fnc":"")+") "+dataIdentifier.getName();
- }else if(dataIdentifier.getVariableType().compareEqual(VariableType.MEMBRANE) ||
- dataIdentifier.getVariableType().compareEqual(VariableType.MEMBRANE_REGION)){
- descr = "(Mem"+(dataIdentifier.isFunction()?"Fnc":"")+") "+dataIdentifier.getName();
- }else{
- descr = "(---"+(dataIdentifier.isFunction()?"Fnc":"")+") "+dataIdentifier.getName();
- }
- }
- public String toString(){
- return descr;
- }
- }
-
- private class FieldDataTimeList {
- public double[] times;
- private String descr;
- public FieldDataTimeList(double[] argTimes){
- times = argTimes;
- descr =
- "Times ( "+times.length+" ) Begin="+times[0]+
- " End="+times[times.length-1];
- }
- public String toString(){
- return descr;
- }
- }
-
- private class FieldDataIDList {
-// public KeyValue key = null;
- private String descr;
- public FieldDataIDList(KeyValue k){
-// this.key = k;
- this.descr ="Key (" + k + ")";
- }
- public String toString(){
- return descr;
- }
- }
-
- private class FieldDataISizeList {
- public ISize isize;
- private String descr;
- public FieldDataISizeList(ISize arg){
- isize = arg;
- descr ="Size ( "+
- isize.getX()+" , "+
- isize.getY()+" , "+
- isize.getZ()+" )";
- }
- public String toString(){
- return descr;
- }
- }
-
- private class FieldDataOriginList {
- public Origin origin;
- private String descr;
- public FieldDataOriginList(Origin arg){
- origin = arg;
- descr ="Origin ( "+
- origin.getX()+" , "+
- origin.getY()+" , "+
- origin.getZ()+" )";
- }
- public String toString(){
- return descr;
- }
- }
-
- private class FieldDataExtentList {
- public Extent extent;
- private String descr;
- public FieldDataExtentList(Extent arg){
- extent = arg;
- descr ="Extent ( "+
- extent.getX()+" , "+
- extent.getY()+" , "+
- extent.getZ()+" )";
- }
- public String toString(){
- return descr;
- }
- }
-
-
- private FieldDataWindowManager fieldDataWindowManager;
- //
- private javax.swing.JButton ivjJButtonFDDelete = null;
- private javax.swing.JPanel ivjJPanel1 = null;
- private javax.swing.JPanel normalTopPanel = null;
- private javax.swing.JButton ivjJButtonFDView = null;
- private javax.swing.JTree ivjJTree1 = null;
- IvjEventHandler ivjEventHandler = new IvjEventHandler();
- private javax.swing.JScrollPane ivjJScrollPane1 = null;
- private javax.swing.JButton ivjJButtonFDCopyRef = null;
- private JButton jButtonFindRefModel = null;
- private JPanel jPanel = null;
- private JButton jButtonCreateGeom = null;
- private JPanel jPanel1 = null;
- private JButton jButtonViewAnnot = null;
- class IvjEventHandler implements ActionListener,TreeExpansionListener, javax.swing.event.TreeSelectionListener {
- public void actionPerformed(java.awt.event.ActionEvent e) {
- if (e.getSource() == FieldDataGUIPanel.this.getJButtonFDDelete())
- connEtoC7(e);
- if (e.getSource() == FieldDataGUIPanel.this.getJButtonFDCopyRef())
- connEtoC8(e);
- if (e.getSource() == FieldDataGUIPanel.this.getJButtonFDView())
- connEtoC10(e);
- if (e.getSource() == FieldDataGUIPanel.this.getJButtonFDCreate())
- if(getCreateJComboBox().getSelectedItem().equals(FROM_SIM)){
- jButtonFDFromSim_ActionPerformed(e);
- }else if(getCreateJComboBox().getSelectedItem().equals(FROM_FILE)){
- jButtonFDFromFile_ActionPerformed(e);
- }
-// else if(getCreateJComboBox().getSelectedItem().equals(FROM_IMAGEJ)){
-// fromImageJ();
-// }
- };
- public void treeCollapsed(javax.swing.event.TreeExpansionEvent event) {};
- public void treeExpanded(javax.swing.event.TreeExpansionEvent event) {
- if (event.getSource() == FieldDataGUIPanel.this.getJTree1())
- connEtoC6(event);
- };
- public void valueChanged(javax.swing.event.TreeSelectionEvent e) {
- if (e.getSource() == FieldDataGUIPanel.this.getJTree1())
- connEtoC2(e);
- };
- };
-
-/**
- * FieldDataGUIPanel constructor comment.
- */
-public FieldDataGUIPanel() {
- super();
- initialize();
-}
-
-/**
- * connEtoC1: (FieldDataGUIPanel.initialize() --> FieldDataGUIPanel.fieldDataGUIPanel_Initialize()V)
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private void connEtoC1() {
- try {
- // user code begin {1}
- // user code end
- this.fieldDataGUIPanel_Initialize();
- // user code begin {2}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {3}
- // user code end
- handleException(ivjExc);
- }
-}
-
-
-/**
- * connEtoC2: (JTree1.treeSelection.valueChanged(javax.swing.event.TreeSelectionEvent) --> FieldDataGUIPanel.jTree1_ValueChanged(Ljavax.swing.event.TreeSelectionEvent;)V)
- * @param arg1 javax.swing.event.TreeSelectionEvent
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private void connEtoC2(javax.swing.event.TreeSelectionEvent arg1) {
- try {
- // user code begin {1}
- // user code end
- this.jTree1_ValueChanged(arg1);
- // user code begin {2}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {3}
- // user code end
- handleException(ivjExc);
- }
-}
-
-
-private void connEtoC6(javax.swing.event.TreeExpansionEvent arg1) {
- try {
- // user code begin {1}
- // user code end
- this.jTree1_TreeExpanded(arg1);
- // user code begin {2}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {3}
- // user code end
- handleException(ivjExc);
- }
-}
-
-private void connEtoC7(java.awt.event.ActionEvent arg1) {
- try {
- // user code begin {1}
- // user code end
- this.jButtonFDDelete_ActionPerformed(arg1);
- // user code begin {2}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {3}
- // user code end
- handleException(ivjExc);
- }
-}
-
-private void connEtoC8(java.awt.event.ActionEvent arg1) {
- try {
- // user code begin {1}
- // user code end
- this.jButtonFDCopyRef_ActionPerformed(arg1);
- // user code begin {2}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {3}
- // user code end
- handleException(ivjExc);
- }
-}
-
-private void copyMethod(int copyMode){
- String delimiter = "";
- if(copyMode == COPY_NL){
- delimiter = "\n";
- }else if(copyMode == COPY_CRNL){
- delimiter = "\r\n";
- }else if(copyMode == COPY_CSV){
- delimiter = ",";
- }else if(copyMode == COPY_SPACE){
- delimiter = " ";
- }
- String copyString = "";
- javax.swing.tree.TreePath selPath = getJTree1().getSelectionPath();
- if(selPath != null){
- javax.swing.tree.DefaultMutableTreeNode lastPathComponent = (javax.swing.tree.DefaultMutableTreeNode)selPath.getLastPathComponent();
- if(lastPathComponent.equals(getJTree1().getModel().getRoot())){
- int childCount = lastPathComponent.getChildCount();
- for(int i=0;i 0 ){
- VCellTransferable.sendToClipboard(copyString);
- }
- }
-}
-
-private void connEtoC10(java.awt.event.ActionEvent arg1) {
- try {
- // user code begin {1}
- // user code end
- this.jButtonFDView_ActionPerformed(arg1);
- // user code begin {2}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {3}
- // user code end
- handleException(ivjExc);
- }
-}
-
-/**
- * Comment
- */
-private void fieldDataGUIPanel_Initialize() {
-
- getJTree1().getSelectionModel().setSelectionMode(javax.swing.tree.TreeSelectionModel.SINGLE_TREE_SELECTION);
-
- JMenuItem copyMenuItem = new JMenuItem("Copy");
- copyMenuItem.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent e) {
- copyMethod(COPY_SPACE);
- }
- });
- JMenuItem copyCSVMenuItem = new JMenuItem("Copy w/ Commas");
- copyCSVMenuItem.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent e) {
- copyMethod(COPY_CSV);
- }
- });
- JMenuItem copyNewLineMenuItem = new JMenuItem("Copy w/ LF");
- copyNewLineMenuItem.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent e) {
- copyMethod(COPY_NL);
- }
- });
- JMenuItem copyReturnNewLineMenuItem = new JMenuItem("Copy w/ CRLF");
- copyReturnNewLineMenuItem.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent e) {
- copyMethod(COPY_CRNL);
- }
- });
-
-}
-
-public void updateJTree(final RequestManager clientRequestManager){
-
- if(clientRequestManager == null){
- DefaultMutableTreeNode emptyNode = new DefaultMutableTreeNode("No Info Available");
- getJTree1().setModel(new DefaultTreeModel(emptyNode));
- }else{
- DefaultMutableTreeNode startupNode = new DefaultMutableTreeNode("Gathering Field Data Information... (Please wait)");
- getJTree1().setModel(new DefaultTreeModel(startupNode));
- AsynchClientTask gatherInfo = new AsynchClientTask("gatherInfo", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
-
- @Override
- public void run(Hashtable hashTable) throws Exception {
- try {
- DocumentManager documentManager = clientRequestManager.getDocumentManager();
- FieldDataDBOperationSpec fdos = FieldDataDBOperationSpec.createGetExtDataIDsSpec(documentManager.getUser());
- FieldDataDBOperationResults fieldDataDBOperationResults = documentManager.fieldDataDBOperation(fdos);
-
- ExternalDataIdentifier[] externalDataIdentifierArr = fieldDataDBOperationResults.extDataIDArr;
- String[] extDataAnnotArr = fieldDataDBOperationResults.extDataAnnotArr;
-
- TreeMap sortedExtDataIDTreeMap = new TreeMap(
- new Comparator() {
- public int compare(ExternalDataIdentifier o1, ExternalDataIdentifier o2) {
- return o1.getName().compareToIgnoreCase(o2.getName());
- }
- }
- );
- for(int i=0;i> sortIter = sortedExtDataIDTreeMap.entrySet().iterator();
- while(sortIter.hasNext()){
- Entry entry = sortIter.next();
- DefaultMutableTreeNode mainNode = new DefaultMutableTreeNode(new FieldDataMainList(entry.getKey(),entry.getValue()));
- mainNode.add(new DefaultMutableTreeNode(new FieldDataVarMainList()));
- rootNode.add(mainNode);
- }
- hashTable.put("rootNode", rootNode);
- }catch(Exception e){
- DefaultMutableTreeNode errorNode = new DefaultMutableTreeNode("Error Getting Field Data Information");
- hashTable.put("rootNode", errorNode);
- throw e;
- }
- }
- };
- AsynchClientTask updateTree = new AsynchClientTask("updateTree", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
-
- @Override
- public void run(Hashtable hashTable) throws Exception {
- DefaultMutableTreeNode rootNode = (DefaultMutableTreeNode)hashTable.get("rootNode");
- getJTree1().setModel(new DefaultTreeModel(rootNode));
- }
- };
- ClientTaskDispatcher.dispatch(this, new Hashtable(), new AsynchClientTask[] {gatherInfo, updateTree});
- }
-}
-
-
-/**
- * Return the JButtonFDCopyRef property value.
- * @return javax.swing.JButton
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private javax.swing.JButton getJButtonFDCopyRef() {
- if (ivjJButtonFDCopyRef == null) {
- try {
- ivjJButtonFDCopyRef = new javax.swing.JButton();
- ivjJButtonFDCopyRef.setName("JButtonFDCopyRef");
- ivjJButtonFDCopyRef.setText("Copy Func");
- ivjJButtonFDCopyRef.setEnabled(false);
- // user code begin {1}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {2}
- // user code end
- handleException(ivjExc);
- }
- }
- return ivjJButtonFDCopyRef;
-}
-
-/**
- * Return the JButtonFDDelete property value.
- * @return javax.swing.JButton
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private javax.swing.JButton getJButtonFDDelete() {
- if (ivjJButtonFDDelete == null) {
- try {
- ivjJButtonFDDelete = new javax.swing.JButton();
- ivjJButtonFDDelete.setName("JButtonFDDelete");
- ivjJButtonFDDelete.setText("Delete");
- ivjJButtonFDDelete.setEnabled(false);
- // user code begin {1}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {2}
- // user code end
- handleException(ivjExc);
- }
- }
- return ivjJButtonFDDelete;
-}
-
-private JButton ivjJButtonFDCreate;
-/**
- * Return the JButtonFDFromFile property value.
- * @return javax.swing.JButton
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private JButton getJButtonFDCreate() {
- if (ivjJButtonFDCreate == null) {
- try {
- ivjJButtonFDCreate = new javax.swing.JButton();
- ivjJButtonFDCreate.setName("JButtonFDFromCreate");
- ivjJButtonFDCreate.setText("Create...");
- // user code begin {1}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {2}
- // user code end
- handleException(ivjExc);
- }
- }
- return ivjJButtonFDCreate;
-}
-
-private JComboBox jComboBoxCreate;
-private static final String FROM_FILE = "from File";
-private static final String FROM_SIM = "from Simulation";
-//private static final String FROM_IMAGEJ = "from ImageJ";
-private JComboBox getCreateJComboBox(){
- if(jComboBoxCreate == null){
- jComboBoxCreate = new JComboBox(new Object[] {FROM_FILE,FROM_SIM/*,FROM_IMAGEJ*/});
- }
- return jComboBoxCreate;
-}
-
-/**
- * Return the JButtonFDView property value.
- * @return javax.swing.JButton
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private javax.swing.JButton getJButtonFDView() {
- if (ivjJButtonFDView == null) {
- try {
- ivjJButtonFDView = new javax.swing.JButton();
- ivjJButtonFDView.setName("JButtonFDView");
- ivjJButtonFDView.setText("View...");
- ivjJButtonFDView.setEnabled(false);
- // user code begin {1}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {2}
- // user code end
- handleException(ivjExc);
- }
- }
- return ivjJButtonFDView;
-}
-
-/**
- * Return the JPanel1 property value.
- * @return javax.swing.JPanel
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private javax.swing.JPanel getJPanel1() {
- if (ivjJPanel1 == null) {
- try {
- org.vcell.util.gui.TitledBorderBean ivjLocalBorder;
- ivjLocalBorder = new org.vcell.util.gui.TitledBorderBean();
- ivjLocalBorder.setTitleFont(new java.awt.Font("Arial", 1, 14));
- ivjLocalBorder.setTitle("Create New Field Data");
- ivjJPanel1 = new javax.swing.JPanel();
- ivjJPanel1.setName("JPanel1");
- ivjJPanel1.setBorder(ivjLocalBorder);
- final java.awt.GridBagLayout gridBagLayout = new java.awt.GridBagLayout();
- gridBagLayout.rowHeights = new int[] {0,0,7};
- ivjJPanel1.setLayout(gridBagLayout);
-
- java.awt.GridBagConstraints constraintsJButtonFDFromFile = new java.awt.GridBagConstraints();
- constraintsJButtonFDFromFile.gridx = 1; constraintsJButtonFDFromFile.gridy = 1;
- constraintsJButtonFDFromFile.fill = java.awt.GridBagConstraints.HORIZONTAL;
- constraintsJButtonFDFromFile.weightx = 1.0;
- constraintsJButtonFDFromFile.insets = new java.awt.Insets(4, 4, 4, 4);
- getJPanel1().add(getJButtonFDCreate(), constraintsJButtonFDFromFile);
-
- java.awt.GridBagConstraints constraintsJButtonFDFromSim = new java.awt.GridBagConstraints();
- constraintsJButtonFDFromSim.gridx = 2; constraintsJButtonFDFromSim.gridy = 1;
- constraintsJButtonFDFromSim.fill = java.awt.GridBagConstraints.HORIZONTAL;
- constraintsJButtonFDFromSim.weightx = 1.0;
- constraintsJButtonFDFromSim.insets = new java.awt.Insets(4, 4, 4, 4);
- getJPanel1().add(getCreateJComboBox(), constraintsJButtonFDFromSim);
-
- // user code begin {1}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {2}
- // user code end
- handleException(ivjExc);
- }
- }
- return ivjJPanel1;
-}
-
-
-/**
- * Return the JPanel2 property value.
- * @return javax.swing.JPanel
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private javax.swing.JPanel getNormalTopPanel() {
- if (normalTopPanel == null) {
- try {
- GridBagConstraints gridBagConstraints4 = new GridBagConstraints();
- gridBagConstraints4.gridx = 2;
- gridBagConstraints4.gridy = 1;
- GridBagConstraints gridBagConstraints21 = new GridBagConstraints();
- gridBagConstraints21.gridx = 2;
- gridBagConstraints21.gridy = 0;
- normalTopPanel = new javax.swing.JPanel();
- normalTopPanel.setName("normalTopPanel");
- normalTopPanel.setLayout(new java.awt.GridBagLayout());
-
- java.awt.GridBagConstraints constraintsJPanel1 = new java.awt.GridBagConstraints();
- constraintsJPanel1.gridx = 0; constraintsJPanel1.gridy = 0;
-constraintsJPanel1.gridheight = 2;
- constraintsJPanel1.fill = java.awt.GridBagConstraints.BOTH;
- constraintsJPanel1.insets = new java.awt.Insets(4, 4, 4, 4);
- getNormalTopPanel().add(getJPanel1(), constraintsJPanel1);
-
- java.awt.GridBagConstraints constraintsJButtonFDDelete = new java.awt.GridBagConstraints();
- constraintsJButtonFDDelete.gridx = 1; constraintsJButtonFDDelete.gridy = 0;
- constraintsJButtonFDDelete.fill = java.awt.GridBagConstraints.HORIZONTAL;
- constraintsJButtonFDDelete.weightx = 0.0;
- constraintsJButtonFDDelete.insets = new java.awt.Insets(4, 4, 4, 4);
- java.awt.GridBagConstraints constraintsJButtonFDView = new java.awt.GridBagConstraints();
- constraintsJButtonFDView.gridx = 1; constraintsJButtonFDView.gridy = 1;
- constraintsJButtonFDView.gridwidth = 1;
- constraintsJButtonFDView.fill = java.awt.GridBagConstraints.HORIZONTAL;
- constraintsJButtonFDView.insets = new java.awt.Insets(4, 4, 4, 4);
- normalTopPanel.add(getJButtonFDDelete(), constraintsJButtonFDDelete);
- normalTopPanel.add(getJButtonFDView(), constraintsJButtonFDView);
- normalTopPanel.add(getJPanel(), gridBagConstraints21);
- normalTopPanel.add(getJPanel12(), gridBagConstraints4);
- } catch (java.lang.Throwable ivjExc) {
- handleException(ivjExc);
- }
- }
- return normalTopPanel;
-}
-
-public static final int DISPLAY_NORMAL = 0;
-public static final int DISPLAY_DATASYMBOLS = 1;
-private int displayMode = DISPLAY_NORMAL;
-private JPanel dataSymbolsJPanel = null;
-private JButton dsAnnotButton = new JButton();
-private JButton dsViewButton = new JButton();
-private JButton dsDataSymbolButton = new JButton();
-public int getDisplayMode(){
- return displayMode;
-}
-private void setDisplayMode(int newDisplayMode){
- displayMode = newDisplayMode;
- if(newDisplayMode == DISPLAY_DATASYMBOLS){
- for (int i = 0; i < getComponentCount(); i++) {
- if(getComponent(i) == getNormalTopPanel()){
- remove(getComponent(i));
- break;
- }else if(getComponent(i) == dataSymbolsJPanel){
- return;
- }
- }
- if(dataSymbolsJPanel == null){
- dataSymbolsJPanel = new JPanel();
- dataSymbolsJPanel.setName("dataSymbolsPanel");
- //View Button
- //JButton viewButton = new JButton();
- dsViewButton.setText("View...");
- dsViewButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- jButtonFDView_ActionPerformed(e);
- }
- });
- dsViewButton.setEnabled(false);
- dataSymbolsJPanel.add(dsViewButton);
- //view Annotation
- //JButton annotButton = new JButton();
- dsAnnotButton.setText("View Annot...");
- dsAnnotButton.addActionListener(viewAnnotAction);
- dsAnnotButton.setEnabled(false);
- dataSymbolsJPanel.add(dsAnnotButton);
- //datasymbol Callback button
- //JButton dataSymbolButton = new JButton();
- dsDataSymbolButton.setText("Create Data Symbol...");
- dsDataSymbolButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- jButtonFDCopyRef_ActionPerformed(e);
- }
- });
- dsDataSymbolButton.setEnabled(false);
- dataSymbolsJPanel.add(dsDataSymbolButton);
- }
- java.awt.GridBagConstraints gbc_datasymbolsPanel = new java.awt.GridBagConstraints();
- gbc_datasymbolsPanel.gridx = 0; gbc_datasymbolsPanel.gridy = 0;
- gbc_datasymbolsPanel.fill = java.awt.GridBagConstraints.BOTH;
- gbc_datasymbolsPanel.insets = new java.awt.Insets(4, 4, 4, 4);
- add(dataSymbolsJPanel, gbc_datasymbolsPanel);
-
- }else{
- for (int i = 0; i < getComponentCount(); i++) {
- if(getComponent(i) == dataSymbolsJPanel){
- remove(getComponent(i));
- break;
- }else if(getComponent(i) == getNormalTopPanel()){
- return;
- }
- }
- java.awt.GridBagConstraints gbc_normalTopPanel = new java.awt.GridBagConstraints();
- gbc_normalTopPanel.gridx = 0; gbc_normalTopPanel.gridy = 0;
- gbc_normalTopPanel.fill = java.awt.GridBagConstraints.BOTH;
- gbc_normalTopPanel.insets = new java.awt.Insets(4, 4, 4, 4);
- add(getNormalTopPanel(), gbc_normalTopPanel);
- }
-}
-private FieldDataWindowManager.DataSymbolCallBack dataSymbolCallBack = null;
-public void setCreateDataSymbolCallBack(FieldDataWindowManager.DataSymbolCallBack dataSymbolCallBack){
- this.dataSymbolCallBack = dataSymbolCallBack;
- setDisplayMode((dataSymbolCallBack==null?FieldDataGUIPanel.DISPLAY_NORMAL:FieldDataGUIPanel.DISPLAY_DATASYMBOLS));
-}
-/**
- * Return the JScrollPane1 property value.
- * @return javax.swing.JScrollPane
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private javax.swing.JScrollPane getJScrollPane1() {
- if (ivjJScrollPane1 == null) {
- try {
- ivjJScrollPane1 = new javax.swing.JScrollPane();
- ivjJScrollPane1.setName("JScrollPane1");
- getJScrollPane1().setViewportView(getJTree1());
- // user code begin {1}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {2}
- // user code end
- handleException(ivjExc);
- }
- }
- return ivjJScrollPane1;
-}
-
-/**
- * Return the JTree1 property value.
- * @return javax.swing.JTree
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private javax.swing.JTree getJTree1() {
- if (ivjJTree1 == null) {
- try {
- ivjJTree1 = new javax.swing.JTree();
- ivjJTree1.setName("JTree1");
- ivjJTree1.setBounds(0, 0, 516, 346);
- // user code begin {1}
- // user code end
- } catch (java.lang.Throwable ivjExc) {
- // user code begin {2}
- // user code end
- handleException(ivjExc);
- ivjJTree1.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mousePressed(MouseEvent e) {
- maybeShowPopup(e);
- }
-
- public void mouseReleased(MouseEvent e) {
- maybeShowPopup(e);
- }
- private void maybeShowPopup(MouseEvent e) {
- if (e.isPopupTrigger()) {
- jPopupMenu.show(e.getComponent(),
- e.getX(), e.getY());
- }
- }
- });
- }
- }
- return ivjJTree1;
-}
-
-/**
- * Called whenever the part throws an exception.
- * @param exception java.lang.Throwable
- */
-private void handleException(java.lang.Throwable exception) {
-
- /* Uncomment the following lines to print uncaught exceptions to stdout */
- System.out.println("--------- UNCAUGHT EXCEPTION ---------");
- exception.printStackTrace(System.out);
-}
-
-
-/**
- * Initializes connections
- * @exception java.lang.Exception The exception description.
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private void initConnections() throws java.lang.Exception {
- // user code begin {1}
- // user code end
- getJTree1().addTreeSelectionListener(ivjEventHandler);
- getJTree1().addTreeExpansionListener(ivjEventHandler);
- getJButtonFDDelete().addActionListener(ivjEventHandler);
- getJButtonFDCopyRef().addActionListener(ivjEventHandler);
- getJButtonFDCreate().addActionListener(ivjEventHandler);
- getJButtonFDView().addActionListener(ivjEventHandler);
-}
-
-/**
- * Initialize the class.
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private void initialize() {
- try {
- // user code begin {1}
- // user code end
- setName("FieldDataGUIPanel");
- setLayout(new java.awt.GridBagLayout());
- setSize(676, 430);
-
- java.awt.GridBagConstraints gbc_normalTopPanel = new java.awt.GridBagConstraints();
- gbc_normalTopPanel.gridx = 0; gbc_normalTopPanel.gridy = 0;
- gbc_normalTopPanel.fill = java.awt.GridBagConstraints.BOTH;
- gbc_normalTopPanel.insets = new java.awt.Insets(4, 4, 4, 4);
- add(getNormalTopPanel(), gbc_normalTopPanel);
-
- java.awt.GridBagConstraints constraintsJScrollPane1 = new java.awt.GridBagConstraints();
- constraintsJScrollPane1.gridx = 0; constraintsJScrollPane1.gridy = 1;
- constraintsJScrollPane1.fill = java.awt.GridBagConstraints.BOTH;
- constraintsJScrollPane1.weightx = 1.0;
- constraintsJScrollPane1.weighty = 1.0;
- constraintsJScrollPane1.insets = new java.awt.Insets(4, 4, 4, 4);
- add(getJScrollPane1(), constraintsJScrollPane1);
- initConnections();
- connEtoC1();
- } catch (java.lang.Throwable ivjExc) {
- handleException(ivjExc);
- }
- // user code begin {2}
- // user code end
-}
+import org.vcell.util.*;
+import org.vcell.util.document.ExternalDataIdentifier;
+import org.vcell.util.document.VCDocument;
+import org.vcell.util.document.Version;
+import org.vcell.util.gui.DialogUtils;
+import org.vcell.util.gui.exporter.FileFilters;
+import javax.swing.*;
+import javax.swing.event.TreeExpansionListener;
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.DefaultTreeModel;
+import javax.swing.tree.TreePath;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseEvent;
+import java.io.File;
+import java.util.*;
+import java.util.Map.Entry;
-public boolean isInitialized(){
- DefaultMutableTreeNode rootNode =
- (DefaultMutableTreeNode)getJTree1().getModel().getRoot();
- if(rootNode == null){
- return false;
- }
- return (rootNode.getUserObject() instanceof InitializedRootNode);
-}
-/**
- * Comment
- */
-private void jTree1_ValueChanged(javax.swing.event.TreeSelectionEvent treeSelectionEvent) {
- getJButtonFDDelete().setEnabled(false);
- getJButtonFDView().setEnabled(false);dsViewButton.setEnabled(false);
- getJButtonFDCopyRef().setEnabled(false);dsDataSymbolButton.setEnabled(false);
- getJButtonFindRefModel().setEnabled(false);
- getJButtonViewAnnot().setEnabled(false);dsAnnotButton.setEnabled(false);
- getJButtonCreateGeom().setEnabled(false);
- javax.swing.tree.TreePath selPath = getJTree1().getSelectionPath();
- if(selPath != null){
- javax.swing.tree.DefaultMutableTreeNode lastPathComponent = (javax.swing.tree.DefaultMutableTreeNode)selPath.getLastPathComponent();
+public class FieldDataGUIPanel extends JPanel {
+
+ private static final String FIELD_DATA_INFO = "Field Data Info";
+ public static final String FIELD_NAME = "fieldName";
+ public static final String USER_DEFINED_FDOS = "userDefinedFDOS";
+
+ private final JPopupMenu jPopupMenu = new JPopupMenu();
+ private static final int COPY_CSV = 0;
+ private static final int COPY_NL = 1;
+ private static final int COPY_CRNL = 2;
+ private static final int COPY_SPACE = 3;
+
+
+ private FieldDataWindowManager fieldDataWindowManager;
+ private javax.swing.JButton fdDeleteButton = null;
+ private javax.swing.JPanel ivjJPanel1 = null;
+ private javax.swing.JPanel normalTopPanel = null;
+ private javax.swing.JButton fdViewButton = null;
+ private javax.swing.JTree ivjJTree1 = null;
+ IvjEventHandler ivjEventHandler = new IvjEventHandler();
+ private javax.swing.JScrollPane ivjJScrollPane1 = null;
+ private javax.swing.JButton fdCopyReferenceButton = null;
+ private JButton jButtonFindRefModel = null;
+ private JPanel jPanel = null;
+ private JButton createGeomButton = null;
+ private JPanel jPanel1 = null;
+ private JButton viewAnnotButton = null;
+ private JButton fdCreateButton;
+
+ private JComboBox jComboBoxCreate;
+ private static final String FROM_FILE = "from File";
+ private static final String FROM_SIM = "from Simulation";
+
+
+ class IvjEventHandler implements ActionListener, TreeExpansionListener, javax.swing.event.TreeSelectionListener {
+ public void actionPerformed(java.awt.event.ActionEvent e) {
+ if (e.getSource() == FieldDataGUIPanel.this.getJButtonFDDelete())
+ fdDelete(e);
+ if (e.getSource() == FieldDataGUIPanel.this.getJButtonFDCopyRef())
+ fdCopyRef(e);
+ if (e.getSource() == FieldDataGUIPanel.this.getJButtonFDView())
+ viewFieldData(e);
+ if (e.getSource() == FieldDataGUIPanel.this.getJButtonFDCreate())
+ if (getCreateJComboBox().getSelectedItem().equals(FROM_SIM)) {
+ fdFromSim(e);
+ } else if (getCreateJComboBox().getSelectedItem().equals(FROM_FILE)) {
+ fdFromFile();
+ }
+ }
+
+
+ public void treeCollapsed(javax.swing.event.TreeExpansionEvent event) {
+ }
+
+
+ public void treeExpanded(javax.swing.event.TreeExpansionEvent event) {
+ if (event.getSource() == FieldDataGUIPanel.this.getFieldDataTree())
+ FieldDataGUIPanel.this.treeExpanded(event);
+ }
+
+ public void valueChanged(javax.swing.event.TreeSelectionEvent e) {
+ if (e.getSource() == FieldDataGUIPanel.this.getFieldDataTree())
+ FieldDataGUIPanel.this.treeValueChanged(e);
+ }
+
+ }
+
+
+ public FieldDataGUIPanel() {
+ super();
+ setName("FieldDataGUIPanel");
+ setLayout(new GridBagLayout());
+ setSize(676, 430);
+
+ GridBagConstraints gbc_normalTopPanel = new GridBagConstraints();
+ gbc_normalTopPanel.gridx = 0;
+ gbc_normalTopPanel.gridy = 0;
+ gbc_normalTopPanel.fill = GridBagConstraints.BOTH;
+ gbc_normalTopPanel.insets = new Insets(4, 4, 4, 4);
+ add(getNormalTopPanel(), gbc_normalTopPanel);
+
+ GridBagConstraints constraintsJScrollPane1 = new GridBagConstraints();
+ constraintsJScrollPane1.gridx = 0;
+ constraintsJScrollPane1.gridy = 1;
+ constraintsJScrollPane1.fill = GridBagConstraints.BOTH;
+ constraintsJScrollPane1.weightx = 1.0;
+ constraintsJScrollPane1.weighty = 1.0;
+ constraintsJScrollPane1.insets = new Insets(4, 4, 4, 4);
+ add(getMainScrollPanel(), constraintsJScrollPane1);
+ getFieldDataTree().addTreeSelectionListener(ivjEventHandler);
+ getFieldDataTree().addTreeExpansionListener(ivjEventHandler);
+ getJButtonFDDelete().addActionListener(ivjEventHandler);
+ getJButtonFDCopyRef().addActionListener(ivjEventHandler);
+ getJButtonFDCreate().addActionListener(ivjEventHandler);
+ getJButtonFDView().addActionListener(ivjEventHandler);
+ this.fieldDataGUIPanel_Initialize();
+ }
+
+
+ private void copyMethod(int copyMode) {
+ String delimiter = "";
+ if (copyMode == COPY_NL) {
+ delimiter = "\n";
+ } else if (copyMode == COPY_CRNL) {
+ delimiter = "\r\n";
+ } else if (copyMode == COPY_CSV) {
+ delimiter = ",";
+ } else if (copyMode == COPY_SPACE) {
+ delimiter = " ";
+ }
+ String copyString = "";
+ javax.swing.tree.TreePath selPath = getFieldDataTree().getSelectionPath();
+ if (selPath != null) {
+ javax.swing.tree.DefaultMutableTreeNode lastPathComponent = (javax.swing.tree.DefaultMutableTreeNode) selPath.getLastPathComponent();
+ if (lastPathComponent.equals(getFieldDataTree().getModel().getRoot())) {
+ int childCount = lastPathComponent.getChildCount();
+ for (int i = 0; i < childCount; i += 1) {
+ if (i != 0) {
+ copyString += delimiter;
+ }
+ copyString +=
+ ((FieldDataMainList) ((DefaultMutableTreeNode) lastPathComponent.getChildAt(i)).getUserObject()).externalDataIdentifier.getName();
+ }
+ } else if (lastPathComponent.getUserObject() instanceof FieldDataOriginList) {
+ Origin origin = ((FieldDataOriginList) lastPathComponent.getUserObject()).origin;
+ copyString = origin.getX() + delimiter + origin.getY() + delimiter + origin.getZ();
+ } else if (lastPathComponent.getUserObject() instanceof FieldDataExtentList) {
+ Extent extent = ((FieldDataExtentList) lastPathComponent.getUserObject()).extent;
+ copyString = extent.getX() + delimiter + extent.getY() + delimiter + extent.getZ();
+ } else if (lastPathComponent.getUserObject() instanceof FieldDataISizeList) {
+ ISize isize = ((FieldDataISizeList) lastPathComponent.getUserObject()).isize;
+ copyString = isize.getX() + delimiter + isize.getY() + delimiter + isize.getZ();
+ } else if (lastPathComponent.getUserObject() instanceof FieldDataTimeList) {
+ double[] times = ((FieldDataTimeList) lastPathComponent.getUserObject()).times;
+ for (int i = 0; i < times.length; i += 1) {
+ if (i != 0) {
+ copyString += delimiter;
+ }
+ copyString += times[i] + "";
+ }
+ } else if (lastPathComponent.getUserObject() instanceof FieldDataMainList) {
+ ExternalDataIdentifier extDataID =
+ ((FieldDataMainList) lastPathComponent.getUserObject()).externalDataIdentifier;
+ copyString = extDataID.getName();
+ } else if (lastPathComponent.getUserObject() instanceof FieldDataVarList) {
+ DataIdentifier dataIdentifier =
+ ((FieldDataVarList) lastPathComponent.getUserObject()).dataIdentifier;
+ copyString = dataIdentifier.getName();
+ } else if (lastPathComponent.getUserObject() instanceof FieldDataVarMainList) {
+ int childCount = lastPathComponent.getChildCount();
+ for (int i = 0; i < childCount; i += 1) {
+ if (i != 0) {
+ copyString += delimiter;
+ }
+ copyString +=
+ ((FieldDataVarList) ((DefaultMutableTreeNode) lastPathComponent.getChildAt(i)).getUserObject()).dataIdentifier.getName();
+ }
+ }
+ if (copyString.length() > 0) {
+ VCellTransferable.sendToClipboard(copyString);
+ }
+ }
+ }
+
+
+ private void fieldDataGUIPanel_Initialize() {
+
+ getFieldDataTree().getSelectionModel().setSelectionMode(javax.swing.tree.TreeSelectionModel.SINGLE_TREE_SELECTION);
+
+ JMenuItem copyMenuItem = new JMenuItem("Copy");
+ copyMenuItem.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent e) {
+ copyMethod(COPY_SPACE);
+ }
+ });
+ JMenuItem copyCSVMenuItem = new JMenuItem("Copy w/ Commas");
+ copyCSVMenuItem.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent e) {
+ copyMethod(COPY_CSV);
+ }
+ });
+ JMenuItem copyNewLineMenuItem = new JMenuItem("Copy w/ LF");
+ copyNewLineMenuItem.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent e) {
+ copyMethod(COPY_NL);
+ }
+ });
+ JMenuItem copyReturnNewLineMenuItem = new JMenuItem("Copy w/ CRLF");
+ copyReturnNewLineMenuItem.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent e) {
+ copyMethod(COPY_CRNL);
+ }
+ });
+
+ }
+
+ public void updateJTree(final RequestManager clientRequestManager) {
+
+ if (clientRequestManager == null) {
+ DefaultMutableTreeNode emptyNode = new DefaultMutableTreeNode("No Info Available");
+ getFieldDataTree().setModel(new DefaultTreeModel(emptyNode));
+ } else {
+ DefaultMutableTreeNode startupNode = new DefaultMutableTreeNode("Gathering Field Data Information... (Please wait)");
+ getFieldDataTree().setModel(new DefaultTreeModel(startupNode));
+ AsynchClientTask gatherInfo = new AsynchClientTask("gatherInfo", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
+
+ @Override
+ public void run(Hashtable hashTable) throws Exception {
+ try {
+ DocumentManager documentManager = clientRequestManager.getDocumentManager();
+ FieldDataDBOperationSpec fdos = FieldDataDBOperationSpec.createGetExtDataIDsSpec(documentManager.getUser());
+ FieldDataDBOperationResults fieldDataDBOperationResults = documentManager.fieldDataDBOperation(fdos);
+
+ ExternalDataIdentifier[] externalDataIdentifierArr = fieldDataDBOperationResults.extDataIDArr;
+ String[] extDataAnnotArr = fieldDataDBOperationResults.extDataAnnotArr;
+
+ TreeMap sortedExtDataIDTreeMap = new TreeMap(
+ new Comparator() {
+ public int compare(ExternalDataIdentifier o1, ExternalDataIdentifier o2) {
+ return o1.getName().compareToIgnoreCase(o2.getName());
+ }
+ }
+ );
+ for (int i = 0; i < externalDataIdentifierArr.length; i += 1) {
+ sortedExtDataIDTreeMap.put(externalDataIdentifierArr[i], extDataAnnotArr[i]);
+ }
+ DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode(new InitializedRootNode(
+ FIELD_DATA_INFO + (externalDataIdentifierArr.length == 0 ? " (None Defined)" : "")));
+
+ Iterator> sortIter = sortedExtDataIDTreeMap.entrySet().iterator();
+ while (sortIter.hasNext()) {
+ Entry entry = sortIter.next();
+ DefaultMutableTreeNode mainNode = new DefaultMutableTreeNode(new FieldDataMainList(entry.getKey(), entry.getValue()));
+ mainNode.add(new DefaultMutableTreeNode(new FieldDataVarMainList()));
+ rootNode.add(mainNode);
+ }
+ hashTable.put("rootNode", rootNode);
+ } catch (Exception e) {
+ DefaultMutableTreeNode errorNode = new DefaultMutableTreeNode("Error Getting Field Data Information");
+ hashTable.put("rootNode", errorNode);
+ throw e;
+ }
+ }
+ };
+ AsynchClientTask updateTree = new AsynchClientTask("updateTree", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
+
+ @Override
+ public void run(Hashtable hashTable) throws Exception {
+ DefaultMutableTreeNode rootNode = (DefaultMutableTreeNode) hashTable.get("rootNode");
+ getFieldDataTree().setModel(new DefaultTreeModel(rootNode));
+ }
+ };
+ ClientTaskDispatcher.dispatch(this, new Hashtable(), new AsynchClientTask[]{gatherInfo, updateTree});
+ }
+ }
+
+
+ /**
+ * Return the JButtonFDCopyRef property value.
+ *
+ * @return javax.swing.JButton
+ */
+ /* WARNING: THIS METHOD WILL BE REGENERATED. */
+ private javax.swing.JButton getJButtonFDCopyRef() {
+ if (fdCopyReferenceButton == null) {
+ fdCopyReferenceButton = new javax.swing.JButton();
+ fdCopyReferenceButton.setName("JButtonFDCopyRef");
+ fdCopyReferenceButton.setText("Copy Func");
+ fdCopyReferenceButton.setEnabled(false);
+ }
+ return fdCopyReferenceButton;
+ }
+
+
+ private javax.swing.JButton getJButtonFDDelete() {
+ if (fdDeleteButton == null) {
+ fdDeleteButton = new javax.swing.JButton();
+ fdDeleteButton.setName("JButtonFDDelete");
+ fdDeleteButton.setText("Delete");
+ fdDeleteButton.setEnabled(false);
+ }
+ return fdDeleteButton;
+ }
+
+
+ private JButton getJButtonFDCreate() {
+ if (fdCreateButton == null) {
+ fdCreateButton = new javax.swing.JButton();
+ fdCreateButton.setName("JButtonFDFromCreate");
+ fdCreateButton.setText("Create...");
+ }
+ return fdCreateButton;
+ }
+
+
+
+ //private static final String FROM_IMAGEJ = "from ImageJ";
+ private JComboBox getCreateJComboBox() {
+ if (jComboBoxCreate == null) {
+ jComboBoxCreate = new JComboBox(new Object[]{FROM_FILE, FROM_SIM/*,FROM_IMAGEJ*/});
+ }
+ return jComboBoxCreate;
+ }
+
+ private javax.swing.JButton getJButtonFDView() {
+ if (fdViewButton == null) {
+ fdViewButton = new javax.swing.JButton();
+ fdViewButton.setName("JButtonFDView");
+ fdViewButton.setText("View...");
+ fdViewButton.setEnabled(false);
+ }
+ return fdViewButton;
+ }
+
+
+ private javax.swing.JPanel getJPanel1() {
+ if (ivjJPanel1 == null) {
+ org.vcell.util.gui.TitledBorderBean ivjLocalBorder;
+ ivjLocalBorder = new org.vcell.util.gui.TitledBorderBean();
+ ivjLocalBorder.setTitleFont(new java.awt.Font("Arial", 1, 14));
+ ivjLocalBorder.setTitle("Create New Field Data");
+ ivjJPanel1 = new javax.swing.JPanel();
+ ivjJPanel1.setName("JPanel1");
+ ivjJPanel1.setBorder(ivjLocalBorder);
+ final java.awt.GridBagLayout gridBagLayout = new java.awt.GridBagLayout();
+ gridBagLayout.rowHeights = new int[]{0, 0, 7};
+ ivjJPanel1.setLayout(gridBagLayout);
+
+ java.awt.GridBagConstraints constraintsJButtonFDFromFile = new java.awt.GridBagConstraints();
+ constraintsJButtonFDFromFile.gridx = 1;
+ constraintsJButtonFDFromFile.gridy = 1;
+ constraintsJButtonFDFromFile.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ constraintsJButtonFDFromFile.weightx = 1.0;
+ constraintsJButtonFDFromFile.insets = new java.awt.Insets(4, 4, 4, 4);
+ getJPanel1().add(getJButtonFDCreate(), constraintsJButtonFDFromFile);
+
+ java.awt.GridBagConstraints constraintsJButtonFDFromSim = new java.awt.GridBagConstraints();
+ constraintsJButtonFDFromSim.gridx = 2;
+ constraintsJButtonFDFromSim.gridy = 1;
+ constraintsJButtonFDFromSim.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ constraintsJButtonFDFromSim.weightx = 1.0;
+ constraintsJButtonFDFromSim.insets = new java.awt.Insets(4, 4, 4, 4);
+ getJPanel1().add(getCreateJComboBox(), constraintsJButtonFDFromSim);
+ }
+ return ivjJPanel1;
+ }
+
+
+ private javax.swing.JPanel getNormalTopPanel() {
+ if (normalTopPanel == null) {
+ GridBagConstraints gridBagConstraints4 = new GridBagConstraints();
+ gridBagConstraints4.gridx = 2;
+ gridBagConstraints4.gridy = 1;
+ GridBagConstraints gridBagConstraints21 = new GridBagConstraints();
+ gridBagConstraints21.gridx = 2;
+ gridBagConstraints21.gridy = 0;
+ normalTopPanel = new javax.swing.JPanel();
+ normalTopPanel.setName("normalTopPanel");
+ normalTopPanel.setLayout(new java.awt.GridBagLayout());
+
+ java.awt.GridBagConstraints constraintsJPanel1 = new java.awt.GridBagConstraints();
+ constraintsJPanel1.gridx = 0;
+ constraintsJPanel1.gridy = 0;
+ constraintsJPanel1.gridheight = 2;
+ constraintsJPanel1.fill = java.awt.GridBagConstraints.BOTH;
+ constraintsJPanel1.insets = new java.awt.Insets(4, 4, 4, 4);
+ getNormalTopPanel().add(getJPanel1(), constraintsJPanel1);
+
+ java.awt.GridBagConstraints constraintsJButtonFDDelete = new java.awt.GridBagConstraints();
+ constraintsJButtonFDDelete.gridx = 1;
+ constraintsJButtonFDDelete.gridy = 0;
+ constraintsJButtonFDDelete.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ constraintsJButtonFDDelete.weightx = 0.0;
+ constraintsJButtonFDDelete.insets = new java.awt.Insets(4, 4, 4, 4);
+ java.awt.GridBagConstraints constraintsJButtonFDView = new java.awt.GridBagConstraints();
+ constraintsJButtonFDView.gridx = 1;
+ constraintsJButtonFDView.gridy = 1;
+ constraintsJButtonFDView.gridwidth = 1;
+ constraintsJButtonFDView.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ constraintsJButtonFDView.insets = new java.awt.Insets(4, 4, 4, 4);
+ normalTopPanel.add(getJButtonFDDelete(), constraintsJButtonFDDelete);
+ normalTopPanel.add(getJButtonFDView(), constraintsJButtonFDView);
+ normalTopPanel.add(getJPanel(), gridBagConstraints21);
+ normalTopPanel.add(getJPanel12(), gridBagConstraints4);
+ }
+ return normalTopPanel;
+ }
+
+ public static final int DISPLAY_NORMAL = 0;
+ public static final int DISPLAY_DATASYMBOLS = 1;
+ private int displayMode = DISPLAY_NORMAL;
+ private JPanel dataSymbolsJPanel = null;
+ private final JButton dsAnnotButton = new JButton();
+ private final JButton dsViewButton = new JButton();
+ private final JButton dsDataSymbolButton = new JButton();
+
+ public int getDisplayMode() {
+ return displayMode;
+ }
+
+ private void setDisplayMode(int newDisplayMode) {
+ displayMode = newDisplayMode;
+ if (newDisplayMode == DISPLAY_DATASYMBOLS) {
+ for (int i = 0; i < getComponentCount(); i++) {
+ if (getComponent(i) == getNormalTopPanel()) {
+ remove(getComponent(i));
+ break;
+ } else if (getComponent(i) == dataSymbolsJPanel) {
+ return;
+ }
+ }
+ if (dataSymbolsJPanel == null) {
+ dataSymbolsJPanel = new JPanel();
+ dataSymbolsJPanel.setName("dataSymbolsPanel");
+ //View Button
+ //JButton viewButton = new JButton();
+ dsViewButton.setText("View...");
+ dsViewButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ viewFieldData(e);
+ }
+ });
+ dsViewButton.setEnabled(false);
+ dataSymbolsJPanel.add(dsViewButton);
+ //view Annotation
+ //JButton annotButton = new JButton();
+ dsAnnotButton.setText("View Annot...");
+ dsAnnotButton.addActionListener(viewAnnotAction);
+ dsAnnotButton.setEnabled(false);
+ dataSymbolsJPanel.add(dsAnnotButton);
+ //datasymbol Callback button
+ //JButton dataSymbolButton = new JButton();
+ dsDataSymbolButton.setText("Create Data Symbol...");
+ dsDataSymbolButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ fdCopyRef(e);
+ }
+ });
+ dsDataSymbolButton.setEnabled(false);
+ dataSymbolsJPanel.add(dsDataSymbolButton);
+ }
+ java.awt.GridBagConstraints gbc_datasymbolsPanel = new java.awt.GridBagConstraints();
+ gbc_datasymbolsPanel.gridx = 0;
+ gbc_datasymbolsPanel.gridy = 0;
+ gbc_datasymbolsPanel.fill = java.awt.GridBagConstraints.BOTH;
+ gbc_datasymbolsPanel.insets = new java.awt.Insets(4, 4, 4, 4);
+ add(dataSymbolsJPanel, gbc_datasymbolsPanel);
+
+ } else {
+ for (int i = 0; i < getComponentCount(); i++) {
+ if (getComponent(i) == dataSymbolsJPanel) {
+ remove(getComponent(i));
+ break;
+ } else if (getComponent(i) == getNormalTopPanel()) {
+ return;
+ }
+ }
+ java.awt.GridBagConstraints gbc_normalTopPanel = new java.awt.GridBagConstraints();
+ gbc_normalTopPanel.gridx = 0;
+ gbc_normalTopPanel.gridy = 0;
+ gbc_normalTopPanel.fill = java.awt.GridBagConstraints.BOTH;
+ gbc_normalTopPanel.insets = new java.awt.Insets(4, 4, 4, 4);
+ add(getNormalTopPanel(), gbc_normalTopPanel);
+ }
+ }
+
+ private FieldDataWindowManager.DataSymbolCallBack dataSymbolCallBack = null;
+
+ public void setCreateDataSymbolCallBack(FieldDataWindowManager.DataSymbolCallBack dataSymbolCallBack) {
+ this.dataSymbolCallBack = dataSymbolCallBack;
+ setDisplayMode((dataSymbolCallBack == null ? FieldDataGUIPanel.DISPLAY_NORMAL : FieldDataGUIPanel.DISPLAY_DATASYMBOLS));
+ }
+
+
+ private javax.swing.JScrollPane getMainScrollPanel() {
+ if (ivjJScrollPane1 == null) {
+ ivjJScrollPane1 = new javax.swing.JScrollPane();
+ ivjJScrollPane1.setName("JScrollPane1");
+ getMainScrollPanel().setViewportView(getFieldDataTree());
+ }
+ return ivjJScrollPane1;
+ }
+
+ private javax.swing.JTree getFieldDataTree() {
+ if (ivjJTree1 == null) {
+ try {
+ ivjJTree1 = new javax.swing.JTree();
+ ivjJTree1.setName("JTree1");
+ ivjJTree1.setBounds(0, 0, 516, 346);
+ } catch (java.lang.Throwable ivjExc) {
+ ivjJTree1.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mousePressed(MouseEvent e) {
+ maybeShowPopup(e);
+ }
+
+ public void mouseReleased(MouseEvent e) {
+ maybeShowPopup(e);
+ }
+
+ private void maybeShowPopup(MouseEvent e) {
+ if (e.isPopupTrigger()) {
+ jPopupMenu.show(e.getComponent(),
+ e.getX(), e.getY());
+ }
+ }
+ });
+ }
+ }
+ return ivjJTree1;
+ }
+
+
+ public boolean isInitialized() {
+ DefaultMutableTreeNode rootNode =
+ (DefaultMutableTreeNode) getFieldDataTree().getModel().getRoot();
+ if (rootNode == null) {
+ return false;
+ }
+ return (rootNode.getUserObject() instanceof InitializedRootNode);
+ }
+
+
+ private void treeValueChanged(javax.swing.event.TreeSelectionEvent treeSelectionEvent) {
+ getJButtonFDDelete().setEnabled(false);
+ getJButtonFDView().setEnabled(false);
+ dsViewButton.setEnabled(false);
+ getJButtonFDCopyRef().setEnabled(false);
+ dsDataSymbolButton.setEnabled(false);
+ getJButtonFindRefModel().setEnabled(false);
+ getJButtonViewAnnot().setEnabled(false);
+ dsAnnotButton.setEnabled(false);
+ getJButtonCreateGeom().setEnabled(false);
+ javax.swing.tree.TreePath selPath = getFieldDataTree().getSelectionPath();
+ if (selPath != null) {
+ javax.swing.tree.DefaultMutableTreeNode lastPathComponent = (javax.swing.tree.DefaultMutableTreeNode) selPath.getLastPathComponent();
// System.out.println("count="+selPath.getPathCount()+" "+(lastPathComponent != null?lastPathComponent.toString():"null"));
- if(lastPathComponent.getUserObject() instanceof FieldDataMainList){
- getJButtonFDDelete().setEnabled(true);
- getJButtonFDView().setEnabled(fieldDataWindowManager != null);dsViewButton.setEnabled(fieldDataWindowManager != null);
- getJButtonFindRefModel().setEnabled(true);
- getJButtonViewAnnot().setEnabled(true);dsAnnotButton.setEnabled(true);
- }else if (lastPathComponent.getUserObject() instanceof FieldDataVarList){
- getJButtonFDCopyRef().setEnabled(true);dsDataSymbolButton.setEnabled(true);
- getJButtonCreateGeom().setEnabled(true);
- }
- }
-}
-
-private void jButtonFDFromSim_ActionPerformed(java.awt.event.ActionEvent actionEvent) {
- try{
- final RequestManager clientRequestManager = fieldDataWindowManager.getLocalRequestManager();
-
- final FieldDataWindowManager.OpenModelInfoHolder simInfoHolder = FieldDataWindowManager.selectOpenModelsFromDesktop(this,fieldDataWindowManager.getRequestManager(),true,"Select Simulation for Field Data",true);
- if(simInfoHolder == null){
- PopupGenerator.showErrorDialog(this, "Please open a Bio or Math model containing the spatial (non-compartmental) simulation you wish to use to create a new Field Data");
- return;
- }
- //Check that the sim is in a state that can be copied
- final SimulationInfo simInfo = simInfoHolder.getSimInfo();
- if(simInfo == null){
- throw new Exception("Selected sim '"+simInfoHolder.getSimName()+"' has no simInfo (save your model and retry).");
- }
- SimulationStatus simStatus = clientRequestManager.getServerSimulationStatus(simInfo);
- if(simStatus != null && (simStatus.isRunning() || simStatus.isStartRequested())){
- throw new Exception("Can't copy 'running' simulation data from sim '"+simInfo.getName()+"'");
- }
-
- final FieldDataFileOperationSpec fdos = FieldDataFileOperationSpec.createCopySimFieldDataFileOperationSpec( null,
- (simInfo.getParentSimulationReference() != null?simInfo.getParentSimulationReference(): simInfo.getSimulationVersion().getVersionKey()),
- simInfo.getOwner(), simInfoHolder.getJobIndex(), clientRequestManager.getDocumentManager().getUser());
-
- AsynchClientTask[] addTasks = addNewExternalData(this,this,true);
- AsynchClientTask[] taskArray = new AsynchClientTask[1 + addTasks.length];
- System.arraycopy(addTasks, 0, taskArray, 1, addTasks.length); // add to the end
-
- taskArray[0] = new AsynchClientTask("Create Field Data from Simulation", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
- public void run(Hashtable hashTable) throws Exception {
- FieldDataFileOperationResults fdor =
- clientRequestManager.getDocumentManager().fieldDataFileOperation(
- FieldDataFileOperationSpec.createInfoFieldDataFileOperationSpec(
- (simInfo.getParentSimulationReference() != null?
- simInfo.getParentSimulationReference():
- simInfo.getSimulationVersion().getVersionKey()
- ),
- simInfo.getOwner(),
- simInfoHolder.getJobIndex()));
- //Create (non-editable) info for display
- fdos.origin = fdor.origin;
- fdos.extent = fdor.extent;
- fdos.isize = fdor.iSize;
- fdos.times = fdor.times;
- fdos.varNames = new String[fdor.dataIdentifierArr.length];
- for(int i=0;i hash = new Hashtable();
- ClientTaskDispatcher.dispatch(this,hash,taskArray,false);
-
- }catch(UserCancelException e){
- return;
- }catch(Exception e){
- PopupGenerator.showErrorDialog(this, "Error creating Field Data from simulation\n"+e.getMessage(), e);
- }
-}
-
-private void jButtonFDView_ActionPerformed(java.awt.event.ActionEvent actionEvent) {
- if(fieldDataWindowManager == null){
- System.out.println("No FieldDataViewManager available for View action");
- return;
- }
- javax.swing.tree.TreePath selPath = getJTree1().getSelectionPath();
- if(selPath != null){
- javax.swing.tree.DefaultMutableTreeNode lastPathComponent = (javax.swing.tree.DefaultMutableTreeNode)selPath.getLastPathComponent();
- if(lastPathComponent.getUserObject() instanceof FieldDataMainList){
- ExternalDataIdentifier edi = ((FieldDataMainList)lastPathComponent.getUserObject()).externalDataIdentifier;
- fieldDataWindowManager.viewData(edi);
- }
- }
-}
-
-
-private void jButtonFDFromFile_ActionPerformed(java.awt.event.ActionEvent actionEvent) {
- Hashtable hash = new Hashtable();
-
- AsynchClientTask[] tasks = fdFromFile();
- ClientTaskDispatcher.dispatch(this, hash, tasks, false, true, null);
-
-}
-
-//private void fromImageJ(){
-// //windows debug port in use, netstat -anob | findstr "5000", tasklist | findstr "LISTENER from netstat query"
-// AsynchClientTask imageJTask = new AsynchClientTask("contact ImageJ...",AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
-// @Override
-// public void run(Hashtable hashTable) throws Exception {
-// File imageJFile = ImageJHelper.vcellWantImage(getClientTaskStatusSupport(),"image for new FieldData");
-// hashTable.put(IMAGE_FILE_KEY, imageJFile);
-// }
-// };
-// AsynchClientTask[] tasks = fdFromFile();
-// tasks = BeanUtils.addElements(new AsynchClientTask[] {imageJTask}, tasks);
-// ClientTaskDispatcher.dispatch(this, new Hashtable<>(), tasks, false, true, null);
-//}
-
-String IMAGE_FILE_KEY = "imageFile";
-private AsynchClientTask[] fdFromFile() {
- final RequestManager clientRequestManager = fieldDataWindowManager.getLocalRequestManager();
- AsynchClientTask[] addTasks = addNewExternalData(this,this,false);
- AsynchClientTask[] taskArray = new AsynchClientTask[2 + addTasks.length];
- System.arraycopy(addTasks, 0, taskArray, 2, addTasks.length); // add to the end
-
- taskArray[0] = new AsynchClientTask("select a file", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
- public void run(Hashtable hashTable) throws Exception {
- FieldDataFileOperationSpec argfdos = (FieldDataFileOperationSpec)hashTable.get("argfdos");
- if (argfdos == null && hashTable.get(IMAGE_FILE_KEY) == null) {
- File imageFile = DatabaseWindowManager.showFileChooserDialog(
- fieldDataWindowManager.getComponent(), FileFilters.FILE_FILTER_FIELDIMAGES,
- clientRequestManager.getUserPreferences(),JFileChooser.FILES_AND_DIRECTORIES);
- hashTable.put(IMAGE_FILE_KEY, imageFile);
- }
- }
- };
- taskArray[1] = new AsynchClientTask("Import image", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
- public void run(Hashtable hashTable) throws Exception {
- FieldDataFileOperationSpec fdos = null;
- String initFDName = null;
-
- FieldDataFileOperationSpec argfdos = (FieldDataFileOperationSpec)hashTable.get("argfdos");
- String arginitFDName = (String)hashTable.get("arginitFDName");
- if (argfdos == null) {
- File imageFile = (File)hashTable.get(IMAGE_FILE_KEY);
- if (imageFile == null) {
- return;
- }
- initFDName = imageFile.getName();
- if(initFDName.indexOf(".vfrap") > -1)
- {
-/* //read the image dataset from Virtual FRAP xml file
- System.out.println("Loading " + initFDName + " ...");
-
- AnnotatedImageDataset annotatedImages = null;
- String xmlString;
- try {
- xmlString = XmlUtil.getXMLString(imageFile.getAbsolutePath());
- MicroscopyXmlReader xmlReader = new MicroscopyXmlReader(true);
- annotatedImages = xmlReader.getAnnotatedImageDataset(XmlUtil.stringToXML(xmlString, null).getRootElement(), this.getClientTaskStatusSupport());
- OverlayEditorPanelJAI overlayPanel = new OverlayEditorPanelJAI();
- overlayPanel.setImages(annotatedImages.getImageDataset(), 1, 0, new OverlayEditorPanelJAI.AllPixelValuesRange(1, 200) );
- DialogUtils.showComponentCloseDialog(FieldDataGUIPanel.this, overlayPanel, "this is it");
- } catch (Exception e) {
- e.printStackTrace(System.out);
- } */
- }
- else //not a .vfrap file
- {
- try {
- fdos = ClientRequestManager.createFDOSFromImageFile(imageFile,false,null);
- } catch (DataFormatException ex) {
- throw new Exception("Cannot read image " + imageFile.getAbsolutePath()+"\n"+ex.getMessage());
- }
- }
- }else{
- fdos = argfdos;
- initFDName = arginitFDName;
- }
-
- fdos.owner = clientRequestManager.getDocumentManager().getUser();
- fdos.opType = FieldDataFileOperationSpec.FDOS_ADD;
- hashTable.put("fdos", fdos);
- hashTable.put("initFDName", initFDName);
- //addNewExternalData(clientRequestManager, fdos, initFDName, false);
- }
- };
- return taskArray;
-}
-
-private void jButtonFDDelete_ActionPerformed(java.awt.event.ActionEvent actionEvent) {
-
- final RequestManager clientRequestManager = fieldDataWindowManager.getLocalRequestManager();
-
-
- TreePath selPath = getJTree1().getSelectionPath();
- final DefaultMutableTreeNode mainNode = (DefaultMutableTreeNode)selPath.getLastPathComponent();
- final FieldDataMainList fieldDataMainList = (FieldDataMainList)mainNode.getUserObject();
-
- if(!fieldDataMainList.externalDataIdentifier.getOwner().equals(
- clientRequestManager.getDocumentManager().getUser())){
- DialogUtils.showErrorDialog(this, "Delete failed: User "+clientRequestManager.getDocumentManager().getUser().getName()+
- "does not own FieldData '"+fieldDataMainList.externalDataIdentifier.getName()+"'");
- }
- if(PopupGenerator.showComponentOKCancelDialog(
- this, new JLabel("Delete "+fieldDataMainList.externalDataIdentifier.getName()+"?"),
- "Confirm Delete") != JOptionPane.OK_OPTION){
- return;
-
- }
- AsynchClientTask CheckRemoveFromDBTask = new AsynchClientTask("Check Field Data references in DB", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
- public void run(Hashtable hash) throws Exception {
- if(fieldDataWindowManager.findReferencingModels(fieldDataMainList.externalDataIdentifier, false)){
- throw new Exception("Cannot delete Field Data '"+fieldDataMainList.externalDataIdentifier.getName()+
- "' because it is referenced in a Model(s) or Function(s) file.");
- }
- }
- };
- AsynchClientTask RemoveNodeTreeTask = new AsynchClientTask("Remove FieldData tree node", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
- public void run(Hashtable hash) throws Exception {
- ((DefaultTreeModel)getJTree1().getModel()).removeNodeFromParent(mainNode);
- if(((DefaultMutableTreeNode)getJTree1().getModel().getRoot()).getChildCount() == 0){
- updateJTree(clientRequestManager);
- }
- }
- };
- AsynchClientTask RemoveFromDiskAndDBTask = new AsynchClientTask("Remove Field Data from Disk and DB", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
- public void run(Hashtable hash) throws Exception {
- //Remove from Disk
- FieldDataMainList fieldDataMainList = (FieldDataMainList)mainNode.getUserObject();
- FieldDataFileOperationSpec fdos = FieldDataFileOperationSpec.createDeleteFieldDataFileOperationSpec(
- fieldDataMainList.externalDataIdentifier);
- clientRequestManager.getDocumentManager().fieldDataFileOperation(fdos);
- //Remove from DB
- fieldDataWindowManager.deleteExternalDataIdentifier(fieldDataMainList.externalDataIdentifier);
- }
- };
- //
- //Execute Field Data Info - JTree tasks
- //
- AsynchClientTask tasks[] = new AsynchClientTask[] { CheckRemoveFromDBTask,RemoveFromDiskAndDBTask,RemoveNodeTreeTask};
- Hashtable hash = new Hashtable();
- ClientTaskDispatcher.dispatch(this,hash,tasks,false);
-
-}
- private class SelectedTimes{
- private double[] times;
- private int selectedIndex;
- public SelectedTimes(double[] times, int selectedIndex) {
- super();
- this.times = times;
- this.selectedIndex = selectedIndex;
- }
- public double[] getTimes() {
- return times;
- }
- public int getSelectedIndex() {
- return selectedIndex;
- }
-
- }
-private SelectedTimes selectTimeFromNode(DefaultMutableTreeNode mainNode){
- Enumeration> children = mainNode.children();
- double[] times = null;
- while(children.hasMoreElements()){
- DefaultMutableTreeNode child = (DefaultMutableTreeNode)children.nextElement();
- if(child.getUserObject() instanceof FieldDataTimeList){
- times = ((FieldDataTimeList)child.getUserObject()).times;
- break;
- }
- }
-
- if(times != null && times.length > 1){
- String[] timesStr = new String[times.length];
- for(int i=0;i jcBeg = new JComboBox(Arrays.asList(timesStr).toArray(new Object[0]));
- jp.add(jcBeg);
-
- if(PopupGenerator.showComponentOKCancelDialog(this, jp,"Select Field Data timepoint") ==JOptionPane.OK_OPTION){
- return new SelectedTimes(times, jcBeg.getSelectedIndex());
- }
- throw UserCancelException.CANCEL_GENERIC;
- }
- return new SelectedTimes(new double[] {0.0}, 0);
-}
-private void jButtonFDCopyRef_ActionPerformed(java.awt.event.ActionEvent actionEvent) {
- if(actionEvent.getSource() == getJButtonCreateGeom()){
- DocumentWindow.showGeometryCreationWarning(FieldDataGUIPanel.this);
- return;
- }
- TreePath selPath = getJTree1().getSelectionPath();
- final DefaultMutableTreeNode varNode = (DefaultMutableTreeNode)selPath.getLastPathComponent();
- final DefaultMutableTreeNode mainNode = (DefaultMutableTreeNode)varNode.getParent().getParent();
-
- SelectedTimes selectedTimes = null;
- try{
- selectedTimes = selectTimeFromNode(mainNode);
- }catch(UserCancelException e){
- return;
- }
- double selectedTime = selectedTimes.getTimes()[selectedTimes.getSelectedIndex()];
-
- if(actionEvent.getSource() == getJButtonFDCopyRef()){
- String fieldFunctionReference =
- SimulationData.createCanonicalFieldFunctionSyntax(
- ((FieldDataMainList)mainNode.getUserObject()).externalDataIdentifier.getName(),
- ((FieldDataVarList)varNode.getUserObject()).dataIdentifier.getName(),
- selectedTime,((FieldDataVarList)varNode.getUserObject()).dataIdentifier.getVariableType().getTypeName());
-
- VCellTransferable.sendToClipboard(fieldFunctionReference);
- }else if(actionEvent.getSource() == dsDataSymbolButton && dataSymbolCallBack != null){
- dataSymbolCallBack.createDataSymbol(
- ((FieldDataMainList)mainNode.getUserObject()).externalDataIdentifier,
- ((FieldDataVarList)varNode.getUserObject()).dataIdentifier.getName(),
- ((FieldDataVarList)varNode.getUserObject()).dataIdentifier.getVariableType(),
- selectedTime);
- }
-
-}
-
-private void jTree1_TreeExpanded(final javax.swing.event.TreeExpansionEvent treeExpansionEvent) {
- if(fieldDataWindowManager == null){
- return;
- }
- //
- //Determine if we need to get Info
- //
- javax.swing.tree.TreePath expPath = null;
- try{
- expPath = treeExpansionEvent.getPath();
- if(expPath != null){
- DefaultMutableTreeNode mainNode = (javax.swing.tree.DefaultMutableTreeNode)expPath.getLastPathComponent();
+ if (lastPathComponent.getUserObject() instanceof FieldDataMainList) {
+ getJButtonFDDelete().setEnabled(true);
+ getJButtonFDView().setEnabled(fieldDataWindowManager != null);
+ dsViewButton.setEnabled(fieldDataWindowManager != null);
+ getJButtonFindRefModel().setEnabled(true);
+ getJButtonViewAnnot().setEnabled(true);
+ dsAnnotButton.setEnabled(true);
+ } else if (lastPathComponent.getUserObject() instanceof FieldDataVarList) {
+ getJButtonFDCopyRef().setEnabled(true);
+ dsDataSymbolButton.setEnabled(true);
+ getJButtonCreateGeom().setEnabled(true);
+ }
+ }
+ }
+
+ private void fdFromSim(java.awt.event.ActionEvent actionEvent) {
+ try {
+ final RequestManager clientRequestManager = fieldDataWindowManager.getLocalRequestManager();
+
+ final FieldDataWindowManager.OpenModelInfoHolder simInfoHolder = FieldDataWindowManager.selectOpenModelsFromDesktop(this, fieldDataWindowManager.getRequestManager(), true, "Select Simulation for Field Data", true);
+ if (simInfoHolder == null) {
+ PopupGenerator.showErrorDialog(this, "Please open a Bio or Math model containing the spatial (non-compartmental) simulation you wish to use to create a new Field Data");
+ return;
+ }
+ //Check that the sim is in a state that can be copied
+ final SimulationInfo simInfo = simInfoHolder.getSimInfo();
+ if (simInfo == null) {
+ throw new Exception("Selected sim '" + simInfoHolder.getSimName() + "' has no simInfo (save your model and retry).");
+ }
+ SimulationStatus simStatus = clientRequestManager.getServerSimulationStatus(simInfo);
+ if (simStatus != null && (simStatus.isRunning() || simStatus.isStartRequested())) {
+ throw new Exception("Can't copy 'running' simulation data from sim '" + simInfo.getName() + "'");
+ }
+
+ final FieldDataFileOperationSpec fdos = FieldDataFileOperationSpec.createCopySimFieldDataFileOperationSpec(null,
+ (simInfo.getParentSimulationReference() != null ? simInfo.getParentSimulationReference() : simInfo.getSimulationVersion().getVersionKey()),
+ simInfo.getOwner(), simInfoHolder.getJobIndex(), clientRequestManager.getDocumentManager().getUser());
+
+ AsynchClientTask[] addTasks = addNewExternalData(this, this, true);
+ AsynchClientTask[] taskArray = new AsynchClientTask[1 + addTasks.length];
+ System.arraycopy(addTasks, 0, taskArray, 1, addTasks.length); // add to the end
+
+ taskArray[0] = new AsynchClientTask("Create Field Data from Simulation", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
+ public void run(Hashtable hashTable) throws Exception {
+ FieldDataFileOperationResults fdor =
+ clientRequestManager.getDocumentManager().fieldDataFileOperation(
+ FieldDataFileOperationSpec.createInfoFieldDataFileOperationSpec(
+ (simInfo.getParentSimulationReference() != null ?
+ simInfo.getParentSimulationReference() :
+ simInfo.getSimulationVersion().getVersionKey()
+ ),
+ simInfo.getOwner(),
+ simInfoHolder.getJobIndex()));
+ //Create (non-editable) info for display
+ fdos.origin = fdor.origin;
+ fdos.extent = fdor.extent;
+ fdos.isize = fdor.iSize;
+ fdos.times = fdor.times;
+ fdos.varNames = new String[fdor.dataIdentifierArr.length];
+ for (int i = 0; i < fdor.dataIdentifierArr.length; i += 1) {
+ fdos.varNames[i] =
+ (fdor.dataIdentifierArr[i].getVariableType().equals(VariableType.VOLUME) ? "(vol) " : "") +
+ (fdor.dataIdentifierArr[i].getVariableType().equals(VariableType.MEMBRANE) ? "(mbr) " : "") +
+ fdor.dataIdentifierArr[i].getName();
+ }
+ hashTable.put("fdos", fdos);
+ hashTable.put("initFDName", simInfo.getName());
+ //addNewExternalData(clientRequestManager, fdos, simInfoHolder.simInfo.getName(), true);
+ }
+ };
+
+ Hashtable hash = new Hashtable();
+ ClientTaskDispatcher.dispatch(this, hash, taskArray, false);
+
+ } catch (UserCancelException e) {
+ return;
+ } catch (Exception e) {
+ PopupGenerator.showErrorDialog(this, "Error creating Field Data from simulation\n" + e.getMessage(), e);
+ }
+ }
+
+ private void viewFieldData(java.awt.event.ActionEvent actionEvent) {
+ if (fieldDataWindowManager == null) {
+ System.out.println("No FieldDataViewManager available for View action");
+ return;
+ }
+ javax.swing.tree.TreePath selPath = getFieldDataTree().getSelectionPath();
+ if (selPath != null) {
+ javax.swing.tree.DefaultMutableTreeNode lastPathComponent = (javax.swing.tree.DefaultMutableTreeNode) selPath.getLastPathComponent();
+ if (lastPathComponent.getUserObject() instanceof FieldDataMainList) {
+ ExternalDataIdentifier edi = ((FieldDataMainList) lastPathComponent.getUserObject()).externalDataIdentifier;
+ fieldDataWindowManager.viewData(edi);
+ }
+ }
+ }
+
+ String IMAGE_FILE_KEY = "imageFile";
+
+ // Add New Data is called from within this function.
+ public void fdFromFile() {
+ final RequestManager clientRequestManager = fieldDataWindowManager.getLocalRequestManager();
+ AsynchClientTask[] addTasks = addNewExternalData(this, this, false);
+ AsynchClientTask[] taskArray = new AsynchClientTask[2 + addTasks.length];
+ System.arraycopy(addTasks, 0, taskArray, 2, addTasks.length); // add to the end
+
+ taskArray[0] = new AsynchClientTask("select a file", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
+ public void run(Hashtable hashTable) throws Exception {
+ FieldDataFileOperationSpec argfdos = (FieldDataFileOperationSpec) hashTable.get("argfdos");
+ if (argfdos == null && hashTable.get(IMAGE_FILE_KEY) == null) {
+ File imageFile = DatabaseWindowManager.showFileChooserDialog(
+ fieldDataWindowManager.getComponent(), FileFilters.FILE_FILTER_FIELDIMAGES,
+ clientRequestManager.getUserPreferences(), JFileChooser.FILES_AND_DIRECTORIES);
+ hashTable.put(IMAGE_FILE_KEY, imageFile);
+ }
+ }
+ };
+ taskArray[1] = new AsynchClientTask("Generate field data from file", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
+ public void run(Hashtable hashTable) throws Exception {
+ FieldDataFileOperationSpec generatedFieldData ;
+ File imageFile = (File) hashTable.get(IMAGE_FILE_KEY);
+ if (imageFile == null || imageFile.getName().contains(".vfrap")){
+ return;
+ } else {
+ generatedFieldData = FieldDataFileConversion.createFDOSFromImageFile(imageFile, false, null);
+ }
+
+ generatedFieldData.owner = clientRequestManager.getDocumentManager().getUser();
+ generatedFieldData.opType = FieldDataFileOperationSpec.FDOS_ADD;
+ hashTable.put("fdos", generatedFieldData);
+ hashTable.put("initFDName", imageFile.getName());
+ }
+ };
+ Hashtable hash = new Hashtable<>();
+ ClientTaskDispatcher.dispatch(this, hash, taskArray, false, true, null);
+ }
+
+ private void fdDelete(java.awt.event.ActionEvent actionEvent) {
+
+ final RequestManager clientRequestManager = fieldDataWindowManager.getLocalRequestManager();
+
+
+ TreePath selPath = getFieldDataTree().getSelectionPath();
+ final DefaultMutableTreeNode mainNode = (DefaultMutableTreeNode) selPath.getLastPathComponent();
+ final FieldDataMainList fieldDataMainList = (FieldDataMainList) mainNode.getUserObject();
+
+ if (!fieldDataMainList.externalDataIdentifier.getOwner().equals(
+ clientRequestManager.getDocumentManager().getUser())) {
+ DialogUtils.showErrorDialog(this, "Delete failed: User " + clientRequestManager.getDocumentManager().getUser().getName() +
+ "does not own FieldData '" + fieldDataMainList.externalDataIdentifier.getName() + "'");
+ }
+ if (PopupGenerator.showComponentOKCancelDialog(
+ this, new JLabel("Delete " + fieldDataMainList.externalDataIdentifier.getName() + "?"),
+ "Confirm Delete") != JOptionPane.OK_OPTION) {
+ return;
+
+ }
+ AsynchClientTask CheckRemoveFromDBTask = new AsynchClientTask("Check Field Data references in DB", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
+ public void run(Hashtable hash) throws Exception {
+ if (fieldDataWindowManager.findReferencingModels(fieldDataMainList.externalDataIdentifier, false)) {
+ throw new Exception("Cannot delete Field Data '" + fieldDataMainList.externalDataIdentifier.getName() +
+ "' because it is referenced in a Model(s) or Function(s) file.");
+ }
+ }
+ };
+ AsynchClientTask RemoveNodeTreeTask = new AsynchClientTask("Remove FieldData tree node", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
+ public void run(Hashtable hash) throws Exception {
+ ((DefaultTreeModel) getFieldDataTree().getModel()).removeNodeFromParent(mainNode);
+ if (((DefaultMutableTreeNode) getFieldDataTree().getModel().getRoot()).getChildCount() == 0) {
+ updateJTree(clientRequestManager);
+ }
+ }
+ };
+ AsynchClientTask RemoveFromDiskAndDBTask = new AsynchClientTask("Remove Field Data from Disk and DB", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
+ public void run(Hashtable hash) throws Exception {
+ //Remove from Disk
+ FieldDataMainList fieldDataMainList = (FieldDataMainList) mainNode.getUserObject();
+ FieldDataFileOperationSpec fdos = FieldDataFileOperationSpec.createDeleteFieldDataFileOperationSpec(
+ fieldDataMainList.externalDataIdentifier);
+ clientRequestManager.getDocumentManager().fieldDataFileOperation(fdos);
+ }
+ };
+ //
+ //Execute Field Data Info - JTree tasks
+ //
+ AsynchClientTask tasks[] = new AsynchClientTask[]{CheckRemoveFromDBTask, RemoveFromDiskAndDBTask, RemoveNodeTreeTask};
+ Hashtable hash = new Hashtable();
+ ClientTaskDispatcher.dispatch(this, hash, tasks, false);
+
+ }
+
+ private class SelectedTimes {
+ private double[] times;
+ private int selectedIndex;
+
+ public SelectedTimes(double[] times, int selectedIndex) {
+ super();
+ this.times = times;
+ this.selectedIndex = selectedIndex;
+ }
+
+ public double[] getTimes() {
+ return times;
+ }
+
+ public int getSelectedIndex() {
+ return selectedIndex;
+ }
+
+ }
+
+ private SelectedTimes selectTimeFromNode(DefaultMutableTreeNode mainNode) {
+ Enumeration> children = mainNode.children();
+ double[] times = null;
+ while (children.hasMoreElements()) {
+ DefaultMutableTreeNode child = (DefaultMutableTreeNode) children.nextElement();
+ if (child.getUserObject() instanceof FieldDataTimeList) {
+ times = ((FieldDataTimeList) child.getUserObject()).times;
+ break;
+ }
+ }
+
+ if (times != null && times.length > 1) {
+ String[] timesStr = new String[times.length];
+ for (int i = 0; i < times.length; i += 1) {
+ timesStr[i] = times[i] + "";
+ }
+ JPanel jp = new JPanel();
+ BoxLayout bl = new BoxLayout(jp, BoxLayout.X_AXIS);
+ jp.setLayout(bl);
+ JComboBox jcBeg = new JComboBox(Arrays.asList(timesStr).toArray(new Object[0]));
+ jp.add(jcBeg);
+
+ if (PopupGenerator.showComponentOKCancelDialog(this, jp, "Select Field Data timepoint") == JOptionPane.OK_OPTION) {
+ return new SelectedTimes(times, jcBeg.getSelectedIndex());
+ }
+ throw UserCancelException.CANCEL_GENERIC;
+ }
+ return new SelectedTimes(new double[]{0.0}, 0);
+ }
+
+ private void fdCopyRef(java.awt.event.ActionEvent actionEvent) {
+ if (actionEvent.getSource() == getJButtonCreateGeom()) {
+ DocumentWindow.showGeometryCreationWarning(FieldDataGUIPanel.this);
+ return;
+ }
+ TreePath selPath = getFieldDataTree().getSelectionPath();
+ final DefaultMutableTreeNode varNode = (DefaultMutableTreeNode) selPath.getLastPathComponent();
+ final DefaultMutableTreeNode mainNode = (DefaultMutableTreeNode) varNode.getParent().getParent();
+
+ SelectedTimes selectedTimes = null;
+ try {
+ selectedTimes = selectTimeFromNode(mainNode);
+ } catch (UserCancelException e) {
+ return;
+ }
+ double selectedTime = selectedTimes.getTimes()[selectedTimes.getSelectedIndex()];
+
+ if (actionEvent.getSource() == getJButtonFDCopyRef()) {
+ String fieldFunctionReference =
+ SimulationData.createCanonicalFieldFunctionSyntax(
+ ((FieldDataMainList) mainNode.getUserObject()).externalDataIdentifier.getName(),
+ ((FieldDataVarList) varNode.getUserObject()).dataIdentifier.getName(),
+ selectedTime, ((FieldDataVarList) varNode.getUserObject()).dataIdentifier.getVariableType().getTypeName());
+
+ VCellTransferable.sendToClipboard(fieldFunctionReference);
+ } else if (actionEvent.getSource() == dsDataSymbolButton && dataSymbolCallBack != null) {
+ dataSymbolCallBack.createDataSymbol(
+ ((FieldDataMainList) mainNode.getUserObject()).externalDataIdentifier,
+ ((FieldDataVarList) varNode.getUserObject()).dataIdentifier.getName(),
+ ((FieldDataVarList) varNode.getUserObject()).dataIdentifier.getVariableType(),
+ selectedTime);
+ }
+
+ }
+
+ private void treeExpanded(final javax.swing.event.TreeExpansionEvent treeExpansionEvent) {
+ if (fieldDataWindowManager == null) {
+ return;
+ }
+ //
+ //Determine if we need to get Info
+ //
+ javax.swing.tree.TreePath expPath = null;
+ try {
+ expPath = treeExpansionEvent.getPath();
+ if (expPath != null) {
+ DefaultMutableTreeNode mainNode = (javax.swing.tree.DefaultMutableTreeNode) expPath.getLastPathComponent();
// if(mainNode.equals(getJTree1().getModel().getRoot())){
// System.out.println("Root Node expanded");
// }
- if(mainNode.getUserObject() instanceof FieldDataMainList){
- if(mainNode.getChildCount() > 1){//Already populated
- return;
- }
- refreshMainNode(mainNode);
- }else{
- return;
- }
- }else{
- return;
- }
- }catch(Exception e){
- PopupGenerator.showErrorDialog(this, "Error getting Field Data Info\n"+e.getMessage(), e);
- return;
- }
-
-}
-
-public void refreshExternalDataIdentifierNode(ExternalDataIdentifier refreshEDI){
- DefaultMutableTreeNode root = (DefaultMutableTreeNode)getJTree1().getModel().getRoot();
- if(root != null){
- int childCount = root.getChildCount();
- for(int i=0;i hash) throws Exception {
- FieldDataMainList fieldDataMainList = (FieldDataMainList)mainNode.getUserObject();
- final FieldDataFileOperationResults fieldDataFileOperationResults =
- clientRequestManager.getDocumentManager().
- fieldDataFileOperation(
- FieldDataFileOperationSpec.createInfoFieldDataFileOperationSpec(
- fieldDataMainList.externalDataIdentifier.getKey(),
- clientRequestManager.getDocumentManager().getUser(),
- FieldDataFileOperationSpec.JOBINDEX_DEFAULT)
- );
- hash.put(FDOR_INFO,fieldDataFileOperationResults);
- }
- };
-
- AsynchClientTask FieldDataInfoTreeUpdate = new AsynchClientTask("Update Field Data GUI", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
- public void run(Hashtable hash){
- try{
- FieldDataFileOperationResults fieldDataFileOperationResults =
- (FieldDataFileOperationResults)hash.get(FDOR_INFO);
- Arrays.sort(fieldDataFileOperationResults.dataIdentifierArr,
- new Comparator(){
- public int compare(DataIdentifier o1, DataIdentifier o2) {
- return o1.getName().compareToIgnoreCase(o2.getName());
- }
- }
- );
- FieldDataMainList fieldDataMainList = (FieldDataMainList)mainNode.getUserObject();
- final DefaultMutableTreeNode isizeNode =
- new DefaultMutableTreeNode(new FieldDataISizeList(fieldDataFileOperationResults.iSize));
- final DefaultMutableTreeNode originNode =
- new DefaultMutableTreeNode(new FieldDataOriginList(fieldDataFileOperationResults.origin));
- final DefaultMutableTreeNode extentNode =
- new DefaultMutableTreeNode(new FieldDataExtentList(fieldDataFileOperationResults.extent));
- final DefaultMutableTreeNode timeNode =
- new DefaultMutableTreeNode(new FieldDataTimeList(fieldDataFileOperationResults.times));
- final DefaultMutableTreeNode idNode =
- new DefaultMutableTreeNode(new FieldDataIDList(fieldDataMainList.externalDataIdentifier.getKey()));
- ((DefaultTreeModel)getJTree1().getModel()).insertNodeInto(isizeNode,mainNode,0);
- ((DefaultTreeModel)getJTree1().getModel()).insertNodeInto(originNode,mainNode,1);
- ((DefaultTreeModel)getJTree1().getModel()).insertNodeInto(extentNode,mainNode,2);
- ((DefaultTreeModel)getJTree1().getModel()).insertNodeInto(timeNode,mainNode,3);
- ((DefaultTreeModel)getJTree1().getModel()).insertNodeInto(idNode,mainNode,4);
- for(int i=0;i hash = new Hashtable();
- ClientTaskDispatcher.dispatch(this,hash,tasks,false);
-}
-
-/**
- * main entrypoint - starts the part when it is run as an application
- * @param args java.lang.String[]
- */
-public static void main(java.lang.String[] args) {
- try {
- javax.swing.JFrame frame = new javax.swing.JFrame();
- FieldDataGUIPanel aFieldDataGUIPanel;
- aFieldDataGUIPanel = new FieldDataGUIPanel();
- frame.setContentPane(aFieldDataGUIPanel);
- frame.setSize(aFieldDataGUIPanel.getSize());
- frame.addWindowListener(new java.awt.event.WindowAdapter() {
- public void windowClosing(java.awt.event.WindowEvent e) {
- System.exit(0);
- };
- });
- frame.setVisible(true);
- java.awt.Insets insets = frame.getInsets();
- frame.setSize(frame.getWidth() + insets.left + insets.right, frame.getHeight() + insets.top + insets.bottom);
- frame.setVisible(true);
- } catch (Throwable exception) {
- System.err.println("Exception occurred in main() of javax.swing.JPanel");
- exception.printStackTrace(System.out);
- }
-}
-
-public void setFieldDataWindowManager(FieldDataWindowManager fdwm){
- fieldDataWindowManager = fdwm;
-}
-
-public void checkFieldDataName(String fieldDataName) throws Exception{
- if(fieldDataName == null || fieldDataName.length() == 0 ||
- !fieldDataName.equals(TokenMangler.fixTokenStrict(fieldDataName))){
- throw new Exception("Field Data names can contain only letters,digits and underscores");
- }
- //Check to see if this name is already used
- DefaultMutableTreeNode rootNode = (DefaultMutableTreeNode)this.getJTree1().getModel().getRoot();
- if(!rootNode.getUserObject().toString().startsWith(FIELD_DATA_INFO)) {
- updateJTree(fieldDataWindowManager.getLocalRequestManager());
- rootNode = (DefaultMutableTreeNode)this.getJTree1().getModel().getRoot();
- }
- for(int i=0;i hashTable) throws Exception {
- //Check if this is ImageJ op, if so, this task unnecessary
- if(hashTable.get(USER_DEFINED_FDOS) != null && hashTable.get(FIELD_NAME) != null) {
- return;
- }
- //Allow user to review/change info about fielddata
- FieldDataFileOperationSpec fdos = (FieldDataFileOperationSpec)hashTable.get("fdos");
- String initialExtDataName = (String)hashTable.get("initFDName");
-
- fdos.specEDI = null;
-
- FieldDataInfoPanel fdip = new FieldDataInfoPanel();
- fdip.setSimulationMode(isFromSimulation);
- fdip.initISize(fdos.isize);
- fdip.initIOrigin(fdos.origin);
- fdip.initIExtent(fdos.extent);
- fdip.initTimes(fdos.times);
- fdip.initNames(TokenMangler.fixTokenStrict(initialExtDataName), fdos.varNames);
- fdip.setAnnotation(fdos.annotation);
-
- FieldDataFileOperationSpec userDefinedFDOS = new FieldDataFileOperationSpec();
- while(true) {
- int choice = PopupGenerator.showComponentOKCancelDialog(requester, fdip, "Create new field data");
- if (choice == JOptionPane.OK_OPTION){
- //Check values
- try{
- userDefinedFDOS.extent = fdip.getExtent();
- }catch(Exception e){
- PopupGenerator.showErrorDialog(requester, "Problem with Extent values. Please re-enter.\n"+e.getMessage()+"\nTry Again.", e);
- continue;
- }
- try{
- userDefinedFDOS.origin = fdip.getOrigin();
- }catch(Exception e){
- PopupGenerator.showErrorDialog(requester, "Problem with Origin values. Please re-enter.\n"+e.getMessage()+"\nTry Again.", e);
- continue;
- }
- try{
- userDefinedFDOS.varNames = fdip.getVariableNames();
- }catch(Exception e){
- PopupGenerator.showErrorDialog(requester, "Problem with Variable names. Please re-enter.\n"+e.getMessage()+"\nTry Again.", e);
- continue;
- }
- userDefinedFDOS.annotation = fdip.getAnnotation();
- userDefinedFDOS.times = fdip.getTimes();
- try{
- fieldDataGUIPanel.checkFieldDataName(fdip.getFieldName());
- }catch(Exception e){
- PopupGenerator.showErrorDialog(requester, "Error saving Field Data Name to Database. Try again.\n"+e.getMessage(), e);
- continue;
- }
- hashTable.put(USER_DEFINED_FDOS, userDefinedFDOS);
- hashTable.put(FIELD_NAME, fdip.getFieldName());
- break;
- } else {
- throw UserCancelException.CANCEL_GENERIC;
- }
- }
- }
- };
-
- AsynchClientTask task2 = new AsynchClientTask("saving field data", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
- @Override
- public void run(Hashtable hashTable) throws Exception {
- //Add to Server Disk
- //save Database
- FieldDataFileOperationSpec tempFDOS = (FieldDataFileOperationSpec)hashTable.get(USER_DEFINED_FDOS);
- String fieldName = (String)hashTable.get(FIELD_NAME);
-
- FieldDataFileOperationSpec fdos = (FieldDataFileOperationSpec)hashTable.get("fdos");
- DocumentManager documentManager = clientRequestManager.getDocumentManager();
- FieldDataDBOperationSpec newExtDataIDSpec = FieldDataDBOperationSpec.createSaveNewExtDataIDSpec(documentManager.getUser(),fieldName,tempFDOS.annotation);
- tempFDOS.specEDI = documentManager.fieldDataDBOperation(newExtDataIDSpec).extDataID;
- fdos.specEDI = tempFDOS.specEDI;
- fdos.annotation = tempFDOS.annotation;
-
- try{
- if(!isFromSimulation){
- fdos.extent = tempFDOS.extent;
- fdos.origin = tempFDOS.origin;
- fdos.varNames = tempFDOS.varNames;
- fdos.times = tempFDOS.times;
- //
- //Subvolumes and Regions NOT implemented now
- //
- fdos.cartesianMesh = CartesianMesh.createSimpleCartesianMesh(fdos.origin, fdos.extent, fdos.isize,
- new RegionImage(new VCImageUncompressed(null, new byte[fdos.isize.getXYZ()],//empty regions
- fdos.extent, fdos.isize.getX(),fdos.isize.getY(),fdos.isize.getZ()),
- 0,null,null,RegionImage.NO_SMOOTHING));
- }
-
- //Add to Server Disk
- documentManager.fieldDataFileOperation(fdos);
- } catch (Exception e) {
- try{
- //try to cleanup new ExtDataID
- documentManager.fieldDataDBOperation(FieldDataDBOperationSpec.createDeleteExtDataIDSpec(fdos.specEDI));
- }catch(Exception e2){
- //ignore
- }
- fdos.specEDI = null;
- throw e;
- }
- }
- };
-
- AsynchClientTask task3 = new AsynchClientTask("refreshing field data", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
- @Override
- public void run(Hashtable hashTable) throws Exception {
- FieldDataFileOperationSpec fdos = (FieldDataFileOperationSpec)hashTable.get("fdos");
-
- DefaultMutableTreeNode root = ((DefaultMutableTreeNode)fieldDataGUIPanel.getJTree1().getModel().getRoot());
- if (root.getChildCount() == 0) {
- fieldDataGUIPanel.updateJTree(clientRequestManager);
- } else {
- int alphabeticalIndex = -1;
- for(int i=0;i 0){
- alphabeticalIndex = i;
- break;
- }
- }
- if (alphabeticalIndex == -1){
- alphabeticalIndex = root.getChildCount();
- }
- DefaultMutableTreeNode mainNode = new DefaultMutableTreeNode(new FieldDataMainList(fdos.specEDI,fdos.annotation));
- mainNode.add(new DefaultMutableTreeNode(new FieldDataVarMainList()));
- ((DefaultTreeModel)fieldDataGUIPanel.getJTree1().getModel()).insertNodeInto(mainNode, root, alphabeticalIndex);
- }
- }
- };
-
- return new AsynchClientTask[] { task1, task2, task3 };
-}
-
-/**
- * This method initializes jButtonFindRefModel
- *
- * @return javax.swing.JButton
- */
-private JButton getJButtonFindRefModel() {
- if (jButtonFindRefModel == null) {
- jButtonFindRefModel = new JButton();
- jButtonFindRefModel.setText("Model Refs...");
- jButtonFindRefModel.setEnabled(false);
- jButtonFindRefModel.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent e) {
- TreePath selPath = getJTree1().getSelectionPath();
- DefaultMutableTreeNode mainNode = (DefaultMutableTreeNode)selPath.getLastPathComponent();
- if(mainNode.getUserObject() instanceof FieldDataMainList){
- final ExternalDataIdentifier extDataID = ((FieldDataMainList)mainNode.getUserObject()).externalDataIdentifier;
-
- AsynchClientTask task1 = new AsynchClientTask("find model references", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
-
- @Override
- public void run(Hashtable hashTable) throws Exception {
- fieldDataWindowManager.findReferencingModels(extDataID,true);
- }
- };
- ClientTaskDispatcher.dispatch(FieldDataGUIPanel.this, new Hashtable(), new AsynchClientTask[] { task1 }, false);
- }
- }
- });
- }
- return jButtonFindRefModel;
-}
-
-/**
- * This method initializes jPanel
- *
- * @return javax.swing.JPanel
- */
-private JPanel getJPanel() {
- if (jPanel == null) {
- GridBagConstraints gridBagConstraints = new GridBagConstraints();
- gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
- gridBagConstraints.gridx = 1;
- gridBagConstraints.gridy = 0;
- gridBagConstraints.weightx = 1.0;
- gridBagConstraints.insets = new Insets(4, 4, 4, 4);
- GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
- gridBagConstraints2.gridx = 0;
- gridBagConstraints2.insets = new Insets(4, 4, 4, 4);
- gridBagConstraints2.gridy = 0;
- jPanel = new JPanel();
- jPanel.setLayout(new GridBagLayout());
- jPanel.add(getJButtonCreateGeom(), gridBagConstraints2);
- jPanel.add(getJButtonFindRefModel(), gridBagConstraints);
- }
- return jPanel;
-}
-
-/**
- * This method initializes jButtonCopyInfo
- *
- * @return javax.swing.JButton
- */
-private JButton getJButtonCreateGeom() {
- if (jButtonCreateGeom == null) {
- jButtonCreateGeom = new JButton();
- jButtonCreateGeom.setEnabled(false);
- jButtonCreateGeom.setText("Create Geom");
- jButtonCreateGeom.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent e) {
- try {
- RequestManager clientRequestManager = fieldDataWindowManager.getLocalRequestManager();
- javax.swing.tree.TreePath selPath = getJTree1().getSelectionPath();
- javax.swing.tree.DefaultMutableTreeNode lastPathComponent = (javax.swing.tree.DefaultMutableTreeNode)selPath.getLastPathComponent();
- if(lastPathComponent.getUserObject() instanceof FieldDataVarList){
- DataIdentifier dataIdentifier =
- ((FieldDataVarList)lastPathComponent.getUserObject()).dataIdentifier;
-
- TreePath ppPath = selPath.getParentPath().getParentPath();
- javax.swing.tree.DefaultMutableTreeNode ppLastPathComp = (javax.swing.tree.DefaultMutableTreeNode)ppPath.getLastPathComponent();
- if(ppLastPathComp.getUserObject() instanceof FieldDataMainList){
- ExternalDataIdentifier extDataID =
- ((FieldDataMainList)ppLastPathComp.getUserObject()).externalDataIdentifier;
-
- final OpenModelInfoHolder openModelInfoHolder =
- FieldDataWindowManager.selectOpenModelsFromDesktop(FieldDataGUIPanel.this,fieldDataWindowManager.getRequestManager(),false,"Select BioModel or MathModel to receive new geometry",false);
- if(openModelInfoHolder == null){
- DialogUtils.showErrorDialog(FieldDataGUIPanel.this,
- "Before proceeding, please open a Biomodel application or Mathmodel you wish to apply a new Field Data Geometry to");
- return;
- }
-
- AsynchClientTask applyGeomTask = new AsynchClientTask("apply geometry",AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
- @Override
- public void run(Hashtable hashTable) throws Exception {
- Geometry newGeom = (Geometry)hashTable.get("doc");
- final String OK_OPTION = "Ok";
- if(openModelInfoHolder instanceof FDSimMathModelInfo){
- Version version = ((FDSimMathModelInfo)openModelInfoHolder).getMathModelVersion();
- String modelName = (version==null?"NoName":version.getName());
- if(newGeom.getName() == null){
- newGeom.setName(modelName+"_"+BeanUtils.generateDateTimeString());
- }
- String message = "Confirm Setting new FieldData derived geometry on MathModel '"+modelName+"'";
- if(DialogUtils.showWarningDialog(FieldDataGUIPanel.this, message, new String[] {OK_OPTION,"Cancel"}, OK_OPTION).equals(OK_OPTION)){
- ((FDSimMathModelInfo)openModelInfoHolder).getMathDescription().setGeometry(newGeom);
- }
- }else if(openModelInfoHolder instanceof FDSimBioModelInfo){
- Version version = ((FDSimBioModelInfo)openModelInfoHolder).getBioModelVersion();
- String modelName = (version==null?"NoName":version.getName());
- String simContextName = ((FDSimBioModelInfo)openModelInfoHolder).getSimulationContext().getName();
- if(newGeom.getName() == null){
- newGeom.setName(modelName+"_"+simContextName+"_"+BeanUtils.generateDateTimeString());
- }
- String message = "Confirm Setting new FieldData derived geometry on BioModel '"+modelName+"' , Application '"+simContextName+"'";
- if(DialogUtils.showWarningDialog(FieldDataGUIPanel.this, message, new String[] {OK_OPTION,"Cancel"}, OK_OPTION).equals(OK_OPTION)){
- ((FDSimBioModelInfo)openModelInfoHolder).getSimulationContext().setGeometry(newGeom);
- }
- }
- }
- };
- VCDocument.GeomFromFieldDataCreationInfo geomFromFieldDataCreationInfo =
- new VCDocument.GeomFromFieldDataCreationInfo(
- extDataID,dataIdentifier.getName());
- AsynchClientTask[] createGeomTask = clientRequestManager.createNewGeometryTasks(fieldDataWindowManager,
- geomFromFieldDataCreationInfo,
- new AsynchClientTask[] {applyGeomTask},
- "Apply Geometry");
-
- Hashtable hash = new Hashtable();
- hash.put(ClientRequestManager.GUI_PARENT, fieldDataWindowManager.getComponent());
- ClientTaskDispatcher.dispatch(FieldDataGUIPanel.this, hash,
- createGeomTask, false,false,null,true);
-
- }
-
- }
- }catch (UserCancelException e1) {
- //ignore
- }catch (Exception e1) {
- e1.printStackTrace();
- DialogUtils.showErrorDialog(FieldDataGUIPanel.this, e1.getMessage());
- }
-
-// jButtonFDCopyRef_ActionPerformed(e);
-
-
-
- //fieldDataWindowManager.newDocument(VCDocument.GEOMETRY_DOC, option);
-// copyMethod(COPY_CRNL);
-//// javax.swing.tree.TreePath selPath = getJTree1().getSelectionPath();
-//// if(selPath != null){
-//// javax.swing.tree.DefaultMutableTreeNode lastPathComponent = (javax.swing.tree.DefaultMutableTreeNode)selPath.getLastPathComponent();
-//// copyMethod(lastPathComponent, copyMode);
-//// }
-//// String copyString = "";
-//// javax.swing.tree.DefaultMutableTreeNode lastPathComponent = (javax.swing.tree.DefaultMutableTreeNode)selPath.getLastPathComponent();
-//// if(lastPathComponent.equals(getJTree1().getModel().getRoot())){
-//// int childCount = lastPathComponent.getChildCount();
-//// for(int i=0;i 0 ){
-//// VCellTransferable.sendToClipboard(copyString);
-//// }
-//// }
- }
- });
- }
- return jButtonCreateGeom;
-}
-
-/**
- * This method initializes jPanel1
- *
- * @return javax.swing.JPanel
- */
-private JPanel getJPanel12() {
- if (jPanel1 == null) {
- GridBagConstraints gridBagConstraints3 = new GridBagConstraints();
- gridBagConstraints3.gridx = 1;
- gridBagConstraints3.insets = new Insets(4, 4, 4, 4);
- gridBagConstraints3.fill = GridBagConstraints.HORIZONTAL;
- gridBagConstraints3.weightx = 1.0;
- gridBagConstraints3.gridy = 0;
- GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
- gridBagConstraints1.fill = GridBagConstraints.NONE;
- gridBagConstraints1.gridx = 0;
- gridBagConstraints1.gridy = 0;
- gridBagConstraints1.insets = new Insets(4, 4, 4, 4);
- jPanel1 = new JPanel();
- jPanel1.setLayout(new GridBagLayout());
- jPanel1.add(getJButtonFDCopyRef(), gridBagConstraints1);
- jPanel1.add(getJButtonViewAnnot(), gridBagConstraints3);
- }
- return jPanel1;
-}
-
-/**
- * This method initializes jButtonViewAnnot
- *
- * @return javax.swing.JButton
- */
-ActionListener viewAnnotAction = new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent e) {
- javax.swing.tree.TreePath selPath = getJTree1().getSelectionPath();
- if(selPath != null){
- javax.swing.tree.DefaultMutableTreeNode lastPathComponent =
- (javax.swing.tree.DefaultMutableTreeNode)selPath.getLastPathComponent();
- if(lastPathComponent.getUserObject() instanceof FieldDataMainList){
- PopupGenerator.showInfoDialog(FieldDataGUIPanel.this,
- ((FieldDataMainList)(lastPathComponent.getUserObject())).extDataAnnot);
- }
- }
- }
-};
-private JButton getJButtonViewAnnot() {
- if (jButtonViewAnnot == null) {
- jButtonViewAnnot = new JButton();
- jButtonViewAnnot.setText("View Annot...");
- jButtonViewAnnot.setEnabled(false);
- jButtonViewAnnot.addActionListener(viewAnnotAction);
- }
- return jButtonViewAnnot;
-}
+ if (mainNode.getUserObject() instanceof FieldDataMainList) {
+ if (mainNode.getChildCount() > 1) {//Already populated
+ return;
+ }
+ refreshMainNode(mainNode);
+ } else {
+ return;
+ }
+ } else {
+ return;
+ }
+ } catch (Exception e) {
+ PopupGenerator.showErrorDialog(this, "Error getting Field Data Info\n" + e.getMessage(), e);
+ return;
+ }
+
+ }
+
+ public void refreshExternalDataIdentifierNode(ExternalDataIdentifier refreshEDI) {
+ DefaultMutableTreeNode root = (DefaultMutableTreeNode) getFieldDataTree().getModel().getRoot();
+ if (root != null) {
+ int childCount = root.getChildCount();
+ for (int i = 0; i < childCount; i += 1) {
+ DefaultMutableTreeNode mainNode = (DefaultMutableTreeNode) root.getChildAt(i);
+ FieldDataMainList fieldDataMainList = (FieldDataMainList) mainNode.getUserObject();
+ if (fieldDataMainList.externalDataIdentifier.equals(refreshEDI)) {
+ refreshMainNode(mainNode);
+ return;
+ }
+ }
+ }
+ }
+
+ private void refreshMainNode(final DefaultMutableTreeNode mainNode) {
+ final boolean isMainExpanded = getFieldDataTree().isExpanded(new TreePath(mainNode.getPath()));
+ final boolean isVarExpanded = getFieldDataTree().isExpanded(
+ new TreePath(((DefaultMutableTreeNode) mainNode.getLastChild()).getPath()));
+ //Remove all children from Main node in a Tree safe way
+ DefaultMutableTreeNode root = (DefaultMutableTreeNode) getFieldDataTree().getModel().getRoot();
+ int mainNodeIndex =
+ ((DefaultTreeModel) getFieldDataTree().getModel()).getIndexOfChild(root, mainNode);
+ ((DefaultTreeModel) getFieldDataTree().getModel()).removeNodeFromParent(mainNode);
+ mainNode.removeAllChildren();
+ final DefaultMutableTreeNode varNode = new DefaultMutableTreeNode(new FieldDataVarMainList());
+ mainNode.add(varNode);
+ ((DefaultTreeModel) getFieldDataTree().getModel()).insertNodeInto(mainNode, root, mainNodeIndex);
+ //
+ //Create thread-safe tasks to get Field Data Info and update JTree
+ //
+ final String FDOR_INFO = "FDOR_INFO";
+ final RequestManager clientRequestManager = fieldDataWindowManager.getLocalRequestManager();
+
+ AsynchClientTask FieldDataInfoTask = new AsynchClientTask("Gather Field Data info", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
+ public void run(Hashtable hash) throws Exception {
+ FieldDataMainList fieldDataMainList = (FieldDataMainList) mainNode.getUserObject();
+ final FieldDataFileOperationResults fieldDataFileOperationResults =
+ clientRequestManager.getDocumentManager().
+ fieldDataFileOperation(
+ FieldDataFileOperationSpec.createInfoFieldDataFileOperationSpec(
+ fieldDataMainList.externalDataIdentifier.getKey(),
+ clientRequestManager.getDocumentManager().getUser(),
+ FieldDataFileOperationSpec.JOBINDEX_DEFAULT)
+ );
+ hash.put(FDOR_INFO, fieldDataFileOperationResults);
+ }
+ };
+
+ AsynchClientTask FieldDataInfoTreeUpdate = new AsynchClientTask("Update Field Data GUI", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
+ public void run(Hashtable hash) {
+ try {
+ FieldDataFileOperationResults fieldDataFileOperationResults =
+ (FieldDataFileOperationResults) hash.get(FDOR_INFO);
+ Arrays.sort(fieldDataFileOperationResults.dataIdentifierArr,
+ new Comparator() {
+ public int compare(DataIdentifier o1, DataIdentifier o2) {
+ return o1.getName().compareToIgnoreCase(o2.getName());
+ }
+ }
+ );
+ FieldDataMainList fieldDataMainList = (FieldDataMainList) mainNode.getUserObject();
+ final DefaultMutableTreeNode isizeNode =
+ new DefaultMutableTreeNode(new FieldDataISizeList(fieldDataFileOperationResults.iSize));
+ final DefaultMutableTreeNode originNode =
+ new DefaultMutableTreeNode(new FieldDataOriginList(fieldDataFileOperationResults.origin));
+ final DefaultMutableTreeNode extentNode =
+ new DefaultMutableTreeNode(new FieldDataExtentList(fieldDataFileOperationResults.extent));
+ final DefaultMutableTreeNode timeNode =
+ new DefaultMutableTreeNode(new FieldDataTimeList(fieldDataFileOperationResults.times));
+ final DefaultMutableTreeNode idNode =
+ new DefaultMutableTreeNode(new FieldDataIDList(fieldDataMainList.externalDataIdentifier.getKey()));
+ ((DefaultTreeModel) getFieldDataTree().getModel()).insertNodeInto(isizeNode, mainNode, 0);
+ ((DefaultTreeModel) getFieldDataTree().getModel()).insertNodeInto(originNode, mainNode, 1);
+ ((DefaultTreeModel) getFieldDataTree().getModel()).insertNodeInto(extentNode, mainNode, 2);
+ ((DefaultTreeModel) getFieldDataTree().getModel()).insertNodeInto(timeNode, mainNode, 3);
+ ((DefaultTreeModel) getFieldDataTree().getModel()).insertNodeInto(idNode, mainNode, 4);
+ for (int i = 0; i < fieldDataFileOperationResults.dataIdentifierArr.length; i += 1) {
+ ((DefaultTreeModel) getFieldDataTree().getModel()).insertNodeInto(
+ new DefaultMutableTreeNode(
+ new FieldDataVarList(fieldDataFileOperationResults.dataIdentifierArr[i])),
+ varNode, varNode.getChildCount());
+ }
+ if (isMainExpanded) {
+ getFieldDataTree().expandPath(new TreePath(mainNode.getPath()));
+ }
+ if (isVarExpanded) {
+ getFieldDataTree().expandPath(new TreePath(varNode.getPath()));
+ }
+ } catch (Throwable e) {
+ hash.put(ClientTaskDispatcher.TASK_ABORTED_BY_ERROR, e);
+ }
+ }
+ };
+
+ //
+ //Execute Field Data Info - JTree tasks
+ //
+ AsynchClientTask tasks[] = new AsynchClientTask[]{FieldDataInfoTask, FieldDataInfoTreeUpdate};
+ Hashtable hash = new Hashtable();
+ ClientTaskDispatcher.dispatch(this, hash, tasks, false);
+ }
+
+ /**
+ * main entrypoint - starts the part when it is run as an application
+ *
+ * @param args java.lang.String[]
+ */
+ public static void main(java.lang.String[] args) {
+ try {
+ javax.swing.JFrame frame = new javax.swing.JFrame();
+ FieldDataGUIPanel aFieldDataGUIPanel;
+ aFieldDataGUIPanel = new FieldDataGUIPanel();
+ frame.setContentPane(aFieldDataGUIPanel);
+ frame.setSize(aFieldDataGUIPanel.getSize());
+ frame.addWindowListener(new java.awt.event.WindowAdapter() {
+ public void windowClosing(java.awt.event.WindowEvent e) {
+ System.exit(0);
+ }
+
+ ;
+ });
+ frame.setVisible(true);
+ java.awt.Insets insets = frame.getInsets();
+ frame.setSize(frame.getWidth() + insets.left + insets.right, frame.getHeight() + insets.top + insets.bottom);
+ frame.setVisible(true);
+ } catch (Throwable exception) {
+ System.err.println("Exception occurred in main() of javax.swing.JPanel");
+ exception.printStackTrace(System.out);
+ }
+ }
+
+ public void setFieldDataWindowManager(FieldDataWindowManager fdwm) {
+ fieldDataWindowManager = fdwm;
+ }
+
+ public void checkFieldDataName(String fieldDataName) throws Exception {
+ if (fieldDataName == null || fieldDataName.length() == 0 ||
+ !fieldDataName.equals(TokenMangler.fixTokenStrict(fieldDataName))) {
+ throw new Exception("Field Data names can contain only letters,digits and underscores");
+ }
+ //Check to see if this name is already used
+ DefaultMutableTreeNode rootNode = (DefaultMutableTreeNode) this.getFieldDataTree().getModel().getRoot();
+ if (!rootNode.getUserObject().toString().startsWith(FIELD_DATA_INFO)) {
+ updateJTree(fieldDataWindowManager.getLocalRequestManager());
+ rootNode = (DefaultMutableTreeNode) this.getFieldDataTree().getModel().getRoot();
+ }
+ for (int i = 0; i < rootNode.getChildCount(); i += 1) {
+ ExternalDataIdentifier extDataID =
+ ((FieldDataMainList) ((DefaultMutableTreeNode) rootNode.getChildAt(i)).getUserObject()).externalDataIdentifier;
+ if (fieldDataName.equals(extDataID.getName())) {
+ throw new Exception("New Field Data name " + fieldDataName + " already used.");
+ }
+ }
+ }
+
+ // creation and saving of file is separate act from saving file info into DB
+
+ public static AsynchClientTask[] addNewExternalData(final Component requester, final FieldDataGUIPanel fieldDataGUIPanel, final boolean isFromSimulation) {
+
+ final RequestManager clientRequestManager = fieldDataGUIPanel.fieldDataWindowManager.getLocalRequestManager();
+
+ AsynchClientTask task1 = new AsynchClientTask("review field data", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
+
+ @Override
+ public void run(Hashtable hashTable) throws Exception {
+ //Allow user to review/change info about fielddata
+ FieldDataFileOperationSpec generatedFieldDataOpSpec = (FieldDataFileOperationSpec) hashTable.get("fdos");
+ String initialExtDataName = (String) hashTable.get("initFDName");
+
+ generatedFieldDataOpSpec.specEDI = null;
+
+ FieldDataInfoPanel fieldDataInfoPanel = new FieldDataInfoPanel();
+ fieldDataInfoPanel.setSimulationMode(isFromSimulation);
+ fieldDataInfoPanel.initISize(generatedFieldDataOpSpec.isize);
+ fieldDataInfoPanel.initIOrigin(generatedFieldDataOpSpec.origin);
+ fieldDataInfoPanel.initIExtent(generatedFieldDataOpSpec.extent);
+ fieldDataInfoPanel.initTimes(generatedFieldDataOpSpec.times);
+ fieldDataInfoPanel.initNames(TokenMangler.fixTokenStrict(initialExtDataName), generatedFieldDataOpSpec.varNames);
+ fieldDataInfoPanel.setAnnotation(generatedFieldDataOpSpec.annotation);
+
+ FieldDataFileOperationSpec userDefinedFDOS = new FieldDataFileOperationSpec();
+ while (true) {
+ int choice = PopupGenerator.showComponentOKCancelDialog(requester, fieldDataInfoPanel, "Create new field data");
+ if (choice == JOptionPane.OK_OPTION) {
+ //Check values
+ try {
+ userDefinedFDOS.extent = fieldDataInfoPanel.getExtent();
+ } catch (Exception e) {
+ PopupGenerator.showErrorDialog(requester, "Problem with Extent values. Please re-enter.\n" + e.getMessage() + "\nTry Again.", e);
+ continue;
+ }
+ try {
+ userDefinedFDOS.origin = fieldDataInfoPanel.getOrigin();
+ } catch (Exception e) {
+ PopupGenerator.showErrorDialog(requester, "Problem with Origin values. Please re-enter.\n" + e.getMessage() + "\nTry Again.", e);
+ continue;
+ }
+ try {
+ userDefinedFDOS.varNames = fieldDataInfoPanel.getVariableNames();
+ } catch (Exception e) {
+ PopupGenerator.showErrorDialog(requester, "Problem with Variable names. Please re-enter.\n" + e.getMessage() + "\nTry Again.", e);
+ continue;
+ }
+ userDefinedFDOS.annotation = fieldDataInfoPanel.getAnnotation();
+ userDefinedFDOS.times = fieldDataInfoPanel.getTimes();
+ try {
+ fieldDataGUIPanel.checkFieldDataName(fieldDataInfoPanel.getFieldName());
+ } catch (Exception e) {
+ PopupGenerator.showErrorDialog(requester, "Error saving Field Data Name to Database. Try again.\n" + e.getMessage(), e);
+ continue;
+ }
+ if (!isFromSimulation){
+ generatedFieldDataOpSpec.extent = userDefinedFDOS.extent;
+ generatedFieldDataOpSpec.origin = userDefinedFDOS.origin;
+ generatedFieldDataOpSpec.varNames = userDefinedFDOS.varNames;
+ generatedFieldDataOpSpec.times = userDefinedFDOS.times;
+ }
+ generatedFieldDataOpSpec.annotation = userDefinedFDOS.annotation;
+ hashTable.put(USER_DEFINED_FDOS, userDefinedFDOS);
+ hashTable.put(FIELD_NAME, fieldDataInfoPanel.getFieldName());
+ break;
+ } else {
+ throw UserCancelException.CANCEL_GENERIC;
+ }
+ }
+ }
+ };
+
+ AsynchClientTask task2 = new AsynchClientTask("saving field data", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
+ @Override
+ public void run(Hashtable hashTable) throws Exception {
+ //Add to Server Disk
+ //save Database
+ String fieldName = (String) hashTable.get(FIELD_NAME);
+ FieldDataFileOperationSpec generatedFieldDataOpSpec
+ = (FieldDataFileOperationSpec) hashTable.get("fdos");
+ DocumentManager documentManager = clientRequestManager.getDocumentManager();
+ generatedFieldDataOpSpec.fieldDataName = fieldName;
+ try {
+ //Add to Server Disk
+ FieldDataFileOperationResults results = documentManager.fieldDataFileOperation(generatedFieldDataOpSpec);
+ generatedFieldDataOpSpec.specEDI = results.externalDataIdentifier;
+ } catch (Exception e) {
+ generatedFieldDataOpSpec.specEDI = null;
+ throw e;
+ }
+ }
+ };
+
+ AsynchClientTask task3 = new AsynchClientTask("refreshing field data", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
+ @Override
+ public void run(Hashtable hashTable) throws Exception {
+ FieldDataFileOperationSpec fdos = (FieldDataFileOperationSpec) hashTable.get("fdos");
+
+ DefaultMutableTreeNode root = ((DefaultMutableTreeNode) fieldDataGUIPanel.getFieldDataTree().getModel().getRoot());
+ if (root.getChildCount() == 0) {
+ fieldDataGUIPanel.updateJTree(clientRequestManager);
+ } else {
+ int alphabeticalIndex = -1;
+ for (int i = 0; i < root.getChildCount(); i += 1) {
+ if ((((FieldDataMainList) ((DefaultMutableTreeNode) root.getChildAt(i)).getUserObject())).externalDataIdentifier.getName().
+ compareToIgnoreCase(fdos.specEDI.getName()) > 0) {
+ alphabeticalIndex = i;
+ break;
+ }
+ }
+ if (alphabeticalIndex == -1) {
+ alphabeticalIndex = root.getChildCount();
+ }
+ DefaultMutableTreeNode mainNode = new DefaultMutableTreeNode(new FieldDataMainList(fdos.specEDI, fdos.annotation));
+ mainNode.add(new DefaultMutableTreeNode(new FieldDataVarMainList()));
+ ((DefaultTreeModel) fieldDataGUIPanel.getFieldDataTree().getModel()).insertNodeInto(mainNode, root, alphabeticalIndex);
+ }
+ }
+ };
+
+ return new AsynchClientTask[]{task1, task2, task3};
+ }
+
+ /**
+ * This method initializes jButtonFindRefModel
+ *
+ * @return javax.swing.JButton
+ */
+ private JButton getJButtonFindRefModel() {
+ if (jButtonFindRefModel == null) {
+ jButtonFindRefModel = new JButton();
+ jButtonFindRefModel.setText("Model Refs...");
+ jButtonFindRefModel.setEnabled(false);
+ jButtonFindRefModel.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent e) {
+ TreePath selPath = getFieldDataTree().getSelectionPath();
+ DefaultMutableTreeNode mainNode = (DefaultMutableTreeNode) selPath.getLastPathComponent();
+ if (mainNode.getUserObject() instanceof FieldDataMainList) {
+ final ExternalDataIdentifier extDataID = ((FieldDataMainList) mainNode.getUserObject()).externalDataIdentifier;
+
+ AsynchClientTask task1 = new AsynchClientTask("find model references", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
+
+ @Override
+ public void run(Hashtable hashTable) throws Exception {
+ fieldDataWindowManager.findReferencingModels(extDataID, true);
+ }
+ };
+ ClientTaskDispatcher.dispatch(FieldDataGUIPanel.this, new Hashtable(), new AsynchClientTask[]{task1}, false);
+ }
+ }
+ });
+ }
+ return jButtonFindRefModel;
+ }
+
+ /**
+ * This method initializes jPanel
+ *
+ * @return javax.swing.JPanel
+ */
+ private JPanel getJPanel() {
+ if (jPanel == null) {
+ GridBagConstraints gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.weightx = 1.0;
+ gridBagConstraints.insets = new Insets(4, 4, 4, 4);
+ GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
+ gridBagConstraints2.gridx = 0;
+ gridBagConstraints2.insets = new Insets(4, 4, 4, 4);
+ gridBagConstraints2.gridy = 0;
+ jPanel = new JPanel();
+ jPanel.setLayout(new GridBagLayout());
+ jPanel.add(getJButtonCreateGeom(), gridBagConstraints2);
+ jPanel.add(getJButtonFindRefModel(), gridBagConstraints);
+ }
+ return jPanel;
+ }
+
+ /**
+ * This method initializes jButtonCopyInfo
+ *
+ * @return javax.swing.JButton
+ */
+ private JButton getJButtonCreateGeom() {
+ if (createGeomButton == null) {
+ createGeomButton = new JButton();
+ createGeomButton.setEnabled(false);
+ createGeomButton.setText("Create Geom");
+ createGeomButton.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent e) {
+ try {
+ RequestManager clientRequestManager = fieldDataWindowManager.getLocalRequestManager();
+ javax.swing.tree.TreePath selPath = getFieldDataTree().getSelectionPath();
+ javax.swing.tree.DefaultMutableTreeNode lastPathComponent = (javax.swing.tree.DefaultMutableTreeNode) selPath.getLastPathComponent();
+ if (lastPathComponent.getUserObject() instanceof FieldDataVarList) {
+ DataIdentifier dataIdentifier =
+ ((FieldDataVarList) lastPathComponent.getUserObject()).dataIdentifier;
+
+ TreePath ppPath = selPath.getParentPath().getParentPath();
+ javax.swing.tree.DefaultMutableTreeNode ppLastPathComp = (javax.swing.tree.DefaultMutableTreeNode) ppPath.getLastPathComponent();
+ if (ppLastPathComp.getUserObject() instanceof FieldDataMainList) {
+ ExternalDataIdentifier extDataID =
+ ((FieldDataMainList) ppLastPathComp.getUserObject()).externalDataIdentifier;
+
+ final OpenModelInfoHolder openModelInfoHolder =
+ FieldDataWindowManager.selectOpenModelsFromDesktop(FieldDataGUIPanel.this, fieldDataWindowManager.getRequestManager(), false, "Select BioModel or MathModel to receive new geometry", false);
+ if (openModelInfoHolder == null) {
+ DialogUtils.showErrorDialog(FieldDataGUIPanel.this,
+ "Before proceeding, please open a Biomodel application or Mathmodel you wish to apply a new Field Data Geometry to");
+ return;
+ }
+
+ AsynchClientTask applyGeomTask = new AsynchClientTask("apply geometry", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
+ @Override
+ public void run(Hashtable hashTable) throws Exception {
+ Geometry newGeom = (Geometry) hashTable.get("doc");
+ final String OK_OPTION = "Ok";
+ if (openModelInfoHolder instanceof FDSimMathModelInfo) {
+ Version version = ((FDSimMathModelInfo) openModelInfoHolder).getMathModelVersion();
+ String modelName = (version == null ? "NoName" : version.getName());
+ if (newGeom.getName() == null) {
+ newGeom.setName(modelName + "_" + BeanUtils.generateDateTimeString());
+ }
+ String message = "Confirm Setting new FieldData derived geometry on MathModel '" + modelName + "'";
+ if (DialogUtils.showWarningDialog(FieldDataGUIPanel.this, message, new String[]{OK_OPTION, "Cancel"}, OK_OPTION).equals(OK_OPTION)) {
+ ((FDSimMathModelInfo) openModelInfoHolder).getMathDescription().setGeometry(newGeom);
+ }
+ } else if (openModelInfoHolder instanceof FDSimBioModelInfo) {
+ Version version = ((FDSimBioModelInfo) openModelInfoHolder).getBioModelVersion();
+ String modelName = (version == null ? "NoName" : version.getName());
+ String simContextName = ((FDSimBioModelInfo) openModelInfoHolder).getSimulationContext().getName();
+ if (newGeom.getName() == null) {
+ newGeom.setName(modelName + "_" + simContextName + "_" + BeanUtils.generateDateTimeString());
+ }
+ String message = "Confirm Setting new FieldData derived geometry on BioModel '" + modelName + "' , Application '" + simContextName + "'";
+ if (DialogUtils.showWarningDialog(FieldDataGUIPanel.this, message, new String[]{OK_OPTION, "Cancel"}, OK_OPTION).equals(OK_OPTION)) {
+ ((FDSimBioModelInfo) openModelInfoHolder).getSimulationContext().setGeometry(newGeom);
+ }
+ }
+ }
+ };
+ VCDocument.GeomFromFieldDataCreationInfo geomFromFieldDataCreationInfo =
+ new VCDocument.GeomFromFieldDataCreationInfo(
+ extDataID, dataIdentifier.getName());
+ AsynchClientTask[] createGeomTask = clientRequestManager.createNewGeometryTasks(fieldDataWindowManager,
+ geomFromFieldDataCreationInfo,
+ new AsynchClientTask[]{applyGeomTask},
+ "Apply Geometry");
+
+ Hashtable hash = new Hashtable();
+ hash.put(ClientRequestManager.GUI_PARENT, fieldDataWindowManager.getComponent());
+ ClientTaskDispatcher.dispatch(FieldDataGUIPanel.this, hash,
+ createGeomTask, false, false, null, true);
+
+ }
+
+ }
+ } catch (UserCancelException e1) {
+ //ignore
+ } catch (Exception e1) {
+ e1.printStackTrace();
+ DialogUtils.showErrorDialog(FieldDataGUIPanel.this, e1.getMessage());
+ }
+ }
+ });
+ }
+ return createGeomButton;
+ }
+
+ /**
+ * This method initializes jPanel1
+ *
+ * @return javax.swing.JPanel
+ */
+ private JPanel getJPanel12() {
+ if (jPanel1 == null) {
+ GridBagConstraints gridBagConstraints3 = new GridBagConstraints();
+ gridBagConstraints3.gridx = 1;
+ gridBagConstraints3.insets = new Insets(4, 4, 4, 4);
+ gridBagConstraints3.fill = GridBagConstraints.HORIZONTAL;
+ gridBagConstraints3.weightx = 1.0;
+ gridBagConstraints3.gridy = 0;
+ GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
+ gridBagConstraints1.fill = GridBagConstraints.NONE;
+ gridBagConstraints1.gridx = 0;
+ gridBagConstraints1.gridy = 0;
+ gridBagConstraints1.insets = new Insets(4, 4, 4, 4);
+ jPanel1 = new JPanel();
+ jPanel1.setLayout(new GridBagLayout());
+ jPanel1.add(getJButtonFDCopyRef(), gridBagConstraints1);
+ jPanel1.add(getJButtonViewAnnot(), gridBagConstraints3);
+ }
+ return jPanel1;
+ }
+
+ /**
+ * This method initializes jButtonViewAnnot
+ *
+ * @return javax.swing.JButton
+ */
+ ActionListener viewAnnotAction = new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent e) {
+ javax.swing.tree.TreePath selPath = getFieldDataTree().getSelectionPath();
+ if (selPath != null) {
+ javax.swing.tree.DefaultMutableTreeNode lastPathComponent =
+ (javax.swing.tree.DefaultMutableTreeNode) selPath.getLastPathComponent();
+ if (lastPathComponent.getUserObject() instanceof FieldDataMainList) {
+ PopupGenerator.showInfoDialog(FieldDataGUIPanel.this,
+ ((FieldDataMainList) (lastPathComponent.getUserObject())).extDataAnnot);
+ }
+ }
+ }
+ };
+
+ private JButton getJButtonViewAnnot() {
+ if (viewAnnotButton == null) {
+ viewAnnotButton = new JButton();
+ viewAnnotButton.setText("View Annot...");
+ viewAnnotButton.setEnabled(false);
+ viewAnnotButton.addActionListener(viewAnnotAction);
+ }
+ return viewAnnotButton;
+ }
}
diff --git a/vcell-core/src/main/java/cbit/vcell/field/FieldDataDBOperationResults.java b/vcell-core/src/main/java/cbit/vcell/field/FieldDataDBOperationResults.java
index e3e2fb8a0a..160969ee49 100644
--- a/vcell-core/src/main/java/cbit/vcell/field/FieldDataDBOperationResults.java
+++ b/vcell-core/src/main/java/cbit/vcell/field/FieldDataDBOperationResults.java
@@ -11,12 +11,13 @@
package cbit.vcell.field;
import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Vector;
+import java.util.*;
+import java.util.stream.Collectors;
+import org.vcell.restclient.model.FieldDataReference;
import org.vcell.util.document.ExternalDataIdentifier;
import org.vcell.util.document.KeyValue;
+import org.vcell.util.document.User;
public class FieldDataDBOperationResults implements Serializable {
@@ -27,4 +28,24 @@ public class FieldDataDBOperationResults implements Serializable {
public Hashtable oldNameNewIDHash;
public Hashtable oldNameOldExtDataIDKeyHash;
public HashMap> extdataIDAndSimRefH;
+
+
+ public static FieldDataDBOperationResults fieldDataReferencesToDBResults(List dto, User user){
+ FieldDataDBOperationResults fieldDataDBOperationResults = new FieldDataDBOperationResults();
+ ArrayList externalDataIdentifiers = new ArrayList<>();
+ ArrayList externalDataAnnotations = new ArrayList<>();
+ HashMap> externalDataIDSimRefs = new HashMap<>();
+ for (FieldDataReference fieldDataReference : dto){
+ ExternalDataIdentifier externalDataIdentifier = ExternalDataIdentifier.dtoToExternalDataIdentifier(fieldDataReference.getExternalDataIdentifier());
+ externalDataIdentifiers.add(externalDataIdentifier);
+ externalDataAnnotations.add(fieldDataReference.getExternalDataAnnotation());
+ List keyValues = fieldDataReference.getExternalDataIDSimRefs().stream().map(KeyValue::dtoToKeyValue).collect(Collectors.toList());
+ externalDataIDSimRefs.put(externalDataIdentifier, new Vector<>(keyValues));
+ }
+ fieldDataDBOperationResults.extDataIDArr = externalDataIdentifiers.toArray(new ExternalDataIdentifier[0]);
+ fieldDataDBOperationResults.extDataAnnotArr = externalDataAnnotations.toArray(new String[0]);
+ fieldDataDBOperationResults.extdataIDAndSimRefH = externalDataIDSimRefs;
+ return fieldDataDBOperationResults;
+ }
+
}
diff --git a/vcell-core/src/main/java/cbit/vcell/field/FieldDataDBOperationSpec.java b/vcell-core/src/main/java/cbit/vcell/field/FieldDataDBOperationSpec.java
index 977641a823..78e27f6670 100644
--- a/vcell-core/src/main/java/cbit/vcell/field/FieldDataDBOperationSpec.java
+++ b/vcell-core/src/main/java/cbit/vcell/field/FieldDataDBOperationSpec.java
@@ -36,13 +36,15 @@ public class FieldDataDBOperationSpec implements Serializable {
private FieldDataDBOperationSpec(){
}
-
+
private static FieldDataDBOperationSpec createOwnedFieldDataDBOperationSpec(User owner){
FieldDataDBOperationSpec fieldDataDBOperationSpec =
new FieldDataDBOperationSpec();
fieldDataDBOperationSpec.owner = owner;
return fieldDataDBOperationSpec;
}
+
+ @Deprecated
public static FieldDataDBOperationSpec createCopyNoConflictExtDataIDsSpec(
User argOwner,String[] argSourceNames,VersionableTypeVersion argSourceOwner){
FieldDataDBOperationSpec fieldDataDBOperationSpec =
@@ -52,12 +54,16 @@ public static FieldDataDBOperationSpec createCopyNoConflictExtDataIDsSpec(
fieldDataDBOperationSpec.sourceOwner = argSourceOwner;
return fieldDataDBOperationSpec;
}
+
+ @Deprecated
public static FieldDataDBOperationSpec createGetExtDataIDsSpec(User owner){
FieldDataDBOperationSpec fieldDataDBOperationSpec =
createOwnedFieldDataDBOperationSpec(owner);
fieldDataDBOperationSpec.opType = fieldDataDBOperationSpec.FDDBOS_GETEXTDATAIDS;
return fieldDataDBOperationSpec;
}
+
+ @Deprecated
public static FieldDataDBOperationSpec createGetExtDataIDsSpecWithSimRefs(User owner){
FieldDataDBOperationSpec fieldDataDBOperationSpec =
createOwnedFieldDataDBOperationSpec(owner);
@@ -65,6 +71,8 @@ public static FieldDataDBOperationSpec createGetExtDataIDsSpecWithSimRefs(User o
fieldDataDBOperationSpec.bIncludeSimRefs = true;
return fieldDataDBOperationSpec;
}
+
+ @Deprecated
public static FieldDataDBOperationSpec createSaveNewExtDataIDSpec(
User owner,String newExtDataIDName,String newExtDataAnnot){
FieldDataDBOperationSpec fieldDataDBOperationSpec =
@@ -74,6 +82,8 @@ public static FieldDataDBOperationSpec createSaveNewExtDataIDSpec(
fieldDataDBOperationSpec.annotation = newExtDataAnnot;
return fieldDataDBOperationSpec;
}
+
+ @Deprecated
public static FieldDataDBOperationSpec createDeleteExtDataIDSpec(ExternalDataIdentifier deleteExtDataID){
FieldDataDBOperationSpec fieldDataDBOperationSpec =
createOwnedFieldDataDBOperationSpec(deleteExtDataID.getOwner());
diff --git a/vcell-core/src/main/java/cbit/vcell/field/FieldDataFileConversion.java b/vcell-core/src/main/java/cbit/vcell/field/FieldDataFileConversion.java
new file mode 100644
index 0000000000..bdcc5a0d13
--- /dev/null
+++ b/vcell-core/src/main/java/cbit/vcell/field/FieldDataFileConversion.java
@@ -0,0 +1,85 @@
+package cbit.vcell.field;
+
+import cbit.image.ImageException;
+import cbit.vcell.VirtualMicroscopy.ImageDataset;
+import cbit.vcell.VirtualMicroscopy.UShortImage;
+import cbit.vcell.field.io.FieldDataFileOperationSpec;
+import cbit.vcell.math.VariableType;
+import org.vcell.util.Extent;
+import org.vcell.util.Origin;
+import org.vcell.vcellij.ImageDatasetReader;
+import org.vcell.vcellij.ImageDatasetReaderService;
+
+import java.awt.*;
+import java.io.File;
+import java.util.zip.DataFormatException;
+
+public class FieldDataFileConversion {
+ public static FieldDataFileOperationSpec createFDOSFromImageFile(File imageFile, boolean bCropOutBlack,
+ Integer saveOnlyThisTimePointIndex) throws DataFormatException, ImageException {
+ try {
+ ImageDatasetReader imageDatasetReader = ImageDatasetReaderService.getInstance().getImageDatasetReader();
+ ImageDataset[] imagedataSets = imageDatasetReader.readImageDatasetChannels(imageFile.getAbsolutePath(),
+ null, false, saveOnlyThisTimePointIndex, null);
+ if (imagedataSets != null && bCropOutBlack) {
+ for (int i = 0; i < imagedataSets.length; i++) {
+ Rectangle nonZeroRect = imagedataSets[i].getNonzeroBoundingRectangle();
+ if (nonZeroRect != null) {
+ imagedataSets[i] = imagedataSets[i].crop(nonZeroRect);
+ }
+ }
+ }
+ return createFDOSWithChannels(imagedataSets, null);
+ } catch (Exception e) {
+ e.printStackTrace(System.out);
+ throw new DataFormatException(e.getMessage());
+ }
+ }
+
+ public static FieldDataFileOperationSpec createFDOSWithChannels(ImageDataset[] imagedataSets,
+ Integer saveOnlyThisTimePointIndex) {
+ final FieldDataFileOperationSpec fdos = new FieldDataFileOperationSpec();
+
+ // [time][var][data]
+ int numXY = imagedataSets[0].getISize().getX() * imagedataSets[0].getISize().getY();
+ int numXYZ = imagedataSets[0].getSizeZ() * numXY;
+ fdos.variableTypes = new VariableType[imagedataSets.length];
+ fdos.varNames = new String[imagedataSets.length];
+ short[][][] shortData = new short[(saveOnlyThisTimePointIndex != null ? 1
+ : imagedataSets[0].getSizeT())][imagedataSets.length][numXYZ];
+ for (int c = 0; c < imagedataSets.length; c += 1) {
+ fdos.variableTypes[c] = VariableType.VOLUME;
+ fdos.varNames[c] = "Channel" + c;
+ for (int t = 0; t < imagedataSets[c].getSizeT(); t += 1) {
+ if (saveOnlyThisTimePointIndex != null && saveOnlyThisTimePointIndex.intValue() != t) {
+ continue;
+ }
+ int zOffset = 0;
+ for (int z = 0; z < imagedataSets[c].getSizeZ(); z += 1) {
+ UShortImage ushortImage = imagedataSets[c].getImage(z, 0, t);
+ System.arraycopy(ushortImage.getPixels(), 0,
+ shortData[(saveOnlyThisTimePointIndex != null ? 0 : t)][c], zOffset, numXY);
+// shortData[t][c] = ushortImage.getPixels();
+ zOffset += numXY;
+ }
+ }
+ }
+ fdos.shortSpecData = shortData;
+ fdos.times = imagedataSets[0].getImageTimeStamps();
+ if (fdos.times == null) {
+ fdos.times = new double[imagedataSets[0].getSizeT()];
+ for (int i = 0; i < fdos.times.length; i += 1) {
+ fdos.times[i] = i;
+ }
+ }
+
+ fdos.origin = (imagedataSets[0].getAllImages()[0].getOrigin() != null
+ ? imagedataSets[0].getAllImages()[0].getOrigin()
+ : new Origin(0, 0, 0));
+ fdos.extent = (imagedataSets[0].getExtent() != null) ? (imagedataSets[0].getExtent()) : (new Extent(1, 1, 1));
+ fdos.isize = imagedataSets[0].getISize();
+
+ return fdos;
+
+ }
+}
diff --git a/vcell-core/src/main/java/cbit/vcell/field/io/FieldDataFileOperationResults.java b/vcell-core/src/main/java/cbit/vcell/field/io/FieldDataFileOperationResults.java
index 973d679418..97f08fee18 100644
--- a/vcell-core/src/main/java/cbit/vcell/field/io/FieldDataFileOperationResults.java
+++ b/vcell-core/src/main/java/cbit/vcell/field/io/FieldDataFileOperationResults.java
@@ -10,12 +10,15 @@
package cbit.vcell.field.io;
+import cbit.vcell.simdata.DataIdentifier;
+import org.vcell.restclient.model.FieldDataSaveResults;
+import org.vcell.restclient.model.FieldDataShape;
import org.vcell.util.Extent;
import org.vcell.util.ISize;
import org.vcell.util.Origin;
+import org.vcell.util.document.ExternalDataIdentifier;
import org.vcell.util.document.KeyValue;
-
-import cbit.vcell.simdata.DataIdentifier;
+import org.vcell.util.document.User;
/**
* Insert the type's description here.
@@ -39,6 +42,7 @@ public static class FieldDataReferenceInfo{
public DataIdentifier[] dataIdentifierArr;
+ public ExternalDataIdentifier externalDataIdentifier;
public ISize iSize;
public Origin origin;
public Extent extent;
@@ -48,4 +52,21 @@ public static class FieldDataReferenceInfo{
public FieldDataFileOperationResults() {
super();
}
+
+ public static FieldDataFileOperationResults fieldDataInfoDTOToFileOperationResults(FieldDataShape dto){
+ FieldDataFileOperationResults results = new FieldDataFileOperationResults();
+ results.extent = Extent.dtoToExtent(dto.getExtent());
+ results.origin = Origin.dtoToOrigin(dto.getOrigin());
+ results.iSize = ISize.dtoToISize(dto.getIsize());
+ results.times = dto.getTimes().stream().mapToDouble(Double::doubleValue).toArray();
+ results.dataIdentifierArr = dto.getDataIdentifier().stream().map(DataIdentifier::dtoToDataIdentifier).toArray(DataIdentifier[]::new);
+ return results;
+ }
+
+ public static FieldDataFileOperationResults fieldDataSaveResultsDTOToFileOperationResults(FieldDataSaveResults dto, User owner){
+ FieldDataFileOperationResults fieldDataFileOperationResults = new FieldDataFileOperationResults();
+ fieldDataFileOperationResults.externalDataIdentifier = new ExternalDataIdentifier(new KeyValue(dto.getFieldDataID()), owner, dto.getFieldDataName());
+ return fieldDataFileOperationResults;
+ }
+
}
diff --git a/vcell-core/src/main/java/cbit/vcell/field/io/FieldDataFileOperationSpec.java b/vcell-core/src/main/java/cbit/vcell/field/io/FieldDataFileOperationSpec.java
index 5799b60c41..461c570309 100644
--- a/vcell-core/src/main/java/cbit/vcell/field/io/FieldDataFileOperationSpec.java
+++ b/vcell-core/src/main/java/cbit/vcell/field/io/FieldDataFileOperationSpec.java
@@ -10,6 +10,7 @@
package cbit.vcell.field.io;
+import org.vcell.restclient.model.AnalyzedResultsFromFieldData;
import org.vcell.util.Extent;
import org.vcell.util.ISize;
import org.vcell.util.Origin;
@@ -20,6 +21,11 @@
import cbit.vcell.math.VariableType;
import cbit.vcell.solvers.CartesianMesh;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
/**
* Insert the type's description here.
* Creation date: (1/10/2007 11:00:51 AM)
@@ -45,6 +51,7 @@ public class FieldDataFileOperationSpec implements java.io.Serializable{
public int sourceSimParamScanJobIndex = -1;
public KeyValue sourceSimDataKey;
public User sourceOwner;
+ public String fieldDataName;
public static final int FDOS_ADD = 0;
public static final int FDOS_DELETE = 1;
@@ -59,6 +66,48 @@ public class FieldDataFileOperationSpec implements java.io.Serializable{
public FieldDataFileOperationSpec() {
}
+public FieldDataFileOperationSpec(short[][][] shortSpecData, double[][][] doubleSpecData, CartesianMesh cartesianMesh,
+ ExternalDataIdentifier specEDI, String[] varNames, VariableType[] variableTypes,
+ double[] times, User owner, Origin origin, Extent extent, ISize isize,
+ String annotation, int sourceSimParamScanJobIndex, KeyValue sourceSimDataKey,
+ User sourceOwner){
+ this.shortSpecData = shortSpecData;
+ this.doubleSpecData = doubleSpecData;
+ this.cartesianMesh = cartesianMesh;
+ this.specEDI = specEDI;
+ this.varNames = varNames;
+ this.variableTypes = variableTypes;
+ this.times = times;
+ this.owner = owner;
+ this.origin = origin;
+ this.extent = extent;
+ this.isize = isize;
+ this.annotation = annotation;
+ this.sourceSimParamScanJobIndex = sourceSimParamScanJobIndex;
+ this.sourceSimDataKey = sourceSimDataKey;
+ this.sourceOwner = sourceOwner;
+}
+
+public static AnalyzedResultsFromFieldData fieldDataSpecToAnalyzedResultsDTO(FieldDataFileOperationSpec fieldDataFileOperationSpec){
+ List>> listVersion = Arrays.stream(fieldDataFileOperationSpec.shortSpecData) // Stream of short[][]
+ .map(twoDArray -> Arrays.stream(twoDArray) // Stream of short[]
+ .map(oneDArray -> {
+ List list = new ArrayList<>();
+ for (short j : oneDArray) {
+ list.add((int) j);
+ }
+ return list;
+ }).collect(Collectors.toList())).collect(Collectors.toList());
+ AnalyzedResultsFromFieldData analyzedResultsFromFieldData = new AnalyzedResultsFromFieldData();
+ analyzedResultsFromFieldData.annotation(fieldDataFileOperationSpec.annotation); analyzedResultsFromFieldData.isize(ISize.iSizeToDTO(fieldDataFileOperationSpec.isize));
+ analyzedResultsFromFieldData.extent(Extent.extentToDTO(fieldDataFileOperationSpec.extent)); analyzedResultsFromFieldData.origin(Origin.originToDTO(fieldDataFileOperationSpec.origin));
+ analyzedResultsFromFieldData.times(Arrays.stream(fieldDataFileOperationSpec.times).boxed().toList()); analyzedResultsFromFieldData.setName(fieldDataFileOperationSpec.fieldDataName);
+ analyzedResultsFromFieldData.varNames(Arrays.stream(fieldDataFileOperationSpec.varNames).toList()); analyzedResultsFromFieldData.shortSpecData(listVersion);
+ return analyzedResultsFromFieldData;
+}
+
+
+@Deprecated
public static FieldDataFileOperationSpec createCopySimFieldDataFileOperationSpec(
ExternalDataIdentifier newExtDataID,
KeyValue argSourceSimDataKey,
@@ -75,6 +124,8 @@ public static FieldDataFileOperationSpec createCopySimFieldDataFileOperationSpec
fieldDataFileOperationSpec.owner = destinationOwner;
return fieldDataFileOperationSpec;
}
+
+@Deprecated
public static FieldDataFileOperationSpec createInfoFieldDataFileOperationSpec(
KeyValue argSourceSimDataKey,User argSourceOwner,int argSimParamScanJobIndex){
FieldDataFileOperationSpec fieldDataFileOperationSpec =
@@ -85,6 +136,8 @@ public static FieldDataFileOperationSpec createInfoFieldDataFileOperationSpec(
fieldDataFileOperationSpec.sourceSimParamScanJobIndex = argSimParamScanJobIndex;
return fieldDataFileOperationSpec;
}
+
+@Deprecated
public static FieldDataFileOperationSpec createDeleteFieldDataFileOperationSpec(
ExternalDataIdentifier deleteExtDataID){
FieldDataFileOperationSpec fieldDataFileOperationSpec =
diff --git a/vcell-core/src/main/java/cbit/vcell/math/Variable.java b/vcell-core/src/main/java/cbit/vcell/math/Variable.java
index e7bbf5d25b..440b498a1f 100644
--- a/vcell-core/src/main/java/cbit/vcell/math/Variable.java
+++ b/vcell-core/src/main/java/cbit/vcell/math/Variable.java
@@ -10,23 +10,18 @@
package cbit.vcell.math;
-import java.io.Serializable;
-import java.util.StringTokenizer;
-
+import cbit.vcell.geometry.GeometryClass;
+import cbit.vcell.parser.*;
+import cbit.vcell.units.VCUnitDefinition;
+import org.vcell.restclient.model.Domain;
import org.vcell.util.Compare;
import org.vcell.util.EqualsUtil;
import org.vcell.util.Issue.IssueSource;
import org.vcell.util.Matchable;
import org.vcell.util.TokenMangler;
-import cbit.vcell.geometry.GeometryClass;
-import cbit.vcell.parser.Expression;
-import cbit.vcell.parser.ExpressionBindingException;
-import cbit.vcell.parser.ExpressionException;
-import cbit.vcell.parser.NameScope;
-import cbit.vcell.parser.SymbolTable;
-import cbit.vcell.parser.SymbolTableEntry;
-import cbit.vcell.units.VCUnitDefinition;
+import java.io.Serializable;
+import java.util.StringTokenizer;
/**
* This class was generated by a SmartGuide.
*
@@ -44,6 +39,11 @@ void rename(String newName) {
public static class Domain implements Matchable, Serializable {
private String name = null;
+
+ public static Domain dtoToDomain(org.vcell.restclient.model.Domain dto){
+ return new Domain(dto.getName());
+ }
+
public Domain(String argName){
String nameWithPeriodsMangled = argName.replace('.','_');
@@ -80,7 +80,6 @@ public String toString(){
/**
* This method was created by a SmartGuide.
- * @param name java.lang.String
*/
protected Variable (String argName, Domain argDomain ) {
if (argName == null) {
diff --git a/vcell-core/src/main/java/cbit/vcell/math/VariableType.java b/vcell-core/src/main/java/cbit/vcell/math/VariableType.java
index d90ec19704..11fbdb1a0d 100644
--- a/vcell-core/src/main/java/cbit/vcell/math/VariableType.java
+++ b/vcell-core/src/main/java/cbit/vcell/math/VariableType.java
@@ -30,9 +30,25 @@ public class VariableType implements java.io.Serializable, org.vcell.util.Matcha
private int type = -1;
private VariableDomain variableDomain;
- private final String name;
- private final String units;
- private final String label;
+ private String name;
+ private String units;
+ private String label;
+
+ public VariableType(){}
+
+ public static org.vcell.restclient.model.VariableType variableTypeToDTO(VariableType vt) {
+ org.vcell.restclient.model.VariableType dto = new org.vcell.restclient.model.VariableType();
+ dto.setType(vt.type);
+ dto.setName(vt.name);
+ dto.setUnits(vt.units);
+ dto.setLabel(vt.label);
+ return dto;
+ }
+
+ public static VariableType dtoToVariableType(org.vcell.restclient.model.VariableType dto) {
+ return new VariableType(dto.getType(), dto.getName(), dto.getUnits(), dto.getLabel());
+ }
+
/**
* mark types that were not previously supported by {@link #getVariableTypeFromInteger(int)}, issue warning if triggered
*/
diff --git a/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/LocalDataSetControllerMessaging.java b/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/LocalDataSetControllerMessaging.java
index ed7b315852..4fc57bd0f0 100644
--- a/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/LocalDataSetControllerMessaging.java
+++ b/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/LocalDataSetControllerMessaging.java
@@ -12,8 +12,12 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.vcell.api.client.VCellApiClient;
+import org.vcell.restclient.model.*;
import org.vcell.solver.nfsim.NFSimMolecularConfigurations;
import org.vcell.util.DataAccessException;
+import org.vcell.util.document.ExternalDataIdentifier;
+import org.vcell.util.document.KeyValue;
import org.vcell.util.document.UserLoginInfo;
import org.vcell.util.document.VCDataIdentifier;
import org.vcell.vis.io.VtuFileContainer;
@@ -44,12 +48,14 @@
public class LocalDataSetControllerMessaging implements DataSetController {
private RpcDataServerProxy dataServerProxy = null;
private static Logger lg = LogManager.getLogger(LocalDataSetControllerMessaging.class);
+ private final VCellApiClient vCellApiClient;
/**
* This method was created by a SmartGuide.
*/
-public LocalDataSetControllerMessaging (UserLoginInfo userLoginInfo, RpcSender rpcSender) {
+public LocalDataSetControllerMessaging (UserLoginInfo userLoginInfo, RpcSender rpcSender, VCellApiClient vCellApiClient) {
this.dataServerProxy = new RpcDataServerProxy(userLoginInfo, rpcSender);
+ this.vCellApiClient = vCellApiClient;
}
@@ -57,7 +63,19 @@ public LocalDataSetControllerMessaging (UserLoginInfo userLoginInfo, RpcSender r
public FieldDataFileOperationResults fieldDataFileOperation(FieldDataFileOperationSpec fieldDataFileOperationSpec) throws DataAccessException {
if (lg.isTraceEnabled()) lg.trace("LocalDataSetControllerMessaging.fieldDataFileOperationSpec(...)");
try {
- return dataServerProxy.fieldDataFileOperation(fieldDataFileOperationSpec);
+ if (fieldDataFileOperationSpec.opType == FieldDataFileOperationSpec.FDOS_ADD){
+ AnalyzedResultsFromFieldData analyzedResultsFromFieldData = FieldDataFileOperationSpec.fieldDataSpecToAnalyzedResultsDTO(fieldDataFileOperationSpec);
+ FieldDataSaveResults results = vCellApiClient.getFieldDataApi().createFieldDataFromAnalyzedFile(analyzedResultsFromFieldData);
+ return FieldDataFileOperationResults.fieldDataSaveResultsDTOToFileOperationResults(results, fieldDataFileOperationSpec.owner);
+ } else if (fieldDataFileOperationSpec.opType == FieldDataFileOperationSpec.FDOS_DELETE) {
+ vCellApiClient.getFieldDataApi().deleteFieldData(fieldDataFileOperationSpec.specEDI.getKey().toString());
+ return null;
+ } else if (fieldDataFileOperationSpec.opType == FieldDataFileOperationSpec.FDOS_INFO) {
+ FieldDataShape fieldDataInfo = vCellApiClient.getFieldDataApi().getFieldDataShapeFromID(fieldDataFileOperationSpec.sourceSimDataKey.toString());
+ return FieldDataFileOperationResults.fieldDataInfoDTOToFileOperationResults(fieldDataInfo);
+ } else {
+ return dataServerProxy.fieldDataFileOperation(fieldDataFileOperationSpec);
+ }
} catch (DataAccessException e){
lg.error(e.getMessage(),e);
throw e;
@@ -108,7 +126,6 @@ public double[] getDataSetTimes(VCDataIdentifier vcdID) throws DataAccessExcepti
/**
* Insert the method's description here.
* Creation date: (2/26/2004 1:05:01 PM)
- * @param function cbit.vcell.math.Function
* @exception org.vcell.util.DataAccessException The exception description.
* @exception RemoteProxyException The exception description.
*/
@@ -191,7 +208,6 @@ public cbit.vcell.solver.ode.ODESimData getODEData(VCDataIdentifier vcdID) throw
/**
* This method was created by a SmartGuide.
* @return double[]
- * @param varName java.lang.String
* @param time double
* @throws RemoteProxyException
*/
@@ -252,9 +268,7 @@ public SimDataBlock getSimDataBlock(OutputContext outputContext,VCDataIdentifier
/**
* This method was created by a SmartGuide.
* @return double[]
- * @param varName java.lang.String
- * @param index int
- * @throws RemoteProxyException
+ * @throws RemoteProxyException
*/
public org.vcell.util.document.TimeSeriesJobResults getTimeSeriesValues(OutputContext outputContext,VCDataIdentifier vcdID,org.vcell.util.document.TimeSeriesJobSpec timeSeriesJobSpec) throws DataAccessException, RemoteProxyException {
if (lg.isTraceEnabled()) lg.trace("LocalDataSetControllerMessaging.getTimeSeriesValues(vcdID=" + vcdID + ", " + timeSeriesJobSpec + ")");
@@ -272,7 +286,6 @@ public org.vcell.util.document.TimeSeriesJobResults getTimeSeriesValues(OutputCo
/**
* This method was created in VisualAge.
- * @param simInfo cbit.vcell.solver.SimulationInfo
* @exception org.vcell.util.DataAccessException The exception description.
* @throws RemoteProxyException
*/
diff --git a/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/LocalUserMetaDbServerMessaging.java b/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/LocalUserMetaDbServerMessaging.java
index b4351b9660..b890111c97 100644
--- a/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/LocalUserMetaDbServerMessaging.java
+++ b/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/LocalUserMetaDbServerMessaging.java
@@ -11,10 +11,14 @@
package cbit.vcell.message.server.bootstrap.client;
import java.rmi.RemoteException;
+import java.util.ArrayList;
+import java.util.List;
import java.util.TreeMap;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.vcell.api.client.VCellApiClient;
+import org.vcell.restclient.model.FieldDataReference;
import org.vcell.util.BigString;
import org.vcell.util.DataAccessException;
import org.vcell.util.ObjectNotFoundException;
@@ -44,13 +48,15 @@
*/
public class LocalUserMetaDbServerMessaging implements UserMetaDbServer {
private RpcDbServerProxy dbServerProxy = null;
+ private final VCellApiClient vCellApiClient;
private static Logger lg = LogManager.getLogger(LocalUserMetaDbServerMessaging.class);
/**
* This method was created in VisualAge.
*/
-public LocalUserMetaDbServerMessaging(UserLoginInfo userLoginInfo, RpcSender rpcSender) {
+public LocalUserMetaDbServerMessaging(UserLoginInfo userLoginInfo, RpcSender rpcSender, VCellApiClient vCellApiClient) {
this.dbServerProxy = new RpcDbServerProxy(userLoginInfo, rpcSender);
+ this.vCellApiClient = vCellApiClient;
}
public TreeMap> getSpecialUsers() throws DataAccessException{
@@ -122,7 +128,14 @@ public FieldDataDBOperationResults fieldDataDBOperation(FieldDataDBOperationSpec
try {
if (lg.isTraceEnabled()) lg.trace("LocalUserMetaDbServerMessaging.fieldDataDBOperation(...)");
- return dbServerProxy.fieldDataDBOperation(fieldDataDBOperationSpec);
+ if (fieldDataDBOperationSpec.opType == FieldDataDBOperationSpec.FDDBOS_DELETE){
+ throw new RuntimeException("Can not call deletion on field data DB entry. Have to do both file, and DB deletion.");
+ } else if (fieldDataDBOperationSpec.opType == FieldDataDBOperationSpec.FDDBOS_GETEXTDATAIDS) {
+ List fieldDataReferences = vCellApiClient.getFieldDataApi().getAllFieldDataIDs();
+ return FieldDataDBOperationResults.fieldDataReferencesToDBResults(fieldDataReferences, fieldDataDBOperationSpec.owner);
+ } else{
+ return dbServerProxy.fieldDataDBOperation(fieldDataDBOperationSpec);
+ }
} catch (DataAccessException e) {
lg.error(e.getMessage(),e);
throw e;
diff --git a/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/LocalVCellConnectionMessaging.java b/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/LocalVCellConnectionMessaging.java
index f059ded325..47a9b47ab6 100644
--- a/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/LocalVCellConnectionMessaging.java
+++ b/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/LocalVCellConnectionMessaging.java
@@ -13,6 +13,7 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.vcell.api.client.VCellApiClient;
import org.vcell.util.DataAccessException;
import org.vcell.util.document.UserLoginInfo;
@@ -42,10 +43,12 @@ public class LocalVCellConnectionMessaging implements VCellConnection {
private UserLoginInfo userLoginInfo;
private RpcSender rpcSender;
+ private final VCellApiClient vCellApiClient;
- public LocalVCellConnectionMessaging(UserLoginInfo userLoginInfo, RpcSender rpcSender) {
+ public LocalVCellConnectionMessaging(UserLoginInfo userLoginInfo, RpcSender rpcSender, VCellApiClient vCellApiClient) {
this.userLoginInfo = userLoginInfo;
this.rpcSender = rpcSender;
+ this.vCellApiClient = vCellApiClient;
}
@@ -53,7 +56,7 @@ public LocalVCellConnectionMessaging(UserLoginInfo userLoginInfo, RpcSender rpcS
public DataSetController getDataSetController() throws DataAccessException {
if (lg.isTraceEnabled()) lg.trace("LocalVCellConnectionMessaging.getDataSetController()");
if (dataSetControllerMessaging == null) {
- dataSetControllerMessaging = new LocalDataSetControllerMessaging(getUserLoginInfo(), rpcSender);
+ dataSetControllerMessaging = new LocalDataSetControllerMessaging(getUserLoginInfo(), rpcSender, vCellApiClient);
}
return dataSetControllerMessaging;
}
@@ -75,7 +78,7 @@ public UserLoginInfo getUserLoginInfo() {
public UserMetaDbServer getUserMetaDbServer() throws DataAccessException {
if (lg.isTraceEnabled()) lg.trace("LocalVCellConnectionMessaging.getUserMetaDbServer(" + getUserLoginInfo().getUser() + ")");
if (userMetaDbServerMessaging == null) {
- userMetaDbServerMessaging = new LocalUserMetaDbServerMessaging(getUserLoginInfo(), rpcSender);
+ userMetaDbServerMessaging = new LocalUserMetaDbServerMessaging(getUserLoginInfo(), rpcSender, vCellApiClient);
}
return userMetaDbServerMessaging;
}
diff --git a/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/RemoteProxyVCellConnectionFactory.java b/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/RemoteProxyVCellConnectionFactory.java
index d18ee6bd9a..d5e60b8131 100644
--- a/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/RemoteProxyVCellConnectionFactory.java
+++ b/vcell-core/src/main/java/cbit/vcell/message/server/bootstrap/client/RemoteProxyVCellConnectionFactory.java
@@ -103,6 +103,8 @@ public Object sendRpcMessage(VCellQueue queue, VCRpcRequest vcRpcRequest, boolea
return vcellApiClient.sendRpcMessage(rpcDestination,apiRpcRequest,returnRequired,timeoutMS,specialProperties,specialValues);
}
+
+
@Override
public MessageEvent[] getMessageEvents() throws IOException {
long previousTimestamp = lastProcessedEventTimestamp.get();
@@ -204,7 +206,7 @@ public VCellConnection createVCellConnection(UserLoginInfo userLoginInfo) {
this.getVCellApiClient().getGuestLegacyToken()
:this.getVCellApiClient().getLegacyToken();
userLoginInfo.setUser(new User(accessTokenRep.getUserId(), new KeyValue(accessTokenRep.getUserKey())));
- return new LocalVCellConnectionMessaging(userLoginInfo,rpcSender);
+ return new LocalVCellConnectionMessaging(userLoginInfo,rpcSender, vcellApiClient);
} catch (ApiException apiException){
throw new RuntimeException(apiException);
}
diff --git a/vcell-core/src/main/java/cbit/vcell/simdata/DataIdentifier.java b/vcell-core/src/main/java/cbit/vcell/simdata/DataIdentifier.java
index 98c6f159d5..0145c24c7d 100644
--- a/vcell-core/src/main/java/cbit/vcell/simdata/DataIdentifier.java
+++ b/vcell-core/src/main/java/cbit/vcell/simdata/DataIdentifier.java
@@ -41,6 +41,12 @@ public DataIdentifier(String argName, VariableType argVariableType, Domain argDo
displayName = argDisplayName;
}
+public static DataIdentifier dtoToDataIdentifier(org.vcell.restclient.model.DataIdentifier dto){
+ return new DataIdentifier(dto.getName(), VariableType.dtoToVariableType(dto.getVariableType()),
+ dto.getDomain() == null ? null : Domain.dtoToDomain(dto.getDomain()),
+ dto.getbFunction() == null ? false : dto.getbFunction(), dto.getDisplayName());
+}
+
/**
* Insert the method's description here.
diff --git a/vcell-core/src/main/java/cbit/vcell/simdata/DataSetControllerImpl.java b/vcell-core/src/main/java/cbit/vcell/simdata/DataSetControllerImpl.java
index a20e1fb7a7..81847edbc3 100644
--- a/vcell-core/src/main/java/cbit/vcell/simdata/DataSetControllerImpl.java
+++ b/vcell-core/src/main/java/cbit/vcell/simdata/DataSetControllerImpl.java
@@ -1180,541 +1180,470 @@ else if (dsi.getName().endsWith(OutsideVariable.OUTSIDE_VARIABLE_SUFFIX))
return new SimDataBlock(pdeDataInfo, data, variableType);
}
-
-
-public FieldDataFileOperationResults fieldDataFileOperation(FieldDataFileOperationSpec fieldDataFileOperationSpec)
- throws ObjectNotFoundException{
-
- if(fieldDataFileOperationSpec.opType == FieldDataFileOperationSpec.FDOS_COPYSIM){
- Vector removeFilesIfErrorV = new Vector();
- try{
- int simJobIndex = fieldDataFileOperationSpec.sourceSimParamScanJobIndex;
- //Determine style so file names can be constructed properly
- VCSimulationDataIdentifier sourceSimDataID =
+private FieldDataFileOperationResults fieldDataCopySim(FieldDataFileOperationSpec fieldDataFileOperationSpec){
+ Vector removeFilesIfErrorV = new Vector();
+ try{
+ int simJobIndex = fieldDataFileOperationSpec.sourceSimParamScanJobIndex;
+ //Determine style so file names can be constructed properly
+ VCSimulationDataIdentifier sourceSimDataID =
new VCSimulationDataIdentifier(
new VCSimulationIdentifier(
fieldDataFileOperationSpec.sourceSimDataKey,
fieldDataFileOperationSpec.sourceOwner),
simJobIndex);
-
- SimulationData simulationData = (SimulationData)getVCData(sourceSimDataID);
- boolean isOldStyle = (simulationData.getResultsInfoObject() instanceof VCSimulationDataIdentifierOldStyle);
- //
- //log,mesh,zip,func
- //
- KeyValue origSimKey = fieldDataFileOperationSpec.sourceSimDataKey;
- File meshFile_orig = simulationData.getMeshFile(false);
- File funcFile_orig = simulationData.getFunctionsFile(false);
- File subdomainFile_orig = simulationData.getSubdomainFile();
- File fdLogFile_orig = simulationData.getLogFile();
- File zipFile_orig = simulationData.getZipFile(false, 0);
- boolean bCopySubdomainFile = subdomainFile_orig.exists();
- //Dont' check subdomainFile_orig
- if(!(meshFile_orig.exists() && funcFile_orig.exists() && fdLogFile_orig.exists() && zipFile_orig.exists())){
- throw new RuntimeException("Couldn't find all of the files required to copy sim");
- }
-
- File userDir = getPrimaryUserDir(fieldDataFileOperationSpec.owner, true);
- File meshFile_new = new File(userDir,SimulationData.createCanonicalMeshFileName(fieldDataFileOperationSpec.specEDI.getKey(),0,false));
- File funcFile_new = new File(userDir,SimulationData.createCanonicalFunctionsFileName(fieldDataFileOperationSpec.specEDI.getKey(),0,false));
- File subdomainFile_new = new File(userDir,SimulationData.createCanonicalSubdomainFileName(fieldDataFileOperationSpec.specEDI.getKey(),0,false));
- File fdLogFile_new = new File(userDir,SimulationData.createCanonicalSimLogFileName(fieldDataFileOperationSpec.specEDI.getKey(),0,false));
- File zipFile_new = new File(userDir,SimulationData.createCanonicalSimZipFileName(fieldDataFileOperationSpec.specEDI.getKey(),0,0,false,false));
- if(meshFile_new.exists() || funcFile_new.exists() || fdLogFile_new.exists() || zipFile_new.exists() || (bCopySubdomainFile && subdomainFile_new.exists())){
- throw new RuntimeException("File names required for new Field Data already exist on server");
- }
-
- removeFilesIfErrorV.add(funcFile_new);
- removeFilesIfErrorV.add(meshFile_new);
- removeFilesIfErrorV.add(fdLogFile_new);
- //Simple copy of mesh and funcfile because they do not have to be changed
- FileUtils.copyFile(meshFile_orig, meshFile_new, false, false, 8*1024);
- FileUtils.copyFile(funcFile_orig, funcFile_new, false, false, 8*1024);
- if(bCopySubdomainFile){
- FileUtils.copyFile(subdomainFile_orig, subdomainFile_new, false, false, 8*1024);
+
+ SimulationData simulationData = (SimulationData)getVCData(sourceSimDataID);
+ boolean isOldStyle = (simulationData.getResultsInfoObject() instanceof VCSimulationDataIdentifierOldStyle);
+ //
+ //log,mesh,zip,func
+ //
+ KeyValue origSimKey = fieldDataFileOperationSpec.sourceSimDataKey;
+ File meshFile_orig = simulationData.getMeshFile(false);
+ File funcFile_orig = simulationData.getFunctionsFile(false);
+ File subdomainFile_orig = simulationData.getSubdomainFile();
+ File fdLogFile_orig = simulationData.getLogFile();
+ File zipFile_orig = simulationData.getZipFile(false, 0);
+ boolean bCopySubdomainFile = subdomainFile_orig.exists();
+ //Dont' check subdomainFile_orig
+ if(!(meshFile_orig.exists() && funcFile_orig.exists() && fdLogFile_orig.exists() && zipFile_orig.exists())){
+ throw new RuntimeException("Couldn't find all of the files required to copy sim");
+ }
+
+ File userDir = getPrimaryUserDir(fieldDataFileOperationSpec.owner, true);
+ File meshFile_new = new File(userDir,SimulationData.createCanonicalMeshFileName(fieldDataFileOperationSpec.specEDI.getKey(),0,false));
+ File funcFile_new = new File(userDir,SimulationData.createCanonicalFunctionsFileName(fieldDataFileOperationSpec.specEDI.getKey(),0,false));
+ File subdomainFile_new = new File(userDir,SimulationData.createCanonicalSubdomainFileName(fieldDataFileOperationSpec.specEDI.getKey(),0,false));
+ File fdLogFile_new = new File(userDir,SimulationData.createCanonicalSimLogFileName(fieldDataFileOperationSpec.specEDI.getKey(),0,false));
+ File zipFile_new = new File(userDir,SimulationData.createCanonicalSimZipFileName(fieldDataFileOperationSpec.specEDI.getKey(),0,0,false,false));
+ if(meshFile_new.exists() || funcFile_new.exists() || fdLogFile_new.exists() || zipFile_new.exists() || (bCopySubdomainFile && subdomainFile_new.exists())){
+ throw new RuntimeException("File names required for new Field Data already exist on server");
+ }
+
+ removeFilesIfErrorV.add(funcFile_new);
+ removeFilesIfErrorV.add(meshFile_new);
+ removeFilesIfErrorV.add(fdLogFile_new);
+ //Simple copy of mesh and funcfile because they do not have to be changed
+ FileUtils.copyFile(meshFile_orig, meshFile_new, false, false, 8*1024);
+ FileUtils.copyFile(funcFile_orig, funcFile_new, false, false, 8*1024);
+ if(bCopySubdomainFile){
+ FileUtils.copyFile(subdomainFile_orig, subdomainFile_new, false, false, 8*1024);
+ }
+
+ //Copy Log file and replace original simID with ExternalDataIdentifier id
+ BufferedWriter writer = null;
+ try{
+ String origLog = FileUtils.readFileToString(fdLogFile_orig);
+ String newLogStr;
+ String replace_new =
+ SimulationData.createSimIDWithJobIndex(
+ fieldDataFileOperationSpec.specEDI.getKey(),
+ FieldDataFileOperationSpec.JOBINDEX_DEFAULT, false);
+ if(isOldStyle){
+ String replace_orig =
+ SimulationData.createSimIDWithJobIndex(origSimKey, 0, true);
+ newLogStr = origLog.replaceAll(replace_orig, replace_new);
+ }else{
+ String replace_orig =
+ SimulationData.createSimIDWithJobIndex(
+ origSimKey,
+ fieldDataFileOperationSpec.sourceSimParamScanJobIndex, false);
+ newLogStr= origLog.replaceAll(replace_orig, replace_new);
+ }
+ writer = new BufferedWriter(new FileWriter(fdLogFile_new));
+ writer.write(newLogStr);
+ writer.close();
+ }finally{
+ try{if(writer != null){writer.close();}}catch(Exception e){/*ignore*/};
+ }
+
+ //
+ //Copy zip file and rename entries
+ //
+ int zipIndex = 0;
+ while(true){//Loop because there might be more than 1 zip file for large datasets
+ zipFile_orig = simulationData.getZipFile(false, zipIndex);
+ if(!zipFile_orig.exists()){
+ //done
+ break;
}
-
- //Copy Log file and replace original simID with ExternalDataIdentifier id
- BufferedWriter writer = null;
- try{
- String origLog = FileUtils.readFileToString(fdLogFile_orig);
- String newLogStr;
- String replace_new =
- SimulationData.createSimIDWithJobIndex(
- fieldDataFileOperationSpec.specEDI.getKey(),
- FieldDataFileOperationSpec.JOBINDEX_DEFAULT, false);
- if(isOldStyle){
- String replace_orig =
- SimulationData.createSimIDWithJobIndex(origSimKey, 0, true);
- newLogStr = origLog.replaceAll(replace_orig, replace_new);
- }else{
- String replace_orig =
- SimulationData.createSimIDWithJobIndex(
- origSimKey,
- fieldDataFileOperationSpec.sourceSimParamScanJobIndex, false);
- newLogStr= origLog.replaceAll(replace_orig, replace_new);
- }
- writer = new BufferedWriter(new FileWriter(fdLogFile_new));
- writer.write(newLogStr);
- writer.close();
- }finally{
- try{if(writer != null){writer.close();}}catch(Exception e){/*ignore*/};
- }
-
- //
- //Copy zip file and rename entries
- //
- int zipIndex = 0;
- while(true){//Loop because there might be more than 1 zip file for large datasets
- zipFile_orig = simulationData.getZipFile(false, zipIndex);
- if(!zipFile_orig.exists()){
- //done
- break;
- }
- zipFile_new = new File(userDir,SimulationData.createCanonicalSimZipFileName(fieldDataFileOperationSpec.specEDI.getKey(),zipIndex,0,false,false));
- if(zipFile_new.exists()){
- throw new DataAccessException("new zipfile name "+zipFile_new.getAbsolutePath()+" already exists");
- }
- removeFilesIfErrorV.add(zipFile_new);
-
- ZipFile inZipFile = null;
- InputStream zis = null;
- ZipOutputStream zos = null;
- try{
- inZipFile = new ZipFile(zipFile_orig);;
- zos = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(zipFile_new)));
- Enumeration extends ZipEntry> zipEntryEnum = inZipFile.getEntries();
- while(zipEntryEnum.hasMoreElements()){
- ZipEntry zeIN = zipEntryEnum.nextElement();
- byte[] zdataIN = new byte[(int)zeIN.getSize()];
- int num = 0;
- int numTotal = 0;
- zis = new BufferedInputStream(inZipFile.getInputStream((ZipArchiveEntry) zeIN));
- //long startTime = System.currentTimeMillis();
- while((num = zis.read(zdataIN, numTotal, zdataIN.length-numTotal)) != -1 && numTotal != zdataIN.length){
- numTotal+= num;
- }
- //System.out.println("zipread time="+((System.currentTimeMillis()-startTime)/1000.0));
- zis.close();
- String newName;
- String replace_new =
- SimulationData.createSimIDWithJobIndex(
- fieldDataFileOperationSpec.specEDI.getKey(),
- FieldDataFileOperationSpec.JOBINDEX_DEFAULT, false);
- if(isOldStyle){
- String replace_orig =
- SimulationData.createSimIDWithJobIndex(origSimKey, 0, true);
- newName = zeIN.getName().replaceAll(replace_orig, replace_new);
- }else{
- String replace_orig =
- SimulationData.createSimIDWithJobIndex(
- origSimKey,
- fieldDataFileOperationSpec.sourceSimParamScanJobIndex, false);
- newName = zeIN.getName().replaceAll(replace_orig, replace_new);
- }
- ZipEntry zeOUT = new ZipEntry(newName);
- zeOUT.setComment(zeIN.getComment());
- zeOUT.setCompressedSize(zeIN.getCompressedSize());
- zeOUT.setCrc(zeIN.getCrc());
- zeOUT.setExtra(zeIN.getExtra());
- zeOUT.setMethod(zeIN.getMethod());
- zeOUT.setSize(zeIN.getSize());
- zeOUT.setTime(zeIN.getTime());
+ zipFile_new = new File(userDir,SimulationData.createCanonicalSimZipFileName(fieldDataFileOperationSpec.specEDI.getKey(),zipIndex,0,false,false));
+ if(zipFile_new.exists()){
+ throw new DataAccessException("new zipfile name "+zipFile_new.getAbsolutePath()+" already exists");
+ }
+ removeFilesIfErrorV.add(zipFile_new);
+
+ ZipFile inZipFile = null;
+ InputStream zis = null;
+ ZipOutputStream zos = null;
+ try{
+ inZipFile = new ZipFile(zipFile_orig);;
+ zos = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(zipFile_new)));
+ Enumeration extends ZipEntry> zipEntryEnum = inZipFile.getEntries();
+ while(zipEntryEnum.hasMoreElements()){
+ ZipEntry zeIN = zipEntryEnum.nextElement();
+ byte[] zdataIN = new byte[(int)zeIN.getSize()];
+ int num = 0;
+ int numTotal = 0;
+ zis = new BufferedInputStream(inZipFile.getInputStream((ZipArchiveEntry) zeIN));
+ //long startTime = System.currentTimeMillis();
+ while((num = zis.read(zdataIN, numTotal, zdataIN.length-numTotal)) != -1 && numTotal != zdataIN.length){
+ numTotal+= num;
+ }
+ //System.out.println("zipread time="+((System.currentTimeMillis()-startTime)/1000.0));
+ zis.close();
+ String newName;
+ String replace_new =
+ SimulationData.createSimIDWithJobIndex(
+ fieldDataFileOperationSpec.specEDI.getKey(),
+ FieldDataFileOperationSpec.JOBINDEX_DEFAULT, false);
+ if(isOldStyle){
+ String replace_orig =
+ SimulationData.createSimIDWithJobIndex(origSimKey, 0, true);
+ newName = zeIN.getName().replaceAll(replace_orig, replace_new);
+ }else{
+ String replace_orig =
+ SimulationData.createSimIDWithJobIndex(
+ origSimKey,
+ fieldDataFileOperationSpec.sourceSimParamScanJobIndex, false);
+ newName = zeIN.getName().replaceAll(replace_orig, replace_new);
+ }
+ ZipEntry zeOUT = new ZipEntry(newName);
+ zeOUT.setComment(zeIN.getComment());
+ zeOUT.setCompressedSize(zeIN.getCompressedSize());
+ zeOUT.setCrc(zeIN.getCrc());
+ zeOUT.setExtra(zeIN.getExtra());
+ zeOUT.setMethod(zeIN.getMethod());
+ zeOUT.setSize(zeIN.getSize());
+ zeOUT.setTime(zeIN.getTime());
// startTime = System.currentTimeMillis();
- zos.putNextEntry(zeOUT);
- zos.write(zdataIN, 0, zdataIN.length);
+ zos.putNextEntry(zeOUT);
+ zos.write(zdataIN, 0, zdataIN.length);
// System.out.println("zipwrite time="+((System.currentTimeMillis()-startTime)/1000.0)+"\n");
- }
- }finally{
- try{if(zis != null){zis.close();}}catch(Exception e){/*ignore*/};
- try{if(zos != null){zos.close();}}catch(Exception e){/*ignore*/};
- }
- zipIndex+= 1;
- }
- //Now see if we can read what we just wrote
- return fieldDataFileOperation(
- FieldDataFileOperationSpec.
- createInfoFieldDataFileOperationSpec(
- fieldDataFileOperationSpec.specEDI.getKey(),
- fieldDataFileOperationSpec.owner,
- FieldDataFileOperationSpec.JOBINDEX_DEFAULT));
- }catch(Exception e){
- lg.error(e.getMessage(), e);
- try{
- for(int i=0;i simFileNamesV = new Vector();
- try{
- if(!fdLogFile.createNewFile()){
- throw new Exception("File.createNewFile() returned null");
- }
- ps = new PrintStream(fdLogFile);
- for(int i=0;i simFileNamesV = new Vector();
+ try{
+ if(!fdLogFile.createNewFile()){
+ throw new Exception("File.createNewFile() returned null");
+ }
+ ps = new PrintStream(fdLogFile);
+ for(int i=0;i dbFuncFileNamesAndSimKeys = null;
-// try{
-// dbFuncFileNamesAndSimKeys =
-// FieldDataDBOperationDriver.getFunctionFileNamesAndSimKeys(
-// fieldDataFileOperationSpec.specEDI.getOwner());
-// }catch(Exception e){
-// lg.error(e);
-// throw new RuntimeException("couldn't get Function File names from Database\n"+e.getMessage());
-// }
-// //String regex = "^.*"+MathMLTags.FIELD+"\\s*\\(\\s*"+fieldDataFileOperationSpec.specEDI.getName()+"\\s*,.*$";
-// String regex = "^.*?field\\s*\\(\\s*"+fieldDataFileOperationSpec.specEDI.getName()+"\\s*,.*?$";
-// java.util.regex.Pattern pattern =
-// java.util.regex.Pattern.compile(regex);//,java.util.regex.Pattern.MULTILINE|java.util.regex.Pattern.DOTALL);
-// Matcher matcher = pattern.matcher("");
-// Set> funcAndSimsES = dbFuncFileNamesAndSimKeys.entrySet();
-// Vector referencingFuncFileDescription =
-// new Vector();
-// boolean bSearchSecondary =
-// secondaryRootDirectory != null &&
-// !primaryRootDirectory.equals(secondaryRootDirectory);
-// TreeSet searchedFuncFilesTS = new TreeSet();
-// Iterator> iter = funcAndSimsES.iterator();
-// FunctionFileGenerator.FuncFileLineInfo funcfileInfo = null;
-// while(iter.hasNext()){
-// Map.Entry currentEntry = iter.next();
-// File currentFile = null;
-// for (int i = 0; i < (bSearchSecondary?2:1); i++) {
-// if(searchedFuncFilesTS.contains(currentEntry.getKey())){
-// continue;
-// }
-// currentFile = new File(
-// getUserDirectoryName(
-// (i==0?primaryRootDirectory:secondaryRootDirectory),
-// fieldDataFileOperationSpec.specEDI.getOwner()),currentEntry.getKey());
-// if(!currentFile.exists()){
-// continue;
-// }
-// searchedFuncFilesTS.add(currentEntry.getKey());
-// LineNumberReader lineNumberReader = null;
-// Vector referringFieldfunctionNamesV = new Vector();
-// try{
-// lineNumberReader = new LineNumberReader(new FileReader(currentFile));
-// String funcFileLine = null;
-// while((funcFileLine = lineNumberReader.readLine()) != null){
-// funcfileInfo = FunctionFileGenerator.readFunctionLine(funcFileLine);
-// if(funcfileInfo != null && funcfileInfo.functionExpr != null){
-// matcher.reset(funcfileInfo.functionExpr);
-// if(matcher.matches()){
-// referringFieldfunctionNamesV.add(funcfileInfo.functionName);
-// }
-// }
-// }
-// lineNumberReader.close();
-// if(referringFieldfunctionNamesV.size() > 0){
-// FieldDataFileOperationResults.FieldDataReferenceInfo fieldDataReferenceInfo =
-// FieldDataDBOperationDriver.getModelDescriptionForSimulation(
-// fieldDataFileOperationSpec.specEDI.getOwner(), currentEntry.getValue());
-// fieldDataReferenceInfo.funcNames = referringFieldfunctionNamesV.toArray(new String[0]);
-// referencingFuncFileDescription.add(fieldDataReferenceInfo);
-//// for (int j = 0; j < referringFieldfunctionNamesV.size(); j++) {
-//// referencingFuncFileDescription.add(new String[][] {
-//// referringFieldfunctionNamesV.elementAt(j),modelDescription});
-//// }
-// }
-// }catch(Exception e){
-// lg.error(e);
-// throw new RuntimeException(e.getMessage(),e);
-// }finally{
-// if(lineNumberReader != null){try{lineNumberReader.close();}catch(Exception e){lg.error(e);}}
-// }
-// }
-// }
-// if(referencingFuncFileDescription.size() > 0){
-// FieldDataFileOperationResults fdfor = new FieldDataFileOperationResults();
-// fdfor.dependantFunctionInfo =
-// referencingFuncFileDescription.toArray(new FieldDataFileOperationResults.FieldDataReferenceInfo[0]);
-// return fdfor;
-// }
-// return null;
- }else if(fieldDataFileOperationSpec.opType == FieldDataFileOperationSpec.FDOS_DELETE){
-// if(fieldDataFileOperation(
+ fieldDataFileOperationSpec.specEDI.getKey(),
+ fieldDataFileOperationSpec.owner,
+ FieldDataFileOperationSpec.JOBINDEX_DEFAULT));
+ }catch(Exception e){
+ lg.error(e.getMessage(), e);
+ throw new RuntimeException(e);
+ }
+}
+
+private FieldDataFileOperationResults fieldDataDelete(FieldDataFileOperationSpec fieldDataFileOperationSpec) throws ObjectNotFoundException {
+ // if(fieldDataFileOperation(
// FieldDataFileOperationSpec.
// createDependantFuncsFieldDataFileOperationSpec(
// fieldDataFileOperationSpec.specEDI)) != null){
// throw new RuntimeException("Error: Delete failed, reference to FieldData '"+fieldDataFileOperationSpec.specEDI.getName()+"' found in Simulation Data function");
// }
- //
- //Remove FieldData from caches
- //
- if(cacheTable0 != null){
- VCSimulationIdentifier vcSimID =
+ //
+ //Remove FieldData from caches
+ //
+ if(cacheTable0 != null){
+ VCSimulationIdentifier vcSimID =
new VCSimulationIdentifier(
- fieldDataFileOperationSpec.specEDI.getKey(),
- fieldDataFileOperationSpec.specEDI.getOwner());
- VCSimulationDataIdentifier simDataID =
+ fieldDataFileOperationSpec.specEDI.getKey(),
+ fieldDataFileOperationSpec.specEDI.getOwner());
+ VCSimulationDataIdentifier simDataID =
new VCSimulationDataIdentifier(
vcSimID,
FieldDataFileOperationSpec.JOBINDEX_DEFAULT);
- cacheTable0.removeAll(simDataID);
- cacheTable0.removeAll(fieldDataFileOperationSpec.specEDI);
- }
- if(userExtDataIDH != null){
- userExtDataIDH.remove(fieldDataFileOperationSpec.specEDI.getOwner());
- }
-
- SimulationData simulationData = null;
- try{
- simulationData = (SimulationData)getVCData(fieldDataFileOperationSpec.specEDI);
- }catch(Exception e){
- throw new ObjectNotFoundException(e.getMessage(),e);
- }
- File fdLogFile = simulationData.getLogFile();
- File fdMeshFile = simulationData.getMeshFile(false);
- File fdFunctionFile = simulationData.getFunctionsFile(true);
- File fdSubdomainFile = simulationData.getSubdomainFile();
- if(!fdLogFile.delete()){
- System.out.println("Couldn't delete log file "+fdLogFile.getAbsolutePath());
- }
- if(!fdMeshFile.delete()){
- System.out.println("Couldn't delete Mesh file "+fdMeshFile.getAbsolutePath());
- }
- if(!fdFunctionFile.delete()){
- System.out.println("Couldn't delete Functions file "+fdFunctionFile.getAbsolutePath());
+ cacheTable0.removeAll(simDataID);
+ cacheTable0.removeAll(fieldDataFileOperationSpec.specEDI);
+ }
+ if(userExtDataIDH != null){
+ userExtDataIDH.remove(fieldDataFileOperationSpec.specEDI.getOwner());
+ }
+
+ SimulationData simulationData = null;
+ try{
+ simulationData = (SimulationData)getVCData(fieldDataFileOperationSpec.specEDI);
+ }catch(Exception e){
+ throw new ObjectNotFoundException(e.getMessage(),e);
+ }
+ File fdLogFile = simulationData.getLogFile();
+ File fdMeshFile = simulationData.getMeshFile(false);
+ File fdFunctionFile = simulationData.getFunctionsFile(true);
+ File fdSubdomainFile = simulationData.getSubdomainFile();
+ if(!fdLogFile.delete()){
+ System.out.println("Couldn't delete log file "+fdLogFile.getAbsolutePath());
+ }
+ if(!fdMeshFile.delete()){
+ System.out.println("Couldn't delete Mesh file "+fdMeshFile.getAbsolutePath());
+ }
+ if(!fdFunctionFile.delete()){
+ System.out.println("Couldn't delete Functions file "+fdFunctionFile.getAbsolutePath());
+ }
+ if(fdSubdomainFile.exists() && fdSubdomainFile.delete()){
+ System.out.println("Couldn't delete Subdomains file "+fdSubdomainFile.getAbsolutePath());
+ }
+
+ int index = 0;
+ while(true){
+ File fdZipFile = simulationData.getZipFile(false, index);
+ if(index != 0 && !fdZipFile.exists()){
+ break;
}
- if(fdSubdomainFile.exists() && fdSubdomainFile.delete()){
- System.out.println("Couldn't delete Subdomains file "+fdSubdomainFile.getAbsolutePath());
+ if(!fdZipFile.delete()){
+ System.out.println("Couldn't delete zip file "+fdZipFile.getAbsolutePath());
}
+ index+= 1;
+ }
+ return null;
+}
- int index = 0;
- while(true){
- File fdZipFile = simulationData.getZipFile(false, index);
- if(index != 0 && !fdZipFile.exists()){
- break;
- }
- if(!fdZipFile.delete()){
- System.out.println("Couldn't delete zip file "+fdZipFile.getAbsolutePath());
- }
- index+= 1;
- }
- return null;
- }else if(fieldDataFileOperationSpec.opType == FieldDataFileOperationSpec.FDOS_INFO){
- try{
- FieldDataFileOperationResults fdor = new FieldDataFileOperationResults();
- VCDataIdentifier sourceSimDataID =
+private FieldDataFileOperationResults fieldDataInfo(FieldDataFileOperationSpec fieldDataFileOperationSpec) throws ObjectNotFoundException {
+ try{
+ FieldDataFileOperationResults fdor = new FieldDataFileOperationResults();
+ VCDataIdentifier sourceSimDataID =
new VCSimulationDataIdentifier(
- new VCSimulationIdentifier(
- fieldDataFileOperationSpec.sourceSimDataKey,
- fieldDataFileOperationSpec.sourceOwner),
- fieldDataFileOperationSpec.sourceSimParamScanJobIndex);
- fdor.dataIdentifierArr =
+ new VCSimulationIdentifier(
+ fieldDataFileOperationSpec.sourceSimDataKey,
+ fieldDataFileOperationSpec.sourceOwner),
+ fieldDataFileOperationSpec.sourceSimParamScanJobIndex);
+ fdor.dataIdentifierArr =
getDataIdentifiers(null,sourceSimDataID);
- CartesianMesh mesh = getMesh(sourceSimDataID);
- fdor.extent = mesh.getExtent();
- fdor.origin = mesh.getOrigin();
- fdor.iSize = new ISize(mesh.getSizeX(),mesh.getSizeY(),mesh.getSizeZ());
- fdor.times = getDataSetTimes(sourceSimDataID);
- return fdor;
- }catch(FileNotFoundException e){
- throw new ObjectNotFoundException("Error FieldDataOp get INFO",e);
- }catch(Exception e){
- throw new RuntimeException("Error FieldDataFileOperationSpec INFO Operation\n"+e.getMessage());
- }
+ CartesianMesh mesh = getMesh(sourceSimDataID);
+ fdor.extent = mesh.getExtent();
+ fdor.origin = mesh.getOrigin();
+ fdor.iSize = new ISize(mesh.getSizeX(),mesh.getSizeY(),mesh.getSizeZ());
+ fdor.times = getDataSetTimes(sourceSimDataID);
+ return fdor;
+ }catch(FileNotFoundException e){
+ throw new ObjectNotFoundException("Error FieldDataOp get INFO",e);
+ }catch(Exception e){
+ throw new RuntimeException("Error FieldDataFileOperationSpec INFO Operation\n"+e.getMessage());
+ }
+}
+
+public FieldDataFileOperationResults fieldDataFileOperation(FieldDataFileOperationSpec fieldDataFileOperationSpec)
+ throws ObjectNotFoundException{
+
+ if(fieldDataFileOperationSpec.opType == FieldDataFileOperationSpec.FDOS_COPYSIM){
+ return fieldDataCopySim(fieldDataFileOperationSpec);
+ }else if(fieldDataFileOperationSpec.opType == FieldDataFileOperationSpec.FDOS_ADD){
+ return fieldDataAdd(fieldDataFileOperationSpec);
+ }else if(fieldDataFileOperationSpec.opType == FieldDataFileOperationSpec.FDOS_DEPENDANTFUNCS){
+ throw new RuntimeException("This function is not currently used");
+ }else if(fieldDataFileOperationSpec.opType == FieldDataFileOperationSpec.FDOS_DELETE){
+ return fieldDataDelete(fieldDataFileOperationSpec);
+ }else if(fieldDataFileOperationSpec.opType == FieldDataFileOperationSpec.FDOS_INFO){
+ return fieldDataInfo(fieldDataFileOperationSpec);
}
-
throw new RuntimeException("Field data operation "+fieldDataFileOperationSpec.opType+" unknown.");
}
diff --git a/vcell-core/src/main/java/org/vcell/util/document/ExternalDataIdentifier.java b/vcell-core/src/main/java/org/vcell/util/document/ExternalDataIdentifier.java
index 5f761c2eb4..529bf77e2d 100644
--- a/vcell-core/src/main/java/org/vcell/util/document/ExternalDataIdentifier.java
+++ b/vcell-core/src/main/java/org/vcell/util/document/ExternalDataIdentifier.java
@@ -11,6 +11,7 @@
package org.vcell.util.document;
import java.util.StringTokenizer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
import org.vcell.util.Matchable;
@@ -25,9 +26,30 @@ public class ExternalDataIdentifier implements SimResampleInfoProvider,java.io.S
private org.vcell.util.document.User owner;
private String name;
+ public static org.vcell.restclient.model.ExternalDataIdentifier externalDataIdentifierToDTO(ExternalDataIdentifier externalDataIdentifier) {
+ org.vcell.restclient.model.ExternalDataIdentifier dto = new org.vcell.restclient.model.ExternalDataIdentifier();
+ dto.key(KeyValue.keyValueToDTO(externalDataIdentifier.getKey()));
+ dto.owner(User.userToDTO(externalDataIdentifier.getOwner()));
+ dto.name(externalDataIdentifier.getName());
+ return dto;
+ }
+
+ public static ExternalDataIdentifier dtoToExternalDataIdentifier(org.vcell.restclient.model.ExternalDataIdentifier dto){
+ ExternalDataIdentifier externalDataIdentifier = new ExternalDataIdentifier();
+ externalDataIdentifier.key = KeyValue.dtoToKeyValue(dto.getDataKey());
+ externalDataIdentifier.name = dto.getName();
+ externalDataIdentifier.owner = User.dtoToUser(dto.getOwner());
+ return externalDataIdentifier;
+ }
+
/**
* FieldDataIdentifier constructor comment.
*/
+
+public ExternalDataIdentifier(){
+ super();
+}
+
public ExternalDataIdentifier(KeyValue arg_key, org.vcell.util.document.User argOwner,String argName) {
super();
key = arg_key;
@@ -46,6 +68,8 @@ public static ExternalDataIdentifier fromTokens(StringTokenizer st){
public String toCSVString(){
return key.toString()+","+owner.getName()+","+owner.getID().toString()+","+name;
}
+
+@JsonIgnore
public String getID() {
return "SimID_"+getKey().toString()+"_0_";
}
diff --git a/vcell-core/src/main/java/org/vcell/util/document/KeyValue.java b/vcell-core/src/main/java/org/vcell/util/document/KeyValue.java
index ef704c1842..a786222e98 100644
--- a/vcell-core/src/main/java/org/vcell/util/document/KeyValue.java
+++ b/vcell-core/src/main/java/org/vcell/util/document/KeyValue.java
@@ -20,6 +20,16 @@
public class KeyValue implements java.io.Serializable, Matchable {
private java.math.BigDecimal value = null;
+ public static org.vcell.restclient.model.KeyValue keyValueToDTO(KeyValue kv) {
+ org.vcell.restclient.model.KeyValue k = new org.vcell.restclient.model.KeyValue();
+ k.setValue(kv.value);
+ return k;
+ }
+ public static KeyValue dtoToKeyValue(org.vcell.restclient.model.KeyValue dto){
+ return dto == null ? null : new KeyValue(dto.getValue());
+ }
+
+
public KeyValue(String value) throws NumberFormatException {
this.value = new java.math.BigDecimal(value);
}
diff --git a/vcell-core/src/main/java/org/vcell/util/document/User.java b/vcell-core/src/main/java/org/vcell/util/document/User.java
index 38ccdd7ecf..041727f4b3 100644
--- a/vcell-core/src/main/java/org/vcell/util/document/User.java
+++ b/vcell-core/src/main/java/org/vcell/util/document/User.java
@@ -13,6 +13,7 @@
import java.util.Arrays;
import java.util.Comparator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
import org.vcell.util.Immutable;
import org.vcell.util.Matchable;
@@ -25,6 +26,17 @@ public class User implements java.io.Serializable, Matchable, Immutable {
private final static String PREVIOUS_DATABASE_VALUE_POWERUSER = "special1";
private final static String PREVIOUS_DATABASE_VALUE_PUBLICATION = "publication";
+ public static org.vcell.restclient.model.User userToDTO(User user) {
+ org.vcell.restclient.model.User userDTO = new org.vcell.restclient.model.User();
+ userDTO.setUserName(user.userName);
+ userDTO.setKey(KeyValue.keyValueToDTO(user.key));
+ return userDTO;
+ }
+
+ public static User dtoToUser(org.vcell.restclient.model.User dto){
+ return new User(dto.getUserName(), KeyValue.dtoToKeyValue(dto.getKey()));
+ }
+
public enum SPECIAL_CLAIM {
admins/*special0*/,
powerUsers/*special1*/,
@@ -146,6 +158,7 @@ public boolean equals(Object obj) {
* This method was created in VisualAge.
* @return long
*/
+@JsonIgnore
public KeyValue getID() {
return key;
}
diff --git a/vcell-rest/src/main/java/org/vcell/restq/handlers/FieldData/FieldDataDB.java b/vcell-rest/src/main/java/org/vcell/restq/handlers/FieldData/FieldDataDB.java
new file mode 100644
index 0000000000..b869b3f7a8
--- /dev/null
+++ b/vcell-rest/src/main/java/org/vcell/restq/handlers/FieldData/FieldDataDB.java
@@ -0,0 +1,151 @@
+package org.vcell.restq.handlers.FieldData;
+
+import cbit.image.ImageException;
+import cbit.image.VCImageUncompressed;
+import cbit.vcell.field.FieldDataDBOperationResults;
+import cbit.vcell.field.FieldDataDBOperationSpec;
+import cbit.vcell.field.FieldDataFileConversion;
+import cbit.vcell.field.io.FieldDataFileOperationResults;
+import cbit.vcell.field.io.FieldDataFileOperationSpec;
+import cbit.vcell.geometry.RegionImage;
+import cbit.vcell.math.VariableType;
+import cbit.vcell.modeldb.DatabaseServerImpl;
+import cbit.vcell.resource.PropertyLoader;
+import cbit.vcell.simdata.DataSetControllerImpl;
+import cbit.vcell.solvers.CartesianMesh;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import org.apache.commons.io.IOUtils;
+import org.vcell.restq.db.AgroalConnectionFactory;
+import org.vcell.util.DataAccessException;
+import org.vcell.util.ObjectNotFoundException;
+import org.vcell.util.document.ExternalDataIdentifier;
+import org.vcell.util.document.KeyValue;
+import org.vcell.util.document.User;
+
+import java.io.*;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Vector;
+import java.util.zip.DataFormatException;
+
+@ApplicationScoped
+public class FieldDataDB {
+
+ private final DatabaseServerImpl databaseServer;
+ private final DataSetControllerImpl dataSetController;
+
+ @Inject
+ public FieldDataDB(AgroalConnectionFactory agroalConnectionFactory) throws DataAccessException, FileNotFoundException {
+ databaseServer = new DatabaseServerImpl(agroalConnectionFactory, agroalConnectionFactory.getKeyFactory());
+ String primarySimDataDir = PropertyLoader.getProperty(PropertyLoader.primarySimDataDirInternalProperty, "/simdata");
+ String secondarySimDataDir = PropertyLoader.getProperty(PropertyLoader.secondarySimDataDirInternalProperty, "/simdata");
+ dataSetController = new DataSetControllerImpl(null,
+ new File(primarySimDataDir),
+ new File(secondarySimDataDir));
+ }
+
+ public FieldDataDBOperationResults copyNoConflict(User user, FieldDataDBOperationSpec spec) throws DataAccessException {
+ return databaseServer.fieldDataDBOperation(user, spec);
+ }
+
+ public ArrayList getAllFieldDataIDs(User user) throws SQLException, DataAccessException {
+ FieldDataDBOperationResults results = databaseServer.fieldDataDBOperation(user, FieldDataDBOperationSpec.createGetExtDataIDsSpec(user));
+ ArrayList fieldDataReferenceList = new ArrayList<>();
+ for (int i =0; i < results.extDataIDArr.length; i++){
+ Vector simRefs = new Vector<>();
+ if (results.extdataIDAndSimRefH != null){
+ simRefs = results.extdataIDAndSimRefH.get(results.extDataIDArr[i]);
+ }
+ FieldDataResource.FieldDataReference fieldDataReference = new FieldDataResource.FieldDataReference(results.extDataIDArr[i], results.extDataAnnotArr[i], simRefs);
+ fieldDataReferenceList.add(fieldDataReference);
+ }
+ return fieldDataReferenceList;
+ }
+
+ public FieldDataFileOperationResults getFieldDataFromID(User user, String id, int jobParameter) throws ObjectNotFoundException {
+ return dataSetController.fieldDataFileOperation(FieldDataFileOperationSpec.createInfoFieldDataFileOperationSpec(new KeyValue(id), user, jobParameter));
+ }
+
+ public FieldDataResource.AnalyzedResultsFromFieldData generateFieldDataFromFile(File imageFile, String fileName) throws DataAccessException, ImageException, DataFormatException {
+ if (imageFile == null) {
+ throw new DataAccessException("No file present");
+ }
+ if (!fileName.contains(".vfrap")) {
+ try {
+ FieldDataFileOperationSpec spec = FieldDataFileConversion.createFDOSFromImageFile(imageFile, false, null);
+ return new FieldDataResource.AnalyzedResultsFromFieldData(
+ spec.shortSpecData, spec.varNames, spec.times, spec.origin, spec.extent, spec.isize, spec.annotation, fileName
+ );
+ } catch (DataFormatException ex) {
+ throw new RuntimeException("Cannot read image " + fileName + "\n" + ex.getMessage());
+ }
+ } else {
+ throw new DataFormatException("Can't use .vfrap files");
+ }
+ }
+
+
+ public FieldDataFileOperationResults saveNewFieldDataFromFile(FieldDataResource.AnalyzedResultsFromFieldData saveFieldData, User user) throws DataAccessException, ImageException, DataFormatException {
+
+
+ VariableType[] varTypes = new VariableType[saveFieldData.varNames().length];
+ for (int j = 0; j < saveFieldData.varNames().length; j++){
+ varTypes[j] = VariableType.VOLUME;
+ }
+ FieldDataDBOperationSpec fieldDataDBOperationSpec = FieldDataDBOperationSpec.createSaveNewExtDataIDSpec(user, saveFieldData.name(), saveFieldData.annotation());
+ FieldDataDBOperationResults results = databaseServer.fieldDataDBOperation(user, fieldDataDBOperationSpec);
+ FieldDataFileOperationSpec fdos = new FieldDataFileOperationSpec(saveFieldData.shortSpecData(), null, null,
+ results.extDataID, saveFieldData.varNames(), varTypes, saveFieldData.times(), user,
+ saveFieldData.origin(), saveFieldData.extent(), saveFieldData.isize(), saveFieldData.annotation(),
+ -1, null, user);
+ CartesianMesh cartesianMesh;
+ fdos.opType = FieldDataFileOperationSpec.FDOS_ADD;
+ try {
+ cartesianMesh = CartesianMesh.createSimpleCartesianMesh(fdos.origin, fdos.extent, fdos.isize,
+ new RegionImage(new VCImageUncompressed(null, new byte[fdos.isize.getXYZ()],//empty regions
+ fdos.extent, fdos.isize.getX(), fdos.isize.getY(), fdos.isize.getZ()),
+ 0, null, null, RegionImage.NO_SMOOTHING));
+ fdos.cartesianMesh = cartesianMesh;
+ FieldDataFileOperationResults fileSaveResults = dataSetController.fieldDataFileOperation(fdos);
+ fileSaveResults.externalDataIdentifier = results.extDataID;
+ return fileSaveResults;
+ } catch (Exception e) {
+ // Remove DB entry if file creation fails
+ databaseServer.fieldDataDBOperation(user, FieldDataDBOperationSpec.createDeleteExtDataIDSpec(results.extDataID));
+ throw new RuntimeException(e);
+ }
+ }
+
+ public FieldDataDBOperationResults saveNewFieldDataIntoDB(User user, FieldDataDBOperationSpec spec) throws DataAccessException {
+ return databaseServer.fieldDataDBOperation(user, spec);
+ }
+
+ public void deleteFieldData(User user, String fieldDataID) throws DataAccessException {
+ ExternalDataIdentifier edi = new ExternalDataIdentifier(new KeyValue(fieldDataID), user, null);
+ databaseServer.fieldDataDBOperation(user, FieldDataDBOperationSpec.createDeleteExtDataIDSpec(edi)); // remove from DB
+ dataSetController.fieldDataFileOperation(FieldDataFileOperationSpec.createDeleteFieldDataFileOperationSpec(edi)); // remove from File System
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vcell-rest/src/main/java/org/vcell/restq/handlers/FieldData/FieldDataResource.java b/vcell-rest/src/main/java/org/vcell/restq/handlers/FieldData/FieldDataResource.java
new file mode 100644
index 0000000000..2011222286
--- /dev/null
+++ b/vcell-rest/src/main/java/org/vcell/restq/handlers/FieldData/FieldDataResource.java
@@ -0,0 +1,205 @@
+package org.vcell.restq.handlers.FieldData;
+
+import cbit.image.ImageException;
+import cbit.vcell.field.io.FieldDataFileOperationResults;
+import cbit.vcell.simdata.DataIdentifier;
+import io.quarkus.security.identity.SecurityIdentity;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.eclipse.microprofile.openapi.annotations.Operation;
+import org.jboss.resteasy.reactive.RestForm;
+import org.vcell.restq.db.UserRestDB;
+import org.vcell.util.DataAccessException;
+import org.vcell.util.Extent;
+import org.vcell.util.ISize;
+import org.vcell.util.Origin;
+import org.vcell.util.document.ExternalDataIdentifier;
+import org.vcell.util.document.KeyValue;
+import org.vcell.util.document.User;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Vector;
+import java.util.regex.Pattern;
+import java.util.zip.DataFormatException;
+
+@Path("/api/v1/fieldData")
+@RequestScoped
+public class FieldDataResource {
+
+ private static final Logger lg = LogManager.getLogger(FieldDataResource.class);
+
+ @Inject
+ SecurityIdentity securityIdentity;
+
+ private final FieldDataDB fieldDataDB;
+ private final UserRestDB userRestDB;
+
+ @Inject
+ public FieldDataResource(FieldDataDB fieldDataDB, UserRestDB userRestDB){
+ this.fieldDataDB = fieldDataDB;
+ this.userRestDB = userRestDB;
+ }
+
+
+ @GET
+ @Path("IDs")
+ @Operation(operationId = "getAllFieldDataIDs", summary = "Get all of the ids used to identify, and retrieve field data.")
+ public ArrayList getAllFieldDataIDs(){
+ try {
+ return fieldDataDB.getAllFieldDataIDs(userRestDB.getUserFromIdentity(securityIdentity));
+ } catch (SQLException e) {
+ throw new WebApplicationException("Can't retrieve field data ID's.", 500);
+ } catch (DataAccessException e) {
+ throw new WebApplicationException(e.getMessage(), 500);
+ }
+ }
+
+ @GET
+ @Path("/fieldDataShape/{fieldDataID}")
+ @Operation(operationId = "getFieldDataShapeFromID", summary = "Get the shape of the field data. That is it's size, origin, extent, and data identifiers.")
+ public FieldDataShape getFieldDataShapeFromID(@PathParam("fieldDataID") String fieldDataID){
+ try {
+ FieldDataFileOperationResults results = fieldDataDB.getFieldDataFromID(userRestDB.getUserFromIdentity(securityIdentity), fieldDataID, 0);
+ return new FieldDataShape(results.extent, results.origin, results.iSize, results.dataIdentifierArr,results.times);
+ } catch (DataAccessException e) {
+ if (e.getCause() instanceof FileNotFoundException){
+ throw new WebApplicationException("Field data not found.", 404);
+ }
+ throw new WebApplicationException("Problem retrieving file.", 500);
+ }
+ }
+
+// @POST
+// @Path("/createFieldDataFromSimulation")
+// @Produces(MediaType.APPLICATION_JSON)
+// @Consumes(MediaType.APPLICATION_JSON)
+// @Operation(operationId = "createNewFieldDataFromSimulation", summary = "Create new field data from a simulation.")
+// public ExternalDataIdentifier submitNewFieldDataToDB(FieldDataDBOperationSpec fieldDataDBOperationSpec){
+// FieldDataDBOperationResults results = null;
+// try {
+// results = fieldDataDB.saveNewFieldDataIntoDB(userRestDB.getUserFromIdentity(securityIdentity), fieldDataDBOperationSpec);
+// } catch (DataAccessException e) {
+// throw new WebApplicationException(e.getMessage(), 500);
+// }
+// return results.extDataID;
+// }
+
+ @POST
+ @Path("/analyzeFieldDataFile")
+ @Produces(MediaType.APPLICATION_JSON)
+ @Consumes(MediaType.MULTIPART_FORM_DATA)
+ @Operation(operationId = "analyzeFieldDataFile", summary = "Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.")
+ public AnalyzedResultsFromFieldData analyzeFieldData(@RestForm File file, @RestForm String fileName){
+ try{
+ if (!Pattern.matches("^[a-z0-9_]*$", fileName) || fileName.length() > 100 || fileName.isEmpty()){
+ throw new WebApplicationException("Invalid file name.", 400);
+ }
+ return fieldDataDB.generateFieldDataFromFile(file, fileName);
+ } catch (ImageException | DataFormatException | DataAccessException e) {
+ throw new WebApplicationException("Can't create new field data file", 500);
+ }
+ }
+
+ @POST
+ @Path("/createFieldDataFromAnalyzedFile")
+ @Produces(MediaType.APPLICATION_JSON)
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Operation(operationId = "createFieldDataFromAnalyzedFile", summary = "Take the analyzed results of the field data, modify it to your liking, then save it on the server.")
+ public FieldDataSaveResults createNewFieldDataFromFile(AnalyzedResultsFromFieldData saveFieldData){
+ FieldDataSaveResults fieldDataSaveResults;
+ try{
+ User user = userRestDB.getUserFromIdentity(securityIdentity);
+ FieldDataFileOperationResults fileResults = fieldDataDB.saveNewFieldDataFromFile(saveFieldData, user);
+ fieldDataSaveResults = new FieldDataSaveResults(fileResults.externalDataIdentifier.getName(), fileResults.externalDataIdentifier.getKey().toString());
+ } catch (ImageException | DataFormatException | DataAccessException e) {
+ throw new WebApplicationException(e.getMessage(), Response.Status.INTERNAL_SERVER_ERROR);
+ }
+ return fieldDataSaveResults;
+ }
+
+// @POST
+// @Path("/copy")
+// @Produces(MediaType.APPLICATION_JSON)
+// @Consumes(MediaType.APPLICATION_JSON)
+// @Operation(operationId = "copyFieldData", summary = "Copy an existing field data entry.")
+// public FieldDataNoCopyConflict copyFieldData(FieldDataDBOperationSpec fieldDataDBOperationSpec){
+// FieldDataDBOperationResults results = null;
+// try {
+// results = fieldDataDB.copyNoConflict(userRestDB.getUserFromIdentity(securityIdentity), fieldDataDBOperationSpec);
+// } catch (DataAccessException e) {
+// throw new WebApplicationException(e.getMessage(), 500);
+// }
+// return new FieldDataNoCopyConflict(results.oldNameNewIDHash, results.oldNameOldExtDataIDKeyHash);
+// }
+
+ @DELETE
+ @Path("/delete/{fieldDataID}")
+ @Operation(operationId = "deleteFieldData", summary = "Delete the selected field data.")
+ public void deleteFieldData(@PathParam("fieldDataID") String fieldDataID){
+ try{
+ fieldDataDB.deleteFieldData(userRestDB.getUserFromIdentity(securityIdentity), fieldDataID);
+ } catch (DataAccessException e) {
+ throw new WebApplicationException(e.getMessage(), 500);
+ }
+ }
+
+ public record FieldDataShape(
+ Extent extent,
+ Origin origin,
+ ISize isize,
+ DataIdentifier[] dataIdentifier,
+ double[] times
+ ){ }
+
+// public record DataID(
+// String name,
+// String displayName,
+// VariableType variableType,
+// String domainName,
+// boolean bFunction
+// ){ }
+
+// public record FieldDataNoCopyConflict(
+// Hashtable oldNameNewIDHash,
+// Hashtable oldNameOldExtDataIDKeyHash
+// ) { }
+
+ public record FieldDataReference(
+ ExternalDataIdentifier externalDataIdentifier,
+ String externalDataAnnotation,
+ Vector externalDataIDSimRefs
+ ) { }
+
+ public record AnalyzedResultsFromFieldData(
+ short[][][] shortSpecData, //[time][var][data]
+ String[] varNames,
+ double[] times,
+ Origin origin,
+ Extent extent,
+ ISize isize,
+ String annotation,
+ String name
+ ){ }
+
+ public record FieldDataSaveResults(
+ String fieldDataName,
+ String fieldDataID
+ ){ }
+
+ public static class FieldDataFile {
+ @RestForm("file")
+ public File file;
+
+ @RestForm("fileName")
+ public String fileName;
+ }
+
+}
diff --git a/vcell-rest/src/test/java/org/vcell/restq/TestEndpointUtils.java b/vcell-rest/src/test/java/org/vcell/restq/TestEndpointUtils.java
index 7905f19d21..c7b59d61c3 100644
--- a/vcell-rest/src/test/java/org/vcell/restq/TestEndpointUtils.java
+++ b/vcell-rest/src/test/java/org/vcell/restq/TestEndpointUtils.java
@@ -13,7 +13,9 @@
import cbit.vcell.xml.XmlHelper;
import cbit.vcell.xml.XmlParseException;
import io.quarkus.test.keycloak.client.KeycloakTestClient;
+import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang.RandomStringUtils;
import org.vcell.restclient.ApiClient;
import org.vcell.restclient.ApiException;
import org.vcell.restclient.api.UsersResourceApi;
@@ -26,11 +28,14 @@
import java.beans.PropertyVetoException;
import java.beans.PropertyVetoException;
+import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
import java.sql.SQLException;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Objects;
public class TestEndpointUtils {
@@ -132,4 +137,12 @@ public static BioModel defaultBiomodel() throws Exception {
simulation.getSolverTaskDescription().setTimeBounds(new TimeBounds(0, 10));
return biomodel;
}
+
+ public static File getResourceFile(String relativeResourcePath) throws IOException {
+ InputStream inputStream = Objects.requireNonNull(TestEndpointUtils.class.getResourceAsStream(relativeResourcePath));
+ File tmpFile = File.createTempFile("tmp-" + RandomStringUtils.randomAlphabetic(10), ".api-test-file");
+ tmpFile.deleteOnExit();
+ FileUtils.copyInputStreamToFile(inputStream, tmpFile);
+ return tmpFile;
+ }
}
diff --git a/vcell-rest/src/test/java/org/vcell/restq/apiclient/FieldDataAPITest.java b/vcell-rest/src/test/java/org/vcell/restq/apiclient/FieldDataAPITest.java
new file mode 100644
index 0000000000..62e2c889d5
--- /dev/null
+++ b/vcell-rest/src/test/java/org/vcell/restq/apiclient/FieldDataAPITest.java
@@ -0,0 +1,192 @@
+package org.vcell.restq.apiclient;
+
+import cbit.vcell.math.VariableType;
+import cbit.vcell.resource.PropertyLoader;
+import io.quarkus.test.junit.QuarkusTest;
+import io.quarkus.test.keycloak.client.KeycloakTestClient;
+import jakarta.inject.Inject;
+import org.apache.commons.io.FileUtils;
+import org.eclipse.jetty.http.HttpStatus;
+import org.eclipse.microprofile.config.inject.ConfigProperty;
+import org.junit.jupiter.api.*;
+import org.vcell.restclient.ApiClient;
+import org.vcell.restclient.ApiException;
+import org.vcell.restclient.api.FieldDataResourceApi;
+import org.vcell.restclient.api.UsersResourceApi;
+import org.vcell.restclient.model.AnalyzedResultsFromFieldData;
+import org.vcell.restclient.model.FieldDataReference;
+import org.vcell.restclient.model.FieldDataSaveResults;
+import org.vcell.restclient.model.FieldDataShape;
+import org.vcell.restq.TestEndpointUtils;
+import org.vcell.restq.config.CDIVCellConfigProvider;
+import org.vcell.restq.db.AgroalConnectionFactory;
+import org.vcell.util.DataAccessException;
+import org.vcell.util.Extent;
+import org.vcell.util.ISize;
+import org.vcell.util.Origin;
+
+import java.io.File;
+import java.io.IOException;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
+@QuarkusTest
+public class FieldDataAPITest {
+
+ @ConfigProperty(name = "quarkus.http.test-port")
+ Integer testPort;
+
+ @Inject
+ AgroalConnectionFactory agroalConnectionFactory;
+
+ KeycloakTestClient keycloakClient = new KeycloakTestClient();
+
+ private ApiClient aliceAPIClient;
+ private ApiClient bobAPIClient;
+ private static String previousPrimarySimDir;
+ private static String previousSecondarySimDir;
+
+ private final static File temporaryFolder = new File(System.getProperty("java.io.tmpdir") + "/fieldDataTest");
+
+ @BeforeAll
+ public static void setupConfig(){
+ PropertyLoader.setConfigProvider(new CDIVCellConfigProvider());
+ }
+
+ @BeforeEach
+ public void createClients() throws ApiException {
+ aliceAPIClient = TestEndpointUtils.createAuthenticatedAPIClient(keycloakClient, testPort, TestEndpointUtils.TestOIDCUsers.alice);
+ bobAPIClient = TestEndpointUtils.createAuthenticatedAPIClient(keycloakClient, testPort, TestEndpointUtils.TestOIDCUsers.bob);
+ UsersResourceApi usersResourceApi = new UsersResourceApi(aliceAPIClient);
+ usersResourceApi.mapUser(TestEndpointUtils.administratorUserLoginInfo);
+
+ temporaryFolder.mkdirs();
+
+ previousPrimarySimDir = PropertyLoader.getProperty(PropertyLoader.primarySimDataDirInternalProperty, null);
+ PropertyLoader.setProperty(PropertyLoader.primarySimDataDirInternalProperty, temporaryFolder.getAbsolutePath());
+
+ previousSecondarySimDir = PropertyLoader.getProperty(PropertyLoader.secondarySimDataDirExternalProperty, null);
+ System.setProperty(PropertyLoader.secondarySimDataDirExternalProperty, temporaryFolder.getAbsolutePath());
+ }
+
+ @AfterEach
+ public void removeOIDCMappings() throws SQLException, DataAccessException, IOException {
+ TestEndpointUtils.removeAllMappings(agroalConnectionFactory);
+ if (previousPrimarySimDir != null){
+ PropertyLoader.setProperty(PropertyLoader.primarySimDataDirInternalProperty, previousPrimarySimDir);
+ }
+ if (previousSecondarySimDir != null){
+ System.setProperty(PropertyLoader.secondarySimDataDirExternalProperty, previousSecondarySimDir);
+ }
+
+ FileUtils.cleanDirectory(temporaryFolder);
+ }
+
+
+ @Test
+ public void testAddAndDeleteFieldDataFromFile() throws ApiException {
+ FieldDataResourceApi fieldDataResourceApi = new FieldDataResourceApi(aliceAPIClient);
+ List>> matrix = new ArrayList<>();
+ List varNames = new ArrayList<>(){{add("Variable 1");}};
+ List times = new ArrayList<>(); times.add(0.0); times.add(1.0);
+
+ double x = 5;
+ double y = 4;
+ double z = 3;
+ for (int t = 0; t < times.size(); t++){
+ List> tArr = new ArrayList<>();
+ for (int vars = 0; vars < varNames.size(); vars++){
+ List vArr = new ArrayList<>();
+ for (int i = 0; i < (x * y * z); i++){
+ vArr.add(i);
+ }
+ tArr.add(vArr);
+ }
+ matrix.add(tArr);
+ }
+ VariableType varType = VariableType.getVariableTypeFromInteger(1);
+ Origin origin = new Origin(0.0, 0.0, 0.0);
+ Extent extent = new Extent(x, y, z);
+ ISize iSize = new ISize(1, 1, 1);
+
+ /////////////////////
+ // Add Field Data //
+ ///////////////////
+ AnalyzedResultsFromFieldData saveFieldDataFromFile = new AnalyzedResultsFromFieldData();
+ saveFieldDataFromFile.setShortSpecData(matrix); saveFieldDataFromFile.varNames(varNames);
+ saveFieldDataFromFile.times(times); saveFieldDataFromFile.origin(Origin.originToDTO(origin)); saveFieldDataFromFile.extent(Extent.extentToDTO(extent));
+ saveFieldDataFromFile.isize(ISize.iSizeToDTO(iSize)); saveFieldDataFromFile.annotation("test annotation"); saveFieldDataFromFile.name("TestFile");
+ FieldDataSaveResults results = fieldDataResourceApi.createFieldDataFromAnalyzedFile(saveFieldDataFromFile);
+
+ // File is Saved on File System
+ FieldDataShape fieldDataInfo = fieldDataResourceApi.getFieldDataShapeFromID(results.getFieldDataID());
+ Assertions.assertEquals(saveFieldDataFromFile.getName(), results.getFieldDataName());
+ Assertions.assertTrue(origin.compareEqual(Origin.dtoToOrigin(fieldDataInfo.getOrigin())));
+ Assertions.assertTrue(extent.compareEqual(Extent.dtoToExtent(fieldDataInfo.getExtent())));
+ Assertions.assertTrue(iSize.compareEqual(ISize.dtoToISize(fieldDataInfo.getIsize())));
+ Assertions.assertEquals(times, fieldDataInfo.getTimes());
+
+ // It's in the DB
+ List references = fieldDataResourceApi.getAllFieldDataIDs();
+ Assertions.assertEquals(saveFieldDataFromFile.getAnnotation(), references.get(0).getExternalDataAnnotation());
+ Assertions.assertEquals(results.getFieldDataID(), references.get(0).getExternalDataIdentifier().getKey().getValue().toString());
+ Assertions.assertEquals(0, references.get(0).getExternalDataIDSimRefs().size());
+
+ ///////////////////////
+ // Delete Field Data //
+ //////////////////////
+ fieldDataResourceApi.deleteFieldData(results.getFieldDataID());
+
+ // No Longer on File System
+ try{
+ fieldDataResourceApi.getFieldDataShapeFromID(results.getFieldDataID());
+ } catch (ApiException e){
+ Assertions.assertEquals(404, e.getCode());
+ }
+
+ // No Longer in DB
+ references = fieldDataResourceApi.getAllFieldDataIDs();
+ Assertions.assertEquals(0, references.size());
+ }
+
+
+ @Test
+ public void testFileUploading() throws ApiException, IOException {
+ FieldDataResourceApi fieldDataResourceApi = new FieldDataResourceApi(aliceAPIClient);
+ File testFile = TestEndpointUtils.getResourceFile("/flybrain-035.tif");
+ try{
+ fieldDataResourceApi.analyzeFieldDataFile(testFile, "invalid N@me #Ezequiel");
+ } catch (ApiException e){
+ Assertions.assertEquals(HttpStatus.BAD_REQUEST_400, e.getCode());
+ }
+
+ AnalyzedResultsFromFieldData results = fieldDataResourceApi.analyzeFieldDataFile(testFile, "bob");
+
+ Assertions.assertNotNull(results);
+ Assertions.assertNotNull(results.getShortSpecData());
+
+ FieldDataSaveResults saveResults = fieldDataResourceApi.createFieldDataFromAnalyzedFile(results);
+ Assertions.assertNotNull(saveResults);
+
+ FieldDataShape fieldDataInfo = fieldDataResourceApi.getFieldDataShapeFromID(saveResults.getFieldDataID());
+ Assertions.assertNotNull(fieldDataInfo);
+ Assertions.assertTrue(Origin.dtoToOrigin(fieldDataInfo.getOrigin()).compareEqual(new Origin(0.0, 0.0, 0.0)));
+ Assertions.assertTrue(Extent.dtoToExtent(fieldDataInfo.getExtent()).compareEqual(new Extent(684.9333393978472, 684.9333393978472, 1)));
+ Assertions.assertTrue(ISize.dtoToISize(fieldDataInfo.getIsize()).compareEqual(new ISize(256, 256, 1)));
+ Assertions.assertEquals(1, fieldDataInfo.getTimes().size());
+
+ fieldDataResourceApi.deleteFieldData(saveResults.getFieldDataID());
+
+ try{
+ fieldDataResourceApi.getFieldDataShapeFromID(saveResults.getFieldDataID());
+ } catch (ApiException e){
+ Assertions.assertEquals(404, e.getCode());
+ }
+
+ // No Longer in DB
+ List references = fieldDataResourceApi.getAllFieldDataIDs();
+ Assertions.assertEquals(0, references.size());
+ }
+
+}
diff --git a/vcell-rest/src/test/resources/flybrain-035.tif b/vcell-rest/src/test/resources/flybrain-035.tif
new file mode 100644
index 0000000000..5c5d889f67
Binary files /dev/null and b/vcell-rest/src/test/resources/flybrain-035.tif differ
diff --git a/vcell-restclient/.openapi-generator/FILES b/vcell-restclient/.openapi-generator/FILES
index 0105336499..2a54d3a046 100644
--- a/vcell-restclient/.openapi-generator/FILES
+++ b/vcell-restclient/.openapi-generator/FILES
@@ -3,17 +3,28 @@ README.md
api/openapi.yaml
docs/AccesTokenRepresentationRecord.md
docs/AdminResourceApi.md
+docs/AnalyzedResultsFromFieldData.md
docs/BatchSystemType.md
docs/BioModel.md
docs/BioModelResourceApi.md
docs/BiomodelRef.md
+docs/DataIdentifier.md
docs/DetailedState.md
+docs/Domain.md
+docs/Extent.md
+docs/ExternalDataIdentifier.md
+docs/FieldDataReference.md
+docs/FieldDataResourceApi.md
+docs/FieldDataSaveResults.md
+docs/FieldDataShape.md
docs/HelloWorldApi.md
docs/HelloWorldMessage.md
docs/HtcJobID.md
+docs/ISize.md
docs/Identity.md
docs/KeyValue.md
docs/MathmodelRef.md
+docs/Origin.md
docs/Publication.md
docs/PublicationResourceApi.md
docs/SchedulerStatus.md
@@ -32,6 +43,8 @@ docs/UserLoginInfoForMapping.md
docs/UserRegistrationInfo.md
docs/UsersResourceApi.md
docs/VCSimulationIdentifier.md
+docs/VariableDomain.md
+docs/VariableType.md
src/main/AndroidManifest.xml
src/main/java/org/vcell/restclient/ApiClient.java
src/main/java/org/vcell/restclient/ApiException.java
@@ -44,21 +57,32 @@ src/main/java/org/vcell/restclient/ServerConfiguration.java
src/main/java/org/vcell/restclient/ServerVariable.java
src/main/java/org/vcell/restclient/api/AdminResourceApi.java
src/main/java/org/vcell/restclient/api/BioModelResourceApi.java
+src/main/java/org/vcell/restclient/api/FieldDataResourceApi.java
src/main/java/org/vcell/restclient/api/HelloWorldApi.java
src/main/java/org/vcell/restclient/api/PublicationResourceApi.java
src/main/java/org/vcell/restclient/api/SimulationResourceApi.java
src/main/java/org/vcell/restclient/api/UsersResourceApi.java
src/main/java/org/vcell/restclient/model/AbstractOpenApiSchema.java
src/main/java/org/vcell/restclient/model/AccesTokenRepresentationRecord.java
+src/main/java/org/vcell/restclient/model/AnalyzedResultsFromFieldData.java
src/main/java/org/vcell/restclient/model/BatchSystemType.java
src/main/java/org/vcell/restclient/model/BioModel.java
src/main/java/org/vcell/restclient/model/BiomodelRef.java
+src/main/java/org/vcell/restclient/model/DataIdentifier.java
src/main/java/org/vcell/restclient/model/DetailedState.java
+src/main/java/org/vcell/restclient/model/Domain.java
+src/main/java/org/vcell/restclient/model/Extent.java
+src/main/java/org/vcell/restclient/model/ExternalDataIdentifier.java
+src/main/java/org/vcell/restclient/model/FieldDataReference.java
+src/main/java/org/vcell/restclient/model/FieldDataSaveResults.java
+src/main/java/org/vcell/restclient/model/FieldDataShape.java
src/main/java/org/vcell/restclient/model/HelloWorldMessage.java
src/main/java/org/vcell/restclient/model/HtcJobID.java
+src/main/java/org/vcell/restclient/model/ISize.java
src/main/java/org/vcell/restclient/model/Identity.java
src/main/java/org/vcell/restclient/model/KeyValue.java
src/main/java/org/vcell/restclient/model/MathmodelRef.java
+src/main/java/org/vcell/restclient/model/Origin.java
src/main/java/org/vcell/restclient/model/Publication.java
src/main/java/org/vcell/restclient/model/SchedulerStatus.java
src/main/java/org/vcell/restclient/model/SimulationExecutionStatusRecord.java
@@ -74,3 +98,5 @@ src/main/java/org/vcell/restclient/model/UserIdentityJSONSafe.java
src/main/java/org/vcell/restclient/model/UserLoginInfoForMapping.java
src/main/java/org/vcell/restclient/model/UserRegistrationInfo.java
src/main/java/org/vcell/restclient/model/VCSimulationIdentifier.java
+src/main/java/org/vcell/restclient/model/VariableDomain.java
+src/main/java/org/vcell/restclient/model/VariableType.java
diff --git a/vcell-restclient/README.md b/vcell-restclient/README.md
index da0fbcc9a4..5a04f9aa2b 100644
--- a/vcell-restclient/README.md
+++ b/vcell-restclient/README.md
@@ -113,6 +113,16 @@ Class | Method | HTTP request | Description
*BioModelResourceApi* | [**getBiomodelByIdWithHttpInfo**](docs/BioModelResourceApi.md#getBiomodelByIdWithHttpInfo) | **GET** /api/v1/bioModel/{bioModelID} | Get BioModel information in JSON format by ID.
*BioModelResourceApi* | [**uploadBioModel**](docs/BioModelResourceApi.md#uploadBioModel) | **POST** /api/v1/bioModel/upload_bioModel | Upload the BioModel to VCell database. Returns BioModel ID.
*BioModelResourceApi* | [**uploadBioModelWithHttpInfo**](docs/BioModelResourceApi.md#uploadBioModelWithHttpInfo) | **POST** /api/v1/bioModel/upload_bioModel | Upload the BioModel to VCell database. Returns BioModel ID.
+*FieldDataResourceApi* | [**analyzeFieldDataFile**](docs/FieldDataResourceApi.md#analyzeFieldDataFile) | **POST** /api/v1/fieldData/analyzeFieldDataFile | Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+*FieldDataResourceApi* | [**analyzeFieldDataFileWithHttpInfo**](docs/FieldDataResourceApi.md#analyzeFieldDataFileWithHttpInfo) | **POST** /api/v1/fieldData/analyzeFieldDataFile | Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+*FieldDataResourceApi* | [**createFieldDataFromAnalyzedFile**](docs/FieldDataResourceApi.md#createFieldDataFromAnalyzedFile) | **POST** /api/v1/fieldData/createFieldDataFromAnalyzedFile | Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+*FieldDataResourceApi* | [**createFieldDataFromAnalyzedFileWithHttpInfo**](docs/FieldDataResourceApi.md#createFieldDataFromAnalyzedFileWithHttpInfo) | **POST** /api/v1/fieldData/createFieldDataFromAnalyzedFile | Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+*FieldDataResourceApi* | [**deleteFieldData**](docs/FieldDataResourceApi.md#deleteFieldData) | **DELETE** /api/v1/fieldData/delete/{fieldDataID} | Delete the selected field data.
+*FieldDataResourceApi* | [**deleteFieldDataWithHttpInfo**](docs/FieldDataResourceApi.md#deleteFieldDataWithHttpInfo) | **DELETE** /api/v1/fieldData/delete/{fieldDataID} | Delete the selected field data.
+*FieldDataResourceApi* | [**getAllFieldDataIDs**](docs/FieldDataResourceApi.md#getAllFieldDataIDs) | **GET** /api/v1/fieldData/IDs | Get all of the ids used to identify, and retrieve field data.
+*FieldDataResourceApi* | [**getAllFieldDataIDsWithHttpInfo**](docs/FieldDataResourceApi.md#getAllFieldDataIDsWithHttpInfo) | **GET** /api/v1/fieldData/IDs | Get all of the ids used to identify, and retrieve field data.
+*FieldDataResourceApi* | [**getFieldDataShapeFromID**](docs/FieldDataResourceApi.md#getFieldDataShapeFromID) | **GET** /api/v1/fieldData/fieldDataShape/{fieldDataID} | Get the shape of the field data. That is it's size, origin, extent, and data identifiers.
+*FieldDataResourceApi* | [**getFieldDataShapeFromIDWithHttpInfo**](docs/FieldDataResourceApi.md#getFieldDataShapeFromIDWithHttpInfo) | **GET** /api/v1/fieldData/fieldDataShape/{fieldDataID} | Get the shape of the field data. That is it's size, origin, extent, and data identifiers.
*HelloWorldApi* | [**getHelloWorld**](docs/HelloWorldApi.md#getHelloWorld) | **GET** /api/v1/helloworld | Get hello world message.
*HelloWorldApi* | [**getHelloWorldWithHttpInfo**](docs/HelloWorldApi.md#getHelloWorldWithHttpInfo) | **GET** /api/v1/helloworld | Get hello world message.
*PublicationResourceApi* | [**createPublication**](docs/PublicationResourceApi.md#createPublication) | **POST** /api/v1/publications | Create publication
@@ -156,15 +166,25 @@ Class | Method | HTTP request | Description
## Documentation for Models
- [AccesTokenRepresentationRecord](docs/AccesTokenRepresentationRecord.md)
+ - [AnalyzedResultsFromFieldData](docs/AnalyzedResultsFromFieldData.md)
- [BatchSystemType](docs/BatchSystemType.md)
- [BioModel](docs/BioModel.md)
- [BiomodelRef](docs/BiomodelRef.md)
+ - [DataIdentifier](docs/DataIdentifier.md)
- [DetailedState](docs/DetailedState.md)
+ - [Domain](docs/Domain.md)
+ - [Extent](docs/Extent.md)
+ - [ExternalDataIdentifier](docs/ExternalDataIdentifier.md)
+ - [FieldDataReference](docs/FieldDataReference.md)
+ - [FieldDataSaveResults](docs/FieldDataSaveResults.md)
+ - [FieldDataShape](docs/FieldDataShape.md)
- [HelloWorldMessage](docs/HelloWorldMessage.md)
- [HtcJobID](docs/HtcJobID.md)
+ - [ISize](docs/ISize.md)
- [Identity](docs/Identity.md)
- [KeyValue](docs/KeyValue.md)
- [MathmodelRef](docs/MathmodelRef.md)
+ - [Origin](docs/Origin.md)
- [Publication](docs/Publication.md)
- [SchedulerStatus](docs/SchedulerStatus.md)
- [SimulationExecutionStatusRecord](docs/SimulationExecutionStatusRecord.md)
@@ -180,6 +200,8 @@ Class | Method | HTTP request | Description
- [UserLoginInfoForMapping](docs/UserLoginInfoForMapping.md)
- [UserRegistrationInfo](docs/UserRegistrationInfo.md)
- [VCSimulationIdentifier](docs/VCSimulationIdentifier.md)
+ - [VariableDomain](docs/VariableDomain.md)
+ - [VariableType](docs/VariableType.md)
diff --git a/vcell-restclient/api/openapi.yaml b/vcell-restclient/api/openapi.yaml
index b2720db146..f75ef73ca8 100644
--- a/vcell-restclient/api/openapi.yaml
+++ b/vcell-restclient/api/openapi.yaml
@@ -195,11 +195,112 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/BioModel'
- description: OK
+ description: return BioModel information in JSON format
+ "404":
+ description: BioModel not found
summary: Get BioModel information in JSON format by ID.
tags:
- Bio Model Resource
x-accepts: application/json
+ /api/v1/fieldData/IDs:
+ get:
+ operationId: getAllFieldDataIDs
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ items:
+ $ref: '#/components/schemas/FieldDataReference'
+ type: array
+ description: OK
+ summary: "Get all of the ids used to identify, and retrieve field data."
+ tags:
+ - Field Data Resource
+ x-accepts: application/json
+ /api/v1/fieldData/analyzeFieldDataFile:
+ post:
+ operationId: analyzeFieldDataFile
+ requestBody:
+ content:
+ multipart/form-data:
+ schema:
+ $ref: '#/components/schemas/analyzeFieldDataFile_request'
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AnalyzedResultsFromFieldData'
+ description: OK
+ summary: "Analyze the field data from the uploaded file. Filenames must be lowercase\
+ \ alphanumeric, and can contain underscores."
+ tags:
+ - Field Data Resource
+ x-content-type: multipart/form-data
+ x-accepts: application/json
+ /api/v1/fieldData/createFieldDataFromAnalyzedFile:
+ post:
+ operationId: createFieldDataFromAnalyzedFile
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AnalyzedResultsFromFieldData'
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/FieldDataSaveResults'
+ description: OK
+ summary: "Take the analyzed results of the field data, modify it to your liking,\
+ \ then save it on the server."
+ tags:
+ - Field Data Resource
+ x-content-type: application/json
+ x-accepts: application/json
+ /api/v1/fieldData/delete/{fieldDataID}:
+ delete:
+ operationId: deleteFieldData
+ parameters:
+ - explode: false
+ in: path
+ name: fieldDataID
+ required: true
+ schema:
+ type: string
+ style: simple
+ responses:
+ "204":
+ description: No Content
+ summary: Delete the selected field data.
+ tags:
+ - Field Data Resource
+ x-accepts: application/json
+ /api/v1/fieldData/fieldDataShape/{fieldDataID}:
+ get:
+ operationId: getFieldDataShapeFromID
+ parameters:
+ - explode: false
+ in: path
+ name: fieldDataID
+ required: true
+ schema:
+ type: string
+ style: simple
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/FieldDataShape'
+ description: OK
+ summary: "Get the shape of the field data. That is it's size, origin, extent,\
+ \ and data identifiers."
+ tags:
+ - Field Data Resource
+ x-accepts: application/json
/api/v1/helloworld:
get:
operationId: getHelloWorld
@@ -503,10 +604,10 @@ paths:
description: magic link sent in email if appropriate
"400":
description: unable to process request
- "403":
- description: Not Allowed
"401":
description: Not Authorized
+ "403":
+ description: Not Allowed
security:
- openId:
- user
@@ -566,6 +667,66 @@ components:
userKey:
type: string
type: object
+ AnalyzedResultsFromFieldData:
+ example:
+ extent:
+ x: 2.3021358869347655
+ "y": 7.061401241503109
+ z: 9.301444243932576
+ annotation: annotation
+ times:
+ - 6.027456183070403
+ - 6.027456183070403
+ origin:
+ x: 1.4658129805029452
+ "y": 5.962133916683182
+ z: 5.637376656633329
+ isize:
+ x: 3
+ "y": 2
+ z: 4
+ name: name
+ varNames:
+ - varNames
+ - varNames
+ shortSpecData:
+ - - - 0
+ - 0
+ - - 0
+ - 0
+ - - - 0
+ - 0
+ - - 0
+ - 0
+ properties:
+ shortSpecData:
+ items:
+ items:
+ items:
+ type: integer
+ type: array
+ type: array
+ type: array
+ varNames:
+ items:
+ type: string
+ type: array
+ times:
+ items:
+ format: double
+ type: number
+ type: array
+ origin:
+ $ref: '#/components/schemas/Origin'
+ extent:
+ $ref: '#/components/schemas/Extent'
+ isize:
+ $ref: '#/components/schemas/ISize'
+ annotation:
+ type: string
+ name:
+ type: string
+ type: object
Application:
type: object
BatchSystemType:
@@ -650,6 +811,41 @@ components:
format: int32
type: integer
type: object
+ DataIdentifier:
+ example:
+ variableType:
+ defaultUnits: defaultUnits
+ name: name
+ typeName: typeName
+ defaultLabel: defaultLabel
+ units: units
+ label: label
+ type: 0
+ variableDomain: null
+ legacyWarn: true
+ visible: true
+ displayName: displayName
+ bFunction: true
+ domain:
+ name: name
+ function: true
+ name: name
+ properties:
+ name:
+ type: string
+ displayName:
+ type: string
+ variableType:
+ $ref: '#/components/schemas/VariableType'
+ domain:
+ $ref: '#/components/schemas/Domain'
+ bFunction:
+ type: boolean
+ function:
+ type: boolean
+ visible:
+ type: boolean
+ type: object
Date:
example: 2022-03-10
format: date
@@ -707,6 +903,180 @@ components:
- WORKEREVENT_FAILURE
- JOB_FAILED
type: string
+ Domain:
+ example:
+ name: name
+ properties:
+ name:
+ type: string
+ type: object
+ Extent:
+ example:
+ x: 2.3021358869347655
+ "y": 7.061401241503109
+ z: 9.301444243932576
+ properties:
+ x:
+ format: double
+ type: number
+ xml:
+ attribute: true
+ "y":
+ format: double
+ type: number
+ xml:
+ attribute: true
+ z:
+ format: double
+ type: number
+ xml:
+ attribute: true
+ type: object
+ ExternalDataIdentifier:
+ example:
+ owner:
+ testAccount: true
+ name: name
+ userName: userName
+ key:
+ value: 0.8008281904610115
+ dataKey:
+ value: 0.8008281904610115
+ simulationKey:
+ value: 0.8008281904610115
+ jobIndex: 0
+ name: name
+ key:
+ value: 0.8008281904610115
+ parameterScanType: true
+ properties:
+ key:
+ $ref: '#/components/schemas/KeyValue'
+ owner:
+ $ref: '#/components/schemas/User'
+ name:
+ type: string
+ jobIndex:
+ format: int32
+ type: integer
+ simulationKey:
+ $ref: '#/components/schemas/KeyValue'
+ parameterScanType:
+ type: boolean
+ dataKey:
+ $ref: '#/components/schemas/KeyValue'
+ type: object
+ FieldDataReference:
+ example:
+ externalDataAnnotation: externalDataAnnotation
+ externalDataIdentifier:
+ owner:
+ testAccount: true
+ name: name
+ userName: userName
+ key:
+ value: 0.8008281904610115
+ dataKey:
+ value: 0.8008281904610115
+ simulationKey:
+ value: 0.8008281904610115
+ jobIndex: 0
+ name: name
+ key:
+ value: 0.8008281904610115
+ parameterScanType: true
+ externalDataIDSimRefs:
+ - value: 0.8008281904610115
+ - value: 0.8008281904610115
+ properties:
+ externalDataIdentifier:
+ $ref: '#/components/schemas/ExternalDataIdentifier'
+ externalDataAnnotation:
+ type: string
+ externalDataIDSimRefs:
+ items:
+ $ref: '#/components/schemas/KeyValue'
+ type: array
+ type: object
+ FieldDataSaveResults:
+ example:
+ fieldDataName: fieldDataName
+ fieldDataID: fieldDataID
+ properties:
+ fieldDataName:
+ type: string
+ fieldDataID:
+ type: string
+ type: object
+ FieldDataShape:
+ example:
+ extent:
+ x: 2.3021358869347655
+ "y": 7.061401241503109
+ z: 9.301444243932576
+ times:
+ - 6.027456183070403
+ - 6.027456183070403
+ origin:
+ x: 1.4658129805029452
+ "y": 5.962133916683182
+ z: 5.637376656633329
+ isize:
+ x: 3
+ "y": 2
+ z: 4
+ dataIdentifier:
+ - variableType:
+ defaultUnits: defaultUnits
+ name: name
+ typeName: typeName
+ defaultLabel: defaultLabel
+ units: units
+ label: label
+ type: 0
+ variableDomain: null
+ legacyWarn: true
+ visible: true
+ displayName: displayName
+ bFunction: true
+ domain:
+ name: name
+ function: true
+ name: name
+ - variableType:
+ defaultUnits: defaultUnits
+ name: name
+ typeName: typeName
+ defaultLabel: defaultLabel
+ units: units
+ label: label
+ type: 0
+ variableDomain: null
+ legacyWarn: true
+ visible: true
+ displayName: displayName
+ bFunction: true
+ domain:
+ name: name
+ function: true
+ name: name
+ properties:
+ extent:
+ $ref: '#/components/schemas/Extent'
+ origin:
+ $ref: '#/components/schemas/Origin'
+ isize:
+ $ref: '#/components/schemas/ISize'
+ dataIdentifier:
+ items:
+ $ref: '#/components/schemas/DataIdentifier'
+ type: array
+ times:
+ items:
+ format: double
+ type: number
+ type: array
+ type: object
HelloWorldMessage:
example:
message: message
@@ -728,6 +1098,22 @@ components:
batchSystemType:
$ref: '#/components/schemas/BatchSystemType'
type: object
+ ISize:
+ example:
+ x: 3
+ "y": 2
+ z: 4
+ properties:
+ x:
+ format: int32
+ type: integer
+ "y":
+ format: int32
+ type: integer
+ z:
+ format: int32
+ type: integer
+ type: object
Identity:
example:
credentials:
@@ -789,6 +1175,28 @@ components:
format: int32
type: integer
type: object
+ Origin:
+ example:
+ x: 1.4658129805029452
+ "y": 5.962133916683182
+ z: 5.637376656633329
+ properties:
+ x:
+ format: double
+ type: number
+ xml:
+ attribute: true
+ "y":
+ format: double
+ type: number
+ xml:
+ attribute: true
+ z:
+ format: double
+ type: number
+ xml:
+ attribute: true
+ type: object
Publication:
example:
date: 2022-03-10T00:00:00.000+00:00
@@ -933,8 +1341,6 @@ components:
owner:
testAccount: true
name: name
- iD:
- value: 0.8008281904610115
userName: userName
key:
value: 0.8008281904610115
@@ -1073,8 +1479,6 @@ components:
owner:
testAccount: true
name: name
- iD:
- value: 0.8008281904610115
userName: userName
key:
value: 0.8008281904610115
@@ -1108,8 +1512,6 @@ components:
example:
testAccount: true
name: name
- iD:
- value: 0.8008281904610115
userName: userName
key:
value: 0.8008281904610115
@@ -1118,8 +1520,6 @@ components:
type: string
key:
$ref: '#/components/schemas/KeyValue'
- iD:
- $ref: '#/components/schemas/KeyValue'
name:
type: string
testAccount:
@@ -1178,8 +1578,6 @@ components:
owner:
testAccount: true
name: name
- iD:
- value: 0.8008281904610115
userName: userName
key:
value: 0.8008281904610115
@@ -1194,6 +1592,56 @@ components:
iD:
type: string
type: object
+ VariableDomain:
+ enum:
+ - VARIABLEDOMAIN_POSTPROCESSING
+ - VARIABLEDOMAIN_UNKNOWN
+ - VARIABLEDOMAIN_VOLUME
+ - VARIABLEDOMAIN_MEMBRANE
+ - VARIABLEDOMAIN_CONTOUR
+ - VARIABLEDOMAIN_NONSPATIAL
+ - VARIABLEDOMAIN_POINT
+ type: string
+ VariableType:
+ example:
+ defaultUnits: defaultUnits
+ name: name
+ typeName: typeName
+ defaultLabel: defaultLabel
+ units: units
+ label: label
+ type: 0
+ variableDomain: null
+ legacyWarn: true
+ properties:
+ type:
+ format: int32
+ type: integer
+ variableDomain:
+ $ref: '#/components/schemas/VariableDomain'
+ name:
+ type: string
+ units:
+ type: string
+ label:
+ type: string
+ legacyWarn:
+ type: boolean
+ defaultLabel:
+ type: string
+ defaultUnits:
+ type: string
+ typeName:
+ type: string
+ type: object
+ analyzeFieldDataFile_request:
+ properties:
+ file:
+ format: binary
+ type: string
+ fileName:
+ type: string
+ type: object
securitySchemes:
openId:
description: Authentication
diff --git a/vcell-restclient/docs/AccessTokenRepresentation.md b/vcell-restclient/docs/AccessTokenRepresentation.md
deleted file mode 100644
index 03002821c1..0000000000
--- a/vcell-restclient/docs/AccessTokenRepresentation.md
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-# AccessTokenRepresentation
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**token** | **String** | | [optional] |
-|**creationDateSeconds** | **Long** | | [optional] |
-|**expireDateSeconds** | **Long** | | [optional] |
-|**userId** | **String** | | [optional] |
-|**userKey** | **String** | | [optional] |
-
-
-
diff --git a/vcell-restclient/docs/AnalyzedResultsFromFieldData.md b/vcell-restclient/docs/AnalyzedResultsFromFieldData.md
new file mode 100644
index 0000000000..fbc0edc743
--- /dev/null
+++ b/vcell-restclient/docs/AnalyzedResultsFromFieldData.md
@@ -0,0 +1,20 @@
+
+
+# AnalyzedResultsFromFieldData
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**shortSpecData** | **List<List<List<Integer>>>** | | [optional] |
+|**varNames** | **List<String>** | | [optional] |
+|**times** | **List<Double>** | | [optional] |
+|**origin** | [**Origin**](Origin.md) | | [optional] |
+|**extent** | [**Extent**](Extent.md) | | [optional] |
+|**isize** | [**ISize**](ISize.md) | | [optional] |
+|**annotation** | **String** | | [optional] |
+|**name** | **String** | | [optional] |
+
+
+
diff --git a/vcell-restclient/docs/BioModelResourceApi.md b/vcell-restclient/docs/BioModelResourceApi.md
index 6f6bd87532..b2569706e5 100644
--- a/vcell-restclient/docs/BioModelResourceApi.md
+++ b/vcell-restclient/docs/BioModelResourceApi.md
@@ -202,7 +202,8 @@ No authorization required
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-| **200** | OK | - |
+| **200** | return BioModel information in JSON format | - |
+| **404** | BioModel not found | - |
## getBiomodelByIdWithHttpInfo
@@ -268,7 +269,8 @@ No authorization required
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-| **200** | OK | - |
+| **200** | return BioModel information in JSON format | - |
+| **404** | BioModel not found | - |
## uploadBioModel
diff --git a/vcell-restclient/docs/DataIdentifier.md b/vcell-restclient/docs/DataIdentifier.md
new file mode 100644
index 0000000000..05492fc09f
--- /dev/null
+++ b/vcell-restclient/docs/DataIdentifier.md
@@ -0,0 +1,19 @@
+
+
+# DataIdentifier
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**name** | **String** | | [optional] |
+|**displayName** | **String** | | [optional] |
+|**variableType** | [**VariableType**](VariableType.md) | | [optional] |
+|**domain** | [**Domain**](Domain.md) | | [optional] |
+|**bFunction** | **Boolean** | | [optional] |
+|**function** | **Boolean** | | [optional] |
+|**visible** | **Boolean** | | [optional] |
+
+
+
diff --git a/vcell-restclient/docs/Simulation.md b/vcell-restclient/docs/Domain.md
similarity index 92%
rename from vcell-restclient/docs/Simulation.md
rename to vcell-restclient/docs/Domain.md
index e21fb4014b..6c23698b2f 100644
--- a/vcell-restclient/docs/Simulation.md
+++ b/vcell-restclient/docs/Domain.md
@@ -1,6 +1,6 @@
-# Simulation
+# Domain
## Properties
diff --git a/vcell-restclient/docs/Extent.md b/vcell-restclient/docs/Extent.md
new file mode 100644
index 0000000000..1f6d47850e
--- /dev/null
+++ b/vcell-restclient/docs/Extent.md
@@ -0,0 +1,15 @@
+
+
+# Extent
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**x** | **Double** | | [optional] |
+|**y** | **Double** | | [optional] |
+|**z** | **Double** | | [optional] |
+
+
+
diff --git a/vcell-restclient/docs/ExternalDataIdentifier.md b/vcell-restclient/docs/ExternalDataIdentifier.md
new file mode 100644
index 0000000000..8b5ec63a51
--- /dev/null
+++ b/vcell-restclient/docs/ExternalDataIdentifier.md
@@ -0,0 +1,19 @@
+
+
+# ExternalDataIdentifier
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**key** | [**KeyValue**](KeyValue.md) | | [optional] |
+|**owner** | [**User**](User.md) | | [optional] |
+|**name** | **String** | | [optional] |
+|**jobIndex** | **Integer** | | [optional] |
+|**simulationKey** | [**KeyValue**](KeyValue.md) | | [optional] |
+|**parameterScanType** | **Boolean** | | [optional] |
+|**dataKey** | [**KeyValue**](KeyValue.md) | | [optional] |
+
+
+
diff --git a/vcell-restclient/docs/FieldDataReference.md b/vcell-restclient/docs/FieldDataReference.md
new file mode 100644
index 0000000000..a7a3662c95
--- /dev/null
+++ b/vcell-restclient/docs/FieldDataReference.md
@@ -0,0 +1,15 @@
+
+
+# FieldDataReference
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**externalDataIdentifier** | [**ExternalDataIdentifier**](ExternalDataIdentifier.md) | | [optional] |
+|**externalDataAnnotation** | **String** | | [optional] |
+|**externalDataIDSimRefs** | [**List<KeyValue>**](KeyValue.md) | | [optional] |
+
+
+
diff --git a/vcell-restclient/docs/FieldDataResourceApi.md b/vcell-restclient/docs/FieldDataResourceApi.md
new file mode 100644
index 0000000000..aa5dea000a
--- /dev/null
+++ b/vcell-restclient/docs/FieldDataResourceApi.md
@@ -0,0 +1,662 @@
+# FieldDataResourceApi
+
+All URIs are relative to *https://vcell-dev.cam.uchc.edu*
+
+| Method | HTTP request | Description |
+|------------- | ------------- | -------------|
+| [**analyzeFieldDataFile**](FieldDataResourceApi.md#analyzeFieldDataFile) | **POST** /api/v1/fieldData/analyzeFieldDataFile | Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores. |
+| [**analyzeFieldDataFileWithHttpInfo**](FieldDataResourceApi.md#analyzeFieldDataFileWithHttpInfo) | **POST** /api/v1/fieldData/analyzeFieldDataFile | Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores. |
+| [**createFieldDataFromAnalyzedFile**](FieldDataResourceApi.md#createFieldDataFromAnalyzedFile) | **POST** /api/v1/fieldData/createFieldDataFromAnalyzedFile | Take the analyzed results of the field data, modify it to your liking, then save it on the server. |
+| [**createFieldDataFromAnalyzedFileWithHttpInfo**](FieldDataResourceApi.md#createFieldDataFromAnalyzedFileWithHttpInfo) | **POST** /api/v1/fieldData/createFieldDataFromAnalyzedFile | Take the analyzed results of the field data, modify it to your liking, then save it on the server. |
+| [**deleteFieldData**](FieldDataResourceApi.md#deleteFieldData) | **DELETE** /api/v1/fieldData/delete/{fieldDataID} | Delete the selected field data. |
+| [**deleteFieldDataWithHttpInfo**](FieldDataResourceApi.md#deleteFieldDataWithHttpInfo) | **DELETE** /api/v1/fieldData/delete/{fieldDataID} | Delete the selected field data. |
+| [**getAllFieldDataIDs**](FieldDataResourceApi.md#getAllFieldDataIDs) | **GET** /api/v1/fieldData/IDs | Get all of the ids used to identify, and retrieve field data. |
+| [**getAllFieldDataIDsWithHttpInfo**](FieldDataResourceApi.md#getAllFieldDataIDsWithHttpInfo) | **GET** /api/v1/fieldData/IDs | Get all of the ids used to identify, and retrieve field data. |
+| [**getFieldDataShapeFromID**](FieldDataResourceApi.md#getFieldDataShapeFromID) | **GET** /api/v1/fieldData/fieldDataShape/{fieldDataID} | Get the shape of the field data. That is it's size, origin, extent, and data identifiers. |
+| [**getFieldDataShapeFromIDWithHttpInfo**](FieldDataResourceApi.md#getFieldDataShapeFromIDWithHttpInfo) | **GET** /api/v1/fieldData/fieldDataShape/{fieldDataID} | Get the shape of the field data. That is it's size, origin, extent, and data identifiers. |
+
+
+
+## analyzeFieldDataFile
+
+> AnalyzedResultsFromFieldData analyzeFieldDataFile(_file, fileName)
+
+Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+
+### 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.FieldDataResourceApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://vcell-dev.cam.uchc.edu");
+
+ FieldDataResourceApi apiInstance = new FieldDataResourceApi(defaultClient);
+ File _file = new File("/path/to/file"); // File |
+ String fileName = "fileName_example"; // String |
+ try {
+ AnalyzedResultsFromFieldData result = apiInstance.analyzeFieldDataFile(_file, fileName);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FieldDataResourceApi#analyzeFieldDataFile");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **_file** | **File**| | [optional] |
+| **fileName** | **String**| | [optional] |
+
+### Return type
+
+[**AnalyzedResultsFromFieldData**](AnalyzedResultsFromFieldData.md)
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: multipart/form-data
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+
+## analyzeFieldDataFileWithHttpInfo
+
+> ApiResponse analyzeFieldDataFile analyzeFieldDataFileWithHttpInfo(_file, fileName)
+
+Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+
+### 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.FieldDataResourceApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://vcell-dev.cam.uchc.edu");
+
+ FieldDataResourceApi apiInstance = new FieldDataResourceApi(defaultClient);
+ File _file = new File("/path/to/file"); // File |
+ String fileName = "fileName_example"; // String |
+ try {
+ ApiResponse response = apiInstance.analyzeFieldDataFileWithHttpInfo(_file, fileName);
+ 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 FieldDataResourceApi#analyzeFieldDataFile");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **_file** | **File**| | [optional] |
+| **fileName** | **String**| | [optional] |
+
+### Return type
+
+ApiResponse<[**AnalyzedResultsFromFieldData**](AnalyzedResultsFromFieldData.md)>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: multipart/form-data
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+
+
+## createFieldDataFromAnalyzedFile
+
+> FieldDataSaveResults createFieldDataFromAnalyzedFile(analyzedResultsFromFieldData)
+
+Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+
+### 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.FieldDataResourceApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://vcell-dev.cam.uchc.edu");
+
+ FieldDataResourceApi apiInstance = new FieldDataResourceApi(defaultClient);
+ AnalyzedResultsFromFieldData analyzedResultsFromFieldData = new AnalyzedResultsFromFieldData(); // AnalyzedResultsFromFieldData |
+ try {
+ FieldDataSaveResults result = apiInstance.createFieldDataFromAnalyzedFile(analyzedResultsFromFieldData);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FieldDataResourceApi#createFieldDataFromAnalyzedFile");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analyzedResultsFromFieldData** | [**AnalyzedResultsFromFieldData**](AnalyzedResultsFromFieldData.md)| | [optional] |
+
+### Return type
+
+[**FieldDataSaveResults**](FieldDataSaveResults.md)
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+
+## createFieldDataFromAnalyzedFileWithHttpInfo
+
+> ApiResponse createFieldDataFromAnalyzedFile createFieldDataFromAnalyzedFileWithHttpInfo(analyzedResultsFromFieldData)
+
+Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+
+### 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.FieldDataResourceApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://vcell-dev.cam.uchc.edu");
+
+ FieldDataResourceApi apiInstance = new FieldDataResourceApi(defaultClient);
+ AnalyzedResultsFromFieldData analyzedResultsFromFieldData = new AnalyzedResultsFromFieldData(); // AnalyzedResultsFromFieldData |
+ try {
+ ApiResponse response = apiInstance.createFieldDataFromAnalyzedFileWithHttpInfo(analyzedResultsFromFieldData);
+ 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 FieldDataResourceApi#createFieldDataFromAnalyzedFile");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **analyzedResultsFromFieldData** | [**AnalyzedResultsFromFieldData**](AnalyzedResultsFromFieldData.md)| | [optional] |
+
+### Return type
+
+ApiResponse<[**FieldDataSaveResults**](FieldDataSaveResults.md)>
+
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+
+
+## deleteFieldData
+
+> void deleteFieldData(fieldDataID)
+
+Delete the selected field data.
+
+### 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.FieldDataResourceApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://vcell-dev.cam.uchc.edu");
+
+ FieldDataResourceApi apiInstance = new FieldDataResourceApi(defaultClient);
+ String fieldDataID = "fieldDataID_example"; // String |
+ try {
+ apiInstance.deleteFieldData(fieldDataID);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FieldDataResourceApi#deleteFieldData");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **fieldDataID** | **String**| | |
+
+### Return type
+
+
+null (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: Not defined
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **204** | No Content | - |
+
+## deleteFieldDataWithHttpInfo
+
+> ApiResponse deleteFieldData deleteFieldDataWithHttpInfo(fieldDataID)
+
+Delete the selected field data.
+
+### 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.FieldDataResourceApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://vcell-dev.cam.uchc.edu");
+
+ FieldDataResourceApi apiInstance = new FieldDataResourceApi(defaultClient);
+ String fieldDataID = "fieldDataID_example"; // String |
+ try {
+ ApiResponse response = apiInstance.deleteFieldDataWithHttpInfo(fieldDataID);
+ System.out.println("Status code: " + response.getStatusCode());
+ System.out.println("Response headers: " + response.getHeaders());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FieldDataResourceApi#deleteFieldData");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **fieldDataID** | **String**| | |
+
+### Return type
+
+
+ApiResponse
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: Not defined
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **204** | No Content | - |
+
+
+## getAllFieldDataIDs
+
+> List getAllFieldDataIDs()
+
+Get all of the ids used to identify, and retrieve field data.
+
+### 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.FieldDataResourceApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://vcell-dev.cam.uchc.edu");
+
+ FieldDataResourceApi apiInstance = new FieldDataResourceApi(defaultClient);
+ try {
+ List result = apiInstance.getAllFieldDataIDs();
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FieldDataResourceApi#getAllFieldDataIDs");
+ 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
+
+[**List<FieldDataReference>**](FieldDataReference.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 | - |
+
+## getAllFieldDataIDsWithHttpInfo
+
+> ApiResponse> getAllFieldDataIDs getAllFieldDataIDsWithHttpInfo()
+
+Get all of the ids used to identify, and retrieve field data.
+
+### 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.FieldDataResourceApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://vcell-dev.cam.uchc.edu");
+
+ FieldDataResourceApi apiInstance = new FieldDataResourceApi(defaultClient);
+ try {
+ ApiResponse> response = apiInstance.getAllFieldDataIDsWithHttpInfo();
+ 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 FieldDataResourceApi#getAllFieldDataIDs");
+ 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<[**List<FieldDataReference>**](FieldDataReference.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 | - |
+
+
+## getFieldDataShapeFromID
+
+> FieldDataShape getFieldDataShapeFromID(fieldDataID)
+
+Get the shape of the field data. That is it's size, origin, extent, and data identifiers.
+
+### 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.FieldDataResourceApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://vcell-dev.cam.uchc.edu");
+
+ FieldDataResourceApi apiInstance = new FieldDataResourceApi(defaultClient);
+ String fieldDataID = "fieldDataID_example"; // String |
+ try {
+ FieldDataShape result = apiInstance.getFieldDataShapeFromID(fieldDataID);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling FieldDataResourceApi#getFieldDataShapeFromID");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **fieldDataID** | **String**| | |
+
+### Return type
+
+[**FieldDataShape**](FieldDataShape.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 | - |
+
+## getFieldDataShapeFromIDWithHttpInfo
+
+> ApiResponse getFieldDataShapeFromID getFieldDataShapeFromIDWithHttpInfo(fieldDataID)
+
+Get the shape of the field data. That is it's size, origin, extent, and data identifiers.
+
+### 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.FieldDataResourceApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://vcell-dev.cam.uchc.edu");
+
+ FieldDataResourceApi apiInstance = new FieldDataResourceApi(defaultClient);
+ String fieldDataID = "fieldDataID_example"; // String |
+ try {
+ ApiResponse response = apiInstance.getFieldDataShapeFromIDWithHttpInfo(fieldDataID);
+ 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 FieldDataResourceApi#getFieldDataShapeFromID");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **fieldDataID** | **String**| | |
+
+### Return type
+
+ApiResponse<[**FieldDataShape**](FieldDataShape.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 | - |
+
diff --git a/vcell-restclient/docs/MapUser.md b/vcell-restclient/docs/FieldDataSaveResults.md
similarity index 50%
rename from vcell-restclient/docs/MapUser.md
rename to vcell-restclient/docs/FieldDataSaveResults.md
index cd10a8ec2e..6c8e913cbc 100644
--- a/vcell-restclient/docs/MapUser.md
+++ b/vcell-restclient/docs/FieldDataSaveResults.md
@@ -1,14 +1,14 @@
-# MapUser
+# FieldDataSaveResults
## Properties
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
-|**userID** | **String** | | [optional] |
-|**password** | **String** | | [optional] |
+|**fieldDataName** | **String** | | [optional] |
+|**fieldDataID** | **String** | | [optional] |
diff --git a/vcell-restclient/docs/FieldDataShape.md b/vcell-restclient/docs/FieldDataShape.md
new file mode 100644
index 0000000000..84902d0ac1
--- /dev/null
+++ b/vcell-restclient/docs/FieldDataShape.md
@@ -0,0 +1,17 @@
+
+
+# FieldDataShape
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**extent** | [**Extent**](Extent.md) | | [optional] |
+|**origin** | [**Origin**](Origin.md) | | [optional] |
+|**isize** | [**ISize**](ISize.md) | | [optional] |
+|**dataIdentifier** | [**List<DataIdentifier>**](DataIdentifier.md) | | [optional] |
+|**times** | **List<Double>** | | [optional] |
+
+
+
diff --git a/vcell-restclient/docs/ISize.md b/vcell-restclient/docs/ISize.md
new file mode 100644
index 0000000000..66a2ce5658
--- /dev/null
+++ b/vcell-restclient/docs/ISize.md
@@ -0,0 +1,15 @@
+
+
+# ISize
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**x** | **Integer** | | [optional] |
+|**y** | **Integer** | | [optional] |
+|**z** | **Integer** | | [optional] |
+
+
+
diff --git a/vcell-restclient/docs/IdentityProvider.md b/vcell-restclient/docs/IdentityProvider.md
deleted file mode 100644
index c54f3ef2eb..0000000000
--- a/vcell-restclient/docs/IdentityProvider.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-# IdentityProvider
-
-## Enum
-
-
-* `AUTH0` (value: `"AUTH0"`)
-
-* `KEYCLOAK` (value: `"KEYCLOAK"`)
-
-
-
diff --git a/vcell-restclient/docs/Origin.md b/vcell-restclient/docs/Origin.md
new file mode 100644
index 0000000000..50deecd79e
--- /dev/null
+++ b/vcell-restclient/docs/Origin.md
@@ -0,0 +1,15 @@
+
+
+# Origin
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**x** | **Double** | | [optional] |
+|**y** | **Double** | | [optional] |
+|**z** | **Double** | | [optional] |
+
+
+
diff --git a/vcell-restclient/docs/OverrideRepresentation.md b/vcell-restclient/docs/OverrideRepresentation.md
deleted file mode 100644
index cc6c9d934e..0000000000
--- a/vcell-restclient/docs/OverrideRepresentation.md
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-# OverrideRepresentation
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**name** | **String** | | [optional] |
-|**type** | **String** | | [optional] |
-|**expression** | **String** | | [optional] |
-|**values** | **List<String>** | | [optional] |
-|**cardinality** | **Integer** | | [optional] |
-
-
-
diff --git a/vcell-restclient/docs/SimulationExecutionStatus.md b/vcell-restclient/docs/SimulationExecutionStatus.md
deleted file mode 100644
index e899206a68..0000000000
--- a/vcell-restclient/docs/SimulationExecutionStatus.md
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-# SimulationExecutionStatus
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**fieldStartDate** | **LocalDate** | | [optional] |
-|**fieldLatestUpdateDate** | **LocalDate** | | [optional] |
-|**fieldEndDate** | **LocalDate** | | [optional] |
-|**fieldComputeHost** | **String** | | [optional] |
-|**fieldHasData** | **Boolean** | | [optional] |
-|**fieldHtcJobID** | [**HtcJobID**](HtcJobID.md) | | [optional] |
-|**computeHost** | **String** | | [optional] |
-|**endDate** | **LocalDate** | | [optional] |
-|**latestUpdateDate** | **LocalDate** | | [optional] |
-|**startDate** | **LocalDate** | | [optional] |
-|**htcJobID** | [**HtcJobID**](HtcJobID.md) | | [optional] |
-
-
-
diff --git a/vcell-restclient/docs/SimulationJobStatus.md b/vcell-restclient/docs/SimulationJobStatus.md
deleted file mode 100644
index dfbe7bb00e..0000000000
--- a/vcell-restclient/docs/SimulationJobStatus.md
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-# SimulationJobStatus
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**fieldTimeDateStamp** | **LocalDate** | | [optional] |
-|**fieldVCSimID** | [**VCSimulationIdentifier**](VCSimulationIdentifier.md) | | [optional] |
-|**fieldSubmitDate** | **LocalDate** | | [optional] |
-|**fieldSchedulerStatus** | **SchedulerStatus** | | [optional] |
-|**fieldTaskID** | **Integer** | | [optional] |
-|**fieldSimulationMessage** | [**SimulationMessage**](SimulationMessage.md) | | [optional] |
-|**fieldServerID** | [**VCellServerID**](VCellServerID.md) | | [optional] |
-|**fieldJobIndex** | **Integer** | | [optional] |
-|**fieldSimulationQueueEntryStatus** | [**SimulationQueueEntryStatus**](SimulationQueueEntryStatus.md) | | [optional] |
-|**fieldSimulationExecutionStatus** | [**SimulationExecutionStatus**](SimulationExecutionStatus.md) | | [optional] |
-|**computeHost** | **String** | | [optional] |
-|**endDate** | **LocalDate** | | [optional] |
-|**jobIndex** | **Integer** | | [optional] |
-|**schedulerStatus** | **SchedulerStatus** | | [optional] |
-|**serverID** | [**VCellServerID**](VCellServerID.md) | | [optional] |
-|**simulationExecutionStatus** | [**SimulationExecutionStatus**](SimulationExecutionStatus.md) | | [optional] |
-|**simulationQueueEntryStatus** | [**SimulationQueueEntryStatus**](SimulationQueueEntryStatus.md) | | [optional] |
-|**startDate** | **LocalDate** | | [optional] |
-|**simulationMessage** | [**SimulationMessage**](SimulationMessage.md) | | [optional] |
-|**submitDate** | **LocalDate** | | [optional] |
-|**taskID** | **Integer** | | [optional] |
-|**timeDateStamp** | **LocalDate** | | [optional] |
-|**vCSimulationIdentifier** | [**VCSimulationIdentifier**](VCSimulationIdentifier.md) | | [optional] |
-
-
-
diff --git a/vcell-restclient/docs/SimulationQueueEntryStatus.md b/vcell-restclient/docs/SimulationQueueEntryStatus.md
deleted file mode 100644
index 80d9d48202..0000000000
--- a/vcell-restclient/docs/SimulationQueueEntryStatus.md
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-# SimulationQueueEntryStatus
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**fieldQueuePriority** | **Integer** | | [optional] |
-|**fieldQueueDate** | **LocalDate** | | [optional] |
-|**fieldQueueID** | **SimulationQueueID** | | [optional] |
-|**queueDate** | **LocalDate** | | [optional] |
-|**queueID** | **SimulationQueueID** | | [optional] |
-|**queuePriority** | **Integer** | | [optional] |
-
-
-
diff --git a/vcell-restclient/docs/User.md b/vcell-restclient/docs/User.md
index 61753d53d1..d8e81ee20d 100644
--- a/vcell-restclient/docs/User.md
+++ b/vcell-restclient/docs/User.md
@@ -9,7 +9,6 @@
|------------ | ------------- | ------------- | -------------|
|**userName** | **String** | | [optional] |
|**key** | [**KeyValue**](KeyValue.md) | | [optional] |
-|**iD** | [**KeyValue**](KeyValue.md) | | [optional] |
|**name** | **String** | | [optional] |
|**testAccount** | **Boolean** | | [optional] |
diff --git a/vcell-restclient/docs/User1.md b/vcell-restclient/docs/User1.md
deleted file mode 100644
index 575e576d73..0000000000
--- a/vcell-restclient/docs/User1.md
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-# User1
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**userName** | **String** | | [optional] |
-|**key** | [**KeyValue**](KeyValue.md) | | [optional] |
-|**iD** | [**KeyValue**](KeyValue.md) | | [optional] |
-|**name** | **String** | | [optional] |
-|**publisher** | **Boolean** | | [optional] |
-|**testAccount** | **Boolean** | | [optional] |
-
-
-
diff --git a/vcell-restclient/docs/UserIdentity.md b/vcell-restclient/docs/UserIdentity.md
deleted file mode 100644
index 615df73fe4..0000000000
--- a/vcell-restclient/docs/UserIdentity.md
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-# UserIdentity
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**id** | **BigDecimal** | | [optional] |
-|**userName** | **String** | | [optional] |
-|**subject** | **String** | | [optional] |
-|**insertDate** | **OffsetDateTime** | | [optional] |
-
-
-
diff --git a/vcell-restclient/docs/UsersResourceApi.md b/vcell-restclient/docs/UsersResourceApi.md
index c367edb77c..831c4b98c6 100644
--- a/vcell-restclient/docs/UsersResourceApi.md
+++ b/vcell-restclient/docs/UsersResourceApi.md
@@ -1141,8 +1141,8 @@ null (empty response body)
|-------------|-------------|------------------|
| **200** | magic link sent in email if appropriate | - |
| **400** | unable to process request | - |
-| **403** | Not Allowed | - |
| **401** | Not Authorized | - |
+| **403** | Not Allowed | - |
## requestRecoveryEmailWithHttpInfo
@@ -1213,8 +1213,8 @@ ApiResponse
|-------------|-------------|------------------|
| **200** | magic link sent in email if appropriate | - |
| **400** | unable to process request | - |
-| **403** | Not Allowed | - |
| **401** | Not Authorized | - |
+| **403** | Not Allowed | - |
## unmapUser
diff --git a/vcell-restclient/docs/VCellServerID.md b/vcell-restclient/docs/VCellServerID.md
deleted file mode 100644
index 1c42061235..0000000000
--- a/vcell-restclient/docs/VCellServerID.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-# VCellServerID
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**serverID** | **String** | | [optional] |
-
-
-
diff --git a/vcell-restclient/docs/VariableDomain.md b/vcell-restclient/docs/VariableDomain.md
new file mode 100644
index 0000000000..666fdbff3b
--- /dev/null
+++ b/vcell-restclient/docs/VariableDomain.md
@@ -0,0 +1,23 @@
+
+
+# VariableDomain
+
+## Enum
+
+
+* `POSTPROCESSING` (value: `"VARIABLEDOMAIN_POSTPROCESSING"`)
+
+* `UNKNOWN` (value: `"VARIABLEDOMAIN_UNKNOWN"`)
+
+* `VOLUME` (value: `"VARIABLEDOMAIN_VOLUME"`)
+
+* `MEMBRANE` (value: `"VARIABLEDOMAIN_MEMBRANE"`)
+
+* `CONTOUR` (value: `"VARIABLEDOMAIN_CONTOUR"`)
+
+* `NONSPATIAL` (value: `"VARIABLEDOMAIN_NONSPATIAL"`)
+
+* `POINT` (value: `"VARIABLEDOMAIN_POINT"`)
+
+
+
diff --git a/vcell-restclient/docs/VariableType.md b/vcell-restclient/docs/VariableType.md
new file mode 100644
index 0000000000..78239053ff
--- /dev/null
+++ b/vcell-restclient/docs/VariableType.md
@@ -0,0 +1,21 @@
+
+
+# VariableType
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**type** | **Integer** | | [optional] |
+|**variableDomain** | **VariableDomain** | | [optional] |
+|**name** | **String** | | [optional] |
+|**units** | **String** | | [optional] |
+|**label** | **String** | | [optional] |
+|**legacyWarn** | **Boolean** | | [optional] |
+|**defaultLabel** | **String** | | [optional] |
+|**defaultUnits** | **String** | | [optional] |
+|**typeName** | **String** | | [optional] |
+
+
+
diff --git a/vcell-restclient/pom.xml b/vcell-restclient/pom.xml
index 68cf6df3f1..dcb76e83e0 100644
--- a/vcell-restclient/pom.xml
+++ b/vcell-restclient/pom.xml
@@ -266,6 +266,14 @@
${httpclient.version}
compile
+
+
+ org.apache.httpcomponents
+ httpmime
+ ${httpclient.version}
+ compile
+
+
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/api/FieldDataResourceApi.java b/vcell-restclient/src/main/java/org/vcell/restclient/api/FieldDataResourceApi.java
new file mode 100644
index 0000000000..5ac323fc3b
--- /dev/null
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/api/FieldDataResourceApi.java
@@ -0,0 +1,482 @@
+/*
+ * 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.api;
+
+import org.vcell.restclient.ApiClient;
+import org.vcell.restclient.ApiException;
+import org.vcell.restclient.ApiResponse;
+import org.vcell.restclient.Pair;
+
+import org.vcell.restclient.model.AnalyzedResultsFromFieldData;
+import org.vcell.restclient.model.FieldDataReference;
+import org.vcell.restclient.model.FieldDataSaveResults;
+import org.vcell.restclient.model.FieldDataShape;
+import java.io.File;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.NameValuePair;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+
+import java.io.InputStream;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.http.HttpRequest;
+import java.nio.channels.Channels;
+import java.nio.channels.Pipe;
+import java.net.URI;
+import java.net.http.HttpClient;
+import java.net.http.HttpRequest;
+import java.net.http.HttpResponse;
+import java.time.Duration;
+
+import java.util.ArrayList;
+import java.util.StringJoiner;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Consumer;
+
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class FieldDataResourceApi {
+ private final HttpClient memberVarHttpClient;
+ private final ObjectMapper memberVarObjectMapper;
+ private final String memberVarBaseUri;
+ private final Consumer memberVarInterceptor;
+ private final Duration memberVarReadTimeout;
+ private final Consumer> memberVarResponseInterceptor;
+ private final Consumer> memberVarAsyncResponseInterceptor;
+
+ public FieldDataResourceApi() {
+ this(new ApiClient());
+ }
+
+ public FieldDataResourceApi(ApiClient apiClient) {
+ memberVarHttpClient = apiClient.getHttpClient();
+ memberVarObjectMapper = apiClient.getObjectMapper();
+ memberVarBaseUri = apiClient.getBaseUri();
+ memberVarInterceptor = apiClient.getRequestInterceptor();
+ memberVarReadTimeout = apiClient.getReadTimeout();
+ memberVarResponseInterceptor = apiClient.getResponseInterceptor();
+ memberVarAsyncResponseInterceptor = apiClient.getAsyncResponseInterceptor();
+ }
+
+ protected ApiException getApiException(String operationId, HttpResponse response) throws IOException {
+ String body = response.body() == null ? null : new String(response.body().readAllBytes());
+ String message = formatExceptionMessage(operationId, response.statusCode(), body);
+ return new ApiException(response.statusCode(), message, response.headers(), body);
+ }
+
+ private String formatExceptionMessage(String operationId, int statusCode, String body) {
+ if (body == null || body.isEmpty()) {
+ body = "[no body]";
+ }
+ return operationId + " call failed with: " + statusCode + " - " + body;
+ }
+
+ /**
+ * Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+ *
+ * @param _file (optional)
+ * @param fileName (optional)
+ * @return AnalyzedResultsFromFieldData
+ * @throws ApiException if fails to make API call
+ */
+ public AnalyzedResultsFromFieldData analyzeFieldDataFile(File _file, String fileName) throws ApiException {
+ ApiResponse localVarResponse = analyzeFieldDataFileWithHttpInfo(_file, fileName);
+ return localVarResponse.getData();
+ }
+
+ /**
+ * Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+ *
+ * @param _file (optional)
+ * @param fileName (optional)
+ * @return ApiResponse<AnalyzedResultsFromFieldData>
+ * @throws ApiException if fails to make API call
+ */
+ public ApiResponse analyzeFieldDataFileWithHttpInfo(File _file, String fileName) throws ApiException {
+ HttpRequest.Builder localVarRequestBuilder = analyzeFieldDataFileRequestBuilder(_file, fileName);
+ try {
+ HttpResponse localVarResponse = memberVarHttpClient.send(
+ localVarRequestBuilder.build(),
+ HttpResponse.BodyHandlers.ofInputStream());
+ if (memberVarResponseInterceptor != null) {
+ memberVarResponseInterceptor.accept(localVarResponse);
+ }
+ try {
+ if (localVarResponse.statusCode()/ 100 != 2) {
+ throw getApiException("analyzeFieldDataFile", 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 analyzeFieldDataFileRequestBuilder(File _file, String fileName) throws ApiException {
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath = "/api/v1/fieldData/analyzeFieldDataFile";
+
+ localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
+
+ localVarRequestBuilder.header("Accept", "application/json");
+
+ MultipartEntityBuilder multiPartBuilder = MultipartEntityBuilder.create();
+ boolean hasFiles = false;
+ multiPartBuilder.addBinaryBody("file", _file);
+ hasFiles = true;
+ multiPartBuilder.addTextBody("fileName", fileName.toString());
+ HttpEntity entity = multiPartBuilder.build();
+ HttpRequest.BodyPublisher formDataPublisher;
+ if (hasFiles) {
+ Pipe pipe;
+ try {
+ pipe = Pipe.open();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ new Thread(() -> {
+ try (OutputStream outputStream = Channels.newOutputStream(pipe.sink())) {
+ entity.writeTo(outputStream);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }).start();
+ formDataPublisher = HttpRequest.BodyPublishers.ofInputStream(() -> Channels.newInputStream(pipe.source()));
+ } else {
+ ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
+ try {
+ entity.writeTo(formOutputStream);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ formDataPublisher = HttpRequest.BodyPublishers
+ .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray()));
+ }
+ localVarRequestBuilder
+ .header("Content-Type", entity.getContentType().getValue())
+ .method("POST", formDataPublisher);
+ if (memberVarReadTimeout != null) {
+ localVarRequestBuilder.timeout(memberVarReadTimeout);
+ }
+ if (memberVarInterceptor != null) {
+ memberVarInterceptor.accept(localVarRequestBuilder);
+ }
+ return localVarRequestBuilder;
+ }
+ /**
+ * Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+ *
+ * @param analyzedResultsFromFieldData (optional)
+ * @return FieldDataSaveResults
+ * @throws ApiException if fails to make API call
+ */
+ public FieldDataSaveResults createFieldDataFromAnalyzedFile(AnalyzedResultsFromFieldData analyzedResultsFromFieldData) throws ApiException {
+ ApiResponse localVarResponse = createFieldDataFromAnalyzedFileWithHttpInfo(analyzedResultsFromFieldData);
+ return localVarResponse.getData();
+ }
+
+ /**
+ * Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+ *
+ * @param analyzedResultsFromFieldData (optional)
+ * @return ApiResponse<FieldDataSaveResults>
+ * @throws ApiException if fails to make API call
+ */
+ public ApiResponse createFieldDataFromAnalyzedFileWithHttpInfo(AnalyzedResultsFromFieldData analyzedResultsFromFieldData) throws ApiException {
+ HttpRequest.Builder localVarRequestBuilder = createFieldDataFromAnalyzedFileRequestBuilder(analyzedResultsFromFieldData);
+ try {
+ HttpResponse localVarResponse = memberVarHttpClient.send(
+ localVarRequestBuilder.build(),
+ HttpResponse.BodyHandlers.ofInputStream());
+ if (memberVarResponseInterceptor != null) {
+ memberVarResponseInterceptor.accept(localVarResponse);
+ }
+ try {
+ if (localVarResponse.statusCode()/ 100 != 2) {
+ throw getApiException("createFieldDataFromAnalyzedFile", 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 createFieldDataFromAnalyzedFileRequestBuilder(AnalyzedResultsFromFieldData analyzedResultsFromFieldData) throws ApiException {
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath = "/api/v1/fieldData/createFieldDataFromAnalyzedFile";
+
+ localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
+
+ localVarRequestBuilder.header("Content-Type", "application/json");
+ localVarRequestBuilder.header("Accept", "application/json");
+
+ try {
+ byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(analyzedResultsFromFieldData);
+ localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody));
+ } catch (IOException e) {
+ throw new ApiException(e);
+ }
+ if (memberVarReadTimeout != null) {
+ localVarRequestBuilder.timeout(memberVarReadTimeout);
+ }
+ if (memberVarInterceptor != null) {
+ memberVarInterceptor.accept(localVarRequestBuilder);
+ }
+ return localVarRequestBuilder;
+ }
+ /**
+ * Delete the selected field data.
+ *
+ * @param fieldDataID (required)
+ * @throws ApiException if fails to make API call
+ */
+ public void deleteFieldData(String fieldDataID) throws ApiException {
+ deleteFieldDataWithHttpInfo(fieldDataID);
+ }
+
+ /**
+ * Delete the selected field data.
+ *
+ * @param fieldDataID (required)
+ * @return ApiResponse<Void>
+ * @throws ApiException if fails to make API call
+ */
+ public ApiResponse deleteFieldDataWithHttpInfo(String fieldDataID) throws ApiException {
+ HttpRequest.Builder localVarRequestBuilder = deleteFieldDataRequestBuilder(fieldDataID);
+ try {
+ HttpResponse localVarResponse = memberVarHttpClient.send(
+ localVarRequestBuilder.build(),
+ HttpResponse.BodyHandlers.ofInputStream());
+ if (memberVarResponseInterceptor != null) {
+ memberVarResponseInterceptor.accept(localVarResponse);
+ }
+ try {
+ if (localVarResponse.statusCode()/ 100 != 2) {
+ throw getApiException("deleteFieldData", localVarResponse);
+ }
+ return new ApiResponse(
+ localVarResponse.statusCode(),
+ localVarResponse.headers().map(),
+ null
+ );
+ } finally {
+ // Drain the InputStream
+ while (localVarResponse.body().read() != -1) {
+ // Ignore
+ }
+ localVarResponse.body().close();
+ }
+ } catch (IOException e) {
+ throw new ApiException(e);
+ }
+ catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ throw new ApiException(e);
+ }
+ }
+
+ private HttpRequest.Builder deleteFieldDataRequestBuilder(String fieldDataID) throws ApiException {
+ // verify the required parameter 'fieldDataID' is set
+ if (fieldDataID == null) {
+ throw new ApiException(400, "Missing the required parameter 'fieldDataID' when calling deleteFieldData");
+ }
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath = "/api/v1/fieldData/delete/{fieldDataID}"
+ .replace("{fieldDataID}", ApiClient.urlEncode(fieldDataID.toString()));
+
+ localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath));
+
+ localVarRequestBuilder.header("Accept", "application/json");
+
+ localVarRequestBuilder.method("DELETE", HttpRequest.BodyPublishers.noBody());
+ if (memberVarReadTimeout != null) {
+ localVarRequestBuilder.timeout(memberVarReadTimeout);
+ }
+ if (memberVarInterceptor != null) {
+ memberVarInterceptor.accept(localVarRequestBuilder);
+ }
+ return localVarRequestBuilder;
+ }
+ /**
+ * Get all of the ids used to identify, and retrieve field data.
+ *
+ * @return List<FieldDataReference>
+ * @throws ApiException if fails to make API call
+ */
+ public List getAllFieldDataIDs() throws ApiException {
+ ApiResponse> localVarResponse = getAllFieldDataIDsWithHttpInfo();
+ return localVarResponse.getData();
+ }
+
+ /**
+ * Get all of the ids used to identify, and retrieve field data.
+ *
+ * @return ApiResponse<List<FieldDataReference>>
+ * @throws ApiException if fails to make API call
+ */
+ public ApiResponse> getAllFieldDataIDsWithHttpInfo() throws ApiException {
+ HttpRequest.Builder localVarRequestBuilder = getAllFieldDataIDsRequestBuilder();
+ try {
+ HttpResponse localVarResponse = memberVarHttpClient.send(
+ localVarRequestBuilder.build(),
+ HttpResponse.BodyHandlers.ofInputStream());
+ if (memberVarResponseInterceptor != null) {
+ memberVarResponseInterceptor.accept(localVarResponse);
+ }
+ try {
+ if (localVarResponse.statusCode()/ 100 != 2) {
+ throw getApiException("getAllFieldDataIDs", 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 getAllFieldDataIDsRequestBuilder() throws ApiException {
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath = "/api/v1/fieldData/IDs";
+
+ 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;
+ }
+ /**
+ * Get the shape of the field data. That is it's size, origin, extent, and data identifiers.
+ *
+ * @param fieldDataID (required)
+ * @return FieldDataShape
+ * @throws ApiException if fails to make API call
+ */
+ public FieldDataShape getFieldDataShapeFromID(String fieldDataID) throws ApiException {
+ ApiResponse localVarResponse = getFieldDataShapeFromIDWithHttpInfo(fieldDataID);
+ return localVarResponse.getData();
+ }
+
+ /**
+ * Get the shape of the field data. That is it's size, origin, extent, and data identifiers.
+ *
+ * @param fieldDataID (required)
+ * @return ApiResponse<FieldDataShape>
+ * @throws ApiException if fails to make API call
+ */
+ public ApiResponse getFieldDataShapeFromIDWithHttpInfo(String fieldDataID) throws ApiException {
+ HttpRequest.Builder localVarRequestBuilder = getFieldDataShapeFromIDRequestBuilder(fieldDataID);
+ try {
+ HttpResponse localVarResponse = memberVarHttpClient.send(
+ localVarRequestBuilder.build(),
+ HttpResponse.BodyHandlers.ofInputStream());
+ if (memberVarResponseInterceptor != null) {
+ memberVarResponseInterceptor.accept(localVarResponse);
+ }
+ try {
+ if (localVarResponse.statusCode()/ 100 != 2) {
+ throw getApiException("getFieldDataShapeFromID", 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 getFieldDataShapeFromIDRequestBuilder(String fieldDataID) throws ApiException {
+ // verify the required parameter 'fieldDataID' is set
+ if (fieldDataID == null) {
+ throw new ApiException(400, "Missing the required parameter 'fieldDataID' when calling getFieldDataShapeFromID");
+ }
+
+ HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder();
+
+ String localVarPath = "/api/v1/fieldData/fieldDataShape/{fieldDataID}"
+ .replace("{fieldDataID}", ApiClient.urlEncode(fieldDataID.toString()));
+
+ 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;
+ }
+}
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/api/HelloWorldApi.java b/vcell-restclient/src/main/java/org/vcell/restclient/api/HelloWorldApi.java
index a3023a5bf1..170af922b3 100644
--- a/vcell-restclient/src/main/java/org/vcell/restclient/api/HelloWorldApi.java
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/api/HelloWorldApi.java
@@ -22,6 +22,12 @@
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.http.HttpEntity;
+import org.apache.http.NameValuePair;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+
import java.io.InputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/api/PublicationResourceApi.java b/vcell-restclient/src/main/java/org/vcell/restclient/api/PublicationResourceApi.java
index 42a0cc1847..14d9359f37 100644
--- a/vcell-restclient/src/main/java/org/vcell/restclient/api/PublicationResourceApi.java
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/api/PublicationResourceApi.java
@@ -22,6 +22,12 @@
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.http.HttpEntity;
+import org.apache.http.NameValuePair;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+
import java.io.InputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/api/SimulationResourceApi.java b/vcell-restclient/src/main/java/org/vcell/restclient/api/SimulationResourceApi.java
index 43f541b946..e6030384b8 100644
--- a/vcell-restclient/src/main/java/org/vcell/restclient/api/SimulationResourceApi.java
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/api/SimulationResourceApi.java
@@ -23,6 +23,12 @@
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.http.HttpEntity;
+import org.apache.http.NameValuePair;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+
import java.io.InputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/api/UsersResourceApi.java b/vcell-restclient/src/main/java/org/vcell/restclient/api/UsersResourceApi.java
index 6d4e10d646..83d1aba0fd 100644
--- a/vcell-restclient/src/main/java/org/vcell/restclient/api/UsersResourceApi.java
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/api/UsersResourceApi.java
@@ -26,6 +26,12 @@
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.http.HttpEntity;
+import org.apache.http.NameValuePair;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+
import java.io.InputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/AccessTokenRepresentation.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/AccessTokenRepresentation.java
deleted file mode 100644
index 8df8742129..0000000000
--- a/vcell-restclient/src/main/java/org/vcell/restclient/model/AccessTokenRepresentation.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * 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.Arrays;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-
-/**
- * AccessTokenRepresentation
- */
-@JsonPropertyOrder({
- AccessTokenRepresentation.JSON_PROPERTY_TOKEN,
- AccessTokenRepresentation.JSON_PROPERTY_CREATION_DATE_SECONDS,
- AccessTokenRepresentation.JSON_PROPERTY_EXPIRE_DATE_SECONDS,
- AccessTokenRepresentation.JSON_PROPERTY_USER_ID,
- AccessTokenRepresentation.JSON_PROPERTY_USER_KEY
-})
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
-public class AccessTokenRepresentation {
- public static final String JSON_PROPERTY_TOKEN = "token";
- private String token;
-
- public static final String JSON_PROPERTY_CREATION_DATE_SECONDS = "creationDateSeconds";
- private Long creationDateSeconds;
-
- public static final String JSON_PROPERTY_EXPIRE_DATE_SECONDS = "expireDateSeconds";
- private Long expireDateSeconds;
-
- public static final String JSON_PROPERTY_USER_ID = "userId";
- private String userId;
-
- public static final String JSON_PROPERTY_USER_KEY = "userKey";
- private String userKey;
-
- public AccessTokenRepresentation() {
- }
-
- public AccessTokenRepresentation token(String token) {
- this.token = token;
- return this;
- }
-
- /**
- * Get token
- * @return token
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_TOKEN)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getToken() {
- return token;
- }
-
-
- @JsonProperty(JSON_PROPERTY_TOKEN)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setToken(String token) {
- this.token = token;
- }
-
-
- public AccessTokenRepresentation creationDateSeconds(Long creationDateSeconds) {
- this.creationDateSeconds = creationDateSeconds;
- return this;
- }
-
- /**
- * Get creationDateSeconds
- * @return creationDateSeconds
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_CREATION_DATE_SECONDS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Long getCreationDateSeconds() {
- return creationDateSeconds;
- }
-
-
- @JsonProperty(JSON_PROPERTY_CREATION_DATE_SECONDS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setCreationDateSeconds(Long creationDateSeconds) {
- this.creationDateSeconds = creationDateSeconds;
- }
-
-
- public AccessTokenRepresentation expireDateSeconds(Long expireDateSeconds) {
- this.expireDateSeconds = expireDateSeconds;
- return this;
- }
-
- /**
- * Get expireDateSeconds
- * @return expireDateSeconds
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_EXPIRE_DATE_SECONDS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Long getExpireDateSeconds() {
- return expireDateSeconds;
- }
-
-
- @JsonProperty(JSON_PROPERTY_EXPIRE_DATE_SECONDS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setExpireDateSeconds(Long expireDateSeconds) {
- this.expireDateSeconds = expireDateSeconds;
- }
-
-
- public AccessTokenRepresentation userId(String userId) {
- this.userId = userId;
- return this;
- }
-
- /**
- * Get userId
- * @return userId
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_USER_ID)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getUserId() {
- return userId;
- }
-
-
- @JsonProperty(JSON_PROPERTY_USER_ID)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setUserId(String userId) {
- this.userId = userId;
- }
-
-
- public AccessTokenRepresentation userKey(String userKey) {
- this.userKey = userKey;
- return this;
- }
-
- /**
- * Get userKey
- * @return userKey
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_USER_KEY)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getUserKey() {
- return userKey;
- }
-
-
- @JsonProperty(JSON_PROPERTY_USER_KEY)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setUserKey(String userKey) {
- this.userKey = userKey;
- }
-
-
- /**
- * Return true if this AccessTokenRepresentation object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- AccessTokenRepresentation accessTokenRepresentation = (AccessTokenRepresentation) o;
- return Objects.equals(this.token, accessTokenRepresentation.token) &&
- Objects.equals(this.creationDateSeconds, accessTokenRepresentation.creationDateSeconds) &&
- Objects.equals(this.expireDateSeconds, accessTokenRepresentation.expireDateSeconds) &&
- Objects.equals(this.userId, accessTokenRepresentation.userId) &&
- Objects.equals(this.userKey, accessTokenRepresentation.userKey);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(token, creationDateSeconds, expireDateSeconds, userId, userKey);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class AccessTokenRepresentation {\n");
- sb.append(" token: ").append(toIndentedString(token)).append("\n");
- sb.append(" creationDateSeconds: ").append(toIndentedString(creationDateSeconds)).append("\n");
- sb.append(" expireDateSeconds: ").append(toIndentedString(expireDateSeconds)).append("\n");
- sb.append(" userId: ").append(toIndentedString(userId)).append("\n");
- sb.append(" userKey: ").append(toIndentedString(userKey)).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 `token` to the URL query string
- if (getToken() != null) {
- joiner.add(String.format("%stoken%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getToken()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `creationDateSeconds` to the URL query string
- if (getCreationDateSeconds() != null) {
- joiner.add(String.format("%screationDateSeconds%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getCreationDateSeconds()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `expireDateSeconds` to the URL query string
- if (getExpireDateSeconds() != null) {
- joiner.add(String.format("%sexpireDateSeconds%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getExpireDateSeconds()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `userId` to the URL query string
- if (getUserId() != null) {
- joiner.add(String.format("%suserId%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getUserId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `userKey` to the URL query string
- if (getUserKey() != null) {
- joiner.add(String.format("%suserKey%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getUserKey()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- return joiner.toString();
- }
-}
-
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/AnalyzedResultsFromFieldData.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/AnalyzedResultsFromFieldData.java
new file mode 100644
index 0000000000..510e545957
--- /dev/null
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/AnalyzedResultsFromFieldData.java
@@ -0,0 +1,445 @@
+/*
+ * 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.Extent;
+import org.vcell.restclient.model.ISize;
+import org.vcell.restclient.model.Origin;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+
+/**
+ * AnalyzedResultsFromFieldData
+ */
+@JsonPropertyOrder({
+ AnalyzedResultsFromFieldData.JSON_PROPERTY_SHORT_SPEC_DATA,
+ AnalyzedResultsFromFieldData.JSON_PROPERTY_VAR_NAMES,
+ AnalyzedResultsFromFieldData.JSON_PROPERTY_TIMES,
+ AnalyzedResultsFromFieldData.JSON_PROPERTY_ORIGIN,
+ AnalyzedResultsFromFieldData.JSON_PROPERTY_EXTENT,
+ AnalyzedResultsFromFieldData.JSON_PROPERTY_ISIZE,
+ AnalyzedResultsFromFieldData.JSON_PROPERTY_ANNOTATION,
+ AnalyzedResultsFromFieldData.JSON_PROPERTY_NAME
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class AnalyzedResultsFromFieldData {
+ public static final String JSON_PROPERTY_SHORT_SPEC_DATA = "shortSpecData";
+ private List>> shortSpecData;
+
+ public static final String JSON_PROPERTY_VAR_NAMES = "varNames";
+ private List varNames;
+
+ public static final String JSON_PROPERTY_TIMES = "times";
+ private List times;
+
+ public static final String JSON_PROPERTY_ORIGIN = "origin";
+ private Origin origin;
+
+ public static final String JSON_PROPERTY_EXTENT = "extent";
+ private Extent extent;
+
+ public static final String JSON_PROPERTY_ISIZE = "isize";
+ private ISize isize;
+
+ public static final String JSON_PROPERTY_ANNOTATION = "annotation";
+ private String annotation;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public AnalyzedResultsFromFieldData() {
+ }
+
+ public AnalyzedResultsFromFieldData shortSpecData(List>> shortSpecData) {
+ this.shortSpecData = shortSpecData;
+ return this;
+ }
+
+ public AnalyzedResultsFromFieldData addShortSpecDataItem(List> shortSpecDataItem) {
+ if (this.shortSpecData == null) {
+ this.shortSpecData = new ArrayList<>();
+ }
+ this.shortSpecData.add(shortSpecDataItem);
+ return this;
+ }
+
+ /**
+ * Get shortSpecData
+ * @return shortSpecData
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SHORT_SPEC_DATA)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public List>> getShortSpecData() {
+ return shortSpecData;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_SHORT_SPEC_DATA)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setShortSpecData(List>> shortSpecData) {
+ this.shortSpecData = shortSpecData;
+ }
+
+
+ public AnalyzedResultsFromFieldData varNames(List varNames) {
+ this.varNames = varNames;
+ return this;
+ }
+
+ public AnalyzedResultsFromFieldData addVarNamesItem(String varNamesItem) {
+ if (this.varNames == null) {
+ this.varNames = new ArrayList<>();
+ }
+ this.varNames.add(varNamesItem);
+ return this;
+ }
+
+ /**
+ * Get varNames
+ * @return varNames
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_VAR_NAMES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public List getVarNames() {
+ return varNames;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_VAR_NAMES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setVarNames(List varNames) {
+ this.varNames = varNames;
+ }
+
+
+ public AnalyzedResultsFromFieldData times(List times) {
+ this.times = times;
+ return this;
+ }
+
+ public AnalyzedResultsFromFieldData addTimesItem(Double timesItem) {
+ if (this.times == null) {
+ this.times = new ArrayList<>();
+ }
+ this.times.add(timesItem);
+ return this;
+ }
+
+ /**
+ * Get times
+ * @return times
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TIMES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public List getTimes() {
+ return times;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_TIMES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setTimes(List times) {
+ this.times = times;
+ }
+
+
+ public AnalyzedResultsFromFieldData origin(Origin origin) {
+ this.origin = origin;
+ return this;
+ }
+
+ /**
+ * Get origin
+ * @return origin
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ORIGIN)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Origin getOrigin() {
+ return origin;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_ORIGIN)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setOrigin(Origin origin) {
+ this.origin = origin;
+ }
+
+
+ public AnalyzedResultsFromFieldData extent(Extent extent) {
+ this.extent = extent;
+ return this;
+ }
+
+ /**
+ * Get extent
+ * @return extent
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_EXTENT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Extent getExtent() {
+ return extent;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_EXTENT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setExtent(Extent extent) {
+ this.extent = extent;
+ }
+
+
+ public AnalyzedResultsFromFieldData isize(ISize isize) {
+ this.isize = isize;
+ return this;
+ }
+
+ /**
+ * Get isize
+ * @return isize
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ISIZE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public ISize getIsize() {
+ return isize;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_ISIZE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setIsize(ISize isize) {
+ this.isize = isize;
+ }
+
+
+ public AnalyzedResultsFromFieldData annotation(String annotation) {
+ this.annotation = annotation;
+ return this;
+ }
+
+ /**
+ * Get annotation
+ * @return annotation
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ANNOTATION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getAnnotation() {
+ return annotation;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_ANNOTATION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setAnnotation(String annotation) {
+ this.annotation = annotation;
+ }
+
+
+ public AnalyzedResultsFromFieldData name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get name
+ * @return name
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getName() {
+ return name;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setName(String name) {
+ this.name = name;
+ }
+
+
+ /**
+ * Return true if this AnalyzedResultsFromFieldData object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AnalyzedResultsFromFieldData analyzedResultsFromFieldData = (AnalyzedResultsFromFieldData) o;
+ return Objects.equals(this.shortSpecData, analyzedResultsFromFieldData.shortSpecData) &&
+ Objects.equals(this.varNames, analyzedResultsFromFieldData.varNames) &&
+ Objects.equals(this.times, analyzedResultsFromFieldData.times) &&
+ Objects.equals(this.origin, analyzedResultsFromFieldData.origin) &&
+ Objects.equals(this.extent, analyzedResultsFromFieldData.extent) &&
+ Objects.equals(this.isize, analyzedResultsFromFieldData.isize) &&
+ Objects.equals(this.annotation, analyzedResultsFromFieldData.annotation) &&
+ Objects.equals(this.name, analyzedResultsFromFieldData.name);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(shortSpecData, varNames, times, origin, extent, isize, annotation, name);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AnalyzedResultsFromFieldData {\n");
+ sb.append(" shortSpecData: ").append(toIndentedString(shortSpecData)).append("\n");
+ sb.append(" varNames: ").append(toIndentedString(varNames)).append("\n");
+ sb.append(" times: ").append(toIndentedString(times)).append("\n");
+ sb.append(" origin: ").append(toIndentedString(origin)).append("\n");
+ sb.append(" extent: ").append(toIndentedString(extent)).append("\n");
+ sb.append(" isize: ").append(toIndentedString(isize)).append("\n");
+ sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).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 `shortSpecData` to the URL query string
+ if (getShortSpecData() != null) {
+ for (int i = 0; i < getShortSpecData().size(); i++) {
+ if (getShortSpecData().get(i) != null) {
+ joiner.add(String.format("%sshortSpecData%s%s=%s", prefix, suffix,
+ "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
+ URLEncoder.encode(String.valueOf(getShortSpecData().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+ }
+ }
+
+ // add `varNames` to the URL query string
+ if (getVarNames() != null) {
+ for (int i = 0; i < getVarNames().size(); i++) {
+ joiner.add(String.format("%svarNames%s%s=%s", prefix, suffix,
+ "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
+ URLEncoder.encode(String.valueOf(getVarNames().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+ }
+
+ // add `times` to the URL query string
+ if (getTimes() != null) {
+ for (int i = 0; i < getTimes().size(); i++) {
+ joiner.add(String.format("%stimes%s%s=%s", prefix, suffix,
+ "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
+ URLEncoder.encode(String.valueOf(getTimes().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+ }
+
+ // add `origin` to the URL query string
+ if (getOrigin() != null) {
+ joiner.add(getOrigin().toUrlQueryString(prefix + "origin" + suffix));
+ }
+
+ // add `extent` to the URL query string
+ if (getExtent() != null) {
+ joiner.add(getExtent().toUrlQueryString(prefix + "extent" + suffix));
+ }
+
+ // add `isize` to the URL query string
+ if (getIsize() != null) {
+ joiner.add(getIsize().toUrlQueryString(prefix + "isize" + suffix));
+ }
+
+ // add `annotation` to the URL query string
+ if (getAnnotation() != null) {
+ joiner.add(String.format("%sannotation%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getAnnotation()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `name` to the URL query string
+ if (getName() != null) {
+ joiner.add(String.format("%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
+
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/DataIdentifier.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/DataIdentifier.java
new file mode 100644
index 0000000000..15e202a03d
--- /dev/null
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/DataIdentifier.java
@@ -0,0 +1,368 @@
+/*
+ * 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.Arrays;
+import org.vcell.restclient.model.Domain;
+import org.vcell.restclient.model.VariableType;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+
+/**
+ * DataIdentifier
+ */
+@JsonPropertyOrder({
+ DataIdentifier.JSON_PROPERTY_NAME,
+ DataIdentifier.JSON_PROPERTY_DISPLAY_NAME,
+ DataIdentifier.JSON_PROPERTY_VARIABLE_TYPE,
+ DataIdentifier.JSON_PROPERTY_DOMAIN,
+ DataIdentifier.JSON_PROPERTY_B_FUNCTION,
+ DataIdentifier.JSON_PROPERTY_FUNCTION,
+ DataIdentifier.JSON_PROPERTY_VISIBLE
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class DataIdentifier {
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_DISPLAY_NAME = "displayName";
+ private String displayName;
+
+ public static final String JSON_PROPERTY_VARIABLE_TYPE = "variableType";
+ private VariableType variableType;
+
+ public static final String JSON_PROPERTY_DOMAIN = "domain";
+ private Domain domain;
+
+ public static final String JSON_PROPERTY_B_FUNCTION = "bFunction";
+ private Boolean bFunction;
+
+ public static final String JSON_PROPERTY_FUNCTION = "function";
+ private Boolean function;
+
+ public static final String JSON_PROPERTY_VISIBLE = "visible";
+ private Boolean visible;
+
+ public DataIdentifier() {
+ }
+
+ public DataIdentifier name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get name
+ * @return name
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getName() {
+ return name;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setName(String name) {
+ this.name = name;
+ }
+
+
+ public DataIdentifier displayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get displayName
+ * @return displayName
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DISPLAY_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getDisplayName() {
+ return displayName;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_DISPLAY_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setDisplayName(String displayName) {
+ this.displayName = displayName;
+ }
+
+
+ public DataIdentifier variableType(VariableType variableType) {
+ this.variableType = variableType;
+ return this;
+ }
+
+ /**
+ * Get variableType
+ * @return variableType
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_VARIABLE_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public VariableType getVariableType() {
+ return variableType;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_VARIABLE_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setVariableType(VariableType variableType) {
+ this.variableType = variableType;
+ }
+
+
+ public DataIdentifier domain(Domain domain) {
+ this.domain = domain;
+ return this;
+ }
+
+ /**
+ * Get domain
+ * @return domain
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DOMAIN)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Domain getDomain() {
+ return domain;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_DOMAIN)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setDomain(Domain domain) {
+ this.domain = domain;
+ }
+
+
+ public DataIdentifier bFunction(Boolean bFunction) {
+ this.bFunction = bFunction;
+ return this;
+ }
+
+ /**
+ * Get bFunction
+ * @return bFunction
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_B_FUNCTION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Boolean getbFunction() {
+ return bFunction;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_B_FUNCTION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setbFunction(Boolean bFunction) {
+ this.bFunction = bFunction;
+ }
+
+
+ public DataIdentifier function(Boolean function) {
+ this.function = function;
+ return this;
+ }
+
+ /**
+ * Get function
+ * @return function
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FUNCTION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Boolean getFunction() {
+ return function;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_FUNCTION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setFunction(Boolean function) {
+ this.function = function;
+ }
+
+
+ public DataIdentifier visible(Boolean visible) {
+ this.visible = visible;
+ return this;
+ }
+
+ /**
+ * Get visible
+ * @return visible
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_VISIBLE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Boolean getVisible() {
+ return visible;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_VISIBLE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setVisible(Boolean visible) {
+ this.visible = visible;
+ }
+
+
+ /**
+ * Return true if this DataIdentifier object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DataIdentifier dataIdentifier = (DataIdentifier) o;
+ return Objects.equals(this.name, dataIdentifier.name) &&
+ Objects.equals(this.displayName, dataIdentifier.displayName) &&
+ Objects.equals(this.variableType, dataIdentifier.variableType) &&
+ Objects.equals(this.domain, dataIdentifier.domain) &&
+ Objects.equals(this.bFunction, dataIdentifier.bFunction) &&
+ Objects.equals(this.function, dataIdentifier.function) &&
+ Objects.equals(this.visible, dataIdentifier.visible);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, displayName, variableType, domain, bFunction, function, visible);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DataIdentifier {\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n");
+ sb.append(" variableType: ").append(toIndentedString(variableType)).append("\n");
+ sb.append(" domain: ").append(toIndentedString(domain)).append("\n");
+ sb.append(" bFunction: ").append(toIndentedString(bFunction)).append("\n");
+ sb.append(" function: ").append(toIndentedString(function)).append("\n");
+ sb.append(" visible: ").append(toIndentedString(visible)).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 `name` to the URL query string
+ if (getName() != null) {
+ joiner.add(String.format("%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `displayName` to the URL query string
+ if (getDisplayName() != null) {
+ joiner.add(String.format("%sdisplayName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getDisplayName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `variableType` to the URL query string
+ if (getVariableType() != null) {
+ joiner.add(getVariableType().toUrlQueryString(prefix + "variableType" + suffix));
+ }
+
+ // add `domain` to the URL query string
+ if (getDomain() != null) {
+ joiner.add(getDomain().toUrlQueryString(prefix + "domain" + suffix));
+ }
+
+ // add `bFunction` to the URL query string
+ if (getbFunction() != null) {
+ joiner.add(String.format("%sbFunction%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getbFunction()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `function` to the URL query string
+ if (getFunction() != null) {
+ joiner.add(String.format("%sfunction%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFunction()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `visible` to the URL query string
+ if (getVisible() != null) {
+ joiner.add(String.format("%svisible%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getVisible()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
+
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/Simulation.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/Domain.java
similarity index 90%
rename from vcell-restclient/src/main/java/org/vcell/restclient/model/Simulation.java
rename to vcell-restclient/src/main/java/org/vcell/restclient/model/Domain.java
index 473dbe6f09..33b401f2d6 100644
--- a/vcell-restclient/src/main/java/org/vcell/restclient/model/Simulation.java
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/Domain.java
@@ -29,20 +29,20 @@
/**
- * Simulation
+ * Domain
*/
@JsonPropertyOrder({
- Simulation.JSON_PROPERTY_NAME
+ Domain.JSON_PROPERTY_NAME
})
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
-public class Simulation {
+public class Domain {
public static final String JSON_PROPERTY_NAME = "name";
private String name;
- public Simulation() {
+ public Domain() {
}
- public Simulation name(String name) {
+ public Domain name(String name) {
this.name = name;
return this;
}
@@ -68,7 +68,7 @@ public void setName(String name) {
/**
- * Return true if this Simulation object is equal to o.
+ * Return true if this Domain object is equal to o.
*/
@Override
public boolean equals(Object o) {
@@ -78,8 +78,8 @@ public boolean equals(Object o) {
if (o == null || getClass() != o.getClass()) {
return false;
}
- Simulation simulation = (Simulation) o;
- return Objects.equals(this.name, simulation.name);
+ Domain domain = (Domain) o;
+ return Objects.equals(this.name, domain.name);
}
@Override
@@ -90,7 +90,7 @@ public int hashCode() {
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append("class Simulation {\n");
+ sb.append("class Domain {\n");
sb.append(" name: ").append(toIndentedString(name)).append("\n");
sb.append("}");
return sb.toString();
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/Extent.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/Extent.java
new file mode 100644
index 0000000000..fdc566be08
--- /dev/null
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/Extent.java
@@ -0,0 +1,222 @@
+/*
+ * 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.Arrays;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+
+/**
+ * Extent
+ */
+@JsonPropertyOrder({
+ Extent.JSON_PROPERTY_X,
+ Extent.JSON_PROPERTY_Y,
+ Extent.JSON_PROPERTY_Z
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class Extent {
+ public static final String JSON_PROPERTY_X = "x";
+ private Double x;
+
+ public static final String JSON_PROPERTY_Y = "y";
+ private Double y;
+
+ public static final String JSON_PROPERTY_Z = "z";
+ private Double z;
+
+ public Extent() {
+ }
+
+ public Extent x(Double x) {
+ this.x = x;
+ return this;
+ }
+
+ /**
+ * Get x
+ * @return x
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_X)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Double getX() {
+ return x;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_X)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setX(Double x) {
+ this.x = x;
+ }
+
+
+ public Extent y(Double y) {
+ this.y = y;
+ return this;
+ }
+
+ /**
+ * Get y
+ * @return y
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_Y)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Double getY() {
+ return y;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_Y)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setY(Double y) {
+ this.y = y;
+ }
+
+
+ public Extent z(Double z) {
+ this.z = z;
+ return this;
+ }
+
+ /**
+ * Get z
+ * @return z
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_Z)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Double getZ() {
+ return z;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_Z)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setZ(Double z) {
+ this.z = z;
+ }
+
+
+ /**
+ * Return true if this Extent object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Extent extent = (Extent) o;
+ return Objects.equals(this.x, extent.x) &&
+ Objects.equals(this.y, extent.y) &&
+ Objects.equals(this.z, extent.z);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(x, y, z);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Extent {\n");
+ sb.append(" x: ").append(toIndentedString(x)).append("\n");
+ sb.append(" y: ").append(toIndentedString(y)).append("\n");
+ sb.append(" z: ").append(toIndentedString(z)).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 `x` to the URL query string
+ if (getX() != null) {
+ joiner.add(String.format("%sx%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getX()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `y` to the URL query string
+ if (getY() != null) {
+ joiner.add(String.format("%sy%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getY()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `z` to the URL query string
+ if (getZ() != null) {
+ joiner.add(String.format("%sz%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getZ()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
+
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/ExternalDataIdentifier.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/ExternalDataIdentifier.java
new file mode 100644
index 0000000000..55338ca90d
--- /dev/null
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/ExternalDataIdentifier.java
@@ -0,0 +1,368 @@
+/*
+ * 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.Arrays;
+import org.vcell.restclient.model.KeyValue;
+import org.vcell.restclient.model.User;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+
+/**
+ * ExternalDataIdentifier
+ */
+@JsonPropertyOrder({
+ ExternalDataIdentifier.JSON_PROPERTY_KEY,
+ ExternalDataIdentifier.JSON_PROPERTY_OWNER,
+ ExternalDataIdentifier.JSON_PROPERTY_NAME,
+ ExternalDataIdentifier.JSON_PROPERTY_JOB_INDEX,
+ ExternalDataIdentifier.JSON_PROPERTY_SIMULATION_KEY,
+ ExternalDataIdentifier.JSON_PROPERTY_PARAMETER_SCAN_TYPE,
+ ExternalDataIdentifier.JSON_PROPERTY_DATA_KEY
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class ExternalDataIdentifier {
+ public static final String JSON_PROPERTY_KEY = "key";
+ private KeyValue key;
+
+ public static final String JSON_PROPERTY_OWNER = "owner";
+ private User owner;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_JOB_INDEX = "jobIndex";
+ private Integer jobIndex;
+
+ public static final String JSON_PROPERTY_SIMULATION_KEY = "simulationKey";
+ private KeyValue simulationKey;
+
+ public static final String JSON_PROPERTY_PARAMETER_SCAN_TYPE = "parameterScanType";
+ private Boolean parameterScanType;
+
+ public static final String JSON_PROPERTY_DATA_KEY = "dataKey";
+ private KeyValue dataKey;
+
+ public ExternalDataIdentifier() {
+ }
+
+ public ExternalDataIdentifier key(KeyValue key) {
+ this.key = key;
+ return this;
+ }
+
+ /**
+ * Get key
+ * @return key
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_KEY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public KeyValue getKey() {
+ return key;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_KEY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setKey(KeyValue key) {
+ this.key = key;
+ }
+
+
+ public ExternalDataIdentifier owner(User owner) {
+ this.owner = owner;
+ return this;
+ }
+
+ /**
+ * Get owner
+ * @return owner
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_OWNER)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public User getOwner() {
+ return owner;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_OWNER)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setOwner(User owner) {
+ this.owner = owner;
+ }
+
+
+ public ExternalDataIdentifier name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get name
+ * @return name
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getName() {
+ return name;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setName(String name) {
+ this.name = name;
+ }
+
+
+ public ExternalDataIdentifier jobIndex(Integer jobIndex) {
+ this.jobIndex = jobIndex;
+ return this;
+ }
+
+ /**
+ * Get jobIndex
+ * @return jobIndex
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_JOB_INDEX)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Integer getJobIndex() {
+ return jobIndex;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_JOB_INDEX)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setJobIndex(Integer jobIndex) {
+ this.jobIndex = jobIndex;
+ }
+
+
+ public ExternalDataIdentifier simulationKey(KeyValue simulationKey) {
+ this.simulationKey = simulationKey;
+ return this;
+ }
+
+ /**
+ * Get simulationKey
+ * @return simulationKey
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SIMULATION_KEY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public KeyValue getSimulationKey() {
+ return simulationKey;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_SIMULATION_KEY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setSimulationKey(KeyValue simulationKey) {
+ this.simulationKey = simulationKey;
+ }
+
+
+ public ExternalDataIdentifier parameterScanType(Boolean parameterScanType) {
+ this.parameterScanType = parameterScanType;
+ return this;
+ }
+
+ /**
+ * Get parameterScanType
+ * @return parameterScanType
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_PARAMETER_SCAN_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Boolean getParameterScanType() {
+ return parameterScanType;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_PARAMETER_SCAN_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setParameterScanType(Boolean parameterScanType) {
+ this.parameterScanType = parameterScanType;
+ }
+
+
+ public ExternalDataIdentifier dataKey(KeyValue dataKey) {
+ this.dataKey = dataKey;
+ return this;
+ }
+
+ /**
+ * Get dataKey
+ * @return dataKey
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DATA_KEY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public KeyValue getDataKey() {
+ return dataKey;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_DATA_KEY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setDataKey(KeyValue dataKey) {
+ this.dataKey = dataKey;
+ }
+
+
+ /**
+ * Return true if this ExternalDataIdentifier object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ExternalDataIdentifier externalDataIdentifier = (ExternalDataIdentifier) o;
+ return Objects.equals(this.key, externalDataIdentifier.key) &&
+ Objects.equals(this.owner, externalDataIdentifier.owner) &&
+ Objects.equals(this.name, externalDataIdentifier.name) &&
+ Objects.equals(this.jobIndex, externalDataIdentifier.jobIndex) &&
+ Objects.equals(this.simulationKey, externalDataIdentifier.simulationKey) &&
+ Objects.equals(this.parameterScanType, externalDataIdentifier.parameterScanType) &&
+ Objects.equals(this.dataKey, externalDataIdentifier.dataKey);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(key, owner, name, jobIndex, simulationKey, parameterScanType, dataKey);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ExternalDataIdentifier {\n");
+ sb.append(" key: ").append(toIndentedString(key)).append("\n");
+ sb.append(" owner: ").append(toIndentedString(owner)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" jobIndex: ").append(toIndentedString(jobIndex)).append("\n");
+ sb.append(" simulationKey: ").append(toIndentedString(simulationKey)).append("\n");
+ sb.append(" parameterScanType: ").append(toIndentedString(parameterScanType)).append("\n");
+ sb.append(" dataKey: ").append(toIndentedString(dataKey)).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 `key` to the URL query string
+ if (getKey() != null) {
+ joiner.add(getKey().toUrlQueryString(prefix + "key" + suffix));
+ }
+
+ // add `owner` to the URL query string
+ if (getOwner() != null) {
+ joiner.add(getOwner().toUrlQueryString(prefix + "owner" + suffix));
+ }
+
+ // add `name` to the URL query string
+ if (getName() != null) {
+ joiner.add(String.format("%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `jobIndex` to the URL query string
+ if (getJobIndex() != null) {
+ joiner.add(String.format("%sjobIndex%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getJobIndex()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `simulationKey` to the URL query string
+ if (getSimulationKey() != null) {
+ joiner.add(getSimulationKey().toUrlQueryString(prefix + "simulationKey" + suffix));
+ }
+
+ // add `parameterScanType` to the URL query string
+ if (getParameterScanType() != null) {
+ joiner.add(String.format("%sparameterScanType%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getParameterScanType()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `dataKey` to the URL query string
+ if (getDataKey() != null) {
+ joiner.add(getDataKey().toUrlQueryString(prefix + "dataKey" + suffix));
+ }
+
+ return joiner.toString();
+ }
+}
+
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/FieldDataReference.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/FieldDataReference.java
new file mode 100644
index 0000000000..4c2ee8f0e7
--- /dev/null
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/FieldDataReference.java
@@ -0,0 +1,239 @@
+/*
+ * 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.ExternalDataIdentifier;
+import org.vcell.restclient.model.KeyValue;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+
+/**
+ * FieldDataReference
+ */
+@JsonPropertyOrder({
+ FieldDataReference.JSON_PROPERTY_EXTERNAL_DATA_IDENTIFIER,
+ FieldDataReference.JSON_PROPERTY_EXTERNAL_DATA_ANNOTATION,
+ FieldDataReference.JSON_PROPERTY_EXTERNAL_DATA_I_D_SIM_REFS
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class FieldDataReference {
+ public static final String JSON_PROPERTY_EXTERNAL_DATA_IDENTIFIER = "externalDataIdentifier";
+ private ExternalDataIdentifier externalDataIdentifier;
+
+ public static final String JSON_PROPERTY_EXTERNAL_DATA_ANNOTATION = "externalDataAnnotation";
+ private String externalDataAnnotation;
+
+ public static final String JSON_PROPERTY_EXTERNAL_DATA_I_D_SIM_REFS = "externalDataIDSimRefs";
+ private List externalDataIDSimRefs;
+
+ public FieldDataReference() {
+ }
+
+ public FieldDataReference externalDataIdentifier(ExternalDataIdentifier externalDataIdentifier) {
+ this.externalDataIdentifier = externalDataIdentifier;
+ return this;
+ }
+
+ /**
+ * Get externalDataIdentifier
+ * @return externalDataIdentifier
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_EXTERNAL_DATA_IDENTIFIER)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public ExternalDataIdentifier getExternalDataIdentifier() {
+ return externalDataIdentifier;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_EXTERNAL_DATA_IDENTIFIER)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setExternalDataIdentifier(ExternalDataIdentifier externalDataIdentifier) {
+ this.externalDataIdentifier = externalDataIdentifier;
+ }
+
+
+ public FieldDataReference externalDataAnnotation(String externalDataAnnotation) {
+ this.externalDataAnnotation = externalDataAnnotation;
+ return this;
+ }
+
+ /**
+ * Get externalDataAnnotation
+ * @return externalDataAnnotation
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_EXTERNAL_DATA_ANNOTATION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getExternalDataAnnotation() {
+ return externalDataAnnotation;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_EXTERNAL_DATA_ANNOTATION)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setExternalDataAnnotation(String externalDataAnnotation) {
+ this.externalDataAnnotation = externalDataAnnotation;
+ }
+
+
+ public FieldDataReference externalDataIDSimRefs(List externalDataIDSimRefs) {
+ this.externalDataIDSimRefs = externalDataIDSimRefs;
+ return this;
+ }
+
+ public FieldDataReference addExternalDataIDSimRefsItem(KeyValue externalDataIDSimRefsItem) {
+ if (this.externalDataIDSimRefs == null) {
+ this.externalDataIDSimRefs = new ArrayList<>();
+ }
+ this.externalDataIDSimRefs.add(externalDataIDSimRefsItem);
+ return this;
+ }
+
+ /**
+ * Get externalDataIDSimRefs
+ * @return externalDataIDSimRefs
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_EXTERNAL_DATA_I_D_SIM_REFS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public List getExternalDataIDSimRefs() {
+ return externalDataIDSimRefs;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_EXTERNAL_DATA_I_D_SIM_REFS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setExternalDataIDSimRefs(List externalDataIDSimRefs) {
+ this.externalDataIDSimRefs = externalDataIDSimRefs;
+ }
+
+
+ /**
+ * Return true if this FieldDataReference object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ FieldDataReference fieldDataReference = (FieldDataReference) o;
+ return Objects.equals(this.externalDataIdentifier, fieldDataReference.externalDataIdentifier) &&
+ Objects.equals(this.externalDataAnnotation, fieldDataReference.externalDataAnnotation) &&
+ Objects.equals(this.externalDataIDSimRefs, fieldDataReference.externalDataIDSimRefs);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(externalDataIdentifier, externalDataAnnotation, externalDataIDSimRefs);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class FieldDataReference {\n");
+ sb.append(" externalDataIdentifier: ").append(toIndentedString(externalDataIdentifier)).append("\n");
+ sb.append(" externalDataAnnotation: ").append(toIndentedString(externalDataAnnotation)).append("\n");
+ sb.append(" externalDataIDSimRefs: ").append(toIndentedString(externalDataIDSimRefs)).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 `externalDataIdentifier` to the URL query string
+ if (getExternalDataIdentifier() != null) {
+ joiner.add(getExternalDataIdentifier().toUrlQueryString(prefix + "externalDataIdentifier" + suffix));
+ }
+
+ // add `externalDataAnnotation` to the URL query string
+ if (getExternalDataAnnotation() != null) {
+ joiner.add(String.format("%sexternalDataAnnotation%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getExternalDataAnnotation()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `externalDataIDSimRefs` to the URL query string
+ if (getExternalDataIDSimRefs() != null) {
+ for (int i = 0; i < getExternalDataIDSimRefs().size(); i++) {
+ if (getExternalDataIDSimRefs().get(i) != null) {
+ joiner.add(getExternalDataIDSimRefs().get(i).toUrlQueryString(String.format("%sexternalDataIDSimRefs%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/MapUser.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/FieldDataSaveResults.java
similarity index 55%
rename from vcell-restclient/src/main/java/org/vcell/restclient/model/MapUser.java
rename to vcell-restclient/src/main/java/org/vcell/restclient/model/FieldDataSaveResults.java
index 688ba68195..4652fafe77 100644
--- a/vcell-restclient/src/main/java/org/vcell/restclient/model/MapUser.java
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/FieldDataSaveResults.java
@@ -29,75 +29,75 @@
/**
- * MapUser
+ * FieldDataSaveResults
*/
@JsonPropertyOrder({
- MapUser.JSON_PROPERTY_USER_I_D,
- MapUser.JSON_PROPERTY_PASSWORD
+ FieldDataSaveResults.JSON_PROPERTY_FIELD_DATA_NAME,
+ FieldDataSaveResults.JSON_PROPERTY_FIELD_DATA_I_D
})
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
-public class MapUser {
- public static final String JSON_PROPERTY_USER_I_D = "userID";
- private String userID;
+public class FieldDataSaveResults {
+ public static final String JSON_PROPERTY_FIELD_DATA_NAME = "fieldDataName";
+ private String fieldDataName;
- public static final String JSON_PROPERTY_PASSWORD = "password";
- private String password;
+ public static final String JSON_PROPERTY_FIELD_DATA_I_D = "fieldDataID";
+ private String fieldDataID;
- public MapUser() {
+ public FieldDataSaveResults() {
}
- public MapUser userID(String userID) {
- this.userID = userID;
+ public FieldDataSaveResults fieldDataName(String fieldDataName) {
+ this.fieldDataName = fieldDataName;
return this;
}
/**
- * Get userID
- * @return userID
+ * Get fieldDataName
+ * @return fieldDataName
**/
@javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_USER_I_D)
+ @JsonProperty(JSON_PROPERTY_FIELD_DATA_NAME)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public String getUserID() {
- return userID;
+ public String getFieldDataName() {
+ return fieldDataName;
}
- @JsonProperty(JSON_PROPERTY_USER_I_D)
+ @JsonProperty(JSON_PROPERTY_FIELD_DATA_NAME)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setUserID(String userID) {
- this.userID = userID;
+ public void setFieldDataName(String fieldDataName) {
+ this.fieldDataName = fieldDataName;
}
- public MapUser password(String password) {
- this.password = password;
+ public FieldDataSaveResults fieldDataID(String fieldDataID) {
+ this.fieldDataID = fieldDataID;
return this;
}
/**
- * Get password
- * @return password
+ * Get fieldDataID
+ * @return fieldDataID
**/
@javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_PASSWORD)
+ @JsonProperty(JSON_PROPERTY_FIELD_DATA_I_D)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public String getPassword() {
- return password;
+ public String getFieldDataID() {
+ return fieldDataID;
}
- @JsonProperty(JSON_PROPERTY_PASSWORD)
+ @JsonProperty(JSON_PROPERTY_FIELD_DATA_I_D)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setPassword(String password) {
- this.password = password;
+ public void setFieldDataID(String fieldDataID) {
+ this.fieldDataID = fieldDataID;
}
/**
- * Return true if this MapUser object is equal to o.
+ * Return true if this FieldDataSaveResults object is equal to o.
*/
@Override
public boolean equals(Object o) {
@@ -107,22 +107,22 @@ public boolean equals(Object o) {
if (o == null || getClass() != o.getClass()) {
return false;
}
- MapUser mapUser = (MapUser) o;
- return Objects.equals(this.userID, mapUser.userID) &&
- Objects.equals(this.password, mapUser.password);
+ FieldDataSaveResults fieldDataSaveResults = (FieldDataSaveResults) o;
+ return Objects.equals(this.fieldDataName, fieldDataSaveResults.fieldDataName) &&
+ Objects.equals(this.fieldDataID, fieldDataSaveResults.fieldDataID);
}
@Override
public int hashCode() {
- return Objects.hash(userID, password);
+ return Objects.hash(fieldDataName, fieldDataID);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append("class MapUser {\n");
- sb.append(" userID: ").append(toIndentedString(userID)).append("\n");
- sb.append(" password: ").append(toIndentedString(password)).append("\n");
+ sb.append("class FieldDataSaveResults {\n");
+ sb.append(" fieldDataName: ").append(toIndentedString(fieldDataName)).append("\n");
+ sb.append(" fieldDataID: ").append(toIndentedString(fieldDataID)).append("\n");
sb.append("}");
return sb.toString();
}
@@ -170,14 +170,14 @@ public String toUrlQueryString(String prefix) {
StringJoiner joiner = new StringJoiner("&");
- // add `userID` to the URL query string
- if (getUserID() != null) {
- joiner.add(String.format("%suserID%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getUserID()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ // add `fieldDataName` to the URL query string
+ if (getFieldDataName() != null) {
+ joiner.add(String.format("%sfieldDataName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFieldDataName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
}
- // add `password` to the URL query string
- if (getPassword() != null) {
- joiner.add(String.format("%spassword%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getPassword()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ // add `fieldDataID` to the URL query string
+ if (getFieldDataID() != null) {
+ joiner.add(String.format("%sfieldDataID%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFieldDataID()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
}
return joiner.toString();
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/FieldDataShape.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/FieldDataShape.java
new file mode 100644
index 0000000000..8bbc5717d2
--- /dev/null
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/FieldDataShape.java
@@ -0,0 +1,325 @@
+/*
+ * 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.DataIdentifier;
+import org.vcell.restclient.model.Extent;
+import org.vcell.restclient.model.ISize;
+import org.vcell.restclient.model.Origin;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+
+/**
+ * FieldDataShape
+ */
+@JsonPropertyOrder({
+ FieldDataShape.JSON_PROPERTY_EXTENT,
+ FieldDataShape.JSON_PROPERTY_ORIGIN,
+ FieldDataShape.JSON_PROPERTY_ISIZE,
+ FieldDataShape.JSON_PROPERTY_DATA_IDENTIFIER,
+ FieldDataShape.JSON_PROPERTY_TIMES
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class FieldDataShape {
+ public static final String JSON_PROPERTY_EXTENT = "extent";
+ private Extent extent;
+
+ public static final String JSON_PROPERTY_ORIGIN = "origin";
+ private Origin origin;
+
+ public static final String JSON_PROPERTY_ISIZE = "isize";
+ private ISize isize;
+
+ public static final String JSON_PROPERTY_DATA_IDENTIFIER = "dataIdentifier";
+ private List dataIdentifier;
+
+ public static final String JSON_PROPERTY_TIMES = "times";
+ private List times;
+
+ public FieldDataShape() {
+ }
+
+ public FieldDataShape extent(Extent extent) {
+ this.extent = extent;
+ return this;
+ }
+
+ /**
+ * Get extent
+ * @return extent
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_EXTENT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Extent getExtent() {
+ return extent;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_EXTENT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setExtent(Extent extent) {
+ this.extent = extent;
+ }
+
+
+ public FieldDataShape origin(Origin origin) {
+ this.origin = origin;
+ return this;
+ }
+
+ /**
+ * Get origin
+ * @return origin
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ORIGIN)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Origin getOrigin() {
+ return origin;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_ORIGIN)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setOrigin(Origin origin) {
+ this.origin = origin;
+ }
+
+
+ public FieldDataShape isize(ISize isize) {
+ this.isize = isize;
+ return this;
+ }
+
+ /**
+ * Get isize
+ * @return isize
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ISIZE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public ISize getIsize() {
+ return isize;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_ISIZE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setIsize(ISize isize) {
+ this.isize = isize;
+ }
+
+
+ public FieldDataShape dataIdentifier(List dataIdentifier) {
+ this.dataIdentifier = dataIdentifier;
+ return this;
+ }
+
+ public FieldDataShape addDataIdentifierItem(DataIdentifier dataIdentifierItem) {
+ if (this.dataIdentifier == null) {
+ this.dataIdentifier = new ArrayList<>();
+ }
+ this.dataIdentifier.add(dataIdentifierItem);
+ return this;
+ }
+
+ /**
+ * Get dataIdentifier
+ * @return dataIdentifier
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DATA_IDENTIFIER)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public List getDataIdentifier() {
+ return dataIdentifier;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_DATA_IDENTIFIER)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setDataIdentifier(List dataIdentifier) {
+ this.dataIdentifier = dataIdentifier;
+ }
+
+
+ public FieldDataShape times(List times) {
+ this.times = times;
+ return this;
+ }
+
+ public FieldDataShape addTimesItem(Double timesItem) {
+ if (this.times == null) {
+ this.times = new ArrayList<>();
+ }
+ this.times.add(timesItem);
+ return this;
+ }
+
+ /**
+ * Get times
+ * @return times
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TIMES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public List getTimes() {
+ return times;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_TIMES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setTimes(List times) {
+ this.times = times;
+ }
+
+
+ /**
+ * Return true if this FieldDataShape object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ FieldDataShape fieldDataShape = (FieldDataShape) o;
+ return Objects.equals(this.extent, fieldDataShape.extent) &&
+ Objects.equals(this.origin, fieldDataShape.origin) &&
+ Objects.equals(this.isize, fieldDataShape.isize) &&
+ Objects.equals(this.dataIdentifier, fieldDataShape.dataIdentifier) &&
+ Objects.equals(this.times, fieldDataShape.times);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(extent, origin, isize, dataIdentifier, times);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class FieldDataShape {\n");
+ sb.append(" extent: ").append(toIndentedString(extent)).append("\n");
+ sb.append(" origin: ").append(toIndentedString(origin)).append("\n");
+ sb.append(" isize: ").append(toIndentedString(isize)).append("\n");
+ sb.append(" dataIdentifier: ").append(toIndentedString(dataIdentifier)).append("\n");
+ sb.append(" times: ").append(toIndentedString(times)).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 `extent` to the URL query string
+ if (getExtent() != null) {
+ joiner.add(getExtent().toUrlQueryString(prefix + "extent" + suffix));
+ }
+
+ // add `origin` to the URL query string
+ if (getOrigin() != null) {
+ joiner.add(getOrigin().toUrlQueryString(prefix + "origin" + suffix));
+ }
+
+ // add `isize` to the URL query string
+ if (getIsize() != null) {
+ joiner.add(getIsize().toUrlQueryString(prefix + "isize" + suffix));
+ }
+
+ // add `dataIdentifier` to the URL query string
+ if (getDataIdentifier() != null) {
+ for (int i = 0; i < getDataIdentifier().size(); i++) {
+ if (getDataIdentifier().get(i) != null) {
+ joiner.add(getDataIdentifier().get(i).toUrlQueryString(String.format("%sdataIdentifier%s%s", prefix, suffix,
+ "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix))));
+ }
+ }
+ }
+
+ // add `times` to the URL query string
+ if (getTimes() != null) {
+ for (int i = 0; i < getTimes().size(); i++) {
+ joiner.add(String.format("%stimes%s%s=%s", prefix, suffix,
+ "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
+ URLEncoder.encode(String.valueOf(getTimes().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+ }
+
+ return joiner.toString();
+ }
+}
+
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/VCellServerID.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/ISize.java
similarity index 50%
rename from vcell-restclient/src/main/java/org/vcell/restclient/model/VCellServerID.java
rename to vcell-restclient/src/main/java/org/vcell/restclient/model/ISize.java
index 994933ad5f..cd299e8791 100644
--- a/vcell-restclient/src/main/java/org/vcell/restclient/model/VCellServerID.java
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/ISize.java
@@ -29,46 +29,104 @@
/**
- * VCellServerID
+ * ISize
*/
@JsonPropertyOrder({
- VCellServerID.JSON_PROPERTY_SERVER_I_D
+ ISize.JSON_PROPERTY_X,
+ ISize.JSON_PROPERTY_Y,
+ ISize.JSON_PROPERTY_Z
})
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
-public class VCellServerID {
- public static final String JSON_PROPERTY_SERVER_I_D = "serverID";
- private String serverID;
+public class ISize {
+ public static final String JSON_PROPERTY_X = "x";
+ private Integer x;
- public VCellServerID() {
+ public static final String JSON_PROPERTY_Y = "y";
+ private Integer y;
+
+ public static final String JSON_PROPERTY_Z = "z";
+ private Integer z;
+
+ public ISize() {
+ }
+
+ public ISize x(Integer x) {
+ this.x = x;
+ return this;
+ }
+
+ /**
+ * Get x
+ * @return x
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_X)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Integer getX() {
+ return x;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_X)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setX(Integer x) {
+ this.x = x;
+ }
+
+
+ public ISize y(Integer y) {
+ this.y = y;
+ return this;
+ }
+
+ /**
+ * Get y
+ * @return y
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_Y)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Integer getY() {
+ return y;
}
- public VCellServerID serverID(String serverID) {
- this.serverID = serverID;
+
+ @JsonProperty(JSON_PROPERTY_Y)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setY(Integer y) {
+ this.y = y;
+ }
+
+
+ public ISize z(Integer z) {
+ this.z = z;
return this;
}
/**
- * Get serverID
- * @return serverID
+ * Get z
+ * @return z
**/
@javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_SERVER_I_D)
+ @JsonProperty(JSON_PROPERTY_Z)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public String getServerID() {
- return serverID;
+ public Integer getZ() {
+ return z;
}
- @JsonProperty(JSON_PROPERTY_SERVER_I_D)
+ @JsonProperty(JSON_PROPERTY_Z)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setServerID(String serverID) {
- this.serverID = serverID;
+ public void setZ(Integer z) {
+ this.z = z;
}
/**
- * Return true if this VCellServerID object is equal to o.
+ * Return true if this ISize object is equal to o.
*/
@Override
public boolean equals(Object o) {
@@ -78,20 +136,24 @@ public boolean equals(Object o) {
if (o == null || getClass() != o.getClass()) {
return false;
}
- VCellServerID vcellServerID = (VCellServerID) o;
- return Objects.equals(this.serverID, vcellServerID.serverID);
+ ISize isize = (ISize) o;
+ return Objects.equals(this.x, isize.x) &&
+ Objects.equals(this.y, isize.y) &&
+ Objects.equals(this.z, isize.z);
}
@Override
public int hashCode() {
- return Objects.hash(serverID);
+ return Objects.hash(x, y, z);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append("class VCellServerID {\n");
- sb.append(" serverID: ").append(toIndentedString(serverID)).append("\n");
+ sb.append("class ISize {\n");
+ sb.append(" x: ").append(toIndentedString(x)).append("\n");
+ sb.append(" y: ").append(toIndentedString(y)).append("\n");
+ sb.append(" z: ").append(toIndentedString(z)).append("\n");
sb.append("}");
return sb.toString();
}
@@ -139,9 +201,19 @@ public String toUrlQueryString(String prefix) {
StringJoiner joiner = new StringJoiner("&");
- // add `serverID` to the URL query string
- if (getServerID() != null) {
- joiner.add(String.format("%sserverID%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getServerID()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ // add `x` to the URL query string
+ if (getX() != null) {
+ joiner.add(String.format("%sx%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getX()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `y` to the URL query string
+ if (getY() != null) {
+ joiner.add(String.format("%sy%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getY()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `z` to the URL query string
+ if (getZ() != null) {
+ joiner.add(String.format("%sz%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getZ()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
}
return joiner.toString();
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/Origin.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/Origin.java
new file mode 100644
index 0000000000..771e92539c
--- /dev/null
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/Origin.java
@@ -0,0 +1,222 @@
+/*
+ * 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.Arrays;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+
+/**
+ * Origin
+ */
+@JsonPropertyOrder({
+ Origin.JSON_PROPERTY_X,
+ Origin.JSON_PROPERTY_Y,
+ Origin.JSON_PROPERTY_Z
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class Origin {
+ public static final String JSON_PROPERTY_X = "x";
+ private Double x;
+
+ public static final String JSON_PROPERTY_Y = "y";
+ private Double y;
+
+ public static final String JSON_PROPERTY_Z = "z";
+ private Double z;
+
+ public Origin() {
+ }
+
+ public Origin x(Double x) {
+ this.x = x;
+ return this;
+ }
+
+ /**
+ * Get x
+ * @return x
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_X)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Double getX() {
+ return x;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_X)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setX(Double x) {
+ this.x = x;
+ }
+
+
+ public Origin y(Double y) {
+ this.y = y;
+ return this;
+ }
+
+ /**
+ * Get y
+ * @return y
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_Y)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Double getY() {
+ return y;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_Y)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setY(Double y) {
+ this.y = y;
+ }
+
+
+ public Origin z(Double z) {
+ this.z = z;
+ return this;
+ }
+
+ /**
+ * Get z
+ * @return z
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_Z)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Double getZ() {
+ return z;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_Z)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setZ(Double z) {
+ this.z = z;
+ }
+
+
+ /**
+ * Return true if this Origin object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Origin origin = (Origin) o;
+ return Objects.equals(this.x, origin.x) &&
+ Objects.equals(this.y, origin.y) &&
+ Objects.equals(this.z, origin.z);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(x, y, z);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Origin {\n");
+ sb.append(" x: ").append(toIndentedString(x)).append("\n");
+ sb.append(" y: ").append(toIndentedString(y)).append("\n");
+ sb.append(" z: ").append(toIndentedString(z)).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 `x` to the URL query string
+ if (getX() != null) {
+ joiner.add(String.format("%sx%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getX()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `y` to the URL query string
+ if (getY() != null) {
+ joiner.add(String.format("%sy%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getY()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `z` to the URL query string
+ if (getZ() != null) {
+ joiner.add(String.format("%sz%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getZ()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
+
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/OverrideRepresentation.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/OverrideRepresentation.java
deleted file mode 100644
index ba4cf37c01..0000000000
--- a/vcell-restclient/src/main/java/org/vcell/restclient/model/OverrideRepresentation.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
- * 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 com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-
-/**
- * OverrideRepresentation
- */
-@JsonPropertyOrder({
- OverrideRepresentation.JSON_PROPERTY_NAME,
- OverrideRepresentation.JSON_PROPERTY_TYPE,
- OverrideRepresentation.JSON_PROPERTY_EXPRESSION,
- OverrideRepresentation.JSON_PROPERTY_VALUES,
- OverrideRepresentation.JSON_PROPERTY_CARDINALITY
-})
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
-public class OverrideRepresentation {
- public static final String JSON_PROPERTY_NAME = "name";
- private String name;
-
- public static final String JSON_PROPERTY_TYPE = "type";
- private String type;
-
- public static final String JSON_PROPERTY_EXPRESSION = "expression";
- private String expression;
-
- public static final String JSON_PROPERTY_VALUES = "values";
- private List values;
-
- public static final String JSON_PROPERTY_CARDINALITY = "cardinality";
- private Integer cardinality;
-
- public OverrideRepresentation() {
- }
-
- public OverrideRepresentation name(String name) {
- this.name = name;
- return this;
- }
-
- /**
- * Get name
- * @return name
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_NAME)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getName() {
- return name;
- }
-
-
- @JsonProperty(JSON_PROPERTY_NAME)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setName(String name) {
- this.name = name;
- }
-
-
- public OverrideRepresentation type(String type) {
- this.type = type;
- return this;
- }
-
- /**
- * Get type
- * @return type
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_TYPE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getType() {
- return type;
- }
-
-
- @JsonProperty(JSON_PROPERTY_TYPE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setType(String type) {
- this.type = type;
- }
-
-
- public OverrideRepresentation expression(String expression) {
- this.expression = expression;
- return this;
- }
-
- /**
- * Get expression
- * @return expression
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_EXPRESSION)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getExpression() {
- return expression;
- }
-
-
- @JsonProperty(JSON_PROPERTY_EXPRESSION)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setExpression(String expression) {
- this.expression = expression;
- }
-
-
- public OverrideRepresentation values(List values) {
- this.values = values;
- return this;
- }
-
- public OverrideRepresentation addValuesItem(String valuesItem) {
- if (this.values == null) {
- this.values = new ArrayList<>();
- }
- this.values.add(valuesItem);
- return this;
- }
-
- /**
- * Get values
- * @return values
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_VALUES)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public List getValues() {
- return values;
- }
-
-
- @JsonProperty(JSON_PROPERTY_VALUES)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setValues(List values) {
- this.values = values;
- }
-
-
- public OverrideRepresentation cardinality(Integer cardinality) {
- this.cardinality = cardinality;
- return this;
- }
-
- /**
- * Get cardinality
- * @return cardinality
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_CARDINALITY)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Integer getCardinality() {
- return cardinality;
- }
-
-
- @JsonProperty(JSON_PROPERTY_CARDINALITY)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setCardinality(Integer cardinality) {
- this.cardinality = cardinality;
- }
-
-
- /**
- * Return true if this OverrideRepresentation object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- OverrideRepresentation overrideRepresentation = (OverrideRepresentation) o;
- return Objects.equals(this.name, overrideRepresentation.name) &&
- Objects.equals(this.type, overrideRepresentation.type) &&
- Objects.equals(this.expression, overrideRepresentation.expression) &&
- Objects.equals(this.values, overrideRepresentation.values) &&
- Objects.equals(this.cardinality, overrideRepresentation.cardinality);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(name, type, expression, values, cardinality);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class OverrideRepresentation {\n");
- sb.append(" name: ").append(toIndentedString(name)).append("\n");
- sb.append(" type: ").append(toIndentedString(type)).append("\n");
- sb.append(" expression: ").append(toIndentedString(expression)).append("\n");
- sb.append(" values: ").append(toIndentedString(values)).append("\n");
- sb.append(" cardinality: ").append(toIndentedString(cardinality)).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 `name` to the URL query string
- if (getName() != null) {
- joiner.add(String.format("%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `type` to the URL query string
- if (getType() != null) {
- joiner.add(String.format("%stype%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getType()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `expression` to the URL query string
- if (getExpression() != null) {
- joiner.add(String.format("%sexpression%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getExpression()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `values` to the URL query string
- if (getValues() != null) {
- for (int i = 0; i < getValues().size(); i++) {
- joiner.add(String.format("%svalues%s%s=%s", prefix, suffix,
- "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
- URLEncoder.encode(String.valueOf(getValues().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
- }
-
- // add `cardinality` to the URL query string
- if (getCardinality() != null) {
- joiner.add(String.format("%scardinality%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getCardinality()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- return joiner.toString();
- }
-}
-
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/SimulationExecutionStatus.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/SimulationExecutionStatus.java
deleted file mode 100644
index 6954adb7df..0000000000
--- a/vcell-restclient/src/main/java/org/vcell/restclient/model/SimulationExecutionStatus.java
+++ /dev/null
@@ -1,512 +0,0 @@
-/*
- * 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.time.LocalDate;
-import java.util.Arrays;
-import org.vcell.restclient.model.HtcJobID;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-
-/**
- * SimulationExecutionStatus
- */
-@JsonPropertyOrder({
- SimulationExecutionStatus.JSON_PROPERTY_FIELD_START_DATE,
- SimulationExecutionStatus.JSON_PROPERTY_FIELD_LATEST_UPDATE_DATE,
- SimulationExecutionStatus.JSON_PROPERTY_FIELD_END_DATE,
- SimulationExecutionStatus.JSON_PROPERTY_FIELD_COMPUTE_HOST,
- SimulationExecutionStatus.JSON_PROPERTY_FIELD_HAS_DATA,
- SimulationExecutionStatus.JSON_PROPERTY_FIELD_HTC_JOB_I_D,
- SimulationExecutionStatus.JSON_PROPERTY_COMPUTE_HOST,
- SimulationExecutionStatus.JSON_PROPERTY_END_DATE,
- SimulationExecutionStatus.JSON_PROPERTY_LATEST_UPDATE_DATE,
- SimulationExecutionStatus.JSON_PROPERTY_START_DATE,
- SimulationExecutionStatus.JSON_PROPERTY_HTC_JOB_I_D
-})
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
-public class SimulationExecutionStatus {
- public static final String JSON_PROPERTY_FIELD_START_DATE = "fieldStartDate";
- private LocalDate fieldStartDate;
-
- public static final String JSON_PROPERTY_FIELD_LATEST_UPDATE_DATE = "fieldLatestUpdateDate";
- private LocalDate fieldLatestUpdateDate;
-
- public static final String JSON_PROPERTY_FIELD_END_DATE = "fieldEndDate";
- private LocalDate fieldEndDate;
-
- public static final String JSON_PROPERTY_FIELD_COMPUTE_HOST = "fieldComputeHost";
- private String fieldComputeHost;
-
- public static final String JSON_PROPERTY_FIELD_HAS_DATA = "fieldHasData";
- private Boolean fieldHasData;
-
- public static final String JSON_PROPERTY_FIELD_HTC_JOB_I_D = "fieldHtcJobID";
- private HtcJobID fieldHtcJobID;
-
- public static final String JSON_PROPERTY_COMPUTE_HOST = "computeHost";
- private String computeHost;
-
- public static final String JSON_PROPERTY_END_DATE = "endDate";
- private LocalDate endDate;
-
- public static final String JSON_PROPERTY_LATEST_UPDATE_DATE = "latestUpdateDate";
- private LocalDate latestUpdateDate;
-
- public static final String JSON_PROPERTY_START_DATE = "startDate";
- private LocalDate startDate;
-
- public static final String JSON_PROPERTY_HTC_JOB_I_D = "htcJobID";
- private HtcJobID htcJobID;
-
- public SimulationExecutionStatus() {
- }
-
- public SimulationExecutionStatus fieldStartDate(LocalDate fieldStartDate) {
- this.fieldStartDate = fieldStartDate;
- return this;
- }
-
- /**
- * Get fieldStartDate
- * @return fieldStartDate
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_START_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LocalDate getFieldStartDate() {
- return fieldStartDate;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_START_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldStartDate(LocalDate fieldStartDate) {
- this.fieldStartDate = fieldStartDate;
- }
-
-
- public SimulationExecutionStatus fieldLatestUpdateDate(LocalDate fieldLatestUpdateDate) {
- this.fieldLatestUpdateDate = fieldLatestUpdateDate;
- return this;
- }
-
- /**
- * Get fieldLatestUpdateDate
- * @return fieldLatestUpdateDate
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_LATEST_UPDATE_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LocalDate getFieldLatestUpdateDate() {
- return fieldLatestUpdateDate;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_LATEST_UPDATE_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldLatestUpdateDate(LocalDate fieldLatestUpdateDate) {
- this.fieldLatestUpdateDate = fieldLatestUpdateDate;
- }
-
-
- public SimulationExecutionStatus fieldEndDate(LocalDate fieldEndDate) {
- this.fieldEndDate = fieldEndDate;
- return this;
- }
-
- /**
- * Get fieldEndDate
- * @return fieldEndDate
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_END_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LocalDate getFieldEndDate() {
- return fieldEndDate;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_END_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldEndDate(LocalDate fieldEndDate) {
- this.fieldEndDate = fieldEndDate;
- }
-
-
- public SimulationExecutionStatus fieldComputeHost(String fieldComputeHost) {
- this.fieldComputeHost = fieldComputeHost;
- return this;
- }
-
- /**
- * Get fieldComputeHost
- * @return fieldComputeHost
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_COMPUTE_HOST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getFieldComputeHost() {
- return fieldComputeHost;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_COMPUTE_HOST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldComputeHost(String fieldComputeHost) {
- this.fieldComputeHost = fieldComputeHost;
- }
-
-
- public SimulationExecutionStatus fieldHasData(Boolean fieldHasData) {
- this.fieldHasData = fieldHasData;
- return this;
- }
-
- /**
- * Get fieldHasData
- * @return fieldHasData
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_HAS_DATA)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Boolean getFieldHasData() {
- return fieldHasData;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_HAS_DATA)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldHasData(Boolean fieldHasData) {
- this.fieldHasData = fieldHasData;
- }
-
-
- public SimulationExecutionStatus fieldHtcJobID(HtcJobID fieldHtcJobID) {
- this.fieldHtcJobID = fieldHtcJobID;
- return this;
- }
-
- /**
- * Get fieldHtcJobID
- * @return fieldHtcJobID
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_HTC_JOB_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public HtcJobID getFieldHtcJobID() {
- return fieldHtcJobID;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_HTC_JOB_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldHtcJobID(HtcJobID fieldHtcJobID) {
- this.fieldHtcJobID = fieldHtcJobID;
- }
-
-
- public SimulationExecutionStatus computeHost(String computeHost) {
- this.computeHost = computeHost;
- return this;
- }
-
- /**
- * Get computeHost
- * @return computeHost
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_COMPUTE_HOST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getComputeHost() {
- return computeHost;
- }
-
-
- @JsonProperty(JSON_PROPERTY_COMPUTE_HOST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setComputeHost(String computeHost) {
- this.computeHost = computeHost;
- }
-
-
- public SimulationExecutionStatus endDate(LocalDate endDate) {
- this.endDate = endDate;
- return this;
- }
-
- /**
- * Get endDate
- * @return endDate
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_END_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LocalDate getEndDate() {
- return endDate;
- }
-
-
- @JsonProperty(JSON_PROPERTY_END_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setEndDate(LocalDate endDate) {
- this.endDate = endDate;
- }
-
-
- public SimulationExecutionStatus latestUpdateDate(LocalDate latestUpdateDate) {
- this.latestUpdateDate = latestUpdateDate;
- return this;
- }
-
- /**
- * Get latestUpdateDate
- * @return latestUpdateDate
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_LATEST_UPDATE_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LocalDate getLatestUpdateDate() {
- return latestUpdateDate;
- }
-
-
- @JsonProperty(JSON_PROPERTY_LATEST_UPDATE_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setLatestUpdateDate(LocalDate latestUpdateDate) {
- this.latestUpdateDate = latestUpdateDate;
- }
-
-
- public SimulationExecutionStatus startDate(LocalDate startDate) {
- this.startDate = startDate;
- return this;
- }
-
- /**
- * Get startDate
- * @return startDate
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_START_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LocalDate getStartDate() {
- return startDate;
- }
-
-
- @JsonProperty(JSON_PROPERTY_START_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setStartDate(LocalDate startDate) {
- this.startDate = startDate;
- }
-
-
- public SimulationExecutionStatus htcJobID(HtcJobID htcJobID) {
- this.htcJobID = htcJobID;
- return this;
- }
-
- /**
- * Get htcJobID
- * @return htcJobID
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_HTC_JOB_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public HtcJobID getHtcJobID() {
- return htcJobID;
- }
-
-
- @JsonProperty(JSON_PROPERTY_HTC_JOB_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setHtcJobID(HtcJobID htcJobID) {
- this.htcJobID = htcJobID;
- }
-
-
- /**
- * Return true if this SimulationExecutionStatus object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- SimulationExecutionStatus simulationExecutionStatus = (SimulationExecutionStatus) o;
- return Objects.equals(this.fieldStartDate, simulationExecutionStatus.fieldStartDate) &&
- Objects.equals(this.fieldLatestUpdateDate, simulationExecutionStatus.fieldLatestUpdateDate) &&
- Objects.equals(this.fieldEndDate, simulationExecutionStatus.fieldEndDate) &&
- Objects.equals(this.fieldComputeHost, simulationExecutionStatus.fieldComputeHost) &&
- Objects.equals(this.fieldHasData, simulationExecutionStatus.fieldHasData) &&
- Objects.equals(this.fieldHtcJobID, simulationExecutionStatus.fieldHtcJobID) &&
- Objects.equals(this.computeHost, simulationExecutionStatus.computeHost) &&
- Objects.equals(this.endDate, simulationExecutionStatus.endDate) &&
- Objects.equals(this.latestUpdateDate, simulationExecutionStatus.latestUpdateDate) &&
- Objects.equals(this.startDate, simulationExecutionStatus.startDate) &&
- Objects.equals(this.htcJobID, simulationExecutionStatus.htcJobID);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(fieldStartDate, fieldLatestUpdateDate, fieldEndDate, fieldComputeHost, fieldHasData, fieldHtcJobID, computeHost, endDate, latestUpdateDate, startDate, htcJobID);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class SimulationExecutionStatus {\n");
- sb.append(" fieldStartDate: ").append(toIndentedString(fieldStartDate)).append("\n");
- sb.append(" fieldLatestUpdateDate: ").append(toIndentedString(fieldLatestUpdateDate)).append("\n");
- sb.append(" fieldEndDate: ").append(toIndentedString(fieldEndDate)).append("\n");
- sb.append(" fieldComputeHost: ").append(toIndentedString(fieldComputeHost)).append("\n");
- sb.append(" fieldHasData: ").append(toIndentedString(fieldHasData)).append("\n");
- sb.append(" fieldHtcJobID: ").append(toIndentedString(fieldHtcJobID)).append("\n");
- sb.append(" computeHost: ").append(toIndentedString(computeHost)).append("\n");
- sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n");
- sb.append(" latestUpdateDate: ").append(toIndentedString(latestUpdateDate)).append("\n");
- sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n");
- sb.append(" htcJobID: ").append(toIndentedString(htcJobID)).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 `fieldStartDate` to the URL query string
- if (getFieldStartDate() != null) {
- joiner.add(String.format("%sfieldStartDate%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFieldStartDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `fieldLatestUpdateDate` to the URL query string
- if (getFieldLatestUpdateDate() != null) {
- joiner.add(String.format("%sfieldLatestUpdateDate%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFieldLatestUpdateDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `fieldEndDate` to the URL query string
- if (getFieldEndDate() != null) {
- joiner.add(String.format("%sfieldEndDate%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFieldEndDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `fieldComputeHost` to the URL query string
- if (getFieldComputeHost() != null) {
- joiner.add(String.format("%sfieldComputeHost%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFieldComputeHost()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `fieldHasData` to the URL query string
- if (getFieldHasData() != null) {
- joiner.add(String.format("%sfieldHasData%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFieldHasData()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `fieldHtcJobID` to the URL query string
- if (getFieldHtcJobID() != null) {
- joiner.add(getFieldHtcJobID().toUrlQueryString(prefix + "fieldHtcJobID" + suffix));
- }
-
- // add `computeHost` to the URL query string
- if (getComputeHost() != null) {
- joiner.add(String.format("%scomputeHost%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getComputeHost()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `endDate` to the URL query string
- if (getEndDate() != null) {
- joiner.add(String.format("%sendDate%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getEndDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `latestUpdateDate` to the URL query string
- if (getLatestUpdateDate() != null) {
- joiner.add(String.format("%slatestUpdateDate%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLatestUpdateDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `startDate` to the URL query string
- if (getStartDate() != null) {
- joiner.add(String.format("%sstartDate%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getStartDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `htcJobID` to the URL query string
- if (getHtcJobID() != null) {
- joiner.add(getHtcJobID().toUrlQueryString(prefix + "htcJobID" + suffix));
- }
-
- return joiner.toString();
- }
-}
-
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/SimulationJobStatus.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/SimulationJobStatus.java
deleted file mode 100644
index 7866d29e1c..0000000000
--- a/vcell-restclient/src/main/java/org/vcell/restclient/model/SimulationJobStatus.java
+++ /dev/null
@@ -1,949 +0,0 @@
-/*
- * 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.time.LocalDate;
-import java.util.Arrays;
-import org.vcell.restclient.model.SchedulerStatus;
-import org.vcell.restclient.model.SimulationExecutionStatus;
-import org.vcell.restclient.model.SimulationMessage;
-import org.vcell.restclient.model.SimulationQueueEntryStatus;
-import org.vcell.restclient.model.VCSimulationIdentifier;
-import org.vcell.restclient.model.VCellServerID;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-
-/**
- * SimulationJobStatus
- */
-@JsonPropertyOrder({
- SimulationJobStatus.JSON_PROPERTY_FIELD_TIME_DATE_STAMP,
- SimulationJobStatus.JSON_PROPERTY_FIELD_V_C_SIM_I_D,
- SimulationJobStatus.JSON_PROPERTY_FIELD_SUBMIT_DATE,
- SimulationJobStatus.JSON_PROPERTY_FIELD_SCHEDULER_STATUS,
- SimulationJobStatus.JSON_PROPERTY_FIELD_TASK_I_D,
- SimulationJobStatus.JSON_PROPERTY_FIELD_SIMULATION_MESSAGE,
- SimulationJobStatus.JSON_PROPERTY_FIELD_SERVER_I_D,
- SimulationJobStatus.JSON_PROPERTY_FIELD_JOB_INDEX,
- SimulationJobStatus.JSON_PROPERTY_FIELD_SIMULATION_QUEUE_ENTRY_STATUS,
- SimulationJobStatus.JSON_PROPERTY_FIELD_SIMULATION_EXECUTION_STATUS,
- SimulationJobStatus.JSON_PROPERTY_COMPUTE_HOST,
- SimulationJobStatus.JSON_PROPERTY_END_DATE,
- SimulationJobStatus.JSON_PROPERTY_JOB_INDEX,
- SimulationJobStatus.JSON_PROPERTY_SCHEDULER_STATUS,
- SimulationJobStatus.JSON_PROPERTY_SERVER_I_D,
- SimulationJobStatus.JSON_PROPERTY_SIMULATION_EXECUTION_STATUS,
- SimulationJobStatus.JSON_PROPERTY_SIMULATION_QUEUE_ENTRY_STATUS,
- SimulationJobStatus.JSON_PROPERTY_START_DATE,
- SimulationJobStatus.JSON_PROPERTY_SIMULATION_MESSAGE,
- SimulationJobStatus.JSON_PROPERTY_SUBMIT_DATE,
- SimulationJobStatus.JSON_PROPERTY_TASK_I_D,
- SimulationJobStatus.JSON_PROPERTY_TIME_DATE_STAMP,
- SimulationJobStatus.JSON_PROPERTY_V_C_SIMULATION_IDENTIFIER
-})
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
-public class SimulationJobStatus {
- public static final String JSON_PROPERTY_FIELD_TIME_DATE_STAMP = "fieldTimeDateStamp";
- private LocalDate fieldTimeDateStamp;
-
- public static final String JSON_PROPERTY_FIELD_V_C_SIM_I_D = "fieldVCSimID";
- private VCSimulationIdentifier fieldVCSimID;
-
- public static final String JSON_PROPERTY_FIELD_SUBMIT_DATE = "fieldSubmitDate";
- private LocalDate fieldSubmitDate;
-
- public static final String JSON_PROPERTY_FIELD_SCHEDULER_STATUS = "fieldSchedulerStatus";
- private SchedulerStatus fieldSchedulerStatus;
-
- public static final String JSON_PROPERTY_FIELD_TASK_I_D = "fieldTaskID";
- private Integer fieldTaskID;
-
- public static final String JSON_PROPERTY_FIELD_SIMULATION_MESSAGE = "fieldSimulationMessage";
- private SimulationMessage fieldSimulationMessage;
-
- public static final String JSON_PROPERTY_FIELD_SERVER_I_D = "fieldServerID";
- private VCellServerID fieldServerID;
-
- public static final String JSON_PROPERTY_FIELD_JOB_INDEX = "fieldJobIndex";
- private Integer fieldJobIndex;
-
- public static final String JSON_PROPERTY_FIELD_SIMULATION_QUEUE_ENTRY_STATUS = "fieldSimulationQueueEntryStatus";
- private SimulationQueueEntryStatus fieldSimulationQueueEntryStatus;
-
- public static final String JSON_PROPERTY_FIELD_SIMULATION_EXECUTION_STATUS = "fieldSimulationExecutionStatus";
- private SimulationExecutionStatus fieldSimulationExecutionStatus;
-
- public static final String JSON_PROPERTY_COMPUTE_HOST = "computeHost";
- private String computeHost;
-
- public static final String JSON_PROPERTY_END_DATE = "endDate";
- private LocalDate endDate;
-
- public static final String JSON_PROPERTY_JOB_INDEX = "jobIndex";
- private Integer jobIndex;
-
- public static final String JSON_PROPERTY_SCHEDULER_STATUS = "schedulerStatus";
- private SchedulerStatus schedulerStatus;
-
- public static final String JSON_PROPERTY_SERVER_I_D = "serverID";
- private VCellServerID serverID;
-
- public static final String JSON_PROPERTY_SIMULATION_EXECUTION_STATUS = "simulationExecutionStatus";
- private SimulationExecutionStatus simulationExecutionStatus;
-
- public static final String JSON_PROPERTY_SIMULATION_QUEUE_ENTRY_STATUS = "simulationQueueEntryStatus";
- private SimulationQueueEntryStatus simulationQueueEntryStatus;
-
- public static final String JSON_PROPERTY_START_DATE = "startDate";
- private LocalDate startDate;
-
- public static final String JSON_PROPERTY_SIMULATION_MESSAGE = "simulationMessage";
- private SimulationMessage simulationMessage;
-
- public static final String JSON_PROPERTY_SUBMIT_DATE = "submitDate";
- private LocalDate submitDate;
-
- public static final String JSON_PROPERTY_TASK_I_D = "taskID";
- private Integer taskID;
-
- public static final String JSON_PROPERTY_TIME_DATE_STAMP = "timeDateStamp";
- private LocalDate timeDateStamp;
-
- public static final String JSON_PROPERTY_V_C_SIMULATION_IDENTIFIER = "vCSimulationIdentifier";
- private VCSimulationIdentifier vCSimulationIdentifier;
-
- public SimulationJobStatus() {
- }
-
- public SimulationJobStatus fieldTimeDateStamp(LocalDate fieldTimeDateStamp) {
- this.fieldTimeDateStamp = fieldTimeDateStamp;
- return this;
- }
-
- /**
- * Get fieldTimeDateStamp
- * @return fieldTimeDateStamp
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_TIME_DATE_STAMP)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LocalDate getFieldTimeDateStamp() {
- return fieldTimeDateStamp;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_TIME_DATE_STAMP)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldTimeDateStamp(LocalDate fieldTimeDateStamp) {
- this.fieldTimeDateStamp = fieldTimeDateStamp;
- }
-
-
- public SimulationJobStatus fieldVCSimID(VCSimulationIdentifier fieldVCSimID) {
- this.fieldVCSimID = fieldVCSimID;
- return this;
- }
-
- /**
- * Get fieldVCSimID
- * @return fieldVCSimID
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_V_C_SIM_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public VCSimulationIdentifier getFieldVCSimID() {
- return fieldVCSimID;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_V_C_SIM_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldVCSimID(VCSimulationIdentifier fieldVCSimID) {
- this.fieldVCSimID = fieldVCSimID;
- }
-
-
- public SimulationJobStatus fieldSubmitDate(LocalDate fieldSubmitDate) {
- this.fieldSubmitDate = fieldSubmitDate;
- return this;
- }
-
- /**
- * Get fieldSubmitDate
- * @return fieldSubmitDate
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_SUBMIT_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LocalDate getFieldSubmitDate() {
- return fieldSubmitDate;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_SUBMIT_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldSubmitDate(LocalDate fieldSubmitDate) {
- this.fieldSubmitDate = fieldSubmitDate;
- }
-
-
- public SimulationJobStatus fieldSchedulerStatus(SchedulerStatus fieldSchedulerStatus) {
- this.fieldSchedulerStatus = fieldSchedulerStatus;
- return this;
- }
-
- /**
- * Get fieldSchedulerStatus
- * @return fieldSchedulerStatus
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_SCHEDULER_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public SchedulerStatus getFieldSchedulerStatus() {
- return fieldSchedulerStatus;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_SCHEDULER_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldSchedulerStatus(SchedulerStatus fieldSchedulerStatus) {
- this.fieldSchedulerStatus = fieldSchedulerStatus;
- }
-
-
- public SimulationJobStatus fieldTaskID(Integer fieldTaskID) {
- this.fieldTaskID = fieldTaskID;
- return this;
- }
-
- /**
- * Get fieldTaskID
- * @return fieldTaskID
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_TASK_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Integer getFieldTaskID() {
- return fieldTaskID;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_TASK_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldTaskID(Integer fieldTaskID) {
- this.fieldTaskID = fieldTaskID;
- }
-
-
- public SimulationJobStatus fieldSimulationMessage(SimulationMessage fieldSimulationMessage) {
- this.fieldSimulationMessage = fieldSimulationMessage;
- return this;
- }
-
- /**
- * Get fieldSimulationMessage
- * @return fieldSimulationMessage
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_SIMULATION_MESSAGE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public SimulationMessage getFieldSimulationMessage() {
- return fieldSimulationMessage;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_SIMULATION_MESSAGE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldSimulationMessage(SimulationMessage fieldSimulationMessage) {
- this.fieldSimulationMessage = fieldSimulationMessage;
- }
-
-
- public SimulationJobStatus fieldServerID(VCellServerID fieldServerID) {
- this.fieldServerID = fieldServerID;
- return this;
- }
-
- /**
- * Get fieldServerID
- * @return fieldServerID
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_SERVER_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public VCellServerID getFieldServerID() {
- return fieldServerID;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_SERVER_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldServerID(VCellServerID fieldServerID) {
- this.fieldServerID = fieldServerID;
- }
-
-
- public SimulationJobStatus fieldJobIndex(Integer fieldJobIndex) {
- this.fieldJobIndex = fieldJobIndex;
- return this;
- }
-
- /**
- * Get fieldJobIndex
- * @return fieldJobIndex
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_JOB_INDEX)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Integer getFieldJobIndex() {
- return fieldJobIndex;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_JOB_INDEX)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldJobIndex(Integer fieldJobIndex) {
- this.fieldJobIndex = fieldJobIndex;
- }
-
-
- public SimulationJobStatus fieldSimulationQueueEntryStatus(SimulationQueueEntryStatus fieldSimulationQueueEntryStatus) {
- this.fieldSimulationQueueEntryStatus = fieldSimulationQueueEntryStatus;
- return this;
- }
-
- /**
- * Get fieldSimulationQueueEntryStatus
- * @return fieldSimulationQueueEntryStatus
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_SIMULATION_QUEUE_ENTRY_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public SimulationQueueEntryStatus getFieldSimulationQueueEntryStatus() {
- return fieldSimulationQueueEntryStatus;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_SIMULATION_QUEUE_ENTRY_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldSimulationQueueEntryStatus(SimulationQueueEntryStatus fieldSimulationQueueEntryStatus) {
- this.fieldSimulationQueueEntryStatus = fieldSimulationQueueEntryStatus;
- }
-
-
- public SimulationJobStatus fieldSimulationExecutionStatus(SimulationExecutionStatus fieldSimulationExecutionStatus) {
- this.fieldSimulationExecutionStatus = fieldSimulationExecutionStatus;
- return this;
- }
-
- /**
- * Get fieldSimulationExecutionStatus
- * @return fieldSimulationExecutionStatus
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_SIMULATION_EXECUTION_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public SimulationExecutionStatus getFieldSimulationExecutionStatus() {
- return fieldSimulationExecutionStatus;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_SIMULATION_EXECUTION_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldSimulationExecutionStatus(SimulationExecutionStatus fieldSimulationExecutionStatus) {
- this.fieldSimulationExecutionStatus = fieldSimulationExecutionStatus;
- }
-
-
- public SimulationJobStatus computeHost(String computeHost) {
- this.computeHost = computeHost;
- return this;
- }
-
- /**
- * Get computeHost
- * @return computeHost
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_COMPUTE_HOST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getComputeHost() {
- return computeHost;
- }
-
-
- @JsonProperty(JSON_PROPERTY_COMPUTE_HOST)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setComputeHost(String computeHost) {
- this.computeHost = computeHost;
- }
-
-
- public SimulationJobStatus endDate(LocalDate endDate) {
- this.endDate = endDate;
- return this;
- }
-
- /**
- * Get endDate
- * @return endDate
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_END_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LocalDate getEndDate() {
- return endDate;
- }
-
-
- @JsonProperty(JSON_PROPERTY_END_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setEndDate(LocalDate endDate) {
- this.endDate = endDate;
- }
-
-
- public SimulationJobStatus jobIndex(Integer jobIndex) {
- this.jobIndex = jobIndex;
- return this;
- }
-
- /**
- * Get jobIndex
- * @return jobIndex
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_JOB_INDEX)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Integer getJobIndex() {
- return jobIndex;
- }
-
-
- @JsonProperty(JSON_PROPERTY_JOB_INDEX)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setJobIndex(Integer jobIndex) {
- this.jobIndex = jobIndex;
- }
-
-
- public SimulationJobStatus schedulerStatus(SchedulerStatus schedulerStatus) {
- this.schedulerStatus = schedulerStatus;
- return this;
- }
-
- /**
- * Get schedulerStatus
- * @return schedulerStatus
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_SCHEDULER_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public SchedulerStatus getSchedulerStatus() {
- return schedulerStatus;
- }
-
-
- @JsonProperty(JSON_PROPERTY_SCHEDULER_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setSchedulerStatus(SchedulerStatus schedulerStatus) {
- this.schedulerStatus = schedulerStatus;
- }
-
-
- public SimulationJobStatus serverID(VCellServerID serverID) {
- this.serverID = serverID;
- return this;
- }
-
- /**
- * Get serverID
- * @return serverID
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_SERVER_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public VCellServerID getServerID() {
- return serverID;
- }
-
-
- @JsonProperty(JSON_PROPERTY_SERVER_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setServerID(VCellServerID serverID) {
- this.serverID = serverID;
- }
-
-
- public SimulationJobStatus simulationExecutionStatus(SimulationExecutionStatus simulationExecutionStatus) {
- this.simulationExecutionStatus = simulationExecutionStatus;
- return this;
- }
-
- /**
- * Get simulationExecutionStatus
- * @return simulationExecutionStatus
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_SIMULATION_EXECUTION_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public SimulationExecutionStatus getSimulationExecutionStatus() {
- return simulationExecutionStatus;
- }
-
-
- @JsonProperty(JSON_PROPERTY_SIMULATION_EXECUTION_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setSimulationExecutionStatus(SimulationExecutionStatus simulationExecutionStatus) {
- this.simulationExecutionStatus = simulationExecutionStatus;
- }
-
-
- public SimulationJobStatus simulationQueueEntryStatus(SimulationQueueEntryStatus simulationQueueEntryStatus) {
- this.simulationQueueEntryStatus = simulationQueueEntryStatus;
- return this;
- }
-
- /**
- * Get simulationQueueEntryStatus
- * @return simulationQueueEntryStatus
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_SIMULATION_QUEUE_ENTRY_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public SimulationQueueEntryStatus getSimulationQueueEntryStatus() {
- return simulationQueueEntryStatus;
- }
-
-
- @JsonProperty(JSON_PROPERTY_SIMULATION_QUEUE_ENTRY_STATUS)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setSimulationQueueEntryStatus(SimulationQueueEntryStatus simulationQueueEntryStatus) {
- this.simulationQueueEntryStatus = simulationQueueEntryStatus;
- }
-
-
- public SimulationJobStatus startDate(LocalDate startDate) {
- this.startDate = startDate;
- return this;
- }
-
- /**
- * Get startDate
- * @return startDate
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_START_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LocalDate getStartDate() {
- return startDate;
- }
-
-
- @JsonProperty(JSON_PROPERTY_START_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setStartDate(LocalDate startDate) {
- this.startDate = startDate;
- }
-
-
- public SimulationJobStatus simulationMessage(SimulationMessage simulationMessage) {
- this.simulationMessage = simulationMessage;
- return this;
- }
-
- /**
- * Get simulationMessage
- * @return simulationMessage
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_SIMULATION_MESSAGE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public SimulationMessage getSimulationMessage() {
- return simulationMessage;
- }
-
-
- @JsonProperty(JSON_PROPERTY_SIMULATION_MESSAGE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setSimulationMessage(SimulationMessage simulationMessage) {
- this.simulationMessage = simulationMessage;
- }
-
-
- public SimulationJobStatus submitDate(LocalDate submitDate) {
- this.submitDate = submitDate;
- return this;
- }
-
- /**
- * Get submitDate
- * @return submitDate
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_SUBMIT_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LocalDate getSubmitDate() {
- return submitDate;
- }
-
-
- @JsonProperty(JSON_PROPERTY_SUBMIT_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setSubmitDate(LocalDate submitDate) {
- this.submitDate = submitDate;
- }
-
-
- public SimulationJobStatus taskID(Integer taskID) {
- this.taskID = taskID;
- return this;
- }
-
- /**
- * Get taskID
- * @return taskID
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_TASK_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Integer getTaskID() {
- return taskID;
- }
-
-
- @JsonProperty(JSON_PROPERTY_TASK_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setTaskID(Integer taskID) {
- this.taskID = taskID;
- }
-
-
- public SimulationJobStatus timeDateStamp(LocalDate timeDateStamp) {
- this.timeDateStamp = timeDateStamp;
- return this;
- }
-
- /**
- * Get timeDateStamp
- * @return timeDateStamp
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_TIME_DATE_STAMP)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LocalDate getTimeDateStamp() {
- return timeDateStamp;
- }
-
-
- @JsonProperty(JSON_PROPERTY_TIME_DATE_STAMP)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setTimeDateStamp(LocalDate timeDateStamp) {
- this.timeDateStamp = timeDateStamp;
- }
-
-
- public SimulationJobStatus vCSimulationIdentifier(VCSimulationIdentifier vCSimulationIdentifier) {
- this.vCSimulationIdentifier = vCSimulationIdentifier;
- return this;
- }
-
- /**
- * Get vCSimulationIdentifier
- * @return vCSimulationIdentifier
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_V_C_SIMULATION_IDENTIFIER)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public VCSimulationIdentifier getvCSimulationIdentifier() {
- return vCSimulationIdentifier;
- }
-
-
- @JsonProperty(JSON_PROPERTY_V_C_SIMULATION_IDENTIFIER)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setvCSimulationIdentifier(VCSimulationIdentifier vCSimulationIdentifier) {
- this.vCSimulationIdentifier = vCSimulationIdentifier;
- }
-
-
- /**
- * Return true if this SimulationJobStatus object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- SimulationJobStatus simulationJobStatus = (SimulationJobStatus) o;
- return Objects.equals(this.fieldTimeDateStamp, simulationJobStatus.fieldTimeDateStamp) &&
- Objects.equals(this.fieldVCSimID, simulationJobStatus.fieldVCSimID) &&
- Objects.equals(this.fieldSubmitDate, simulationJobStatus.fieldSubmitDate) &&
- Objects.equals(this.fieldSchedulerStatus, simulationJobStatus.fieldSchedulerStatus) &&
- Objects.equals(this.fieldTaskID, simulationJobStatus.fieldTaskID) &&
- Objects.equals(this.fieldSimulationMessage, simulationJobStatus.fieldSimulationMessage) &&
- Objects.equals(this.fieldServerID, simulationJobStatus.fieldServerID) &&
- Objects.equals(this.fieldJobIndex, simulationJobStatus.fieldJobIndex) &&
- Objects.equals(this.fieldSimulationQueueEntryStatus, simulationJobStatus.fieldSimulationQueueEntryStatus) &&
- Objects.equals(this.fieldSimulationExecutionStatus, simulationJobStatus.fieldSimulationExecutionStatus) &&
- Objects.equals(this.computeHost, simulationJobStatus.computeHost) &&
- Objects.equals(this.endDate, simulationJobStatus.endDate) &&
- Objects.equals(this.jobIndex, simulationJobStatus.jobIndex) &&
- Objects.equals(this.schedulerStatus, simulationJobStatus.schedulerStatus) &&
- Objects.equals(this.serverID, simulationJobStatus.serverID) &&
- Objects.equals(this.simulationExecutionStatus, simulationJobStatus.simulationExecutionStatus) &&
- Objects.equals(this.simulationQueueEntryStatus, simulationJobStatus.simulationQueueEntryStatus) &&
- Objects.equals(this.startDate, simulationJobStatus.startDate) &&
- Objects.equals(this.simulationMessage, simulationJobStatus.simulationMessage) &&
- Objects.equals(this.submitDate, simulationJobStatus.submitDate) &&
- Objects.equals(this.taskID, simulationJobStatus.taskID) &&
- Objects.equals(this.timeDateStamp, simulationJobStatus.timeDateStamp) &&
- Objects.equals(this.vCSimulationIdentifier, simulationJobStatus.vCSimulationIdentifier);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(fieldTimeDateStamp, fieldVCSimID, fieldSubmitDate, fieldSchedulerStatus, fieldTaskID, fieldSimulationMessage, fieldServerID, fieldJobIndex, fieldSimulationQueueEntryStatus, fieldSimulationExecutionStatus, computeHost, endDate, jobIndex, schedulerStatus, serverID, simulationExecutionStatus, simulationQueueEntryStatus, startDate, simulationMessage, submitDate, taskID, timeDateStamp, vCSimulationIdentifier);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class SimulationJobStatus {\n");
- sb.append(" fieldTimeDateStamp: ").append(toIndentedString(fieldTimeDateStamp)).append("\n");
- sb.append(" fieldVCSimID: ").append(toIndentedString(fieldVCSimID)).append("\n");
- sb.append(" fieldSubmitDate: ").append(toIndentedString(fieldSubmitDate)).append("\n");
- sb.append(" fieldSchedulerStatus: ").append(toIndentedString(fieldSchedulerStatus)).append("\n");
- sb.append(" fieldTaskID: ").append(toIndentedString(fieldTaskID)).append("\n");
- sb.append(" fieldSimulationMessage: ").append(toIndentedString(fieldSimulationMessage)).append("\n");
- sb.append(" fieldServerID: ").append(toIndentedString(fieldServerID)).append("\n");
- sb.append(" fieldJobIndex: ").append(toIndentedString(fieldJobIndex)).append("\n");
- sb.append(" fieldSimulationQueueEntryStatus: ").append(toIndentedString(fieldSimulationQueueEntryStatus)).append("\n");
- sb.append(" fieldSimulationExecutionStatus: ").append(toIndentedString(fieldSimulationExecutionStatus)).append("\n");
- sb.append(" computeHost: ").append(toIndentedString(computeHost)).append("\n");
- sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n");
- sb.append(" jobIndex: ").append(toIndentedString(jobIndex)).append("\n");
- sb.append(" schedulerStatus: ").append(toIndentedString(schedulerStatus)).append("\n");
- sb.append(" serverID: ").append(toIndentedString(serverID)).append("\n");
- sb.append(" simulationExecutionStatus: ").append(toIndentedString(simulationExecutionStatus)).append("\n");
- sb.append(" simulationQueueEntryStatus: ").append(toIndentedString(simulationQueueEntryStatus)).append("\n");
- sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n");
- sb.append(" simulationMessage: ").append(toIndentedString(simulationMessage)).append("\n");
- sb.append(" submitDate: ").append(toIndentedString(submitDate)).append("\n");
- sb.append(" taskID: ").append(toIndentedString(taskID)).append("\n");
- sb.append(" timeDateStamp: ").append(toIndentedString(timeDateStamp)).append("\n");
- sb.append(" vCSimulationIdentifier: ").append(toIndentedString(vCSimulationIdentifier)).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 `fieldTimeDateStamp` to the URL query string
- if (getFieldTimeDateStamp() != null) {
- joiner.add(String.format("%sfieldTimeDateStamp%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFieldTimeDateStamp()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `fieldVCSimID` to the URL query string
- if (getFieldVCSimID() != null) {
- joiner.add(getFieldVCSimID().toUrlQueryString(prefix + "fieldVCSimID" + suffix));
- }
-
- // add `fieldSubmitDate` to the URL query string
- if (getFieldSubmitDate() != null) {
- joiner.add(String.format("%sfieldSubmitDate%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFieldSubmitDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `fieldSchedulerStatus` to the URL query string
- if (getFieldSchedulerStatus() != null) {
- joiner.add(String.format("%sfieldSchedulerStatus%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFieldSchedulerStatus()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `fieldTaskID` to the URL query string
- if (getFieldTaskID() != null) {
- joiner.add(String.format("%sfieldTaskID%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFieldTaskID()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `fieldSimulationMessage` to the URL query string
- if (getFieldSimulationMessage() != null) {
- joiner.add(getFieldSimulationMessage().toUrlQueryString(prefix + "fieldSimulationMessage" + suffix));
- }
-
- // add `fieldServerID` to the URL query string
- if (getFieldServerID() != null) {
- joiner.add(getFieldServerID().toUrlQueryString(prefix + "fieldServerID" + suffix));
- }
-
- // add `fieldJobIndex` to the URL query string
- if (getFieldJobIndex() != null) {
- joiner.add(String.format("%sfieldJobIndex%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFieldJobIndex()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `fieldSimulationQueueEntryStatus` to the URL query string
- if (getFieldSimulationQueueEntryStatus() != null) {
- joiner.add(getFieldSimulationQueueEntryStatus().toUrlQueryString(prefix + "fieldSimulationQueueEntryStatus" + suffix));
- }
-
- // add `fieldSimulationExecutionStatus` to the URL query string
- if (getFieldSimulationExecutionStatus() != null) {
- joiner.add(getFieldSimulationExecutionStatus().toUrlQueryString(prefix + "fieldSimulationExecutionStatus" + suffix));
- }
-
- // add `computeHost` to the URL query string
- if (getComputeHost() != null) {
- joiner.add(String.format("%scomputeHost%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getComputeHost()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `endDate` to the URL query string
- if (getEndDate() != null) {
- joiner.add(String.format("%sendDate%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getEndDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `jobIndex` to the URL query string
- if (getJobIndex() != null) {
- joiner.add(String.format("%sjobIndex%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getJobIndex()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `schedulerStatus` to the URL query string
- if (getSchedulerStatus() != null) {
- joiner.add(String.format("%sschedulerStatus%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSchedulerStatus()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `serverID` to the URL query string
- if (getServerID() != null) {
- joiner.add(getServerID().toUrlQueryString(prefix + "serverID" + suffix));
- }
-
- // add `simulationExecutionStatus` to the URL query string
- if (getSimulationExecutionStatus() != null) {
- joiner.add(getSimulationExecutionStatus().toUrlQueryString(prefix + "simulationExecutionStatus" + suffix));
- }
-
- // add `simulationQueueEntryStatus` to the URL query string
- if (getSimulationQueueEntryStatus() != null) {
- joiner.add(getSimulationQueueEntryStatus().toUrlQueryString(prefix + "simulationQueueEntryStatus" + suffix));
- }
-
- // add `startDate` to the URL query string
- if (getStartDate() != null) {
- joiner.add(String.format("%sstartDate%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getStartDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `simulationMessage` to the URL query string
- if (getSimulationMessage() != null) {
- joiner.add(getSimulationMessage().toUrlQueryString(prefix + "simulationMessage" + suffix));
- }
-
- // add `submitDate` to the URL query string
- if (getSubmitDate() != null) {
- joiner.add(String.format("%ssubmitDate%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSubmitDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `taskID` to the URL query string
- if (getTaskID() != null) {
- joiner.add(String.format("%staskID%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTaskID()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `timeDateStamp` to the URL query string
- if (getTimeDateStamp() != null) {
- joiner.add(String.format("%stimeDateStamp%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTimeDateStamp()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `vCSimulationIdentifier` to the URL query string
- if (getvCSimulationIdentifier() != null) {
- joiner.add(getvCSimulationIdentifier().toUrlQueryString(prefix + "vCSimulationIdentifier" + suffix));
- }
-
- return joiner.toString();
- }
-}
-
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/SimulationQueueEntryStatus.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/SimulationQueueEntryStatus.java
deleted file mode 100644
index d6080ab8b1..0000000000
--- a/vcell-restclient/src/main/java/org/vcell/restclient/model/SimulationQueueEntryStatus.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- * 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.*;
-
-import java.time.LocalDate;
-import java.util.Arrays;
-import org.vcell.restclient.model.SimulationQueueID;
-
-
-/**
- * SimulationQueueEntryStatus
- */
-@JsonPropertyOrder({
- SimulationQueueEntryStatus.JSON_PROPERTY_FIELD_QUEUE_PRIORITY,
- SimulationQueueEntryStatus.JSON_PROPERTY_FIELD_QUEUE_DATE,
- SimulationQueueEntryStatus.JSON_PROPERTY_FIELD_QUEUE_I_D,
- SimulationQueueEntryStatus.JSON_PROPERTY_QUEUE_DATE,
- SimulationQueueEntryStatus.JSON_PROPERTY_QUEUE_I_D,
- SimulationQueueEntryStatus.JSON_PROPERTY_QUEUE_PRIORITY
-})
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
-public class SimulationQueueEntryStatus {
- public static final String JSON_PROPERTY_FIELD_QUEUE_PRIORITY = "fieldQueuePriority";
- private Integer fieldQueuePriority;
-
- public static final String JSON_PROPERTY_FIELD_QUEUE_DATE = "fieldQueueDate";
- private LocalDate fieldQueueDate;
-
- public static final String JSON_PROPERTY_FIELD_QUEUE_I_D = "fieldQueueID";
- private SimulationQueueID fieldQueueID;
-
- public static final String JSON_PROPERTY_QUEUE_DATE = "queueDate";
- private LocalDate queueDate;
-
- public static final String JSON_PROPERTY_QUEUE_I_D = "queueID";
- private SimulationQueueID queueID;
-
- public static final String JSON_PROPERTY_QUEUE_PRIORITY = "queuePriority";
- private Integer queuePriority;
-
- public SimulationQueueEntryStatus() {
- }
-
- public SimulationQueueEntryStatus fieldQueuePriority(Integer fieldQueuePriority) {
- this.fieldQueuePriority = fieldQueuePriority;
- return this;
- }
-
- /**
- * Get fieldQueuePriority
- * @return fieldQueuePriority
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_QUEUE_PRIORITY)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Integer getFieldQueuePriority() {
- return fieldQueuePriority;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_QUEUE_PRIORITY)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldQueuePriority(Integer fieldQueuePriority) {
- this.fieldQueuePriority = fieldQueuePriority;
- }
-
-
- public SimulationQueueEntryStatus fieldQueueDate(LocalDate fieldQueueDate) {
- this.fieldQueueDate = fieldQueueDate;
- return this;
- }
-
- /**
- * Get fieldQueueDate
- * @return fieldQueueDate
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_QUEUE_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LocalDate getFieldQueueDate() {
- return fieldQueueDate;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_QUEUE_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldQueueDate(LocalDate fieldQueueDate) {
- this.fieldQueueDate = fieldQueueDate;
- }
-
-
- public SimulationQueueEntryStatus fieldQueueID(SimulationQueueID fieldQueueID) {
- this.fieldQueueID = fieldQueueID;
- return this;
- }
-
- /**
- * Get fieldQueueID
- * @return fieldQueueID
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_FIELD_QUEUE_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public SimulationQueueID getFieldQueueID() {
- return fieldQueueID;
- }
-
-
- @JsonProperty(JSON_PROPERTY_FIELD_QUEUE_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setFieldQueueID(SimulationQueueID fieldQueueID) {
- this.fieldQueueID = fieldQueueID;
- }
-
-
- public SimulationQueueEntryStatus queueDate(LocalDate queueDate) {
- this.queueDate = queueDate;
- return this;
- }
-
- /**
- * Get queueDate
- * @return queueDate
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_QUEUE_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public LocalDate getQueueDate() {
- return queueDate;
- }
-
-
- @JsonProperty(JSON_PROPERTY_QUEUE_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setQueueDate(LocalDate queueDate) {
- this.queueDate = queueDate;
- }
-
-
- public SimulationQueueEntryStatus queueID(SimulationQueueID queueID) {
- this.queueID = queueID;
- return this;
- }
-
- /**
- * Get queueID
- * @return queueID
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_QUEUE_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public SimulationQueueID getQueueID() {
- return queueID;
- }
-
-
- @JsonProperty(JSON_PROPERTY_QUEUE_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setQueueID(SimulationQueueID queueID) {
- this.queueID = queueID;
- }
-
-
- public SimulationQueueEntryStatus queuePriority(Integer queuePriority) {
- this.queuePriority = queuePriority;
- return this;
- }
-
- /**
- * Get queuePriority
- * @return queuePriority
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_QUEUE_PRIORITY)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Integer getQueuePriority() {
- return queuePriority;
- }
-
-
- @JsonProperty(JSON_PROPERTY_QUEUE_PRIORITY)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setQueuePriority(Integer queuePriority) {
- this.queuePriority = queuePriority;
- }
-
-
- /**
- * Return true if this SimulationQueueEntryStatus object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- SimulationQueueEntryStatus simulationQueueEntryStatus = (SimulationQueueEntryStatus) o;
- return Objects.equals(this.fieldQueuePriority, simulationQueueEntryStatus.fieldQueuePriority) &&
- Objects.equals(this.fieldQueueDate, simulationQueueEntryStatus.fieldQueueDate) &&
- Objects.equals(this.fieldQueueID, simulationQueueEntryStatus.fieldQueueID) &&
- Objects.equals(this.queueDate, simulationQueueEntryStatus.queueDate) &&
- Objects.equals(this.queueID, simulationQueueEntryStatus.queueID) &&
- Objects.equals(this.queuePriority, simulationQueueEntryStatus.queuePriority);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(fieldQueuePriority, fieldQueueDate, fieldQueueID, queueDate, queueID, queuePriority);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class SimulationQueueEntryStatus {\n");
- sb.append(" fieldQueuePriority: ").append(toIndentedString(fieldQueuePriority)).append("\n");
- sb.append(" fieldQueueDate: ").append(toIndentedString(fieldQueueDate)).append("\n");
- sb.append(" fieldQueueID: ").append(toIndentedString(fieldQueueID)).append("\n");
- sb.append(" queueDate: ").append(toIndentedString(queueDate)).append("\n");
- sb.append(" queueID: ").append(toIndentedString(queueID)).append("\n");
- sb.append(" queuePriority: ").append(toIndentedString(queuePriority)).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 `fieldQueuePriority` to the URL query string
- if (getFieldQueuePriority() != null) {
- joiner.add(String.format("%sfieldQueuePriority%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFieldQueuePriority()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `fieldQueueDate` to the URL query string
- if (getFieldQueueDate() != null) {
- joiner.add(String.format("%sfieldQueueDate%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFieldQueueDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `fieldQueueID` to the URL query string
- if (getFieldQueueID() != null) {
- joiner.add(String.format("%sfieldQueueID%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFieldQueueID()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `queueDate` to the URL query string
- if (getQueueDate() != null) {
- joiner.add(String.format("%squeueDate%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getQueueDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `queueID` to the URL query string
- if (getQueueID() != null) {
- joiner.add(String.format("%squeueID%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getQueueID()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `queuePriority` to the URL query string
- if (getQueuePriority() != null) {
- joiner.add(String.format("%squeuePriority%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getQueuePriority()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- return joiner.toString();
- }
-}
-
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/User.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/User.java
index 7b5db562a7..117c14584b 100644
--- a/vcell-restclient/src/main/java/org/vcell/restclient/model/User.java
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/User.java
@@ -35,7 +35,6 @@
@JsonPropertyOrder({
User.JSON_PROPERTY_USER_NAME,
User.JSON_PROPERTY_KEY,
- User.JSON_PROPERTY_I_D,
User.JSON_PROPERTY_NAME,
User.JSON_PROPERTY_TEST_ACCOUNT
})
@@ -47,9 +46,6 @@ public class User {
public static final String JSON_PROPERTY_KEY = "key";
private KeyValue key;
- public static final String JSON_PROPERTY_I_D = "iD";
- private KeyValue iD;
-
public static final String JSON_PROPERTY_NAME = "name";
private String name;
@@ -109,31 +105,6 @@ public void setKey(KeyValue key) {
}
- public User iD(KeyValue iD) {
- this.iD = iD;
- return this;
- }
-
- /**
- * Get iD
- * @return iD
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public KeyValue getiD() {
- return iD;
- }
-
-
- @JsonProperty(JSON_PROPERTY_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setiD(KeyValue iD) {
- this.iD = iD;
- }
-
-
public User name(String name) {
this.name = name;
return this;
@@ -198,14 +169,13 @@ public boolean equals(Object o) {
User user = (User) o;
return Objects.equals(this.userName, user.userName) &&
Objects.equals(this.key, user.key) &&
- Objects.equals(this.iD, user.iD) &&
Objects.equals(this.name, user.name) &&
Objects.equals(this.testAccount, user.testAccount);
}
@Override
public int hashCode() {
- return Objects.hash(userName, key, iD, name, testAccount);
+ return Objects.hash(userName, key, name, testAccount);
}
@Override
@@ -214,7 +184,6 @@ public String toString() {
sb.append("class User {\n");
sb.append(" userName: ").append(toIndentedString(userName)).append("\n");
sb.append(" key: ").append(toIndentedString(key)).append("\n");
- sb.append(" iD: ").append(toIndentedString(iD)).append("\n");
sb.append(" name: ").append(toIndentedString(name)).append("\n");
sb.append(" testAccount: ").append(toIndentedString(testAccount)).append("\n");
sb.append("}");
@@ -274,11 +243,6 @@ public String toUrlQueryString(String prefix) {
joiner.add(getKey().toUrlQueryString(prefix + "key" + suffix));
}
- // add `iD` to the URL query string
- if (getiD() != null) {
- joiner.add(getiD().toUrlQueryString(prefix + "iD" + suffix));
- }
-
// add `name` to the URL query string
if (getName() != null) {
joiner.add(String.format("%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/User1.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/User1.java
deleted file mode 100644
index fd2239ad46..0000000000
--- a/vcell-restclient/src/main/java/org/vcell/restclient/model/User1.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/*
- * 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.Arrays;
-import org.vcell.restclient.model.KeyValue;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-
-/**
- * User1
- */
-@JsonPropertyOrder({
- User1.JSON_PROPERTY_USER_NAME,
- User1.JSON_PROPERTY_KEY,
- User1.JSON_PROPERTY_I_D,
- User1.JSON_PROPERTY_NAME,
- User1.JSON_PROPERTY_PUBLISHER,
- User1.JSON_PROPERTY_TEST_ACCOUNT
-})
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
-public class User1 {
- public static final String JSON_PROPERTY_USER_NAME = "userName";
- private String userName;
-
- public static final String JSON_PROPERTY_KEY = "key";
- private KeyValue key;
-
- public static final String JSON_PROPERTY_I_D = "iD";
- private KeyValue iD;
-
- public static final String JSON_PROPERTY_NAME = "name";
- private String name;
-
- public static final String JSON_PROPERTY_PUBLISHER = "publisher";
- private Boolean publisher;
-
- public static final String JSON_PROPERTY_TEST_ACCOUNT = "testAccount";
- private Boolean testAccount;
-
- public User1() {
- }
-
- public User1 userName(String userName) {
- this.userName = userName;
- return this;
- }
-
- /**
- * Get userName
- * @return userName
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_USER_NAME)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getUserName() {
- return userName;
- }
-
-
- @JsonProperty(JSON_PROPERTY_USER_NAME)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setUserName(String userName) {
- this.userName = userName;
- }
-
-
- public User1 key(KeyValue key) {
- this.key = key;
- return this;
- }
-
- /**
- * Get key
- * @return key
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_KEY)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public KeyValue getKey() {
- return key;
- }
-
-
- @JsonProperty(JSON_PROPERTY_KEY)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setKey(KeyValue key) {
- this.key = key;
- }
-
-
- public User1 iD(KeyValue iD) {
- this.iD = iD;
- return this;
- }
-
- /**
- * Get iD
- * @return iD
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public KeyValue getiD() {
- return iD;
- }
-
-
- @JsonProperty(JSON_PROPERTY_I_D)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setiD(KeyValue iD) {
- this.iD = iD;
- }
-
-
- public User1 name(String name) {
- this.name = name;
- return this;
- }
-
- /**
- * Get name
- * @return name
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_NAME)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getName() {
- return name;
- }
-
-
- @JsonProperty(JSON_PROPERTY_NAME)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setName(String name) {
- this.name = name;
- }
-
-
- public User1 publisher(Boolean publisher) {
- this.publisher = publisher;
- return this;
- }
-
- /**
- * Get publisher
- * @return publisher
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_PUBLISHER)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Boolean getPublisher() {
- return publisher;
- }
-
-
- @JsonProperty(JSON_PROPERTY_PUBLISHER)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setPublisher(Boolean publisher) {
- this.publisher = publisher;
- }
-
-
- public User1 testAccount(Boolean testAccount) {
- this.testAccount = testAccount;
- return this;
- }
-
- /**
- * Get testAccount
- * @return testAccount
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_TEST_ACCOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public Boolean getTestAccount() {
- return testAccount;
- }
-
-
- @JsonProperty(JSON_PROPERTY_TEST_ACCOUNT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setTestAccount(Boolean testAccount) {
- this.testAccount = testAccount;
- }
-
-
- /**
- * Return true if this User1 object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- User1 user1 = (User1) o;
- return Objects.equals(this.userName, user1.userName) &&
- Objects.equals(this.key, user1.key) &&
- Objects.equals(this.iD, user1.iD) &&
- Objects.equals(this.name, user1.name) &&
- Objects.equals(this.publisher, user1.publisher) &&
- Objects.equals(this.testAccount, user1.testAccount);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(userName, key, iD, name, publisher, testAccount);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class User1 {\n");
- sb.append(" userName: ").append(toIndentedString(userName)).append("\n");
- sb.append(" key: ").append(toIndentedString(key)).append("\n");
- sb.append(" iD: ").append(toIndentedString(iD)).append("\n");
- sb.append(" name: ").append(toIndentedString(name)).append("\n");
- sb.append(" publisher: ").append(toIndentedString(publisher)).append("\n");
- sb.append(" testAccount: ").append(toIndentedString(testAccount)).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 `userName` to the URL query string
- if (getUserName() != null) {
- joiner.add(String.format("%suserName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getUserName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `key` to the URL query string
- if (getKey() != null) {
- joiner.add(getKey().toUrlQueryString(prefix + "key" + suffix));
- }
-
- // add `iD` to the URL query string
- if (getiD() != null) {
- joiner.add(getiD().toUrlQueryString(prefix + "iD" + suffix));
- }
-
- // add `name` to the URL query string
- if (getName() != null) {
- joiner.add(String.format("%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `publisher` to the URL query string
- if (getPublisher() != null) {
- joiner.add(String.format("%spublisher%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getPublisher()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `testAccount` to the URL query string
- if (getTestAccount() != null) {
- joiner.add(String.format("%stestAccount%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTestAccount()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- return joiner.toString();
- }
-}
-
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/UserIdentity.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/UserIdentity.java
deleted file mode 100644
index 70675867da..0000000000
--- a/vcell-restclient/src/main/java/org/vcell/restclient/model/UserIdentity.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * 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.math.BigDecimal;
-import java.time.OffsetDateTime;
-import java.util.Arrays;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
-
-/**
- * UserIdentity
- */
-@JsonPropertyOrder({
- UserIdentity.JSON_PROPERTY_ID,
- UserIdentity.JSON_PROPERTY_USER_NAME,
- UserIdentity.JSON_PROPERTY_SUBJECT,
- UserIdentity.JSON_PROPERTY_INSERT_DATE
-})
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
-public class UserIdentity {
- public static final String JSON_PROPERTY_ID = "id";
- private BigDecimal id;
-
- public static final String JSON_PROPERTY_USER_NAME = "userName";
- private String userName;
-
- public static final String JSON_PROPERTY_SUBJECT = "subject";
- private String subject;
-
- public static final String JSON_PROPERTY_INSERT_DATE = "insertDate";
- private OffsetDateTime insertDate;
-
- public UserIdentity() {
- }
-
- public UserIdentity id(BigDecimal id) {
- this.id = id;
- return this;
- }
-
- /**
- * Get id
- * @return id
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_ID)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public BigDecimal getId() {
- return id;
- }
-
-
- @JsonProperty(JSON_PROPERTY_ID)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setId(BigDecimal id) {
- this.id = id;
- }
-
-
- public UserIdentity userName(String userName) {
- this.userName = userName;
- return this;
- }
-
- /**
- * Get userName
- * @return userName
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_USER_NAME)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getUserName() {
- return userName;
- }
-
-
- @JsonProperty(JSON_PROPERTY_USER_NAME)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setUserName(String userName) {
- this.userName = userName;
- }
-
-
- public UserIdentity subject(String subject) {
- this.subject = subject;
- return this;
- }
-
- /**
- * Get subject
- * @return subject
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_SUBJECT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public String getSubject() {
- return subject;
- }
-
-
- @JsonProperty(JSON_PROPERTY_SUBJECT)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setSubject(String subject) {
- this.subject = subject;
- }
-
-
- public UserIdentity insertDate(OffsetDateTime insertDate) {
- this.insertDate = insertDate;
- return this;
- }
-
- /**
- * Get insertDate
- * @return insertDate
- **/
- @javax.annotation.Nullable
- @JsonProperty(JSON_PROPERTY_INSERT_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
-
- public OffsetDateTime getInsertDate() {
- return insertDate;
- }
-
-
- @JsonProperty(JSON_PROPERTY_INSERT_DATE)
- @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
- public void setInsertDate(OffsetDateTime insertDate) {
- this.insertDate = insertDate;
- }
-
-
- /**
- * Return true if this UserIdentity object is equal to o.
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- UserIdentity userIdentity = (UserIdentity) o;
- return Objects.equals(this.id, userIdentity.id) &&
- Objects.equals(this.userName, userIdentity.userName) &&
- Objects.equals(this.subject, userIdentity.subject) &&
- Objects.equals(this.insertDate, userIdentity.insertDate);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(id, userName, subject, insertDate);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("class UserIdentity {\n");
- sb.append(" id: ").append(toIndentedString(id)).append("\n");
- sb.append(" userName: ").append(toIndentedString(userName)).append("\n");
- sb.append(" subject: ").append(toIndentedString(subject)).append("\n");
- sb.append(" insertDate: ").append(toIndentedString(insertDate)).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 `id` to the URL query string
- if (getId() != null) {
- joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `userName` to the URL query string
- if (getUserName() != null) {
- joiner.add(String.format("%suserName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getUserName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `subject` to the URL query string
- if (getSubject() != null) {
- joiner.add(String.format("%ssubject%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSubject()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- // add `insertDate` to the URL query string
- if (getInsertDate() != null) {
- joiner.add(String.format("%sinsertDate%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getInsertDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
- }
-
- return joiner.toString();
- }
-}
-
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/IdentityProvider.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/VariableDomain.java
similarity index 73%
rename from vcell-restclient/src/main/java/org/vcell/restclient/model/IdentityProvider.java
rename to vcell-restclient/src/main/java/org/vcell/restclient/model/VariableDomain.java
index e22e4c2e08..72f577c07e 100644
--- a/vcell-restclient/src/main/java/org/vcell/restclient/model/IdentityProvider.java
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/VariableDomain.java
@@ -26,17 +26,27 @@
import com.fasterxml.jackson.annotation.JsonValue;
/**
- * Gets or Sets IdentityProvider
+ * Gets or Sets VariableDomain
*/
-public enum IdentityProvider {
+public enum VariableDomain {
- AUTH0("AUTH0"),
+ POSTPROCESSING("VARIABLEDOMAIN_POSTPROCESSING"),
- KEYCLOAK("KEYCLOAK");
+ UNKNOWN("VARIABLEDOMAIN_UNKNOWN"),
+
+ VOLUME("VARIABLEDOMAIN_VOLUME"),
+
+ MEMBRANE("VARIABLEDOMAIN_MEMBRANE"),
+
+ CONTOUR("VARIABLEDOMAIN_CONTOUR"),
+
+ NONSPATIAL("VARIABLEDOMAIN_NONSPATIAL"),
+
+ POINT("VARIABLEDOMAIN_POINT");
private String value;
- IdentityProvider(String value) {
+ VariableDomain(String value) {
this.value = value;
}
@@ -51,8 +61,8 @@ public String toString() {
}
@JsonCreator
- public static IdentityProvider fromValue(String value) {
- for (IdentityProvider b : IdentityProvider.values()) {
+ public static VariableDomain fromValue(String value) {
+ for (VariableDomain b : VariableDomain.values()) {
if (b.value.equals(value)) {
return b;
}
diff --git a/vcell-restclient/src/main/java/org/vcell/restclient/model/VariableType.java b/vcell-restclient/src/main/java/org/vcell/restclient/model/VariableType.java
new file mode 100644
index 0000000000..7b11b73d2a
--- /dev/null
+++ b/vcell-restclient/src/main/java/org/vcell/restclient/model/VariableType.java
@@ -0,0 +1,439 @@
+/*
+ * 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.Arrays;
+import org.vcell.restclient.model.VariableDomain;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+
+/**
+ * VariableType
+ */
+@JsonPropertyOrder({
+ VariableType.JSON_PROPERTY_TYPE,
+ VariableType.JSON_PROPERTY_VARIABLE_DOMAIN,
+ VariableType.JSON_PROPERTY_NAME,
+ VariableType.JSON_PROPERTY_UNITS,
+ VariableType.JSON_PROPERTY_LABEL,
+ VariableType.JSON_PROPERTY_LEGACY_WARN,
+ VariableType.JSON_PROPERTY_DEFAULT_LABEL,
+ VariableType.JSON_PROPERTY_DEFAULT_UNITS,
+ VariableType.JSON_PROPERTY_TYPE_NAME
+})
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class VariableType {
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private Integer type;
+
+ public static final String JSON_PROPERTY_VARIABLE_DOMAIN = "variableDomain";
+ private VariableDomain variableDomain;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_UNITS = "units";
+ private String units;
+
+ public static final String JSON_PROPERTY_LABEL = "label";
+ private String label;
+
+ public static final String JSON_PROPERTY_LEGACY_WARN = "legacyWarn";
+ private Boolean legacyWarn;
+
+ public static final String JSON_PROPERTY_DEFAULT_LABEL = "defaultLabel";
+ private String defaultLabel;
+
+ public static final String JSON_PROPERTY_DEFAULT_UNITS = "defaultUnits";
+ private String defaultUnits;
+
+ public static final String JSON_PROPERTY_TYPE_NAME = "typeName";
+ private String typeName;
+
+ public VariableType() {
+ }
+
+ public VariableType type(Integer type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get type
+ * @return type
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Integer getType() {
+ return type;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setType(Integer type) {
+ this.type = type;
+ }
+
+
+ public VariableType variableDomain(VariableDomain variableDomain) {
+ this.variableDomain = variableDomain;
+ return this;
+ }
+
+ /**
+ * Get variableDomain
+ * @return variableDomain
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_VARIABLE_DOMAIN)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public VariableDomain getVariableDomain() {
+ return variableDomain;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_VARIABLE_DOMAIN)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setVariableDomain(VariableDomain variableDomain) {
+ this.variableDomain = variableDomain;
+ }
+
+
+ public VariableType name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get name
+ * @return name
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getName() {
+ return name;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setName(String name) {
+ this.name = name;
+ }
+
+
+ public VariableType units(String units) {
+ this.units = units;
+ return this;
+ }
+
+ /**
+ * Get units
+ * @return units
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_UNITS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getUnits() {
+ return units;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_UNITS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setUnits(String units) {
+ this.units = units;
+ }
+
+
+ public VariableType label(String label) {
+ this.label = label;
+ return this;
+ }
+
+ /**
+ * Get label
+ * @return label
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_LABEL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getLabel() {
+ return label;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_LABEL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setLabel(String label) {
+ this.label = label;
+ }
+
+
+ public VariableType legacyWarn(Boolean legacyWarn) {
+ this.legacyWarn = legacyWarn;
+ return this;
+ }
+
+ /**
+ * Get legacyWarn
+ * @return legacyWarn
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_LEGACY_WARN)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public Boolean getLegacyWarn() {
+ return legacyWarn;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_LEGACY_WARN)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setLegacyWarn(Boolean legacyWarn) {
+ this.legacyWarn = legacyWarn;
+ }
+
+
+ public VariableType defaultLabel(String defaultLabel) {
+ this.defaultLabel = defaultLabel;
+ return this;
+ }
+
+ /**
+ * Get defaultLabel
+ * @return defaultLabel
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DEFAULT_LABEL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getDefaultLabel() {
+ return defaultLabel;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_DEFAULT_LABEL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setDefaultLabel(String defaultLabel) {
+ this.defaultLabel = defaultLabel;
+ }
+
+
+ public VariableType defaultUnits(String defaultUnits) {
+ this.defaultUnits = defaultUnits;
+ return this;
+ }
+
+ /**
+ * Get defaultUnits
+ * @return defaultUnits
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DEFAULT_UNITS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getDefaultUnits() {
+ return defaultUnits;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_DEFAULT_UNITS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setDefaultUnits(String defaultUnits) {
+ this.defaultUnits = defaultUnits;
+ }
+
+
+ public VariableType typeName(String typeName) {
+ this.typeName = typeName;
+ return this;
+ }
+
+ /**
+ * Get typeName
+ * @return typeName
+ **/
+ @javax.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TYPE_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getTypeName() {
+ return typeName;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_TYPE_NAME)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setTypeName(String typeName) {
+ this.typeName = typeName;
+ }
+
+
+ /**
+ * Return true if this VariableType object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ VariableType variableType = (VariableType) o;
+ return Objects.equals(this.type, variableType.type) &&
+ Objects.equals(this.variableDomain, variableType.variableDomain) &&
+ Objects.equals(this.name, variableType.name) &&
+ Objects.equals(this.units, variableType.units) &&
+ Objects.equals(this.label, variableType.label) &&
+ Objects.equals(this.legacyWarn, variableType.legacyWarn) &&
+ Objects.equals(this.defaultLabel, variableType.defaultLabel) &&
+ Objects.equals(this.defaultUnits, variableType.defaultUnits) &&
+ Objects.equals(this.typeName, variableType.typeName);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(type, variableDomain, name, units, label, legacyWarn, defaultLabel, defaultUnits, typeName);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class VariableType {\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" variableDomain: ").append(toIndentedString(variableDomain)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" units: ").append(toIndentedString(units)).append("\n");
+ sb.append(" label: ").append(toIndentedString(label)).append("\n");
+ sb.append(" legacyWarn: ").append(toIndentedString(legacyWarn)).append("\n");
+ sb.append(" defaultLabel: ").append(toIndentedString(defaultLabel)).append("\n");
+ sb.append(" defaultUnits: ").append(toIndentedString(defaultUnits)).append("\n");
+ sb.append(" typeName: ").append(toIndentedString(typeName)).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 `type` to the URL query string
+ if (getType() != null) {
+ joiner.add(String.format("%stype%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getType()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `variableDomain` to the URL query string
+ if (getVariableDomain() != null) {
+ joiner.add(String.format("%svariableDomain%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getVariableDomain()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `name` to the URL query string
+ if (getName() != null) {
+ joiner.add(String.format("%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `units` to the URL query string
+ if (getUnits() != null) {
+ joiner.add(String.format("%sunits%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getUnits()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `label` to the URL query string
+ if (getLabel() != null) {
+ joiner.add(String.format("%slabel%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLabel()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `legacyWarn` to the URL query string
+ if (getLegacyWarn() != null) {
+ joiner.add(String.format("%slegacyWarn%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLegacyWarn()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `defaultLabel` to the URL query string
+ if (getDefaultLabel() != null) {
+ joiner.add(String.format("%sdefaultLabel%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getDefaultLabel()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `defaultUnits` to the URL query string
+ if (getDefaultUnits() != null) {
+ joiner.add(String.format("%sdefaultUnits%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getDefaultUnits()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ // add `typeName` to the URL query string
+ if (getTypeName() != null) {
+ joiner.add(String.format("%stypeName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTypeName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
+ }
+
+ return joiner.toString();
+ }
+}
+
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/api/BioModelResourceApiTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/api/BioModelResourceApiTest.java
index 82f73ca1ef..8832c66cf7 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/api/BioModelResourceApiTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/api/BioModelResourceApiTest.java
@@ -51,91 +51,6 @@ public void deleteBioModelTest() throws ApiException {
// TODO: test validations
}
- /**
- * Get the BioModel in BNGL format.
- *
- *
- *
- * @throws ApiException
- * if the Api call fails
- */
- @Test
- public void getBioModelBNGLTest() throws ApiException {
- String bioModelID = null;
-
- //api.getBioModelBNGL(bioModelID);
-
- // TODO: test validations
- }
-
- /**
- * Get the BioModels diagram.
- *
- *
- *
- * @throws ApiException
- * if the Api call fails
- */
- @Test
- public void getBioModelDIAGRAMTest() throws ApiException {
- String bioModelID = null;
-
- //api.getBioModelDIAGRAM(bioModelID);
-
- // TODO: test validations
- }
-
- /**
- * Get the BioModel in OMEX format.
- *
- *
- *
- * @throws ApiException
- * if the Api call fails
- */
- @Test
- public void getBioModelOMEXTest() throws ApiException {
- String bioModelID = null;
-
- //api.getBioModelOMEX(bioModelID);
-
- // TODO: test validations
- }
-
- /**
- * Get the BioModel in SBML format.
- *
- *
- *
- * @throws ApiException
- * if the Api call fails
- */
- @Test
- public void getBioModelSBMLTest() throws ApiException {
- String bioModelID = null;
-
- //api.getBioModelSBML(bioModelID);
-
- // TODO: test validations
- }
-
- /**
- * Get the BioModel in VCML format.
- *
- *
- *
- * @throws ApiException
- * if the Api call fails
- */
- @Test
- public void getBioModelVCMLTest() throws ApiException {
- String bioModelID = null;
-
- //api.getBioModelVCML(bioModelID);
-
- // TODO: test validations
- }
-
/**
* Get BioModel information in JSON format by ID.
*
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/api/FieldDataResourceApiTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/api/FieldDataResourceApiTest.java
new file mode 100644
index 0000000000..eeded53913
--- /dev/null
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/api/FieldDataResourceApiTest.java
@@ -0,0 +1,126 @@
+/*
+ * 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.api;
+
+import org.vcell.restclient.ApiException;
+import org.vcell.restclient.model.AnalyzedResultsFromFieldData;
+import org.vcell.restclient.model.FieldDataReference;
+import org.vcell.restclient.model.FieldDataSaveResults;
+import org.vcell.restclient.model.FieldDataShape;
+import java.io.File;
+import org.junit.Test;
+import org.junit.Ignore;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+
+/**
+ * API tests for FieldDataResourceApi
+ */
+@Ignore
+public class FieldDataResourceApiTest {
+
+ private final FieldDataResourceApi api = new FieldDataResourceApi();
+
+
+ /**
+ * Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void analyzeFieldDataFileTest() throws ApiException {
+ File _file = null;
+ String fileName = null;
+ AnalyzedResultsFromFieldData response =
+ api.analyzeFieldDataFile(_file, fileName);
+
+ // TODO: test validations
+ }
+
+ /**
+ * Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void createFieldDataFromAnalyzedFileTest() throws ApiException {
+ AnalyzedResultsFromFieldData analyzedResultsFromFieldData = null;
+ FieldDataSaveResults response =
+ api.createFieldDataFromAnalyzedFile(analyzedResultsFromFieldData);
+
+ // TODO: test validations
+ }
+
+ /**
+ * Delete the selected field data.
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void deleteFieldDataTest() throws ApiException {
+ String fieldDataID = null;
+
+ api.deleteFieldData(fieldDataID);
+
+ // TODO: test validations
+ }
+
+ /**
+ * Get all of the ids used to identify, and retrieve field data.
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void getAllFieldDataIDsTest() throws ApiException {
+ List response =
+ api.getAllFieldDataIDs();
+
+ // TODO: test validations
+ }
+
+ /**
+ * Get the shape of the field data. That is it's size, origin, extent, and data identifiers.
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void getFieldDataShapeFromIDTest() throws ApiException {
+ String fieldDataID = null;
+ FieldDataShape response =
+ api.getFieldDataShapeFromID(fieldDataID);
+
+ // TODO: test validations
+ }
+
+}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/api/HelloWorldApiTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/api/HelloWorldApiTest.java
index 8725544ee8..7ed84545ad 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/api/HelloWorldApiTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/api/HelloWorldApiTest.java
@@ -1,5 +1,5 @@
/*
- * VCell API (test)
+ * VCell API
* VCell API
*
* The version of the OpenAPI document: 1.0.1
@@ -13,14 +13,22 @@
package org.vcell.restclient.api;
-import org.junit.jupiter.api.Test;
import org.vcell.restclient.ApiException;
import org.vcell.restclient.model.HelloWorldMessage;
+import org.junit.Test;
+import org.junit.Ignore;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* API tests for HelloWorldApi
*/
+@Ignore
public class HelloWorldApiTest {
private final HelloWorldApi api = new HelloWorldApi();
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/api/PublicationResourceApiTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/api/PublicationResourceApiTest.java
index ef2ce4713b..66d276eaa2 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/api/PublicationResourceApiTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/api/PublicationResourceApiTest.java
@@ -1,5 +1,5 @@
/*
- * VCell API (development)
+ * VCell API
* VCell API
*
* The version of the OpenAPI document: 1.0.1
@@ -13,54 +13,109 @@
package org.vcell.restclient.api;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Tag;
-import org.junit.jupiter.api.Test;
import org.vcell.restclient.ApiException;
import org.vcell.restclient.model.Publication;
+import org.junit.Test;
+import org.junit.Ignore;
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* API tests for PublicationResourceApi
*/
-@Disabled
-@Tag("Fast")
+@Ignore
public class PublicationResourceApiTest {
private final PublicationResourceApi api = new PublicationResourceApi();
+ /**
+ * Create publication
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
@Test
- public void getPublicationByIdTest() throws ApiException {
- Long key = null;
- api.getPublicationById(key);
+ public void createPublicationTest() throws ApiException {
+ Publication publication = null;
+ Long response =
+ api.createPublication(publication);
// TODO: test validations
}
+ /**
+ * Delete publication
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
@Test
- public void getPublicationsTest() throws ApiException {
- List response = api.getPublications();
+ public void deletePublicationTest() throws ApiException {
+ Long id = null;
+
+ api.deletePublication(id);
// TODO: test validations
}
-
+
+ /**
+ * Get publication by ID
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
@Test
- public void addPublicationTest() throws ApiException {
- Publication publication = null;
- api.createPublication(publication);
-
+ public void getPublicationByIdTest() throws ApiException {
+ Long id = null;
+ Publication response =
+ api.getPublicationById(id);
+
// TODO: test validations
}
-
+
+ /**
+ * Get all publications
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
@Test
- public void deletePublicationTest() throws ApiException {
- Long publication_key = null;
- api.deletePublication(publication_key);
-
+ public void getPublicationsTest() throws ApiException {
+ List response =
+ api.getPublications();
+
// TODO: test validations
}
-
+
+ /**
+ * Create publication
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void updatePublicationTest() throws ApiException {
+ Publication publication = null;
+ Publication response =
+ api.updatePublication(publication);
+
+ // TODO: test validations
+ }
+
}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/api/SimulationResourceApiTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/api/SimulationResourceApiTest.java
index ded45fa88d..90388c0d70 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/api/SimulationResourceApiTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/api/SimulationResourceApiTest.java
@@ -14,7 +14,8 @@
package org.vcell.restclient.api;
import org.vcell.restclient.ApiException;
-import org.vcell.restclient.model.OverrideRepresentation;
+import org.vcell.restclient.model.SimulationStatusPersistentRecord;
+import org.vcell.restclient.model.StatusMessage;
import org.junit.Test;
import org.junit.Ignore;
@@ -32,6 +33,26 @@
public class SimulationResourceApiTest {
private final SimulationResourceApi api = new SimulationResourceApi();
+
+
+ /**
+ * Get the status of simulation running
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void getSimulationStatusTest() throws ApiException {
+ String simID = null;
+ String bioModelID = null;
+ String mathModelID = null;
+ SimulationStatusPersistentRecord response =
+ api.getSimulationStatus(simID, bioModelID, mathModelID);
+
+ // TODO: test validations
+ }
/**
* Start a simulation.
@@ -44,7 +65,7 @@ public class SimulationResourceApiTest {
@Test
public void startSimulationTest() throws ApiException {
String simID = null;
-
+ List response =
api.startSimulation(simID);
// TODO: test validations
@@ -61,7 +82,7 @@ public void startSimulationTest() throws ApiException {
@Test
public void stopSimulationTest() throws ApiException {
String simID = null;
-
+ List response =
api.stopSimulation(simID);
// TODO: test validations
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/api/UsersResourceApiTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/api/UsersResourceApiTest.java
index b0cbe52a66..d1d4d11fed 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/api/UsersResourceApiTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/api/UsersResourceApiTest.java
@@ -1,5 +1,5 @@
/*
- * VCell API (development)
+ * VCell API
* VCell API
*
* The version of the OpenAPI document: 1.0.1
@@ -13,27 +13,99 @@
package org.vcell.restclient.api;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Tag;
-import org.junit.jupiter.api.Test;
import org.vcell.restclient.ApiException;
+import org.vcell.restclient.model.AccesTokenRepresentationRecord;
import org.vcell.restclient.model.Identity;
-import org.vcell.restclient.model.User;
+import org.vcell.restclient.model.UserIdentityJSONSafe;
+import org.vcell.restclient.model.UserLoginInfoForMapping;
+import org.vcell.restclient.model.UserRegistrationInfo;
+import org.junit.Test;
+import org.junit.Ignore;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* API tests for UsersResourceApi
*/
-@Disabled
-@Tag("Fast")
+@Ignore
public class UsersResourceApiTest {
private final UsersResourceApi api = new UsersResourceApi();
/**
+ * The end user has forgotten the legacy password they used for VCell, so they will be emailed it.
+ *
*
*
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void forgotLegacyPasswordTest() throws ApiException {
+ String userID = null;
+
+ api.forgotLegacyPassword(userID);
+
+ // TODO: test validations
+ }
+
+ /**
+ * Method to get legacy tokens for guest users
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void getGuestLegacyApiTokenTest() throws ApiException {
+ AccesTokenRepresentationRecord response =
+ api.getGuestLegacyApiToken();
+
+ // TODO: test validations
+ }
+
+ /**
+ * Get token for legacy API
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void getLegacyApiTokenTest() throws ApiException {
+ AccesTokenRepresentationRecord response =
+ api.getLegacyApiToken();
+
+ // TODO: test validations
+ }
+
+ /**
+ * Get mapped VCell identity
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void getMappedUserTest() throws ApiException {
+ UserIdentityJSONSafe response =
+ api.getMappedUser();
+
+ // TODO: test validations
+ }
+
+ /**
+ * Get current user
+ *
*
*
* @throws ApiException
@@ -41,10 +113,96 @@ public class UsersResourceApiTest {
*/
@Test
public void getMeTest() throws ApiException {
- Identity response =
+ Identity response =
api.getMe();
// TODO: test validations
}
+ /**
+ * create vcell user
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void mapNewUserTest() throws ApiException {
+ UserRegistrationInfo userRegistrationInfo = null;
+
+ api.mapNewUser(userRegistrationInfo);
+
+ // TODO: test validations
+ }
+
+ /**
+ * map vcell user
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void mapUserTest() throws ApiException {
+ UserLoginInfoForMapping userLoginInfoForMapping = null;
+ Boolean response =
+ api.mapUser(userLoginInfoForMapping);
+
+ // TODO: test validations
+ }
+
+ /**
+ * Process the magic link and map the user
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void processMagicLinkTest() throws ApiException {
+ String magic = null;
+
+ api.processMagicLink(magic);
+
+ // TODO: test validations
+ }
+
+ /**
+ * request a recovery email to link a VCell account.
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void requestRecoveryEmailTest() throws ApiException {
+ String email = null;
+ String userID = null;
+
+ api.requestRecoveryEmail(email, userID);
+
+ // TODO: test validations
+ }
+
+ /**
+ * remove vcell identity mapping
+ *
+ *
+ *
+ * @throws ApiException
+ * if the Api call fails
+ */
+ @Test
+ public void unmapUserTest() throws ApiException {
+ String userName = null;
+ Boolean response =
+ api.unmapUser(userName);
+
+ // TODO: test validations
+ }
+
}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/AccessTokenRepresentationTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/AccessTokenRepresentationTest.java
deleted file mode 100644
index b22fba0f2a..0000000000
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/AccessTokenRepresentationTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * 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 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.Arrays;
-import org.junit.Assert;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- * Model tests for AccessTokenRepresentation
- */
-public class AccessTokenRepresentationTest {
- private final AccessTokenRepresentation model = new AccessTokenRepresentation();
-
- /**
- * Model tests for AccessTokenRepresentation
- */
- @Test
- public void testAccessTokenRepresentation() {
- // TODO: test AccessTokenRepresentation
- }
-
- /**
- * Test the property 'token'
- */
- @Test
- public void tokenTest() {
- // TODO: test token
- }
-
- /**
- * Test the property 'creationDateSeconds'
- */
- @Test
- public void creationDateSecondsTest() {
- // TODO: test creationDateSeconds
- }
-
- /**
- * Test the property 'expireDateSeconds'
- */
- @Test
- public void expireDateSecondsTest() {
- // TODO: test expireDateSeconds
- }
-
- /**
- * Test the property 'userId'
- */
- @Test
- public void userIdTest() {
- // TODO: test userId
- }
-
- /**
- * Test the property 'userKey'
- */
- @Test
- public void userKeyTest() {
- // TODO: test userKey
- }
-
-}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/AnalyzedResultsFromFieldDataTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/AnalyzedResultsFromFieldDataTest.java
new file mode 100644
index 0000000000..c49ca2d07a
--- /dev/null
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/AnalyzedResultsFromFieldDataTest.java
@@ -0,0 +1,109 @@
+/*
+ * 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 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.Extent;
+import org.vcell.restclient.model.ISize;
+import org.vcell.restclient.model.Origin;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * Model tests for AnalyzedResultsFromFieldData
+ */
+public class AnalyzedResultsFromFieldDataTest {
+ private final AnalyzedResultsFromFieldData model = new AnalyzedResultsFromFieldData();
+
+ /**
+ * Model tests for AnalyzedResultsFromFieldData
+ */
+ @Test
+ public void testAnalyzedResultsFromFieldData() {
+ // TODO: test AnalyzedResultsFromFieldData
+ }
+
+ /**
+ * Test the property 'shortSpecData'
+ */
+ @Test
+ public void shortSpecDataTest() {
+ // TODO: test shortSpecData
+ }
+
+ /**
+ * Test the property 'varNames'
+ */
+ @Test
+ public void varNamesTest() {
+ // TODO: test varNames
+ }
+
+ /**
+ * Test the property 'times'
+ */
+ @Test
+ public void timesTest() {
+ // TODO: test times
+ }
+
+ /**
+ * Test the property 'origin'
+ */
+ @Test
+ public void originTest() {
+ // TODO: test origin
+ }
+
+ /**
+ * Test the property 'extent'
+ */
+ @Test
+ public void extentTest() {
+ // TODO: test extent
+ }
+
+ /**
+ * Test the property 'isize'
+ */
+ @Test
+ public void isizeTest() {
+ // TODO: test isize
+ }
+
+ /**
+ * Test the property 'annotation'
+ */
+ @Test
+ public void annotationTest() {
+ // TODO: test annotation
+ }
+
+ /**
+ * Test the property 'name'
+ */
+ @Test
+ public void nameTest() {
+ // TODO: test name
+ }
+
+}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/BioModelTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/BioModelTest.java
index 3994c6e3b8..a0e5785a84 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/BioModelTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/BioModelTest.java
@@ -21,7 +21,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import org.vcell.restclient.model.Simulation;
+import org.vcell.restclient.model.KeyValue;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
@@ -97,11 +97,11 @@ public void branchIDTest() {
}
/**
- * Test the property 'modelKey'
+ * Test the property 'physModelKey'
*/
@Test
- public void modelKeyTest() {
- // TODO: test modelKey
+ public void physModelKeyTest() {
+ // TODO: test physModelKey
}
/**
@@ -121,11 +121,11 @@ public void ownerKeyTest() {
}
/**
- * Test the property 'simulations'
+ * Test the property 'simulationKeyList'
*/
@Test
- public void simulationsTest() {
- // TODO: test simulations
+ public void simulationKeyListTest() {
+ // TODO: test simulationKeyList
}
/**
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/BiomodelRefTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/BiomodelRefTest.java
index d447601abd..c39b85be8d 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/BiomodelRefTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/BiomodelRefTest.java
@@ -1,5 +1,5 @@
/*
- * VCell API (development)
+ * VCell API
* VCell API
*
* The version of the OpenAPI document: 1.0.1
@@ -13,13 +13,19 @@
package org.vcell.restclient.model;
-import org.junit.jupiter.api.Tag;
-import org.junit.jupiter.api.Test;
+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.Arrays;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
/**
* Model tests for BiomodelRef
*/
-@Tag("Fast")
public class BiomodelRefTest {
private final BiomodelRef model = new BiomodelRef();
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/DataIdentifierTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/DataIdentifierTest.java
new file mode 100644
index 0000000000..502c54e3a0
--- /dev/null
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/DataIdentifierTest.java
@@ -0,0 +1,98 @@
+/*
+ * 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 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.Arrays;
+import org.vcell.restclient.model.Domain;
+import org.vcell.restclient.model.VariableType;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * Model tests for DataIdentifier
+ */
+public class DataIdentifierTest {
+ private final DataIdentifier model = new DataIdentifier();
+
+ /**
+ * Model tests for DataIdentifier
+ */
+ @Test
+ public void testDataIdentifier() {
+ // TODO: test DataIdentifier
+ }
+
+ /**
+ * Test the property 'name'
+ */
+ @Test
+ public void nameTest() {
+ // TODO: test name
+ }
+
+ /**
+ * Test the property 'displayName'
+ */
+ @Test
+ public void displayNameTest() {
+ // TODO: test displayName
+ }
+
+ /**
+ * Test the property 'variableType'
+ */
+ @Test
+ public void variableTypeTest() {
+ // TODO: test variableType
+ }
+
+ /**
+ * Test the property 'domain'
+ */
+ @Test
+ public void domainTest() {
+ // TODO: test domain
+ }
+
+ /**
+ * Test the property 'bFunction'
+ */
+ @Test
+ public void bFunctionTest() {
+ // TODO: test bFunction
+ }
+
+ /**
+ * Test the property 'function'
+ */
+ @Test
+ public void functionTest() {
+ // TODO: test function
+ }
+
+ /**
+ * Test the property 'visible'
+ */
+ @Test
+ public void visibleTest() {
+ // TODO: test visible
+ }
+
+}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/DomainTest.java
similarity index 79%
rename from vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationTest.java
rename to vcell-restclient/src/test/java/org/vcell/restclient/model/DomainTest.java
index d9533db481..d661e5e75d 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/DomainTest.java
@@ -24,17 +24,17 @@
import org.junit.Test;
/**
- * Model tests for Simulation
+ * Model tests for Domain
*/
-public class SimulationTest {
- private final Simulation model = new Simulation();
+public class DomainTest {
+ private final Domain model = new Domain();
/**
- * Model tests for Simulation
+ * Model tests for Domain
*/
@Test
- public void testSimulation() {
- // TODO: test Simulation
+ public void testDomain() {
+ // TODO: test Domain
}
/**
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/VCellServerIDTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/ExtentTest.java
similarity index 60%
rename from vcell-restclient/src/test/java/org/vcell/restclient/model/VCellServerIDTest.java
rename to vcell-restclient/src/test/java/org/vcell/restclient/model/ExtentTest.java
index e842989964..7b6bf37638 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/VCellServerIDTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/ExtentTest.java
@@ -24,25 +24,41 @@
import org.junit.Test;
/**
- * Model tests for VCellServerID
+ * Model tests for Extent
*/
-public class VCellServerIDTest {
- private final VCellServerID model = new VCellServerID();
+public class ExtentTest {
+ private final Extent model = new Extent();
/**
- * Model tests for VCellServerID
+ * Model tests for Extent
*/
@Test
- public void testVCellServerID() {
- // TODO: test VCellServerID
+ public void testExtent() {
+ // TODO: test Extent
}
/**
- * Test the property 'serverID'
+ * Test the property 'x'
*/
@Test
- public void serverIDTest() {
- // TODO: test serverID
+ public void xTest() {
+ // TODO: test x
+ }
+
+ /**
+ * Test the property 'y'
+ */
+ @Test
+ public void yTest() {
+ // TODO: test y
+ }
+
+ /**
+ * Test the property 'z'
+ */
+ @Test
+ public void zTest() {
+ // TODO: test z
}
}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/User1Test.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/ExternalDataIdentifierTest.java
similarity index 55%
rename from vcell-restclient/src/test/java/org/vcell/restclient/model/User1Test.java
rename to vcell-restclient/src/test/java/org/vcell/restclient/model/ExternalDataIdentifierTest.java
index d25d8a58e1..6a85760852 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/User1Test.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/ExternalDataIdentifierTest.java
@@ -20,30 +20,23 @@
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
import org.vcell.restclient.model.KeyValue;
+import org.vcell.restclient.model.User;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
/**
- * Model tests for User1
+ * Model tests for ExternalDataIdentifier
*/
-public class User1Test {
- private final User1 model = new User1();
+public class ExternalDataIdentifierTest {
+ private final ExternalDataIdentifier model = new ExternalDataIdentifier();
/**
- * Model tests for User1
+ * Model tests for ExternalDataIdentifier
*/
@Test
- public void testUser1() {
- // TODO: test User1
- }
-
- /**
- * Test the property 'userName'
- */
- @Test
- public void userNameTest() {
- // TODO: test userName
+ public void testExternalDataIdentifier() {
+ // TODO: test ExternalDataIdentifier
}
/**
@@ -55,11 +48,11 @@ public void keyTest() {
}
/**
- * Test the property 'iD'
+ * Test the property 'owner'
*/
@Test
- public void iDTest() {
- // TODO: test iD
+ public void ownerTest() {
+ // TODO: test owner
}
/**
@@ -71,19 +64,35 @@ public void nameTest() {
}
/**
- * Test the property 'publisher'
+ * Test the property 'jobIndex'
+ */
+ @Test
+ public void jobIndexTest() {
+ // TODO: test jobIndex
+ }
+
+ /**
+ * Test the property 'simulationKey'
+ */
+ @Test
+ public void simulationKeyTest() {
+ // TODO: test simulationKey
+ }
+
+ /**
+ * Test the property 'parameterScanType'
*/
@Test
- public void publisherTest() {
- // TODO: test publisher
+ public void parameterScanTypeTest() {
+ // TODO: test parameterScanType
}
/**
- * Test the property 'testAccount'
+ * Test the property 'dataKey'
*/
@Test
- public void testAccountTest() {
- // TODO: test testAccount
+ public void dataKeyTest() {
+ // TODO: test dataKey
}
}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/FieldDataReferenceTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/FieldDataReferenceTest.java
new file mode 100644
index 0000000000..42f1f106e9
--- /dev/null
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/FieldDataReferenceTest.java
@@ -0,0 +1,68 @@
+/*
+ * 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 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.ExternalDataIdentifier;
+import org.vcell.restclient.model.KeyValue;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * Model tests for FieldDataReference
+ */
+public class FieldDataReferenceTest {
+ private final FieldDataReference model = new FieldDataReference();
+
+ /**
+ * Model tests for FieldDataReference
+ */
+ @Test
+ public void testFieldDataReference() {
+ // TODO: test FieldDataReference
+ }
+
+ /**
+ * Test the property 'externalDataIdentifier'
+ */
+ @Test
+ public void externalDataIdentifierTest() {
+ // TODO: test externalDataIdentifier
+ }
+
+ /**
+ * Test the property 'externalDataAnnotation'
+ */
+ @Test
+ public void externalDataAnnotationTest() {
+ // TODO: test externalDataAnnotation
+ }
+
+ /**
+ * Test the property 'externalDataIDSimRef'
+ */
+ @Test
+ public void externalDataIDSimRefTest() {
+ // TODO: test externalDataIDSimRef
+ }
+
+}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/FieldDataSaveResultsTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/FieldDataSaveResultsTest.java
new file mode 100644
index 0000000000..d9b3a6c1cf
--- /dev/null
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/FieldDataSaveResultsTest.java
@@ -0,0 +1,56 @@
+/*
+ * 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 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.Arrays;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * Model tests for FieldDataSaveResults
+ */
+public class FieldDataSaveResultsTest {
+ private final FieldDataSaveResults model = new FieldDataSaveResults();
+
+ /**
+ * Model tests for FieldDataSaveResults
+ */
+ @Test
+ public void testFieldDataSaveResults() {
+ // TODO: test FieldDataSaveResults
+ }
+
+ /**
+ * Test the property 'fieldDataName'
+ */
+ @Test
+ public void fieldDataNameTest() {
+ // TODO: test fieldDataName
+ }
+
+ /**
+ * Test the property 'fieldDataID'
+ */
+ @Test
+ public void fieldDataIDTest() {
+ // TODO: test fieldDataID
+ }
+
+}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/OverrideRepresentationTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/FieldDataShapeTest.java
similarity index 50%
rename from vcell-restclient/src/test/java/org/vcell/restclient/model/OverrideRepresentationTest.java
rename to vcell-restclient/src/test/java/org/vcell/restclient/model/FieldDataShapeTest.java
index 848aea36ce..576de83e27 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/OverrideRepresentationTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/FieldDataShapeTest.java
@@ -21,62 +21,66 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import org.vcell.restclient.model.DataIdentifier;
+import org.vcell.restclient.model.Extent;
+import org.vcell.restclient.model.ISize;
+import org.vcell.restclient.model.Origin;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
/**
- * Model tests for OverrideRepresentation
+ * Model tests for FieldDataShape
*/
-public class OverrideRepresentationTest {
- private final OverrideRepresentation model = new OverrideRepresentation();
+public class FieldDataShapeTest {
+ private final FieldDataShape model = new FieldDataShape();
/**
- * Model tests for OverrideRepresentation
+ * Model tests for FieldDataShape
*/
@Test
- public void testOverrideRepresentation() {
- // TODO: test OverrideRepresentation
+ public void testFieldDataShape() {
+ // TODO: test FieldDataShape
}
/**
- * Test the property 'name'
+ * Test the property 'extent'
*/
@Test
- public void nameTest() {
- // TODO: test name
+ public void extentTest() {
+ // TODO: test extent
}
/**
- * Test the property 'type'
+ * Test the property 'origin'
*/
@Test
- public void typeTest() {
- // TODO: test type
+ public void originTest() {
+ // TODO: test origin
}
/**
- * Test the property 'expression'
+ * Test the property 'isize'
*/
@Test
- public void expressionTest() {
- // TODO: test expression
+ public void isizeTest() {
+ // TODO: test isize
}
/**
- * Test the property 'values'
+ * Test the property 'dataIdentifier'
*/
@Test
- public void valuesTest() {
- // TODO: test values
+ public void dataIdentifierTest() {
+ // TODO: test dataIdentifier
}
/**
- * Test the property 'cardinality'
+ * Test the property 'times'
*/
@Test
- public void cardinalityTest() {
- // TODO: test cardinality
+ public void timesTest() {
+ // TODO: test times
}
}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/HelloWorldMessageTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/HelloWorldMessageTest.java
index 8f86d6de29..ddcc1343fe 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/HelloWorldMessageTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/HelloWorldMessageTest.java
@@ -1,5 +1,5 @@
/*
- * VCell API (test)
+ * VCell API
* VCell API
*
* The version of the OpenAPI document: 1.0.1
@@ -13,7 +13,16 @@
package org.vcell.restclient.model;
-import org.junit.jupiter.api.Test;
+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.Arrays;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+
/**
* Model tests for HelloWorldMessage
*/
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/MapUserTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/ISizeTest.java
similarity index 62%
rename from vcell-restclient/src/test/java/org/vcell/restclient/model/MapUserTest.java
rename to vcell-restclient/src/test/java/org/vcell/restclient/model/ISizeTest.java
index f4345accf8..fada1b7bb9 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/MapUserTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/ISizeTest.java
@@ -1,5 +1,5 @@
/*
- * VCell API (development)
+ * VCell API
* VCell API
*
* The version of the OpenAPI document: 1.0.1
@@ -24,33 +24,41 @@
import org.junit.Test;
/**
- * Model tests for MapUser
+ * Model tests for ISize
*/
-public class MapUserTest {
- private final MapUser model = new MapUser();
+public class ISizeTest {
+ private final ISize model = new ISize();
+
+ /**
+ * Model tests for ISize
+ */
+ @Test
+ public void testISize() {
+ // TODO: test ISize
+ }
/**
- * Model tests for MapUser
+ * Test the property 'x'
*/
@Test
- public void testMapUser() {
- // TODO: test MapUser
+ public void xTest() {
+ // TODO: test x
}
/**
- * Test the property 'userID'
+ * Test the property 'y'
*/
@Test
- public void userIDTest() {
- // TODO: test userID
+ public void yTest() {
+ // TODO: test y
}
/**
- * Test the property 'password'
+ * Test the property 'z'
*/
@Test
- public void passwordTest() {
- // TODO: test password
+ public void zTest() {
+ // TODO: test z
}
}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/MathmodelRefTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/MathmodelRefTest.java
index d64918e60f..7a2507b3da 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/MathmodelRefTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/MathmodelRefTest.java
@@ -1,5 +1,5 @@
/*
- * VCell API (development)
+ * VCell API
* VCell API
*
* The version of the OpenAPI document: 1.0.1
@@ -13,14 +13,19 @@
package org.vcell.restclient.model;
-import org.junit.jupiter.api.Tag;
-import org.junit.jupiter.api.Test;
-
+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.Arrays;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
/**
* Model tests for MathmodelRef
*/
-@Tag("Fast")
public class MathmodelRefTest {
private final MathmodelRef model = new MathmodelRef();
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/UserIdentityTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/OriginTest.java
similarity index 52%
rename from vcell-restclient/src/test/java/org/vcell/restclient/model/UserIdentityTest.java
rename to vcell-restclient/src/test/java/org/vcell/restclient/model/OriginTest.java
index d8414e43ab..e46423d636 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/UserIdentityTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/OriginTest.java
@@ -18,58 +18,47 @@
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.fasterxml.jackson.annotation.JsonValue;
-import java.time.LocalDate;
import java.util.Arrays;
-import org.vcell.restclient.model.KeyValue;
-import org.vcell.restclient.model.User1;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
/**
- * Model tests for UserIdentity
+ * Model tests for Origin
*/
-public class UserIdentityTest {
- private final UserIdentity model = new UserIdentity();
+public class OriginTest {
+ private final Origin model = new Origin();
/**
- * Model tests for UserIdentity
+ * Model tests for Origin
*/
@Test
- public void testUserIdentity() {
- // TODO: test UserIdentity
+ public void testOrigin() {
+ // TODO: test Origin
}
/**
- * Test the property 'id'
+ * Test the property 'x'
*/
@Test
- public void idTest() {
- // TODO: test id
+ public void xTest() {
+ // TODO: test x
}
/**
- * Test the property 'user'
+ * Test the property 'y'
*/
@Test
- public void userTest() {
- // TODO: test user
+ public void yTest() {
+ // TODO: test y
}
/**
- * Test the property 'subject'
+ * Test the property 'z'
*/
@Test
- public void subjectTest() {
- // TODO: test subject
- }
-
- /**
- * Test the property 'insertDate'
- */
- @Test
- public void insertDateTest() {
- // TODO: test insertDate
+ public void zTest() {
+ // TODO: test z
}
}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/PublicationTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/PublicationTest.java
index d79dd2bdd0..c1d0641c15 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/PublicationTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/PublicationTest.java
@@ -1,5 +1,5 @@
/*
- * VCell API (development)
+ * VCell API
* VCell API
*
* The version of the OpenAPI document: 1.0.1
@@ -13,14 +13,24 @@
package org.vcell.restclient.model;
-import org.junit.jupiter.api.Tag;
-import org.junit.jupiter.api.Test;
-
+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.time.LocalDate;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import org.vcell.restclient.model.BiomodelRef;
+import org.vcell.restclient.model.MathmodelRef;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
/**
* Model tests for Publication
*/
-@Tag("Fast")
public class PublicationTest {
private final Publication model = new Publication();
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationExecutionStatusTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationExecutionStatusTest.java
deleted file mode 100644
index dbd1c21ce8..0000000000
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationExecutionStatusTest.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * 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 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.time.LocalDate;
-import java.util.Arrays;
-import org.vcell.restclient.model.HtcJobID;
-import org.junit.Assert;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- * Model tests for SimulationExecutionStatus
- */
-public class SimulationExecutionStatusTest {
- private final SimulationExecutionStatus model = new SimulationExecutionStatus();
-
- /**
- * Model tests for SimulationExecutionStatus
- */
- @Test
- public void testSimulationExecutionStatus() {
- // TODO: test SimulationExecutionStatus
- }
-
- /**
- * Test the property 'fieldStartDate'
- */
- @Test
- public void fieldStartDateTest() {
- // TODO: test fieldStartDate
- }
-
- /**
- * Test the property 'fieldLatestUpdateDate'
- */
- @Test
- public void fieldLatestUpdateDateTest() {
- // TODO: test fieldLatestUpdateDate
- }
-
- /**
- * Test the property 'fieldEndDate'
- */
- @Test
- public void fieldEndDateTest() {
- // TODO: test fieldEndDate
- }
-
- /**
- * Test the property 'fieldComputeHost'
- */
- @Test
- public void fieldComputeHostTest() {
- // TODO: test fieldComputeHost
- }
-
- /**
- * Test the property 'fieldHasData'
- */
- @Test
- public void fieldHasDataTest() {
- // TODO: test fieldHasData
- }
-
- /**
- * Test the property 'fieldHtcJobID'
- */
- @Test
- public void fieldHtcJobIDTest() {
- // TODO: test fieldHtcJobID
- }
-
- /**
- * Test the property 'computeHost'
- */
- @Test
- public void computeHostTest() {
- // TODO: test computeHost
- }
-
- /**
- * Test the property 'endDate'
- */
- @Test
- public void endDateTest() {
- // TODO: test endDate
- }
-
- /**
- * Test the property 'latestUpdateDate'
- */
- @Test
- public void latestUpdateDateTest() {
- // TODO: test latestUpdateDate
- }
-
- /**
- * Test the property 'startDate'
- */
- @Test
- public void startDateTest() {
- // TODO: test startDate
- }
-
- /**
- * Test the property 'htcJobID'
- */
- @Test
- public void htcJobIDTest() {
- // TODO: test htcJobID
- }
-
-}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationJobStatusRecordTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationJobStatusRecordTest.java
index cbcc48b0a8..df84352f49 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationJobStatusRecordTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationJobStatusRecordTest.java
@@ -18,12 +18,12 @@
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.fasterxml.jackson.annotation.JsonValue;
-import java.time.LocalDate;
+import java.time.OffsetDateTime;
import java.util.Arrays;
import org.vcell.restclient.model.SchedulerStatus;
-import org.vcell.restclient.model.SimulationExecutionStatus;
+import org.vcell.restclient.model.SimulationExecutionStatusRecord;
import org.vcell.restclient.model.SimulationMessage;
-import org.vcell.restclient.model.SimulationQueueEntryStatus;
+import org.vcell.restclient.model.SimulationQueueEntryStatusRecord;
import org.vcell.restclient.model.VCSimulationIdentifier;
import org.junit.Assert;
import org.junit.Ignore;
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationJobStatusTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationJobStatusTest.java
deleted file mode 100644
index 4fe456fe92..0000000000
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationJobStatusTest.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * 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 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.time.LocalDate;
-import java.util.Arrays;
-import org.vcell.restclient.model.SchedulerStatus;
-import org.vcell.restclient.model.SimulationExecutionStatus;
-import org.vcell.restclient.model.SimulationMessage;
-import org.vcell.restclient.model.SimulationQueueEntryStatus;
-import org.vcell.restclient.model.VCSimulationIdentifier;
-import org.vcell.restclient.model.VCellServerID;
-import org.junit.Assert;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- * Model tests for SimulationJobStatus
- */
-public class SimulationJobStatusTest {
- private final SimulationJobStatus model = new SimulationJobStatus();
-
- /**
- * Model tests for SimulationJobStatus
- */
- @Test
- public void testSimulationJobStatus() {
- // TODO: test SimulationJobStatus
- }
-
- /**
- * Test the property 'fieldTimeDateStamp'
- */
- @Test
- public void fieldTimeDateStampTest() {
- // TODO: test fieldTimeDateStamp
- }
-
- /**
- * Test the property 'fieldVCSimID'
- */
- @Test
- public void fieldVCSimIDTest() {
- // TODO: test fieldVCSimID
- }
-
- /**
- * Test the property 'fieldSubmitDate'
- */
- @Test
- public void fieldSubmitDateTest() {
- // TODO: test fieldSubmitDate
- }
-
- /**
- * Test the property 'fieldSchedulerStatus'
- */
- @Test
- public void fieldSchedulerStatusTest() {
- // TODO: test fieldSchedulerStatus
- }
-
- /**
- * Test the property 'fieldTaskID'
- */
- @Test
- public void fieldTaskIDTest() {
- // TODO: test fieldTaskID
- }
-
- /**
- * Test the property 'fieldSimulationMessage'
- */
- @Test
- public void fieldSimulationMessageTest() {
- // TODO: test fieldSimulationMessage
- }
-
- /**
- * Test the property 'fieldServerID'
- */
- @Test
- public void fieldServerIDTest() {
- // TODO: test fieldServerID
- }
-
- /**
- * Test the property 'fieldJobIndex'
- */
- @Test
- public void fieldJobIndexTest() {
- // TODO: test fieldJobIndex
- }
-
- /**
- * Test the property 'fieldSimulationQueueEntryStatus'
- */
- @Test
- public void fieldSimulationQueueEntryStatusTest() {
- // TODO: test fieldSimulationQueueEntryStatus
- }
-
- /**
- * Test the property 'fieldSimulationExecutionStatus'
- */
- @Test
- public void fieldSimulationExecutionStatusTest() {
- // TODO: test fieldSimulationExecutionStatus
- }
-
- /**
- * Test the property 'computeHost'
- */
- @Test
- public void computeHostTest() {
- // TODO: test computeHost
- }
-
- /**
- * Test the property 'endDate'
- */
- @Test
- public void endDateTest() {
- // TODO: test endDate
- }
-
- /**
- * Test the property 'jobIndex'
- */
- @Test
- public void jobIndexTest() {
- // TODO: test jobIndex
- }
-
- /**
- * Test the property 'schedulerStatus'
- */
- @Test
- public void schedulerStatusTest() {
- // TODO: test schedulerStatus
- }
-
- /**
- * Test the property 'serverID'
- */
- @Test
- public void serverIDTest() {
- // TODO: test serverID
- }
-
- /**
- * Test the property 'simulationExecutionStatus'
- */
- @Test
- public void simulationExecutionStatusTest() {
- // TODO: test simulationExecutionStatus
- }
-
- /**
- * Test the property 'simulationQueueEntryStatus'
- */
- @Test
- public void simulationQueueEntryStatusTest() {
- // TODO: test simulationQueueEntryStatus
- }
-
- /**
- * Test the property 'startDate'
- */
- @Test
- public void startDateTest() {
- // TODO: test startDate
- }
-
- /**
- * Test the property 'simulationMessage'
- */
- @Test
- public void simulationMessageTest() {
- // TODO: test simulationMessage
- }
-
- /**
- * Test the property 'submitDate'
- */
- @Test
- public void submitDateTest() {
- // TODO: test submitDate
- }
-
- /**
- * Test the property 'taskID'
- */
- @Test
- public void taskIDTest() {
- // TODO: test taskID
- }
-
- /**
- * Test the property 'timeDateStamp'
- */
- @Test
- public void timeDateStampTest() {
- // TODO: test timeDateStamp
- }
-
- /**
- * Test the property 'vCSimulationIdentifier'
- */
- @Test
- public void vCSimulationIdentifierTest() {
- // TODO: test vCSimulationIdentifier
- }
-
-}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationQueueEntryStatusTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationQueueEntryStatusTest.java
deleted file mode 100644
index ec0f091914..0000000000
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationQueueEntryStatusTest.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * 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 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.time.LocalDate;
-import java.util.Arrays;
-import org.vcell.restclient.model.SimulationQueueID;
-import org.junit.Assert;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- * Model tests for SimulationQueueEntryStatus
- */
-public class SimulationQueueEntryStatusTest {
- private final SimulationQueueEntryStatus model = new SimulationQueueEntryStatus();
-
- /**
- * Model tests for SimulationQueueEntryStatus
- */
- @Test
- public void testSimulationQueueEntryStatus() {
- // TODO: test SimulationQueueEntryStatus
- }
-
- /**
- * Test the property 'fieldQueuePriority'
- */
- @Test
- public void fieldQueuePriorityTest() {
- // TODO: test fieldQueuePriority
- }
-
- /**
- * Test the property 'fieldQueueDate'
- */
- @Test
- public void fieldQueueDateTest() {
- // TODO: test fieldQueueDate
- }
-
- /**
- * Test the property 'fieldQueueID'
- */
- @Test
- public void fieldQueueIDTest() {
- // TODO: test fieldQueueID
- }
-
- /**
- * Test the property 'queueDate'
- */
- @Test
- public void queueDateTest() {
- // TODO: test queueDate
- }
-
- /**
- * Test the property 'queueID'
- */
- @Test
- public void queueIDTest() {
- // TODO: test queueID
- }
-
- /**
- * Test the property 'queuePriority'
- */
- @Test
- public void queuePriorityTest() {
- // TODO: test queuePriority
- }
-
-}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationStatusPersistentRecordTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationStatusPersistentRecordTest.java
index 4d6028633a..b8fe9ffc87 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationStatusPersistentRecordTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/SimulationStatusPersistentRecordTest.java
@@ -19,8 +19,6 @@
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
import org.vcell.restclient.model.Status;
import org.junit.Assert;
import org.junit.Ignore;
@@ -48,14 +46,6 @@ public void statusTest() {
// TODO: test status
}
- /**
- * Test the property 'progressHash'
- */
- @Test
- public void progressHashTest() {
- // TODO: test progressHash
- }
-
/**
* Test the property 'details'
*/
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/StatusMessageTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/StatusMessageTest.java
index bfc18974a8..0e52b4f297 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/StatusMessageTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/StatusMessageTest.java
@@ -19,7 +19,7 @@
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
-import org.vcell.restclient.model.SimulationJobStatus;
+import org.vcell.restclient.model.SimulationJobStatusRecord;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/UserIdentityJSONSafeTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/UserIdentityJSONSafeTest.java
index 1002084cfd..15131fa3e7 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/UserIdentityJSONSafeTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/UserIdentityJSONSafeTest.java
@@ -38,6 +38,14 @@ public void testUserIdentityJSONSafe() {
// TODO: test UserIdentityJSONSafe
}
+ /**
+ * Test the property 'mapped'
+ */
+ @Test
+ public void mappedTest() {
+ // TODO: test mapped
+ }
+
/**
* Test the property 'userName'
*/
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/UserLoginInfoForMappingTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/UserLoginInfoForMappingTest.java
index 9446b139ff..938e723802 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/UserLoginInfoForMappingTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/UserLoginInfoForMappingTest.java
@@ -1,5 +1,5 @@
/*
- * VCell API (development)
+ * VCell API
* VCell API
*
* The version of the OpenAPI document: 1.0.1
@@ -46,11 +46,11 @@ public void userIDTest() {
}
/**
- * Test the property 'digestedPassword'
+ * Test the property 'password'
*/
@Test
- public void digestedPasswordTest() {
- // TODO: test digestedPassword
+ public void passwordTest() {
+ // TODO: test password
}
}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/UserTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/UserTest.java
index 10de75e90d..f8475aeef1 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/UserTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/UserTest.java
@@ -1,5 +1,5 @@
/*
- * VCell API (development)
+ * VCell API
* VCell API
*
* The version of the OpenAPI document: 1.0.1
@@ -13,14 +13,20 @@
package org.vcell.restclient.model;
-import org.junit.jupiter.api.Tag;
-import org.junit.jupiter.api.Test;
-
+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.Arrays;
+import org.vcell.restclient.model.KeyValue;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
/**
* Model tests for User
*/
-@Tag("Fast")
public class UserTest {
private final User model = new User();
@@ -40,4 +46,28 @@ public void userNameTest() {
// TODO: test userName
}
+ /**
+ * Test the property 'key'
+ */
+ @Test
+ public void keyTest() {
+ // TODO: test key
+ }
+
+ /**
+ * Test the property 'name'
+ */
+ @Test
+ public void nameTest() {
+ // TODO: test name
+ }
+
+ /**
+ * Test the property 'testAccount'
+ */
+ @Test
+ public void testAccountTest() {
+ // TODO: test testAccount
+ }
+
}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/IdentityProviderTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/VariableDomainTest.java
similarity index 69%
rename from vcell-restclient/src/test/java/org/vcell/restclient/model/IdentityProviderTest.java
rename to vcell-restclient/src/test/java/org/vcell/restclient/model/VariableDomainTest.java
index 81d8f7cdcd..76474ee9c4 100644
--- a/vcell-restclient/src/test/java/org/vcell/restclient/model/IdentityProviderTest.java
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/VariableDomainTest.java
@@ -18,15 +18,15 @@
import org.junit.Test;
/**
- * Model tests for IdentityProvider
+ * Model tests for VariableDomain
*/
-public class IdentityProviderTest {
+public class VariableDomainTest {
/**
- * Model tests for IdentityProvider
+ * Model tests for VariableDomain
*/
@Test
- public void testIdentityProvider() {
- // TODO: test IdentityProvider
+ public void testVariableDomain() {
+ // TODO: test VariableDomain
}
}
diff --git a/vcell-restclient/src/test/java/org/vcell/restclient/model/VariableTypeTest.java b/vcell-restclient/src/test/java/org/vcell/restclient/model/VariableTypeTest.java
new file mode 100644
index 0000000000..0b07442866
--- /dev/null
+++ b/vcell-restclient/src/test/java/org/vcell/restclient/model/VariableTypeTest.java
@@ -0,0 +1,113 @@
+/*
+ * 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 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.Arrays;
+import org.vcell.restclient.model.VariableDomain;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * Model tests for VariableType
+ */
+public class VariableTypeTest {
+ private final VariableType model = new VariableType();
+
+ /**
+ * Model tests for VariableType
+ */
+ @Test
+ public void testVariableType() {
+ // TODO: test VariableType
+ }
+
+ /**
+ * Test the property 'type'
+ */
+ @Test
+ public void typeTest() {
+ // TODO: test type
+ }
+
+ /**
+ * Test the property 'variableDomain'
+ */
+ @Test
+ public void variableDomainTest() {
+ // TODO: test variableDomain
+ }
+
+ /**
+ * Test the property 'name'
+ */
+ @Test
+ public void nameTest() {
+ // TODO: test name
+ }
+
+ /**
+ * Test the property 'units'
+ */
+ @Test
+ public void unitsTest() {
+ // TODO: test units
+ }
+
+ /**
+ * Test the property 'label'
+ */
+ @Test
+ public void labelTest() {
+ // TODO: test label
+ }
+
+ /**
+ * Test the property 'legacyWarn'
+ */
+ @Test
+ public void legacyWarnTest() {
+ // TODO: test legacyWarn
+ }
+
+ /**
+ * Test the property 'defaultLabel'
+ */
+ @Test
+ public void defaultLabelTest() {
+ // TODO: test defaultLabel
+ }
+
+ /**
+ * Test the property 'defaultUnits'
+ */
+ @Test
+ public void defaultUnitsTest() {
+ // TODO: test defaultUnits
+ }
+
+ /**
+ * Test the property 'typeName'
+ */
+ @Test
+ public void typeNameTest() {
+ // TODO: test typeName
+ }
+
+}
diff --git a/vcell-server/src/main/java/cbit/vcell/field/db/FieldDataDBOperationDriver.java b/vcell-server/src/main/java/cbit/vcell/field/db/FieldDataDBOperationDriver.java
index b4ec52db3f..1553f6d46b 100644
--- a/vcell-server/src/main/java/cbit/vcell/field/db/FieldDataDBOperationDriver.java
+++ b/vcell-server/src/main/java/cbit/vcell/field/db/FieldDataDBOperationDriver.java
@@ -103,10 +103,9 @@ private static synchronized Connection getConnection() throws Exception{
}
}
- public static FieldDataDBOperationResults fieldDataDBOperation(Connection con, KeyFactory keyFactory, User user,
- FieldDataDBOperationSpec fieldDataDBOperationSpec) throws SQLException, DataAccessException {
-
- if(fieldDataDBOperationSpec.opType == FieldDataDBOperationSpec.FDDBOS_COPY_NO_CONFLICT){
+
+ private static FieldDataDBOperationResults copyNoConflict(Connection con, KeyFactory keyFactory, User user,
+ FieldDataDBOperationSpec fieldDataDBOperationSpec) throws SQLException, DataAccessException {
//get all current ExtDataIDs
ExternalDataIdentifier[] existingExtDataIDArr =
FieldDataDBOperationDriver.fieldDataDBOperation(
@@ -175,14 +174,17 @@ public static FieldDataDBOperationResults fieldDataDBOperation(Connection con, K
}
oldNameNewIDHash.put(origFieldFuncName,fieldDataDBOperationResults.extDataID);
}
-
+
FieldDataDBOperationResults fieldDataDBOperationResults =
new FieldDataDBOperationResults();
fieldDataDBOperationResults.oldNameNewIDHash = oldNameNewIDHash;
fieldDataDBOperationResults.oldNameOldExtDataIDKeyHash = oldNameOldExtDataIDKey;
return fieldDataDBOperationResults;
- }else if(fieldDataDBOperationSpec.opType == FieldDataDBOperationSpec.FDDBOS_GETEXTDATAIDS){
- String sql;
+ }
+
+ private static FieldDataDBOperationResults getExtraDataIDs(Connection con, KeyFactory keyFactory, User user,
+ FieldDataDBOperationSpec fieldDataDBOperationSpec) throws SQLException {
+ String sql;
ResultSet rset;
if(fieldDataDBOperationSpec.bIncludeSimRefs){
sql = "SELECT "+
@@ -201,17 +203,17 @@ public static FieldDataDBOperationResults fieldDataDBOperation(Connection con, K
UserTable.table.id.getQualifiedColName() + " = " +
fieldDataDBOperationSpec.owner.getID() +
" AND "+
- UserTable.table.id.getQualifiedColName() + " = " +
- ExternalDataTable.table.ownerRef.getQualifiedColName() +
+ UserTable.table.id.getQualifiedColName() + " = " +
+ ExternalDataTable.table.ownerRef.getQualifiedColName() +
" AND "+
- ExternalDataTable.table.id.getQualifiedColName() + " = " +
- MathDescExternalDataLinkTable.table.extDataRef.getQualifiedColName() +
+ ExternalDataTable.table.id.getQualifiedColName() + " = " +
+ MathDescExternalDataLinkTable.table.extDataRef.getQualifiedColName() +
" AND "+
- MathDescTable.table.id.getQualifiedColName() + " = " +
- MathDescExternalDataLinkTable.table.mathDescRef.getQualifiedColName() +
+ MathDescTable.table.id.getQualifiedColName() + " = " +
+ MathDescExternalDataLinkTable.table.mathDescRef.getQualifiedColName() +
" AND "+
- MathDescTable.table.id.getQualifiedColName() + " = " +
- SimulationTable.table.mathRef.getQualifiedColName();
+ MathDescTable.table.id.getQualifiedColName() + " = " +
+ SimulationTable.table.mathRef.getQualifiedColName();
}else{
sql = "SELECT "+
ExternalDataTable.table.getTableName()+".*"+","+
@@ -225,7 +227,7 @@ public static FieldDataDBOperationResults fieldDataDBOperation(Connection con, K
UserTable.table.id.getQualifiedColName() + " = " +
ExternalDataTable.table.ownerRef.getQualifiedColName();
}
-
+
Statement stmt = con.createStatement();
Vector extDataIDV = new Vector();
Vector extDataAnnotV = new Vector();
@@ -264,16 +266,17 @@ public static FieldDataDBOperationResults fieldDataDBOperation(Connection con, K
fieldDataDBOperationResults.extDataAnnotArr = extDataAnnotV.toArray(new String[extDataAnnotV.size()]);
fieldDataDBOperationResults.extdataIDAndSimRefH = extDataIDSimRefsH;
return fieldDataDBOperationResults;
-
- }else if(fieldDataDBOperationSpec.opType == FieldDataDBOperationSpec.FDDBOS_SAVEEXTDATAID){
-
- if(!fieldDataDBOperationSpec.newExtDataIDName.equals(
+ }
+
+ private static FieldDataDBOperationResults saveExtraDataID(Connection con, KeyFactory keyFactory, User user,
+ FieldDataDBOperationSpec fieldDataDBOperationSpec) throws DataAccessException, SQLException {
+ if(!fieldDataDBOperationSpec.newExtDataIDName.equals(
TokenMangler.fixTokenStrict(fieldDataDBOperationSpec.newExtDataIDName))){
throw new DataAccessException("Error inserting Field Data name "+
fieldDataDBOperationSpec.newExtDataIDName+"\n"+
"Field Data names can contain only letters,digits and underscores");
}
-
+
KeyValue newKey = keyFactory.getNewKey(con);
String sql =
"INSERT INTO "+ExternalDataTable.table.getTableName()+" "+
@@ -283,7 +286,7 @@ public static FieldDataDBOperationResults fieldDataDBOperation(Connection con, K
newKey,user,
fieldDataDBOperationSpec.newExtDataIDName,
fieldDataDBOperationSpec.annotation);
-
+
DbDriver.updateCleanSQL(con,sql);
ExternalDataIdentifier[] fdiArr =
FieldDataDBOperationDriver.fieldDataDBOperation(
@@ -297,22 +300,35 @@ public static FieldDataDBOperationResults fieldDataDBOperation(Connection con, K
}
throw new DataAccessException(
"Unable to retrieve inserted ExternalDataIdentifier "+
- fieldDataDBOperationSpec.newExtDataIDName);
+ fieldDataDBOperationSpec.newExtDataIDName);
+ }
-
- }else if(fieldDataDBOperationSpec.opType == FieldDataDBOperationSpec.FDDBOS_DELETE){
- String sql =
- "DELETE" + " FROM " + ExternalDataTable.table.getTableName() +
+ private static FieldDataDBOperationResults deleteFieldData(Connection con, KeyFactory keyFactory, User user,
+ FieldDataDBOperationSpec fieldDataDBOperationSpec) throws SQLException {
+ String sql =
+ "DELETE" + " FROM " + ExternalDataTable.table.getTableName() +
" WHERE " +
ExternalDataTable.table.ownerRef + " = " + user.getID() +
" AND " +
ExternalDataTable.table.id + " = " + fieldDataDBOperationSpec.specEDI.getKey().toString();
-
+
DbDriver.updateCleanSQL(con,sql);
-
+
return new FieldDataDBOperationResults();
- }
+ }
+
+ public static FieldDataDBOperationResults fieldDataDBOperation(Connection con, KeyFactory keyFactory, User user,
+ FieldDataDBOperationSpec fieldDataDBOperationSpec) throws SQLException, DataAccessException {
+ if(fieldDataDBOperationSpec.opType == FieldDataDBOperationSpec.FDDBOS_COPY_NO_CONFLICT){
+ return copyNoConflict(con, keyFactory, user, fieldDataDBOperationSpec);
+ }else if(fieldDataDBOperationSpec.opType == FieldDataDBOperationSpec.FDDBOS_GETEXTDATAIDS){
+ return getExtraDataIDs(con, keyFactory, user, fieldDataDBOperationSpec);
+ }else if(fieldDataDBOperationSpec.opType == FieldDataDBOperationSpec.FDDBOS_SAVEEXTDATAID){
+ return saveExtraDataID(con, keyFactory, user, fieldDataDBOperationSpec);
+ }else if(fieldDataDBOperationSpec.opType == FieldDataDBOperationSpec.FDDBOS_DELETE){
+ return deleteFieldData(con, keyFactory, user, fieldDataDBOperationSpec);
+ }
throw new DataAccessException("Unknown FieldDataDBOperation "+fieldDataDBOperationSpec.opType);
}
diff --git a/vcell-server/src/main/java/cbit/vcell/message/server/bootstrap/LocalVCellConnectionFactory.java b/vcell-server/src/main/java/cbit/vcell/message/server/bootstrap/LocalVCellConnectionFactory.java
index 8f441136d8..02dd510bca 100644
--- a/vcell-server/src/main/java/cbit/vcell/message/server/bootstrap/LocalVCellConnectionFactory.java
+++ b/vcell-server/src/main/java/cbit/vcell/message/server/bootstrap/LocalVCellConnectionFactory.java
@@ -11,13 +11,9 @@
package cbit.vcell.message.server.bootstrap;
import cbit.vcell.export.server.ExportServiceImpl;
-import cbit.vcell.message.server.bootstrap.client.LocalVCellConnectionMessaging;
import cbit.vcell.message.server.dispatcher.SimulationDatabaseDirect;
import cbit.vcell.modeldb.AdminDBTopLevel;
-import cbit.vcell.modeldb.ApiAccessToken;
-import cbit.vcell.modeldb.ApiClient;
import cbit.vcell.modeldb.DatabaseServerImpl;
-import cbit.vcell.resource.NativeLib;
import cbit.vcell.resource.PropertyLoader;
import cbit.vcell.server.Auth0ConnectionUtils;
import cbit.vcell.server.ConnectionException;
@@ -25,32 +21,21 @@
import cbit.vcell.server.VCellConnectionFactory;
import cbit.vcell.simdata.Cachetable;
import cbit.vcell.simdata.DataSetControllerImpl;
-import com.nimbusds.oauth2.sdk.ParseException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.vcell.api.client.VCellApiClient;
import org.vcell.db.ConnectionFactory;
import org.vcell.db.DatabaseService;
import org.vcell.db.KeyFactory;
-import org.vcell.restclient.ApiException;
-import org.vcell.restclient.model.AccesTokenRepresentationRecord;
-import org.vcell.util.AuthenticationException;
import org.vcell.util.DataAccessException;
-import org.vcell.util.ObjectNotFoundException;
-import org.vcell.util.document.KeyValue;
-import org.vcell.util.document.User;
import org.vcell.util.document.UserLoginInfo;
import java.io.File;
import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.net.URISyntaxException;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.sql.SQLException;
-import java.util.Date;
-import java.util.List;
/**
* This type was created in VisualAge.
diff --git a/vcell-util/pom.xml b/vcell-util/pom.xml
index 89da76b368..cfeddf24d9 100644
--- a/vcell-util/pom.xml
+++ b/vcell-util/pom.xml
@@ -140,5 +140,10 @@
jaxb-impl
${jaxb-impl.version}
+
+ org.vcell
+ vcell-restclient
+ 0.0.1-SNAPSHOT
+
diff --git a/vcell-util/src/main/java/org/vcell/util/Extent.java b/vcell-util/src/main/java/org/vcell/util/Extent.java
index 647ed4e8c2..cabb97e9bc 100644
--- a/vcell-util/src/main/java/org/vcell/util/Extent.java
+++ b/vcell-util/src/main/java/org/vcell/util/Extent.java
@@ -25,6 +25,18 @@ public class Extent implements java.io.Serializable, Matchable {
private double z;
public Extent() {}//For jaxb
+ public static org.vcell.restclient.model.Extent extentToDTO(Extent extent) {
+ org.vcell.restclient.model.Extent newExtent = new org.vcell.restclient.model.Extent();
+ newExtent.setX(extent.getX());
+ newExtent.setY(extent.getY());
+ newExtent.setZ(extent.getZ());
+ return newExtent;
+ }
+
+ public static Extent dtoToExtent(org.vcell.restclient.model.Extent dto) {
+ return new Extent(dto.getX(), dto.getY(), dto.getZ());
+ }
+
/**
* Origin constructor comment.
*/
diff --git a/vcell-util/src/main/java/org/vcell/util/ISize.java b/vcell-util/src/main/java/org/vcell/util/ISize.java
index c31626c4c4..4b67f386cf 100644
--- a/vcell-util/src/main/java/org/vcell/util/ISize.java
+++ b/vcell-util/src/main/java/org/vcell/util/ISize.java
@@ -11,6 +11,8 @@
package org.vcell.util;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
/**
* This type was created in VisualAge.
*/
@@ -19,6 +21,19 @@ public class ISize implements java.io.Serializable, Matchable {
private int y;
private int z;
+ public static org.vcell.restclient.model.ISize iSizeToDTO(ISize iSize){
+ org.vcell.restclient.model.ISize iSizeDTO = new org.vcell.restclient.model.ISize();
+ iSizeDTO.setX(iSize.getX());
+ iSizeDTO.setY(iSize.getY());
+ iSizeDTO.setZ(iSize.getZ());
+ return iSizeDTO;
+ }
+
+ public static ISize dtoToISize(org.vcell.restclient.model.ISize dto){
+ return new ISize(dto.getX(), dto.getY(), dto.getZ());
+ }
+ public ISize(){}
+
/**
* Origin constructor comment.
*/
@@ -89,6 +104,7 @@ public int getX() {
* Creation date: (9/30/2005 10:17:58 AM)
* @return int
*/
+@JsonIgnore
public int getXYZ() {
return x*y*z;
}
diff --git a/vcell-util/src/main/java/org/vcell/util/Origin.java b/vcell-util/src/main/java/org/vcell/util/Origin.java
index 9d2165aed0..da911ee068 100644
--- a/vcell-util/src/main/java/org/vcell/util/Origin.java
+++ b/vcell-util/src/main/java/org/vcell/util/Origin.java
@@ -23,7 +23,19 @@ public class Origin implements java.io.Serializable, Matchable {
@XmlAttribute
private double z;
public Origin() {}//For jaxb
-
+
+public static org.vcell.restclient.model.Origin originToDTO(Origin origin){
+ org.vcell.restclient.model.Origin dtoOrigin = new org.vcell.restclient.model.Origin();
+ dtoOrigin.setX(origin.getX());
+ dtoOrigin.setY(origin.getY());
+ dtoOrigin.setZ(origin.getZ());
+ return dtoOrigin;
+}
+
+public static Origin dtoToOrigin(org.vcell.restclient.model.Origin dtoOrigin){
+ return new Origin(dtoOrigin.getX(), dtoOrigin.getY(), dtoOrigin.getZ());
+}
+
/**
* Origin constructor comment.
*/
diff --git a/webapp-ng/src/app/core/modules/openapi/.openapi-generator/FILES b/webapp-ng/src/app/core/modules/openapi/.openapi-generator/FILES
index a833aa61ba..a9995085f5 100644
--- a/webapp-ng/src/app/core/modules/openapi/.openapi-generator/FILES
+++ b/webapp-ng/src/app/core/modules/openapi/.openapi-generator/FILES
@@ -6,6 +6,8 @@ api/admin-resource.serviceInterface.ts
api/api.ts
api/bio-model-resource.service.ts
api/bio-model-resource.serviceInterface.ts
+api/field-data-resource.service.ts
+api/field-data-resource.serviceInterface.ts
api/hello-world.service.ts
api/hello-world.serviceInterface.ts
api/publication-resource.service.ts
@@ -19,16 +21,26 @@ encoder.ts
git_push.sh
index.ts
model/acces-token-representation-record.ts
+model/analyzed-results-from-field-data.ts
model/batch-system-type.ts
model/bio-model.ts
model/biomodel-ref.ts
+model/data-identifier.ts
model/detailed-state.ts
+model/domain.ts
+model/extent.ts
+model/external-data-identifier.ts
+model/field-data-reference.ts
+model/field-data-save-results.ts
+model/field-data-shape.ts
model/hello-world-message.ts
model/htc-job-id.ts
+model/i-size.ts
model/identity.ts
model/key-value.ts
model/mathmodel-ref.ts
model/models.ts
+model/origin.ts
model/publication.ts
model/scheduler-status.ts
model/simulation-execution-status-record.ts
@@ -43,6 +55,8 @@ model/user-identity-json-safe.ts
model/user-login-info-for-mapping.ts
model/user-registration-info.ts
model/user.ts
+model/variable-domain.ts
+model/variable-type.ts
model/vc-simulation-identifier.ts
param.ts
variables.ts
diff --git a/webapp-ng/src/app/core/modules/openapi/api/api.ts b/webapp-ng/src/app/core/modules/openapi/api/api.ts
index 78b7eafdb0..342e9ee2f0 100644
--- a/webapp-ng/src/app/core/modules/openapi/api/api.ts
+++ b/webapp-ng/src/app/core/modules/openapi/api/api.ts
@@ -4,6 +4,9 @@ export * from './admin-resource.serviceInterface';
export * from './bio-model-resource.service';
import { BioModelResourceService } from './bio-model-resource.service';
export * from './bio-model-resource.serviceInterface';
+export * from './field-data-resource.service';
+import { FieldDataResourceService } from './field-data-resource.service';
+export * from './field-data-resource.serviceInterface';
export * from './hello-world.service';
import { HelloWorldService } from './hello-world.service';
export * from './hello-world.serviceInterface';
@@ -16,4 +19,4 @@ export * from './simulation-resource.serviceInterface';
export * from './users-resource.service';
import { UsersResourceService } from './users-resource.service';
export * from './users-resource.serviceInterface';
-export const APIS = [AdminResourceService, BioModelResourceService, HelloWorldService, PublicationResourceService, SimulationResourceService, UsersResourceService];
+export const APIS = [AdminResourceService, BioModelResourceService, FieldDataResourceService, HelloWorldService, PublicationResourceService, SimulationResourceService, UsersResourceService];
diff --git a/webapp-ng/src/app/core/modules/openapi/api/field-data-resource.service.ts b/webapp-ng/src/app/core/modules/openapi/api/field-data-resource.service.ts
new file mode 100644
index 0000000000..d949fe63ce
--- /dev/null
+++ b/webapp-ng/src/app/core/modules/openapi/api/field-data-resource.service.ts
@@ -0,0 +1,432 @@
+/**
+ * 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.
+ */
+/* tslint:disable:no-unused-variable member-ordering */
+
+import { Inject, Injectable, Optional } from '@angular/core';
+import { HttpClient, HttpHeaders, HttpParams,
+ HttpResponse, HttpEvent, HttpParameterCodec, HttpContext
+ } from '@angular/common/http';
+import { CustomHttpParameterCodec } from '../encoder';
+import { Observable } from 'rxjs';
+
+// @ts-ignore
+import { AnalyzedResultsFromFieldData } from '../model/analyzed-results-from-field-data';
+// @ts-ignore
+import { FieldDataReference } from '../model/field-data-reference';
+// @ts-ignore
+import { FieldDataSaveResults } from '../model/field-data-save-results';
+// @ts-ignore
+import { FieldDataShape } from '../model/field-data-shape';
+
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS } from '../variables';
+import { Configuration } from '../configuration';
+import {
+ FieldDataResourceServiceInterface
+} from './field-data-resource.serviceInterface';
+
+
+
+@Injectable({
+ providedIn: 'root'
+})
+export class FieldDataResourceService implements FieldDataResourceServiceInterface {
+
+ protected basePath = 'https://vcell-dev.cam.uchc.edu';
+ public defaultHeaders = new HttpHeaders();
+ public configuration = new Configuration();
+ public encoder: HttpParameterCodec;
+
+ constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {
+ if (configuration) {
+ this.configuration = configuration;
+ }
+ if (typeof this.configuration.basePath !== 'string') {
+ if (Array.isArray(basePath) && basePath.length > 0) {
+ basePath = basePath[0];
+ }
+
+ if (typeof basePath !== 'string') {
+ basePath = this.basePath;
+ }
+ this.configuration.basePath = basePath;
+ }
+ this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
+ }
+
+ /**
+ * @param consumes string[] mime-types
+ * @return true: consumes contains 'multipart/form-data', false: otherwise
+ */
+ private canConsumeForm(consumes: string[]): boolean {
+ const form = 'multipart/form-data';
+ for (const consume of consumes) {
+ if (form === consume) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ // @ts-ignore
+ private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {
+ if (typeof value === "object" && value instanceof Date === false) {
+ httpParams = this.addToHttpParamsRecursive(httpParams, value);
+ } else {
+ httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
+ }
+ return httpParams;
+ }
+
+ private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {
+ if (value == null) {
+ return httpParams;
+ }
+
+ if (typeof value === "object") {
+ if (Array.isArray(value)) {
+ (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
+ } else if (value instanceof Date) {
+ if (key != null) {
+ httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));
+ } else {
+ throw Error("key may not be null if value is Date");
+ }
+ } else {
+ Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(
+ httpParams, value[k], key != null ? `${key}.${k}` : k));
+ }
+ } else if (key != null) {
+ httpParams = httpParams.append(key, value);
+ } else {
+ throw Error("key may not be null if value is not object or array");
+ }
+ return httpParams;
+ }
+
+ /**
+ * Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+ * @param file
+ * @param fileName
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+ * @param reportProgress flag to report request and response progress.
+ */
+ public analyzeFieldDataFile(file?: Blob, fileName?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;
+ public analyzeFieldDataFile(file?: Blob, fileName?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;
+ public analyzeFieldDataFile(file?: Blob, fileName?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;
+ public analyzeFieldDataFile(file?: Blob, fileName?: string, 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();
+ }
+
+ // to determine the Content-Type header
+ const consumes: string[] = [
+ 'multipart/form-data'
+ ];
+
+ const canConsumeForm = this.canConsumeForm(consumes);
+
+ let localVarFormParams: { append(param: string, value: any): any; };
+ let localVarUseForm = false;
+ let localVarConvertFormParamsToString = false;
+ // use FormData to transmit files using content-type "multipart/form-data"
+ // see https://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data
+ localVarUseForm = canConsumeForm;
+ if (localVarUseForm) {
+ localVarFormParams = new FormData();
+ } else {
+ localVarFormParams = new HttpParams({encoder: this.encoder});
+ }
+
+ if (file !== undefined) {
+ localVarFormParams = localVarFormParams.append('file', file) as any || localVarFormParams;
+ }
+ if (fileName !== undefined) {
+ localVarFormParams = localVarFormParams.append('fileName', fileName) as any || localVarFormParams;
+ }
+
+ 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/fieldData/analyzeFieldDataFile`;
+ return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`,
+ {
+ context: localVarHttpContext,
+ body: localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams,
+ responseType: responseType_,
+ withCredentials: this.configuration.withCredentials,
+ headers: localVarHeaders,
+ observe: observe,
+ reportProgress: reportProgress
+ }
+ );
+ }
+
+ /**
+ * Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+ * @param analyzedResultsFromFieldData
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+ * @param reportProgress flag to report request and response progress.
+ */
+ public createFieldDataFromAnalyzedFile(analyzedResultsFromFieldData?: AnalyzedResultsFromFieldData, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;
+ public createFieldDataFromAnalyzedFile(analyzedResultsFromFieldData?: AnalyzedResultsFromFieldData, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;
+ public createFieldDataFromAnalyzedFile(analyzedResultsFromFieldData?: AnalyzedResultsFromFieldData, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;
+ public createFieldDataFromAnalyzedFile(analyzedResultsFromFieldData?: AnalyzedResultsFromFieldData, 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();
+ }
+
+
+ // to determine the Content-Type header
+ const consumes: string[] = [
+ 'application/json'
+ ];
+ const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
+ if (httpContentTypeSelected !== undefined) {
+ localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
+ }
+
+ 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/fieldData/createFieldDataFromAnalyzedFile`;
+ return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`,
+ {
+ context: localVarHttpContext,
+ body: analyzedResultsFromFieldData,
+ responseType: responseType_,
+ withCredentials: this.configuration.withCredentials,
+ headers: localVarHeaders,
+ observe: observe,
+ reportProgress: reportProgress
+ }
+ );
+ }
+
+ /**
+ * Delete the selected field data.
+ * @param fieldDataID
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+ * @param reportProgress flag to report request and response progress.
+ */
+ public deleteFieldData(fieldDataID: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;
+ public deleteFieldData(fieldDataID: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;
+ public deleteFieldData(fieldDataID: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;
+ public deleteFieldData(fieldDataID: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {
+ if (fieldDataID === null || fieldDataID === undefined) {
+ throw new Error('Required parameter fieldDataID was null or undefined when calling deleteFieldData.');
+ }
+
+ let localVarHeaders = this.defaultHeaders;
+
+ let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;
+ if (localVarHttpHeaderAcceptSelected === undefined) {
+ // to determine the Accept header
+ const httpHeaderAccepts: string[] = [
+ ];
+ 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/fieldData/delete/${this.configuration.encodeParam({name: "fieldDataID", value: fieldDataID, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}`;
+ return this.httpClient.request('delete', `${this.configuration.basePath}${localVarPath}`,
+ {
+ context: localVarHttpContext,
+ responseType: responseType_,
+ withCredentials: this.configuration.withCredentials,
+ headers: localVarHeaders,
+ observe: observe,
+ reportProgress: reportProgress
+ }
+ );
+ }
+
+ /**
+ * Get all of the ids used to identify, and retrieve field data.
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+ * @param reportProgress flag to report request and response progress.
+ */
+ public getAllFieldDataIDs(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;
+ public getAllFieldDataIDs(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;
+ public getAllFieldDataIDs(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>>;
+ public getAllFieldDataIDs(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/fieldData/IDs`;
+ return this.httpClient.request>('get', `${this.configuration.basePath}${localVarPath}`,
+ {
+ context: localVarHttpContext,
+ responseType: responseType_,
+ withCredentials: this.configuration.withCredentials,
+ headers: localVarHeaders,
+ observe: observe,
+ reportProgress: reportProgress
+ }
+ );
+ }
+
+ /**
+ * Get the shape of the field data. That is it\'s size, origin, extent, and data identifiers.
+ * @param fieldDataID
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
+ * @param reportProgress flag to report request and response progress.
+ */
+ public getFieldDataShapeFromID(fieldDataID: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable;
+ public getFieldDataShapeFromID(fieldDataID: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;
+ public getFieldDataShapeFromID(fieldDataID: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>;
+ public getFieldDataShapeFromID(fieldDataID: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable {
+ if (fieldDataID === null || fieldDataID === undefined) {
+ throw new Error('Required parameter fieldDataID was null or undefined when calling getFieldDataShapeFromID.');
+ }
+
+ 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/fieldData/fieldDataShape/${this.configuration.encodeParam({name: "fieldDataID", value: fieldDataID, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}`;
+ return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`,
+ {
+ context: localVarHttpContext,
+ responseType: responseType_,
+ withCredentials: this.configuration.withCredentials,
+ headers: localVarHeaders,
+ observe: observe,
+ reportProgress: reportProgress
+ }
+ );
+ }
+
+}
diff --git a/webapp-ng/src/app/core/modules/openapi/api/field-data-resource.serviceInterface.ts b/webapp-ng/src/app/core/modules/openapi/api/field-data-resource.serviceInterface.ts
new file mode 100644
index 0000000000..b613b85b23
--- /dev/null
+++ b/webapp-ng/src/app/core/modules/openapi/api/field-data-resource.serviceInterface.ts
@@ -0,0 +1,65 @@
+/**
+ * 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 { HttpHeaders } from '@angular/common/http';
+
+import { Observable } from 'rxjs';
+
+import { AnalyzedResultsFromFieldData } from '../model/models';
+import { FieldDataReference } from '../model/models';
+import { FieldDataSaveResults } from '../model/models';
+import { FieldDataShape } from '../model/models';
+
+
+import { Configuration } from '../configuration';
+
+
+
+export interface FieldDataResourceServiceInterface {
+ defaultHeaders: HttpHeaders;
+ configuration: Configuration;
+
+ /**
+ * Analyze the field data from the uploaded file. Filenames must be lowercase alphanumeric, and can contain underscores.
+ *
+ * @param file
+ * @param fileName
+ */
+ analyzeFieldDataFile(file?: Blob, fileName?: string, extraHttpRequestParams?: any): Observable;
+
+ /**
+ * Take the analyzed results of the field data, modify it to your liking, then save it on the server.
+ *
+ * @param analyzedResultsFromFieldData
+ */
+ createFieldDataFromAnalyzedFile(analyzedResultsFromFieldData?: AnalyzedResultsFromFieldData, extraHttpRequestParams?: any): Observable;
+
+ /**
+ * Delete the selected field data.
+ *
+ * @param fieldDataID
+ */
+ deleteFieldData(fieldDataID: string, extraHttpRequestParams?: any): Observable<{}>;
+
+ /**
+ * Get all of the ids used to identify, and retrieve field data.
+ *
+ */
+ getAllFieldDataIDs(extraHttpRequestParams?: any): Observable>;
+
+ /**
+ * Get the shape of the field data. That is it\'s size, origin, extent, and data identifiers.
+ *
+ * @param fieldDataID
+ */
+ getFieldDataShapeFromID(fieldDataID: string, extraHttpRequestParams?: any): Observable;
+
+}
diff --git a/webapp-ng/src/app/core/modules/openapi/model/analyzed-results-from-field-data.ts b/webapp-ng/src/app/core/modules/openapi/model/analyzed-results-from-field-data.ts
new file mode 100644
index 0000000000..a4d70ab31a
--- /dev/null
+++ b/webapp-ng/src/app/core/modules/openapi/model/analyzed-results-from-field-data.ts
@@ -0,0 +1,27 @@
+/**
+ * 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 { Origin } from './origin';
+import { Extent } from './extent';
+import { ISize } from './i-size';
+
+
+export interface AnalyzedResultsFromFieldData {
+ shortSpecData?: Array>>;
+ varNames?: Array;
+ times?: Array;
+ origin?: Origin;
+ extent?: Extent;
+ isize?: ISize;
+ annotation?: string;
+ name?: string;
+}
+
diff --git a/webapp-ng/src/app/core/modules/openapi/model/override-representation.ts b/webapp-ng/src/app/core/modules/openapi/model/data-identifier.ts
similarity index 53%
rename from webapp-ng/src/app/core/modules/openapi/model/override-representation.ts
rename to webapp-ng/src/app/core/modules/openapi/model/data-identifier.ts
index 645bfe7ceb..f800f3169a 100644
--- a/webapp-ng/src/app/core/modules/openapi/model/override-representation.ts
+++ b/webapp-ng/src/app/core/modules/openapi/model/data-identifier.ts
@@ -9,13 +9,17 @@
* https://openapi-generator.tech
* Do not edit the class manually.
*/
+import { VariableType } from './variable-type';
+import { Domain } from './domain';
-export interface OverrideRepresentation {
+export interface DataIdentifier {
name?: string;
- type?: string;
- expression?: string;
- values?: Array;
- cardinality?: number;
+ displayName?: string;
+ variableType?: VariableType;
+ domain?: Domain;
+ bFunction?: boolean;
+ _function?: boolean;
+ visible?: boolean;
}
diff --git a/webapp-ng/src/app/core/modules/openapi/model/simulation.ts b/webapp-ng/src/app/core/modules/openapi/model/domain.ts
similarity index 90%
rename from webapp-ng/src/app/core/modules/openapi/model/simulation.ts
rename to webapp-ng/src/app/core/modules/openapi/model/domain.ts
index 99214ce7c9..e2aafb28e5 100644
--- a/webapp-ng/src/app/core/modules/openapi/model/simulation.ts
+++ b/webapp-ng/src/app/core/modules/openapi/model/domain.ts
@@ -11,7 +11,7 @@
*/
-export interface Simulation {
+export interface Domain {
name?: string;
}
diff --git a/webapp-ng/src/app/core/modules/openapi/model/map-user.ts b/webapp-ng/src/app/core/modules/openapi/model/extent.ts
similarity index 79%
rename from webapp-ng/src/app/core/modules/openapi/model/map-user.ts
rename to webapp-ng/src/app/core/modules/openapi/model/extent.ts
index 3338008938..1864fed60b 100644
--- a/webapp-ng/src/app/core/modules/openapi/model/map-user.ts
+++ b/webapp-ng/src/app/core/modules/openapi/model/extent.ts
@@ -11,8 +11,9 @@
*/
-export interface MapUser {
- userID?: string;
- password?: string;
+export interface Extent {
+ x?: number;
+ y?: number;
+ z?: number;
}
diff --git a/webapp-ng/src/app/core/modules/openapi/model/user1.ts b/webapp-ng/src/app/core/modules/openapi/model/external-data-identifier.ts
similarity index 64%
rename from webapp-ng/src/app/core/modules/openapi/model/user1.ts
rename to webapp-ng/src/app/core/modules/openapi/model/external-data-identifier.ts
index e9b8b4a4e8..8cc2e19db5 100644
--- a/webapp-ng/src/app/core/modules/openapi/model/user1.ts
+++ b/webapp-ng/src/app/core/modules/openapi/model/external-data-identifier.ts
@@ -10,14 +10,16 @@
* Do not edit the class manually.
*/
import { KeyValue } from './key-value';
+import { User } from './user';
-export interface User1 {
- userName?: string;
+export interface ExternalDataIdentifier {
key?: KeyValue;
- iD?: KeyValue;
+ owner?: User;
name?: string;
- publisher?: boolean;
- testAccount?: boolean;
+ jobIndex?: number;
+ simulationKey?: KeyValue;
+ parameterScanType?: boolean;
+ dataKey?: KeyValue;
}
diff --git a/webapp-ng/src/app/core/modules/openapi/model/access-token-representation.ts b/webapp-ng/src/app/core/modules/openapi/model/field-data-reference.ts
similarity index 50%
rename from webapp-ng/src/app/core/modules/openapi/model/access-token-representation.ts
rename to webapp-ng/src/app/core/modules/openapi/model/field-data-reference.ts
index 7f0dfbb6da..61aa0cd6c6 100644
--- a/webapp-ng/src/app/core/modules/openapi/model/access-token-representation.ts
+++ b/webapp-ng/src/app/core/modules/openapi/model/field-data-reference.ts
@@ -9,13 +9,13 @@
* https://openapi-generator.tech
* Do not edit the class manually.
*/
+import { KeyValue } from './key-value';
+import { ExternalDataIdentifier } from './external-data-identifier';
-export interface AccessTokenRepresentation {
- token?: string;
- creationDateSeconds?: number;
- expireDateSeconds?: number;
- userId?: string;
- userKey?: string;
+export interface FieldDataReference {
+ externalDataIdentifier?: ExternalDataIdentifier;
+ externalDataAnnotation?: string;
+ externalDataIDSimRefs?: Array;
}
diff --git a/webapp-ng/src/app/core/modules/openapi/model/user-identity.ts b/webapp-ng/src/app/core/modules/openapi/model/field-data-save-results.ts
similarity index 70%
rename from webapp-ng/src/app/core/modules/openapi/model/user-identity.ts
rename to webapp-ng/src/app/core/modules/openapi/model/field-data-save-results.ts
index 92f489448e..1d19ff47e7 100644
--- a/webapp-ng/src/app/core/modules/openapi/model/user-identity.ts
+++ b/webapp-ng/src/app/core/modules/openapi/model/field-data-save-results.ts
@@ -11,10 +11,8 @@
*/
-export interface UserIdentity {
- id?: number;
- userName?: string;
- subject?: string;
- insertDate?: string;
+export interface FieldDataSaveResults {
+ fieldDataName?: string;
+ fieldDataID?: string;
}
diff --git a/webapp-ng/src/app/core/modules/openapi/model/field-data-shape.ts b/webapp-ng/src/app/core/modules/openapi/model/field-data-shape.ts
new file mode 100644
index 0000000000..00b95546a1
--- /dev/null
+++ b/webapp-ng/src/app/core/modules/openapi/model/field-data-shape.ts
@@ -0,0 +1,25 @@
+/**
+ * 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 { Origin } from './origin';
+import { DataIdentifier } from './data-identifier';
+import { Extent } from './extent';
+import { ISize } from './i-size';
+
+
+export interface FieldDataShape {
+ extent?: Extent;
+ origin?: Origin;
+ isize?: ISize;
+ dataIdentifier?: Array;
+ times?: Array;
+}
+
diff --git a/webapp-ng/src/app/core/modules/openapi/model/v-cell-server-id.ts b/webapp-ng/src/app/core/modules/openapi/model/i-size.ts
similarity index 79%
rename from webapp-ng/src/app/core/modules/openapi/model/v-cell-server-id.ts
rename to webapp-ng/src/app/core/modules/openapi/model/i-size.ts
index 4fcf42ebdb..8a4749dd5a 100644
--- a/webapp-ng/src/app/core/modules/openapi/model/v-cell-server-id.ts
+++ b/webapp-ng/src/app/core/modules/openapi/model/i-size.ts
@@ -11,7 +11,9 @@
*/
-export interface VCellServerID {
- serverID?: string;
+export interface ISize {
+ x?: number;
+ y?: number;
+ z?: number;
}
diff --git a/webapp-ng/src/app/core/modules/openapi/model/identity-provider.ts b/webapp-ng/src/app/core/modules/openapi/model/identity-provider.ts
deleted file mode 100644
index 3a69667da1..0000000000
--- a/webapp-ng/src/app/core/modules/openapi/model/identity-provider.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * 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.
- */
-
-
-export type IdentityProvider = 'AUTH0' | 'KEYCLOAK';
-
-export const IdentityProvider = {
- Auth0: 'AUTH0' as IdentityProvider,
- Keycloak: 'KEYCLOAK' as IdentityProvider
-};
-
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 a0a82b95fe..fb8ebc5c35 100644
--- a/webapp-ng/src/app/core/modules/openapi/model/models.ts
+++ b/webapp-ng/src/app/core/modules/openapi/model/models.ts
@@ -1,13 +1,23 @@
export * from './acces-token-representation-record';
+export * from './analyzed-results-from-field-data';
export * from './batch-system-type';
export * from './bio-model';
export * from './biomodel-ref';
+export * from './data-identifier';
export * from './detailed-state';
+export * from './domain';
+export * from './extent';
+export * from './external-data-identifier';
+export * from './field-data-reference';
+export * from './field-data-save-results';
+export * from './field-data-shape';
export * from './hello-world-message';
export * from './htc-job-id';
+export * from './i-size';
export * from './identity';
export * from './key-value';
export * from './mathmodel-ref';
+export * from './origin';
export * from './publication';
export * from './scheduler-status';
export * from './simulation-execution-status-record';
@@ -23,3 +33,5 @@ export * from './user-identity-json-safe';
export * from './user-login-info-for-mapping';
export * from './user-registration-info';
export * from './vc-simulation-identifier';
+export * from './variable-domain';
+export * from './variable-type';
diff --git a/webapp-ng/src/app/core/modules/openapi/model/origin.ts b/webapp-ng/src/app/core/modules/openapi/model/origin.ts
new file mode 100644
index 0000000000..0ec5468b44
--- /dev/null
+++ b/webapp-ng/src/app/core/modules/openapi/model/origin.ts
@@ -0,0 +1,19 @@
+/**
+ * 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.
+ */
+
+
+export interface Origin {
+ x?: number;
+ y?: number;
+ z?: number;
+}
+
diff --git a/webapp-ng/src/app/core/modules/openapi/model/simulation-execution-status.ts b/webapp-ng/src/app/core/modules/openapi/model/simulation-execution-status.ts
deleted file mode 100644
index a219c89670..0000000000
--- a/webapp-ng/src/app/core/modules/openapi/model/simulation-execution-status.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * 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 { HtcJobID } from './htc-job-id';
-
-
-export interface SimulationExecutionStatus {
- fieldStartDate?: string;
- fieldLatestUpdateDate?: string;
- fieldEndDate?: string;
- fieldComputeHost?: string;
- fieldHasData?: boolean;
- fieldHtcJobID?: HtcJobID;
- computeHost?: string;
- endDate?: string;
- latestUpdateDate?: string;
- startDate?: string;
- htcJobID?: HtcJobID;
-}
-
diff --git a/webapp-ng/src/app/core/modules/openapi/model/simulation-job-status.ts b/webapp-ng/src/app/core/modules/openapi/model/simulation-job-status.ts
deleted file mode 100644
index 4ff18b5395..0000000000
--- a/webapp-ng/src/app/core/modules/openapi/model/simulation-job-status.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * 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 { SimulationExecutionStatus } from './simulation-execution-status';
-import { VCSimulationIdentifier } from './vc-simulation-identifier';
-import { SchedulerStatus } from './scheduler-status';
-import { VCellServerID } from './v-cell-server-id';
-import { SimulationMessage } from './simulation-message';
-import { SimulationQueueEntryStatus } from './simulation-queue-entry-status';
-
-
-export interface SimulationJobStatus {
- fieldTimeDateStamp?: string;
- fieldVCSimID?: VCSimulationIdentifier;
- fieldSubmitDate?: string;
- fieldSchedulerStatus?: SchedulerStatus;
- fieldTaskID?: number;
- fieldSimulationMessage?: SimulationMessage;
- fieldServerID?: VCellServerID;
- fieldJobIndex?: number;
- fieldSimulationQueueEntryStatus?: SimulationQueueEntryStatus;
- fieldSimulationExecutionStatus?: SimulationExecutionStatus;
- computeHost?: string;
- endDate?: string;
- jobIndex?: number;
- schedulerStatus?: SchedulerStatus;
- serverID?: VCellServerID;
- simulationExecutionStatus?: SimulationExecutionStatus;
- simulationQueueEntryStatus?: SimulationQueueEntryStatus;
- startDate?: string;
- simulationMessage?: SimulationMessage;
- submitDate?: string;
- taskID?: number;
- timeDateStamp?: string;
- vCSimulationIdentifier?: VCSimulationIdentifier;
-}
-export namespace SimulationJobStatus {
-}
-
-
diff --git a/webapp-ng/src/app/core/modules/openapi/model/simulation-queue-entry-status.ts b/webapp-ng/src/app/core/modules/openapi/model/simulation-queue-entry-status.ts
deleted file mode 100644
index 3bef98151e..0000000000
--- a/webapp-ng/src/app/core/modules/openapi/model/simulation-queue-entry-status.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * 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 { SimulationQueueID } from './simulation-queue-id';
-
-
-export interface SimulationQueueEntryStatus {
- fieldQueuePriority?: number;
- fieldQueueDate?: string;
- fieldQueueID?: SimulationQueueID;
- queueDate?: string;
- queueID?: SimulationQueueID;
- queuePriority?: number;
-}
-export namespace SimulationQueueEntryStatus {
-}
-
-
diff --git a/webapp-ng/src/app/core/modules/openapi/model/user.ts b/webapp-ng/src/app/core/modules/openapi/model/user.ts
index c15b7edcd6..eaf113a72d 100644
--- a/webapp-ng/src/app/core/modules/openapi/model/user.ts
+++ b/webapp-ng/src/app/core/modules/openapi/model/user.ts
@@ -15,7 +15,6 @@ import { KeyValue } from './key-value';
export interface User {
userName?: string;
key?: KeyValue;
- iD?: KeyValue;
name?: string;
testAccount?: boolean;
}
diff --git a/webapp-ng/src/app/core/modules/openapi/model/variable-domain.ts b/webapp-ng/src/app/core/modules/openapi/model/variable-domain.ts
new file mode 100644
index 0000000000..5893b2bc3e
--- /dev/null
+++ b/webapp-ng/src/app/core/modules/openapi/model/variable-domain.ts
@@ -0,0 +1,25 @@
+/**
+ * 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.
+ */
+
+
+export type VariableDomain = 'VARIABLEDOMAIN_POSTPROCESSING' | 'VARIABLEDOMAIN_UNKNOWN' | 'VARIABLEDOMAIN_VOLUME' | 'VARIABLEDOMAIN_MEMBRANE' | 'VARIABLEDOMAIN_CONTOUR' | 'VARIABLEDOMAIN_NONSPATIAL' | 'VARIABLEDOMAIN_POINT';
+
+export const VariableDomain = {
+ Postprocessing: 'VARIABLEDOMAIN_POSTPROCESSING' as VariableDomain,
+ Unknown: 'VARIABLEDOMAIN_UNKNOWN' as VariableDomain,
+ Volume: 'VARIABLEDOMAIN_VOLUME' as VariableDomain,
+ Membrane: 'VARIABLEDOMAIN_MEMBRANE' as VariableDomain,
+ Contour: 'VARIABLEDOMAIN_CONTOUR' as VariableDomain,
+ Nonspatial: 'VARIABLEDOMAIN_NONSPATIAL' as VariableDomain,
+ Point: 'VARIABLEDOMAIN_POINT' as VariableDomain
+};
+
diff --git a/webapp-ng/src/app/core/modules/openapi/model/variable-type.ts b/webapp-ng/src/app/core/modules/openapi/model/variable-type.ts
new file mode 100644
index 0000000000..7532cde48c
--- /dev/null
+++ b/webapp-ng/src/app/core/modules/openapi/model/variable-type.ts
@@ -0,0 +1,29 @@
+/**
+ * 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 { VariableDomain } from './variable-domain';
+
+
+export interface VariableType {
+ type?: number;
+ variableDomain?: VariableDomain;
+ name?: string;
+ units?: string;
+ label?: string;
+ legacyWarn?: boolean;
+ defaultLabel?: string;
+ defaultUnits?: string;
+ typeName?: string;
+}
+export namespace VariableType {
+}
+
+