include 2.4.3 upgrade scripts in the trunk (merged from branch)
Change the test case base on the change on checking sid of the create method.
Remove the code to check sid on create and registerSystemMetadata.
remove d1_annotator servlet from web xml - not used anymore
Fixed a bug that put the detail code in a wrong position.
Add the junit test for testing the updateSystemMetadata method.
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
Remove the "#none" href attribute from links in the MetacatUI metadata entry form.
add notes about when metacat-index.war and metacatui.war files should be deployed.
use secure context url for loading XSLTs in db transform
remove d1_annotator and tests from project -- should be used elsewhere.
include d1_annotator dependency
Add a code to test the getLogRecord method handling SID.
Change the schema test according the change on the schema itself.
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.
merge CN annotation context files to metacat (MN) to support semantic index fields.
merge CN solr schema to metacat (MN) to support prov and semantic index fields.
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 junit test method for listViews.
Add the code to support CNView interface in CNodeService. Both CNodeService and MNodeService share the same code base.
Add classes and attributes to the object name and online distribution link elements in the MetacatUI theme.
Add a test method to test v1.getFormat.
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 step about enabling CGI module.https://projects.ecoinformatics.org/ecoinfo/issues/6678
Add a read timeout for the connection. See bug https://projects.ecoinformatics.org/ecoinfo/issues/6684:wq
remove unnecessary Make step in registry installation instructions.https://projects.ecoinformatics.org/ecoinfo/issues/6678
Display text nodes in EML when the value is directly in the text node or in a <section> tag or in a <para> tag (in metacatui skin)
It is tricky to determine if the type works since v2.SystemMetadata extends from v1.SystemMetadata.We have to set true that the return object is v1.SystemMetadata, also set false that the return object is not v2.SystemMetadata.
Convert the v2 system metadata object to v1 in the getSystemMetadata method.
Add the test code for v1 api.
Completed the 18 test cases.
Use the log to the replace system.out.print.
Add more test cases for the method getHeadVersion.
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 test cases for the method getHeadPID.
Add the code to get the head version.
Add the timestamp for the printing out the start and end of hazelcast synchronization.
Add a test case for testing sid chains.
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 the code to test only 512 characters can be written to db.
Add a cap to only write 512 characters of the user-agent to db.
Add the code to make sure that the event, ip address, principal and userAgent were recorded.
Handle the IOException which was added to MockCNode constructor.
Change the constructor's signature since the super class - MultipartDCNode was changed.
Add comments explaining limits on max_upload_size property.
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.
Lower the file size limit to deal with max size of Integer issue.
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.
Add the test case 18. Refer https://redmine.dataone.org/issues/6734.
Add two more test cases. Refer https://redmine.dataone.org/issues/6734.
The CN.setReplicationPolicy method now only support PIDs. Refer to https://redmine.dataone.org/issues/6734.
Used the new concept - end to determine the head object of an SID chain.
Add the case 15 refrence the page https://epad.dataone.org/pad/p/201501-MaintenanceStandup.
Add more test cases from the page https://epad.dataone.org/pad/p/201501-MaintenanceStandup
Went through the v2 ObjectFormatList and convert every v2 ObjectFormat to v1 ObjectFormat and put them into a v1 objectFormatList.
Added the more test cases to get the head version of a SID. See https://epad.dataone.org/pad/p/201501-MaintenanceStandup
Added a test case and fixed a bug.
Add the code to check a system metadata having the missing obsolescence field rather than to modify system metadata.
Implemented 4 rules to determine the head version of a sid chain.Add the test case 14 for testing.
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 junit test for the converter.
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.