Task #4186
Story #3548: CN Read-only mode implementation
Disable access to Metacat create/update Methods
100%
Description
All of these calls may be found in DataOne_CN_Rest_Proxy project
Please note that each of the methods have two implementations.
The methods need to check for a property that will be set in /etc/dataone/node.properties
If the property is set than throw an exception. Exceptions.NotImplemented ? We really don't have a way of saying 'this method has been disabled on this CN try another...'
CNCoreController -- this controller handles a variety of paths
CNCore.setObsoletedBy()
CNCore.archive()
CNReadController -- this controller handles object and meta path methods
CNCore.create()
CNCore.delete()
CNCore.registerSystemMetadata()
CNAuthorizationController -- this controller handles resource path & owner path calls
CNAuthorization.setRightsHolder()
CNAuthorization.setAccessPolicy()
CNReplicationController -- this controller handles a lot of replication endpoints
CNReplication.setReplicationStatus()
CNReplication.setReplicationPolicy()
CNReplication.updateReplicationMetadata()
Associated revisions
refs #4186
Pom.xml needed updating
refs #4186
Pom.xml needed updating
refs #4186
Pom.xml needed updating
refs #4186
Pom.xml needed updating
refs #4186
Pom.xml needed updating to include jar file that it was failing on because it could not find a method. must be a dependency on an older version of common-lang in another jar
refs #4186
Pom.xml needed updating to include jar file that it was failing on because it could not find a method. must be a dependency on an older version of common-lang in another jar
refs #4186
Pom.xml needed updating to include jar file that it was failing on because it could not find a method. must be a dependency on an older version of common-lang in another jar
refs #4186
Pom.xml needed updating to include jar file that it was failing on because it could not find a method. must be a dependency on an older version of common-lang in another jar
History
#1 Updated by Rob Nahf almost 11 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
- translation missing: en.field_remaining_hours set to 0.0
added the property cn.storage.readOnly to the configuration (added a Settings configuration first), and have the aforementioned methods look for a value of true before continuing.
I'm throwing a ServiceFailure instead of NotImplemented, because I think that's customary, but don't have strong opinions either way.
Code is passing JUnit tests and is checked in. (d1_cn_rest_proxy)
#2 Updated by Chris Jones almost 11 years ago
- Target version set to 2014.2-Block.1.1