Simplified ReplicationHandler:It is run now in the same thread started from DBSAXHandler;thus the same connection opened in that thread is used,i.e. no need for new connection and no complains as "Connection is closed" in ReplicationHandler;"Connection is closed" error happens when in the current thread there are try to use connection opened in another thread,...
- fixed missing replication of public_access- new attribute catalog_id added in xml_documents and xml_revisionsas a FK to xml_catalog; catalog_id is replicated also
cleared DOCTITLE attribute in xml_documents and xml_revisionscleared all mentions of doctitle
Solving the problem with relication of access file where access files were rejected from the replication servers.In AccessControlList check for serverCode is included,so only on the local server the connected user is checked for having "all" permissions on the resources specified in it...
included new servlet parameter "public" specifing public read access for the submitted documentthe expected values are "yes" or "no" public parameter is optional and if it is not specified, means "no"
added precise location information (class.method) to each catch statement so that errors are more easily traced.
Added license terms to source code files, and cleaned up some javadocdocumentation in a few places.
- turned on the validation in order only valid xml docs comformed to the specified dtd (if any) to be submitted in metacat- with validation "on" white spaces are reported from ignorableWhitespace() callback, not from characters() (as with validation "off")...
- appling acl through access files only- clearing around update/delete of access files - to delete the related records from both xml_access and xml_relation tables- included check for user permissions for setting acl on the resources in the access file- moved RelationHandler.deleteRelations(docid) down in RelationHandler obj just before the write of the new relations
Use the new property "accessdoctype" to check if this is access file.If it is, run AccessControlList for wirting into xml_access and xml_relation tables.This is the thread that writes XML Index but afterwards.
included support for submition of access files+ storing the acl info in xml_access table and relationship records in xml_relation table like<aclfile, "isaclfilefor", recourceIdentifier> for every resource included in the access file
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 typo in DBSAXHandler debug message.
changed naming scheme
bug fix about util.openDBConnection() for xmlIndex tread
removed debug print statements.
allowed both indexing threads to run without interfering with each other.
Separate thread used for writing into xml_index table.This cut the time of the response on insert almost in half.The tread is started afterwards(on end of document parsing and inserting into xml_nodes) fromDBSAXHandler and uses new(separate) db connection....
on character(cbuf, start, len) included:if currentNode.getTagName().equals("title") currentDocument.setTitle(cbuf)instead of using:currentDocument.setTitleFromChildElement() in endDocument() call
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.
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
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 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....
Added "release" keyword to all metacat source files so that the releasenumber will be evident in software distributions.
Call to DBSAXNode constructor simplified
Fixed bug in DBEntityResolver so that it now properly delegates tothe system id found inthe database.Changed DBValidate to use DBEntityResolver, rather than the OASIScatalog, and to return validation results in XML format.
Fixed bug where TEXT nodes couldn't be longer than 4000 characters, whichis the maximum length of a VARCHAR2 field in Oracle. Now, if textexceeds the field length, I break the text up into a series of TEXTnodes each of the max field length, and the remainder in the last...
Fixed bugs associated with the new UPDATE and DELETE functions ofDBWriter. There were problematic interactions between some staticvariables used in DBEntityResolver and the way in which theServlet objects are re-used across multiple client invocations....
Merged in substantial changes to DBWriter and associated classes and tothe MetaCatServlet in order to accomodate the new UPDATE and DELETEfunctions. The command line tools and the parameters for theservlet have changed substantially.
Fixed bug in DBWriter using the new SAX2 interface. Turned out it was a bug in xerces-1_1_1, which was fixed by Andy Clark after I reported it.
1) Simplified database connection creation by adding new utility routine in MetaCatUtil that reads configuration information from the properties file.2) Created MetaCatUtil.getOption() to retrieve options from properties file.3) Unified SAX Parser creation by specifying parser driver in the properties file and dynamically loading it using the XMLReaderFactory interface....
documentation cleanup
assign rootnodeid, docid for every node in xml_nodes table by given document
reincorporated Title registration code for documents
Renamed DBSAXElement to DBSAXNode
rearranged API for incrementing the node index within the parent node
code consolidation, cleanup, and documentation
general module cleanup
Modifying storage model to use DOM TEXT nodes -- update is incomplete and query code doesn not work for this checkin
changed case 4/ to be like case 3/ when no doctype specified
document root node, doctype changes
improved query result handling
made changes about document doctypes
updated handler to deal better with Public IDs
fixed DBSimpleQuery after doctype additions done by Jivka
Fixed package bugs in new Entity and comment handling code, updated Makefile
Included new features about writing XML documents into dbThis includes writing data into db XML Catalog, document data into xml_documents,comments into xml_nodes, added nodeindex for the order of elements by given parent element.
changed package name to edu.ucsb.nceas.metacat.*
documentation updates
documentation additions
general cleanup and documentation
Partially functional SAS DB loader.
Split XML SAX handler class into seperate file DBSAXHandler.java