Fixed a bug that the publish method should throw an io exception.
use stable EZID 1.0.1 release tag for dependency. https://projects.ecoinformatics.org/ecoinfo/issues/6440
Move the editScienceMetadata method to the MNodeService class - only update packageId in EML on publish()
update documentation to reference Tomcat 7, Java 7 and newer apache config file name conventions. https://projects.ecoinformatics.org/ecoinfo/issues/6855
Fixed a bug in the condition check for the archive field in the updateSystemMetadata method.
The archived field can't be reset to false if it is true in the systemMetadataChanged method.
Doesn't allow to reset the archived field to be false if the field is true in the updateSystemMetadata method.
In the systemMetadataChanged method, we will update system metadata when the local serial version is less than or equals the comming one.
In order to make jenkins work, switch back to maven.
refs #7453: modified the metacatLog message from mn.synchronizationFailed to include the syncFailed.message field. Also increased the log level to WARN.
Change the maven home to maven2 which is more popular.
Rearrange some test cases.
Add a new test to test the checksum matching for mn.update.
Remove the method editScienceMetadata from the update method. This method will add a packageId attribute into the eml document. Lauren will add the method to the publish method.
In the systemMetadataChanged method, the object will be archived if the new archive value is true and old value is false.The log event is recorded in the systemMetadataChanged method as well.
Make the isAuthoritativeNode throw exception if some value is null.
In the updateSystemMetadata method, we avoid to log the event twice for archive=true.
In the hasReservation method, it doesn't throw the IdentifierNotUnqiue exception.
In the setReplicationStatus method, it only notified the replicas when the status is completed. Now we added the status - failed and invalid.
use idFilter for v2 getLogRecords() to match v2 API definition.
include index.tdb.directory property. https://redmine.dataone.org/issues/7442
Add the code to print the exception.
refs #7419: refactored CNodeService implementations to not throw IdentifierNotUnique for hasReservation.
Change the text content for the testing.
Use the create method to replace registerSystemMetadata method.
Use the MN.updateSystemMetadata to replace CN.updateSystemMetadata.
In the reindex method, the error message will be sent back.
In the create method, the modification date is reset only on the objects whose authoritative member node is v1.
In the deleteReplicationMetadata method, the modification date of the system metadata will not be reset.
Modify the text of an exception.
Add contrains for the v1/v2.registerSystemMetadata method. See https://redmine.dataone.org/issues/7380
Adjust the test code base on the new contrains on setRightHolder, archive. The new contrains is they only apply to the objects whose authoriative node is v1.
For the v1/v2 setObsoletedBy and setRightsHolder method, they only apply the objects whose authoriative member node is v1.
Add the constrains that v1/v2.archive only applies the object whose authoritative node is a v1 node.
Adjust code according the change on cn.updateSystemMetadata.
Add the case the mn.updateSystemMetadata and cn.updateSystemMetadata will call the archive method internally.
Refactory the mn.archive and cn.archive method so the mn.update and cn.update can reuse them.
Update the packageId attribute in EML documents on update. Never display the local docid in the rendered EML.
Add the testArchive method.
In the archive method, add the lock.
check for auth before doing asynch call to MN dirtySysMeta implementation
Adjusted the testSetAccessPolicy method.
Only applies the setAccessPolicy method to objects whose authoritative mn is v1.
Adjust the testReplicationPolicy method.
Add a comment to specify that the setReplicationPolicy only applys to v1.
Uncommented some code.
The setReplicationPolicy method only apply to the pids whose authoritative member node has v2 MNStorage.
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.