Add the code to check if the serialVersion object is null before it is saved to the db.
add missing quotation mark
Add a flag on the systemMetadataChanged method. If it is true, the authoritative member node will only accepts the serial version and replica list; the replica node accepts everything. If it is false, it will accept everything.
Add a note for the updateSystemMetadata method.
Add a test to test the cn.updateSystemMetadata will ignore the serial version and replica list from the coming system metadata.
CN.updateSystemMetadata will ignore the serial version and replica list in the comming system metadata from the mn.
Change the test method for the updateSystemMetadata method.
Add the code to check the date of system metadata modification match in MN.updateSystemMetadata only. CN.updateSystemMetadata doesn't check.
fix compilation error for previous change: include isPublic criteria when there is a public subject (which is always).
use request query string first when handling MN.query() method. https://redmine.dataone.org/issues/7384
fix xpath from CN changes for isPublic. https://redmine.dataone.org/issues/7374
include isPublic criteria when there is a public subject (which is always)
include hierarchical permissions when evaluating isPublic during indexing. https://redmine.dataone.org/issues/7374
Commented out the code to check serial version on the updateSystemMetadata method.
Add more debug messages for the isCNAdmin method.
Put a the systemMetadataChanged method into a queue, so it will not hold the block.
Change updateReplicationMetadata() and setReplicationStatus() to no longer set the dateSysmetaModified date per our discussion on 9/16/15.
Add more debug statement for the updateSystemMetadata method.
In the getLog method, if the event is null, we will set it unknown.
If the event string is null, we will skip this log in the getLog method.
Add the code to check if we can't get the current system metadata from the node in the mn.systemMetadataChanged method.If we can't find it, an InvalidRequest will be thrown.
Fixed a bug that a client can set the original member node to be null.
Change some exceptions from the InvalidSystem to the InvalidRequest in the updateSystemMetadata method.
rollback: set session.subject so libclient can look up certificate. Seems like the default behavior may have changed?
set session.subject so libclient can look up certificate. Seems like the default behavior may have changed?
use the TypeFactory to convert the Log and ObjectFormatList objects from the v2 to v1.
Add the test case to test the setting of same status twice wouldn't increase the system metadata version.
In the setReplicaStatus method, if the coming status is the same one of the existing one, the system metadata will not be updated.
Fixed some incorrect exceptions in the getReplica method.
Increase the serial version before we call cn.updateSystemMetadata method.
Use a cn session to registerSystemmetadata.
Removed two intergration test cases.
Use TypeFactory to convert types.
In the isAdminAuthorized method, the faiure of the isNodeAdmin method will not interrupt the next check - if it is a cn.
Fixed a bug that when the count is 0, the total is incorrect in the querySystemMetadata method.
Fixed a bug the total was not correct in the querySystemMetadata method.
Use the application/bagit-097 to replace application/bagit.
Use the TypeFactory to replace the TypeMarshaller according to the change in the d1_common_java.
Add the "forward" value for the "dispatcher" in the filter mapping. So the proxy (using forward) and direct request will use the same filter.
Clone a system metadata object in order to pass a test - updateSystemMetadata.
Use the key word "packages" to replace the "package".
Decode the string of the uri after we break the uri into parts base on the "/".
The mn-demo-6 is a v2 member node.
Use the D1NodeVersionChecker to determine the mn's version rather than using ping.
When the cn.notifyReplicaNodes method, if the target MN source code is a v2 mn, we will use v2 api; if it is a v1 node, we will use v1 api.
Add a test case to test against a v1 cn.
A test class is used to test the D1NodeVersionChecker class.
A new class is used to get the version of service for a given node.
Only support the application/bagit format in the getPackage method.
Change the format id to be "application/bagit" in the getPackage method.
Use the status of mn.ping to guess the version of the source node in the replicate method.
In the replicate method, it will use the v1.getReplica method if the source node only supports v1 replication service.
Increased the serial version number before updating the system metadata.
Fixed a bug to increase the serial version
The code was added to compare the serial version in the updateSystemMetadata method. If the serial version in the new system metadata is less than or equals previous version, an exception will be thrown.
Increase the version number after updating the existing object's system metadata in the update method.
Increased the serial version during the test.
Increase serial version during the test of updateSystemMetadata method.
Fixed a possible null exception in the updateSystemmetadata method.
Restore the commented out tests.
Add more test to test the code to create branch obsolete chain.
In the MN.updateSystemMetadata method, when we set the obsoletedBy and obsoletes method, we will check if those values already exist in other chains.
Add a test method to test the update of the obsoletes and obsoletedBy fields.
Add the identifier in the message of the exception when a client tries to reset the obsoletes or obsoletedBy fields.
Check the obosoletedBy and Obsoletes only can be set once.
Add the code to test a MN to call setReplicationStatus successfully.
The method of setReplicationstatus can be called by CNs and MNs.
merge from V2 impl: check for optional "failure" param instead of throwing exception when it is missing (often is). https://redmine.dataone.org/issues/7283
For sample Apache config, disable SSLv2 and SSLv3 in favor of TLS. https://projects.ecoinformatics.org/ecoinfo/issues/6827
check for optional "failure" param instead of throwing exception when it is missing (often is). https://redmine.dataone.org/issues/7283
Fixed a possible null pointer exception bug. https://redmine.dataone.org/issues/7280
Add the code to test that non-cn session can't call some methods like registerSystemMetadata, updateSystemMetadata and et al.
Use the getCNSession to replace the getTestSession which was a actual getCNSession.
Only CNs can call those methods:CNCore.registerSystemMetadata()CNCore,updateSystemMetadata()CNReplication.setReplicationStatus()CNReplication.updateReplicationMetadata()CNReplication.deleteReplicationMetadata()
Add the test to test new rules: cn and other client calling the method on the authoritative node can call the mn.update.
On mn.update and mn.updateSystemMetadata, those clients are allowed:1. CNs.2. Clients with appropriate permission calling the method on the authoritative nodes.
Excluded a non-test class in the test target.
Add some thread sleeping time to make checking wait the process.
Deleted a unnecessary test class.
Make more cap for the testing.
When compare the dateUploaded, now we use sysmetadata.getDateUploaded().getTime(). It used systemmetadata.getDateUploaded() (Date objects) to compare.
Add code to catch the BaseException in the updateSystemMetadata method.
Add the code to handle if the cn is null.
Add a new version of this document from the svn trunk. The changes are all documentation.
Add v2 to the service.version list.
Handle multiple versions (v1 and v2) of a service in getCapacity method.
Insert a document with different authoritative node id. So we can test querySystemMetadata by more cases.
Add a junit test to test the querySystemMetadata method.
Use MetacatUI 1.7.1 tag in Metacat build
Use the NodeReference object to replace the replicaStatus to restrict the listObjects method.
[re]register DOI when system metadata is updated (typically access policy). https://projects.ecoinformatics.org/ecoinfo/issues/6796
Change the signature of listObject method - remove replicaStatus and add nodeId.
Add the code to call cn.synchroinize at the method of updateSystemMetadata.
Throw an exception if the request doesn't specify the name of the theme in the view method.
use objectFormat.extension in cases where we need to construct a filename for download. https://redmine.dataone.org/issues/3312
Add the code to insert entries in xml_catalog for the iso119139 objects.