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...
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)
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.
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
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
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
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 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
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"
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
fix for "Document not found" err message on "getdocument" action
fix for "public" authentication
removed print statments
fixed xml tag error in squer
fixed bug in handleSQuery that returned the tag in the <query> tag of a resultset.BugID:Submitted by:Reviewed by:
added check from "read" permission on "query" and "squery" actionsfor connected user or for "public" connection
added support for getabstract action
Added a method called getNodeContent which retrieves the content of a node in a document. If there are more than one nodes with the same name returned, it returns an array with all of the data.
Modified MetaCatServlet to use the new DocumentImpl.toXml() method forefficiency of reading documents. See bugzilla bug #111 for an explanation.
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
this file is no longer used.
changed xslf for new returnfield scheme. the returnfields are now returned as <param name="<returnfield>"> tags.hThe sql for the returnfield query was redone to fix a previous problem with slow queries
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.
for getDoctypes() addedWHERE entry_type='DTD' condition in the select statement
Changes with Srb authentication: including quering of Srb/MCAT during the Srb connection for:- groupname of connected user- list of groups and users in MCAT for ACL function for MetaCat
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...
changed the field names to be case-sensitive in the returnfields
added support for the returnfield parameter-QuerySpecification now sets a flag (containsExtendedSQL) when there are returnfield items in the pathquery document.the accessor method containsExtendedSQL() can be called by other classes to check for extended return parameters...