Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Object store #1194

Merged
merged 565 commits into from
Feb 3, 2023
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
565 commits
Select commit Hold shift + click to select a range
00ae52f
Removed unused imports and refactored to use try-with-resources
deepsidhu85 Dec 4, 2020
ae30b26
Removed extra lines added, general refactoring
deepsidhu85 Dec 4, 2020
199c63e
Updated getting sistr results from output file to use inputstream rat…
deepsidhu85 Dec 4, 2020
7ad11d4
Merge branch 'development' into object-store
deepsidhu85 Dec 4, 2020
9c57da9
Merge branch 'add-loading-skeleton-to-analysis-outputs' into object-s…
deepsidhu85 Dec 4, 2020
215717b
Merge branch 'object-store' into object_store/_analysis-submissions
deepsidhu85 Dec 4, 2020
9a35360
Merge branch 'analysis-results-ui-updates' into object-store
deepsidhu85 Dec 4, 2020
1fef38a
Merge branch 'object-store' into object_store/_analysis-submissions
deepsidhu85 Dec 4, 2020
5cfee4f
Removed duplicate setting of setLoading to false
deepsidhu85 Dec 4, 2020
a4df754
Removed unused method and imports
deepsidhu85 Dec 7, 2020
7f222c3
Moved code block into a try with resources block so that the underlyi…
deepsidhu85 Dec 7, 2020
ed6ba57
Added logic to check if a connection to a cloud provider is successfu…
deepsidhu85 Dec 8, 2020
f4251d5
Merged dev and fixed merge conflicts
deepsidhu85 Dec 8, 2020
b805294
Merge branch 'object-store' into object_store/_connection-check-on-st…
deepsidhu85 Dec 8, 2020
9104af3
Merge branch 'object-store' into object_store/_analysis-submissions
deepsidhu85 Dec 8, 2020
470fda9
Added javadoc
deepsidhu85 Dec 8, 2020
8a4eb09
Merge branch 'development' into object-store
deepsidhu85 Dec 8, 2020
77c58e4
Merge branch 'object-store' into object_store/_connection-check-on-st…
deepsidhu85 Dec 8, 2020
12c2cd7
Merge branch 'object-store' into object_store/_analysis-submissions
deepsidhu85 Dec 8, 2020
c0feb6c
Merge branch 'object_store/_analysis-submissions' into object_store/_…
deepsidhu85 Dec 9, 2020
d18eeb0
Updated views to use a try with resources when getting an inputstream
deepsidhu85 Dec 9, 2020
8f1edbc
Added @throws to javadoc
deepsidhu85 Dec 9, 2020
ad89bd2
Updated to use storageexception rather than illegalstateexception. Up…
deepsidhu85 Dec 9, 2020
660e094
Changed illegalstateexception to storageexception as thats what the i…
deepsidhu85 Dec 10, 2020
e61f932
Added bean for storageType so we can use it wherever a storage type c…
deepsidhu85 Dec 10, 2020
97d24e6
Removed class variable not required. Updated logging statements
deepsidhu85 Dec 10, 2020
c73473d
Updated file models to getStorageType from IridaFiles which is set in…
deepsidhu85 Dec 10, 2020
3b6cbfb
Added missing javadcos
deepsidhu85 Dec 11, 2020
0708c26
Updated to clean up temp files downloaded to server from an object st…
deepsidhu85 Dec 16, 2020
3562cf7
Added overloaded method getTemporaryFile which accepts a path and pre…
deepsidhu85 Dec 17, 2020
e80234b
Updated getTemporary call with passing an 'analysis' prefix so we can…
deepsidhu85 Dec 17, 2020
3b937b1
Changed to check if storage type isn't local before attempting to cle…
deepsidhu85 Dec 17, 2020
b47ef80
Fixed formatting. Updated azure and aws file storage utilities to che…
deepsidhu85 Dec 17, 2020
90dd0c0
Removed unused imports
deepsidhu85 Dec 17, 2020
faf375d
Merged dev and fixed merge conflicts
deepsidhu85 Dec 21, 2020
f2418e1
Merge branch 'object-store' into object_store/_connection-check-on-st…
deepsidhu85 Dec 21, 2020
579625e
Merge branch 'object-store' into object_store/_analysis-submissions
deepsidhu85 Dec 21, 2020
892327b
Merge branch 'object_store/_analysis-submissions' into object_store/_…
deepsidhu85 Dec 21, 2020
d5d5580
Merge branch 'development' into object-store
deepsidhu85 Dec 24, 2020
15eb523
Merge branch 'object-store' into object_store/_connection-check-on-st…
deepsidhu85 Dec 24, 2020
a8bdc12
Merge branch 'object-store' into object_store/_analysis-submissions
deepsidhu85 Dec 24, 2020
08325f8
Merge branch 'object_store/_analysis-submissions' into object_store/_…
deepsidhu85 Dec 24, 2020
7c5c37d
Merged dev and fixed merge conflicts
deepsidhu85 Jan 6, 2021
2cb7200
Merge branch 'object-store' into object_store/_connection-check-on-st…
deepsidhu85 Jan 6, 2021
c77d79f
Merged object-store and fixed merge conflicts
deepsidhu85 Jan 6, 2021
d0ed00d
Merge branch 'object_store/_analysis-submissions' into object_store/_…
deepsidhu85 Jan 6, 2021
bba46eb
Merge branch 'development' into object-store
deepsidhu85 Jan 12, 2021
e512cef
Merge branch 'object-store' into object_store/_connection-check-on-st…
deepsidhu85 Jan 12, 2021
8b3e955
Merged object-store and fixed merge conflicts
deepsidhu85 Jan 12, 2021
3dfd57c
Merge branch 'object_store/_analysis-submissions' into object_store/_…
deepsidhu85 Jan 12, 2021
0ec6086
Merged dev and fixed merge conflicts
deepsidhu85 Jan 15, 2021
6df71e0
Merge branch 'object-store' into object_store/_connection-check-on-st…
deepsidhu85 Jan 15, 2021
0693df1
Merged object-store and fixed merge conflicts
deepsidhu85 Jan 15, 2021
09a6609
Merge branch 'object_store/_analysis-submissions' into object_store/_…
deepsidhu85 Jan 15, 2021
1374960
Merge pull request #886 from deepsidhu85/object_store/_connection-che…
tom114 Feb 2, 2021
6ba6ee1
Merge branch 'development' into object-store
deepsidhu85 Feb 2, 2021
067c76d
Merged object-store and fixed merge conflicts
deepsidhu85 Feb 2, 2021
12f946e
Merged object store analysis submissions and fixed merge conflicts
deepsidhu85 Feb 2, 2021
6ee8908
Updated sistr and bio hansel sample updaters to use an input stream t…
deepsidhu85 Feb 2, 2021
8f41ddc
Updated Sistr sample updater test expected condition
deepsidhu85 Feb 3, 2021
d05c73d
Removed unused imports
deepsidhu85 Feb 3, 2021
874f35c
Merge branch 'object_store/_analysis-submissions' into object_store/_…
deepsidhu85 Feb 3, 2021
40d9ef0
Refactored cleanup of temporary files used by a submission and the as…
deepsidhu85 Feb 12, 2021
1e58414
Updated to use storagetype when checking for storage type
deepsidhu85 Feb 12, 2021
eb2d3b4
Updated storage utility classes to contain storagetype as a property.…
deepsidhu85 Feb 19, 2021
c1fb8af
Updated biohansel and sistr sample updater tests to set the iridaFile…
deepsidhu85 Feb 19, 2021
282bab3
Added mock for analysisSubmissionTempFile to fix broken test
deepsidhu85 Feb 19, 2021
28c6030
Updated AnalysisSubmissionTempFile class to link to analysis submissi…
deepsidhu85 Feb 19, 2021
11a7a48
Fixed InvalidUseOfMatchers errors
deepsidhu85 Feb 19, 2021
aa11534
Updated tests and fixed javadoc param
deepsidhu85 Feb 22, 2021
fba505c
Updated tests
deepsidhu85 Feb 22, 2021
dab4245
Merged dev and fixed merge conflicts. Updated ui reference file servi…
deepsidhu85 Apr 14, 2021
22cac5a
Merged object-store base branch and fixed merge conflicts
deepsidhu85 Apr 14, 2021
e6ae78b
Removed duplicate saving of referencefile. Removed unused import
deepsidhu85 Apr 14, 2021
5c11469
Merge branch 'object-store' into object_store/_analysis-submissions
deepsidhu85 Apr 14, 2021
93b0401
Updated to use iridafilestorageutility to get file size bytes as the …
deepsidhu85 Apr 14, 2021
a0deb3b
Updated test to not check if referenceFileRepository.save is called a…
deepsidhu85 Apr 15, 2021
8cfa8a6
Merge branch 'object-store' into object_store/_analysis-submissions
deepsidhu85 Apr 15, 2021
a4f2f93
Merged dev and fixed merge conflict
deepsidhu85 Apr 16, 2021
cca9f04
Merge branch 'object-store' into object_store/_analysis-submissions
deepsidhu85 Apr 16, 2021
8b371cc
Merged analysis submissions branch and fixed merge conflicts
deepsidhu85 Apr 19, 2021
a697977
Readded accidentally removed getStorageType method
deepsidhu85 Apr 19, 2021
7085dc2
Updated to set datastorage to remote if using an object store otherwi…
deepsidhu85 Apr 20, 2021
e61b5fd
Updated to remove permissions required for galaxy to read files as we…
deepsidhu85 Apr 26, 2021
70b13b0
Updated setting of file size for reference file
deepsidhu85 Apr 26, 2021
46483f3
Merge branch 'development' into object-store
deepsidhu85 Apr 26, 2021
10baf40
Merge branch 'object-store' into object_store/_analysis-submissions
deepsidhu85 Apr 26, 2021
e637589
Merge branch 'object_store/_analysis-submissions' into object_store/_…
deepsidhu85 Apr 26, 2021
d6922e6
Removed unused imports
deepsidhu85 Apr 26, 2021
0dbbbc4
Merge branch 'object_store/_analysis-submissions' into object_store/_…
deepsidhu85 Apr 26, 2021
4bd005c
Removed iridaFileStorageUtility autowiring from GalaxyHistoriesServic…
deepsidhu85 Apr 27, 2021
33da264
Updated azure file storage utility to download files directly rather …
deepsidhu85 Apr 27, 2021
d6a11c2
Removed analysisSubmissionTempFile repository and table as they are n…
deepsidhu85 Apr 28, 2021
baf09d7
Merge branch 'object_store/_analysis-submissions' into object_store/_…
deepsidhu85 Apr 28, 2021
fdc5ee2
Merge branch 'development' into object-store
deepsidhu85 May 17, 2021
57b1618
Merge branch 'object-store' into object_store/_analysis-submissions
deepsidhu85 May 17, 2021
8a40188
Merge branch 'object_store/_analysis-submissions' into object_store/_…
deepsidhu85 May 17, 2021
de1a3db
Merged dev and fixed merge conflicts
deepsidhu85 May 18, 2021
78eb419
Merge branch 'object-store' into object_store/_analysis-submissions
deepsidhu85 May 18, 2021
a3bc4e4
Merge branch 'object_store/_analysis-submissions' into object_store/_…
deepsidhu85 May 18, 2021
b45f194
Merge branch 'development' into object-store
deepsidhu85 May 20, 2021
da59fd2
Merge branch 'object-store' into object_store/_analysis-submissions
deepsidhu85 May 20, 2021
1615712
Merge branch 'object_store/_analysis-submissions' into object_store/_…
deepsidhu85 May 20, 2021
50d4f4f
Removed unused variables, fixed formatting, removed StorageType logic…
deepsidhu85 Jul 12, 2021
5579950
Updated logic to cleanup a list of iridatemporaryfiles. Added try/cat…
deepsidhu85 Jul 14, 2021
ed32951
Moved logic into try/finally block so temp files get cleared even if …
deepsidhu85 Jul 15, 2021
9e2ce84
Removed unused import and updated javadoc
deepsidhu85 Jul 15, 2021
1d083a5
Updated to store exception messages in a list and once the for loop i…
deepsidhu85 Jul 16, 2021
035af4e
Updated chromedriver version
deepsidhu85 Aug 9, 2021
57ffc59
Merge branch 'object-store' into object_store/_analysis-submissions
deepsidhu85 Aug 9, 2021
84b120f
Merge branch 'object_store/_analysis-submissions' into object_store/_…
deepsidhu85 Aug 9, 2021
b4d5166
Merged dev and fixed merge conflicts
deepsidhu85 Aug 10, 2021
bf8e159
Merged object store base branch and fixed merge conflict
deepsidhu85 Aug 10, 2021
cd9e136
Merged analysis submissions branch and fixed merge conflicts. Added b…
deepsidhu85 Aug 10, 2021
2219d34
Added StorageType attribute back into irida file storage utilities as…
deepsidhu85 Aug 10, 2021
db0fc89
Fixed bug with incorrect files being uploaded into galaxy due to an …
deepsidhu85 Aug 24, 2021
3c3c748
Updated azure-storage-blob to latest stable version
deepsidhu85 Aug 25, 2021
886e8ce
Simplified getting of upload identifier from galaxy
deepsidhu85 Aug 25, 2021
44bd1cd
Updated getting of file size for a cloud file on pipeline page
deepsidhu85 Aug 25, 2021
9f8363a
Updated to use getFileSize method within the ReferenceFile object
deepsidhu85 Aug 25, 2021
061e116
Updated logic to log an error if a referencefile file cannot be found…
deepsidhu85 Aug 25, 2021
387100e
Merge pull request #762 from deepsidhu85/object_store/_analysis-submi…
tom114 Aug 27, 2021
b7ba552
Merge branch 'object-store' into object_store/_rest-api
deepsidhu85 Aug 27, 2021
a256989
Updated try-with-resources blocks to include outputstream for the vie…
deepsidhu85 Sep 13, 2021
53eba47
Updated failing test
deepsidhu85 Sep 13, 2021
909182c
Removed unused imports
deepsidhu85 Sep 13, 2021
6a0a70c
Merged dev and fixed merge conflicts
deepsidhu85 Oct 26, 2021
4b4efd5
Merged base object-store branch and fixed merge conflicts
deepsidhu85 Oct 26, 2021
52f90ce
Fixed broken test
deepsidhu85 Oct 27, 2021
f84c713
updated getAnalysisOutputFileContents method to return inputstream to…
deepsidhu85 Oct 27, 2021
3d9c99b
Merged dev and fixed merge conflicts
deepsidhu85 Feb 8, 2022
c5f1029
Fixed test error
deepsidhu85 Feb 8, 2022
614b67e
Removed unused imports
deepsidhu85 Feb 8, 2022
e5bf7d8
Merged object-store base branch and fixed merge conflict
deepsidhu85 Feb 8, 2022
f648d5f
Fixed test
deepsidhu85 Feb 8, 2022
96fe4d0
Merged dev and fixed merge conflicts
deepsidhu85 Feb 10, 2022
be9fdee
Merge branch 'object-store' into object_store/_rest-api
deepsidhu85 Feb 10, 2022
0ad4610
Updated htmloutput to use iridafilestorageutility. Moved readchunk fr…
deepsidhu85 Feb 10, 2022
8ee8d89
Removed setting of user and authentication as it is already done in b…
deepsidhu85 Feb 10, 2022
48e3469
Added column to sequence file to store location of file (local, azure…
deepsidhu85 Feb 19, 2022
8f610b7
Added storage type to genome and uploaded assembly, reference file, a…
deepsidhu85 Feb 19, 2022
69977b2
Merged dev and fixed merge conflicts
deepsidhu85 Apr 6, 2022
1ba93e5
Merged object-store and fixed merge conflicts
deepsidhu85 Apr 6, 2022
4763278
Merge branch 'development' into object-store
deepsidhu85 Apr 21, 2022
c91f2e7
Merge branch 'object-store' into object_store/_rest-api
deepsidhu85 Apr 21, 2022
21f9030
Fixed null pointer test errors
deepsidhu85 Apr 21, 2022
03c3b7a
Moved changeset for this branch into a RENAME_WHEN_READY directory
deepsidhu85 Apr 21, 2022
34a39a6
Merge branch 'development' into object-store
deepsidhu85 Apr 30, 2022
be0bbe9
Merged object-store and fixed merge conflicts
deepsidhu85 Apr 30, 2022
73d5b6c
Fixed null pointer
deepsidhu85 May 2, 2022
b1aa6d4
Merged dev and fixed merge conflicts
deepsidhu85 May 3, 2022
858531f
Merged object store and fixed merge conflicts
deepsidhu85 May 3, 2022
2cde576
Merge pull request #768 from deepsidhu85/object_store/_rest-api
ericenns Jul 25, 2022
d357b3e
Merged dev and fixed merge conflicts
deepsidhu85 Jul 26, 2022
d099f3d
Fixed translation
deepsidhu85 Jul 26, 2022
22d8ed4
Updated package to latest version
deepsidhu85 Jul 28, 2022
6e8be39
Merge branch 'development' into object-store
deepsidhu85 Aug 18, 2022
73150ff
Merge branch 'object-store' into object_store/_update-azure
deepsidhu85 Aug 18, 2022
b4ab4c6
Merge pull request #1355 from deepsidhu85/object_store/_update-azure
ericenns Sep 1, 2022
ee6c2a3
Merge branch 'development' into object-store
deepsidhu85 Sep 1, 2022
32b1eb6
Merge branch 'development' into object-store
deepsidhu85 Sep 27, 2022
12a2354
Removed dependency no longer required
deepsidhu85 Sep 27, 2022
3094c72
Reverting change to pushed up file and pushing up gradle file with re…
deepsidhu85 Sep 27, 2022
54091fe
Merged dev and fixed merge conflicts
deepsidhu85 Oct 7, 2022
40e9d36
Merged dev and fixed merge conflict
deepsidhu85 Oct 7, 2022
8d2cb87
Merged dev and fixed merge conflicts
deepsidhu85 Oct 7, 2022
7bc3d10
Merged dev and fixed merge conflicts
deepsidhu85 Oct 11, 2022
94700e8
Updated AnalysisBioHansel logic. Updated db files
deepsidhu85 Oct 11, 2022
1f48f87
Updated sample concatenation UI to better support object storage (loa…
deepsidhu85 Oct 11, 2022
4473f13
Removed logging statement
deepsidhu85 Oct 11, 2022
758c84b
Updated to destructure data
deepsidhu85 Oct 11, 2022
194cb19
Updated file upload progress display to stay visible till the file ha…
deepsidhu85 Oct 11, 2022
4821668
Added testing for azure file storage utility and added azurite servic…
deepsidhu85 Oct 21, 2022
d0b10af
Updated to use variables for commonly used values
deepsidhu85 Oct 21, 2022
8e14d57
Added tests for appending a file and getting the common file extensio…
deepsidhu85 Oct 21, 2022
d70a3d8
Adding adobe s3mock docker container to ci config
deepsidhu85 Oct 21, 2022
e44b854
Updated to run docker container in background
deepsidhu85 Oct 21, 2022
06f06d6
Added testing for aws s3 (checkwriteaccess and readchunk still need t…
deepsidhu85 Oct 25, 2022
de32e16
Added test for writing file to aws s3 bucket
deepsidhu85 Oct 25, 2022
69447d2
Updated irida aws storage utility -> readchunk method and added test …
deepsidhu85 Oct 26, 2022
be433a8
Updated checkWriteAccess for aws bucket to check if we are able to re…
deepsidhu85 Oct 26, 2022
5908c72
Updated setup and teardown to be static so they are only run once for…
deepsidhu85 Oct 26, 2022
7b7066d
Updated to use beforeall and afterall so that the setup and teardown …
deepsidhu85 Oct 26, 2022
2f71c36
Fixed assert equals so the expected value comes first
deepsidhu85 Oct 27, 2022
58f3f97
Fixed assert equals so the expected value comes first
deepsidhu85 Oct 27, 2022
9d35f3d
Fixed missed assertequals so the expected value comes first
deepsidhu85 Oct 27, 2022
7241109
Updated to use a static const for endpoint url and bucket region
deepsidhu85 Oct 27, 2022
53a06ca
Updated test class so all blobs and container are deleted on teardown
deepsidhu85 Oct 27, 2022
5f9d3d9
Updated concatenation modal to test for disabled/enabled concatenate …
deepsidhu85 Oct 28, 2022
b06f513
Added docs on how to setup IRIDA with cloud storage
deepsidhu85 Oct 31, 2022
0987408
Added missing configuration value
deepsidhu85 Oct 31, 2022
8e357dc
Updated to integration test
deepsidhu85 Oct 31, 2022
b477e29
Moved if statement into azurite service
deepsidhu85 Oct 31, 2022
6fd5102
Moved starting of azurite from service into step
deepsidhu85 Oct 31, 2022
ee24cd3
Updated to run azurite in background and updated if statement
deepsidhu85 Oct 31, 2022
cc0110f
Updated run-tests file to test file system
deepsidhu85 Oct 31, 2022
9b88836
Added logging message for starting/finishing of tests
deepsidhu85 Oct 31, 2022
91db799
Fixed run-tests to actually run the file system tests
deepsidhu85 Oct 31, 2022
7808236
Updated tag
deepsidhu85 Oct 31, 2022
fb412f1
Removed space in tag name, updated run-sh all tests to include filesy…
deepsidhu85 Oct 31, 2022
9605820
Updated to not run file system tests for all tags other than filesystem
deepsidhu85 Oct 31, 2022
21b86bb
Removed not FileSystem from tags
deepsidhu85 Oct 31, 2022
73da31c
Readded annotations accidentally remove in a previous commit
deepsidhu85 Oct 31, 2022
985616e
Updated to be an integration test
deepsidhu85 Oct 31, 2022
7053209
Updated to start and kill docker container for filesystem tests
deepsidhu85 Oct 31, 2022
2fc03df
Removed commented out service
deepsidhu85 Oct 31, 2022
66d7037
Updated to start and kill docker container for filesystem tests
deepsidhu85 Oct 31, 2022
5b83d35
Removed starting up of docker container for azurite from the ci-test …
deepsidhu85 Nov 1, 2022
8090834
Changed azurite docker container name
deepsidhu85 Nov 1, 2022
562450b
Removed file no longer used
deepsidhu85 Nov 1, 2022
04f38c6
Changed s3 mock docker container name. Removed starting of s3Mock doc…
deepsidhu85 Nov 1, 2022
e0b78ee
Merge pull request #1384 from deepsidhu85/object_store/_azure-testing
ericenns Nov 2, 2022
4408138
Merged dev and fixed merge conflicts
deepsidhu85 Dec 5, 2022
c8b1d77
Merged object store base branch and fixed merge conflicts
deepsidhu85 Dec 5, 2022
0c9175a
Updated test to use bucket acl permissions if they exist otherwise us…
deepsidhu85 Dec 5, 2022
52e42e9
Removed duplicate execution of filesystem tests
deepsidhu85 Dec 7, 2022
fe47efc
Merge pull request #1388 from deepsidhu85/object_store/_aws_testing
ericenns Dec 7, 2022
7715ead
Merged object-store and fixed merge conflicts
deepsidhu85 Dec 7, 2022
2c94eb7
Refactored code to make use of createapi for sample concatenation and…
deepsidhu85 Dec 14, 2022
b8aa0ba
Merge pull request #1391 from deepsidhu85/object_store/_ui-fixes
ericenns Dec 14, 2022
d5c5b1b
Merge branch 'object-store' into object_store/_docs
deepsidhu85 Dec 14, 2022
a8969ef
Removed jsonignore annotation to send file size in bytes to response
deepsidhu85 Jan 3, 2023
885ebac
Merge pull request #1442 from deepsidhu85/object_store/_add-filesize-…
ericenns Jan 11, 2023
3fe8391
Removed storage_type from database, models
deepsidhu85 Jan 11, 2023
aef69c5
Fixed file formatting
deepsidhu85 Jan 11, 2023
b97aba6
Merge branch 'development' into object-store
deepsidhu85 Jan 11, 2023
1c4e1a2
Merge branch 'object-store' into object_store/_remove-storage-type
deepsidhu85 Jan 11, 2023
bc80beb
Merge branch 'development' into object-store
deepsidhu85 Jan 13, 2023
ba7c925
Merge branch 'object-store' into object_store/_remove-storage-type
deepsidhu85 Jan 13, 2023
b68ba94
Merge pull request #1443 from deepsidhu85/object_store/_remove-storag…
ericenns Jan 16, 2023
c90e804
Merge branch 'object-store' into object_store/_docs
deepsidhu85 Jan 16, 2023
4ea5439
Merged dev and fixed merge conflicts
deepsidhu85 Jan 23, 2023
cd8b6b3
Fixed checkstyle caught issues
deepsidhu85 Jan 23, 2023
086afd4
Fixed eslint errors/warnings
deepsidhu85 Jan 25, 2023
c964408
Reverted changes to useeffect and added eslint ignore rule for next line
deepsidhu85 Jan 25, 2023
7f8cc07
Moved elint disable next line to before dependency array
deepsidhu85 Jan 25, 2023
132d05e
Added missing dependency
deepsidhu85 Jan 25, 2023
4f0b16b
Merge branch 'object-store' into object_store/_docs
deepsidhu85 Jan 25, 2023
0f1e397
Added docs for azurite
deepsidhu85 Jan 25, 2023
df839a2
Updated docs with cloud based storage instructions
deepsidhu85 Jan 26, 2023
ce0ed12
Merged dev and fixed merge conflicts
deepsidhu85 Jan 26, 2023
a1339c3
Merge branch 'object-store' into object_store/_docs
deepsidhu85 Jan 26, 2023
63f244b
Merge pull request #1394 from deepsidhu85/object_store/_docs
ericenns Jan 27, 2023
d97929b
Merge branch 'development' into object-store
deepsidhu85 Jan 27, 2023
4131b5b
Updated CHANGELOG
deepsidhu85 Jan 27, 2023
01a5195
Merged dev and fixed merge conflicts
deepsidhu85 Jan 27, 2023
152ba86
Updated SampleFiles component functions to use react.usecallback, rem…
deepsidhu85 Feb 1, 2023
2ce34ab
Merged dev and fixed merge conflicts
deepsidhu85 Feb 3, 2023
2f9ab7c
Fixed checkstyle errors. Updated linting file
deepsidhu85 Feb 3, 2023
4e23959
Fixed whitespace checkstyle error
deepsidhu85 Feb 3, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/ci-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ jobs:
"galaxy_testing",
"galaxy_pipeline_testing",
"open_api_testing",
"file_system_testing",
]

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,6 @@ jobs:
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-review
fail_error: true
fail_on_error: true
level: error
checkstyle_config: './checkstyle.xml'
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
* [Developer]: Replaced Apache OLTU with Nimbusds for performing OAuth2 authentication flow during syncing and Galaxy exporting. See [PR 1432](https://github.com/phac-nml/irida/pull/1432)
* [Developer/UI]: Performance enhancements to the metadata uploader. See [PR 1445](https://github.com/phac-nml/irida/pull/1445).
* [Developer/UI]: Fix for updating sample modified date when metadata is deleted. See [PR 1457](https://github.com/phac-nml/irida/pull/1457).
* [Developer]: Added support for cloud based storage. Currently, Microsoft Azure Blob and Amazon AWS S3 are supported. [See PR 1194](https://github.com/phac-nml/irida/pull/1194)

## [22.09.7] - 2022/01/24
* [UI]: Fixed bugs on NCBI Export page preventing the NCBI `submission.xml` file from being properly written. See [PR 1451](https://github.com/phac-nml/irida/pull/1451)
Expand Down
15 changes: 15 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,17 @@ dependencies {
exclude(group = "jakarta.validation", module = "jakarta.validation-api")
}

// Microsoft Azure
implementation("com.azure:azure-storage-blob:12.18.0") {
exclude(group = "jakarta.xml.bind", module = "jakarta.xml.bind-api")
exclude(group = "jakarta.activation", module = "jakarta.activation-api")
}

// Amazon AWS
implementation("com.amazonaws:aws-java-sdk-s3:1.12.326") {
exclude(group = "commons-logging", module = "commons-logging")
}

// Customized fastqc
implementation(files("${projectDir}/lib/jbzip2-0.9.jar"))
implementation(files("${projectDir}/lib/sam-1.103.jar"))
Expand Down Expand Up @@ -401,6 +412,10 @@ val integrationTestsMap = mapOf(
"tags" to "IntegrationTest & Galaxy & Pipeline",
"excludeListeners" to "ca.corefacility.bioinformatics.irida.junit5.listeners.*"
),
"fileSystem" to mapOf(
"tags" to "IntegrationTest & FileSystem",
"excludeListeners" to "ca.corefacility.bioinformatics.irida.junit5.listeners.*"
),
)

integrationTestsMap.forEach {
Expand Down
22 changes: 22 additions & 0 deletions doc/administrator/galaxy/cleanup/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,25 @@ Once this script is installed, it can be scheduled to run periodically by adding
This will clean up any **deleted** files every day at 2:00 am. Log files will be stored in `galaxy/galaxy_cleanup.log` and `galaxy/cleanup_datasets/*.log`.

For more information please see the [Purging Histories and Datasets](https://galaxyproject.org/admin/config/performance/purge-histories-and-datasets/) document. ***Note: the metadata about each analysis will still be stored and available in Galaxy, but the data file contents will be permanently removed.***

# Cleaning up temporary files

When using Galaxy with an IRIDA instance which is using cloud based storage (Azure, AWS, etc) for example, files are uploaded from IRIDA instead of linking to them since the files are stored in the cloud and not on a shared filesystem. Since these files are uploaded to Galaxy it is a good idea to clean these files up. An example script that can be used to clean these files up is provided below:

```bash
#!/bin/bash

GALAXY_ROOT_DIR=/path/to/galaxy-dist
CLEANUP_LOG=$GALAXY_ROOT_DIR/irida_galaxy_tmp_files_cleanup.log
TMP_FILES_DIR=$GALAXY_ROOT_DIR/databases/tmp/
NUMBER_OF_DAYS_OLD=30

source $CONDA_ROOT/bin/activate galaxy

echo -e "\nBegin temporary file cleanup at `date`" >> $CLEANUP_LOG
find $TMP_FILES_DIR -mindepth 1 -mtime +$NUMBER_OF_DAYS_OLD -delete

echo -e "\nEnd temporary file cleanup at `date`" >> $CLEANUP_LOG
```

This can be added as a cleanup script which can be scheduled to run using cron.
4 changes: 2 additions & 2 deletions doc/administrator/galaxy/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,9 @@ The overall architecture of IRIDA and Galaxy is as follows:

![irida-galaxy.jpg][]

1. IRIDA manages all input files for a workflow. This includes sequencing reads, reference files, and the Galaxy workflow definition file. On execution of a workflow, references to these files are sent to a Galaxy instance using the [Galaxy API][]. It is assumed that these files exist on a file system shared between IRIDA and Galaxy.
1. IRIDA manages all input files for a workflow. This includes sequencing reads, reference files, and the Galaxy workflow definition file. On execution of a workflow, if using cloud based storage the files are uploaded to a Galaxy instance, otherwise references to these files are sent to a Galaxy instance, using the [Galaxy API][]. If using IRIDA with cloud based storage (Azure, AWS, etc) the files will be downloaded to the IRIDA server, then uploaded to Galaxy, otherwise it is assumed that these files exist on a file system shared between IRIDA and Galaxy.
2. All tools used by a workflow are assumed to have been installed in Galaxy during the setup of IRIDA. The Galaxy workflow is uploaded to Galaxy and the necessary tools are executed by Galaxy. Galaxy can be setup to either execute tools on a local machine, or submit jobs to a cluster.
3. Once the workflow execution is complete, a copy of the results are downloaded into IRIDA and stored in the shared filesystem.
3. Once the workflow execution is complete, a copy of the results are downloaded into IRIDA and stored in the shared filesystem or uploaded to the cloud based storage being used by IRIDA.

[Docker]: https://www.docker.com/
[irida-galaxy.jpg]: images/irida-galaxy.jpg
Expand Down
2 changes: 1 addition & 1 deletion doc/administrator/galaxy/setup/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ This document describes the necessary steps for installing and integrating [Gala
The following must be set up before proceeding with the installation.

1. A machine that has been set up to install Galaxy. This could be the same machine as the IRIDA web interface, or (recommended) a separate machine.
2. A shared filesystem has been set up between IRIDA and Galaxy. If Galaxy will be submitting to a compute cluster this filesystem must also be shared with the cluster.
2. A shared filesystem has been set up between IRIDA and Galaxy if using a local filesystem and not cloud based storage. If Galaxy will be submitting to a compute cluster this filesystem must also be shared with the cluster.

* this comment becomes the table of contents.
{:toc}
Expand Down
4 changes: 3 additions & 1 deletion doc/developer/getting-started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -199,9 +199,10 @@ Gradle will download all required dependencies and run the full suite of unit te
##### Integration tests
{:.no_toc}

IRIDA has 5 integration test tasks which splits the integration test suite into functional groups. This allows GitHub Actions to run the tests in parallel, and local test executions to only run the required portion of the test suite. The 5 tasks are the following:
IRIDA has 6 integration test tasks which splits the integration test suite into functional groups. This allows GitHub Actions to run the tests in parallel, and local test executions to only run the required portion of the test suite. The 6 tasks are the following:

* `serviceITest` - Runs the service layer and repository testing.
* `fileSystemITest` - Runs the file system testing
* `uiITest` - Integration tests for IRIDA's web interface.
* `restITest` - Tests IRIDA's REST API.
* `galaxyITest` - Runs tests for IRIDA communicating with Galaxy. This profile will automatically start a test galaxy instance to test with.
Expand All @@ -217,6 +218,7 @@ As the integration tests simulate a running IRIDA installation, in order to run

Where <TEST PROFILE> is one of the following:
* `service_testing` - Runs the `serviceITest` task
* `file_system_testing` - Runs the `fileSystemITest` task
* `ui_testing` - Runs the `uiITest` task
* `rest_testing` - Runs the `restITest` task
* `galaxy_testing` - Runs the `galaxyITest` task
Expand Down
47 changes: 45 additions & 2 deletions doc/developer/setup/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,13 +122,56 @@ docker run hello-world

### Configure Filesystem Locations

IRIDA stores much of its metadata in the relational database, but all sequencing and analysis files are stored on the filesystem. Directory configuration is:
IRIDA stores much of its metadata in the relational database. As of IRIDA 23.01, you can use cloud based storage (BETA) as well as a local filesystem to store the sequencing, reference, and analysis output files. Currently, Azure Blob and AWS S3 storage is supported.

Directory configuration is:

* **Sequencing Data**: `sequence.file.base.directory`
* **Reference Files**: `reference.file.base.directory`
* **Analysis Output**: `output.file.base.directory`

If the directories that are configured do not exist (they don't likely exist if you don't configure them), IRIDA will default to automatically creating a temporary directory using Java's [`Files.createTempDirectory`](http://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#createTempDirectory-java.lang.String-java.nio.file.attribute.FileAttribute...-).
If using a local filesystem and these directories that are configured do not exist (they don't likely exist if you don't configure them), IRIDA will default to automatically creating a temporary directory using Java's [`Files.createTempDirectory`](http://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#createTempDirectory-java.lang.String-java.nio.file.attribute.FileAttribute...-).
However, if you are using cloud based storage you will still need to set these directories in the configuration as these will make up the virtual path to the file, but no local directories will be created.

To setup IRIDA to use cloud based file storage, follow the instructions below for the storage type.

### Setup using Azure Storage Blob

In the configuration file (such as irida.conf) you will need to add these configuration values:

* `irida.storage.type=azure`
* `azure.container.name=CONTAINER_NAME` where the CONTAINER_NAME is a container previously setup on Azure
* `azure.container.url=CONTAINER_ENDPOINT_URL`
* `azure.sas.token=SAS_TOKEN` where the SAS_TOKEN has both read/write permissions

See [Azure Storage Setup](https://learn.microsoft.com/en-us/azure/storage/blobs/) for instructions on how to setup Blob storage.

Microsoft has also made available a storage emulator,`Azurite`, which can be used to develop and test Azure storage functionality on a local machine instead of requiring the use of an Azure Storage account. See [Microsoft Azurite](https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azurite).

For you to be able to use `Azurite` you will need to get the `SAS` token for the blob container. This can be retrieved by setting up [Azure Storage Explorer](https://learn.microsoft.com/en-us/azure/vs-azure-tools-storage-manage-with-storage-explorer) and adding a new resource (`Local Storage Emulator`). Once that is set-up, click on the `Blob Containers menu` item in the explorer and then right click on the container (created by default) `test`, and click Get Shared Access Signature. From the popup window, you can select the date range of validity of the token and permissions (Read, Write, Delete, List, Add, and Create) for the container, and then click create.

Once you have Azurite setup and container created, you can update these configuration values (in irida.conf etc)
* `irida.storage.type=azure`
* `azure.container.name=test`
* `azure.container.url=http://127.0.0.1:10000/devstoreaccount1/test?SAS_TOKEN_RETRIEVED_ABOVE`
* `azure.sas.token=SAS_TOKEN_RETRIEVED_ABOVE` where the SAS_TOKEN has both read/write permissions
ksierks marked this conversation as resolved.
Show resolved Hide resolved

If using `Azurite` make sure you have it running before starting up IRIDA.

### Setup using Amazon AWS S3 Bucket Storage

In the configuration file (such as irida.conf) you will need to add these configuration values:

* `irida.storage.type=aws`
* `aws.bucket.name=BUCKET_NAME` where the BUCKET_NAME is the S3 Bucket previously setup and has read/write permissions.
* `aws.bucket.region=BUCKET_REGION`
* `aws.access.key=ACCESS_KEY`
* `aws.secret.key=SECRET_KEY`

See [AWS S3 Bucket Storage Setup](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html) for instructions on how to setup S3 storage.
Copy link
Contributor

@ksierks ksierks Jan 31, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did one quick Azure test using Azurite and it worked. 😄
Then I wanted to try testing AWS, but noticed you only give a link to the actual S3 documentation. I know you can sign up for a free trial, but I wasn't really happy that they asked for a credit card. Could we use a AWS mock service, like Azurite? I found LocalStack, but then realised your settings don't take a url for AWS like they do for Azure. Could we add a url so developers can use a mock service of their choosing for development?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome glad it worked! Yeah I wouldn't be either! When I started working on the object store stuff for AWS we had an account since we were evaluating it along with Azure. Once we no longer had access to an AWS account we focused most of the work on Azure hence why we instructions for how to use it with Azurite to test and none for AWS. I had seen localstack before but unfortunately the maven repository we are using (com.amazonaws:aws-java-sdk-s3) doesn't allow us to make a connection to the AWS S3 bucket using a URL like we do with Azurite for Azure. I will see if we can possibly use another maven repository for testing which will allow us to make a connection using a URL. I will make a note to take a look but I don't think it will be out in this release

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I take that back. I see the version of the maven package we are using has a setEndpoint method. This will need to be tested out so either way I don't think we will get it into this release. Thanks again @ksierks

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you have to create an EndpointConfiguration. If not, I don't know how else to test AWS.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I've been trying to get it to work. It'd be really helpful for testing it out. I'll keep working away at it and hopefully get it working! Thanks!


There is no other configuration necessary in IRIDA to use cloud based storage. After adding these values to the configuration file you should be able to start up IRIDA, and it will use the cloud based storage that is configured.


### Testing IRIDA

Expand Down
27 changes: 25 additions & 2 deletions run-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ JDBC_URL=jdbc:mysql://$DATABASE_HOST:$DATABASE_PORT/$DATABASE_NAME
TMP_DIRECTORY=`mktemp -d /tmp/irida-test-XXXXXXXX`
chmod 777 $TMP_DIRECTORY # Needs to be world-accessible so that Docker/Galaxy can access

S3MOCK_DOCKER_NAME=irida-docker-s3Mock
AZURITE_DOCKER_NAME=irida-docker-azurite
GALAXY_DOCKER=phacnml/galaxy-irida-20.09:21.05.2-it
GALAXY_DOCKER_NAME=irida-galaxy-test
GALAXY_PORT=48889
Expand Down Expand Up @@ -104,6 +106,18 @@ test_service() {
return $exit_code
}

test_file_system() {
docker run -d -p 9090:9090 -p 9191:9191 --name $S3MOCK_DOCKER_NAME -t adobe/s3mock

docker run -d -p 10000:10000 -p 10001:10001 -p 10002:10002 --name $AZURITE_DOCKER_NAME mcr.microsoft.com/azure-storage/azurite
./gradlew clean check fileSystemITest -Dspring.datasource.url=$JDBC_URL -Dfile.processing.decompress=true -Dirida.it.rootdirectory=$TMP_DIRECTORY -Dspring.datasource.dbcp2.max-wait=$DB_MAX_WAIT_MILLIS $@
exit_code=$?

docker rm -f -v $S3MOCK_DOCKER_NAME
docker rm -f -v $AZURITE_DOCKER_NAME;
return $exit_code
}

test_rest() {
./gradlew clean check restITest -Dspring.datasource.url=$JDBC_URL -Dfile.processing.decompress=true -Dirida.it.rootdirectory=$TMP_DIRECTORY -Dspring.datasource.dbcp2.max-wait=$DB_MAX_WAIT_MILLIS $@
exit_code=$?
Expand Down Expand Up @@ -169,7 +183,7 @@ test_open_api() {
}

test_all() {
for test_profile in test_rest test_service test_ui test_galaxy test_galaxy_pipelines test_open_api;
for test_profile in test_rest test_service test_ui test_galaxy test_galaxy_pipelines test_open_api test_file_system;
do
tmp_dir_cleanup
eval $test_profile
Expand Down Expand Up @@ -198,9 +212,11 @@ then
echo -e "\t--no-kill-docker: Do not kill Galaxy Docker after Galaxy tests have run."
echo -e "\t--no-headless: Do not run chrome in headless mode (for viewing results of UI tests)."
echo -e "\t--selenium-docker: Use selenium/standalone-chrome docker container for executing UI tests."
echo -e "\ttest_type: One of the IRIDA test types {service_testing, ui_testing, rest_testing, galaxy_testing, galaxy_pipeline_testing, open_api_testing, all}."
echo -e "\ttest_type: One of the IRIDA test types {service_testing, ui_testing, rest_testing, galaxy_testing, galaxy_pipeline_testing, open_api_testing, file_system_testing, all}."
echo -e "\t[gradle options]: Additional options to pass to 'gradle'. In particular, can pass '--test ca.corefacility.bioinformatics.irida.fully.qualified.name' to run tests from a particular class.\n"
echo -e "Examples:\n"
echo -e "$0 file_system_testing\n"
echo -e "\tThis will test the File System of IRIDA, cleaning up the test database/docker containers first.\n"
echo -e "$0 service_testing\n"
echo -e "\tThis will test the Service layer of IRIDA, cleaning up the test database/docker containers first.\n"
echo -e "$0 -d irida_integration_test2 galaxy_testing\n"
Expand Down Expand Up @@ -301,6 +317,13 @@ case "$1" in
exit_code=$?
posttest_cleanup
;;
file_system_testing)
shift
pretest_cleanup
test_file_system $@
exit_code=$?
posttest_cleanup
;;
all)
shift
pretest_cleanup
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import ca.corefacility.bioinformatics.irida.pipeline.upload.galaxy.GalaxyWorkflowService;
import ca.corefacility.bioinformatics.irida.plugins.IridaPlugin;
import ca.corefacility.bioinformatics.irida.plugins.IridaPluginException;
import ca.corefacility.bioinformatics.irida.repositories.filesystem.IridaFileStorageUtility;
import ca.corefacility.bioinformatics.irida.repositories.sample.SampleRepository;
import ca.corefacility.bioinformatics.irida.service.AnalysisService;
import ca.corefacility.bioinformatics.irida.service.AnalysisSubmissionService;
Expand Down Expand Up @@ -105,6 +106,10 @@ public class AnalysisExecutionServiceConfig {
@Autowired
private List<AnalysisSampleUpdater> defaultAnalysisSampleUpdaters;

@Autowired
private IridaFileStorageUtility iridaFileStorageUtility;


private List<AnalysisSampleUpdater> loadPluginAnalysisSampleUpdaters() {
List<AnalysisSampleUpdater> pluginUpdaters = Lists.newLinkedList();

Expand Down Expand Up @@ -159,7 +164,7 @@ public AnalysisWorkspaceServiceGalaxy analysisWorkspaceService() {
return new AnalysisWorkspaceServiceGalaxy(galaxyHistoriesService, galaxyWorkflowService,
galaxyLibrariesService, iridaWorkflowsService, analysisCollectionServiceGalaxy(),
analysisProvenanceService(), analysisParameterServiceGalaxy,
sequencingObjectService);
sequencingObjectService, iridaFileStorageUtility);
}

@Lazy
Expand All @@ -171,6 +176,6 @@ public AnalysisProvenanceServiceGalaxy analysisProvenanceService() {
@Lazy
@Bean
public AnalysisCollectionServiceGalaxy analysisCollectionServiceGalaxy() {
return new AnalysisCollectionServiceGalaxy(galaxyHistoriesService);
return new AnalysisCollectionServiceGalaxy(galaxyHistoriesService, iridaFileStorageUtility);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ public class ExecutionManagerConfig {

/**
* Builds a new ExecutionManagerGalaxy from the given properties.
*
*
* @return An ExecutionManagerGalaxy.
* @throws ExecutionManagerConfigurationException If no execution manager is configured.
*/
Expand All @@ -89,7 +89,7 @@ public ExecutionManagerGalaxy executionManager() throws ExecutionManagerConfigur

/**
* Builds a new ExecutionManagerGalaxy given the following environment properties.
*
*
* @param urlProperty The property defining the URL to Galaxy.
* @param apiKeyProperty The property defining the API key to Galaxy.
* @param emailProperty The property defining the account email in Galaxy.
Expand All @@ -111,7 +111,7 @@ private ExecutionManagerGalaxy buildExecutionManager(String urlProperty, String

/**
* Gets and validates a GalaxyAccountEmail from the given property.
*
*
* @param emailProperty The property to find the email address.
* @return A valid GalaxyAccountEmail.
* @throws ExecutionManagerConfigurationException If the properties value was invalid.
Expand All @@ -132,7 +132,7 @@ private GalaxyAccountEmail getGalaxyEmail(String emailProperty) throws Execution

/**
* Gets and validates a Galaxy API key from the given property.
*
*
* @param apiKeyProperty The API key property to get.
* @return A API key for Galaxy.
* @throws ExecutionManagerConfigurationException If the given properties value was invalid.
Expand All @@ -149,7 +149,7 @@ private String getAPIKey(String apiKeyProperty) throws ExecutionManagerConfigura

/**
* Gets and validates the given property for a Galaxy url.
*
*
* @param urlProperty The property with the Galaxy URL.
* @return A valid Galaxy URL.
* @throws ExecutionManagerConfigurationException If the properties value was invalid.
Expand All @@ -170,7 +170,7 @@ private URL getGalaxyURL(String urlProperty) throws ExecutionManagerConfiguratio

/**
* Gets and validates a property with the storage strategy for Galaxy.
*
*
* @param dataStorageProperty The property with the storage strategy for Galaxy.
* @return The corresponding storage strategy object, defaults to DEFAULT_DATA_STORAGE if invalid.
*/
Expand Down
Loading