Field data will be normalized.
Fixed a bug which cause infinite loop.
Add access control for return fields.
Add access control for return fields in the subtree.
Change the code to handle permission checking.
If a text node was split into two parts, now it will be combined.
Merge the code to handle export single document.
Support return field has attributes.
Change the code for percentage search.
Fixed a bug that after finding a non-dataset document, then go back to find dataset document for it in xml_relation table.
Create a shortcut for the query to get user's onwer doc lists. Create a private method named getOwnerQuery. If the coming query equals the owner query, the access permission checking would NOT append to the comming query. Because the owner has all permission.
Add the checking permission query into orignal query.
Delete the code for permission checking in execute extened query. It was redundant. Add some debug message for displaying search time.
Merge cvs branch replication to cvs head.
Merge DBConnection branch to head.
Add debugMessage level in this class
fixed my tagging error
some small changes I had to make to get the QAENGINE demo to work right. this should be committing in a branch
Add a throwing exception in haspermission method.
Access document was added to exported data package too.
When user request a data package, the old version documents would be exported. Only export the request one.
During the export function. Every document will be check if the user has the permission to read or not.
A new method named hasPermissionToExportPackage was added. So when MetaCat handle export action, it will check if user has permission to read the data package. If it has, MetaCat will export a zip output stream to it. Otherwise, MetaCat will be through a exception.
A public method named getZippedPackage() and other relative private methods were add to this class. The public method can give a zip output stream if a docid and other parameters were passed to it.
fixed bug with ampersands in the returned relations in the resultset.
Fixed bug in metacat where an Exception was thrown when a search returnedan empty resultset. Now we avoid the function call that threw the exeption.
fixed an error of NullPointerException
fixed error with out of cursors error because pstmts were not getting closed in DBQuery
added support for multiple group membership
Added fix to DocumentImpl that showed problems when the DocumentImpl(conn)constructor was called. Now there is a new constructor: DocumentImpl(Connection, String, boolean)where the boolean value is used to determine if the nodeset should beread a t the time the cosntructor is called. if false, then...
added constructor in DocumentImpl for use in DBQuery.findDocuments();this new constructor is used with getDocumentInfo() to get the doc info only;because the other constructor builds the whole xml doc which is not needed here and time consuming;this happens on backtracking only.
MS SQL Server stores trailing spaces in varchar fields which shouldn't bethus added docid.trim() in the Java code
the ODBC multi-threading problem:in DBQuery we open ResultSet in the db connection and we are trying toopen another Resultset by AccessControlList which does not workthus open separate connection for use by AccessControlList.
Fixed bug in metacat where return doctypes were not being properlyback traced. Changed DBQuery.findDocuments() so that it no longertakes a returndoc array, but instead retrieves the returndoc arrayfromthe QUERYSpecification. The QuerySpecification was augmented...
Added ability to process multiple "returndoc" elements ina pathquery document. Now, any query hit will be back traced to anassociated package if that package is listed in one of the"returndoctype" elements.
Modifications that change the package handling behavior of metacat. Packagemembership is now determined by an identifier being used as either the subjector object in a triple. One can not request arbitrary returndocs -- onlythose types that have package information embedded can be "returndoctype"...
as John were testing Metacat on postgres,he discovered that Connection needs more precise checkwhether it is open because of db timing outs.So used to be:if ( conn null ) { get new connection from db; }Now changed to:if ( conn null || conn.isClosed() ) { get new connection from db; }...
added print info and timing info
included flag in DBQuery to run pathqueries with or without the index,but for the command line only.
added timing info to main
there were more mentions of DOCTITLE attr - cleared them
added precise location information (class.method) to each catch statement so that errors are more easily traced.
removed print statements
fixed typo
fixed introduced problem with preparedStatements
Added license terms to source code files, and cleaned up some javadocdocumentation in a few places.
closed all preparedStatement variables
fixed sql error
removed package doctype filtering from the resultset.
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.
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...
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 bug/typo
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...
changed naming scheme
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 system.out.printlns
added support for urls of the form "metacat://server.xyz.com?docid=XXX:yy"
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 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.
added check from "read" permission on "query" and "squery" actionsfor connected user or for "public" connection
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.
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
changed the field names to be case-sensitive in the returnfields
added support for the returnfield parameter-added the dynamic parameters to the returned hash table of documents
Made changes to createSQuery to allow for multiple parameters of the same name. Also changed the param list to include only "Hashtable params" without a "String doctype" since the doctype is already contained in the params.
Added createSQuery() to handle structured queries of an arbitrary number of parameters. Also modified createQuery() to handle a null query in a graceful manner.
Added "release" keyword to all metacat source files so that the releasenumber will be evident in software distributions.
added createSQuery
no message
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.
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....
cleaned up code for getting options from the properties file, made the database connection inthe MetaCatUtil class use the properties file for the conneciton info
integrated new structured query facility (DBQuery) into the servlet demo (MetaCatServlet)
removed debugging code
fixed QuerySpecification to produce SQL that does UNION or INTERSECT set operations for query group combinations
completed work on creating structured query prototype in DBQuery and QuerySpecification classes
continued work on structured query. Now QuerySpecification generates SQL for a given xml input, and DBQuery uses that SQL to send the query to the db
added incomplete classes for structured query