use MediaType from v2.SystemMetadata and v2.ObjectFormat to better determine mime-type, charset and filename for the get() method. https://redmine.dataone.org/issues/3309
correct logout method (old change still in workspace)
Fixed a bug that two columns were missing in the sql command.
Add the code to read/write the new system metadata fields - file name, media type and media type properties into the db tables.
Add code to update smmediatypeproperties table.
add logout implementation - calls server and clears cookie jar.
Add the code to create smMediaTypeProperties table.
Add the code to create a new table smMediaTypeProperties.
Change the name of the foreign key on the smMediaTypeProperties.
Add a new table smMediaTypeProperties to store the properties associated with a media type.
Throw an exception if the saving system metadata fails.
Add the code to roll back the saved system metadata if the object can't be saved.
Add the media_type and file_name columns.
Add two columns media_type and file_name.
Add the code to add dataone schema v2 in the xml_catalog table.
Add the code to add dataone schema v2 in the xml_catalog table.Fixed the bug the new column should be series_id rather than guid.
Don't use ssClient as a class field. Now it is a local variable. This fixed an issue that two statements using the client caused the exception - java.net.SocketTimeoutException: Read timed out.
refs: #7092. found another unclosed inputStream, this time in ReplicationService.handleForceReplicationDataFileRequest(...).
fixes #7092: added finally clause to ReplicationHandler.update method to unconditionally close the inputStreams it keeps in a Vector. Needs testing.
Use the wild card in the class path. So it will not be pain if the jar files were changed.
Add the code to check if the client is trying to update an archived object. If it is, reject it.
Add a new method -updateSystemMetadata. It only can be called by CNs.
Refactory the authorize methods on D1NodeService.Add the check for whom can call mn.updatesystemMetadata.
Committed the change which Andreit did. 1. Add the code for synchronize(not implemented)2. Add the code for addForm.
remove portal servlet and configuration - no need for this if we are supporting auth tokens from authentication service.
defer to D1 PortalCertificateManager to pull authentication credentials from the request before defering to old Metacat cookie session
Add the code to check the authorization of the client which is reindexing a pid.
Created the updateSystemMetadata method.
Add the code to check if the current node is the authoritative node for the the given pid.
Add the check of permission to update the system metadata.
add whoami endpoint to make debugging authn/authz easier as we use additional mechanisms for proving identity.
include 2.4.3 upgrade scripts in the trunk (merged from branch)
Remove the code to check sid on create and registerSystemMetadata.
Fixed a bug that put the detail code in a wrong position.
Add the code to check if a user tries to modify an immutable field on system metadata.
If an Event object is null in the v1 log entry, we won't add it to the log.
use singleton for getting JWT token - refactor in d1_portal project
use secure context url for loading XSLTs in db transform
ReplicationServices.getUrlStream(url) callers were not closing the inputstream properly, as was revealed when switching to libclient v2 (a pooling connection manager in HttpClient) and encountering reasource leaks.
remove classes annotator classes that have moved to a different project under dataone's github.
bullet-proofed exception handling in ReplicationService.getURLStream, to make sure client communication exceptions are handled and logged.
fixed getSSLClient method.
fixed class name typo.
fixed private getSSLClient method for HttpClient v4.3 compatibility. Now also caching the RestClient for reuse to save overhead.
Make the REST api work for views.
Add the code to support CNView interface in CNodeService. Both CNodeService and MNodeService share the same code base.
Transform the ObjectFormat from v2 to v1 in getFormat method.
do not require site parameter if registry.show.siteList=false.https://projects.ecoinformatics.org/ecoinfo/issues/6687
Make them executable.
Add a script file to restore knb db from a dumped file.
Add a script to dump the knb database.
Add a read timeout for the connection. See bug https://projects.ecoinformatics.org/ecoinfo/issues/6684:wq
Convert the v2 system metadata object to v1 in the getSystemMetadata method.
Use the log to the replace system.out.print.
The setObsoletedBy only handles PID.
The method setObsoletedBy only hanldes SID.
Added the code to handle put method in meta url. See bug https://projects.ecoinformatics.org/ecoinfo/issues/6666
Add the code to handle the PUT method for meta url. See https://projects.ecoinformatics.org/ecoinfo/issues/6666.
Add the code to get the head version.
Add the timestamp for the printing out the start and end of hazelcast synchronization.
Call the method lock.lock() immediately after getting the lock. Otherwise, if an exception happened between the two calls (in another word, lock.lock() was called), lock.unlock() can cause an issue:Current thread is not owner of lock!See https://redmine.dataone.org/issues/6836.
Add a cap to only write 512 characters of the user-agent to db.
Modify v1 and v2 calls to MultipartRequestResolver to use MAX_UPLOAD_SIZE from configuration.
The constrcutor of EventLogData missed the user-agent field. So the user-agent wasn't recorded. The bug was fixed.
organize imports. move exception-throwing method call into try block.
use HttpMultipartRestClient since the DefaultHttpMultipartRestClient was removed from d1_libclient_java
Updated D1ResourceHandler to not hardcode a file size limit. This will allowlarge, multi-gigabyte files to be uploaded, but still needs testing. The limitis now drawn from the metacat.properties file. An alternative would be to inspectthe Content-Length header of the request and set the max to a value greater than the...
The setReplicationStatus method only supports sid and the setRightsHolder method supports both PID and SID.
Add the code transform a sid to a pid in publish, getPackage and view method. Fefer dataONE #6734.
Fixed a bug that it should use getReplica rather than get method.
Add the option -h for tar command in order to follow the link.
The CN.setReplicationPolicy method now only support PIDs. Refer to https://redmine.dataone.org/issues/6734.
Went through the v2 ObjectFormatList and convert every v2 ObjectFormat to v1 ObjectFormat and put them into a v1 objectFormatList.
Add the log messages to indicate the hazelcast synchronization starting and ending.
Add the code to handle sid in the publish method.
Add the code to exclude the sid in the view and getPackage.
Add a converter to convert the V2 Log object to the V1 Log object.
Add the rules to check the if a sid is valid in the updateSystemMetadata method.
Implemented the feature to support the identifier(both sid and pid) feature in the objectLists method.
The MN.listobjects and CN.listobjects methods will call the one in the D1NodeService class.
Add the code to check if the pid is an SID in the registerSystemMetadata method.
Add code to check if the sid equals pid for the method checkSidInRegisterSystemMetadata.
Moved the rules for the SID from D1NodeService.create to MNodeService.create.Also moved the code to check the validation of an pid from D1NodeService.create to MNodeService.create, MNodeService.replicate and CNodeService.create.
Add the code to check if a sid is legitimate in the method create and registerSystemMetadata.
The the code to handle sids on the v2 api - setReplicationPolicy, setReplicationStatus, setAccessPolicy and setObsoletedBy.
Add the code to handle if a identifier is a sid in setAccessPolicy, setReplicationPolicy, setObsoletedBy and setRreplicationStatus.
Comment out a print of an error message. It will show up for every public request.
Add the code to handle SID in the getLogRecords method.
In the getLogRecords method, the pidFilter is checked if it exists.
Fixed a bug that the getLogRecords can't handle the case that the event is null.
Add the code to check the if the new series id is legitimate in the systemMetadataChanged method.
Add the code to support the sereis id on isAuthorized and systemMetadataChanged method.
Add the code to handle the sid in the delete and archive method.
Fixed a bug in comparing two identifiers in the update method.