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.
Move a statement e.printStactTrace to the logMetacat.error method.
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.
Change the condition that remove identifier from the identifier table in the method removeSystemMetaAndIdentifier.
Add the pid in a debug statement.
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 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.
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.
Add more log information.
Add a note to notify users that the reindex action is asynchronized.
Made the class implements the interface LexicalHandler.
Add code to check if a dtd is registered when the parser processes the dtd part.
Fixed a bug that the public id can't be assigned.
Change the debug level from debug to trace.
Change some debug statments from debug to trace.
Down the debug level from debug to trace.
Removed a unused parameter - formatId from method writeReplication.
Add the feature to support the noNamespaceSchemalLocation and refactory the code.
Add the code to throw an exception to tell users that the namespace or format id was not registered in Metacat.
Add the methods to figure out the schema location base on namespace, format id or no-namespace-schema-location uri.
Add a new constant for no-namespace schemas.
Add a method to get the type.
Add a method to get the type of the schema.
Add a new class represent a schema without a namespace.
Add a SAX parser to determine the namespace of a xml object. It only parses the root element, then stops.
Disable the feature of downloading external schemas.
Change the log information a little bit.
use the new rules to validate an xml object base on dtds.
Every time when we modified the metacat.properties file through the PropertyService, the Setting class will be updated as well. Otherwise, the values on the Setting class are still the old one.
Added the double quotes on the file name of the http header "content-deposition". This can handle the special characters on the file name.https://projects.ecoinformatics.org/ecoinfo/issues/7084
handle redirecting Metacat "shortcut" URLs when docid is given with and without revision. https://projects.ecoinformatics.org/ecoinfo/issues/7063
Replaced the JiBXException by MarshallingException.
Add the code to upgrade the solr schema.
Add the check objectFormat is not null before we try to get the mediaType object from the object in the getObject method.
Don't need to add "." for file name between the identifier and file extention in the getObject method.The v1 getExtension method includes '.'. But the v2 version doesn't include it.
Use the method getContextURL rather than getSecureContextURL in the getCapacities method.So if the server doesn't support sll, the getCapacities will return a baseURL with http.
correct two minor differences from 2.6 merge: formatId parameter for MetacatHandler and using AuthUtils for gathering group membership information.
Merge in changes from the 2.6.0 release.
Merge changes from the 2.6.0 release.
merge from 2.6 branch: add support for EML 2.1.1 to DC crosswalking for OAI provider. https://projects.ecoinformatics.org/ecoinfo/issues/7030
If the client certificate is null, Metacat will throw an exception.
merge from 2.6 branch: use AuthUtils to gather user group subjects
merge to trunk from 2.6 branch: action=validatesession can handle Authorization token
merge to trunk: debugging statements that were added in 2.6 branch
Merge changes from the 2.6.0 branch in MNodeService.allowUpdating() so it honors the localhost MN certificate.
refs https://projects.ecoinformatics.org/ecoinfo/issues/7018
merge from 2.6 branch: use AuthUtils to get group and equivalent identities rather than manually try to extract groups from subject info (can include incorrect groups for given primary subject). https://github.nceas.ucsb.edu/KNB/arctic-data/issues/163
merge from 2.6 branch: use group subject (not name) when translating Session.subjectInfo into group list for Metacat's DocumentImpl. https://github.nceas.ucsb.edu/KNB/arctic-data/issues/163
Add more information on the error message if the client's certificate is not trusted.
Merge the changes from the 2.6 branch into the trunk, fixing filename construction.
refs https://github.nceas.ucsb.edu/KNB/arctic-data/issues/151
merge from 2.6 branch: add support for EML 2.1.1 in OAI-PMH provider. https://projects.ecoinformatics.org/ecoinfo/issues/7009
Fixed a bug to use an identifier object to get a value in a vector.
Check the chain end if obsoleted by another object.See ticket https://redmine.dataone.org/issues/7624
Use sql command to get some information rather than hazelcast.
Use a hashmap to replace a sql query to improve performance in the getHeadPID method.
In the getHeadPID method, we got the field obsoletedBy from the systemmetadata table rather than the hazelcast service.
Reformat the create and update method.
Close the input stream on the create/update method when the code aborts.
Close the the input stream from the method parameter in the create method.