-
Notifications
You must be signed in to change notification settings - Fork 0
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
Feature-57: deleteObject
Refactor
#58
Merged
Merged
Changes from 10 commits
Commits
Show all changes
288 commits
Select commit
Hold shift + click to select a range
d1aaf32
Clean-up code
doulikecookiedough d56b9b1
Add new methods 'renamePathForDeletion' and 'deleteListItems' in File…
doulikecookiedough 20a2092
Refactor 'deleteObject' to improve atomicity of the process (rename a…
doulikecookiedough c86bb10
Update 'HashStore' interface javadocs and clean up code
doulikecookiedough c66b5a1
Clean up code, javadocs and fix minor bug in ObjectMetadata class con…
doulikecookiedough 97cc255
Refactor 'deleteMetadata(String pid)' to remove all metadata related …
doulikecookiedough 5297773
Update README.md
doulikecookiedough 90b4d5a
Fix typo in 'renamePathForDeletion' javadoc
doulikecookiedough f3e4fea
Refactor 'tagObject' to handle scenarios where exceptions are unneces…
doulikecookiedough 786f81e
Add TODO item
doulikecookiedough fd605a8
Fix inaccurate javadoc return description in 'ObjectMetadata' class
doulikecookiedough 7a343cb
Swallow file already exists exception when creating directories in 'm…
doulikecookiedough 519f9b6
Synchronize 'deleteObjectByCid' method with other delete methods for …
doulikecookiedough 6fb8abe
Fix typos in 'FileHashStore' class
doulikecookiedough 4c9348a
Remove TODO item
doulikecookiedough 0c3fc66
Improve clarity in comments for 'getExpectedPath' method
doulikecookiedough 5fa19f8
Update comment formatting, revise javadoc and fix typo
doulikecookiedough bc0be54
Move initial synchronization block to within try statement to prevent…
doulikecookiedough 1a3835d
Revise comments and extract 'checkObjectEquality' method from FileHas…
doulikecookiedough 9aef583
Refactor 'deleteObject' to delete metadata in respective blocks for s…
doulikecookiedough 645d3e7
Refactor 'tagObject' to synchronize based on new array list 'referenc…
doulikecookiedough 644eae5
Refactor 'deleteObject' with pids to synchronize based on pids shared…
doulikecookiedough 14062e5
Fix bug in 'getExpectedPath' where metadata document id was not corre…
doulikecookiedough 3189118
Add comments to catch blocks in 'deleteObject' to help with debugging
doulikecookiedough a76fe7a
Revert 'deleteObject' order of operations to debug changes
doulikecookiedough 6261abc
Revert changes to synchronization for tagObject and deleteObject for …
doulikecookiedough 71cbae8
Revert changes to synchronization placement for debugging
doulikecookiedough 059fee1
Replace usage of 'notifyAll' to 'notify' with synchronization blocks
doulikecookiedough c01d2f3
Revert usage of 'notify' back to 'notifyAll'
doulikecookiedough 0bc5c06
Fix bug in sychronization with incorrect value (used pid instead of cid)
doulikecookiedough 702f90f
Replace usage of 'notifyAll' to 'notify' as we have implemented mutua…
doulikecookiedough fa17489
Add missing synchronization in 'deleteObject' on pid, and when access…
doulikecookiedough 321a44e
Refactor 'deleteObjectByCid'
doulikecookiedough e397cbb
Remove unused import statement
doulikecookiedough 3f3f828
Fix inaccurate debug statements and revise sync process in 'OrphanRef…
doulikecookiedough 09b6549
Add additional comments in javadoc for 'TestDataHarness'
doulikecookiedough e53f782
Refactor 'deleteObject(String, String)' to improve clarity
doulikecookiedough 5e8b98e
Apply formatting to 'deleteObject' method
doulikecookiedough 1a1f75f
Fix bug when creating cid refs file where hashed value was used inste…
doulikecookiedough 67f7862
Add new junit tests for 'getExpectedPath' method in FileHashStore
doulikecookiedough 898920c
Add new class 'HashStoreServiceRequest'
doulikecookiedough 0ffc8a6
Add 'storeObject' and 'deleteObject' switch case options in HashStore…
doulikecookiedough e376f5d
Add new 'hsr' option to test hashstore service in 'HashStoreClient'
doulikecookiedough 752fbe3
Remove 'hsr' option from 'HashStoreClient' class, rename 'HashStoreSe…
doulikecookiedough 2e71f8f
Revise exception log message in 'writeToTmpFileAndGenerateChecksums' …
doulikecookiedough d7d79ca
Refactor newly added junit test 'storeObject_50Pids_1Obj_viaRunnable'
doulikecookiedough fe1621a
Add new junit test 'deleteObject_50Pids_1Obj_viaRunnable'
doulikecookiedough 63828e5
Remove unused variable and fix incorrect assert statement in 'FileHas…
doulikecookiedough 0680809
Rename 'refs' subdirectories from 'pid' to 'pids' and 'cid' to 'cids'…
doulikecookiedough b3d7a56
Merge pull request #63 from DataONEorg/feature-60-rename-refsdir
doulikecookiedough b0c23d8
Update sysmeta 'formatId' used in junit tests and 'README.md'
doulikecookiedough 87ac4b2
Update README.md examples and fix typos
doulikecookiedough be50903
Update synchronization value in 'storeMetadata' to be the hash of the…
doulikecookiedough d6e1647
Add thread safety to 'deleteMetadata(pid, formatId)' and update hashs…
doulikecookiedough 93225e4
Add thread safety to 'deleteMetadata(pid)' method
doulikecookiedough 7780992
Refactor 'deleteObject(pid)' to call 'deleteMetadata(pid)' instead of…
doulikecookiedough f59507f
Fix typos in 'hashstore' interface
doulikecookiedough 3a2a845
Merge pull request #64 from DataONEorg/feature-61-metadata-threadsafety
doulikecookiedough 5db413f
Add new custom exception classes to be thrown by 'verifyObject'
doulikecookiedough 0b9b6aa
Update 'verifyObject' to throw custom exceptions when there is an iss…
doulikecookiedough d0eeea2
Add new logic to 'verifyObject' to attempt to calculate the checksum …
doulikecookiedough 45c844a
Clean up test classes 'FileHashStoreInterfaceTest' and 'FileHashStore…
doulikecookiedough 0875de3
Adjust spacing for consistency in new custom exception classes
doulikecookiedough 94d5109
Update test classes to explicitly close new stream objects after they…
doulikecookiedough ec1e9f3
Merge pull request #66 from DataONEorg/feature-65-verifyobj-update
doulikecookiedough f192ae4
Cleanup 'deleteObject' by deleting now irrelevant code related to ret…
doulikecookiedough 2ec1616
Revise 'HashStoreFactory' .getHashStore method exception occurence to…
doulikecookiedough 2d20d82
Fix malformed 'hashstore.yaml' base template (had redundant key value)
doulikecookiedough 44a5598
Fix incorrect extends exception type in 'NonMatchingChecksumException…
doulikecookiedough 0bfb95b
Add missing javadocs to new custom exception classes
doulikecookiedough e2bceee
Add .printStackTrace() method to 'HashStoreFactory' exception scenari…
doulikecookiedough 8f3d5d9
Update 'HashStoreFactory' exception scenarios to call '.getCause' ins…
doulikecookiedough c35be2a
Refactor 'FileHashStore' init process when checking a given 'storePat…
doulikecookiedough a1d0ef4
Add and revise logging statements in 'verifyHashStoreProperties'
doulikecookiedough 7dba739
Update junit test classes for 'storePath' and sysmeta namespace clarity
doulikecookiedough d91aa8f
Update README.md
doulikecookiedough 8b57caf
Merge pull request #70 from DataONEorg/feature-69-hashstore-initupdate
doulikecookiedough d1d048e
Update 'pom.xml' to create a specific shaded-jar file which contains …
doulikecookiedough d49ce47
Re-add 'SNAPSHOT' to version name in 'pom.xml' to represent project i…
doulikecookiedough a8f3753
Merge pull request #71 from DataONEorg/feature-67-maven-jarfile
doulikecookiedough eb01034
Initial update to 'findObject' to return a map, update the 'HashStore…
doulikecookiedough 738c2f3
Add 'object_path' key to map returned from 'findObject' and add new j…
doulikecookiedough fe21ef9
Add remaining refs paths and sysmeta path keys and values to map retu…
doulikecookiedough 8f7f26d
Update variable names in 'findObject' method, update 'HashStoreClient…
doulikecookiedough 2149abd
Clean up 'TestDataHarness' class for clarity, fix bug in 'HashStoreCl…
doulikecookiedough ccc2a6e
Remove unnecessary return statement in 'ObjectMetadata' class for met…
doulikecookiedough 7c3bf4c
Cleanup test classes for typos, unused imports and other minor warnings
doulikecookiedough 011f609
Merge pull request #73 from DataONEorg/feature-72-findobject-update
doulikecookiedough 9529973
Update 'verifyHashStoreProperties' javadoc and debug message
doulikecookiedough f1211ce
Update README.md hashstore layout formatting
doulikecookiedough cdab02a
Clean up 'FileHashStore' Pt.1 (debug message typo), spacing and revis…
doulikecookiedough f1f6b75
Revise 'verifyHashStoreRefsFiles' method exceptions types to improve …
doulikecookiedough 7d2b576
Update 'tagObject' to check for existence of ref files in the if bloc…
doulikecookiedough 8818765
Cleanup 'tagObject'
doulikecookiedough df96c67
Cleanup 'verifyHashStoreRefsFiles'
doulikecookiedough 7202868
Merge pull request #76 from DataONEorg/feature-75-cidrefs-threadsafety
doulikecookiedough 8e42e4d
All new custom exception 'HashStoreRefsAlreadyExistException'
doulikecookiedough af95ea7
Revise 'tagObject' to throw new custom exception when refs file alrea…
doulikecookiedough 4206c45
Add missing javadocs to newly created custom exception classes
doulikecookiedough 1a93682
Merge pull request #77 from DataONEorg/feature-74-tagobject-hsobjclarity
doulikecookiedough b2a98fb
Update README.md for HashStoreClient examples to call the correct .ja…
doulikecookiedough d412ad9
Update 'storeObject_objectLockedIds_FiveThreads' to catch newly added…
doulikecookiedough e9d5956
Removed redundant 'storeObject' overload methos from 'HashStore' inte…
doulikecookiedough d986b7b
Remove now obsolete 'storeObject' overload methods from 'FileHashStor…
doulikecookiedough c9e5d51
Merge pull request #84 from DataONEorg/feature-82-remove-overloads
doulikecookiedough f56b3cf
Add new utility method 'isValidString', which is now called by 'check…
doulikecookiedough 7e007f1
Add new junit tests to check that illegal characters in a given 'pid'…
doulikecookiedough 4739abb
Merge pull request #85 from DataONEorg/feature-81-check-addchars
doulikecookiedough 05ca2c8
Update 'findObject' javadoc for inaccurate return description
doulikecookiedough e0b6a6b
Update 'HashStore' interface & 'FileHashStore' with new 'verifyObject…
doulikecookiedough c2b148c
Refactor 'getExpectedPath' - extract new method 'getHashStoreRefsPath'
doulikecookiedough 11dea30
Refactor 'getExpectedPath' - extract new method 'getHashStoreMetadata…
doulikecookiedough 1afce09
Refactor 'getExpectedPath' - extract new method 'getHashStoreDataObject'
doulikecookiedough 1694d32
Cleanup 'getExpectedPath' and related extracted methods
doulikecookiedough 4c3afaf
Delete 'getExpectedPath' method and replace codebase calls to it with…
doulikecookiedough 076e7a3
Remove 'deleteObject(String, String)' overload method that was leakin…
doulikecookiedough 52a7568
Update 'HashStore' interface javadocs for 'verifyObject'
doulikecookiedough 9b65a37
Implement updated 'verifyObject' functionality when boolean 'deleteIn…
doulikecookiedough f17c967
Cleanup 'validateTmpObject' javadoc
doulikecookiedough 2f7b790
Update README.md
doulikecookiedough 83a3e8f
Merge pull request #86 from DataONEorg/feature-80-verifyobj-sigupdate
doulikecookiedough 9b4d57c
Revise 'junit' test for 'RunnableTest' to check runtime for number of…
doulikecookiedough 25a970b
Update 'deleteObject' Runnable test to check for 1000 pids instead of 50
doulikecookiedough 2734f03
Update 'HashStoreRunnable' test class exception messaging to 'e.getCa…
doulikecookiedough 9a99113
Clean up 'HashStoreRunnable' and add/revise logging statements
doulikecookiedough 9e1d9e2
Extract new protected method 'storeHashStoreRefsFiles' from 'tagObject'
doulikecookiedough d890db6
Organize new 'storeHashStoreRefsFile' method in 'FileHashStore' class…
doulikecookiedough 9020775
Revise junit tests for 'tagObject', add new junit tests for 'storeHas…
doulikecookiedough 6c727fa
Add new method 'unTagObject'
doulikecookiedough bfe2f27
Revise comment for accuracy
doulikecookiedough 5a69daf
Add new junit test for 'unTagObject' and fix bug in existing 'tagObje…
doulikecookiedough 259bf54
Add new junit tests for 'unTagObject'
doulikecookiedough b06d8c6
Revise 'findObject' to throw custom exception 'PidRefsFileNotFoundExc…
doulikecookiedough 18d2e25
Add new junit test for 'unTagObject' and revise 'findObject' junit te…
doulikecookiedough cbd494d
Add clean-up code to 'unTagObject' when a pid refs file does not exis…
doulikecookiedough 30e1e09
Revise 'unTagObject' javadoc and comments
doulikecookiedough 5e2e7f1
Add print statements to 'HashStoreRunnable' to assist with debugging …
doulikecookiedough 742eeac
Add 'unTagObject' to 'tagObject' process
doulikecookiedough e96a517
Add new junit tests for 'updateRefsFile'
doulikecookiedough b6d56cc
Add new junit tests for 'tagObject' and fix bug where a pid refs is d…
doulikecookiedough 9eef991
Revise comments and add additional print statement to assist with deb…
doulikecookiedough 355dd1b
Fix inaccurate argument string in 'verifyChecksumParameters'
doulikecookiedough 81cb5ed
Cleanup 'FileHashStoreReferencesTest' class
doulikecookiedough 84f8dc7
Merge pull request #89 from DataONEorg/feature-83-tagobject-cleanup
doulikecookiedough 60127a4
Remove 'findObject' from 'HashStore' interface and move javadoc to 'F…
doulikecookiedough 08e7c7e
Remove 'findObject' from 'HashStoreClient' and update README.md
doulikecookiedough bb47568
Cleanup test classes for ide warnings and re-organize junit tests
doulikecookiedough e0c3bb7
Move 'findObject' code in 'FileHashStore' to core and supporting meth…
doulikecookiedough 47841f1
Merge pull request #90 from DataONEorg/feature-87-removefo-publicapi
doulikecookiedough a60586c
Code clean-up: Review/revise comments, refactor 'retrieveMetadata' me…
doulikecookiedough fd290ea
Code clean-up: Review/revise comments, refactor 'deleteMetadata' meth…
doulikecookiedough ccda4c5
Code clean-up: Revise deleteMetadata to call existing method to get p…
doulikecookiedough 947459a
Code clean-up: Remove unused 'deleteRefsFile' method & update junit t…
doulikecookiedough 487bbce
Resolve linting warning in 'putObject' by replacing .delete() call on…
doulikecookiedough c2b67de
Clean-up 'deleteObject' and 'unTagObject', refactor to begin with rem…
doulikecookiedough 3b5b7d6
Rename method 'getMetadataDocInputStream' to 'getHashStoreMetadataInp…
doulikecookiedough 83382f9
Code clean-up: remove redundant logging texts
doulikecookiedough cebdd2f
Accept IDE warning suggestion to weaken specific list types to a Coll…
doulikecookiedough c778e2d
Code clean-up: fix ide warnings for 'FileHashStoreUtility' class
doulikecookiedough 261ca00
Code clean-up: fix ide warnings for 'ObjectMetadata' class
doulikecookiedough 75b56c2
Code clean-up: remove redundant printstacktrace statement in 'HashSto…
doulikecookiedough cc1a43b
Code clean-up: address warnings for HashStore interface
doulikecookiedough 207937a
Code clean-up: address warnings for HashStoreClient class
doulikecookiedough 9010843
Code clean-up: Address additional warnigs from test classes
doulikecookiedough 67bd37c
Accept ide warning to Weaken type from List to Collection in 'FileHas…
doulikecookiedough e6e1018
Refactor public api methods in 'FileHashStore' by extracting synchron…
doulikecookiedough 3ccc3eb
Remove unused parameter from 'syncRenameMetadataDocForDeletion' and f…
doulikecookiedough f92ccca
Deactivate known intermittently failing test which issue has been cre…
doulikecookiedough c2098d3
Update storeObject HashStoreRunnable junit test
doulikecookiedough b0c5414
Fix warning for 'verifyObject' with boolean value in signature by rem…
doulikecookiedough d2f73b4
Remove todo item and add new junit tests for 'getHashStoreMetadataInp…
doulikecookiedough 8cd0d34
Add missing junit tests for 'verifyChecksumParameters'
doulikecookiedough f649697
Add missing junit tests for 'shouldCalculateAlgorithm'
doulikecookiedough 3d00b4b
Delete 'FileHashStoreReferencesTest' class, move and organize junit t…
doulikecookiedough 7474db3
Rename 'FileHashStorePublicTest' to 'FileHashStoreInitTest' for accuracy
doulikecookiedough 0e0dfcf
Add missing junit tests for 'isStringInRefsFile' in 'FileHashStorePro…
doulikecookiedough 6c7e151
Fix bug in 'validateTmpObject' and add missing 'validateTmpObject' ju…
doulikecookiedough e9b4b24
Reword javadoc for 'HashStoreClient' class
doulikecookiedough 6ad3c01
Re-activate disabled runnable test, update 'putObject' to delete redu…
doulikecookiedough 30d7f88
Rework/optimize 'putObject' routine and update junit tests
doulikecookiedough 8f323f5
Revise error statement in 'putObject' and variable name in intermitte…
doulikecookiedough 9d096f3
Merge pull request #91 from DataONEorg/bug-88-tmpfile-cleanup
doulikecookiedough 6ff1336
Update README.md
doulikecookiedough 8bee29d
Update HashStore interface, rename 'verifyObject' to 'deleteInvalidOb…
doulikecookiedough 8617f17
Merge pull request #93 from DataONEorg/feature-92-deleteinvalidobject
doulikecookiedough 71dc486
Move synchronization code calls into try blocks
doulikecookiedough 28cfa7a
Add missing synchronization for data object cid when data object is a…
doulikecookiedough b0f86a5
Rename synchronization array from 'objectLockedIds' to 'objectLockedP…
doulikecookiedough 2fc6721
Rename synchronization array from 'metadataLockedIds' to 'metadataLoc…
doulikecookiedough 08f2c79
Rename synchronization array from 'referenceLockedCids' to 'objectLoc…
doulikecookiedough 7aa852d
Add new synchronization code for 'tagObject' which can be called dire…
doulikecookiedough 2ea427b
Revise 'tagObject' unexpected exception process to release locks befo…
doulikecookiedough 38d0924
Check 'deleteInvalidObject' for when ObjectMetadata passed does not i…
doulikecookiedough f76a13c
Rename FileHashStoreUtility 'checkForEmptyString' to 'checkForEmptyAn…
doulikecookiedough b044728
Rework FileHashStoreUtility 'deleteListItems' method to attempt to de…
doulikecookiedough 8442d66
Add logic to Public API store methods to try-finally .close the suppl…
doulikecookiedough 2cbec48
Refactor 'deleteMetadata' with logic to revert the process if there i…
doulikecookiedough 9f3dac9
Clean up code for recently reworked deleteMetadata process
doulikecookiedough 489f4db
Merge pull request #94 from DataONEorg/feature-57-delobjref-jingcrch
doulikecookiedough 1a12765
Revert process to restore metadata documents from 'deleteMetadata' me…
doulikecookiedough f28b522
Add revert metadata deletion process to 'syncRenameMetadataDocForDele…
doulikecookiedough 2012a2a
Add guard rails to 'syncRenameMetadataDocForDeletion' and new junit t…
doulikecookiedough 41375e0
Update postgres version to 42.7.2 to resolve vulnerability warning
doulikecookiedough 1da579c
Update README.md for clarity
doulikecookiedough 8b8ef2d
Rename 'deleteInvalidObject' method to 'deleteIfInvalidObject' and up…
doulikecookiedough a306271
Update .idea's .gitignore and 'README.md'
doulikecookiedough 96235b8
Revise javadoc usage of backticks to '{@code ... }'
doulikecookiedough 4d382a5
Update maven and idea settings java target to 17 from 1.8
doulikecookiedough 1f33e7d
Add new junit test to check for when pid is simply a new line
doulikecookiedough 4770050
Refactor FileHashStoreUtility 'checkNotNegativeOrZero' to 'checkPosit…
doulikecookiedough 2fea9ff
Rename logging variable in 'HashStoreRunnable'
doulikecookiedough e327e91
Clean up 'FileHashStoreUtility' logging and exception statements
doulikecookiedough a1870cc
Update maven.yml workflow to use JDK 17
doulikecookiedough b58b26c
Add missing javadocs in 'HashStoreRunnable' class and missing javadocs
doulikecookiedough 9e75b30
Refactor 'FileHashStoreProtected' junit tests to create InputStreams …
doulikecookiedough 58e73ab
Refactor 'FileHashStoreInit' junit tests to create InputStreams in tr…
doulikecookiedough 252cefa
Refactor 'FileHashStoreClient' junit tests to create InputStreams in …
doulikecookiedough d961d35
Refactor 'HashStore' junit tests to create InputStreams in try statem…
doulikecookiedough 5542a9c
Refactor 'FileHashStoreUtility' class' calculateHexDigest method to u…
doulikecookiedough 1c61165
Refactor 'FileHashStore' to use try statements for automatic resource…
doulikecookiedough 6591f44
Refactor 'FileHashStoreInterface' junit tests to create InputStreams …
doulikecookiedough dd9a2a7
Add new enum 'HashStoreRefUpdateTypes' and refactor affected code in …
doulikecookiedough 56afebc
Refactor 'updateRefsFile' and 'getHashStoreRefsPath' to require enum …
doulikecookiedough 38ebd81
Rename 'checkForEmptyAndValidString' method to 'checkForNotEmptyAndVa…
doulikecookiedough d1d2559
Apply autoformatting to 'syncPutObject'
doulikecookiedough da143f3
Apply autoformatting to 'deleteMetadata'
doulikecookiedough 5309243
Apply autoformatting to 'findObject'
doulikecookiedough d842a59
Apply autoformatting to 'putObject'
doulikecookiedough 0181107
Apply autoformatting to 'getHashStoreMetadataPath'
doulikecookiedough b3d0ea1
Remove redundant code in 'getHashStoreRefsPath' method
doulikecookiedough b884303
Add default case to 'getHashStoreRefsPath'
doulikecookiedough 906ea73
Refactor 'ObjectMetadata' to be a record instead of a custom class, a…
doulikecookiedough ce07581
Cleanup 'ObjectMetadata' class
doulikecookiedough 5bce0ce
Add new record 'objectInfo', refactor 'findObject' to return an 'obje…
doulikecookiedough 75ba6c0
Refactor 'checkForNotEmptyAndValidString' to call '.isBlank()' instea…
doulikecookiedough f5ca23d
Refactor 'HashStoreRunnable' run's switch case per formatter suggestion
doulikecookiedough 84846f4
Update README.md
doulikecookiedough f369441
Update javadocs in 'HashStore' interface
doulikecookiedough dc6a6fb
Refactor and simplify usage of enum objects 'HashStoreIdTypes' and 'H…
doulikecookiedough 7ba3b73
Add missing javadocs for enum objects to add clarity
doulikecookiedough 1eabe79
Rename 'objectInfo' record to 'ObjectInfo'
doulikecookiedough 0bd9a3f
Rename references of 'deleteInvalidObject' to 'deleteIfInvalidObject'
doulikecookiedough 189eaf3
Refactor 'tagObject' by moving synchronization code to be closer to c…
doulikecookiedough 8ceb641
Refactor 'checkForNotEmptyAndValidString' to get method name via thre…
doulikecookiedough b94eb2c
Refactor 'ensureNotNull' to get method name via thread and update sig…
doulikecookiedough 4561f79
Refactor 'checkPositive' to get method name via thread and update sig…
doulikecookiedough 962ed5b
Fix typo in 'HashStore' interface
doulikecookiedough a9fce58
Revise comments in 'tagObject'
doulikecookiedough 6a0c32b
Move synchronized call to within try statement in 'unTagObject' to im…
doulikecookiedough d61d9c3
Apply IntelliJ automatic formatting to entire codebase for linting co…
doulikecookiedough File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
artntek marked this conversation as resolved.
Show resolved
Hide resolved
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,10 +21,11 @@ public interface HashStore { | |
/** | ||
* The {@code storeObject} method is responsible for the atomic storage of objects to | ||
* disk using a given InputStream. Upon successful storage, the method returns a | ||
* (ObjectMetadata) object containing relevant file information, such as the file's id | ||
* (which can be used to locate the object on disk), the file's size, and a hex digest | ||
* dict of algorithms and checksums. Storing an object with {@code store_object} also | ||
* tags an object (creating references) which allow the object to be discoverable. | ||
* (@Code ObjectMetadata) object containing relevant file information, such as the file's | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. still need to change |
||
* id (which can be used by a system administrator -- but not by an API client -- to locate | ||
* the object on disk), the file's size, and a hex digest dict of algorithms and | ||
* checksums. Storing an object with {@code store_object} also tags an object (creating | ||
* references) which allow the object to be discoverable. | ||
* | ||
* {@code storeObject} also ensures that an object is stored only once by synchronizing | ||
* multiple calls and rejecting calls to store duplicate objects. Note, calling {@code | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I read this first, to re-familiarize myself with the project & design, which is why I've flagged a few things that may be confusing to the reader. I am that confused reader 🤣
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you so much for reviewing this first (and great idea to get a refresher)! I do not wish to be that confusing writer, so your feedback is much appreciated. I've made the changes and agree with your suggestions.