Fixed a bug that the method getLocalId swallowed an exception incorrectly in the IdentifierManager.
avoid SQL errors when processing very old objects of type: "-//ecoinformatics.org//eml-access-2.0.0beta6//EN"
move DocInfo parsing into utilities project so that it can be used by Morpho as well as Metacat.http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5737
use docid, not the guid when returning the accesscontrol block
use docid (not guid) when instantiating the PermissionController. Was getting an error with DOI-ified identifier and the metacat getaccesscontrol action:https://knb.ecoinformatics.org/knb/metacat?action=getaccesscontrol&docid=Collinge.3.28<error>AccessControlForSingleFile.getACL() - MCDB error when getting ACL: No guid registered for docid doi:10.5063/AA/Collinge.3.28...
remove xml_acccess.docid reference (oops)http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5560
refactor Metacat access handling to be on a per-revision basis so that it more closely aligns with the DataONE approachhttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=5560
uses prepared statement instead of plain old statement.deprecated the DBConnection.createStatement() method to discourage direct parameter value use in favor of parameter binding.http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5527
delete the xml access rules by either docid or guid to make sure we have the most up to date information
Bug fix for access control rules coming in from the dataone system metadata. Previously, the code used getLocalId() to get the docid to insert into the XML access table, but that docid included the revision number (e.g., foo.1.1), which it shouldn't. Now use the AccessionNumber class to strip off the rev to get a real docid for insertion into the table.
use both guid and docid when creating access row - then either mechanism can be used when retrieving the access rules
Merged in the D1_0_6_2_BRANCH changes that include the transition from ObjectFormat calls to ObjectFormatCache calls.
include GUID column for xml_access and related methods for storing/retrieving access rules
read and write D1 access policy rules from metacat xml_access table.still TBD: which mechanism takes precedence when there are systemMetadata access rules and EML access rules and other access rules?
include accessfileid and subtreeid when inserting xml_access values
use access control dao for setting access in EML parser. send additional xml_access info in replication request
fixed bug where comparisons didn't work because of my change this morning
made this method more robust
fixed bug in new code
fixed bug where permission would get set to -1 for no good reason
add connection serial number where it was missing.
Format and add comments.
Handle the case of trying to insert a conflicting permission order for a document
move dbconnection object out of base class and create it for each db access so it can be released
Use OR to add permissions, not AND
Change access section in getaccesscontrol and getdocumentinfo apis to be more eml 2.1.0 compliant. Add a block access option to setaccess api.
change AccessControlForSingleFile to only be instantiated for one file. move ACL methods to AccessControlForSingleFile. Change format of access sections returned to EML 2.1.0.
Create access dao and centralized db access classes. Update create access code to combine access records for principal/doc/accesstype when multiple exist.
Move access control source to it's own directory.