For ticket https://projects.ecoinformatics.org/ecoinfo/issues/7214.Use the lastindexof and substring methods to find the deployment directory.
Change back to use URLDecoder to decode the code.
Add the script to upgrade the version to 2.8.5
Add the code to submit index task in every methods which modified the system metadata.
Refactory the submit index methods.
Add the methods submitting the update and delete tasks.
Use the new manager class to get the messaging client.
Use a singleton class to get the messaging client.
Removed the code to initialize the index task client at the constructor.
Add the client code to submit the index task to the message broker. Now I only added the code for the create method.
Change isAuthorized() to prioritize user authz
Re-order the calls to userHasPermission(), isAdminAuthorized(), and isAuthoritativeMNodeAdmin() such that the user authorization comes first. This should drastically reduce the calls to CN.listNodes() and the resulting NodeList unmarsalling involved in comparing CN and MN Node Subjects to token or certificate Subjects. ...
Convert System.out.println() calls
We've had these calls printing to the log on every REST call. Change them to a logger debug() level so we can filter them out.
Use the EncodingUtilities method to decode a string.
Add the code to handle query and view service.
Add the code to read the MNPackage configuration.
Add the script to upgrade the db version to 2.8.4.
In the delete method, if we got not MdcDocNotFound exception, we will continue to delete the system metadata.
Add the code to add the ldap group information for the given user.
Add a new method to get all groups for a given user.
Make a debug statement clearer.
Modified the query to find the previous version of the ore document in the publish method.
Fixed a bug that the eml object wasn't changed checksum but its content was modified in the publish method.
Add the script which update the db to 2.8.3.
Add the script to update db.
Add the code to remove the pid from the identifier table if the update method failed.
Add the checksum as the parameter to the method write.
Add the code to computer the checksum.
Add the checksum parameter to the write method.
Move the checking if the checksum exists into the create method.
Add the checksum parameter to the method DocumentImple.write.
Add the checksum as a parameter to the method handleInsertOrUpdate.
Add the checksum parameter to the handleInsertorUpdate method.
Add the checksum parameter to the handleInsertAndUpdate method.
Change the signature of the method handleInsertAndUpdate.
Add code to check the check sum by the DigestOutputStream.
Removed the duplicated code to check the checksum in the replicate method since the method D1Node.create, which is called by the replicate method, has the mechanism.
Add some debug information.
Change MetacatHandler.generateOutputName() to use the SystemMetadata.fileName value when it is available. Needs testing.
refs https://projects.ecoinformatics.org/ecoinfo/issues/7187
Define location of the AWS binary so the tool works under CRON.
Modified backup script to improve efficiency.
Now, lists of metadata and data files that were last backed up is stored in the /var/metacat/metacat-backup folder, andthese are diffed with the current file lists to discover new files. These are then copied to AWS S3. The AWS...
Add the code to filter out the pids with white spaces in the query.
Add backup script to copy files to Amazon S3.
Make sure it is same as branch 2.8 except the mdq stuff
Still use syncFailed.getPid to get identifier in the syncFailed method.
Fixed typos in the vairable name.
In the synchronizationFailed method, use syncExcpetion.getIdentifier method to try before the obsoleted method getPid.
Change the version to 2.9.0
Add the script to upgrade the db to 2.9.0
Move a statement e.printStactTrace to the logMetacat.error method.
Add the 'Collaborator' role to the list of roles in the EML Registry CGI.
refs https://github.com/NCEAS/metacatui/issues/78
In the expandRightHolder method, we don't use the parameter count=-1 to query the cn. Now we use count=200 and will use the page query to query again if it is necessary.
Add the debug statement.
Add more debug statement on cn.create method.
extract EML creator[s] and use those names or organizations when registering DOI with EZID. https://github.nceas.ucsb.edu/KNB/arctic-data/issues/143
In the archive method, add a new mechanism to check if the local id is in the xml_revision table if it is not in the xml_documents table.
Add a new method to determine if a docid and rev is in the xml_revision table.
Give the users having change-permission to archive an object which is from a v1 node.
Check the change of the access rules on data objects only when we need to write access rules base on the access part of the eml document.
Ensure XML run response from quality engine. Use mock http request to ensure correct save behavior of the resulting run. https://projects.ecoinformatics.org/ecoinfo/issues/7171 and https://github.com/NCEAS/mdqengine/issues/73
Trigger MDQ when inserting or updating metadata documents. https://projects.ecoinformatics.org/ecoinfo/issues/7171 and https://github.com/NCEAS/mdqengine/issues/73
Fixed a typo.
The indexall action will be run on another thread.
Change the param from the class field to a local variable.
Remove the inadvertant UTF-8 BOM from the beginning of the file, and initialize the contact variable properly (again).
Change the condition that remove identifier from the identifier table in the method removeSystemMetaAndIdentifier.
Add the pid in a debug statement.
Add the sql to register schema files for the format id fgdc-st-001.1-1999.
Add the code to check if the object does exist in the create method. If it doesn't, the system metadata and identifier will be removed.
Change the calling code when the method insertOrUpdateDocument signature is changed.
Add methods to determine if the object does exist with the given local id.
Add some performace debug information.
Add methods to check if there are circular obsoletes/obsoletedBy chains in the mn.updateSystemmetadata method.
Don't share the same executor in the two classes.
Call the cn.synchronize method asynchronously in the mn.updateSystemmetadata method.
Add the version information on a log statement.
Add the version information in a log statement.
Add the class to upgrade the solr schema.
Add a script to upgrade the db to 2.8.1
Change the version to 2.8.1
Add a smart test when we set the file name for the header of "content-deposition":When the id doesn't end with the file extention, we set the file to be id+extension.
To set the content-deposition header, the cn will look the file name in the system metadata first.
Fix issue in getDefaultReplicationPolicy.
Previously, under some circumstances, a ReplicationPolicy was created but was missing the optional replicationAllowed and numReplicas attributes. These are critical to the policy, so ensure they are set to sensible defaults even when property parsing errors and other issues might skip them. Added a test of this method, but I note that other methods in SystemMetadataFactory do not have unit tests and should be added if they are modified.
Use the "MNRead" to replace "MNStorage" to determine the version of the MN.
Change an exception to more appropriate exception.
Add more checks to avoid a null exception.
Add more debug statement for deleting.
Add some information about pid on the log statement.
Change the ldapweb.cgi script to use an additional property called email.contact which provides a contat email (particularly when email.sender is set to noreply@...). Update the skin configurations with this property, as well as the metacat.properties default.
Add a comment.
Removing xml_access table records now is in the removing the pid from hazelcast. So remove the dupicated code.
Check if the object and sysmeta are null before to get the inputstream object.
Clear the code for the method handleInsertOrUpdate.
The deleteSystemmetadata method will delete the records on xml_access as well.
Add the identifier information in the exception when users try to change the access section but they don't have all permission.
Add the guid information in the sax exception when users try to update the access part but they don't have all permission.
Expand the rights holder if it is a group.
Add the code to expand the rights holder if it is a group.