added a logging system for replication. The log file location is set in metacat.properties
cleaned up code, added more complete documentation of replication algorithms and datastructures.
made replication on insert or update us. Also made a method in AccessionNumber public so that you can tell if an accession number has already been used.e place be
An asynchronous replication handler. This class creates a new thread to handle replication so that the user does not have to wait for replication to take place before he/she sees the result of an insert or update.
updated file locking mechanisms to use revisions instead of dates.
fixed typo, removed extra print statements
a script for clearing the contents of a metadat DB without destroying the table structures and without erasing the DTD and XSL entries in xml_catalog.
added replication_on_insert handling. Changed replication from date_updated base replication to revision number replication.
change the generation of Accession# in the form of <sidecode>.<createdate>
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.
updated insert handling and added an action to request the time from a remote server.
created locking action in replication servlet and added semi-support to documentImpl to handle documents updatedee by replicatio
Modified stylesheets and server code to use a single "read" action insteadof the earlier "getdocument" and "getrelateddocument" actions. In theprocess, developed and started to utilize a new suite of URL "protocolhandlers" that are in the package "edu.ucsb.nceas.protocols" and handle...
Fixed typo in create table syntax (added missing comma) for xml_access table.
Added a new URL protocol handler class for the metacat protocol. Thisclass will replace the current MetacatURL class in a much simpler andextensible manner. See the documentation for java.net.URLConnection andjava.net.URL for details.
this class allows the parsing of xml data sent by a replication server to assertain document info about a remote document.
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)
CREATE TABLE xml_access ( docid VARCHAR2, -- the document id # principal_name VARCHAR2, -- name of user, group, etc. permission NUMBER, -- "read", "write", "all" perm_type VARCHAR2, -- "allowed" or "denied" perm_order VARCHAR2 -- "allow first" or "deny first"...
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.
added interface to handle a new "acl" parameter bringing the text of a xml access file for a given metadata documentthe "acl" parameter is optional and should be sent on INSERT or UPDATE action.
added ticket_counter and deny attributes to xml_access table
new class for parsing ACL XML file and loading acl data into metacat db
added delete functionality
added support for server_location in the xml_revisions table.
removed inadvertent comments
added needed table fields for storing document location in xml_documents
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.
no message
added new server_location field to xml_documents with a foreign key to xml_replication.serverid
now updates the xml_replication last_checked field
updated javadoc documentation
fixed bug/typo
changed action scheme
Modified pathquery.dtd and QuerySpecification to allow some new constraintson queries submitted to Metacat. Now, queries can contain an optionalset of <owner> tags that identify the users for which documents should bereturned, and a list of <site> tags constraining the site identifiers...
can now send a file to another server
can now download a document from a server
Changed utility query to include the user_owner field rather than thetitle field, which is now obsolete.
Fixed typo in DBSAXHandler debug message.
not needed any more
it is not needed to be here
changes for using SRB v1.1.8 at LTER, NM
changed naming scheme
servlet to handle metacat replication requests.
a timer based thread that does Delta-T replication checking.
a parser to handle replication xml messages
change for using the db connection
updated xml_relation table
Updated the Javadoc documentation so that the current release can be providedon the web site.
Fixed problem with AuthInterface, AuthLdap, and AuthMcat where thesigantures of the methods of these classes were not in agreement, which wascausing AuthLdap to no longer compile. Changed parameter signatures so thatthe 'user' parameter is used consistently in all of the methods.
bug fix about util.openDBConnection() for xmlIndex tread
small fix for exception when srbMaster is not running
XSLT transformation on "login" and "logout" action
AuthMcat- new class for authentication through MCA; implements AuthInterfaceAuthSession- assigning HttpSession obj only after successful athentication;- cleared isAuthenticated field - not needed- cleared invalidate() method - not neededAuthInterface...
Began work on new UI for the KNB web site. It will be the main queryinterface from the KNB website.
Fixed the LDAP authentication adapter (AuthLdap.java) so that it now looks upthe distinguished name for a user before attempting to do authentication.This is because the user's distinguished name can sometimes be based ontheir uid attribute, but sometimes be based on their cn (common name)...
merge AUTH_LDAP to the main branch
clear System.exit(0) within the static block
Various changes to improve consistency of the MARINE and METACAT userinterfaces as presented through the XSL->HTML conversions. Eliminatedone (extraneous) copy of the rowcol.css style sheet in favor of sharinga single css stylesheet in xmltodb/lib/style/rowcol.css. Modified all...
Included script for insert of all eml dtds.
added functionality to return the doctype of a relation in a relationdoctype tag. This information is now returned automatically in the resultset under the path resultset/relation/relationdoctype.
removed debug print statements.
added code for getting stylized related documents
allowed both indexing threads to run without interfering with each other.
fixed bug that caused a nullPointerException when a null resultset was returned.
Changed to prevent the insertion if the provided Accession# is in use as Dan suggested.
removed system.out.printlns
added support for urls of the form "metacat://server.xyz.com?docid=XXX:yy"
added package and resource data and structures
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....
This class syncronously indexes any package file that is loaded into the database.r
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....
included new method getPoolSize()
added extra timing information to the main() driver method.
fix the small bug with output like:Fatal processing error<success> <docid>null</docid></success>on hadleInsertOrUpdateAction()
writeDocID() not needed any morethrow SAXException from everywhere
on character(cbuf, start, len) included:if currentNode.getTagName().equals("title") currentDocument.setTitle(cbuf)instead of using:currentDocument.setTitleFromChildElement() in endDocument() call
change Assession# generation to use the same db connection
Updated the download data function. the download data function now pulls a document from the database, zips it up and sends the zip stream to the client. It also zips up any related files. a relation parameter is used to pass related files to the servlet. If only one document should be zipped and sent, a single docid in the param hashtable is sufficient.
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.
This allows for the easy handling of metacat:// urls. The documentation in the source code explains the specification for the url in detail.
Added functionality for package specifications. metacatservlet now contains a new action called getrelateddocument that handles retrieving related documents using the metacatURL specification (metacatURL.java). DBQuery contains new code in runQuery that embeds relation tags in the returned hashtable describing the documents related to each docid. querySpecification contains a new method which prints the sql that does the relation query.
store generated Access# in meta_file_id tag if there are any
fix bug in toXML() about getting output of XML document like:<paragraph
added parentnodeid to xml_index table
added parentnodeid to xml_index
fix for "Document not found" err message on "getdocument" action
fix for "public" authentication
xml_documents.public_access modified to beNUMBER DEFAULT 1ie all documents to have public access by default
removed print statments