added replication_on_insert handling. Changed replication from date_updated base replication to revision number replication.
added revision number tracking support to xml_documents and xml_revisions. Also added an updated flag as a replacement for date based replication handling.
replication on insert functionality is now working.
added more replication/file locking functionality.
added more locking support and support for remote update of files.
added more locking functionality for replication
AccessControlList - methods for parsing and loading acl file - checkup method for permission for given principal on given resourceDBQuery - checkup for READ permission using AccessControlList.hasPermission()DocumentImpl - using AccessControlList object to parse and load an acl file into xml_access table...
cleaned up code, added new static methods to MetacatReplication for handling static queries and getting URL content.
created locking action in replication servlet and added semi-support to documentImpl to handle documents updatedee by replicatio
added functionality to allow the replication servlet to assertain and insert user and group info into the local database. started implementation of insert replication handler (it is commented out in this commit)
fixed compatibility problem by overloading the write method. Jivka's new parameter (Reader acl) is now defaulted to null if it is not explicitly declared.
new class for parsing ACL XML file and loading acl data into metacat db
added support for server_location in the xml_revisions table.
removed dependence on a server code in the accession number of each document. the file's resident server is now located in xml_documents.server_location.
fixed bug/typo
Added backtrack functionality. Backtracking works by passing a returndoc parameter. There can be more than one. If a document that is hit by a query is not of type returndoc then it searches the database for a related file of type returndoc. If one is found it is displayed, if no relation is found, the original is displayed....
added extra timing information to the main() driver method.
change Assession# generation to use the same db connection
changes related to decrease the time of INSERT of document.With these changes I inserted 200KB file for 3 minutes, 50KB for 50sec.This is mainly simplifing the DBSAXNode class andusing batching feature of Oracle JDBC driver.
fix bug in toXML() about getting output of XML document like:<paragraph
fix for "Document not found" err message on "getdocument" action
added check from "read" permission on "query" and "squery" actionsfor connected user or for "public" connection
Fixed document reading bug (bugzilla bug #111) so that reading documentsis no longer a power function of the number of nodes in the document(which used to be the case). Now, reading a document occurs entirelywithin DocumentImpl, by making a single SQL call to get the document data,...
change the 2 executions in archiveDocRevision()with 1 statement:"insert into xml_revisionsselect ... from xml_documents where docid = ..."
small changes on hasWritePermission()
storing user_owner and user_updated where needednew function in DocumentImpl checking for "write" perm on UPDATE or DELETEadded delete from xml_index of the old version of docid on UPDATE
cleared static methods in AccessionNumber classes for fixing bug foundwhen multiple requests to the servlet at a time.
Minor update to remove unneeded constructor in DocumentImpl class.
Continued code redesign for the DocumentImpl class. Now the "delete" and"write" methods are static, so a DocumentImpl objject need not be createdin order to initiate a INSERT, UPDATE, or DELETE action (it is createdimplicitly by the DBSAXHandler). When doing a "READ" action, one still...
Folded the functionality from DBWriter into DocumentImpl, continuing thework started earlir to create a more DOM-like model for the classes, inwhich a single DocumentImpl class handles both reading and writing ofdocuments to the database. Modified shell scripts and MetaCatServlet to...
Folded the functionality from DBSAXDocument into the DocumentImpl class.Now DocumentImpl handles both the reads and the writes to the database.Eventually, it will implment the full DOM Document interface. Eliminatedthe DBSAXDocument.java file as it is no longer relevant....
Created new class "DocumentImpl" which represents an XML Document. Thisdocument will eventually implment the DOM Document interface. For now,it implments all of the functionality that was present in DBReader, pluscuts down on the number of database calls required to read a document. And...