fixed a bug that using a wrong table name - acces_log.
fixed a bug that using acces_log table name.
Upgrade the hazelcast libraries to 1.9.4.4 from 1.9.3.4.
Use accessblock in setaccess method. So user can grant/revoke public readable access.
ensure that the revision list is ordered ascending in case someone changes the sql query without realizing that it matters...
set the byte size of the ORE map before adding it
set/update the obsoletes/obsoletedBy fields in system metadata so that we always have a complete revision history for each object.Note: ORE maps do not have revision history...yet(?)
order the revision list, ascending.
removing unused class -- can't find a reference to it and it's causing compilation errors for me.
for "all" permission, return a list of READ, WRITE, CHANGE_PERMISSION
generating ORE maps and creating/updating system metadata now. There are some Permission conversion issues to be worked out yet
look up access policy by guid or local idTODO: resolve the Metacat/EML "all" permission as it relates to DataONE (there is only READ, WRITE, CHANGE_PERMISSION). for now I am using CHANGE_PERMISSION when it is a Metacat "all"
make exception/error reporting clearer -- was getting lock messages when perhaps that was not the correct exception.
look up all docids is now a static method (ORE/SystemMetadata generation)
Add log statements for each call to ILock.unlock() for debugging.
Add new test method to test getAccessControl.
Add eml test file which contains access part.
evict the HazelCast SystemMetadata entry if we update the access control rules via Metacat's legacy API, otherwise stale SystemMetadata stays in memory instead of being looked up from the backing table store.
optionally include ORE generation/insertion into Metacat when generating SystemMetadatahttps://redmine.dataone.org/issues/2056
Set a default HazelcastInstance after init() is called, and use this instance in getLock() to acquire a lock in the cluster.
no need to cast docInfo entries to String -- they are all strings
set revision history, the create/update dates and the owner/submitter (correctly)
use shared method for looking up "docInfo" map -- both in Metacat replication and in D1 system metadata generation
make default formatting a little bit easier to read
reformat code -- no changes
refactor SystemMetadata creation into separate class from the MetacatHandler -- this will be shared by upgrade code and normal metacat api.
include all document revisions when generating "missing" system metadataTODO: revision graph captured in obsoletes/obsoletedBy
When using ILock.lock(), get a lock on the string value of the Identifier, not the Identifier object itself. Hazelcast locking won't work otherwise.
Use the Hazelcast ILock mechanism to lock the system metadata identifier rather than using IMap.lock(pid).
simplify SystemMetadata generation -- will be done during Metacat upgrade for D1 features/support.
clean up populator; use IOUtils library to do string<->stream conversions
utilities jar should not be committed to Metacat otherwise we will not retrieve the tagged version during Metacat build process.
catch all possible exceptions
act as a registered CN when calling CN methods -- create(), for example, is restricted to only be callable by a node of type CN.
Set sessionid for clientVeiwBean when it handle a request.Always set the order type to "allowFirst".
use IOUtils for testing read/write of XML strings. This goes along with the utilities project change to use the same apache commons IO library. Be sure to clean the utilities checkout in order to catch the right utilities svn tag when building!
remove the D1 configuration group (header)
verify checksum when retrieving replica from another member node.https://redmine.dataone.org/issues/1794
make sure to get/put system metadata to the HZ map instead of using IdentifierManager directlyverified changes for: https://redmine.dataone.org/issues/1999
match documentation for the MN.describe() headerhttps://redmine.dataone.org/issues/1904
configure synch schedule in the admin screenhttps://redmine.dataone.org/issues/1933
look-up sych schedule from metacat properties instead of hardcoding themhttps://redmine.dataone.org/issues/1933
when comparing D1 Subject objects, use the equals() method not direct string comparisonhttps://redmine.dataone.org/issues/2050
access nodeList list correctlyhttps://redmine.dataone.org/issues/2049
When read a FGDC document, Metacat will add a new parameter enableFGDCediting params for the xml transforming.
New d1 common jar. Fixing my overwritten jar.
set the uploade file size -1.
New d1 jars with changes to SubjectBase in the types classes.
remove D1 configuration -- it has its own admin screen now
updated cos.jar -- cos-26Dec2008.zipFile upload improvements:
Added support for Servlets 2.4 and Java 5.Added an ExceededSizeException type to make catching easier.Added support for EBCDIC machines.Added a workaround for browsers that send Content-Length of -1....
allow unknown content sizeshttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=5543
run replicate() in a separate thread so that we don't wait for potentially large data objects to be moved around the system.
Call replicate() asynchronously.
Use status.toLowerCase() to deal with ReplicationStatus conversion issues. This needs to be reviewed.
Use Subject.equals() when comparing DNs rather than CertificateManager.equalsDN(). Don't lock the pid in isNodeAuthorized() to debug for timeout issues. Minor debugging changes.
give the Metacat admin users FULL permissions on all data/docshttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=4728
correct path for question mark icon -- though the documentation link is broken
remove replication control panel from dev skin -- now in admin interfacehttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=5528
replication control panel now fully implemented as an admin configuration screenhttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=5528
change the footer to be regwhitetext style.
make regtext style black and add new style regwhitetext.
move replication configuration actions to the admin servlet and out of the replication servlethttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=5528
Using the method sending form parameters rather than form object.The reason is IE will invalidate the form object after putting a login message on the div which contains the form.
Add methods to send form parameters to the server.
save SystemMetadata when replicating data and metadata -- this way if/when the node decides to be a DataONE MN it already has the information needed for each object
Minor logging for isNodeAuthorized(), and compare subjects properly. Change this to Subject.compareTo() when it is vetted.
check for authenticated and verified user permissions
throw NotAuthorized when there is no session
Catch RuntimeExceptions thrown by Hazelcast as opposed to general Exceptions to we don't catch exceptions we're trying to throw.
include Subject comparator changes
get params from multipart params for systemMetadataChanged call
generalize exception handling -- add cause detail
remove DataONE schema reference in xml_catalog
Changes to setReplicationStatus and isNodeAuthorized(), working out minor bugs in replication.
include exception cause when throwing new exception (combine RuntimeException in Exception handling -- they are almst identical)
use /cn/xslt/ for the standard cn deployment
new jars with (at least) xslt updates for the D1 CN
throw InvalidToken when session is null
correct typo
Send the correct node id (the target node) when calling setReplicationStatus()
get pid from normal params, not the URL -- the client should include them in the params -- and not as a serialized "object" since it is just a string value
check obsoletes and obsoletedBy PIDs when updating objects
delete system metadata when MN.delete() is called.
Using the method which reloads the page after sending login. This will fix an issue that the search function couldn't get the session id after login.
Add a new method which will reload the page after submitting a form.
throw InvalidToken when there is no session (certificate) provided in update() and delete() methods.
Calls to setReplicationStatus() can only be made by a CN or the MN that is the target replica node. Implement this service restriction in CNodeService using CertificateManager's equalsDN() method.
The ReplicationStatus parameter is 'status', not 'replicationStatus', in the architecture documentation.
Although parameters for setReplicationStatus() are expected as multipart/form-data fields, they seem to be added to the HttpServletRequest as URL parameters during the proxy forwarding in d1_cn_rest_proxy. Test for their existence as multipart fields, but fall back to request params, otherwise, throw an InvalidRequest exception.
updated d1_libclient jar from trunk
updated d1_common jar from trunk
lookup stylesheet from metacat.properties for CN list objects and list formats. This is used in conjunction with the CN rest service deployment where the xslt is actually kept.
actually persist the MN id value to the properties file
set the newly assigned MN id after we call CN.register().
Added stack trace debugging for CNodeService.isNodeAuthorized() for tracking down replication issues.
DataONE MN registration/configuration is now its own configuration page in the admin interface.http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5531
Since we're using a multipart form to encode parameters, extract the params out of the multipart form prior to doing a get() from the multipartparams map in setReplicationStatus(). Likewise, do the same in updateReplicationMetadata() and setReplicationPolicy().
New libclient jar with changes to CNode.setReplicationStatus() (r5824).
Use a session object that is set to null when calling CNode.setReplicationStatus()