added support for data file upload via a random, authenticated socket.The action added to metacatServlet is getdataport. A client can send a getdataport request. the server returns a random port number and starts a thread to handle the request on the given random port. The thread will only accept requests from the client that has the session id equal to that of the user that made the getdataport request. the user must be authenticated and logged in to make a getdataport request. Once the port number is received by the client the connection can be made. The first two parameters in the data stream must be the filename, followed by session id. (note that it only wants the session id not the whole cookie and the "JSESSION=" must be stripped from the text.) If the session number is correct, the upload is allowed, the file is written and xml_documents is updated with the new data file information.
added support for data file upload via a random, authenticated socket.
included "accessfileid" attr in the unique constraint
- 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
new attr "accessfileid" in xml_access table
added data port param
added the data port param
fixed url error in data download function
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.
added property "accessdoctype=-//NCEAS//eml-access//EN"
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
added support to download a data file through metacat using a metacat url or a docid parameter: added a datafilepath parameter to show the servlet where data files are stored on the local file system.
added support to download a data file through metacat using a metacat url or a docid parameter.
Re-inserted changes from version 1.38 of build.xml that were accidentallyoverwritten when version 1.39 was checked in. Now, building the protocolhandler jar file works again.
updating a package file now updates the relations that are created from it. Also, if you delete a package file, it will delete the relations associated with it.
added docid field to xml_relation to track which package document creates the relation.
fixed package location
changed replication interface to make it easier to see the servers.
added support for one way replication
added revision support to the delete function
added resource to the dtd script
fixed sql error
cleaned up code
removed package doctype filtering from the resultset.
added comments to top of class
changed accession number schema to <sitecode>.<serialnumber>.<revisionnumber>. DocumentIdentifier.java parses docids into parts for easy manipulation. You can now specifiy a specific revision by asking for document <sitecode>.<serialnumber>.<revisionnumber> or you can get the newest revision by asking for <sitecode>.<serialnumber> or by asking for <sitecode>.<serialnumber>.newest.
added build paths instead of hard coded paths
added acltext and dtdtext form fields - optional
fixed typos around acltext and dtdtext params
changed acc# generation to use db sequence instead of timestamp
fixed typo
added db sequence accnum_uniqueid_seq needed for uniqueID part of Accession#get rid of xml_acc_numbers table
added property sitecode (=nceas) needed for Accession#
added token "install-dir" needed for DTD upload
commented out print statement
problems with passing the connection between objects
overwrite Jivka's overwrite
problem with passing the connection between objects
removed print statement
fixed bug where some relations were not returned because the sql did not take into account an sql that had a directory structure in it.
changed connection handling in the constructor
one more write() method was needed
constructor DBEntityResolver(Connection conn) is needed; cleared by mistake
DBEntityResolver: - added new parameter dtd for upload on Metacat file system; optional; Reader - new routines to upload dtd if provided - systemID of metadata document is used to exctract the filename of new dtd; - the new dtd is uploaded on Metacat file system as specified by dtdPath property;...
dtdPath and dtdURL properties added needed for DTD upload on Metacat file system
enable the UNIQUE constraint in xml_catalog table
added additional actions to facilitate a web based interface to the replication servlet.
web page control panel for replication
removed the initial connection pool creation step in init()
comment out line in read action that sends a copy of docid prior to returning docin XML format (apparent debug statement left in by mistake)
added knb to resultsetspages
added replication for the xml_catalog table. Right now it is only replicated when the deltaT handler is called. I will add more replication times later.
parser for the xml encoding of the xml_catalog tableing (fi
added an ant substitution for the jdbc connection string (fixed typo)b
added an ant substitution for the jdbc connection string
added ant substitution for server and replication-log
server
replication-log
added the replication servlet to the default web.xml file.
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.
Modified the build.xml file to support the new protocol handler classes,which need to be built in a separate jar file bust it must be installedas part of the tomcat servlet environment, not the web application. Now acommand of "ant protocol" will create the protocol.jar file, which must be...
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.
fixed typo that was accidentally committed.
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
Add the eml style sheet into metacat module.
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.